Using NPM as a Build Tool

A year or so ago, I came across this post by Keith Cirkel, How to Use npm as a Build Tool and it stuck with me. At the time I was transitioning to gulp from grunt both personally and for Clearleft projects. We had a discussion about the feasability of going full NPM and decided that using gulp was still the best for us. There are plenty of great reasons to use grunt or gulp and we will continue to do so at Clearleft, but for my personal site I decided to experiment with pure NPM. And in so doing, show how easy it can be, particularly for small sites, to set up some simple tasks.

Games of Shame

Some time around the last Steam sale I knew I couldn’t keep buying games I never intend to play. Or, at least, do not have time for. If I cared about the game, I would have bought it sooner, really. Instead, all I could feel was the burden of games unfinished. The list of which was ever growing. So I decided to make a literal list of those unfinished games and try to beat them before moving on. Or at least make a good dent. And here is that list. My games of shame:

The Proposal

Some of you may know that several weeks ago I got engaged to my amazing girlfriend. However, I am not the type of person who does things… traditionally. Proposals are infrequent but special events, not unlike weddings themselves, and I wanted to treat it as such. But not boring special. Anyone can go to a fancy restaurant and have their beloved find a ring in the bottom of a glass of champagne. That’s not me. That’s not us.

Installing Letsencrypt on Ubuntu 14.04 and nginx

Here at the Clearleft towers we use DigitalOcean and our servers run Ubuntu 14.04 and Nginx 1.8.0.

Scraping Twitter Feeds with NodeJS

Well, the time finally came. I had been using Remy Sharp’s handy little twitter.js script to show one tweet on the homepage of my latest live site, Pulse, and Twitter’s API changes finally caught up with it.

Setting up a FreeNAS server

Occasional Git

Welcome to Occasional Git! For when you’re working on your own, on small-ish sites. These are the things I encounter sometimes only once a month, if that. I’ll be supplementing the commands with examples I’ve used personally.

The Case of the Linux Box and nginx

Following on from the last post which laid the landscape covering the whys, we now get on to the hows.


Welcome, fine folks, to the all-new It was back in May when I vowed to take this back to basics in a blog post called, ‘The Rebrand’. I wanted to get a bare-bones server and configure it the way I wanted, from the ground up. Well, I got the server about half a year prior to that actual post. I then proceeded to do bugger all with it.