Author Archives: Sam Newman

IT Certification Considered Useless 0

A few years ago, I was sharing a drink with a friend of mine. He was about to become a fully qualified architect. In the UK, one cannot call themselves an architect without having carried out the full, three part course, which takes at least seven years. Typically, as the course involves working in the [...]

Build Pattern: Chained Continuous Build 0

One of the problems quickly encountered when any new team adopts a Continuous Build is that builds become slow. Enforcing a Build Time Limit can help, but ultimately if all of your Continuous Build runs as one big monolithic block, there are limits to what you can do to decrease build times. One of the [...]

Organisation Antipattern: Chase The Ball 0

Have you ever watched young children play football (of Soccer for our Atlantic cousins)? During the game, you can be certain of one thing – most of the team on both sides will be doing nothing but chasing the ball. There is no thought about the bigger picture, no tactical decision making (let alone anything [...]

Build Pattern: Build Time Limit 2

Anyone who has worked in a team which uses a Continuous Build inevitably starts to learn about the cost of a long running build: More time between checkin and a report of a failure Higher chance of Continuous Build containing multiple checkins, increasing the chance of an integration break and complicating rollback Fixing a build [...]

Rewrites and New Year Resolutions 0

The reason so many New Year Resolutions get dropped, is because people start doing something out of the ordinary (for them) in order to institute a change, but never make that change a habit. It’s the reason dieting does not work – you shouldn’t go on a diet, you should change your diet. The former [...]

I Am Not Sam Newman 0

It has come to this. After many years of mis-directed mail, I have finally decided to put pen to paper (well, photon to monitor, but you get the idea) and state that I Am Not Sam Newman. World, here me now. It is possible – nay likely – that more than one person has the [...]

Clojure editor/IDE options – IntelliJ v Emacs 6

So all the cool Clojure kids keep wanting me to use Emacs. The problem is that I haven’t used Emacs for the last 10 years – since, in fact, I had to support a C application on about 7 different flavours of UNIX. As you can imagine, I’ve since expunged many of those past memories. [...]

Build Pattern: Movable Checkin Gate 2

The Checkin Gate defines a set of tests which need to pass before a developer checks in. Typically, the tests are a subset of the total test suite – selected to provide a good level of coverage, whilst running in a short space of time. There is an inherent trade-off with a Checkin Gate though [...]

Data Transformation and Language Syntax 5

I’m currently working on a personal project by way of learning Clojure – it’s actually a program to match up my itemised phone bill against my list of contacts to help me expense my calls. I find it best to have a real-world problem I need to solve to learn a new programming language. The [...]

A Brief And Incomplete History Of Build Pipelines 2

Recently, both Paul Julius and Chris Read pointed out that I was perhaps the first person to document the concept of build pipelines, at least in terms of how it relates to continuous integration and the like. As it turns out, the original posts on the subject are from further back than I remember: An [...]