Software Developers who need to be kicked in the balls

The following software developers need a good swift kick in the balls:

  • People who can’t let a boolean stand alone, and have to compare it to another boolean, as in "if (isOffline() == true)“. Why not be extra safe, and make that “if ((isOffline() == true) == true)“?
  • People who don’t realize that after you’ve modified a value in a Map, you don’t need to re-add it back to the Map to have it take effect. “get” returns a pointer to the original object, not a clone of it.
  • Eclipse (or maybe Visual Age) users who leave the code littered with comments that say “ * TODO To change the template for this generated file go to Window - Preferences - Java - Code Generation - Code and Comments" or Insert method description. Either configure the template, or turn off automatically generated comments.
  • Anybody who declares a method to throw “Exception”, and anybody who calls methods that have explicit lists of what they throw, but who surround it with a “catch (Throwable t)” block. I don’t care if all you’re going to do is print the stack trace and continue, there’s no excuse for that sort of laziness.
  • Anybody who changes huge swathes of somebody else’s code without asking the original developer if there is a better way. Especially if it’s code I wrote just a few weeks ago.
  • People who use ‘do {…} while(cond);” People who use “if (cond == true) do { … } while (cond == true);” need to be kicked repeatedly.
  • The entire staff of my company’s China office.

It’s HERE!

Vicki called me this morning to say she’d just signed for the laptop. Which surprised me, because as of this morning the FedEx site was still saying “Expected delivery 11 March before 11am”. I managed to contain myself and work until 4pm instead of heading for home immediately.

I tried installing the RAM first, but that caused it to go “BEEP BEEP BEEP pause BEEP BEEP BEEP pause…” I figured either I’d seated it wrong or it wasn’t as compatible as the Kingston RAM chooser said. So I put back the factory RAM and started it up. I used the “suck all your data and apps off the other machine” target mode thingy, and it was up and running in an hour or so. Then I installed the new RAM and this time it worked. Then I started a Time Machine backup.

I tried a few apps to make sure they worked (iPhoto is a newer version than the one I had before, and it looks pretty good. Photoshop still works. MacStumbler exits immediately. iTunes works, and this time I remembered to de-authorize my old computer before I wiped it.) Then I wiped my old computer and reinstalled Leopard on it.

While various things were going on, I actually watched an episode of Torchwood without it turning into a slide show or skipping bits . In the past, I’ve always had to stop everything, including Time Machine, or it would be terrible.

After the Time Machine backup finished in a mere 3 hours (instead of the 8 that a similar full backup took on my old computer), I closed the lid and installed the iTopper skin. It looks awesome and I’m going to have to take some pictures and write a full review. It wasn’t easy to install – I think I did something wrong with the soapy water mister and things stuck hard without me being able to slide things around, and it was really hard to get the top sheet off. I also think I didn’t get all the bubbles out in the end because of that, but it’s so light coloured that I can’t even see them so much as feel them.

Anyway, it’s a thing of beauty, and a joy for at least another 3 or 4 years.