text:
## theodicy

For intuitive and critical discussions, from spirituality to theological doctrines. Fair warning: because the subject matter is personal, moderation is strict.

Moderator: Dan~

### Re: theodicy

And me, I suspect my own reaction revolves around reading such grim stories and wanting to believe it is all God and His mysterious ways. Why? Because at least that's an explanation. And maybe in the end it is all for the best. It is all still in sync with a loving, just and merciful God.

Otherwise, you have to accept that there is no reason for this terrible human pain and suffering. It just happened. And for no ultimate reason whatsoever. You're just in the wrong place at the wrong time when nature comes calling.

Eh, there's no logical wall when it comes to God and natural and deliberate evils against which theists must strike their heads when trying to render then logically co-existent. Pantheopsychic theology solves the issue by saying everyone suffering and dying in horrible ways are re-enactments of dream-characters in the mind of Christ as he died on the cross, in the guise of each character.

But it's all a mystery punctuated by our ideas and beliefs anyway, even godless ones.

PG
Q: What lies beyond the "Matrix" that is consciousness?

A: The conscious and unconscious mind of God.

Jay Marcus Brewer
Austin, Texas
Email: [email protected]

phenomenal_graffiti
Philosopher

Posts: 1010
Joined: Sat Nov 29, 2003 3:08 pm
Location: Texas

### Re: theodicy

Saint Thomas Aquinas and the Nature of Evil
From the Thomistic Philosophy website

Conclusion...

God does not cause evil.

"...an endless procession of earthquakes and volcanic eruptions and tornadoes and hurricanes and great floods and great droughts and great fires and deadly viral and bacterial plagues and miscarriages and hundreds and hundreds of medical and mental afflictions and extinction events...making life on Earth a living hell for countless millions of men, women and children down through the ages..."

And then the need for mere mortals who believe in Him to convince themselves that this is not an evil thing to do because God did it. And we simply do not yet grasp why He did it. If we did it, sure, that would be evil. But He did it.

So, in the interim it is necessary to concoct "spiritual contraptions" to explain it all away...

Besides implying the reality of objective natures (along with an Author of nature) understanding that evil is a privation or absence of due goodness also shows that evil, as such, is not, and cannot be caused by a good God. An all good God directly causes creatures to exist, and in so doing, causes them to be good as they exist according to the natures he gives them. If evil occurs, it does so by those good things becoming deprived of some goodness or perfection their natures demand.

What could possibly be more obvious, right? And, sure, while "here and now" it boggles my mind how in this world, aside from the "flocks of sheep", there are still any number of intelligent men and women [such as Aquinas] who are able to convince themselves of things like this, I am also obligated to acknowledge that I have no real understanding of how they think about it...in having lived a life that may well be very, very different from theirs.

So, all I can do is to ask them to, to the best of their ability, demonstrate to me how they have managed to convince themselves that what they believe in regard to theodicy is true.

So, evil is not created at all; it is a lack, and the lack results from good things pursuing their own perfection at the expense of goods of other things. Lions, according to the perfection of their nature, cause the privation of life of gazelles. God causes lions to have the nature they have – he causes their goodness. But permits the evil that that nature entails.

Same thing. If you are able to believe things like this, then just stop there. Leave all the rest to a more or less blind faith.

On the other hand, how far can such rationalizations go?

At least this far:

Likewise, God does not cause people to choose sin, but causes the goodness, the existence, of people who are by nature free. They, not God, choose moral evil by failing to act according to the rational demands of their nature, and who freely fail to give others what is due to them according to their nature. God, again, in causing the good of free moral agents does not cause their actions to be deprived of moral goodness; the free agent is completely responsible for that. But God permits the moral evil of some of their free choices.

Of course here I come back to my first three points:

1] a demonstrable proof of the existence of your God or religious/spiritual path
2] addressing the fact that down through the ages hundreds of Gods and religious/spiritual paths to immortality and salvation were/are championed...but only one of which [if any] can be the true path. So why yours?
3] addressing the profoundly problematic role that dasein plays in any particular individual's belief in Gods and religious/spiritual faiths

But if we just agree that a God, the God, your God does exist, the question then comes around to theodicy.

As for the part where an omniscient God and human autonomy itself are reconciled...leave that to the theologians.
He was like a man who wanted to change all; and could not; so burned with his impotence; and had only me, an infinitely small microcosm to convert or detest. John Fowles

Start here: http://www.ilovephilosophy.com/viewtopi ... 1&t=176529
Then here: http://www.ilovephilosophy.com/viewtopi ... 5&t=185296
And here: http://www.ilovephilosophy.com/viewtopi ... 1&t=194382

"Sure, it works in practice, but does it work in theory?"

Danny Embling: "People wonder how Hitler managed to get so many followers...it's never surprised me."

iambiguous
ILP Legend

Posts: 46841
Joined: Tue Nov 16, 2010 8:03 pm
Location: hanging out with godot

### Re: theodicy

Next up: God and hurricane Ian.
He was like a man who wanted to change all; and could not; so burned with his impotence; and had only me, an infinitely small microcosm to convert or detest. John Fowles

Start here: http://www.ilovephilosophy.com/viewtopi ... 1&t=176529
Then here: http://www.ilovephilosophy.com/viewtopi ... 5&t=185296
And here: http://www.ilovephilosophy.com/viewtopi ... 1&t=194382

"Sure, it works in practice, but does it work in theory?"

Danny Embling: "People wonder how Hitler managed to get so many followers...it's never surprised me."

iambiguous
ILP Legend

Posts: 46841
Joined: Tue Nov 16, 2010 8:03 pm
Location: hanging out with godot

### Re: theodicy

Next up: God and hurricane Ian.

Next on "This Reality TV": Christ's dream while dying on the cross of hurricane Ian and Him being each and every victim of the hurricane and the grieving relatives of those taken by the storm.

Er, if Pantheopsychic theology is true.
Q: What lies beyond the "Matrix" that is consciousness?

A: The conscious and unconscious mind of God.

Jay Marcus Brewer
Austin, Texas
Email: [email protected]

phenomenal_graffiti
Philosopher

Posts: 1010
Joined: Sat Nov 29, 2003 3:08 pm
Location: Texas

### Re: theodicy

Bad things happen for a reason, and other idiocies of theodicy
Jason Blum at aeon website

The problem of evil is a classic dilemma in the philosophy of religion. The relative ease with which the problem can be stated belies the depth of the challenge that it presents to traditional monotheism. Roughly, it can be summarised as follows:

If God is omnipotent, then He has the power to create a world without evil.
If God is omniscient, then no moment of evil goes divinely unnoticed.
If God is omnibenevolent, then He has the desire to rid the world of evil.

Therefore, the world should be perfect, or at least free of undeserved suffering. Yet, a cursory glance reveals a world that clearly is not inherently just or free from undeserved suffering.

Hence, the problem of evil: how can a perfect deity allow such injustice and rampant evil in the world that He created?

Again, however, most of the faithful do not encompass it in this manner at all. Instead, they start with the assumption that their God is loving, just and merciful. And, given that, there must be a reason why the world is the way it is. It's just far, far, far beyond the grasp of mere mortals.

Besides, since God is the source of both morality on this side of the grave and immortality and salvation on the other side of it, what "for all practical purposes" is the alternative? It's basically God or "shit happens". Not only that but the shit happens in an utterly indifferent universe.

Many solutions to the problem of evil – called ‘theodicies’ – have been proposed. There is the argument of free will, attributing evil not to God but to humanity’s misuse of its own freedom.

Leaving out this part:

...an endless procession of earthquakes and volcanic eruptions and tornadoes and hurricanes and great floods and great droughts and great fires and deadly viral and bacterial plagues and miscarriages and hundreds and hundreds of medical and mental afflictions and extinction events...making life on Earth a living hell for countless millions of men, women and children down through the ages...

Others have argued that certain kinds of moral goodness – compassion, for instance – are not possible in a world without evil, and the value of these types of goodness outweighs the evils on which their existence depends.

Does that work for you? Yes? Then that need be as far as it goes until the atheists among us are able to finally demonstrate once and for all that God does not exist.

Any atheists here managed to accomplish that?

There is also what I call ‘the big-picture defence’, claiming that evil only appears as such from our limited perspectives. Were we able to see things from the perspective of God, we would see that, in the grand scheme of things, every apparent evil plays a necessary role in making the world more perfect.

In other words, "for all practical purposes" the Big One. The number one explanation that the faithful can always fall back on because, until the atheists do prove that God does not exist, anything at all can be attributed to Him. And this explanation covers anything at all.
He was like a man who wanted to change all; and could not; so burned with his impotence; and had only me, an infinitely small microcosm to convert or detest. John Fowles

Start here: http://www.ilovephilosophy.com/viewtopi ... 1&t=176529
Then here: http://www.ilovephilosophy.com/viewtopi ... 5&t=185296
And here: http://www.ilovephilosophy.com/viewtopi ... 1&t=194382

"Sure, it works in practice, but does it work in theory?"

Danny Embling: "People wonder how Hitler managed to get so many followers...it's never surprised me."

iambiguous
ILP Legend

Posts: 46841
Joined: Tue Nov 16, 2010 8:03 pm
Location: hanging out with godot

### Re: theodicy

No real Good? No privation.

Privation?

Real Good.

Really gonna settle accounts unsettled, burn down the nihil, turn it all back to Good.
Fall semester ends 12/16/22. Apologies if I do not reply immediately.

The thoughts/actions in your head should be both eternal and external. If they can’t be both, boot them.￼￼ Not everyone is willing to part with the internal/external that is not in line with the eternal. That is why we don’t have heaven on earth.

Science: https://youtu.be/90sWAKwZHHE

Wisdom after forgetting, and rediscovering the written record of the forgotten: The only one you’re allowed to plagiarize is the self you no longer are.

Isn’t it “funny” how the religious rulers of Jesus‘ day wanted him crucified, and the secular rulers of our day want to turn him into a mere (at most) philosopher?

Ichthus77
ILP Legend

Posts: 7292
Joined: Fri Sep 22, 2006 6:48 pm
Location: S.S. Minnow

### Re: theodicy

No, seriously.
He was like a man who wanted to change all; and could not; so burned with his impotence; and had only me, an infinitely small microcosm to convert or detest. John Fowles

Start here: http://www.ilovephilosophy.com/viewtopi ... 1&t=176529
Then here: http://www.ilovephilosophy.com/viewtopi ... 5&t=185296
And here: http://www.ilovephilosophy.com/viewtopi ... 1&t=194382

"Sure, it works in practice, but does it work in theory?"

Danny Embling: "People wonder how Hitler managed to get so many followers...it's never surprised me."

iambiguous
ILP Legend

