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’.”

Sked: merged calendars as a service

Tom Parker wrote “I have a little bit of an obsession with calendars, mostly generated ones via a variety of tools. I don’t do well with pen-and-paper for this sort of things, and one of these days I will write the Grand Unified Todo Manager To Rule Them All (which will also eat emails, Calendars and probably a…”

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…”

Extending Splitwise’s currency conversion

Tom Parker wrote “I’m rather fond of Splitwise, which is an app/website for recording money owed between multiple people. Myself and my partner use it a lot for various expenses, and it’s really useful when you’ve got many different payments, and you need to keep track over time. We’ve got one repeated payment however that’s been in US…”

Cross-grading for fun and profit

Tom Parker wrote “First thing you’re probably wondering: What’s cross-grading? Well, it’s a bit like upgrading, except more sidewise than definitely upwards. It involves the changing of the architecture of a system, most typically from 32-bit to 64-bit, and most typically from x86 to x86-64 (although similar options are apparently doable for other architecture families, including ARM, MIPS and…”


Tom Parker wrote “Over the last couple of years I’ve been reading and talking about a lot of things related to distributed systems. This is a common train of thought around here, and after working on this on and off for the past 18 months or so (the version you’re seeing here is in fact version 3 having repeatedly changed…”

Using the BBC micro:bit with PlatformIO

Tom Parker wrote “I recently acquired a micro:bit, the new BBC device intended for helping computer education. After a bit of delay, they’ve finally starting shipping the device, and now members of the public like myself can grab one. So, why this device in the middle of a sea of other options in the modern embedded environment? Well,…”

Scrutiny: Github permissions audit and backup tool

Tom Parker wrote “These days we’ve all got an awful lot of our code in Github, and so we really need both a backup (so we can cope with them having a catastrophic failure) and a permissions auditing mechanism (so we know who’s getting access). For the latter, some of you may be saying “just use the audit…”