Blog

Clojure posts

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

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 - Aug. 21, 2017 Web  Javascript  Clojure 

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 - April 30, 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 - Nov. 29, 2015 Technology  Clojure  RabbitMQ  Rant 

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 - May 27, 2015 Tools  Clojure  RabbitMQ 

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 - Feb. 28, 2015 Web  Clojure  Rant 

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) - Aug. 25, 2012 Clojure 

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…