Posts: 46841
Joined: Tue Nov 16, 2010 8:03 pm
Location: hanging out with godot

### Re: theodicy

Bad things happen for a reason, and other idiocies of theodicy
Jason Blum at aeon website

The philosopher Gottfried Leibniz’s simple solution was to argue in 1710 that this world is necessarily the best of all possible worlds. Leibniz depicts God assessing in His infinite mind all the various possible worlds that He could create. Because He is a loving God, the one He chooses to create is surely the ‘best of all possible worlds’. Leibniz’s argument suggests that it is ultimately meaningless to complain about this evil or that injustice; because this is the best of all possible worlds. We should take comfort in the fact that everything is, in the final analysis, as good as it can possibly be.

Tell me that this is not an entirely "thought up" explanation that allowed Leibniz himself to rationalize that which no actual sane man could attribute to a loving, just and merciful God. How can it not boggle the mind that an otherwise intelligent human being is able to accept this as a reasonable point of view.

Is his God omnipotent? If so, how can the world that we live in even come remotely close to being the "best of all possible worlds". Or is God too just another manifestation of monads?

Though, if this world...

"...an endless procession of earthquakes and volcanic eruptions and tornadoes and hurricanes and great floods and great droughts and great fires and deadly viral and bacterial plagues and miscarriages and hundreds and hundreds of medical and mental afflictions and extinction events...making life on Earth a living hell for countless millions of men, women and children down through the ages..."

...actually is the very best that God can create, complaining about it won't do much good.

Though, let's face it, it's not for nothing that others reacted to it rather scornfully:

Voltaire derided Leibniz’s solution, writing a book to satirise it. In Candide (1759), the eponymous hero and his companions stumble through the world, constantly beset by bad luck and predations. They witness even greater tragedies in the world around them. Their troubles arise from the uncaring forces of the natural world, but also from the naiveté of Candide, who is constantly assured by his mentor, Professor Pangloss, that this is indeed the best of all possible worlds.

Then those who are compelled to argue that it must be the best of all possible worlds because it is the only possible world. Or those who go here...

Peter: What branch of physics were you involved with?
Lloyd: Something much more terrifying than blowing up the planet.
Peter: Really? Is there anything more terrifying than the destruction of the world?
Lloyd: Yeah. The knowledge that it doesn't matter one way or the other. It's all random...resonating aimlessly out of nothing and eventually vanishing forever. And I'm not talking about the world. I'm talking about the universe. All space, all time just a temporary convulsion. And I get paid to prove it.
Peter: Do you feel so sure about that when you look out on a clear night like tonight and see all those millions of stars? That none of it matters?
Lloyd: I think it's as beautiful as you do...and vaguely evocative of some deep truth that always just keeps slipping away. But then my professional perspective overcomes me and a see more penetrating view of it...and I understand it for what it truly is...haphazard, morally neutral, and unimaginably violent.

Is it any wonder then that naiveté is the path most choose? Starting, of course, with their own rendition of an ultimately "loving, just and merciful" God.

In juxtaposing vivid depictions of myriad cruelties and Professor Pangloss’s blind insistence on the ultimate goodness of the universe, Voltaire demonstrates that there is a poignant reality to the experience of suffering that cannot be rationalised away. The claim that justice naturally inheres in the order of things does not bear scrutiny.

On the other hand, let's face it, some of us experience considerably more or considerably less suffering than others. But the bottom line [mine] always remains: subsuming this suffering in God or in an essentially meaningless and purposeless universe.
He was like a man who wanted to change all; and could not; so burned with his impotence; and had only me, an infinitely small microcosm to convert or detest. John Fowles

Start here: http://www.ilovephilosophy.com/viewtopi ... 1&t=176529
Then here: http://www.ilovephilosophy.com/viewtopi ... 5&t=185296
And here: http://www.ilovephilosophy.com/viewtopi ... 1&t=194382

"Sure, it works in practice, but does it work in theory?"

Danny Embling: "People wonder how Hitler managed to get so many followers...it's never surprised me."

iambiguous
ILP Legend

Posts: 46841
Joined: Tue Nov 16, 2010 8:03 pm
Location: hanging out with godot

### Re: theodicy

Bad things happen for a reason, and other idiocies of theodicy
Jason Blum at aeon website

There is also a profound moral danger to certain types of theodicy.

The essential difficulty of the problem of evil is how to reconcile its apparent existence with a loving, all-powerful deity. One popular method has been to reassert the inherent justice of the world, implying, if not explicitly claiming, the righteousness of the suffering that we witness throughout it. The result is, essentially, a theological form of victim-blaming.

Yes, that's one way to rationalize it. But the point being that the sheer magnitude of human suffering...suffering that is often "beyond our control"...is what makes it necessary to concoct rationalizations of this sort. The psychological impetus being to sustain the comfort and the consolation that faith in God provides many by "explaining away" these terrible "acts of God".

Hurricane Ian? God's way of reminding mere mortals not to live on the shoreline. Or near a volcano. Or where tornados are common. Or along an earthquake fault line. Really, I've heard this sort of thing from folks down through the years.

How far will some take this?

For example, the American evangelical preacher Pat Robertson explained the 2010 earthquake in Haiti – which killed between 220,000-316,000 people, and injured another 300,000 – as the fault of the Haitian people. The people of Haiti had apparently sworn a pact with Satan in exchange for delivering them from French rule, and the earthquake was divine retribution for that bargain (delivered approximately two centuries later). Robertson similarly suggested that both Hurricane Katrina and terrorism were divine punishment for the fact that abortion is still legal in the United States.

That far. Of course, Robertson is one of those TV evangelists. A "media mogul". Worth "between $200 million and$1 billion" according to wiki. Not so much the idiocy of theodicy as the idiocy of religion itself. Or at least where those like him are able to take it. Along with those gullible enough to follow him.

Robertson, of course, is not alone. An Iranian mullah has blamed earthquakes on women dressing immodestly; a New York rabbi blamed the advancement of gay rights in the US for another earthquake in 2011; many Burmese Buddhists blamed a 2008 cyclone that killed approximately 130,000 people on bad karma.

And let's not forget jerry Falwell's admonition that AIDS was God's punishment for the homosexual lifestyle. There's almost nothing the religious fanatics won't argue if it takes the onus away from God. The Creator of the AIDS virus.
He was like a man who wanted to change all; and could not; so burned with his impotence; and had only me, an infinitely small microcosm to convert or detest. John Fowles

Start here: http://www.ilovephilosophy.com/viewtopi ... 1&t=176529
Then here: http://www.ilovephilosophy.com/viewtopi ... 5&t=185296
And here: http://www.ilovephilosophy.com/viewtopi ... 1&t=194382

"Sure, it works in practice, but does it work in theory?"

Danny Embling: "People wonder how Hitler managed to get so many followers...it's never surprised me."

iambiguous
ILP Legend

Posts: 46841
Joined: Tue Nov 16, 2010 8:03 pm
Location: hanging out with godot

### Re: theodicy

Unless God gave us an obvious thing to say from him, all we have to say from him is you are loved despite your crap, but you will only be as free as you are willing to leave the crap behind. You carry the weight of it until you’re done with it. He already forgave it (he knew we wouldn’t believe without evidence, so he bled to prove it… but… he also knew we would still struggle to believe & remember…) & can give you what it takes to move on if you find you lack it. Not a one-off, instantaneous thing. What now? Love others despite their crap, at the pace of healing.
Fall semester ends 12/16/22. Apologies if I do not reply immediately.

The thoughts/actions in your head should be both eternal and external. If they can’t be both, boot them.￼￼ Not everyone is willing to part with the internal/external that is not in line with the eternal. That is why we don’t have heaven on earth.

Science: https://youtu.be/90sWAKwZHHE

Wisdom after forgetting, and rediscovering the written record of the forgotten: The only one you’re allowed to plagiarize is the self you no longer are.

Isn’t it “funny” how the religious rulers of Jesus‘ day wanted him crucified, and the secular rulers of our day want to turn him into a mere (at most) philosopher?

Ichthus77
ILP Legend

Posts: 7292
Joined: Fri Sep 22, 2006 6:48 pm
Location: S.S. Minnow

### Re: theodicy

Seriously, of course.
He was like a man who wanted to change all; and could not; so burned with his impotence; and had only me, an infinitely small microcosm to convert or detest. John Fowles

Start here: http://www.ilovephilosophy.com/viewtopi ... 1&t=176529
Then here: http://www.ilovephilosophy.com/viewtopi ... 5&t=185296
And here: http://www.ilovephilosophy.com/viewtopi ... 1&t=194382

"Sure, it works in practice, but does it work in theory?"

Danny Embling: "People wonder how Hitler managed to get so many followers...it's never surprised me."

iambiguous
ILP Legend

Posts: 46841
Joined: Tue Nov 16, 2010 8:03 pm
Location: hanging out with godot

### Re: theodicy

Bad things happen for a reason, and other idiocies of theodicy
Jason Blum at aeon website

The desire that motivates these [theodicy] interpretations is understandable. Natural disasters and terrorist attacks are either random events in a chaotic world, or they are explicable events within a discernible pattern. In the former case, we inhabit an essentially amoral universe: bad things happen to good people, children die premature deaths, and tragedy strikes without remorse, all without rhyme or reason.

Well, natural disasters and terrorist attacks are hardly the same thing. Natural disasters are random only in the sense that we often can't predict them. But if God is a part of them, He created Earth such that natural disasters unfold only as they must, given the laws of matter that exist only as they must because He created them. On the other hand, for most, God embedded free will in our souls and some, over the course of their lives, become involved in what others construe to be terrorist attacks but what those who participate in them construe to be entirely moral, just and necessary. Randomness here revolves around how we never know when the next explosions -- the next "actions" -- will occur.

In the latter case, we inhabit a much more hospitable universe where there is some sort of inherent order: a place where morality is inscribed into the very fabric of things, assuring us that, if only we play by the rules, evil will be punished, goodness will be rewarded, and justice will reign supreme.

On the other hand, chaos can often revolve around this too because we live in a world where conflicting moral, political and spiritual narrators insist that it is only their own hospitable universe and their own inherent order that count. Their morality ensconced in their "fabric of things". Their rules and their punishments for those who violate them. And punished they shall be or else how can true goodness and true justice reign supreme.

Thus...

It is easy to understand the attraction of that vision. But it has a substantial dark side. Like any theodicy, it cannot simply unmake suffering, and so it instead tries to justify it. The claim that the universe is inherently just then implies that those who suffer deserve it. The existence of a just God and a moral universe is gained at the cost of condemning victims of misfortune as blameworthy. And so, hundreds of thousands of Haitians died because their ancestors made a pact with the devil. Women and homosexuals agitating for equal rights are blamed for deadly natural disasters.

