December 2001

« November 2001 | Main Index | Archives | January 2002 »

29
Dec

More people have ascended bodily into heaven than have shipped great software on time. - Jim McCarthy

Charles' in-depth review of Lord of the Rings

POINTY EARS!!!

LONDON (Reuters) - A British man who went underground behind blast-proof doors and thick concrete to avoid a family Christmas has emerged early because he was ``dying for a pint''.

Random amusement for those who know me:



Mother:
We'll go down to the harbour and have fish and chips tomorrow. I don't cook on Fridays

Charles:
Oh! I don't cook on Fridays either.

Happy Snap

  • 11:10 AM
Family Photo. Feel free to skip.

From right to left, my brother Nick, his girlfriend Megan, and my mother, Mum. (Or Susan, if you're being picky).

Just in case you were wondering where I get it from...

I was sitting in a rather trendy cafe (called The Blue Duck) with my mother and my brother, Nick. Nick was talking about how he has a deadline to get the first draft of the play he's writing done by Monday, and how the study he works in gets really hot. My mother wondered if he could move Aaron in there.

I was told recently that when my brother and his girlfriend moved into their flat, they named all their furniture, and were quite proud of Sid the Sofa, and Barry the Bookshelf, so I correctly guessed that Aaron was "Aaron the Air-conditioner". My mother then suggested that she could lend him Jane, from her office.

"Jane?" I asked, foolishly.

"Jane Air"

The chance of me being the only sane member of my family is rather slim, so I guess I just have to accept it. :)

I caught the train from Sydney to the airport. I always get paranoid about these things so I turned up at the airport about an hour before my plane was due to board. I wandered around the shops. I finished reading the last chapter of "Fellowship of the Ring". I had two beers. I wandered around the shops again.

I looked up at the departure screens to discover that there was still an hour to go before my plane was due to board. Bastards!

The reason given for the delay was the late arrival of the plane. Fair enough, they rely on the tailwinds from Perth to Sydney, so maybe they weren't as strong as usual. Cool, that might even mean we'll be faster flying back the other way! Eventually, they had cleaned the plane, I had had a few more beers, and everything was ready for boarding.

We sat on the plane for another half an hour. I could hear the sound of power-tools coming from the left wing, but I was sitting on the right side of the plane so I couldn't look out the window. We all sat, there's not much else you can do on a 747.

Then the Captain comes on the intercom. I kid you not, this is what he said:

Hello, this is your Captain again. I have some good news and some bad news. The bad news is that we've been trying to fix one of our engines, but the replacement part they got for us doesn't fit. The good news is that the only thing wrong with the engine is that the reverse-thrust doesn't work. That won't make us any later than we are already, and it'll only add about two hundred meters to our stopping-distance, which won't ber a problem. We just have to wait for the crew to lock the engine down so it can't go into reverse, and we'll be away.

Way to go to make me feel confident about the air-worthiness of the plane. Charles' prediction: As a result of the constant price-wars of the last decade, Qantas will have its first ever crash before the end of 2005.

The in-flight movie was Rush Hour 2. It sucked. It sucked bowling balls through a garden hose. I watched my DVD of Fight Club, just so I could be a laptop poseur.

Landing in Perth is always unpleasant. Perth airport is just over the edge of an escarpment, so you get all sorts of funky updrafts just as you're going down to land. I was rather glad we were in a big plane - the 747's don't get blown around quite as much as the 727's that usually fly the Sydney-Perth run. However, the Captain fixed that little bit of confidence for me...

We've commenced our descent into Perth. There are some pretty gusty cross-winds down there, so we're going to turn the seat-belt sign on early.

