Man, I absolutely love Joel on Software. I'm a huge fan of the idea that software development is a giant art project right now and could use a great deal of cleaning up to create a true science. I think Joel's ideas are some of the best ways of making this happen.


Tuesday morning quarterback has returned, and is in fine form. This is a relief to all football watchers everywhere. According to the commentary on this page, the tastefully named Gregg Easterbrook was let go by ESPN for his commentary about the movie Kill Bill and that he implied that Jewish executives (specifically Michael Eisner and Harvey Weinstein) were only out for money. While this is, as we like to say in my company, a career limiting move, I did not find the comment particularly offensive. Here's what he wrote:

Set aside what it says about Hollywood that today even Disney thinks what the public needs is ever-more-graphic depictions of killing the innocent as cool amusement. Disney's CEO, Michael Eisner, is Jewish; the chief of Miramax, Harvey Weinstein, is Jewish. Yes, there are plenty of Christian and other Hollywood executives who worship money above all else, promoting for profit the adulation of violence. Does that make it right for Jewish executives to worship money above all else, by promoting for profit the adulation of violence? Recent European history alone ought to cause Jewish executives to experience second thoughts about glorifying the killing of the helpless as a fun lifestyle choice. But history is hardly the only concern. Films made in Hollywood are now shown all over the world, to audiences that may not understand the dialogue or even look at the subtitles, but can't possibly miss the message--now Disney's message--that hearing the screams of the innocent is a really fun way to express yourself.

And the apology. While i think the apology was fairly self-serving rather than genuine, he did offer an apology. That said having an apology is no reason not to be fired! ESPN can fire anyone for any reason without any cause whatsoever. It's called being employed at will, and we're all victim. I could be fired right now for having a blog at all. That's the price for free speech. I cannot be arrested, but I can be ignored.