So, sure, let's call this "human history in a nutshell". Then the squabble can revolve around whether it's more or less about the genes than the memes.

A multicultural, politically correct evil we can be "woke" to or we can "cancel".
He was like a man who wanted to change all; and could not; so burned with his impotence; and had only me, an infinitely small microcosm to convert or detest. John Fowles

Start here: http://www.ilovephilosophy.com/viewtopi ... 1&t=176529
Then here: http://www.ilovephilosophy.com/viewtopi ... 5&t=185296
And here: http://www.ilovephilosophy.com/viewtopi ... 1&t=194382

"Sure, it works in practice, but does it work in theory?"

Danny Embling: "People wonder how Hitler managed to get so many followers...it's never surprised me."

iambiguous
ILP Legend

Posts: 46841
Joined: Tue Nov 16, 2010 8:03 pm
Location: hanging out with godot

### Re: theodicy

We are not in a position to know in what the movements of a butterfly will ultimately result. But…every unexpected problem is a learning opportunity for growth in resolution. We need problems to overcome. Without them, we devolve back into the swamp. The question is - what are we evolving toward? What is our standard of measure for evolving versus devolving…. sun versus shade… good versus evil/bad…? No Good being? No sun? No evil/bad… for anyone. Our gut knows better, doesn’t it?
Fall semester ends 12/16/22. Apologies if I do not reply immediately.

The thoughts/actions in your head should be both eternal and external. If they can’t be both, boot them.￼￼ Not everyone is willing to part with the internal/external that is not in line with the eternal. That is why we don’t have heaven on earth.

Science: https://youtu.be/90sWAKwZHHE

Wisdom after forgetting, and rediscovering the written record of the forgotten: The only one you’re allowed to plagiarize is the self you no longer are.

Isn’t it “funny” how the religious rulers of Jesus‘ day wanted him crucified, and the secular rulers of our day want to turn him into a mere (at most) philosopher?

Ichthus77
ILP Legend

Posts: 7292
Joined: Fri Sep 22, 2006 6:48 pm
Location: S.S. Minnow

### Re: theodicy

No, seriously.
He was like a man who wanted to change all; and could not; so burned with his impotence; and had only me, an infinitely small microcosm to convert or detest. John Fowles

Start here: http://www.ilovephilosophy.com/viewtopi ... 1&t=176529
Then here: http://www.ilovephilosophy.com/viewtopi ... 5&t=185296
And here: http://www.ilovephilosophy.com/viewtopi ... 1&t=194382

"Sure, it works in practice, but does it work in theory?"

Danny Embling: "People wonder how Hitler managed to get so many followers...it's never surprised me."

iambiguous
ILP Legend

Posts: 46841
Joined: Tue Nov 16, 2010 8:03 pm
Location: hanging out with godot

### Re: theodicy

iambiguous wrote::lol:

No, seriously.

I propose a two year marriage on the condition I keep my side hoes and leave with half your assets. Deal?
Fall semester ends 12/16/22. Apologies if I do not reply immediately.

The thoughts/actions in your head should be both eternal and external. If they can’t be both, boot them.￼￼ Not everyone is willing to part with the internal/external that is not in line with the eternal. That is why we don’t have heaven on earth.

Science: https://youtu.be/90sWAKwZHHE

Wisdom after forgetting, and rediscovering the written record of the forgotten: The only one you’re allowed to plagiarize is the self you no longer are.

Isn’t it “funny” how the religious rulers of Jesus‘ day wanted him crucified, and the secular rulers of our day want to turn him into a mere (at most) philosopher?

Ichthus77
ILP Legend

Posts: 7292
Joined: Fri Sep 22, 2006 6:48 pm
Location: S.S. Minnow

### Re: theodicy

Ichthus77 wrote:We are not in a position to know in what the movements of a butterfly will ultimately result. But…every unexpected problem is a learning opportunity for growth in resolution. We need problems to overcome. Without them, we devolve back into the swamp. The question is - what are we evolving toward? What is our standard of measure for evolving versus devolving…. sun versus shade… good versus evil/bad…? No Good being? No sun? No evil/bad… for anyone. Our gut knows better, doesn’t it?

The thoughts/actions in your head should be both eternal and external. If they can’t be both, boot them.￼￼ Not everyone is willing to part with the internal/external that is not in line with the eternal. That is why we don’t have heaven on earth.
Fall semester ends 12/16/22. Apologies if I do not reply immediately.

The thoughts/actions in your head should be both eternal and external. If they can’t be both, boot them.￼￼ Not everyone is willing to part with the internal/external that is not in line with the eternal. That is why we don’t have heaven on earth.

Science: https://youtu.be/90sWAKwZHHE

Wisdom after forgetting, and rediscovering the written record of the forgotten: The only one you’re allowed to plagiarize is the self you no longer are.

Isn’t it “funny” how the religious rulers of Jesus‘ day wanted him crucified, and the secular rulers of our day want to turn him into a mere (at most) philosopher?

Ichthus77
ILP Legend

Posts: 7292
Joined: Fri Sep 22, 2006 6:48 pm
Location: S.S. Minnow

Previous


text:
# 0.999999……=1? (continuation)

Earlier, I posted a pretending-to-be-funny discussion on this subject and now continue in a more formal fassion. Namely the dialogue in the previous post didn’t actually arrive to any conclusion as to whether 0.9999… is 1 or not. When you want to prove something in mathematics, you need to look down at the definitions as was suggested in the dialogue. In what follows, I take the axioms of an ordered field with the completeness axiom as the definition of the real numbers, that is the most common definition and equivalent to all others as long as the object is called real numbers and cook up a proof of…..

.

### Proof.

Let us review the axiomatization of the real numbers. The vocabulary is . All axioms except one are first-order sentences over this vocabulary and one is second-order ( in fact). The symbols and are constants and and are functions.

#### Remark

We use the conventional logic way of presenting the axioms (talking about vocabulary etc.). Instead we could plainly state that for each and there exists a unique number denoted by , same for , and then list the following axioms. Constant symbols and are taken only for convenience since they are definable from and and these definitions define unique elements in the theory below.

The axioms are the axioms of a non-trivial commutative ordered field plus the axiom of completeness:

Axiom 1:
Axiom 2:
Axiom 3:
Axiom 4:
Axiom 5:
Axiom 6:
Axiom 7:
Axiom 8:
Axiom 9:
Axiom 10:
Axiom 11:
Axiom 12:
Axiom 13:
Axiom 14:
Axiom 15:
Axiom 16:
Axiom 17: Let be a unary second order variable. The completeness axiom states:

In words, all non-empty subsets which have an upper bound, have also the smallest (least) upper bound.

Note that the axiom of completeness 17 does not say whether the smallest upper bound is unique. That will be needed:
Claim 1
Let be a set with an upper bound. Then there exists a unique which is the least upper bound.

Proof of Claim 1
Suppose and are two upper bounds:

If we show that neither nor holds, then by axiom 13 it will follow that . Suppose that . Then substituting in place of we get as a consequence

which implies that is not an upper bound which is a contradiction. Similarly if , then by substituting in place of in we get that is not an upper bound which is a contradiction again.

To proceed, we must define . I choose to define it in the following way which is equivalent to all conventional ways:
Definition
is the unique least upper bound of the set

where: is the set of natural numbers, , the operation is recursively definable by and and the operation gives the unique element given by axiom 7 (uniqueness proof uses also axioms 5 and 6: exercise).

In the definition above I deliberately use the existence of . It can be justified as follows. First, if we assume the non-existence of , then (the axioms of set theory, other than the infinity axiom, imply that) the set of axioms 1–16 is inconsistent (exercise). Second, we already assumed the existence of the infinite sequence of symbols which, to put it mildly, is hard to maintain without the existence of .

Once we prove that is a smallest upper bound for the set , Claim 1 implies that . In order to prove that, we need to show that the sentence in the beginning of the proof with replaced by and replaced by holds. Suppose . Then for some , . By axioms 4, 10 and 15, which implies , where subtraction is the addition of the additive inverse whose existence follows from axiom 3. By the same axioms we get . Multiplying both sides by and applying axiom 9 we get which, after applying some axioms yields . Thus and so is an upper bound.

Then we must show that it is the least upper bound. Suppose it is not the least and let equal to which is positive by the assumptions. Now we have and for all .

Let us show that then also for some . But now . As an exercise, verify which axioms were used.

Remark
This is what could be called an infinitely small number or an infinitesimal. The above essentially shows that Axioms 1–17 imply the non-existence of infinitesimals.

format: plain


text:
# Modernization cannot continue

Discussion in 'Science & Society' started by darksidZz, Jun 13, 2011.

1. ### Me-Ki-GalBannedBanned

Messages:
4,634
Spidey you been watching to much Glen Beck . Civil unrest will continue though . The ponzi scheme of the last 5000 years is almost up! It is accelerating. The players are positioning . The new day is on the horizon . It is a great time to be alive to witness the events unfolding . A decentralize a yeah that is what I been saying . Urbanization is bogus . Can't eat concrete. I mean the roof top farms are all fine and dandy , but to feed the masses . I don't know about that . I want to see what kind of Wheat production can be achieved in vertical farming . I bet it will be nothing like the Huttirites and there ability to grow wheat in rocks on the open plains of eastern Montana

3. ### BelieveHappy mediumValued Senior Member

Messages:
1,194
Your position confounds me. I could understand if someone was saying fusion(which really would save us)/nano tech/quantum computing or some other far off technology was going to save us.

But what I am talking about is stuff that we already have. Solar, wind, geothermal, tidal, thorium, nuclear, bio fuel, and more effectient electronics are all here now and ready to go. If it was only one or two we would be more likely to fail but these give us options for nearly every occasion.

11. ### Me-Ki-GalBannedBanned

Messages:
4,634
You don't understand localized economies. The price of gas in other countries has nothing to do with the price of gas in other countries . Economies are subject to inflation increments the public can adjust to . Bad shit happens when it don't. You think run away inflation had anything to do with Germany becoming ripe for what followed . If a bushel of beans cost 5 dollars one day and you were dependent on those beans for substance and they went to 12 dollars you would be priced out of buying beans , This equals economic collapse no matter how you dice it . The American can not pay 8 dollars a gal. and keep up production . That means eventual default on loans like Greece is facing . So your hole thing of punish America because our gas is cheaper is not valid . If you want cheap gas move to Venezuela. 1.65 last I heard . You want to see the world economic system come to a screeching halt. Gas hits 7 or 8 dollars a gal in the U.S. you will . The ripple effect will be massive world wide . You can start believing Spidey Man posts for sure by then and the poor people coupled up in High rises in the inner cities will get the brunt of punishment , cause us country folk are ingenious at living with out the means of modern society . We have chickens and grow our own feed . Grasses grow good around here . Wheat included . Oh yeah the higher gas is the more you food will cost so I guess it all boils down to a trade off . Higher gas = higher food cost . It don't matter cause ranchers and farmers just realized they got the world on a string . Did you see how much beef is going up these days . Shit all food prices . Let the games begin

