Jason Fried on BaseCamp

A bloody excellent IT Conversation podcast by Jason Fried of 37signals, taken from O’Reilly ETech 2005.

Jason covers a lot of issues that are at the heart of Agile Development, particularly when it comes to keeping your codebase lean-and-mean, and the YAGNI principle.

Seriously: everyone should listen to this.

Who needs a structured message format?

Grr… Somewhere in the universe there is a special place put aside for people who think it’s sensible to pass XML data around in a Web Service as an unstructured string.

JBR’s Postulate 1

From the JUnit mailing list, courtesy of J.B "JUnit Recipies" Rainsberger

JBR’s postulate 1. For every testable design that requires exposing elements “just for testing”, there exists an equivalent testable design that does not require exposing elements “just for testing”.

XML, java.io, and the Composite Pattern

Tony Obermeit posted a question to the AJUG-QLD mailing list asking for help with a problem reading XML snippets. So, I thought I’d help him out, and this is the answer I gave.

*Update*: As pointed out by Pepijn Schmitz, Sun already provided the same solution: java.io.SequenceInputStream

*Another update*: I raised an RFE with Sun for the vararg support Vote early, vote often!

Continue reading “XML, java.io, and the Composite Pattern”

The code is the design…

A very interesting article, originally published in 1992, on Code as Design Yet more proof that there isn’t anything new about Agile (and that’s it’s best part! 😉

Peering into the crystal ball: BDUF vs emergent design

There’s always a lot of debate in the various agile groups about what BDUF is, why you should avoid it, when you should avoid it, and why is it bad (or good) for you. I just thought I’d outline my own opinions here.

Continue reading “Peering into the crystal ball: BDUF vs emergent design”

Line counts are a silly way to compare languages

Des Traynor did a little post about how languages are not all the same, and Jeff Atwood jumped in with a C# version. Java came out looking really bad at 15 lines for a simple program, but frankly, the reason isn’t because of Java; it’s because of the coding styles used.

Continue reading “Line counts are a silly way to compare languages”

I feel this guy’s pain

I know what Jeff Atwood is complaining about here .It can be really hard to track down a decent programming keyboard these days.

*Update*: I actually found one: the Belkin Wireless Keyboard. Amazingly enough, I found it at Big W, for only AU$60. I’m a little dubious about the wireless factor (I just know the battery will die some day when it’s really inconvenient), but it’s a nice responsive keyboard, and the keys are where they should be. The bundled wireless mouse will be a good “pairing mouse” as well – the fact that it doesn’t have a cable is a real plus for a pairing mouse, and means I can keep using my trackball.

Continue reading “I feel this guy’s pain”

It’s a bird, it’s a plane… it’s a super call?

Martin Fowler wrote about the Call Super smell. This occurs when you are allowed to override a method in a parent class, but you must (as opposed to can) call the parent implementation in your method.

Continue reading “It’s a bird, it’s a plane… it’s a super call?”