Posts filed under “Technical”

What Are You Optimising For?

Very few software designs/architectures are completely and objectively bad. Most designs optimise for something. Here’s a [probably incomplete] list of things that you could optimise for in software architecture:

  • Developer Time Now
    When we say we’re doing something “quick and dirty”, or that we are taking out “Technical Debt”, then we are optimising the development time now.
  • Developer Time Later
    This is what people traditionally mean by “good” code. A

Follow People on Hacker News with hn_comment_follow

I often find the comments on Hacker News are fantastic and there are certain users who’s opinion I always value. To that end I’ve created a python script to help follow what my favourite people are saying on Hacker News: hn_comment_follow. It’s on GitHub in case others would like to fork it.

To call it, invoke the script like this:   
    python pg patio11 d4nt

Design Notes are not Functional Specs

At my company, we don’t write Functional Specs, we write Design Notes. This post explains the differences and the thinking behind those differences.

Design Notes contain some Balsamiqs, some text, and the occasional table definition. Many people, when they see a Design Notes document think of it as a Functional Spec. They exist purely for the time before the software is written as an aid for developers and testers

Reporting on TFS Work Item Statuses

I recently had a need to regularly get an update on the numbers of TFS work items at various statuses within a particular sprint. Here’s a powershell script that will query TFS an give you back the nubmers:

Convert XML to a UL Tree Using XSLT

I spent a good 30 minutes hunting for this on the web this afternoon. Eventually I just wrote it myself.

The following XSLT will convert XML to a tree of


  • items. The element names will be rendered within tags.

A la Carte Software

The traditional way of designing then costing a new piece of software is broken. All too often a someone spends months refining what they want, talking to everyone involved and throwing any feature ideas that they think they might need into the melting pot. Until eventually, they think they’ve covered everything.

Then; they ask someone how much it will cost.

The first problem is that software feels like it should

Querying TFS for Checkin Information with Powershell

One of the things that quickly became aparent when I joined my present company six months ago was the laid back approach to commenting code checkins/commits. I’m working on changing that and have had moderate success leading with by example, but the time is coming when I’ll have to start naming and shaming! To that end, I started investigating how to write a powershell script that will calculate the percentage