Saturday, April 21, 2007

Deleting Mom's Phone Number

Mom died three months ago. She died of Alzheimer's. Probably the very worst way to die in the world. Two weeks later my sisters and a few other relatives went to Moline, Illinois to bury the ashes.

The other day I was scrolling down my phone list on my cell phone and encountered Mom. I stopped and stared at it. Her number was still there. What if I called it now? Would Mom answer? Could I tell her how her funeral went? How the kids are doing? Would she still tell me how proud she is of me?

Menu, Down Arrow, Down Arrow, Down Arrow, Delete, Ok to delete? Yes.

Friday, April 20, 2007

You Can't Buy Success in Projects

In many projects managers try to buy success. The usual sequence is like this:

Management: We need a database. Which one should we use?
Engineers: MySQL
Management: Lets use Oracle because it is better and not a toy.
Engineers: But Oracle is expensive, slow, a memory hog, feature bloated, and vendor lockin.
Management: But Oracle is the industry accepted standard.
Engineers: It is a waste of money both in direct cost and more expensive DB admins salaries.
Management: We have decided to go with Oracle, live with.


Now why is the decision really made this way? The reason is that Management believes that paying lots of money makes Oracle more 'real'. They are trying to buy success on the project. Management also belives, but will not say so, that you the engineer are incompetent.

The reality is that successful projects are not bought, they are managed and created. So we get to the Thundefist First Law of Projects:

The key element of success on a project is Pay Attention.

Buying expensive solutions like Oracle, .Net, heavy metal servers, J2EE, ClearCase, or any other proprietary solution will more likely hurt the project rather than make it successful.

Throwing more bodies at a project is another style of trying to buy success. The worst version of this one is bringing in expensive consultants to 'fix things'. Then the Expensive Consultant leaves and unfortunately takes his brain with him.

A subtle form of trying to buy success is adding layer after layer of tracking, management, paperwork and such. This is directly counter productive.

A good manager will instead pay the real price of a successful project, which is to spend actual time on the project engaged with the people and details of the project.

There is a term for this management approach. Hard Work.

Ruby on Rails date_select with bracket id

In Rails if you make a date_select in a rhtml file and put the empty brackets [] in the name, it goofs up the name. You must add the :index => rec.id on the end of the method params to get the name correct. Otherwise you get an error message like
Couldn't find Child with ID=birthdate(1i)
For example:

date_select('child[]', 'birthdate', {:index => child.id.to_s} )

Now in the controller things like Child.update(params['child']) will work.

You also may need to get the date_helper.rb and time_helper.rb patch from http://dev.rubyonrails.org/ticket/3811
if you are not up to date with Ruby revs.

TF

Science and Religion Crossover Points

(Since writing this in 2007 I have become an Athiest. TF, Aug 2010)

Crossover Points:
Science has its ways of proving knowledge, and religion has its ways. The current heated arguments between the two have to do with a difference of methods. A crossover point is some issue or theory where religious ideas can be successfully proven by scientific methods. There are very few such points.
There may also be crossover points the other way, where scientific theories can be proven by religions means. But that is not what this post is about

The Scientific Method: Science proves ideas by analyzing evidence that can validate or invalidate in concrete ways. All evidence must be viewable by several parties, all of which must be able to verify the evidence. This may entail redoing an experiment and viewing the outcome, or looking at artifacts in an independent fashion. There is usually much discussion about the strength of given piece of evidence, that results in a general consensus of validity. After a time a consensus is reached and held until conflicting evidence arises, or a better 'fit' for the facts is discovered as a new theory.

Weak Religious Arguments: Most arguments presented by religious advocates fail in the 'all evidence must be viewable' and in the weakness of the evidence. For example, a religious person might state that the spiritual feelings they have about The Bible prove it is the word of God. This evidence is only valid to the person feeling it because no one else can see the feelings or spiritual witness. In addition the feelings could be caused by many other mental effects and are thus not universally accepted as valid.
Anyone else could read the Bible and get the same witness, but that will not validate the idea for people in general, and many people would say the evidence is just fooling your self

The recent article about the 18(?) invalid arguments given by religious believers (If anyone has a reference please email me) all the arguments made consist of self-reported evidence or of weak proofs. For example 'my church must be true because everyone there is so nice' or 'God must exist or the Universe would not be here.' This article was a good list of bad arguments and every one was correct in that none of the arguments are valid from a scientific view. Thus none of them are crossover points.

