Archive for the 'personal' Category

Good Editors are Pure Gold

Friday, October 20th, 2006

I’m happy to have a writing project for O’Reilly finally go to production yesterday. Earlier this year I was asked to write a Short Cut about RSS 2.0, and it turned out to be a fun assignment.

O'Reilly Store - Short CutsWhat made it especially nice was having some great editors along the way. Tara McGoldrick (no longer at O’Reilly) worked with me most of the way, and she was a great encouragement throughout. James Snell was kind enough to do the technical review. When Tara left O’Reilly, my project bounced around briefly and then landed on the desk of Simon St. Laurent. Simon took the project on the final lap and sent it to production, doing his own technical review in the process.

The old adage rings true:

“We are like dwarfs on the shoulders of giants, so that we can see more than they, and things at a greater distance, not by virtue of any sharpness on sight on our part, or any physical distinction, but because we are carried high and raised up by their giant size.” - Bernard of Chartres

Thanks to the giants for their help with the project. (I’ll announce the title and give a link when it is available.)

Memorial Bench

Friday, October 13th, 2006

A big thanks to the Westhaven Fire Department for taking the time to commemorate my brother’s service to their community.

Jim was proud to be a firefighter, and I’m sure there isn’t a day that goes by where he doesn’t wish he was out there on the job. It has been 7 years since he was injured, but the fire department has never wavered in their love and support for our family.

Memorial Bench

To Compile or Not to Compile

Monday, August 21st, 2006

A discussion I overheard recently got me thinking about compilers. (Wait, don’t fall asleep!)

A software developer complained that a Java 1.5 metadata annotation was preventing him from compiling a class. In this particular case, the @Overrides annotation was choking because the superclass no longer had a method to override. The suggestion was made that the developer simply delete the annotation, compile the class, and continue with his work.

(Nobody suggested the hard work that needed to be done: Get the older version of the superclass and find why the method was removed/renamed in the new version. Analyze whether the functionality in the subclass is still necessary and needs to be called from somewhere else in the stack…)

Yes, deleting the annotation would be so much easier.

We all hear the joke, “It compiled, so check it in!” It is a joke…. right? Compiling isn’t supposed to be the goal of software development, is it?

Charles Hummel once wrote, “The urgent is the enemy of the important.” The urgency of a deadline tempts all programmers to “just make it work.” That’s an unfortunate reality of software development that can’t always be avoided. But when the decision to “just make it work” becomes the rule rather than the exception, we’re in trouble.

To state the obvious, I’m coining this phrase:

The Compiler Axiom
Code that won’t compile is not my enemy.
Bad code that will compile is my enemy.

Most software developers will agree with this in principle, I suspect. After 11 years in software development, however, I don’t often see them actually take it to heart. More often than not, the shortcuts I see people take are less rational and more rationalization.

Here’s a reality-check list to see if you don’t really believe The Compiler Axiom:

  • I have set my editor to suppress compiler warnings so I don’t have to ever see them
  • I habitually ignore exceptions that aren’t part of what I am directly working on
  • I have commented out code I didn’t like or didn’t understand without researching its purpose or contacting the author
  • I have recreated a class/library/application rather than figure out an existing one

If you answered “yes” to any of the above, perhaps it is time to re-evaluate why you write software. Is your goal to compile/source control/ship code, or is it to deliver something that meets requirements and works as designed?

Ironically, if you have answered “yes” to anything on the checklist (as I have), another developer may someday have to deal with your code and decide whether to ignore exceptions, comment out code they don’t understand… or simply replace it altogether.

Bloglines Borkage

Thursday, July 27th, 2006

Not This BorkI got a note from a reader who noted the inkBlots feed as viewed in Bloglines is “borked.” I haven’t changed anything on my site, so I’m guessing it might be some double encoding mischief via FeedBurner. I’ve disabled FeedBurner’s SmartFeed and forced a re-sync.

I checked using my (rather dusty) Bloglines account, and everything looks peachy. If anybody using Bloglines is still seeing badness after this post, please drop me an email or comment here. Thanks!

Completely Messing the Point

Thursday, July 6th, 2006

I dropped in a minor site redesign today. (RSS readers: Hey look, there’s a website behind that feed!) Changes include:

- New logo
- Changed tagline from “Feeding a Syndication Nation” to “Messing the Point Completely”
- Minor layout and color changes to improve readability
- Now using Google site search — I like their results better than WordPress
- Improved comment form layout, finally

Regarding the tagline change… I still plan on covering the usual topics, but I wanted to give myself a little more wiggle room on what makes the “front page.”

If you find anything broken, please let me know. And just to head it off ahead of time: Yes, the tagline is supposed to say “messing,” not “missing.” Its called irony. Or sarcasm. Or a play on words? Regardless, it is on purpose.