There, but for the grace of God (and the experiences of Java) go I

At the patterns&practices Summit in Redmond, I was on a webcasted panel, "Open Source in the Enterprise", moderated by Scott Hanselman and included myself, Rocky Lhotka, and Chris Sells as panelists. Part of the discussion came around to building abstraction layers, though, and one thing that deeply worried and disappointed me was the reaction of the other panelists when I tried to warn them of the dangers of over-abstracting APIs. You see, we got onto this subject because Scott had mentioned that Corillian (his company) had built an abstraction layer on top of the open-source logging package, log4net.

Watching a friend's career die a short, horrific, painful death

Normally, I don't go for the chain-email thing, but recently someone who claims to be a friend of mine sent me this email: The first episode of my Millahseconds weekly geek comedy podcast has been published. Details are here And you can download/subscribe here. Best Regards, Mark Miller Now, as I say, I normally don't go in for this sort of shameless self-promotion (at least, on the part of other people, anyway), but his email contained one segment that made me rethink my position: IMPORTANT: To help promote this, Ive employed the services of a crazy old voodoo gypsy woman named Moombassa.

A little knowledge is a dangerous thing

Five easy steps to thinking you understand a subject well enough to write on it: Read an article that poorly describes the subject, such as the article at, particularly when it ascribes to a few of the popular myths (such as "Why not tell the garbage collector what and when to collect", or the advice that calling System.gc() is anything but a waste of your time or an unnecessary hindrance to the GC itself).

JAOO? Ja, I O-O too!

For two years now, I've been trying to come up with a good English pun on the name of the JAOO (apparently, officially pronounced "[DJA-OU]"), and that's the best I could come up with. Fortunately, the quality of the show isn't dependent on my puny punability. Once again, the JAOO folks deserve a peerage. The venue was great (not often do I get to perform on a concert hall stage), the speaker selection was diverse and entertaining (not often do I get to see two people I deeply respect, in this case Glenn Vanderburg and Ian Griffiths, go at each other--respectfully--over the benefits and/or drawbacks of a technology, in this case, the Seaside web framework), and the opportunity to "hang" with those speakers (which is always the principal draw for me) was first-rate.

Where've you been, Ted?

Some of the blog readers have emailed me asking about the long silence; a few have even asked if I was injured by one of the flying rotten tomatoes that came with the Vietnam post. No, I've just been traveling a lot, doing a bunch of conferences, with more coming up, like JAOO and DevReach (a new show that's opening in Sofia, Bulgaria, and one that I'm really looking forward to).

Thoughts on Vietnam commentary

Numerous folks have taken me to task (some here in comments, some through private email, some through still other channels) over the last blog post; rather than try to respond to all individually, I figured it makes more sense to address the more salient points here: "How dare you use the Vietnam War as an analogy for something so trivial as object/relational mapping?" First of all, let's make a few facts clear.

The Vietnam of Computer Science

(Two years ago, at Microsoft’s TechEd in San Diego, I was involved in a conversation at an after-conference event with Harry Pierson and Clemens Vasters, and as is typical when the three of us get together, architectural topics were at the forefront of our discussions. An crowd gathered around us, and it turned into an impromptu birds-of-a-feather session. The subject of object/relational mapping technologies came up, and it was there and then that I first coined the phrase, “Object/relational mapping is the Vietnam of Computer Science”.

"Pragmatic Architecture" TechEd Webcast now up

Cathi Gero’s and my session from TechEd, “Pragmatic Architecture”, is now available as a webcast for your viewing and listening pleasure. We had a few issues with the audio, which got us started late, but overall the general feedback was positive. Enjoy…

Can the CLR "go dynamic"? Absolutely... and arguably, already is

Larry O’Brien asks Are you confident that continuations can be even semi-efficiently implemented on the CLR? I’m not.and in turn references his blog, where he points out a quote from Patrick Logan that says “If Microsoft really looks at Ruby as competition then Microsoft has already lost the war” and offers this: If Microsoft thinks Ruby is important, they’re ignoring the threat to them posed by X (where, I suspect, X = LISP), or If Microsoft thinks Ruby is competition, they will not implement it and therefore be doomed Not long ago, Microsoft posted a job opening for a developer “first task will be to drive the exploration of other dynamic languages such as Ruby and JavaScript on the CLR”, so my feeling is that if Microsoft could get a Ruby on the CLR, they’d be thrilled.