minnebar reprise
April 22nd, 2007Had a great time at the minnebar (un)conference yesterday. Many of the sessions were very interesting and I saw a lot of familiar faces. The highlight for me however was the chance to hear the creator of RoR being interviewed. He’s the one the left, David Heinemeier Hansson, being interviewed by Jamie Thingelstad.
The guy was amazing. I agreed with everything he said.
I especially loved was how he didn’t have that “stick it to the man” vibe when he spoke about open source. In my opinion no matter how you feel about Microsoft the casual computing and on-line markets wouldn’t exist in the way they do today without them. Instead he seemed to have a completely pragmatic attitude of “getting shit done” in a programmer oriented way. Know what I mean? It’s not about disliking Sun, just that Java wasn’t helping him in the ways he wanted it to. Another example of this is when David stated he had originally tried to build out php on rails but the language seemed to reject it. Php, like Ruby, is also a free language so it isn’t so much “Ruby because it’s free” as “Ruby was right for the job”.
Another of his beliefs that struck me was about the beauty and aesthetics of code, and how documentation of code is a crutch. For example if you or someone else can’t return to your code and simply understand what it does by reading it then there’s something wrong. But the thing that’s wrong isn’t a lack of comments and documentation - it’s that the code wasn’t written simply or elegantly enough. I love that! I’ve always said based on the 90/10 or 80/20 rule - the majority of compute resources are spent running a minority of the volume of the code - only 10 or 20% of the code will be called often enough to make it even worth optimizing. The remaining 80 to 90% of the code in your project should be written for simplicity and clarity - nothing more and nothing less.
I could be wrong of course. If I was a journalist I would “do research” and “read things” on “the internet” before I wrote this. But hey, it’s my blog and that’s the impression I got. What more can I do? Other than the things I mentioned three sentences ago. But it’s getting late. Let’s call that an exercise for the reader.
He also had some really interesting things to say when he was asked about enterprise software! He said enterprise software does benefit some people, specifically the vendors and decision makers who buy and sell enterprise software because there’s lots of travel, expense accounts, and steak dinners. But in the end it does nothing for the poor programmer who has to figure out how to apply the garbage to a real world problem. I know I’ve seen some cases as a consultant where the wrong tools have been used as part of a client mandate pretty much only to justify an earlier purchasing decision. So I had a laugh about that one.
In my professional life I still believe it would be counterproductive for our department to switch to RoR, since our entire technology stack of ten years plus - not to mention the engineering skill set - is Microsoft based. That’s why we’ve tried to strike that happy medium with the Rails-inspired monorail dotnet libraries. That said however I was so impressed by the interview I’m going to be reinstalling RoR on an Ubuntu partition to re-investigate the tool. I want to learn more of the details about something that was created by a person who thinks the way David does.
