There's a book which has been out for 2 years by Richard Dawkins called The God Delusion. It is, as its name implies, an attack on God. It is, in short, a polemic. I feel that I should read it for the sake of intellectual honesty, if nothing else. But the more I read about it, and the more short excerpts I read, and the more I hear/read from Dawkins, the less I care. And here's why.
Dawkins quite clearly rejects out of hand the possibility that any other world view than his is right. When I say "any other worldview" I don't mean the possibility of God-- that's what he's arguing against-- but any philosophical starting point besides logical positivism. He is a strict materialist, and a logical positivist, and everything else is flatly not worth mentioning.
He makes, I won't doubt (at least until I read his book... if I read it) a convincing argument that a l.p. framework implies that God is a god of the gaps, and that those gaps will quickly disappear, and God with them. But by doing this and only this, he sidesteps the issue completely. He misses the epistemology, which is the most important part in deciding the possibility of God. You cannot tell someone they have come to a false (moreover delusional) conclusion when you refuse to discuss the framework by which they establish truth. The utter arrogance and ignorance of trying to tell me I'm delusional without even so much as mentioning my epistemological groundings makes it impossible for me to take anything Dawkins says seriously.
He (sort of) rebuts such arguments in the preface with "Do you have to read up on leprechology before disbelieving in leprechauns?" This is a fantastic point, but few people are asking him to go through a detailed study of the theology of Aquinas, Luther, Calvin, Lewis and Chesterton to argue that God does not exist. What we are asking is for him to discuss their epistemological basis, rather than a priori tossing them aside. To quote Terry Eagleton "What, one wonders, are Dawkins’s views on the epistemological differences between Aquinas and Duns Scotus? Has he read Eriugena on subjectivity, Rahner on grace or Moltmann on hope? Has he even heard of them?" The question is not about theology, but about philosophy.
Let me expand upon that point; I don't care what Dawkins has to say about scriptural justifiability of The City of God, Fear and Trembling or Mere Christianity. I care about what he as to say about the way Augustine, Kierkegaard and Lewis establish Truth. What do they consider to be evidence of the truth of a statement? What grounds do they use to justify the existence and character of God? Why is this wrong?
Moving past his naive dismissal of several thousand years of epistemology, his caricature of religion shows how little he has even attempted to understand the religious mind. There is far too much to say on this topic, and I could hardly do it justice, so I will limit myself to a one sentence summary of his feelings on the morality of religion: He finds it to be dangerous and evil. If religion is defined to be "irrational, self-righteous, hate-filled zeal", I agree wholeheartedly. But in his religious (in that sense of the word) intolerance he refuses to accept that the source of such religion can be anything besides religion as it is normally defined and he also refuses to accept that religion (as it is normally defined) can create anything apart from such closed-mindedness.
By so vehemently rejecting everything that isn't is worldview, he is making the most absurd straw-man of himself. He claims that atheism will lead to a more peaceful society overall, but he proves himself, through his self-righteous intolerance, to be a poor example of this "truth". So, I'm not going to read The God Delusion unless someone convinces me that his argument does discuss the epistemological "failings" of a religious view, and that he doesn't caricature religion as I claim...
****
My first point reminds me of a quick exchange that was made a while ago... I tend to be bad at "arguing" points, so this is my esprit d'escalier. A friend of mine (who is also very logical positivist, and can't understand other worldviews-- although he tries, at least) made a comment about science solving some sort of subtle and difficult to determine system. Another friend responded with "that's assuming the scientific method is infallible, which it's not." to which the first friend responded "If it were possible to get machines, which cannot make the same mistakes we do, to do it, it would be." Before a rebuttal could be made (or at least before one was made) we got distracted with something else.
Besides the "you're assuming a logical positive, blah, blah..." I realized that the truth of this statement requires that the universe be objectively observable from within the universe-- otherwise there will always be irreconcilable error in any measurement, hence, science is limited. Given our current understanding of the universe, objective observability is absolutely impossible: "Einstein says so." Any observation can only be made with respect to a given object, and at a high enough resolution, everything about that observation is different for any other object.
Further, if we accept a logical positivist view on the universe, and hence, a Fregean view on math, it makes sense that the universe is governed by some mathematical system. I'm getting to a point I've made before, but.. If the universe is governed by a mathematical system, then we must accept Tarski's undefinability theorem and Gödel's incompleteness theorems. In other words, there are limits to how much we can mechanically discover about the universe. Hence, science has limits.
Arbtirary thoughts on nearly everything from a modernist poet, structural mathematician and functional programmer.
Tuesday, December 16, 2008
Monday, November 24, 2008
Developing in "impractical" languages
So... functional languages, in the case of ones I know, Scheme and Haskell, are often called "impractical" for real applications. Due to the small libraries, this is mostly true of scheme, but it is only because scheme libraries are small... It is not true of CommonLisp, or Haskell, or OCaml, or ...
The most common argument is that they run slower. This falls flat for OCaml, which outpaces basically everything (that means you, imperative language) except C; also, CL is one of the faster languages around. But everywhere I look in relation to Haskell has some sort of argument about it being "slow and impractical".
Let's look at the cost ($$) of developing and running a piece of software written in C vs one in Haskell. Also let's assume that it is computationally expensive (uses a lot of CPU power).
Now, everywhere I've looked, suggests developing in functional languages is at least 2 times (actually closer to 3 or 4 times...) as fast as developing in their imperative counterparts. But! We'll give C the benefit of the doubt, and say that developing in Haskell takes 2/3t (e.g. if a C program takes 3 months to develop, it will take 2 months to develop it in Haskell).
Now, we'll continue with a conservative estimate of $40000 a year for a programmer. For a job which requires a BS in CS and "several years" of experience... this is a modest (and, quite frankly, bad) pay... but programmers love their jobs, right?
Now, a decent (but not huge) project is going to take, say, 9 months for 5 programmers to write in C. So 6 months in Haskell. This means the development cost of the C program is 5*40000*(3/4) = $150000. The Haskell program? 5*40000*(1/2) = $100000. Obviously, since we're looking at 2/3 the cost.
Now, we've just saved ourselves $50000. That's more than the salary for a programmer for a year!
But! We've got to take into account the extra amount of computation required by the Haskell program. Since the differences are constant (not asymptotic), and Haskell is ~3 times more "expensive" than C, we're looking at just getting a better computer here... We'll say one that's "twice as good" (whatever that means), which isn't quite enough, but we've been giving C the benefit of the doubt this whole time...
So, getting a computer that's "twice" as good is going to cost the average person less than $1000 extra-- $150 for RAM, $150 for a CPU and $200-$300 for video card: less than $600. Let's say $750.
So, in order for the imperatave program to be more efficient, all around, economically, there need to be roughly 50000/750 = 75 copies...
Hmm... that's not too much, now, is it?
Giving programmers more money (hurray!) increases this number some, but not all that much... However, there are a few things to note:
(1)In reality, every study/anecdote suggests about 2x speed with functional development. This means we have ourselves $100000, so 150 copies... still small...
(2)Giving programmers $50000 a year (on average... this includes project managers, etc) means an extra $25000 (given (1), above)
(3)The cost of hiring good programmers is not decreasing very fast... the cost of upgrading computers is. So in 5 years, this whole thing is going to be stupid.
(4)Most substantial programs take closer to 10-20 people 1 to 2 years (in C). Given (1) and (2), that's at least 400000 (taking 15 for 1.5 years, that's 1.125Mil). In Haskell? For 15 people it will take .75 years, so that's 562500. We've saved just under one million. So we can now sell almost 1000 copies... still not much.
(5)This is Haskell vs C. In reality, development is done in a combination of C and C++. OCaml performs only moderately slower than C (and faster than C++), and CL is only slightly slower than C++. So, working in OCaml will save about the same amount of time, and won't cost much (any) more to run; developing in Lisp will only cost a tiny bit more to run, and won't be much (if any) more than OCaml... especially with Macros, and CLOS.
(6)There are very, very few applications where performance matters that much... Rendering is just about the only common task. So the "It's too slow" argument is dumb anyway.
My point is: People see that Functional Languages are experimental (theoretical) hotbeds, and say "Oh, they must only be good for language theory"... This is not the case. They are, mostly, only a tiny bit slower to run, and are significantly faster to develop in...
Also, pugs, and darcs
Edit: So, I got my orders mixed up... (Actually, I was looking at an incomplete ranking when I said OCaml and Lisp are fast). The best way to look at things is: The Computer Language Shootout! Look at rankings... play around with what does what... etc.
The most common argument is that they run slower. This falls flat for OCaml, which outpaces basically everything (that means you, imperative language) except C; also, CL is one of the faster languages around. But everywhere I look in relation to Haskell has some sort of argument about it being "slow and impractical".
Let's look at the cost ($$) of developing and running a piece of software written in C vs one in Haskell. Also let's assume that it is computationally expensive (uses a lot of CPU power).
Now, everywhere I've looked, suggests developing in functional languages is at least 2 times (actually closer to 3 or 4 times...) as fast as developing in their imperative counterparts. But! We'll give C the benefit of the doubt, and say that developing in Haskell takes 2/3t (e.g. if a C program takes 3 months to develop, it will take 2 months to develop it in Haskell).
Now, we'll continue with a conservative estimate of $40000 a year for a programmer. For a job which requires a BS in CS and "several years" of experience... this is a modest (and, quite frankly, bad) pay... but programmers love their jobs, right?
Now, a decent (but not huge) project is going to take, say, 9 months for 5 programmers to write in C. So 6 months in Haskell. This means the development cost of the C program is 5*40000*(3/4) = $150000. The Haskell program? 5*40000*(1/2) = $100000. Obviously, since we're looking at 2/3 the cost.
Now, we've just saved ourselves $50000. That's more than the salary for a programmer for a year!
But! We've got to take into account the extra amount of computation required by the Haskell program. Since the differences are constant (not asymptotic), and Haskell is ~3 times more "expensive" than C, we're looking at just getting a better computer here... We'll say one that's "twice as good" (whatever that means), which isn't quite enough, but we've been giving C the benefit of the doubt this whole time...
So, getting a computer that's "twice" as good is going to cost the average person less than $1000 extra-- $150 for RAM, $150 for a CPU and $200-$300 for video card: less than $600. Let's say $750.
So, in order for the imperatave program to be more efficient, all around, economically, there need to be roughly 50000/750 = 75 copies...
Hmm... that's not too much, now, is it?
Giving programmers more money (hurray!) increases this number some, but not all that much... However, there are a few things to note:
(1)In reality, every study/anecdote suggests about 2x speed with functional development. This means we have ourselves $100000, so 150 copies... still small...
(2)Giving programmers $50000 a year (on average... this includes project managers, etc) means an extra $25000 (given (1), above)
(3)The cost of hiring good programmers is not decreasing very fast... the cost of upgrading computers is. So in 5 years, this whole thing is going to be stupid.
(4)Most substantial programs take closer to 10-20 people 1 to 2 years (in C). Given (1) and (2), that's at least 400000 (taking 15 for 1.5 years, that's 1.125Mil). In Haskell? For 15 people it will take .75 years, so that's 562500. We've saved just under one million. So we can now sell almost 1000 copies... still not much.
(5)This is Haskell vs C. In reality, development is done in a combination of C and C++. OCaml performs only moderately slower than C (and faster than C++), and CL is only slightly slower than C++. So, working in OCaml will save about the same amount of time, and won't cost much (any) more to run; developing in Lisp will only cost a tiny bit more to run, and won't be much (if any) more than OCaml... especially with Macros, and CLOS.
(6)There are very, very few applications where performance matters that much... Rendering is just about the only common task. So the "It's too slow" argument is dumb anyway.
My point is: People see that Functional Languages are experimental (theoretical) hotbeds, and say "Oh, they must only be good for language theory"... This is not the case. They are, mostly, only a tiny bit slower to run, and are significantly faster to develop in...
Also, pugs, and darcs
Edit: So, I got my orders mixed up... (Actually, I was looking at an incomplete ranking when I said OCaml and Lisp are fast). The best way to look at things is: The Computer Language Shootout! Look at rankings... play around with what does what... etc.
Sunday, November 2, 2008
Euler and Haskell
I just started learning Haskell, which is a fun, and slightly ridiculous language-- it seems to be what happens when you let mathematicians design a programming language without supervision: It's too clever and uses way too much graduate level theory. Any language which makes frequent use of monads, functors and has a wikibook describing its relation to category theory is the result of an evil genius (or several, to be precise).
Anyway, I'm using Project Euler to learn it, at Anne's polite not-actually-a- suggestion. Which is to say, she brought up Project Euler, and I said "Oh! I can learn Haskell!" It's working rather well, and I recommend it.
Anyway, I'm using Project Euler to learn it, at Anne's polite not-actually-a- suggestion. Which is to say, she brought up Project Euler, and I said "Oh! I can learn Haskell!" It's working rather well, and I recommend it.
Thursday, October 23, 2008
Balaam
Balaam is a figure (apparently a prophet, or oracle) in Numbers (22-25) who was summoned by the Moabites to curse the Israelites as they went from Egypt, through Moab to the promised land. He did nothing of the sort, but still did not do as God commanded him to, and in the end, went against Israel. He is most famous for having a donkey which laid down, and then spoke when beaten. "The way" (2 Pet 2:15), "The error" (Jude v11), and "The teachings" (Rev 2:14) of Balaam are all condemned by New Testament authors.
The teachings of Balaam, which come last in Numbers (and aren't explicitly shown to be associated with him until Chapter 31), quite clearly represent an attempt to subvert Israel by intermingling them with Moabites and Moab culture. There isn't much mystery in them, so I will skip them.
The way of Balaam, often confused or associated with the error of Balaam, is typically taken to be greed. The Oxford NIV Scofield Study Bible has, I think, a mostly correct analysis of the error of Balaam: "The error of Balaam was that he could see only the natural morality. A holy God, he reasoned, must curse such a people as Israel. Like all false teachers he was ignorant of the higher morality of vicarious atonement, by which God could be just and yet the justifier of believing sinners." There is, I think more to this story, but it is details, and not incredibly important, so I'll move on.
The way of Balaam, as I said before, is typically taken to be Greed. This comes as no surprise, since both 2 Peter and Jude mention money (Peter says "wages"; Jude, "profit") when characterizing Balaam's problem. I think this is wrong. Firstly, profit and wages are used throughout the New Testament as metaphor for just about everything-- I guess people thought about money as much in the first century Mediterranean world as they do now.
Beyond that, Balaam quite clearly does not go for money. Instead, I think, he is afraid of conflict... afraid to tell people things they don't want to hear. He is too "nice" to go against them. The following are all quotations from Numbers (NIV); I'll try to edit out only what isn't important, but all quotes are "out of context"...
"The elders of Moab and Midian left, taking with them the fee for divination. When they came to Balaam, they told him what Balak [King of Moab] had said.
"'Spend the night here' Balaam said to them, 'and I will bring you back the answer the Lord gives me.'
[...]
"The next morning, Balaam got up and said [...] 'The Lord has refused to let me go with you.'"
Notice that he does not immediately go with them, thought they represent the king of Moab. He instead says he cannot go.
"Then Balak sent other princes, more numerous and more distinguished than the first. They came to Balaam and said:
'This is what Balak son of Zippor says: Do not let anything keep you from coming to me, because I will reward you handsomely and do whatever you say. Come and put a curse on these people for me.'
"But Balaam answered them, 'Even if Balak gave me his palace filled with silver and gold, I could not do anything great or small to go beyond the command of the Lord my God.'"
Again, he does not go for wealth or power.
Later, three times he is asked to curse Israel, by the king Balak himself, and 3 times, he listens to what God says, and tells Balak. Eventually, he is sent on his merry way without gold or jewels.
However, at every point in the story, Balaam is as polite as possible, going as far as he can to satisfy the people who are asking him to do something that God Himself told him he could not do... He is afraid to tell them what they do not want to hear...
insert(Balaam.concluding_paragraph()); //I don't have anything else to say here...
The teachings of Balaam, which come last in Numbers (and aren't explicitly shown to be associated with him until Chapter 31), quite clearly represent an attempt to subvert Israel by intermingling them with Moabites and Moab culture. There isn't much mystery in them, so I will skip them.
The way of Balaam, often confused or associated with the error of Balaam, is typically taken to be greed. The Oxford NIV Scofield Study Bible has, I think, a mostly correct analysis of the error of Balaam: "The error of Balaam was that he could see only the natural morality. A holy God, he reasoned, must curse such a people as Israel. Like all false teachers he was ignorant of the higher morality of vicarious atonement, by which God could be just and yet the justifier of believing sinners." There is, I think more to this story, but it is details, and not incredibly important, so I'll move on.
The way of Balaam, as I said before, is typically taken to be Greed. This comes as no surprise, since both 2 Peter and Jude mention money (Peter says "wages"; Jude, "profit") when characterizing Balaam's problem. I think this is wrong. Firstly, profit and wages are used throughout the New Testament as metaphor for just about everything-- I guess people thought about money as much in the first century Mediterranean world as they do now.
Beyond that, Balaam quite clearly does not go for money. Instead, I think, he is afraid of conflict... afraid to tell people things they don't want to hear. He is too "nice" to go against them. The following are all quotations from Numbers (NIV); I'll try to edit out only what isn't important, but all quotes are "out of context"...
"The elders of Moab and Midian left, taking with them the fee for divination. When they came to Balaam, they told him what Balak [King of Moab] had said.
"'Spend the night here' Balaam said to them, 'and I will bring you back the answer the Lord gives me.'
[...]
"The next morning, Balaam got up and said [...] 'The Lord has refused to let me go with you.'"
Notice that he does not immediately go with them, thought they represent the king of Moab. He instead says he cannot go.
"Then Balak sent other princes, more numerous and more distinguished than the first. They came to Balaam and said:
'This is what Balak son of Zippor says: Do not let anything keep you from coming to me, because I will reward you handsomely and do whatever you say. Come and put a curse on these people for me.'
"But Balaam answered them, 'Even if Balak gave me his palace filled with silver and gold, I could not do anything great or small to go beyond the command of the Lord my God.'"
Again, he does not go for wealth or power.
Later, three times he is asked to curse Israel, by the king Balak himself, and 3 times, he listens to what God says, and tells Balak. Eventually, he is sent on his merry way without gold or jewels.
However, at every point in the story, Balaam is as polite as possible, going as far as he can to satisfy the people who are asking him to do something that God Himself told him he could not do... He is afraid to tell them what they do not want to hear...
insert(Balaam.concluding_paragraph()); //I don't have anything else to say here...
Thursday, October 16, 2008
God of Judgment?
A friend of mine recently posted something about his uncle's response to him being gay. It included "I guess that’s why you decided you really didn’t believe in God. Made it convenient to act in ways He condemns.”
this reflects a sentiment which is rather common in modern "Christianity": that the Christian God is a God of condemnation. A cursory reading of the Bible might lead one to suspect this is so, but a little more depth shows something quite different.
I'll start with the "curses" God pronounces. And he pronounces several. But all of them amount to this "The consequence [not punishment] of this action is as follows. Choose wisely." God pronounces several curses before the choice is made (e.g. Genesis 2:16-17, 1 Samuel 8:11-18), and a few after the fact (as in Genesis 3:6-19).
The first curse, in Genesis deserves particular attention. First he says "If you eat of this fruit, you will surely die." After they eat the fruit (and don't die), he says "All these bad things will happen to you."
But what about death? There are two things: They did die... later. Would they have died otherwise? The passage (Genesis 3:20-22) suggest otherwise. Also there is spiritual death, which we as humans, most certainly do experience.
So, why would God condemn us to this, simply for wanting a fruit which made us "wiser"? There is a lot happening in this curse, but it boils down to 2 things:
Firstly, it is not "I sentence you to this" but "this is the result of your action." God wants us to choose to love Him. Choice requires that we can choose not to love Him. Since choosing "not God" is the same as choosing sin (by definition). Choice means sin can exist. The existence of sin implies the existence of evil. So God enabled the existence of evil. His statement in Genesis 3 is that we have actualized that opportunity.
The second thing is that he wanted Adam and Eve to be happy (because he loved them). To choose to eat of that fruit meant to choose not to trust God; to not trust God is to reject his love. To be unloved is to be unhappy, and so choosing wisdom over love is to choose unhappiness.
Beyond that, God pronounces other curses, which contain similar sentiments: "Love me (or come to me, or repent or ...) or this bad thing will happen." They represent the same idea: This is a result that follows from your actions.
There is more to say on this topic, but it really doesn't matter. It comes down to this: God did not create us to condemn us; He did not send His Son to condemn us. He created us, and He sent His Son to love us. "Love is patient, love is kind. It does not envy, it does not boast, it is not proud. It is not rude, it is not self-seeking, it is not easily angered, it keeps no record of wrongs. Love does not delight in evil but rejoices with the truth. It always protects, always trusts, always hopes, always perseveres." (1 Cor 4-7)
Christianity is missing a lot of things these days, the most important one is Love.
this reflects a sentiment which is rather common in modern "Christianity": that the Christian God is a God of condemnation. A cursory reading of the Bible might lead one to suspect this is so, but a little more depth shows something quite different.
I'll start with the "curses" God pronounces. And he pronounces several. But all of them amount to this "The consequence [not punishment] of this action is as follows. Choose wisely." God pronounces several curses before the choice is made (e.g. Genesis 2:16-17, 1 Samuel 8:11-18), and a few after the fact (as in Genesis 3:6-19).
The first curse, in Genesis deserves particular attention. First he says "If you eat of this fruit, you will surely die." After they eat the fruit (and don't die), he says "All these bad things will happen to you."
But what about death? There are two things: They did die... later. Would they have died otherwise? The passage (Genesis 3:20-22) suggest otherwise. Also there is spiritual death, which we as humans, most certainly do experience.
So, why would God condemn us to this, simply for wanting a fruit which made us "wiser"? There is a lot happening in this curse, but it boils down to 2 things:
Firstly, it is not "I sentence you to this" but "this is the result of your action." God wants us to choose to love Him. Choice requires that we can choose not to love Him. Since choosing "not God" is the same as choosing sin (by definition). Choice means sin can exist. The existence of sin implies the existence of evil. So God enabled the existence of evil. His statement in Genesis 3 is that we have actualized that opportunity.
The second thing is that he wanted Adam and Eve to be happy (because he loved them). To choose to eat of that fruit meant to choose not to trust God; to not trust God is to reject his love. To be unloved is to be unhappy, and so choosing wisdom over love is to choose unhappiness.
Beyond that, God pronounces other curses, which contain similar sentiments: "Love me (or come to me, or repent or ...) or this bad thing will happen." They represent the same idea: This is a result that follows from your actions.
There is more to say on this topic, but it really doesn't matter. It comes down to this: God did not create us to condemn us; He did not send His Son to condemn us. He created us, and He sent His Son to love us. "Love is patient, love is kind. It does not envy, it does not boast, it is not proud. It is not rude, it is not self-seeking, it is not easily angered, it keeps no record of wrongs. Love does not delight in evil but rejoices with the truth. It always protects, always trusts, always hopes, always perseveres." (1 Cor 4-7)
Christianity is missing a lot of things these days, the most important one is Love.
Friday, October 3, 2008
Mystery...
Do we, as a society, understand the notion of mystery? We explain everything away, so that even that which is "mysterious" to us isn't really a mystery, isn't something mystifying and awe inspiring: its something to coldly study...
The lack of mystery is among the many things that we are missing. Mystery drives us, it fills us with passion; it moves us.
Almost no one feels that mystery. Maybe in the past not many people did... maybe it's only those with above average intellect who actually feel mystery and are inspired by it, and in the past they were the only ones who wrote, so the apparent lack of mystery in our lives is just the result of biased data.
But I think even most of those who "explore" the universe don't feel mystery in their daily lives. I think we have a habit of just accepting the world and moving on...
I think that's a problem.
The lack of mystery is among the many things that we are missing. Mystery drives us, it fills us with passion; it moves us.
Almost no one feels that mystery. Maybe in the past not many people did... maybe it's only those with above average intellect who actually feel mystery and are inspired by it, and in the past they were the only ones who wrote, so the apparent lack of mystery in our lives is just the result of biased data.
But I think even most of those who "explore" the universe don't feel mystery in their daily lives. I think we have a habit of just accepting the world and moving on...
I think that's a problem.
Sunday, August 10, 2008
haha... Good times
Today's sinfest (10 Aug, 08) contains a brief retelling of the Gospel... In comedic form... with a terminator parody.
Subscribe to:
Posts (Atom)