Feb 27, 2018 - Detecting when you're in IntelliJ

How do you make your tests aware if you’re running them from your IDE or not? That’s what I’ve been wrestling with, and there were some surprising results, so I thought it would be worth sharing.

Feb 21, 2018 - Fancy Railways

This is the eighth in a series of posts introducing co.unruly.control, a functional control library for Java. Previous parts:

Let’s recap briefly. We now understand what railway-oriented programming is, and we’re comfortable abstracting over the idea of collating failures at different points in an execution and handling them separately. We can combine operations which always succeed and operations which may fail, we can convert pretty much any failure mode into results, and we can resolve back to a regular value.

What else could we ask for? Well, let’s take an example: we’re working at the gate of a ride at WonderFunLand. We’ve got a queue of people coming up to ride the BoneRattler. Can they ride?

Feb 19, 2018 - Gold Cards, Production Systems, Temptations and Expectations

At Unruly, we devote 20% of our time to personal development, via Gold Cards. Benji recently made a good post about what they are and why we do them. Generally, I spend much of my Gold Card time exploring new ideas - getting deeper into functional programming languages, experimenting with porting those ideas into something usable in our tech stack, and so on.

Sometimes, though, I see something about our codebase and think: “I could fix that”. And sometimes it turns out: yes, I can make some significant improvements in just a day! There’s just one problem: we’re all about collaboration, and “fixing” stuff unilaterally is antithetical to that philosophy.