You can never be too rich, too thin, or have too much screen real-estate

Below the cut is a highly illegal picture of my 17″ Powerbook G4 (1440×900 screen resolution) at work, connected up to my 24″ SGI/Sony GDM-90W11 CRT monitor (1600×1200 screen resolution), with the big screen being used for Eclipse, and the small screen showing my web browser open to Sun’s Java API documents, as well as a couple of convenient Terminal windows including one dedicated to pgsql.

The Safetype keyboard and mouse are also plugged into the Powerbook. All I really need now to make my work environment complete is a KVM so I can actually switch over to Linux and check my Lotus Notes and build in the dynamic vob.

So this is what I do now – I bring my laptop into work, hook it into the corporate network, and rsync my laptop’s /vob to my snapshot view on the Linux box. I run clearviewupdate on the snapshot view to get everything I’ve changed overnight checked into the vob, and then rsync it back so that everything that got checked in gets turned back to read-only. At that point, I’m good to go and I can plug the keyboard, video and mouse into the laptop and work. When I’m ready to leave at night, I unplug the laptop from the monitor and put the keyboard and mouse back on the Linux box, and run the same procedure all over again.

I also have a dynamic view of the same development stream, so I can build the bits of code that are actually working. (I can’t build in the snapshot view because you can’t make a snapshot view anchored at /vob, and far too many Makefiles have hard coded full paths instead of relative paths).

It’s all pretty sweet so far.

Continue reading “You can never be too rich, too thin, or have too much screen real-estate”

WTF?

I’m busy re-writing vast swaths of my low-level code in order to support a new database schema. One of the classes that I wrote that got used all over the place is called “Playlist”, and its various subclasses. Playlist has an abstract clone() method. I almost never write clone() methods, so somebody must have asked for it. And I think I know who now.

As part of this re-write, I using Eclipse’s “Find References” function a lot to see if some method needs to be re-written or can just be deleted. While doing that, I found an interesting bit of code in an obscure part of the system that I’ve never looked at before:


private Playlist doClonePlaylist(Playlist playlist) {
Playlist clonePlaylist = null;
 
// need a special clone
// as the playlist cone function
// doesn't copy the playlist
// external id which we really need
if (playlist != null) {
clonePlaylist = (Playlist)playlist.clone();
clonePlaylist.setExternalID(playlist.getExternalID());
}
 
return clonePlaylist;
}

If the guy who’d written this bit of cruft still worked here, I’d want to ask him why the fuck he didn’t just tell me that I’d left one parameter out of my clone() method, or even better, fix it himself? Ideally, I’d want to ask him while dangling him over the edge of a multistory building, but that isn’t going to happen.

Speaking of planes whose engines quit

I was just reading the story of British Airways Flight 9 on Wikipedia. I hope that some day when I get into difficulty as a pilot, I’m as calm as Captain Moody:

Ladies and Gentlemen, this is your Captain speaking. We have a small problem. All four engines have stopped. We are doing our damnedest to get them going again. I trust you are not in too much distress.

That’s just beat out Captain Al Haynes “You want to be particular and make it a runway, huh?” as my favourite aviation quote.

Well, that was fun

I was driving to work this morning, admiring that unfamiliar shiny yellow orb in the sky and thinking that if I wasn’t overburdened by work and it wasn’t windy as hell, this would be a good day to go out flying. But then I saw a pickup truck with a ladder in the back backing down the shoulder. “Why would he be doing that?” I wondered to myself, when suddenly the van in front of me ran over another ladder that was lying the road, causing it to pop up into the air menacingly. I swerved around it without hitting either it or any surrounding cars, and afterwards had time to wonder if it would have hit my grill or come in through the windshield if I’d hit it.