Duncan Pierce's blog

(Post)modern software development


Software development is fast becoming a configuration activity (“plumbing” as I like to call it), with many simple applications requiring very little true programming. There’s nothing fundamentally wrong with this “plug it together” approach - it’s been working well for Unix scripting for 30 years - and we should be happy that we’re getting this level of relatively easy reuse.

Fine-grained objects and Inflection Point Testing


I’m starting to move away from Law-of-Demeter-esque TDD unit testing, and towards Michael-Feathers-style inflection-point testing (regardless of whether it’s legacy code or not). And why? My work on very fine-grained objects in Kew has prompted some changes in my thinking.

Being struck by lightning


In September 2003 some friends and I went on a Via Ferrata climbing holiday in the Italian Dolomites. We experienced lightning “up close and personal”….

Via Ferrata are scrambling- and climbing-grade routes, mostly at high level, protected by fixed metal cables attached at regular points to the rock. The cable is what makes it a Via Ferrata - Iron Way.

Doogie Howser invented blogging


Some of my best thoughts come to me in the bath in the mornings, though I’m not claiming this is one of them. This morning I was thinking about blogging, and the uses people put it to. Somehow my mind wandered back to a TV show from the 1980s: “Doogie Howser, MD”.

Constructing objects: Chicken and egg


I recently had a tip from Nat Pryce about a weird control construct from HScheme: call-with-result. It passes into a function an argument which is its own result. Erm, okay. Let’s just think about that for a second. It solves the “chicken and egg” problem of creating mutual references between objects - something you’re normally forced to use setters for. We can use something like this to get better encapsulation.

Syndicate content