Grant Hollingworth Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)

Choosing the right scaffold

Ceri Storey wrote “One thing I’ve come to realise as I’ve matured as a developer, is that it turns out I’m merely human. That is somewhat obvious, but you often hear people opine on various discussion boards that their particular tools (that other people feel are error prone) are actually just fine; as long as you remember to…”

Anne Worner Points in the Right Direction (CC BY-SA 2.0)

Making the dockers work

Ceri Storey wrote “Over the past few weeks I’ve been fo­cusing mostly on build and de­ploy­ment tooling around docker and Kuber­netes. One par­tic­ular down­side of the cur­rent sys­tem, is our ap­plic­a­tions have a fair number of ser­vice de­pend­en­cies. Up until now, we’ve taken to run­ning everything in­side docker using dock­er­-­com­pose, but this feels to me more like a way…”

Supposedly a property test library

Ceri Storey wrote “Over the past few weeks, I’ve been in­spired to create a new prop­erty testing lib­rary for rust, very much in­spired by the work in hy­po­thesis. Why use sup­pos­i­tions over say, quickcheck? For one, this takes in­spir­a­tion from hy­po­thesis and theft. While it’s still in it’s early days, the gen­er­ator system (in­spired by hy­po­thesis’ gen­er­ators means…”

A quick tour of LLVM’s Sanitizer coverage

Ceri Storey wrote “After reading about the new coverage features in hy­po­thesis, I’ve become in­t­erested in how guided fuzzing (as im­ple­mented by Amer­ican Fuzzy Lop or LLVM’s lib­Fuzzer works in­tern­ally with Rust and LLVM. The first step is to un­der­stand how cov­erage works. Clang’s San­it­izer Cov­erage doc­u­ment­a­tion ex­plains the func­tion­ality very well, so I’ll not re­peat too much of that. First of all, I started…”

Automagical port allocation for tests

Ceri Storey wrote “It’s quite common to want to test a net­work ser­vice from the out­side, as if it was being ac­cessed from a cli­ent. Quite of­ten, people will pick a “well-­known” port to use, eg: port 8080 or 8888 for a HTTP ser­vice. But that means that if you leave a stray service process lying around, you’ll need to hunt it…”

By Ron Armstrong from Helena, MT, USA (HMKC Spring 2007 Agility Trial) [CC BY 2.0 (], via Wikimedia Commons

Adding flexibility to build processes

Ceri Storey wrote “Or “Knowing where to break the (build) chains” One of the ways we can im­prove a build, re­lease and de­ploy pro­cess is chan­ging where in the chain we make use of de­pend­en­cies.”

By Vinnie kaz (Own work) [CC BY-SA 3.0 (], via Wikimedia Commons

Die-hard Statefully

Ceri Storey wrote “After reading Solving the Water Jug Problem from Die Hard 3 with TLA+ and Hy­po­thesis, I figured it’d be amusing to re­pro­duce it in Rust as diehard-rs, along with its quickcheck lib­rary.”

By Mikell Johnson (Own work) [CC BY-SA 3.0 (], via Wikimedia Commons

A taste of CloudFormation

Ceri Storey wrote “So, we’ve recently had cause to move one of our internal applications to the cloud; which has largely been an excuse for me to get some experience in some relatively modern operations technologies. Amazon’s CloudFormation is designed so that you can declaratively specify the infrastructure resources (eg: virtual machines, load balancers, container configuration, &c) that…”

Sturmfront auf Doppler-Radar-Schirm, public domain, von

Adventures in TCP latency measurement

Ceri Storey wrote “Re­cently, Google have pub­lished an art­icle on BRR, an al­gorithm that ex­pli­citly meas­ures the round-trip latency and band­width ca­pa­city of the link between two ma­chines (be it in a data­center, or a mo­bile phone) to avoid sending more traffic than is use­ful, causing queues to build up in the net­work that need­lessly in­crease latency. So…”

By John Ficara (This image is from the FEMA Photo Library.) [Public domain], via Wikimedia Commons

Testing as question asking or Hypothesis Driven Development

Ceri Storey wrote “So, my co-worker Ian asks the question “Why bother testing?”. I think that an under-considered question is how we think about testing. I would wager, that a sizable majority of programmers (myself included) will usually learn one or two techniques for testing, and then gravitated towards those same set of answers for most problems. As…”