Name badge

Name badge

No, I don't need this. No, that doesn't matter; I have tonnes of things I don't need. That sounds like a brag but it's not meant to.

Solve Wordle

It's completely pointless to cheat at this game, which is why I've done it.


This week I needed to make a really big form. It’s really big. Most people don’t like forms, but I’ve always been a bit of a contrarian, and my approach for saving user input on this form got me thinking about how much effort goes into things people take for granted. In code, I mean. Life is way out of scope for a blog post.

Game Boy Camera

Game Boy Camera

That Game Boy Color image was bothering me. We can do better.

Shortcuts for GIFs

I love GIFs. I use them all the time. On my laptop, I have a LaunchBar custom bookmarks index that lists them all so that they're searchable and I can access them easily, but that's more difficult in iOS. I decided to see if I could use iOS' Shortcuts app to give me some sort of search UI for them, and it turns out I can!

Context-specific aliases with fish shell

We're using Docker for everything now, which is great but it's a big ask of some of our frontend devs who aren't as comfortable with a CLI as others. Fortunately, there is a way!

I hate XML

I hate XML

The above screenshot is the difference between an XML product feed that Facebook can't be parsed (top) and one that can (bottom). A default namespace declaration. Why does this matter?

I love GraphQL

I love GraphQL

I've been using GraphQL with Craft since I redeveloped this site, which is quite a while now. But running someone else's GraphQL API is like training wheels.

Get Computers To Solve Your Problems

The world is in a bit of a state at the moment. People are panicking and they're scared. Far be it for me to suggest that poor leadership might be at least partly to blame. I never learn lessons from other people's mistakes so how can I expect the people who run the country to do it?

It's good to have a development platform again

I'm enjoying coding again. And it's a little weird...

Hits from the Pong

I wrote a blog post over on our highly corporate company blog which has two whole posts on it. It's...

Think before you buy Coda for iOS

Panic released Coda for iOS yesterday, and it looks pretty excellent (Panic are very skilled at making things look good). However, for a lot of people, it will be missing something huge - any kind of environment...


Next to the rpi for a size comparison Tessel finally arrived. I say "finally" but I believe it...

An Automator Folder Action for Screenshots and Dropbox

Photos of dogs and cats and leaves and horizontal lines will be back soon...

yet more effort toward keeping config out of git

It seems that I spend most of my waking life concerned about keeping usernames and passwords out of...

bit tumblr-y, but a quote

Non-developers often assume an application is invariably more valuable with a feature than without i...

Store git activity in MySQL with PHP

Git hooks are saving me so much time and providing me with interesting solutions to problems I didn...

Managing multiple working copies with git

We have a CMS at Buffalo, which we have deployed to several servers for a few of our clients. Until...

trying an un-annoying lightbox

Lightboxes are really irritating. No users I ever speak to like them, but all website owners love th...

that's a big one

Transmitting file data...