• Back From Baja

    We’ve just returned from our getaway to Baja and California. Brief, self-explanitory electrocolorogram highlights here.

  • On Brooks

    I’ve written this same basic argument for small teams three or four times now, so to comply with the Don’t Repeat Yourself (DRY) principle I though I’d post it. In short, this argument repeats Brooks’ Mythical Man-Month concept 🙂 , and asserts that you must restructure the communications dynamics of a team when it changes…

  • Avoiding if(DEBUG_ON)

    Consider the following Java code.. public class Counter { private final static boolean DEBUG_ON = false; protected int mCount = 0; public int getCount() { return mCount; } public void increment() { if(DEBUG_ON) { System.out.println(“about to increment! count=” + getCount()); } mCount++; } } } Some people use “debug” or “test” flags because they can…

  • Zen And The Art of Software Design

    As you sit on a bench with a hot cup of jasmine tea in the middle of the Japanese Tea Garden in San Francisco Park, you can’t help but be overwhelmed by the tranquil beauty of the garden that surrounds you from every direction. It’s a great way to spend an afternoon. I arrived at…

  • E-Prime For Software Engineers

    I recently restarted reading Quantum Psychology by Robert Anton Wilson. (Not the easiest read. If you put it down for to long you may have to start over.) The most practical thing I’ve gotten from it thus far is the usefulness of E-Prime. You may already use it and not realize it. To attempt to…

  • Java Development w/The Eclipse IDE: Five Underused Features

    Conditional Breakpoints Have you ever wanted to suspend execution only under a certain circumstance while debugging, such as every hundredth loop iteration? You can. Set your breakpoint, right-click it, select “Properties”, check “Enable Condition” and enter a condition in normal Java code that will be evaluated every time the breakpoint is hit to determine whether…

  • If A Unit Test Fails In The Woods, Does It Make A Sound?

    No, it doesn’t. Unit tests that execute a large amount of code but fail to make assertions along the way give you a false sense of confidence in the code. They pass when they should fail. These problems, formally known as type 2 errors, are a huge liability for a development team because the tests…

  • iClock: How To Get The Time.. Apple Style

    What the heck do you do with an unsightly Hershey’s Kiss shaped Apple Airport? Turn it into a clock! The RJ-45 and power ports have been relocated as dongles on the back of the unit to make room for the clock battery. The mechanical clock hardware is inside the base station.

  • Square Foot Garden Beds

    I built a couple of square foot garden beds this weekend. The frame is made of redwood 2x2s, and the sides are redwoord planks normally used for fenching. The bottom of the bed is a thick sheet of plywood with holes drilled through it for drainage. The diagonal supporting pieces connecting the load bearing trusses…

  • Ant Rant

    I’ve come to loath ant. XML is great for a lot of things, but is simply painful for expressing control flow. Now don’t get me wrong, it’s still easier to work with than make; you can use any XML editor or a web-browser to validate the well-formedness of an ant build file. It’s just that…

Got any book recommendations?