So it took one of my older friends to quit NetApp and join Facebook, for me to finally acknowledge that, well, maybe, I should create a Facebook page.
Author Archives: specialk
Math, Engineering and the field known as Computer Science
When I started my career many moons ago at SGI, I discovered that there was a set of really smart folks who viewed software development not as an engineering discipline but more akin to developing mathematics, or writing poetry.
There is a certain intellectual appeal to such a notion. If software, is indeed poetry, or beautiful, then that means that computer scientists are not merely engineers building devices using well defined rules, but we are artists creating something that has enduring value.
More to the point, it means that the software itself has intrinsic value beyond that of the particular product that it ships with.
So as software craftsmen, our job is not to merely satisfy the immediate customer requirements but to develop the perfect set of software that had enduring value that also happens to meet the customer requirements.
For some reason, this never really worked for me. At some point, software is good enough, not perfect, and we need to move on to the next problem.
What appeals to me about software development is the part where the end product is used by someone to solve a real problem. I want to engineer, which means to make tradeoffs, a solution that people want to buy.
I am not interested in understanding what can be developed within the constraints of computability.
And in many ways, I am beginning to think that the software as mathematics crowd tends to have a dim view of software as engineering, because they are not engineers and don’t see beauty in engineering.
Which puts me in a different camp from the software is beautiful camp. I am in the camp that views the pursuit of software beauty as an end unto itself, a waste of time.
Now lets be clear, it’s not that I think software can not be perfect or beautiful, I do. Nor does it mean that I think that there is no distinction between beautiful software and butt ugly software, I do. And thanks to the discipline that those great engineers instilled in me at SGI, I think I was actually able to approach beautiful code. It’s just unclear to me how the pursuit of this perfection got me any closer to my revenue goals.
I find beauty in products that exceed customer expectations, that are cheaper to develop than was expected and are easy to evolve at a low cost. I view the underlying software as a means to that end, but not the end in and of itself. And yes, I do understand that sometimes it’s elegant beautiful software that makes that possible.
I think the art of engineering is to understand where to invest your time and energy to get meaningful product differentiation and where to just live with problems. And I think it’s an art, because you never really know if you pulled it off until someone, somewhere opens their wallet and forks some money over to you because they want your product: not your software, your product.
Which brings me to the title of my blog. I think that there is a tension in computer science between engineering and mathematics. And I think that there is a a class of computer scientists who think of themselves as mathematicians building fundamental abstractions. And I also think that there is another class of computer scientists who think of themselves as engineers who try and deliver differentiated products that exceed customer demands with imperfect software.
And I think that between the two camps there can be no reconciliation.
My other work blog
You can find my other work blog here: http://blogs.netapp.com/extensible_netapp.
The quest for software perfection.
When I started my career as a software engineer at SGI in 1996, I had the privilege of working with a great engineer.
This engineer and I had very different perspectives on software. I viewed software as a means to an end. As a vehicle to deliver the features that the were asked of me. That the perfection of the software was immaterial, what was material was how fast you could deliver those features. In fact, sloppy, disorganized, poorly structured code was okay as long as it worked. What was material was the function not the form.
He, on the other hand, felt that software was like poetry. That it had its own intrinsic beauty and that its beauty was an end in and of itself.
That’s not to say that he did not care about the outcome and the product. He was always passionate about delivering value to customers. He just felt that the elegant, solution was always better than the quick solution.
Being young, and he being great, I was convinced that elegance was worth the price in time and effort.
I’m not sure I still agree with him.
My career is littered with software systems that are no longer in production. SGI’s kernel was EOL’ed last year. NetCache was sold off to Bluecoat. Most of the code I wrote for DFM has been re-written as more and different requirements came into existence.
And he would say that is natural and normal and a reflection of the natural process of things.
And I wonder.
Was it really worthwhile to strive to create the perfect solution given the market pressures? Would I have been better off to just get the job done in the most expedient way possible?
Ultimately, I think the answer boils down to an engineering tradeoff. The perfect solution makes sense if you understand the requirements and the requirements are stable. But if the requirements change, then your attempt to create perfection has to be balanced against expediency and need.
Although I can appreciate a beautiful piece of code, I somehow am more inspired by a system that is easily adapted. A systems whose core abstractions although imprecise are in the right general area and allow for substantial independent directions of innovation.
Let me try this differently.
I think it’s far more valuable to know what the core set of abstractions should be and their general properties than to specify them completely. Instead of trying to perfect them in isolation, one should expose them to the real world and then learn. And if the abstractions were correct, over time they will get precisely defined and perhaps at some point become perfect, as they no longer evolve.
But I suspect that I will have long since moved onto the next set of imperfect abstractions.
And in retrospect, that engineer always remarked that it’s much easier to replace an elegant easily understood solution than a complex, baroque, over or under-engineered hack that was expedient.
I’m moving to Texas
Last night, after the sessions at LISA ended, I decided to go out and eat some meat. After all I am in Texas.
It turns out the place I went to is within walking distance of my hotel, The Hyatt Regency, on 702 Ross street off of Market and is called Y. O. Ranch.
And yes the meat was fantastic.
But the reason I wanted to move to Texas is because there were 5 or 6 steak houses right next to each other! Literally one right next to another. Not fancy fluffy California fusion with mixed greens and arugula, but honest to God steakhouses! Places where the beef was beef and the meat was meat and the men were men.
This is a place, where buffalo meat is considered exotic!
When I told the waiter that I live in California, he smirked at me and asked if they actually serve meat in the state. I told him yes, but the steaks you buy are about 1/18th the size, and most of the time the waiter is explaining how the cow was a happy cow that lived a full and productive life when he’s not looking at you like a baby killer. I then told him about my challenges in trying to find a spit-rod for my roasted Lamb, and he had this perplexed expression on his face: why is finding a spit-rod so difficult to find? How do you roast pig?
So I am moving to Texas.
My wife pointed out that if I do move to Texas, i have to support Bush. But I pointed out that Texas was also the home of such fine upstanding politicians like Lyndon Johnson and Ann Richards. And after all I live in a state with a Governator!
Cheese Review: Kirkham’s Lancashire
From www.artisanalcheese.com:
Kirkham’s Lancashire perfectly epitomizes the “butter crumble” texture so characteristic of British cheeses. Mrs. Kirkham – the legendary Lancashire cheesemaker – rubs her beautiful, cloth-wrapped wheels of cow’s milk with her farmhouse butter, enriching the taste and protecting them from unwanted molds. Aged for 5 – 8 months, Lancashire has a delicate, lemony flavor and a long-lasting mellow tang.
The cheese snob says: Eh, nothing special. I paid 30 bucks for this? C.
The casual cheese eater: I liked last months better. C
Cheese Review: Pecorino Sisciliano
The cheese snob says: A fine somewhat crumbly version of the more traditional Pecorino. A modest B.
The casual cheater says: Nope. Did not like.
Cheese Review: Camembert Hudson Valley
From www.artisanalcheese.com:
The Old Chatham Shepherding Company’s Hudson Valley Camembert is a creamy, soft-ripened square made from the milk of Old Chatham’s herd of 100 East Fresian sheep combined with hormone-free cow’s milk from a neighbor’s farm.
The cheese snob says: Camembert is a delightful cheese in general, although somewhat generic these days thanks to mass production. Nonetheless, when I tried this cheese I was reminded that there is a difference between something that is well done, and something that is mass produced. B+
The casual cheese eater says: Not a big fan of camembert in general, but this was pretty good B.
Save Raw Milk — Oppose AB1735
The California state government, bowing to the pressures of the large agribusinesses that do most of the farming, have chosen to ban the sale of raw unpasteurized milk. Of course, an outright ban would have been too obvious, so instead they made the requirements to ship so onerous, that the small farmers that sold the milk will no longer be able to sell it.
This is an outrageous, unacceptable, overreach by a state legislature to kill a segment of the farming community to serve it’s political paymasters in the large agribusiness under the tattered fig leaf of concern for the health of Californians.
If you care about the right of individuals to buy products that are safe then please go to this website:
And follow the instructions to protest this recent law.
As if we don’t have more important matters to worry about.
Sharks win, finally!
In 1984, a goaltender named Steve Penny, created my life long lover affair with the game of hockey. His, surreal, goaltending lead a mediocre team to the Conference championships where they lost to a much better Islanders team. In 1986, he would be gone from Montreal driven out by an even greater hockey legend Patrick Roy. However, the damage, as they say, was done.
Even though I left Montreal for good in 1987, I remain a Montreal Canadiens fan. I will never forget Patrick Roy’s performance in 1993, when thanks to his goaltending, the Habs won 11 straight over-time games.
After moving to San Jose in 1996, I couldn’t embrace the Sharks because it felt like a betrayal.
11 years later, I can freely admit, that I am a Sharks fan (although if the Habs and the Sharks are playing for the Stanley Cup, I think I am still going to wear my Habs jersey, and party with the folks in San Jose if they win). And after watching them lose the first three games I saw at the HP Pavilion, it was nice to see them win …
Go Sharks Go!