Skip to content

{ Category Archives } Uncategorized

Against our values as a company

I’m going to pick on Patreon, not because they’re special, but because they’re typical. Here is a quote from a blog post in which they Back-pedalled a change to their pricing structure: We overstepped our bounds and injected ourselves into that relationship, against our core belief as a business. What I think they want us […]

Culture Smell

A phrase I used in a discussion today. Developers are familiar with “code smells”, aspects of a codebase that aren’t necessarily wrong but do make you take a deeper look. By analogy, a culture smell surprising, but not necessarily wrong, behaviour on a team that should make you wonder what motivations lead to that behaviour, […]

In defence of large teams

Seen on the twitters: 1) Bad reasons why tech startups have incredibly large mobile teams even though from an engineering perspective they don’t need it. This is the No True Scotsman fallacy, as no true software department needs more than, say, 20 people. I’m not going to get into the details of what you do […]


My current record of FOSDEM attendance sees me there once per decade: my first visit was in 2007 and I’m having breakfast in my hotel at the end of my second trip. I should probably get here more often. Unlike a lot of the corporate conferences I’ve been to in other fields, FOSDEM is completely […]

Something old, something new

Sometimes, what you want out of a software system is something unexciting. Something proven to work, that’s well-understood, and has had all of the kinks smoothed out over years (or even decades) of refinement. Of course, what you get when that’s what you want is something like Unix. Where the thing it was designed for…well, […]

Apple’s Best Programming Language

My talk at App Builders 2016 was on Apple’s best programming language. Spoiler alert: it’s Dylan. Or is it? I chose a few properties one might wish to find in programming languages, then demonstrated how these were all present in the Dylan language. I also took a dig at certain other languages, which do things […]

Week six

This is a post about marmalade. A “life hack”, if you will, that I learnt from Simon Stewart is to find things that I don’t do because I don’t like them, or think I don’t like them, and to do them. Do them again. Find out whether there’s anything to like about them, whether I […]

Programming is not a craft

I agree with this, programming is not a craft by Dan North. So here’s my concern with the idea of Software Craftsmanship. It’s at risk of letting programmers’ egos run riot. And when that happens… well, the last time they went really nuts we got Web Services, before that J2EE. […] The best software should […]


It’s been almost a year since my first day at Facebook, sitting in an overcrowded meeting room with my bootcamp class because 42 Earlham Street was full and it’d be another week before we moved to 10 Brock Street, with its gargantuan empty spaces (which are no longer empty: nearly half the company has joined […]

Inspired by Swift

Gulliver meets the Oopers Lemuel Gulliver’s world was black. No light, no sound, infinite darkness and solitude. Am I dead?, he asked himself. No, surely not. He opened his eyes. Still, everything remained black. My God, I am dead! Lemuel Gulliver began to panic. Then, slowly, he realised that panicking itself meant life: My heart […]