Synthetic Crossover Points: Some religious arguments attempt to create crossover points by either distorting scientific theories (Intelligent Design (yuck), or Evolution is 'just a theory') or citing evidences that are too weak. A classic series of weak arguments are proofs that the Bible is the infallible word of God, and then trying to disprove scientific theories by the Bible. If the base evidence (The Bible) is weak as a proof, then all the rest of the arguments fall down. I have yet to see a verifiable proof that the Bible is the word of God.
On the other hand, I do believe that the Bible is inspired by God, but all my direct proofs or of the internal weak type. More on this later.

Written Artifacts: The most obvious crossover point would be a written artifact of know age and origin. The Bible is a written artifact, but is obviously an evolved text over many centuries. While the Bible is interesting and useful, it is not miraculous in any verifiable sense. Its existence can be entirely reasonably accounted for by archaeological, social, and historic means.

What alternative artifacts or evidence could there be? Other verifiable evidences for the existence of God would be a repeatable and measurable miracle. I have never seen such a thing, and in fact most religious doctrines state that 'tempting God' for a repeatable miracle, on demand, is against the way religion works. (You evil sinner you!)

The Main Point: So now we arrive at my main point. The only crossover point I have ever seen is the Book of Mormon. Several ideas surrounding The Book of Mormon and the Mormon doctrinal story about where it came from are not crossover points. The part about the angel delivering the gold plates and similar ideas are not scientifically verifiable.

What is verifiable is the concrete text and it's claim to be of ancient semi-Hebrew origin and partly of Egyptian literary and cultural origin. Regardless of the spiritual claims made by Mormons about the Book of Mormon, in no way do such claims invalidate the concrete textual reality.

Facts of Origin: There are several concrete facts about where The Book of Mormon came from.
Note: I will be referring to The Book of Mormon, meaning the written of the text on paper with a pen by normal people and its publication on a printing press as a commonly available printed book.
  1. The Book of Mormon was not in existence before the early 1800's
  2. There is a very small pool of people that were involved in the creation of The Book of Mormon. It was not a huge group collaboration.
  3. Egyptian was not yet translatable when The Book of Mormon was created.
  4. The Book of Mormon first edition is available. Since then revisions have been very minimal punctuation changes and a few word changes for clarity. Thus the current edition is valid for analysis.
Thesis: If The Book of Mormon can be shown to have linguistic, cultural, and literary artifacts that show it be a combination of Hebrew and Egyptian text, translated (not transliterated) to English, then it is a concrete, verifiable evidence of the existence of God. In Mormon parlance, it is 'A Marvelous Work and a Wonder'.

Microsoft Marketing Disaster


This week had the privilege of sitting through a presentation given by a Microsoft Field Engineer about Vista to a room full of software engineers. The intent of the presentation was to generate enthusiasm for Vista and Silverlight. The presentation started out with about 7 slides telling us how exciting Vista is. None of the slides said anything about actual features, just repeated how exciting it is.
Then they finally showed slides of actual features. The first feature, and the most impressive, was the new look. The windows are prettier, the buttons rounder and the backgrounds are nearly black. Then the next most important feature was that you can show all the windows in a 3D view as pages you can flip through. The third feature was that while editing text the text change dialog will popup right next to where the mouse is.
That's it. The three top features and improvements. We were underwhelmed. Their key tag line on their Vista page is 'Crank up the Wow'. Since when do you have to tell your audience that what you have is exciting? Compare this to the marketing approaches of Apple. When they announced the first iPod, Jobs simply stood on a huge barren stage, pulled out an iPod and demonstrated it to the audience. The audience when hysterical. There was no need to tell anyone to get excited. For developers Linux is exciting because it is wide open.
I then started to contemplate how irrelevant Windows Vista is, and quickly realized that Vista is not at all irrelevant. The problem is that Vista is relevant for all the wrong reasons. Vista will be the dominant OS because Microsoft will use it's dominant position to force Vista on users. The end users have no say in what OS they use. If they are a home user it is simply what comes on the box preinstalled, and corporate users are forced to use what the company standardizes on. (Yes you can be a maverick, but that can be a career limiting move, or limit what games you can play at home.) Apples products are relevant because they are interesting and desired by end users. Google is relevant for the same reasons.
Silverlight is a Flash wanabe. During the demo of the Silverlight the IDE failed. The engineer tried to drag-n-drop an element and the machine froze. This leaves an engineering group with the problem of choosing Flash, which is well proven, functional, and ubiquitous, or to choose Silverlight, be guinea pigs for the Beta IDE, and hope that in the future Microsoft does not drop Silverlight on some marketing whim. Of course, Microsoft realizes that the engineers don't make the buying decision. Top management is the one to sell to, behind closed doors.
I'm old enough to remember clearly the good old days when IBM had a dominant position in the computer market, and for the exact same reasons given above, lost it.
TF