Solving Zelda Puzzles Satisfactorily

Ceri Storey wrote “In the game Breath of the Wild, there’s a puzzle which in­volves a set of fans and tur­bines in a 4×5 grid, and you must po­s­i­tion the fans in order en­sure all of the tur­bines are spin­ning. Un­for­tu­nately, I’ve never really had much pa­tience for solving this kind of logic puzzle the old fash­ioned way,…”

Padding Oracle Attack or the Virtues of a Glomar response

Rohit Aggarwal wrote “While working on the excellent CryptoPals challenges, I came across the Padding Oracle Attack. The particular version of the attack I was working through, was on CBC mode Decryption when used with AES symmetric key cryptography. The attack has nothing to do with AES and everything to do with this block cipher mode of operation. Various forms of…”

On Mocking Rust

Tom Parker wrote “I’ve recently picked Potboiler back up again with the intention of doing some expansion work on it, but in order to be able to do this sensibly I first had to actually write some tests for it. First time around I was mostly just trying to hack it together and see where I could get, but…”

Acephalic Agile—worse than Waterfall?

Andy Wilson wrote “When we formed LShift, we sat with a group of engineers and asked them what the new company would have to be like for them to want to join it. Their first request was that we get rid of a situation every developer is familiar with—mid-project, the Account Handler or Program Manager turns up to…”

By Image has "Wilse" lettered on it (part of the largely illegible text at lower left). That would be Anders Beer Wilse. Seattle Municipal Archives (Flickr: Construction of Cedar River Pipeline, 1900) [CC BY 2.0 (], via Wikimedia Commons

Setting up CI

Patrick Tschorn wrote “ for go I was recently asked to set up a CI server for one of our go projects and decided to try out 0.8. From my point of view, the two most attractive features of are that: the build is defined through a single .drone.yml file in the root directory of the…”

Learning Haskell messily

Ceri Storey wrote “So, over the past year or so, a few of us at work have been meeting weekly1 to read the book Haskell Programming from first principles, so having finally having finished it, I thought I’d give writing something non-trivial another go. I say another, as I’ve made a whole bunch of attempts before, but for one reason…”

On Platitudes

Ian Rogers wrote “I hope we can agree that ad hominem attacks in discussion are undesirable, but I’ll suggest that platitudes can sometimes be the other side of the same coin, it’s rebuke being delivered in a wrapper of inoffensiveness. “A remark or statement, especially one with a moral content, that has been used too often to be…”

Bazel: Fast, Correct, Usable – choose two

Tom Parker wrote “I’d recently gotten reminded about Bazel, Google’s ‘boil the ocean‘ build system, and decided to give it a proper go. TL;DR – it’s not ready yet, and might not ever be, unless you’re willing to throw away everything else. I’m generally on the lookout for good build systems. Some of my colleagues are perfectly happy…”

How software systems learn

Ceri Storey wrote “As part of a recent LShift tech meet­ing, we watched the first episode of Stewart Brand’s series How Build­ings Learn, as a way to prompt dis­cus­sion on what it means for soft­ware sys­tems to be ‘liv­able’.”

By Rept0n1x (Own work) [GFDL ( or CC BY-SA 3.0 (], via Wikimedia Commons

5 Whys considered harmful

Ian Rogers wrote “Adverse events happen – a website breaks down, a project doesn’t get delivered on time – and a  proposed technique to find ‘the root cause’ is to ask the “5 Whys”. Attributed to Sakichi Toyoda in the 1930’s and adopted by Toyota and other formal techniques it’s basically the technique of listing a fault and then asking…”