Blog

Clojure posts

Not all watchers are created equal (or how to make yak shaving useful) - 14 Aug 2018 Clojure  Tools 

I’ve been hacking around with a Clojurescript project recently, and it resulted in a certain amount of yak shaving when I found the watcher system I was using was eating a lot of CPU. On the one hand, yak shaving is bad, because you’re doing other things that aren’t the core task you’d originally meant…

Befunge for Clojurescript - 21 Aug 2017 Clojure  Esolangs  Javascript  Web 

Having written the Beatnik interpreter a few months ago, I was recently reminded that my Befunge interpreter still didn’t have a Clojurescript version and, given it’s been almost exactly five years since that post, it’s about time. For the impatient, it’s hosted on Github pages. By default it loads ‘Hello World’, and there’s a couple…

Herder: Automagic scheduling of a convention - 30 Apr 2016 Clojure 

About once a year I go off with about 30 of my friends and go and play role playing games and board games for a week in a big house out in the country. This is kinda awesome, but as we’ve increased the numbers we’ve been having fun with the scheduling. Namely, we need to…

Pyrexia: IoT office temperature monitoring - 29 Nov 2015 Clojure  RabbitMQ  Rant  Technology 

Most of the projects I write about here are pretty much complete, or at least good enough. This one is a little bit more of a work in progress for reasons that will become clear fairly soon… One of the ongoing conversations in LShift over the years has been regarding the temperature in the office. It…

Coney: RabbitMQ config tool - 27 May 2015 Clojure  RabbitMQ  Tools 

A while back, I was playing around with a series of tools to test RabbitMQ in various related configurations. Now, one thing that these tools had in common, was that the users they were running as only had enough permissions to publish or consume messages, but not to configure the queues/exchange/bindings. This isn’t a common…

Tumblr blog generator - 28 Feb 2015 Clojure  Rant  Web 

TL;DR version – OAuth sucks, Tumblr’s API has some notable faults. So, a while back I came across the “dice shaming” meme. For those of you who haven’t seen this before, or who aren’t RPG players and so don’t know what’s going on, it’s a bunch of posts of people going “I rolled my dice…

TDD for Esoteric Programming Languages (using Clojure and Befunge) - 25 Aug 2012 Clojure  Esolangs 

I’ve been learning Clojure recently, and I’d been looking around for a good initial project to test my new knowledge. I’ve always wanted to write a Befunge interpreter, and so decided that sounded like a fun project. Little did I know the maze of twisty little passages I was letting myself in for, but I’ve…