12. ### scheherazadeNorthern Horse WhispererValued Senior Member

Messages:
3,798
Energy efficiency improvement is certainly another area we could be doing far better at.

I live 24 km from downtown Whitehorse. Between here and town, about 2/3 of that distance is lit by streetlights.

To what point?

Vehicles are required by law to have operational headlamps. There are several subdivision road exits, yet even these could be lit by just a few lamps at each, never mind the miles in between.

Waste of energy AND light pollution which detracts from the northern lights and the starlit sky during the darker months.

13. ### scheherazadeNorthern Horse WhispererValued Senior Member

Messages:
3,798
I rather doubt that we will be forced to retreat that far unless nuclear war ever became a reality, at which time a pre-industrial lifestyle could actually be almost luxurious compared to other options.

Access to clean drinking water and a healthy food supply are the concerns that I foresee, given that throughout the history of our species, equal access to the basic amenities of life seems never to have been the case, and that there has ever been persons in dire need.

Even if our population stabilizes, our manner of habitat destruction and rehabilitation to suit our own purposes is impacting water supply and the food chain.

There is no avoiding these effects, as all is integrated. The best one may do is practice harm reduction.

14. ### billvonValued Senior Member

Messages:
18,543
Of course. But you asked "What will happen if gas hits 7.00 a gal." To learn the answer to that, you can look at what actually _did_ happen in places where gas hit $7.00 a gallon (and went even higher than that.) And it was not at all apocalyptic; people adapted. It's like asking "what will happen if gas hits$2.00 a gallon?" Not too much of a mystery; it's happened to us, even though people predicted doom and gloom once it rose over \$1.00.

On the other hand, if you could still get rice and it hasn't gone up much in price, then it's not nearly as bad. Or if you were a glutton, eating three times as much as you needed to, then having to eat fewer beans would actually be a good thing overall.

Sure they can. They'd drive a lot less, buy smaller cars and trucks, move closer to where they worked, depend more on trains and boats, use alternate fuels and telecommute more. The economy would surely change; oil companies would make more money, SUV manufacturers less. Tesla would make more money, GM less. Union Pacific more, Fedex less.

?? No punishment for cheap gas or reward for expensive gas. It is what it is.

They're actually the best situated to deal with it. Cities generally have sea and rail access, and those modes of transport will become more relied-upon to transport food and goods once fossil fuels for transportation becomes more of a problem. They can walk or take public transit to work, school and shopping.

Now, those families living in suburbia - they're going to have problems. When you live four miles from everything, but population densities are too low to put in mass transit - you have to drive everywhere.

So one of the effects of high gas prices will be the gradual shrinking of suburbia.

Good! Fewer health problems. Beef was once a luxury food; we seemed to survive just fine.

15. ### Me-Ki-GalBannedBanned

Messages:
4,634
You are living in a dream world . When gas went up during the Carter administration and inflation was big a little thing called stagnation blighted all the communities. The welfare lines where long and civil unrest was abounding . A yeah we survived . That was a picnic compared to this new paradigm. Your a progressive that don't understand mathematics and reality . The Jews survived world war 2 so I guess all will be O.K. then . No worries ! Spidey start thinking pickers are Americans and no longer migrant farm workers from other boarders . See this person lives in the conditioning of smart growth planing . Decentralizing is not even in there vocabulary . Indoctrinations run Deep Spidey . There is not much luck in bringing this one forward .
You know what over 500 of those city folk applied for a single job in rural wild life interface Missoula this Dec. I wonder why . Cause maybe they did not have a job in there personal urban core with mass transit. They had big qualifications with lots of degrees . To Bad my wife got the Job and they didn't . You better start listening to Spidey . I already know the financial collapse is coming anyway so it don't matter . Let gas get to 10 bucks . That will make all the progressives happy. God People are stupid . No wonder I dropped out of normal society

Messages:
4,634

17. ### kiraValued Senior Member

Messages:
1,579
Not all solar energy needs grid. Please look up for "stand alone (off-grid) solar PV system". It is getting more popular especially in the remote areas where other energy supply alternatives are not available. The challenge is in the battery needed to store the energy which are abundant in the summer but scarce in winter.

Stand alone (off-grid) solar PV system

18. ### spidergoatLiddle' Dick TaterValued Senior Member

Messages:
53,966
You aren't going to be able to charge your electric car for commuting that way. I acknowledge that solar systems exist for basic household use, but this is no replacement for the vast amounts of energy we use in transportation.

19. ### BelieveHappy mediumValued Senior Member

Messages:
1,194
Dropped out? Sounds more likely that you were kicked out.

20. ### Fraggle RockerStaff Member

Messages:
24,690
Horse puckee! We spend all of our time communicating with each other, not chasing bison. I "go to work" every day and sit in a cubicle, but I spend 99% of my time on my computer, and when I do communicate with someone else in the company it's almost always by e-mail or phone.

With affordable webcams we can catch each other's body language and facial expressions, and pass-the-mouse virtual meeting software puts us as close to a conference room as we'll ever need to be--while recording everything digitally so nobody can claim that they didn't go along with the consensus!

As I said, talk to these young people who've spent their entire lives communicating virtually. The only time they feel the need for physical proximity is to dance, play sports, have sex, or commit mischief.
But just as the Industrial Revolution reduced the input of human labor to the food production process by 97%, computer automation will reduce it even further, just as it's doing with other industrial processes.

Two hundred years ago it took the labor of more than 99% of the human race to produce and distribute enough food to feed us all. Today it's only three percent. In two hundred years it will probably be a few hundredths of a percent.

What happened to you kids? My generation had tremendous faith in the future, and the future has delivered, despite the dedicated efforts of entire large groups of people who would like to see us revert to the Stone Age.

You seem to have no faith in the future at all, as you sit here talking to me from halfway around the planet, using a technology that almost no one of my generation thought would ever be practical. Even Robert Heinlein didn't think the world computer network would have visual images!

Don't be demoralized by politics. Civilization has had many temporary reversals but it always bounces back stronger than ever.

Last edited: Jun 17, 2011
21. ### Me-Ki-GalBannedBanned

Messages:
4,634
You could say that . It is probably true . My community rejected Me, Fear not they have bigger plans for my life . They call e the Christ to my face . Can you believe that . I can't ! It amazes Me . They want me to be a musicain ! Can you believe that . They made it loud and clear for they want to change the world and they have this profound belief I could do something about it . So I give it hell the best I can . Yeah even Nancy Polosi told me to Hang it Up and go play guitar . Fuck I get the message . Iam doing the best I can

22. ### Me-Ki-GalBannedBanned

Messages:
4,634
It is the devaluation of the human race Fraggle. WE did it to them . You Me and the rest of the victem class generation of Jonesers . Maybe you are progressive Boomer ( Don't ju,mp my ass I know you are Libertarian ) Old Hippie rocker. ( Grateful Dead Yeah !!! ) All the nasty about over population and the Governments devaluation of human life about 3 years ago . See you don't think things like this have an effect . They do. It is like a signal . A plan , or better yet " A Business Plan "

23. ### billvonValued Senior Member

Messages:
18,543
Yep. And yet unemployment was lower, we were in fewer wars and there was no credit crisis. Every age has its issues, and every market has its cycles.

Uh . . . what?

Sound a lot like my grandparents.

Because a lot of people apply for jobs. We get hundreds for every position, even in good economic time.

Yep. And the world was going to end in May 2011, too. That didn't happen either.

Last edited: Jun 18, 2011


text:
Standard deviation is the positive square root of variance. Standard deviation measures dispersion (as does variance), but it is measured in the same units as the variable.
If you want to change selection, open document below and click on "Move attachment"

Summary
ere σ 2 (X) stands for the variance of X. Variance is a measure of dispersion about the mean. Increasing variance indicates increasing dispersion. Variance is measured in squared units of the original variable. <span>Standard deviation is the positive square root of variance. Standard deviation measures dispersion (as does variance), but it is measured in the same units as the variable. Covariance is a measure of the co-movement between random variables. The covariance between two random variables R i and R j is the expected value of t


text:
SEARCH HOME
 Math Central Quandaries & Queries
 Question from jon, a parent: How many linear feet are in a 240 acre rectangle piece of property

Hi Jon,

There are 43560 square feet in an acre so 240 acres is $240 \times 43560 = 10,454,400$ square feet.

Harley

Math Central is supported by the University of Regina and The Pacific Institute for the Mathematical Sciences.


text:
1. ## Coins Probability

You have some coins in your pocket: 3 quarters, 2 dimes, and 4 pennies. What’s the probability that 3 coins taken randomly will be worth more than 50 cents?

2. Originally Posted by lifeunderwater
You have some coins in your pocket: 3 quarters, 2 dimes, and 4 pennies. What’s the probability that 3 coins taken randomly will be worth more than 50 cents?
Note that if you have less than two quarters, it's not possible to get more than 50 cents; and if you have two or more quarters, then you're guaranteed to have more than 50 cents. And you can use $\displaystyle \binom{9}{3}$ as the denominator, just be careful to consider the individual coins as distinct; you could also use $\displaystyle \binom{9}{3,2,4}$ as the denominator if you count differently.

Edit: After more reflection, using $\displaystyle \binom{9}{3,2,4}$ is overly complicated, because not all combinations are equally likely, hence you would need to use weighted terms somehow..

3. Thank you for the quick response, but until now I don't how to calculate the probability for this question!!

4. Originally Posted by lifeunderwater
Thank you for the quick response, but until now I don't how to calculate the probability for this question!!
Okay, so say you label the quarters A,B,C. Say you have exactly two quarters. Then the third coin can be any of 6 other coins. There are $\displaystyle \binom{3}{2}=3$ ways to have exactly two quarters. The other option is having exactly three quarters; there is only one way for that.

So $\displaystyle P=\frac{3\cdot6+1}{\displaystyle \binom{9}{3}}$

5. Sorry to disturb you again!
But I have another question that I asked not understandable replies.
The question is>>>
If you randomly take a positive integer and divide it by 23, what’s the probability that the remainder is 13?

Thank You very much in advance!!!

6. Originally Posted by lifeunderwater
Sorry to disturb you again!
But I have another question that I asked not understandable replies.
The question is>>>
If you randomly take a positive integer and divide it by 23, what’s the probability that the remainder is 13?

Thank You very much in advance!!!
My answer might be a little difficult to understand.

I believe the question is not well-formed, because there is no uniform probability distribution over the positive integers. What this means is, there is no sensible way to define "randomly take a positive integer" that I know of, if we require each positive integer to be equally likely to be chosen. It's because we are selecting an element from an infinite set (a countably infinite set).

What we can do though is think in terms of limits. So say we choose randomly an integer between 1 and n inclusive. Then as n goes to infinity, the probability that our number is disible by 13 approaches 1/23. This is because there are 23 remainders possible, in {0, 1, ... , 22}, and for large n they are all approximately equally likely. (And if n is a multiple of 23, then the probability is exactly 1/23.)


text:
# Selenium using Python - Geckodriver executable needs to be in PATH

I'm new to programming and started with Python about two months ago and am going over Sweigart's Automate the Boring Stuff with Python text. I'm using IDLE and already installed the Selenium module and the Firefox browser.

Whenever I tried to run the webdriver function, I get this:

from selenium import webdriver
browser = webdriver.Firefox()

Exception:

Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x00000249C0DA1080>>
Traceback (most recent call last):
File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 163, in __del__
self.stop()
File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 135, in stop
if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x00000249C0E08128>>
Traceback (most recent call last):
File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 163, in __del__
self.stop()
File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 135, in stop
if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
Traceback (most recent call last):
File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "C:\Python\Python35\lib\subprocess.py", line 947, in __init__
restore_signals, start_new_session)
File "C:\Python\Python35\lib\subprocess.py", line 1224, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
browser = webdriver.Firefox()
File "C:\Python\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 135, in __init__
self.service.start()
File "C:\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 71, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

