Squashed stacked PRs workflow

How to handle stacked pull requests in a repository which requires squashing all history on merge.

Raymond Smullyan chess problem walkthrough

The thought process behind solving a particular Raymond Smullyan chess retrograde analysis puzzle.

Nix fireside chat outline

A talk I gave at work about the Nix build system.

Property-based testing introduction

A talk I gave at work introducing property-based testing and then giving some more advanced techniques.

The tiny proof that primes 1 mod 4 are sums of two squares

Exploding the incredibly terse proof into a bunch of exposition.

Notes for a Git fireside chat

A syllabus for a fireside chat to give at work, on Git

Questions I had about transformers

Some basic questions I had about transformers, and their possible answers.

The water filtration industry has played us for absolute fools

My Brita water filter does not in fact purify.

Don't supply `-f` to `rm` unless you know you need it

A vignette on the theme of ‘do not allow yourself to get into the habit of supplying the -f flag to rm’.

Argument in a high-trust environment

I tend to argue things in a particular way because I’m in a high-trust environment.

Crates (existentials in F#)

An introduction to the crate pattern for representing existential quantification in F#.

Metatesting your property-based tests

A rather little-known but very easy and high-reward way to sanity-check your property-based tests.

In praise of `--dry-run`

First-class support for a –dry-run mode makes a tool more maintainable, more testable, and more user-friendly.

Continuation-passing style

Motivating the technique of continuation-passing style, by looking at recursive functions.

Rewriting the Technical Interview, in Mathematica

An exploration into reaching into the internals of Mathematica to natively evaluate C code.

Software engineer syllabus

An incomplete but growing list of things I would make mandatory reading if I were building a software engineering syllabus.

Cyclic dependencies (a note from Hacker News)

A quick note from Hacker News about how to model in F# something that might look like cyclic dependencies.

An incomplete life evaluation checklist

A checklist I have used during my regular six-monthly life review.

Find the Bug, C# edition

A cute little exercise in bug-spotting.

A bug in Git

A bug I found and reported in Git.