Monday, March 17, 2008

Release It!

While it might sound like a 37 Signals style plea to get software out there, Release It! from Michael Nygard is a totally different animal. It's a higher level "Code Complete" for large scale systems. It's about what to do so you can release it. A list of things you are doing that are increasing the risk of failure, and a list of things you can do to drop that risk.

Sample:
"Integration points are the number-one killer of systems. Every single one of those feeds presents a stability risk. Every socket, process, pipe, or remote procedure call can and will hang. Even database calls can hang, in ways obvious and subtle. Every feed into the system can hang it, crash it, or generate other impulses at the worst possible time. You’ll look at some of the specific ways these integration points can go bad and what you can do about them."

I wasn't really interested in the book until I heard the podcasts he did last year. A lot of sound advice in there...

Monday, March 10, 2008

Java for Rails developers

I am thinking of writing a short rejoinder to Rails for Java Developers. These are my notes so far.

Resist urge to yell: "Stop making everything so complicated!". Merely state it politely, as often as you can. Perhaps a recording would come in handy here.

Much of what Spring does with dependency injection is better handled by either reflection or simplifying code.

The DAO pattern makes no sense when compared with the majesty of ActiveRecord.

Oh no, they use XML for THAT!?!?!? How much XML? Oh no...