I think I need to set the path for geckodriver, but I am not sure how, so how would I do this?

• Please, see my answer on similar question here – Andrew Oct 23 '16 at 21:45
• I'm putting the geckodriver.exe in the Python/Python35 directory so it has the same path and I'm getting even more problems. – tadm123 Oct 23 '16 at 22:18
• On Mac: brew install geckodriver – Nostalg.io Nov 15 '16 at 7:43
• I found that running it through the Chrome browser is a little faster than on Firefox, you'll just have to download the chromedriver for this. – tadm123 Nov 27 '16 at 23:22
• Note: there's Testcafe that got open-sourced recently. It doesn't require any browser plugins, they're built-in. I wanted to use Selenium but that looks like an interesting alternative. – Ehvince Dec 9 '16 at 13:07

## 33 Answers

selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

First of all you will need to download latest executable geckodriver from here to run latest Firefox using Selenium

Actually, the Selenium client bindings tries to locate the geckodriver executable from the system PATH. You will need to add the directory containing the executable to the system path.

• On Unix systems you can do the following to append it to your system’s search path, if you’re using a Bash-compatible shell:

  export PATH=$PATH:/path/to/directory/of/executable/downloaded/in/previous/step  • On Windows you will need to update the Path system variable to add the full directory path to the executable geckodriver manually or command line** (don't forget to restart your system after adding executable geckodriver into system PATH to take effect)**. The principle is the same as on Unix. Now you can run your code same as you're doing as below :- from selenium import webdriver browser = webdriver.Firefox()  selenium.common.exceptions.WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line The exception clearly states you have installed Firefox some other location while Selenium is trying to find Firefox and launch from the default location, but it couldn't find it. You need to provide explicitly Firefox installed binary location to launch Firefox as below :- from selenium import webdriver from selenium.webdriver.firefox.firefox_binary import FirefoxBinary binary = FirefoxBinary('path/to/installed firefox binary') browser = webdriver.Firefox(firefox_binary=binary)  https://github.com/mozilla/geckodriver/releases For Windows: Download the file from GitHub, extract it, and paste it in Python file. It worked for me. https://github.com/mozilla/geckodriver/releases For me, my path path is: C:\Users\MYUSERNAME\AppData\Local\Programs\Python\Python39  • Thanks but I set the my geckodriver.exe on the C:\Python\Python35\selenium directory and I set the path like you described but it's giving me the error below: – tadm123 Oct 24 '16 at 2:57 • Thanks @Saurabh Gaur, it's working now. I added the path of Firefox to the system variables manually and it's all working. Takes a little bit of time to launch but I'm guessing that's normal. Thanks! – tadm123 Oct 24 '16 at 3:28 • I got the error "WebDriverException: Message: Failed to start browser: permission denied" at first when I started specifying the firefox binary path, but restarting the computer (Windows 10) resolved the problem. - Just in case anyone else is hitting the same problem as me. – NoSuchElephantException Nov 3 '16 at 19:46 • What is the binary? Does that mean executable? – User Dec 8 '16 at 8:24 • In addition to this answer, I would like to expand on setting the PATH in unix environment. You can set it in code since you don't need it system wide: os.environ["PATH"] += os.pathsep + 'path/to/dir/containing/geckodriver/' Or simply keep the geckodriver binary in the directory that is already in your path: mv geckodriver /usr/local/bin – dsalaj Mar 23 '17 at 7:47 This solved it for me. from selenium import webdriver driver = webdriver.Firefox(executable_path=r'your\path\geckodriver.exe') driver.get('http://inventwithpython.com')  • If you get wrong permission try to remove [r'] from the path just "excecutable_path='path\to\your'diretory'" – Darius Nov 4 '17 at 8:17 • @adityarawat what operating system are you on? – Nesa May 9 '18 at 13:50 • but now i am getting OSError instead of wrong permissions. I somehow managed to copy geckodriver to /usr/local/bin. but now this new error is killing me – aditya rawat May 9 '18 at 14:06 • @adityarawat you can download geckodriver independently from here: github.com/mozilla/geckodriver/releases extract it with tar and make it executable with chmod +x, it doesn't have to be in /usr/local/bin, you just have to specify your path to it – Nesa May 9 '18 at 14:15 • just to be clear i have downloaded arm7hf.tar file and extracted it as well and added it to the path using the command export PATH=$PATH:geckodriver (it is extracted in Desktop). But it didn't help either. I still get OSError[errno 8 ] – aditya rawat May 9 '18 at 14:22

This steps solved it for me on Ubuntu and Firefox 50.

1. Download geckodriver

2. Copy geckodriver to folder /usr/local/bin

You do not need to add:

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = '/usr/bin/firefox'
browser = webdriver.Firefox(capabilities=firefox_capabilities)

• In your code you can not add the capability variable – Andrea Perdicchia Jan 12 '17 at 7:47
• Would you happen to know how to set the download directory for Firefox? I added the following question Set Firefox Preferences. Any help would be much appreciated. – d84_n1nj4 Jan 16 '17 at 16:00
• In Debian or Ubuntu you must use apt command for install Firefox. For Windows I've no idea sorry – Andrea Perdicchia Jan 16 '17 at 16:40
• Thanks. After applying this answer, I further took this solution for handling a follow-up issue: stackoverflow.com/questions/43713445/… – HackNone Jul 12 '17 at 9:03
• Thanks, Pycharm wasn't finding geckodriver although it was in home and in the project folder itself, but after moving it to /usr/local/bin it worked perfectly – Ronald Das May 11 '18 at 8:19

The answer by @saurabh solves the issue, but it doesn't explain why Automate the Boring Stuff with Python doesn't include those steps.

This is caused by the book being based on Selenium 2.x and the Firefox driver for that series does not need the Gecko driver. The Gecko interface to drive the browser was not available when Selenium was being developed.

The latest version in the Selenium 2.x series is 2.53.6 (see e.g. [these answers][2], for an easier view of the versions).

The [2.53.6 version page][3] doesn't mention Gecko at all. But since version 3.0.2 the documentation [explicitly states][4] you need to install the Gecko driver.

If after an upgrade (or install on a new system), your software that worked fine before (or on your old system) doesn't work anymore and you are in a hurry, pin the Selenium version in your virtualenv by doing

pip install selenium==2.53.6

but of course the long term solution for development is to setup a new virtualenv with the latest version of selenium, install the Gecko driver and test if everything still works as expected.

But the major version bump might introduce other API changes that are not covered by your book, so you might want to stick with the older Selenium, until you are confident enough that you can fix any discrepancies between the Selenium 2 and Selenium 3 API yourself.

On macOS with Homebrew already installed you can simply run the Terminal command

$brew install geckodriver  Because homebrew already did extend the PATH there's no need to modify any startup scripts. • @roskakori I did this and it got installed successfully but still I am getting the same error – JKC Aug 14 '19 at 1:00 • This did it for me, thanks. Using Firefox 72.0.2 & Selenium 3.141.0 – Sam Apr 21 '20 at 6:56 To set up geckodriver for Selenium Python: It needs to set the geckodriver path with FirefoxDriver as the below code: self.driver = webdriver.Firefox(executable_path = 'D:\Selenium_RiponAlWasim\geckodriver-v0.18.0-win64\geckodriver.exe')  Download geckodriver for your suitable OS (from https://github.com/mozilla/geckodriver/releases) → Extract it in a folder of your choice → Set the path correctly as mentioned above. I'm using Python 3.6.2 and Selenium WebDriver 3.4.3 on Windows 10. Another way to set up geckodriver: i) Simply paste the geckodriver.exe under /Python/Scripts/ (in my case the folder was: C:\Python36\Scripts) ii) Now write the simple code as below: self.driver = webdriver.Firefox()  If you are using Anaconda, all you have to do is activate your virtual environment and then install geckodriver using the following command:  conda install -c conda-forge geckodriver  • Yes, it installs geckodriver, but pycharm error stays the same. – WebComer Jan 8 '19 at 18:22 I see the discussions still talk about the old way of setting up geckodriver by downloading the binary and configuring the path manually. This can be done automatically using webdriver-manager pip install webdriver-manager  Now the above code in the question will work simply with the below change, from selenium import webdriver from webdriver_manager.firefox import GeckoDriverManager driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())  • Does Safari or even Internet Explorer have a similar driver manager? – Mischief_Monkey May 21 '20 at 14:32 • Or using pip3? – Peter Mortensen Nov 6 '20 at 7:07 • It sort of works, but I think geckodriver needs to be in the path. Temporary, like: export PATH=$PATH:/home/embo/.wdm/drivers/geckodriver/linux64/v0.28.0 – Peter Mortensen Nov 6 '20 at 7:20

# Ubuntu 18.04+ and the newest release of geckodriver

This should also work for other *nix varieties as well.

export GV=v0.27.0
wget "https://github.com/mozilla/geckodriver/releases/download/$GV/geckodriver-$GV-linux64.tar.gz"
tar xvzf geckodriver-$GV-linux64.tar.gz chmod +x geckodriver sudo cp geckodriver /usr/local/bin/  For Mac update to: geckodriver-$GV-macos.tar.gz

The easiest way for Windows!

