Rules are made to be broken

If you develop Web applications, you should definitely check out this presentation from Randy Shoup and Dan Pritchett on how eBay scales, not because you should do things the eBay way, but rather because it is a great illustration of how there’s an exception to every rule. When you deal with the traffic and transaction volume that eBay does, the rules that we all play by change radically. For most applications, performance problems arise when your Web pages execute too many SQL statements, and the solution is to sufficiently index your database and use joins wherever possible rather than running additional queries. For example, one common misuse of object-relational mapping libraries results in the “n + 1 selects” problem. When many instances of an object are displayed on one page, the library runs separate queries to retrieve dependent objects, which leads to performance problems. Any decent ORM library has a way to include dependencies in queries for that reason. While most developers spend lots of times trying to retrieve more data using fewer queries, eBay eschews joins. I’d assume they compensate with a lot of caching, but I’d love to hear more of the details. ...

December 18, 2006

Software development in one sentence

Paul Kedrosky picks up an interesting challenge: Physicist Richard Feynman once said that if all knowledge about physics was about to expire the one sentence he would tell the future is that “Everything is made of atoms”. What one sentence would you tell the future about your own area, whether it’s entrepreneurship, hedge funds, venture capital, or something else? Examples: An economist might say that “People respond to incentives”. I had an engineering professor years ago who said all of that field could be reduced to “F=MA and you can’t push on a rope”. ...

December 18, 2006

An Inconvenient Truth

I finally got around to watching Al Gore’s An Inconvenient Truth last night. I hadn’t been in a big hurry to see it, because I already understood how global warming works (thanks to an excellent National Geographic article from awhile back). I even thought I was pretty decent at explaining it to people. Now that I have watched it, I’m very glad I did so. Gore lays out the argument powerfully and effectively, and needless to say, he has plenty of visual documentation of what’s going on that’s not available to most of us. I thought the movie itself was well done, and was about as entertaining as a movie about a guy giving a slide show could be. ...

December 17, 2006

Too much mail

You know what happens when you never empty your trash? You wind up with 211,000 email messages in your trash folder and your mail server freaks out. (Most of the 211,000 are, of course, trashed spam.) If you have too much mail in your folder, you run into the following: $ rm * -bash: /bin/rm: Argument list too long The solution is to use find like this: $find . -type f | xargs rm ...

December 15, 2006

Why more troops in Iraq?

It’s looking more and more like President Bush is going to order thousands of more troops to go to Iraq to do the same stuff the US troops in Iraq right now are doing. They’ll be patrolling Baghdad, training Iraqi troops, patrolling Anbar province, and so forth. As Josh Marshall notes this morning, neither the Iraqi government nor the US military seem to want the extra troops, so why is President Bush considering this course? I think it all comes down to psychology. ...

December 15, 2006

My current thinking on Iraq, part 2

So currently we have President Bush ruminating over the findings of the Iraq Study Group, and waiting for several other reports from within the administration that will probably be more to his taste. In the meantime, most everyone else in Washington, DC is using the ISG report as cover to criticize the handling of the war, just as they used the report of the 9/11 Commission as cover to criticize the so-called War on Terror. (A term Donald Rumsfeld himself has now rejected.) The plan that’s coming into vogue, which is being put forth by the Pentagon, John McCain, Silvestre Reyes (the incoming chair of the House intelligence committee), and others, is to send even more troops to Iraq and start a fight with Shiite troublemaker Moqtada al-Sadr. All of these plans and recommendations are a sideshow. ...

December 13, 2006

Marketing versus simplicity

I’ve been thinking about the conflict between marketing and developers for some time, and then yesterday, I read an article by Don Norman about the death of simplicity that goes right to my point. Here’s a snippet: It appears that marketing won the day. And I suspect marketing was right. Would you pay more money for a washing machine with less controls? In the abstract, maybe. At the store? Probably not. ...

December 12, 2006

Strange confluence

Read this and then read this.

December 12, 2006

Trying to make use of Google Spreadsheets

I am on a mailing list with some friends from college, and a year or two ago, someone finally got up the gumption to make a list of everyone’s addresses, anniversaries, birthdays, kids’ names, and so forth. That list took the form of an Excel spreadsheet, which gets emailed around periodically and updated sporadically. Whenever someone needs an address or other information, they generally send an email to the list and someone else coughs up the spreadsheet. It’s an imperfect system. ...

December 10, 2006

Gmail versus Thunderbird's Bayesian filter

Google has finally enabled Gmail to fetch mail from other accounts. I use Gmail for a lot of my email, but if you send mail to some of my addresses, it still goes to my own server, and I download it with Thunderbird. Unfortunately, the accounts on that server get about 1000 spam messages a day. About 2/3 of them are filtered on the server by amavis. The rest make it into my inbox, where the Bayesian filter in Thunderbird tries to handle them. Sadly, it fails. ...

December 9, 2006