To the comment itself, I almost have nothing to say (obviously almost since I'm taking up your screen real estate right now). I saw the movie and I thought, while violent, it was so absurd that it just did not seem real. It's almost like bemoaning Monty Python and the Holy Grail for the scene with the black knight where he gets his arms and legs chopped off, or Mr. Bill on SNL. I do not particularly think this leads to the overall death of civility in our society or corruption of minds around the world. But to Mr. Easterbrook's point, I do think it is hypocritical to practice a religion (any religion) and forward a set of thoughts that are counter to that religion. That said, we are all hypocritical. Every one of us. Me. You. Yes you reading this blog right now. The only question is are we willing to live with the level of hypocracy that we practice in our lives and own up to it when confronted with it. I can only assume that Mr. Eisner and Mr. Weinstein have made this calculation.

While I'm sticking my foot squarely in my mouth, I'd like to say, I rarely find anything offensive, and have not been seriously offended by any of the following people/quotes in recent history:

John Rocker: Imagine having to take the 7 train to [Shea Stadium] looking like you're [in] Beirut next to some kid with purple hair, next to some queer with AIDS, right next to some dude who got out of jail for the fourth time, right next to some 20-year-old mom with four kids. It's depressing. [...] The biggest thing I don't like about New York are the foreigners. You can walk an entire block in Times Square and not hear anybody speaking English. Asians and Koreans and Vietnamese and Indians and Russians and Spanish people and everything up there. How the hell did they get in this country?

Comment: Barring the slur, which i do find offensive, and the jingoism, this is actually a true statement. I was living in NYC at the time of this comment, and yes, this is exactly what you would see. I, on the other hand, found it to be an amazing experience... where else in the world do you get that kind of diversity at every street corner?

Rush Limbaugh: "[McNabb is] overrated ... what we have here is a little social concern in the NFL. The media has been very desirous that a black quarterback can do well—black coaches and black quarterbacks doing well... There's a little hope invested in McNabb, and he got a lot of credit for the performance of his team that he didn't deserve. The defense carried this team."

Comment: As my brother, huge football fan and generally very nice guy was quick to point out, Limbaugh compared McNabb to Brad Johnson, who is also very good (though underrated). Whether or not McNabb is overrated is a bit of an opinion... overrated by whom? by how much? compared to? I don't think the opinion was that well founded, but it was just an opinion. Yet was this racist? It is simply an analysis of his opinion of the coverage of the fact that Philly has a black QB. It may be wrong, but it’s just an analysis.

Kellen Winslow: “It’s war,” Winslow said. “They’re out there to kill you, so I’m out there to kill them. We don’t care about anybody but this U. They’re going after my legs. I’m going to come right back at them. I’m a ... soldier.”

Comment: I just don't care about this. People can go through life however they would like. This doesn't sound like the most pleasant way to make your time on this mortal coil, but that's not my job to dictate how people should live. I'm not sure if anyone has actually watched a game of football out there, but this is a pretty accurate statement. Yet to hear the uproar around this, you would think that he insulted the memory of the hundreds of thousands of veterans who died for this country. It's absurd.

I only comment on these quotes because I'm always so amazed at how much people blow up quotes into their own story, rather than looking at what was actually said. Though I'm not (or shouldn't be) in the business of giving advice, I encourage people everywhere to read what's actually written (or listen to what's actually said) rather than reading their own version of the truth into everything.


So it turns out I am a release manager on a product. A product I can't talk about right now, but a product nonetheless. I've been extremely fascinated with the entire process so far and I highly recommend it to anyone who is a fan of software development. But the process has also been a bit bittersweet as well. I have been such a long time fan of elegant user interfaces that when I moved over to my own product, I envisioned creating a product that not only felt exactly what good user interfaces should feel like, but really strived to think about what the user would do NEXT and work to deliver that as well.

However, now that I'm mired in the process of shipping a product, I find it amazing that the challenge in doing this seemingly straightforward task is enormous. I'm not sure if this is a software only thing, but the permutations of what can actually be done in any given situation is absurd! Let's use an example not from my product. Let's say you were responsible for handling the security features of writing to a folder. This seems to be straight forward, you allow people to set the security of the folder and you're done. You could even envision a very elegant way of showing people what the security was and allowing people with the correct permission to change it. Perhaps you would change the context sensitive menu such that you would only display the functionality that people actually COULD do would be displayed on the menu. That'd be pretty nice.

Unfortunately, then it comes to the implementation. What happens when someone is writing the file and you right click on it? What happens if another application changes the permissions once you've already right clicked? What happens when the file disappears by another process? What happens if the user is an administrator, but only running as a standard user just for security reasons? Suffice it to say it becomes an endless morass of complexity. And even the majority of this complexity can be addressable, but once you're done coding it, you have to test it. Imagine trying to test every possible scenario of these things occuring... it boggles the mind. So suffice it to say you can do this, but almost never within the time frame of shipping.

We've all heard of that old axiom pick two: fast, cheap or good. The additional component to throw in there when you're shipping software is flexible. Because every ounce of flexibility added ends up costing so much on the back end. This is one of the reasons the Mac was so successful for so long. By limiting the flexibility, they were able to maximize the user experience. That's not to say my product won't deliver a great user interface or be flexible... just that it certainly won't be as "good" as it could be because we want to ship "fast" and we want it to be "cheap". However, there should come a time when flexibility really does sacrifice at the altar of respecting the user. In a lot of ways, I'd love to see a real revival of this kind of thinking.


Wouldn't you know it... I think about something to blog about and someone comes along and mentions the exact same thing.

Here's a couple of very interesting points from a recent review of Panther (the current OS release from Apple):

Efficiency v. User Experience -- Almost no more need be said than this quote: This whole situation — polling vs. responsiveness — is somewhat indicative of what I have always viewed as a problem with the direction of Mac OS X's development. Granted, polling is bad, but its existence in classic Mac OS was indicative of a value system that put the user experience first. "What is the best possible user experience?" is the primary question, only then followed by "How can we make that happen?" In Mac OS X, it seems to me that the first priority has been to do what is most efficient, and then try to provided the best user interface that can feasibly be implemented on top of that foundation. The shoe is on the wrong foot in such a system.

Safari's UI -- My favorite bit here is this quote: "Also notice the combination stop/reload button, because why have two separate buttons for functions that are mutually exclusive?" ... so very true.


Well, I'm officially an adult. Can you believe it? I bought and have installed my first non-Ikea table and chairs. There's something fairly disturbing about the prospect. For those who are interested ....

The "Pleasure" of Being Stuck In Traffic

While driving to work, I have the "pleasure" of being stuck in traffic. This happens almost no matter when I come into work, be it 6:30 or 9:30 AM. I suppose this is not entirely unexpected; even though our fair city no longer is among the worst ten in the nation, it's still up there. This "pleasure" does give me time to think... and more often than not, I think about the nature of traffic.

I actually admire the job of a city planner quite a bit. There are so many things to think about: zoning, commercial development, how far people want to drive and so on. The problem of traffic is an extremely complex one. You want the roads to be effective at getting people from place to place, but you also want them to be fairly transparent. I think though, that city planners are frequently the cause of more traffic than they realize. Many times it will be because a stadium or some large structure is constructed in a not very freeway convenient place, and then the surface streets back up with unplanned for traffic and there you go. It doesn't even have to be an event; it could just be the every day commute. City planners almost never seem to be able to restrict development to the places to which development should be restricted and, as a result, big developments are created in locations that cannot handle the traffic.

However, this is only a small problem when it comes to the overall nature of traffic. My theory is that the majority of traffic is caused by bad drivers (of whom I am most certainly one). Look at Formula 1 race drivers or NASCAR. These drivers easily drive as close as the cars any traffic jam, yet they're able to travel at hundreds of miles an hour! While the quality of the cars and the nature of the track help, the majority of it is because they are GOOD drivers who have nothing else to do but drive. The problem with the standard commuter is that they do other things. Check the radio. Look at the view. Get uncomfortable when they're following the person in front of them too close. Get uncomfortable when it rains. Have something catch the corner of their eye. Take my average commute: I drive about thirty minutes a day, and in the middle of the commute, I cross across a bridge for a mile or so in the middle of Lake Washington. In the middle of the bridge, on a clear day, you can see Mount Rainer. When you can see it, it's a gorgeous sight (for those of you running Windows XP, I encourage you to look at the "Ascent" desktop picture... yep, that's Rainer and it really does look that good from the bridge on a good day). So you're cruising along at 60 miles an hour, and what happens? You see a gorgeous sight out the corner of your eye. And what do you do reflexively? Lighten your foot off the accelerator just a bit. This causes the person behind you to lighten their foot, and then the person behind them to get a little uncomfortable that they are getting to close and so on until you have traffic. That's all it took! One person slightly reacting to something and traffic precipitates out of the mix. Normally, the roads could handle this kind of slight variation, but when cars are packed closely together, traffic is the result.

This is how subtle the problem of traffic is. And because you certainly cannot legislate against or even identify the person who took their foot off the gas that early in the morning, it's impossible to get that variability out of the equation. One more reason that we need automatic drive cars that stay at constant speed no matter what appears in our periphery. That, or sending everyone to the Jeff Gordon school of driving.


Well, spent today doing what all home owners do on the weekend. Going to Costco and buying lots of stuff. Allow me to acquaint you with my new found philosophy for buying things at Costco, of which I was not aware until recently. If you haven't purchased the item OUTSIDE of Costco, and used it to completion, then don't buy it at Costco. Really, the idea is pretty simple. For example, I have purchased many roles of toilet paper in my life, and I do end up using the entire package. Ergo, this may be a Costco purchase. I have also purchased a number of viles of vanilla in my life, but I have never once used the entire vile to completion. THIS IS NOT A PURCHASE TO BE MADE AT COSTCO.

The big problem with Costco isn't that you actually save money there by buying lots of goods, the problem is that you only save money there if you actually USE the goods. $20 for 15 lbs of nutmeg is a great deal, but if you've never even used a tbsp of nutmeg in your entire life, that's basically a waste of money.

I have many other theories about buying in bulk, let's sum this one up by saying, Costco is not a supermarket. It’s a wholesale goods seller. Never tried something before? Supermarket. Need something for one recipe? Supermarket. Worried you’ll run out of something within the next three months? Large purchase at supermarket. I use this every day/week/month and I’ll use it every day/week/month for the rest of my life? Costco.

Except for books and clothes. Those you can get there any time you want.


I decided to do some work from home today, as at my place of work the Halloween activities inevitably result in hours upon hours of Halloween traffic in the afternoon. Normally while I'm driving into work, I like to listen to either mentally stimulating (NPR) or funny (Howard Stern - The Howard Stern Radio Show). Either way, it's a little break and it lets me get my mind into what's going on in the world. At home, I thought I'd indulge in the same, but I was displeased to discover that my concrete and steel building provides absolutely no reception. You'd think you spend money to get near the top of a building, and what do you get... a whole lot of nothing.

But have no fear, I'm a geek. Certainly, _I_ of all people can jury rig some solution together using this wonderful thing called the "Internet". Alas, I failed miserably. By the time I found anything even remotely similar to live simulcast, all my morning programs were over. My question is, outside of the few public radio stations out there doing this, why wouldn't all the major radio stations broadcast over the web?

I once got into a heated discussion (READ: big argument) that TV stations would get no benefit by providing their television streams over the net. My point was they'd be reaching audiences that couldn't watch them through the normal methods (i.e. those in bad reception areas)... the counter was that it would basically be pure cannibalization of their existing market and would add no additional viewers (therefore increasing cost per viewer). A lot of this seems like it comes down to the ATM argument where until one bank had ATMs, it seemed like a big cost increase, but when one started getting them, it was game over. Everyone had to had them otherwise, you'd be the bank that didn't have ATMs and people would laugh at you.

Someday I hope that's where television is. But today, that's where radio _should_ be. Radio is so low bandwidth, plus there are many places that it's just not convenient to bring an actual radio (though you may have a computer) and internet radio is reception independent... it seems like a no brainer. But no, it's massively difficult. I'm sure a non-zero part of this is the insanity that the RIAA make all internet broadcasters go through for licensing. I'm sorry, but charging someone differently for your radio stream that goes over the airwaves vs. one that goes through ethernet seems impossibly stupid. But that's just me.

Net of the story: I lived the morning in silence. Well, really, relative silence, considering I had my favorite internet broadcaster to which to listen (Digitally Imported). :)


Got back from the company meeting today. Yes that company. Yes I work for the man. Yes, I know I'm a complete sell out. That said...

It's definitely a fascinating experience working there. There are a ton of very smart people, which I always find remarkable, mostly because I consider the vast majority of people not very smart. That's not to say they're not very interesting and great people, I just don't think that they're smart. Just like I would say that I'm probably not the best looking guy in the world. I think that people just need to face who they are. Back to the original point, I've always been fascinated by any collection of smart people in one place, just because it’s such a rarity. It’s like that Chris Rock bit… when’s the last time you saw two Indians together. It’s like seeing a snow flake. That’s not to say the place is perfect, or there aren’t any number of people who work there who could use a good boot to the noggin’, but as the general populace goes, I’d say it’s above average.

The meeting really made me realize the banality of running a company. Here you have one of the smartest and most passionate companies in the world and you still have to gather everyone together in a room (or in this case a stadium) and rah-rah everyone into doing the work that they’re getting paid to do anyway. It was undoubtedly inspirational, and it was a nice insight into what the executives are thinking, but all in all, still a little bit weird. I do love the product demos though... :)