Download the latest version of geckodriver from here. Add the geckodriver.exe file to the Python directory (or any other directory which already in PATH). This should solve the problem (it was tested on Windows 10).

• Windows Server 2019 - after adding path to geckodriver.exe in system it not worked but after copying geckodiriver.exe to python path it works ! Thank You : ) – Jakub Ujvvary Oct 26 '20 at 12:54

## Steps for Mac

The simple solution is to download GeckoDriver and add it to your system PATH. You can use either of the two approaches:

### Short Method

1. Download and unzip Geckodriver.

2. Mention the path while initiating the driver:

 driver = webdriver.Firefox(executable_path='/your/path/to/geckodriver')

### Long Method

1. Download and unzip Geckodriver.

2. Open .bash_profile. If you haven't created it yet, you can do so using the command: touch ~/.bash_profile. Then open it using: open ~/.bash_profile

3. Considering GeckoDriver file is present in your Downloads folder, you can add the following line(s) to the .bash_profile file:

 PATH="/Users/<your-name>/Downloads/geckodriver:$PATH" export PATH  By this you are appending the path to GeckoDriver to your System PATH. This tells the system where GeckoDriver is located when executing your Selenium scripts. 1. Save the .bash_profile and force it to execute. This loads the values immediately without having to reboot. To do this you can run the following command: source ~/.bash_profile 1. That's it. You are done! You can run the Python script now. • I was able to download geckodriver with Homebrew: brew install geckodriver and then initiate Firefox via: driver = webdriver.Firefox(executable_path="/usr/local/bin/geckodriver") – P A N Mar 29 '17 at 14:07 Some additional input/clarification for future readers of this thread: The following suffices as a resolution for Windows 7, Python 3.6, and Selenium 3.11: dsalaj's note for another answer for Unix is applicable to Windows as well; tinkering with the PATH environment variable at the Windows level and restart of the Windows system can be avoided. (1) Download geckodriver (as described in this thread earlier) and place the (unzipped) geckdriver.exe at X:\Folder\of\your\choice (2) Python code sample: import os; os.environ["PATH"] += os.pathsep + r'X:\Folder\of\your\choice'; from selenium import webdriver; browser = webdriver.Firefox(); browser.get('http://localhost:8000') assert 'Django' in browser.title  Notes: (1) It may take about 10 seconds for the above code to open up the Firefox browser for the specified URL. (2) The Python console would show the following error if there's no server already running at the specified URL or serving a page with the title containing the string 'Django': selenium.common.exceptions.WebDriverException: Message: Reached error page: about:neterror?e=connectionFailure&u=http%3A//localhost%3A8000/&c=UTF-8&f=regular&d=Firefox%20can%E2%80%9 geckodriver is not installed by default. $ geckodriver

Command 'geckodriver' not found, but it can be installed with:

sudo apt install firefox-geckodriver

$ The following command not only installs it, but it also puts it in the executable PATH. sudo apt install firefox-geckodriver  The problem is solved with only a single step. I had exactly the same error as you and it was gone as soon as I installed it. Go ahead and give it a try. $ which geckodriver
/usr/bin/geckodriver
 geckodriver
1337    geckodriver    INFO    Listening on 127.0.0.1:4444
^C

• This worked for me. Also it removes the pain of downloading the driver and the putting it in proper path. – S Andrew Oct 5 '20 at 7:15

Consider installing a containerized Firefox:

docker pull selenium/standalone-firefox
docker run --rm -d -p 5555:4444 --shm-size=2g selenium/standalone-firefox

Connect using webdriver.Remote:

driver = webdriver.Remote('http://localhost:5555/wd/hub', DesiredCapabilities.FIREFOX)
driver.set_window_size(1280, 1024)
driver.get('https://toolbox.googleapps.com/apps/browserinfo/')
driver.save_screenshot('info.png')

It's really rather sad that none of the books published on Selenium/Python and most of the comments on this issue via Google do not clearly explain the pathing logic to set this up on Mac (everything is Windows!!!!). The YouTube videos all pickup at the "after" you've got the pathing setup (in my mind, the cheap way out!). So, for you wonderful Mac users, use the following to edit your Bash path files:

touch ~/.bash_profile; open ~/.bash_profile*

Then add a path something like this....

# Setting PATH for geckodriver
PATH=“/usr/bin/geckodriver:${PATH}” export PATH # Setting PATH for Selenium Firefox PATH=“~/Users/yourNamePATH/VEnvPythonInterpreter/lib/python2.7/site-packages/selenium/webdriver/firefox/:${PATH}”
export PATH

# Setting PATH for executable on Firefox driver
PATH=“/Users/yournamePATH/VEnvPythonInterpreter/lib/python2.7/site-packages/selenium/webdriver/common/service.py:${PATH}” export PATH*  This worked for me. My concern is when will the Selenium Windows community start playing the real game and include us Mac users into their arrogant club membership. I've actually discovered you can use the latest geckodriver without putting it in the system path. Currently I'm using https://github.com/mozilla/geckodriver/releases/download/v0.12.0/geckodriver-v0.12.0-win64.zip Firefox 50.1.0 Python 3.5.2 Selenium 3.0.2 Windows 10 I'm running a VirtualEnv (which I manage using PyCharm, and I assume it uses Pip to install everything). In the following code I can use a specific path for the geckodriver using the executable_path parameter (I discovered this by having a look in Lib\site-packages\selenium\webdriver\firefox\webdriver.py ). Note I have a suspicion that the order of parameter arguments when calling the webdriver is important, which is why the executable_path is last in my code (the second to last line off to the far right). You may also notice I use a custom Firefox profile to get around the sec_error_unknown_issuer problem that you will run into if the site you're testing has an untrusted certificate. See How to disable Firefox's untrusted connection warning using Selenium? After investigation it was found that the Marionette driver is incomplete and still in progress, and no amount of setting various capabilities or profile options for dismissing or setting certificates was going to work. So it was just easier to use a custom profile. Anyway, here's the code on how I got the geckodriver to work without being in the path: from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities firefox_capabilities = DesiredCapabilities.FIREFOX firefox_capabilities['marionette'] = True #you probably don't need the next 3 lines they don't seem to work anyway firefox_capabilities['handleAlerts'] = True firefox_capabilities['acceptSslCerts'] = True firefox_capabilities['acceptInsecureCerts'] = True # In the next line I'm using a specific Firefox profile because # I wanted to get around the sec_error_unknown_issuer problems with the new Firefox and Marionette driver # I create a Firefox profile where I had already made an exception for the site I'm testing # see https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles#w_starting-the-profile-manager ffProfilePath = 'D:\Work\PyTestFramework\FirefoxSeleniumProfile' profile = webdriver.FirefoxProfile(profile_directory=ffProfilePath) geckoPath = 'D:\Work\PyTestFramework\geckodriver.exe' browser = webdriver.Firefox(firefox_profile=profile, capabilities=firefox_capabilities, executable_path=geckoPath) browser.get('http://stackoverflow.com')  • I got SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes... And I have to change gecko path to epath = r'C:\Users\step_\Documents\mtg_buyer\geckodrivers\geckodriver.exe'. Maybe the reason is that I'm using a Chinese Windows 10? – Endle_Zhenbo Jun 28 '17 at 0:47 I'm using Windows 10 and this worked for me: 1. Download geckodriver from here. Download the right version for the computer you are using. 2. Unzip the file you just downloaded and cut/copy the ".exe" file it contains 3. Navigate to C:{your python root folder}. Mine was C:\Python27. Paste the geckodriver.exe file in this folder. 4. Restart your development environment. 5. Try running the code again. It should work now. Selenium answers this question in their DESCRIPTION.rst file: Drivers ======= Selenium requires a driver to interface with the chosen browser. Firefox, for example, requires geckodriver <https://github.com/mozilla/geckodriver/releases>_, which needs to be installed before the below examples can be run. Make sure it's in your PATH, e. g., place it in /usr/bin or /usr/local/bin. Failure to observe this step will give you an error selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. Basically just download the geckodriver, unpack it and move the executable to your /usr/bin folder. • This quote contains the directions that worked on linux mint 18 . – Elliot Robert Jun 4 '17 at 1:35 For Windows users Use the original code as it's: from selenium import webdriver browser = webdriver.Firefox() driver.get("https://www.google.com")  Then download the driver from: mozilla/geckodriver Place it in a fixed path (permanently)... As an example, I put it in: C:\Python35 Then go to the environment variables of the system. In the grid of "System variables" look for the Path variable and add: ;C:\Python35\geckodriver geckodriver, not geckodriver.exe. from webdriverdownloader import GeckoDriverDownloader # vs ChromeDriverDownloader vs OperaChromiumDriverDownloader gdd = GeckoDriverDownloader() gdd.download_and_install() #gdd.download_and_install("v0.19.0")  This will get you the path to your gekodriver.exe on Windows. from selenium import webdriver driver = webdriver.Firefox(executable_path=r'C:\\Users\\username\\\bin\\geckodriver.exe') driver.get('https://www.amazon.com/')  If you use a virtual environment and Windows 10 (maybe it's the same for other systems), you just need to put geckodriver.exe into the following folder in your virtual environment directory: ...\my_virtual_env_directory\Scripts\geckodriver.exe • Exactly... installing geckodriver inside the environment's lib(Unix) or Scripts(Windows) directory helps solve this problem while using a virtual environment. – Olfredos6 Jun 19 '20 at 17:44 There are so many solutions here, and most of them still using manual ways by downloading the package manually. The easiest solution is actually from Navarasu. Here is the example; and it fixes the problem quickly. 1. Download and install the package with pip python -m pip install webdriver-manager Example wolf@linux:~$ python -m pip install webdriver-manager
Collecting webdriver-manager
Using cached https://files.pythonhosted.org/packages/9c/6c/b52517f34e907fef503cebe26c93ecdc590d0190b267d38a251a348431e8/webdriver_manager-3.2.1-py2.py3-none-any.whl
... output truncated ...
Installing collected packages: configparser, colorama, crayons, certifi, chardet, urllib3, idna, requests, webdriver-manager
Successfully installed certifi-2020.6.20 chardet-3.0.4 colorama-0.4.3 configparser-5.0.0 crayons-0.3.1 idna-2.10 requests-2.24.0 urllib3-1.25.9 webdriver-manager-3.2.1
wolf@linux:~$ 1. Execute it in the Python shell from selenium import webdriver from webdriver_manager.firefox import GeckoDriverManager driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())  Example wolf@linux:~$ python
Python 3.7.5 (default, Nov  7 2019, 10:50:52)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from selenium import webdriver
>>> from webdriver_manager.firefox import GeckoDriverManager
>>>
>>> driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
[WDM] - There is no [linux64] geckodriver for browser  in cache
[WDM] - Getting latest mozilla release info for v0.26.0
[WDM] - Trying to download new driver from https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz
[WDM] - Driver has been saved in cache [/home/wolf/.wdm/drivers/geckodriver/linux64/v0.26.0]
>>>