The landing was bad. We got down through what would be cloud-level if there had been any clouds with only the usual amount of turbulence. Then for five minutes or so it was calm, and I was wondering what the fuss was about. Then, for the final approach, the plane was literally veering from side to side as it tried to correct for the wind. I kept waiting for the pilot to abort the landing and fly up again. (A taxi driver later told me that's what a lot of planes had done that day.) I swear, we landed at an angle, and the plane had to be corrected in long, long moments before they could turn on the (partially disabled) reverse thrust to slow us down.

I keep telling myself it's safer than driving in a car. I can believe it intellectually, but my gut is unconvinced.

Addendum: My mother trumped my story. On landing in Perth once, the captain came on the intercom to say "If you see the cabin crew wandering around looking out the windows, don't be alarmed. They're just making sure the landing gear [in the wings] comes down properly."

I am now the proud owner of a titanium G4 Powerbook. It kicks ass.

There are three kinds of projects. (I'm thinking here about programming, but I'm sure it translates to other endeavours as well)

  1. Things you are paid to do
  2. Things you do because you want (need) to use the end-product
  3. Things you do because you think doing it would be rather nifty

The first one is easy. You go in, you do what your boss tells you to do, and you go home. It's a good idea to enjoy most of what you do when you're at work, but when it gets dull or repetitive, you can always fall back on the fact that at the end of the day, you get a nice pay-cheque.

Category two is easy as well. If you're motivated to do something because there's some reward in the end-result, you keep going for as long as the reward justifies the effort. An example of something I did in the second category was OurPlace. I wanted my website to be able to do certain things that couldn't be done by the regular free Perl wiki engine, and I didn't really want to be reliant on anyone elses code since they all tended to rely on annoying things like relational databases. ("Find the dependencies -- and eliminate them." When you're working on a really, really good team with great programmers, everybody else's code, frankly, is bug-infested garbage, and nobody else knows how to ship on time. -- Joel Spolsky) So in a couple of weekends of hacking, I had my own wiki engine. When I needed to totally rewrite the parser because it was too hard to add new markup tags, I took another weekend to rewrite it.

It's category three that's the problem. This is how 90% of my personal projects start, and how 100% of that 90% finish. I get a neat idea, and I start thinking "Now, how would I do this?" It's that thought I can't get out of my head. I don't really want the program, I just want to know that I can do it. My head is filled with ideas of how the various bits would work, how it would fit together, what it would look like and so on, and I need to write code just to get all that out of my head.

The thing is, I reach a point where I've written enough, worked out enough that the nagging voices get a lot quieter. Eventually, it gets quiet enough that my natural inertia overcomes it. The little voice that says "You'd much rather turn your brain off and watch those idiots on Temptation Island" ends up being louder than the voice that says "You remember that really nifty Content Management System idea you had?"

So I accumulate unfinished programs, like the line of seaweed on the beach. The wave of enthusiasm throws them onto the sand, the tide recedes and they're left to rot.

Unfortunately, the nagging voice hasn't gone. It's just quieter than the other voices. Every project is a little thing in the back of my skull saying "You haven't finished me yet! And you told me I was so cool! You bastard!" Perhaps I need an exorcist?

Ignore this if you're not a nerd. I'm raving about the Java IDE I've been playing around with.

I'm using a new Java IDE called IntelliJ IDEA. It's really smart.

I was writing a new class. Amongst other things, here was the code I'd just written.

public class Connection implements Runnable {
    private final String hostName;
    private final int port;
    private Socket socket;
    private BufferedReader in;
    private BufferedOutputStream out;
    private List listeners = new LinkedList();
    private boolean open = false;

    public Connection(String hostName, int port) {
        this.hostName = hostName;
        this.port = port;
    }

    public void addConnectionListener(ConnectionListener listener) {
        if (!listeners.contains(listener))
            listeners.add(listener);
    }

    public void removeConnectionListener(IRCConnectionListener listener) {
        listeners.remove(listener);
    }

    public void fireLineReceived(String line) {

At this point, I wanted to iterate over the listeners collection, and send the line received to each one. So I typed itco<tab> (short for "ITerate over COllection), and IDEA was smart enough to write the following, except for the word "HERE", which I've put in to show you where the cursor ended up.

        for (Iterator iterator = listeners.iterator(); iterator.hasNext();) {
            ConnectionListener listener = (ConnectionListener) iterator.next();
            HERE
        }

I didn't have to prompt it or anything. It worked out everything it needed to make the loop from the context. That's so cool. It found the most recent collection I'd been working with, wrote out the iterator loop for it, and it worked out what kind of objects I was putting inside the collection so it could write the annoying cast-stuff that Java forces on you. There's a whole bunch of these little shortcuts built in, and they really make a difference.

This is why I like a good IDE. This sort of thing can really file off the rough edges of a language and let you concentrate on writing the code that really does stuff. Gosling can take his "do everything in a text editor" and shove it sideways where it hurts. (yeah, I know you could program emacs to do the same thing, but it'd be way too much effort and I don't know lisp)

Take this job.... (originally from Adam Curry's Weblog)

"As you can expect it's really affecting my sex life. I can't help it. Each time my wife initiates sex, these ejaculating hippos keep floating through my mind."
<Candi> Spam is eternal

I think there's something in that for all of us, don't you?

Happy birthday to me!

My brother's mobile phone (cell-phone, for you 'merkins) number ends with 256 512. I'm so jealous.

Inspired by shut the fuck up and watch a movie which was linked to by lonita, I present my wonderful movie-watching story. A couple of you will have already heard this, it's one of my more commonly told tales.

Schindler's List

It was the day after "Orientation Day" in 1994, my second year of University. Orientation Day is when you go into University the Friday before classes start, sign your name up for various clubs, and then spend the rest of the day in the pub catching up with the true meaning of University life - drinking heavily. (For our American viewers, the legal drinking age in Australia is 18. My birthday being in December (or to be more precise, tomorrow) this was the first opportunity I had not to worry about being thrown out of the tavern. For most of first-year, my friends had this joke where when I'd been too annoying, they decided it was my round and sent me to the bar, knowing I'd get thrown out. Anyway...)

I arrived at University at 10am, mainly because I didn't have my own car at the time, and that was the latest I could get a lift in. On arrival, I ran in to Simon Dean, who I had known from high school, and we decided to start early on the whole drinking thing. Being penniless students, the only choice of poison if we were to still be able to afford beer later when the tavern opened was a substance known as "goon". Goon is a Western Australian term for the kind of wine that is so bad, it is sold in six-litre cardboard casks. It is so bad that the only way to consume it is to mix it with lemonade. As such, it is a long-time favourite of winos and students.

I've strayed somewhat from my point, so I shall fast-forward to some time that evening. Or perhaps late that night. I had finished the goon. I had spent most of the afternoon in the pub. I had then gone with my brother to the University Dramatic Society party, I think. Or maybe that was the end of year party later. I did this sort of thing rather frequently at University. The point is that I don't really remember much, so let's fast-forward to the morning after.

Headache. Nausea. A strong urge to strangle anyone speaking higher than a whisper.

I stayed in bed most of the day. My mother, thankfully, was rather sympathetic. She gets much worse hangovers than I do, with sufficient frequency that she didn't really dare make fun of mine. And anyway, she's far too nice not to be. She did, however, get rather impatient with me as my moping around looking green and pale stretched on into the afternoon. It was her suggestion that we go to the movies.

Probably entirely unsuitably for my state, we decided to go see Schindler's List.

The movie was awesome. It really was. I could quite see myself having been spellbound through the entire thing, it was that good. Unfortunately, I wasn't allowed that luxury. There were two octogenarians behind me, grey haired women that I can only liken to the Monty Python "pepperpot characters". And they talked through the whole fucking movie

Oooh! Look, that girl's wearing a red dress!
But why is everything else black and white?
Who was that person again? Was he the bad person from the other place?
Ooh that was close!
Do you think that's a gas chamber?

I hate people who chat during movies. You are not in your lounge-room watching a video, nobody else around you knows who you are, or cares what you are saying. What you are doing is disrupting an experience that everyone about you paid a premium for. Once upon a time, I went to a cinema next to a concert hall, and because of the bass bleeding through the walls from the Metallica concert that was on that night, I got a free ticket to another show. If you talk throughout a movie, you should be forced to buy everyone in the cinema a ticket to another movie, as compensation.

I tried everything. There's a patented Miller glare that usually works so well in cinemas, passed on from my father to my brother and myself. I used it many times through the first act, to no avail. I was tired. irritable. headachey. still a little nauseous. I turned around and hissed at them in my most aggressive tone: "Will you please shut up?"

There was silence. Blessed, blissful silence, but for Ralph Fiennes and the John Williams score in front of us. Joyfully, they had stopped their chatter.... Then...

Is he drunk?
Oh no, they're going to shoot them!
No they'll get away dear...

I wanted to wait around after the movie and give them a piece of my mind. My mother dragged me away, and luckily for them, I never saw the two ancient movie-goers again.

Very luckily for them.