A perfect example of how IDEA *just works*

People I know who use Eclipse ask me why I use IntelliJ IDEA, when Eclipse is really good and free. Well, it’s little gems like the following that put IDEA miles above anything and everything else. And you don’t even have to know what all the gems are, they just appear when they need to. I was writing some unit tests for some new code, and one of my tests was failing....

August 20, 2004

Totally Gridbag

So, I figured I’d make an animated weblog… thing. Watch animation. (Music: CeeCee. Thanks to: bph.)

July 13, 2004

Company name refactored

The team decided we needed to spruce up our website a bit, and we didn’t stop refactoring ’till we ended up with a new company name. We are now Cenqua (pronounced SEN-kwa). We used to be “Cortex”, or “The Cortex”, or any one of a number of other variations that turn up millions of hits on Google. But now we have a nice, Google-friendly name. BPH tells me this is known (in marketing-speak) as “an empty vessel”; a name that has no previously attached meaning, that we can fill with our own....

July 6, 2004

Lucene made my app embarrassingly fast

Inverted index, Dictionary compression: Lucene’s swift hand strikes. God damn Lucene is fast; no, like, really fast. Faster than should be possible. Even too fast. Embarrassingly fast. “We can’t implement that feature, it will be too slow” I’ve been putting the finishing touches to our new product, getting it ready for its first public demo (ob-plug: If you use CVS, our new FishEye product will rule your world). A cow orker and I were discussing the changelog page (here is an example)....

March 24, 2004

OutOfMemoryError

I recently spent an exhausting day tracking down a memory leak problem. It wasn’t the hours and hours working out a recipe to reproduce the problem that finally got to me. It wasn’t finally realising that the problem was being caused by a third party library (not my fault!) that finally got to me. You can be debugging and debugging for hours and hours, and you can be assured that it will be the smallest of trifles that finally sends you around the bend....

February 21, 2004

Talking Tiger, generically speaking

Maybe Java Generics (JSR 14) adds too complexity to programming in Java, maybe it doesn’t. Maybe there was too much partaking of the generics Kool-aid. Whatever. You are going to have to learn to read Generics code, and maybe even how to write your own Generic classes. Hopefully this article will push those code-grokking neurons in the right direction. (Dang namit: “generic” is just too generic a term. I will use a capitalised “Generic” to refer to the Java language features described by JSR 14; and “generic” just means “generic”....

February 16, 2004

Groking Enum (aka Enum E extends Enum E )

Enum’s named constants; No more tricky integers. Tiger pounces here. So, yay! The tiger beta has been released, and implements JSR 201 (currently in public review). 201 includes the new enum language facility, so I thought I would have a play around. The results follow, for those who dare to tread – the tiger pounces here. Diving in Here is an example of some code defining and using enums (adapted from the JSR 201 documentation)....

February 9, 2004

The final red pill

It ends tonight. It ends tonight. See this Slashdot article for trailer downloads (or thematrix.com). I love these movies.

September 26, 2003

[PPOYCTJD] My cat...

Note: This was written in honour of Post pictures of your cat to Javablogs Day (PPOYCTJD). This is a picture of my cat. Okay, sure, it’s not a cat. I mean, most cats aren’t green, aren’t they? Yep, that’s right, it’s not my cat, it’s my kermit. But it is sitting on the lounge. And I could probably squirt water at it if necessary. Would that help? Also in the above shot is my work desk....

September 1, 2003

Playing jokes on other developers

On the subject of developer morale, I was just reminded by a friend of a joke he played on me while at University. A cruel, cruel joke. We were doing a group software engineering project together, and we were in the middle of “code crunch” mode. I was trying, trying, trying to track down a NULL pointer bug. I was at it for freaking HOURS. I had even come in early to the computer labs to get the jump on it....

August 18, 2003