1. Web browser, which is Firefox in this case will be open.

2. Problem solved. That's it!!!

3. Additional note: If you look at the log above, geckodriver was downloaded automatically from https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz and saved to local directory which is at /home/wolf/.wdm/drivers/geckodriver/linux64/v0.26.0

4. You can also copy this binary and put it in any of your executable directory which can be get from echo $PATH command. E.g., cp /home/$(whoami)/.wdm/drivers/geckodriver/linux64/v0.26.0/geckodriver /home/$(whoami)/.local/bin/  Then, let's try the sample code in https://pypi.org/project/selenium/ from selenium import webdriver browser = webdriver.Firefox() browser.get('http://seleniumhq.org/')  1. That's it. On Raspberry Pi I had to create from ARM driver and set the geckodriver and log path in: sudo nano /usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py def __init__(self, firefox_profile=None, firefox_binary=None, timeout=30, capabilities=None, proxy=None, executable_path="/PATH/gecko/geckodriver", firefox_options=None, log_path="/PATH/geckodriver.log"):  For me it was enough just to install geckodriver in the same environment: $ brew install geckodriver

And the code was not changed:

from selenium import webdriver
browser = webdriver.Firefox()

You can solve this issue by using a simple command if you are on Linux

1. First, download (https://github.com/mozilla/geckodriver/releases) and extract the ZIP file

2. Open the extracted folder

3. Open the terminal from the folder (where the geckodriver file is located after extraction)

4. Now run this simple command on your terminal to copy the geckodriver into the correct folder:

 sudo cp geckodriver /usr/local/bin

On macOS v10.12.1 (Sierra) and Python 2.7.10, this works for me:

def download(url):
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
browser = webdriver.Firefox(capabilities=firefox_capabilities,
executable_path=r'/Users/Do01/Documents/crawler-env/geckodriver')
browser.get(url)
return browser.page_source

Visit Gecko Driver and get the URL for the Gecko driver from the Downloads section.

Clone this repository: https://github.com/jackton1/script_install.git

cd script_install

Run

./installer --gecko-driver https://github.com/mozilla/geckodriver/releases/download/v0.18.0/geckodriver-v0.25.0-linux64.tar.gz

I am using Windows 10 and Anaconda 2. I tried setting the system path variable, but it didn't work out. Then I simply added geckodriver.exe file to the Anaconda 2/Scripts folder and everything works great now.

For me the path was:

C:\Users\Bhavya\Anaconda2\Scripts

If you want to add the driver paths on Windows 10:

1. Right click on the "This PC" icon and select "Properties"

2. Click on “Advanced System Settings”

3. Click on “Environment Variables” at the bottom of the screen

4. In the “User Variables” section highlight “Path” and click “Edit”

5. Add the paths to your variables by clicking “New” and typing in the path for the driver you are adding and hitting enter.

6. Once you done entering in the path, click “OK”

7. Keep clicking “OK” until you have closed out all the screens

1. Ensure you have the correct version of the driver (geckodriver`), x86 or 64.
2. Ensure you are checking the right environment. For example, the job is running in a Docker container, whereas the environment is checked on the host OS.


text:
A polynomial $p(x)$ of degree n has n roots in the complex numbers. (see fundamental theorem of algebra).

If one of these roots is ${\alpha}$ , then $p({\alpha})=0$

Furthermore, if $p(x)=ax^n+bx^{n-1}+cx^{n-2}+...+px+q=0$ has roots ${\alpha},$ ${\beta},$ ${\gamma},$ ${\delta},$ ${\epsilon},....,$ ${\omega}$ then

• $\sum{\alpha}=-\frac{b}{a}$
• $\sum{\alpha}{\beta}=\frac{c}{a}$
• $\sum{\alpha}{\beta}{\gamma}=-\frac{d}{a}$
• $\sum{\alpha}{\beta}{\gamma}{\delta}=\frac{e}{a}$
• etc...
• ${\alpha}{\beta}{\gamma}{\delta}{\epsilon}...{\omega}=\pm\frac{q}{a}$
• If n is even then ${\alpha}{\beta}{\gamma}{\delta}{\epsilon}...{\omega}=\frac{q}{a}$
• If n is odd then ${\alpha}{\beta}{\gamma}{\delta}{\epsilon}...{\omega}=-\frac{q}{a}$

Moreover, if one of the roots of $p(x)=0$ is $z$ , where $z$ is complex (i.e. $z=x+iy$ and $y$ is non-zero) and all the coefficients $a,b,c...q$ are real then another root is the complex conjugate of $z$


text:
# Which is the physical interpretation of the “strange” constant $e \cdot c/ 4 \pi$?

This constant is assignable to charged leptons $$(e, \mu, \tau)$$ representing the fraction of their individual magneton $$\hat{m}= e \cdot \hbar/ 2 m$$ to their Compton-wavelength $$\lambda_{C} = h / m c$$: $$\begin{eqnarray*} \frac{\hat{m}}{\lambda_{C}} = e \cdot c / 4 \pi [\frac{A}{m} \cdot m^{2}] \end{eqnarray*}$$
Its dimensionality indicates that it determines a natural constant of magnetic flux: $$4,8 \times 10^{-18}$$ [Wb], however only a fraction $$4 \alpha$$ of the magnetic flux-quantum $$\Phi_{0} = h/ 2e$$. The constant may thus define magnetic flux in a leptons dipole-field.

• This does not seem to be a question about history, you should ask on Physics SE. – Conifold Mar 20 at 22:29
• As a physicist, I can confidently state that it's just another wacky fudge factor. <-- which happens to correctly predict real world behavior. – Carl Witthoft Mar 21 at 12:31
• A question like this is really in need of one or more published sources to give it a credible context. – terry-s Apr 8 at 13:37


text:
# Kate polishing

Phew, I just finished some last-minute backports to the KDE 4.3.5 branch. Lets hope the bug fixes I and pletourn did are as good as they look. Expect a much more stable Kate for 4.3.5 & 4.4! We managed to fix two bugs which are potentially the cause for dozens of bug reports, all seemingly random. Lets see whether our fixes hold up to our hopes!

Other than that: You should look forward to Kate scripting (with JavaScript) in 4.4. It’s dead simple but actually useful. In the utils.js file we ship with Kate there are now the following tools (all operate on the selection or - if none exists - on the whole document):

• sort - simple sorting
• natsort - natural sorting
• uniq - filter duplicates
• trim - remove leading & trailing whitespace
• ltrim - remove leading whitespace
• rtrim - remove trailing whitespace

Do you have more ideas for such simple helper functions?


text:
## on Representation Theory and Dynamical Systems

### Former talks in 2000:

November 29, 2000
A.V.Malyutin. Ordering of braid groups, operations on closed braids, and the proof of Menasco conjectures
November 22, 2000
1. A.M.Vershik
Presentation of new problems (resulting from a visit to USA, Canada, and England)
2. A.Ershler (Dyubina)
Geometical and dynamical properties of wreath products of groups

November 15, 2000
A.N.Rybko (Moscow). Thermodynamical Limit for Symmetric Closed Queueing Netwoks

We study the thermodynamical limit for a mean field model describing how a closed symmetric queueing network
operates. The Markov process under consideration is invariant under the action of certain symmetry group G in
the phase space. We prove that the quotient process on the space of orbits of the G-action converges to the limit
deterministic dynamical system.

September 20, October 4 and 11
Gayane Panina. Algebra of polytopes. A review.

September, 13
Impressions about recent conferences (in Nor Amberd, by A.M.Vershik, and in Katsiveli, by A.A.Lodkin), reports on students' works (A.Gorbulsky and P.Nikitin).

June, 1
Christian SKAU (Trondheim, Norway). The usefulness of Vershik-Bratteli models for the study of symbolic dynamical systems.

May, 24
D.Kulin. Separation of measures in multi-dimensional spaces
E.Shevkoplyas. Quasicrystals obtained by the projection method
May, 10

A.M.Vershik. Poisson-Furstenberg boundaries of exponential groups
Boundaries of random walks on groups (coinciding with exit boundaries, stationary boundaries and almost identical with Martin boundaries) are presently found for a rather restricted class of groups. The method to be described in the talk allows one to find the boundary for groups admitting a stable normal form. Along with a new realization of the path space in Cayley graph, the method provides a geometric model of the boundary for free solvable groups, without any use of a normal form. New open problems will be presented. The students of high levels are invited.

April, 28 (Friday)
Alexander Shapiro
Zeroes of polynomials, and rational transformations of algebraic curves
The work of M.S.Livshic and his collaborators in operator theory associates to a system of commuting nonselfadjoint operators an algebraic curve (called the discriminant curve). This discovery leads to a very fruitful interplay between operator theory and algebraic geometry: problems of operator theory lead to problems of algebraic geometry and vice versa. A natural problem in operator theory is to define properly the notion of a rational transformation of a system of commuting nonselfadjoint operators. This arises whenever one wants to study the algebra generated by a given system of commuting nonselfadjoint operators. It may also allow representing the given system of commuting nonselfadjoint operators in terms of another system which is simpler in some sense (e.g., it contains fewer operators, or the operators have a smaller nonhermitian rank). A related problem in algebraic geometry is to find an image of an algebraic curve given by a determinantal representation under a rational transformation. For the simplest case, when a system of operators consists of a single operator and the discriminant curve is a line, these problems were solved by N.~Kravitsky using the classical elimination theory. Our original objective was to find an analogue of the constructions of N.~Kravitsky in the general case. This led us to consider elimination theory for pairs of polynomials along an algebraic curve given by a determinantal representation. One immediate result of elimination theory along an algebraic curve is that analogues of the classical constructions allow us to describe an image of an algebraic curve given by a determinantal representation under a rational transformation. This, in turn, gives a natural way to properly define the notion of a rational transformation of a pair of commuting nonselfadjoint operators.

April, 26
Alexander Gnedin, Sergei Kerov. Combinatorial and probabilistic properties of Fibonacci solitaire
Fibonacci solitaire is a combinatorial algorithm transforming a permutation into the following objects (in the order of decreasing simplicity):

(1) an involution (a partition of cards into couples and singletons);
(2) a Motzkin path;
(3) a subset (in the set of all cards).
The rule is pretty simple: the newcoming card is compared with the highest card in the deck of previously considered cards. If the rank of the new one is lower, we put it on the top; if the rank is higher, we remove both cards. The algorithm plays for the Young-Fibonacci graph the role similar to that of Robinson-Schensted correspondence for the Young graph.

We prove that:
1) the number of remaining cards is distributed as the number of odd cycles;
2) the subset of these cards is asymptotically similar to the Poisson process on the interval $[0,1]$ with the density $(1-t)^{-1}$;
3) the Motzkin path is almost surely uniformly close to a parabola;
4) the involution (as a binary relation) approaches (in the limit of large permutations) the uniform distribution in a triangle.
We also find all invariant measures for an analog of Fibonacci solitaire acting on an infinite deck of cards.

April, 19
Gayane Yu.Panina. The structure of the virtual polytope group with respect to the cylinder subgroups filtration
We define a filtration of $k$-cylinder subgroups in the group $\Cal P^*$ of virtual polytopes: $$\Cal P^*=Cyl_1\supset Cyl_2 \supset \dots \supset Cyl_n.$$ We define a collection of mutually orthogonal projectors $$\delta_k :\Cal P^* \to Cyl_k,$$ whose sum is the identity operator. This collection induces the following expansions: $$\Cal P^* = \delta_1 \Cal P^* \oplus \dots \oplus \delta_n \Cal P^*$$ and $$Cyl_k = \delta_k \Cal P^* \oplus \dots \oplus \delta_n \Cal P^*.$$

April, 12
V. M. Manuilov. On asymptotic homomorphisms into the Calkin algebras
In the talk I will discuss an attempt to describe the set $Ext(A,B)$ of homotopy classes of extensions of a $C^*$-algebra $A$ by a $C^*$-algebra $B$ in terms of asymptotic homomorphisms. The set $Ext^{as}(A,B)$ of homotopy classes of asymptotic homomorphisms from $A$ into the Calkin algebra $Q_B$ (if $B={\cal K}$ is the algebra of compact operators, then $Q_B=B(H)/{\cal K}$) is introduced and the natural map $i:Ext(A,B)\to Ext^{as}(A,B)$ is considered. It is shown that under reasonably general conditions on $A$ the set $Ext^{as}(A,B)$ coincides with $E$-functor of Connes and Higson and the map $i$ is surjective. In particular, any asymptotic homomorphism of a suspended $C^*$-algebra into the Calkin algebra is homotopic to a genuine homomorphism, whence one gets a description of the kernel of $i$.

March, 15
K. P. Kokhas. Representations and factor representations of the Heisenberg group over a countable field of finite characteristic.

January, 12
A. M. Vershik. Entropy-based theory of group generators. Examples.
Systems of generators in exponential groups can be ordered by degree of representability of group elements. The examples of free, locally free, and solvable groups will be presented.

Top of the page


text:
## Clojure

Haven't noticed it being mentioned here yet: In the actor-concurrency vein, Clojure is vaguely like Elang, but targeting the JVM. Some comparisons vs. Erlang have been made.

## Comment viewing options

### Tail recursion vs. JVM bytecode

There was an interesting discussion relating to Clojure on the PLT Scheme list, starting with a message from Geoff Knauth.

Benjamin L. Russell then observed that Clojure has no tail-call optimization — understandably since it compiles to JVM bytecode — and "instead" provides recur and loop forms which can be used to do certain kinds of recursion. This led to a discussion of the limitations of this approach, with Shriram Krishnamurthi asking to see a Clojure version of his automaton example.

This led Benjamin to conclude that:

It is not clear how to perform mutual recursion in Clojure.

Since there is no letrec, a combination of let, loop, and recur apparently must be used. However, by definition, all three special forms bind sequentially, so it is not clear how to create mutually recursive definitions. Without mutually recursive definitions, it does not seem possible to translate your procedure into Clojure.

Some workarounds were discussed, such as Robby Findler's suggestion of using a single loop to avoid mutual recursion, and Henk Boom's code, which has not yet been shown to work.

### Java 7 - nope

There's an unofficial list of the proposals for the next version of Java and the JVM. TCO isn't on the list. This is particularly strange since one of the hot topics for Java 7 is closures which, if implemented, will naturally lead people to experiment with functional control structures.

Apparently Scala solves the tail call issue in its actors by using exception throwing under the hood as a form of trampolining.

When the receiving closure terminates, control is returned to the sender by throwing a special exception that unwinds the receiverâ€™s call stack.

However, that doesn't solve the general problem. In my ongoing tutorial on monads in Scala I ported Haskell's IO monad but got burned by the lack of TCO. That's solvable, but messy.

In other Lisps, SISC uses its own heap based stack (with a performance penalty) and Kawa optionally uses a trampolining system (also with a performance hit).

### Java 7 - not so fast

Actually James, tail-call optimization has been discussed and is on the list, just a bit hidden under the JSR 292 invokedynamic category, which is kind of serving as a catch-all for JVM enhancements.

John Rose at Sun is leading the charge in this area. He's blogged about tail calls in the past as well. Actually, he's started a new OpenJDK project called the Multi-Language VM project, which will be used specifically to flesh out new ideas for JSR 292 such as invokedynamic and tail call optimization. You can read a little more here or in this mailing list post.

### Oops, thanks

Oops, didn't think read beyond the title "invokedynamic." Thanks for the pointer.

### TCO & security

It'd be interesting to know what's planned related to the security issue connected to TCO (Java's security policy apparently depends on stack inspection). There was previously some discussion of this in connection with Clements & Felleisen's A Tail-Recursive Machine with Stack Inspection.

### Limited TCO?

After chasing all the links that puredanger posted I found very little substantiative in the way of plans. In fact, JSR 292 is still only about invokedynamic. Tail calls are only unofficially discussed in other spots. The appearance is that at best this is in the very early stages and at worst it's not a real contender for the next version.

I have seen discussions of two alternatives:

1) Implement a system like the paper you reference. This likely means a significant overhaul of the security code in the JVM.
2) Implement something more along the lines of what the CLR does: only optimize away stack frames that don't have security implications.

I wouldn't be surprised if the near term answer is #2 since that's likely a much more conservative change to the JVM code base. However, it does lead to some real difficulty in determining why one piece of tail calling code still causes stack growth and overflow while a another apparently similar bit of code is well behaved.

### Java Closures

Not sure if it's worth mentioning that Neil Gafter has a prototype implementation of Java closures available. On my list of things to check out.

### Clojure does support mutual recursion

Clojure does support mutual recursion in top-level functions, but not letrec, although I might yet add it. I posted an idiomatic version in Clojure.

### Nice

I posted an idiomatic version in Clojure.

It's surprisingly clean especially given that you didn't define new macros to do it. I haven't studied Clojure yet it's pretty clear and probably clear to anybody with any Lisp experience.

Clojure does support mutual recursion in top-level functions

When you say top level functions can be mutually recursive, do you mean that they can be mutually recursive without growing the stack, or do you just mean they can be defined in terms of each other without confusion? If the former, how did you implement it?

### No TCO in Clojure

Just the latter I'm afraid. As discussed above, Clojure shares with Java a lack of TCO.

### Tail recursion in OpenQuark

IIUC, OpenQuark compiles to JVM bytecodes and implements TCO with no special constructs in the language.

### Really?

The docs say:

In addition, the CAL runtime has the following optimizations:

â€¢ compiles tail recursive functions as loops

Which is not the same thing as global tail call optimization.

Of course it's possible to do TCO on the JVM, providing one is willing to superimpose some language-specific trampoline/CPS/heap-based-stack/interpretive/etc mechanism on top of the native calling mechanism of the JVM. This may involve tradeoffs with performance and/or interoperability.

For languages which use the native call mechanism, TCO will have to come from the JVM itself. I await it eagerly!


text:
NZ Level 6 (NZC) Level 1 (NCEA)
Graph quadratics in turning point form

## Interactive practice questions

What is the point $\left(h,k\right)$(h,k) on the parabola defined by the equation $y=a\left(x-h\right)^2+k$y=a(xh)2+k?

$y$y-intercept

A

Vertex

B

Axis of symmetry

C

$x$x-intercept

D

$y$y-intercept

A

Vertex

B

Axis of symmetry

C

$x$x-intercept

D
Easy
Less than a minute

Consider the equation $y=\left(x+1\right)^2$y=(x+1)2.

Consider the quadratic function $f\left(x\right)=\left(x-3\right)^2$f(x)=(x3)2.

Consider the quadratic function $h\left(x\right)=\left(x+5\right)^2$h(x)=(x+5)2.

### Outcomes

#### NA6-7

Relate graphs, tables, and equations to linear, quadratic, and simple exponential relationships found in number and spatial patterns

#### 91028

Investigate relationships between tables, equations and graphs


text:
Isomorphism between functions set and the field of real number.

Let $F$ be the set of all complex-valued functions $f:X \to \mathbb{C}$ defined on the set $X =${1, 2, 3} with 3 elements. Show that $F$ is a vector space over the field $\mathbb{R}$ of real numbers. Describe an isomorphism between $F$ and the real vector space $\mathbb{R}^n$, for some integers to be determined. Is this isomorphism unique?

I tried to prove $F$ is a vector space by checking 8 conditions. And then I do not know how to construct a isomorphism between $F$ and the real vector space $\mathbb{R}^n.$

• Try and solve the question first when $X = \{ 1 \}$ has only one element. Can you show that it is a real vector space? What should be the dimension? – levap Apr 17 '17 at 20:38
• You might first want to see things from a broader perspective in order to show there is a vector space structure on $F$. Try to prove: If $S$ is a set and $n \in \mathbb{N}$, the set $$F_S:=(\mathbb{R}^n)^S \quad\overset{(def.)}{:=} \quad\{f;\;f \;\text{is a map from}\; S \rightarrow \mathbb{R}^n\}$$ inherits a vector space structure from $\mathbb{R}^n$ (e.g., what map would make sense as a sum of two such maps? Ask yourself a similar question for the scalar product.). After that, put $S:=X$ (so $F_S=F_X$) and consider the obvious isomorphy $\mathbb{C}\cong \mathbb{R}^2$ – polynomial_donut Apr 17 '17 at 20:56

Note that defining a function $f:X\to \mathbb C$ is the same as defining the values of $f(1)$, $f(2)$ and $f(3)$, that is, three complex numbers. So the obvious mapping here is
$\phi: F\to \mathbb C^3, \phi(f)=(f(1), f(2), f(3))$
But we're working over the field $\mathbb R$, so we'd like to write $\mathbb C^3$ in the form $\mathbb R^n$ for a certain natural $n$. Now, recall that any complex number $z=x+iy$ can be written as a pair $(x,y)$. So we now can rewrite the mapping above like this:
$\phi: F\to \mathbb R^6, \phi(f)=(Re\ f(1), Im\ f(1), Re\ f(2), Im\ f(2),Re\ f(3), Im\ f(3))$
So, to finish, you just have to show that $\phi$ is an isomorphism.