Taming clojure.spec with expound

From Clojure 1.9 and up, the core language is guarded by various clojure.spec definitions. This means, even if you’re not using spec directly yourself, you will potentially encounter spec derived errors. These errors, much like all errors in Clojure, are extremely verbose and make it hard to discern what the actual problem is at a […]

An introduction to transcriptor

Transcriptor is a new Clojure tool released by Stuard Halloway (who literally writes books on Clojure) that approaches testing from a different angle. I only noticed it after he tweeted the following and I asked for him to elaborate. Luckily enough, he did! status: replacing gratuitous test framework goo with information-rich #clojure ex-info — stuarthalloway […]

Updating dependencies without CHANGES.md

I recently received an issue on EventEmitter, my longest running project I have carried through my entire career so far, asking where the change log was. The bad news is that there isn’t one. Although I have a pretty thorough change log for my newer projects like react-faux-dom, I didn’t even understand semver back when I started it […]

The Collatz conjecture, visualised in Clojure

Before I begin, watch the video that prompted me to do this in the first place. Okay, now you know what I’m talking about, the Collatz conjecture. It’s scarily simple, you take a number, if it’s even you halve it, if it’s odd you multiply it by three and add one. Repeat this and you […]

I’m on Linode now

And I’m pretty damn happy with it, as happy as you can be with a server I guess. Note: There’s a referral link at the bottom of this post. Some context I’ve been running my blog off of webfaction for a few years now, I actually used it before then whilst at a previous job […]

When projects rise from the grave

Halloween is supposed to be over, so why is my project coming back from the dead? Olical/Color is something I started in early 2011, I think I was still at my first job as a junior web developer tinkering with WordPress and custom PHP sites. I’m now on my 5th workplace doing something entirely different. I’m […]

Getting Go Going

I recently had to compile and run a go project, I found it thoroughly confusing initially and struggled to find a comprehensive guide on how to manage the repository in an idiomatic way. I’m going to show you how to get go projects up and running on your machine, I hope it’s the correct way, […]

An introduction to ClojureScript

In this post I’m going to attempt to explain where ClojureScript comes from as well as what it is and what it can do for you. I’m coming at this from the perspective of someone who writes a lot of JavaScript already, probably with React and Redux. Lisp ClojureScript is a very slight sub-set of […]

Working with multiple of lists in JavaScript

If you’ve ever had to iterate over multiple lists at the same time or map a filtered map of a map, you’ll understand that nesting all of those blocks and callbacks isn’t very easy to work with or understand. Luckily, there’s some cool techniques that make turning several arrays (or infinite sequences created by generators, […]

Asynchronicity and JavaScript

There are two very difficult things in UI development, well, there’s a lot more than that but here’s two very important aspects. Management of state Management of asynchronicity A lot has been done to make state less… evil? (see React, Redux, Cycle, Elm, Om, etc) The same can’t really be said for async operations, we […]