Tuesday, September 16, 2008
Open source
Monday, September 15, 2008
Monday blues
Monday morning, 8:00 am, and I’m by myself in the office, watching the coastal fog very slowly recede over the hills. At 8:00 am, I’m usually alone in the office. Geeks are not a matinal species. The office usually starts filling in after 10 am only. There are often checkins into our source control system at 1 am though.
The startup I work for is in the same building as a few financial outfits, a branch of Morgan Stanley, a Bank of America, and more on the second floor. The necktie wearing people I crossed on that floor this morning were bleary eyed and “wandering around in a daze”, as they reported in the New York Times. Lehman Brothers in bankruptcy, Merryll Lynch bought out by Bank of America. Don’t worry, the windows don’t open in this building, the branch managers on the second floor won’t be able to defenestrate themselves.
It’s weekly report time for me, and in this blog, I want to write about geeks and irrationality. I thought a bunch of seasoned software engineers would be a pretty rational crowd, but it doesn’t appear to be so. We are building a really complex system here at company X and in good old Cartesian fashion, I thought it would be efficient to decompose the system into modules and sub-modules, and test those separately. In 1637, Descartes was already engineering that way. His second precept in the Discourse on the Method is “to divide each of the difficulties under examination into as many parts as possible, and as might be necessary for its adequate solution.” Alas, my colleagues haven’t read the Discourse on the Method (probably too old), and they insist on putting the big, complex system together and then testing it with “real data”. They feel that testing is not worth doing if it doesn’t use “real data”. I agree with that, but I still want to decompose into modules, have clear specifications for the modules and write tests against those specifications. I’m concerned that if we throw everything and the kitchen sink into the System and then turn on the ignition key with “real data”, the System will simply not perform adequately, and we’ll have one giant Mess to dig into to figure out what is going on. I’m pretty sure we’ll be worth off if we can’t analyze our system in terms of simpler modules. Maybe there isn’t enough pressure on us software engineers to get it right the first time around. In other engineering disciplines, when building an Airbus for example, they can’t overlook their subsystems till it’s time to take off. Or maybe I should change my view of testing. For the components I write, I shall henceforth not test them but simply throw them into the System, and wait till the System flounders miserably. It’ll still be time to write specifications and to test then, right? In the meantime here is a law of software engineering:
Complex Software System + Real Data + No Analysis into Modules = One Giant Mess.
Friday, September 12, 2008
Culture of fear
Thursday, September 11, 2008
9/11
Such strange times. It’s 9/11 today. The country is at war, yet here in the Silicon Valley, you couldn’t notice it. Except that there are more defense related contracts, and that’s good for business, I guess. In fact, people are still very much into materialism. A new line of iPods was released on Wednesday. At the coffee shop next to the office this morning, I noticed so many iPhones. There was a geek, no doubt thinking he was so cool, who couldn’t help but touch the iPhone on his hip every now and then. While he was ordering his decadent triple-latte-no-foam-with-room-on-top, he caressed the precious jewel 3 times in 1 minute, I counted. Should this poor soul seek help for some form of an obsessive disorder? He is not alone, unfortunately, although usually, the severity of the disorder is less acute. At the office, almost everyone has now ditched their previous cell and bought an iPhone. What for? Me, I’m thinking about a $60/year pay as you go plan, no thrills included, no Internet, no text, nothing. I don’t use my cell, except for emergencies. I don’t care about the latest gadgets. The iPhone is definitely very cool, but I don’t need it. Or if I had one, I would spend too much time playing with it at first, then that would pass, and then I would start wondering why I spent so much money on the device. And I would have a hard time reconciling my behavior with what is going on in the rest of the world. Our world is so fractured. There is a lot of misery, yet here we bathe in materialism and nobody seems to care what is going on elsewhere. It feels so strange to me.
Wednesday, September 10, 2008
K-cups
Another day in the Silicon Valley... here we are, in the office of a computer science startup that shall stay anonymous. We just got a new coffee machine, actually, the n-th one in a series of new coffee machines, our office manager being under the influence of a coffee machine broker who desperately wants us to buy one of his devices. We keep sending the machines back, because they are usually not respectful of the environment enough, with all those little coffee bags or K-cups that you have to insert and then throw away each time you make a cup of coffee. There was a machine we all liked, that would grind the coffee beans on the spot instead of relying on wasteful little bags, but it was too expensive. Too bad, it was a programmable device, and some in the office had enough time on their hands to start hacking into it and commandeer it to produce unbelievably strong espressos.
Anyway, the latest machine we are trying out uses plastic “K-cups”, that you have to insert, and remove, yourself. That is... we have lots of very smart people at the company, and some have even figured out that they can insert the K-cup themselves, but let others remove it for them! I was particularly annoyed with that, so this morning I sent an email to the whole gang asking if they could please clean up after themselves. I sent that email around 9 am, and at 10 am, I was back at the coffee machine for another Colombian Black Gold Extra Bold, and lo and behold, a French Vanilla K-cup, used of course, was there in the machine! I tried again at 11 am, and another K-cup (still French Vanilla) was in there, used again! So, people just didn’t care about my email. My take on that trivial episode is that people don’t care about being polite, or that I have a different notion of what it means to be social and polite. Geeks are not known to be a polite kind, after all. In my darker moments, I interpret the incident to mean that some are taking advantage of the fact that we are not looking for fingerprints on those K-cups to express their darker side, Shadow as Jung would call it. I'm glad they are not repressed. Sigh. Whatever.