Good Bye Bill Gates

June 24, 2008

Posts are flying around the blog-o-sphere about a once in a lifetime event. The most successful man in the computer industry is finally stepping down from an active role running Microsoft. That’s right, this week is Bill Gates’ last as an active member of the Microsoft team.

I met Bill a very long time ago. I was extremely lucky to have been a college intern at Microsoft working on Excel 2.0. When I graduated from college, I had two job offers; one from Microsoft in their tools group and the other from Software Publishing Corporation working on Harvard Graphics. If you looked at my LinkedIn Profile, you’ll see that I opted to stay in the bay area.

I went to an intern party at Bill’s house, before his complex had been built. I met many of the founders of MS. I heard Charles Simoni talk that summer about how programmers lose their touch over time. He said when he was younger he could remember every item in every room in a house of 30 rooms.

I even have a button some where that has “Save the blibbet!” on it. The blibbet was the first MS logo (sort of like the AT&T globe) and the button was part of a protest against changing it. At one point, I worked in a fish bowl office of interns with a bird’s eye view of Bill’s office over looking the courtyard.

I have no regrets on my decision to go to SPC. I like more variety in my life and would never have fully bought into the Microsoft way of life.

Sometime later, I ran into Bill Gates a second time at the Intuit merger company meeting. Bill Gates, Scott Cook and Bill Campbell were on the podium. Bill G and Scott were really into the merger. Bill C seemed very hesitant. I, of course, had the (nerve or stupidity, you pick) to ask about how Intuit customers would feel about getting help from MS as a company given that Intuit had built a reputation of being the Mr. Rogers of technical support.

Scott answered with something about how you can’t become a 100 million customer company by being a scum bag. To which I stupidly replied, “I didn’t say he was a scum bag.” The audience roared at this as they thought I had “implied” the scum bag part. I apologized personally to Bill Gates afterwards and he said it was no big deal. Bill Campbell told me it was a great question. And I spent the rest of the party joking that I had become a legend and unemployed at the same time.

I actually have a video of this somewhere in the house, probably next to my save the blibbet button.

What I can tell you is that Bill Gates programmed BASIC on an airplane for the first home made computer, before there were personal computers, Windows and the Internet, and at a time when most of us were impressed with the convenience of calculators. He had vision, acumen and drive that to me, is unparalleled in the computer industry. I respect those qualities and all that he has achieved so far. The man deserves a statue in the front of the computer hall of fame right next to Woz and Jobs and the rest of the early wizards.


Rails Conference 2008

June 3, 2008

I recently attended the RailsConf 2008 in Portland Oregon. The conference is sponsored by O’ Reilly and is one of the premier events for the growing Ruby on Rails solution. The Ruby language with the Rails framework is definitely gaining significant momentum. To me, this is clearly the next Java or C++. It is quick and effective for creating Web applications and developers love it. Someone once told me that motivated people working with technologies they like make the best products.

I was impressed by the sessions at this conference. The technical speakers were informed and clear. They were primarily experienced based speakers which means their knowledge was born from hands on work. I find people working in the field are more interesting, relevant and accurate when compared to those talking theory. Really, if you are considering developing in Ruby on Rails, I highly recommend you attend next year.

Joel Spolksy was a great keynote speaker at the conference. I remember laughing a lot and feeling like he had an interesting point of view for his talk. He really had a laugh at the expense of Windows. Funny that Bill Gates, in an email to his people, did not find the Windows usability thing all that funny. He should have heard Joel go through it as he struggled through patches, reboots and warnings just to upload some photos from his camera.

Overall, Joel made salient points about providing good feedback to users, keeping them in control of their experience and obsessing over all aspects of the experience. To me, this was a great statement about the whole “put it out there” movement in startups driven mainly by facebook applications. Yes, it is good to get user feedback sooner rather than later, especially before embarking on a mammoth development effort. But don’t sell yourself short by releasing a product that could be better with a little more effort and time.

I had mixed thoughts about the keynote speech from David Heinemeier Hansson. Ruby on Rails is truly an innovative combination. Before I give you my opinion of the talk, let me give you some analogies for what I think is innovative.

Developing in RoR is like building a house for the first time using a nail gun instead of a hammer. It’s like the first time you drove a car with power steering and power windows. It’s like the first time you created a server side product using Web technologies where as before you had to write code to handle requests, package data, manage connections and all that ugliness. It’s like the first time you took a flight from SF to LA when you used to drive because you were in college trying to save money. It’s like…(had enough???).

David is the founder of the RoR movement. He talked about the surplus created by having a superior tool as something developers should take advantage of for personal improvement. On the whole, this is not a bad concept. David felt that developers should use the time savings to sleep more, learn to whittle or even to fly a plane. Yes, it was mostly a humorous point. Our engineers should use the fact that they have a “better, faster tool” to take time to smell the roses.

However, in my opinion, this works against why Ruby on Rails is one of the fastest growing technology movements around. People are switching to RoR because it is faster. There really isn’t enough evidence yet to say it is better than other choices like Java with Hibernate and Spring or PHP with CakePHP. The surplus time should be used to extend this advantage and get more people and companies on board. After all, who would you hire to build your house? The guy swinging an old hammer or the guy with the nail gun and power drill? And what would you think if the guy with the power tools took a nap every day on site because he knew his tools were faster than the way they used to build houses? See my point?

The reason this language is selling today is exactly because of the faster angle. If you take that away, then you don’t quite have the history and track record yet to stand up against more established technologies. You have to get over the tipping point a little and then you can take a snooze.

Before I forget to mention it, Portland, Oregon is one rocking town. If you believe the whole “smell the roses thing” that David was emphasizing, I recommend you do it there at around 11 PM on a Saturday night. I know this has very little to do with the conference. Still, I have to give credit to the conference organizers for picking a cool location.

One goal for myself at the conference was to gather information about RoR scalability issues. I can now say that I am not worried at all after listening to a panel discussion from a group of guys responsible for about 4 billion Ruby requests a month. Representatives from EngineYard, Rails Machine, LinkedIn and AOL talked through their experiences taking RoR to the max. The big take away is that people need to think of scalability in terms of the entire system. The best coders in the world can’t make poorly designed data objects or under-powered hardware go any faster, for example.

We heard a keynote talk from Kent Beck later in the week. Kent is the visionary behind many innovative ideas including Test Driven Development and Extreme Programming. I recommend you Google Kent Back then read a lot about him and his ideas. And buy his books too! But make sure you form your own opinions which I think is his real goal for everything he creates. What is super impressive is how Kent sees the big picture, long term stuff. He talked about how real change, or rather the true fruition of his creative ideas, takes on the order of 20 years to go from concept to accepted practice. Talk about a visionary! Good call on Test Driven Development Kent.

In the end, I walked away from the conference convinced more than ever that Ruby on Rails represents a next generation approach to scalable Web development. I am a true believer after listening to a dozen sessions on various topics including scalability, project management, lessons learned from Web application development, complex searching and others. But the strength of any tool is in the people who use it. After all, a good carpenter is just as effective with a hammer as a nail gun.