Emergent engineering

27 Oct 2020

Emergent engineering is how you tackle complex systems. It’s for when the perfectly reasonable standard engineering approach doesn’t work any more. When fault-free and predictable isn’t getting you anywhere.

Continue Reading →

Software archaeology

29 Sep 2020

“The act and experience of programming is, at its heart, a fundamentally human activity […] When considering programming, therefore, it would be a glaring omission to not involve people who specialize in studying artifacts and the human activity that yields them: archaeologists.”

Continue Reading →

Review Seq matching when porting to 2.13

05 May 2020

You know the routine for porting from Scala 2.12 to 2.13: you’ll get a bunch of compiler errors and warnings, and you can quickly enough hack your way through them.

Continue Reading →

Rust principles

04 May 2020

I’m accumulating notes on the principles in Rust. These are the things I want to keep in easy reach to refresh my understanding.

Continue Reading →

1R in Rust

06 Apr 2020

1R (“one rule”) is a rule learning algorithm that first appeared in 1993. It’s a baseline algorithm: if you can’t do as well as this, you need to think again. This post describes my implementation in Rust. For me, implementing an algorithm is a fun way to improve my knowledge of a language and ecosystem.

Continue Reading →


09 Mar 2020

What are the causes of ageing? Is it the accumulation of damage, or over-running healthy development? The latter is addressed on Aging is not programmed: Genetic pseudo-program is a shadow of developmental growth, and these are my notes on that paper.

Continue Reading →

Ageing hallmarks

18 Feb 2020

I’ve been learning about biological ageing over the last few months for a project. There’s so much to take in just on the basics, let alone the new research coming out. To help myself make sense of it, I’ve decided to write up my notes on various papers, starting with The Hallmarks of Aging.

Continue Reading →

What are the chances?

04 Feb 2020

I’ve been flummoxed by some basic statistics questions recently. I’m not alone in this, as it’s a common one for students and 17th-century gamblers. I’m taking this chance to note this down for when I make the same mistakes again.

Continue Reading →

Combining differing error types

20 Jan 2020

Rust, Scala, and many other languages let you use a kind of or to represent errors. In Scala it might be Either<E, T>, and in Rust it’s likely to be Result<T, E>. The E represents an error, and the awkward part of this is chaining together results with different types for E. This post contains my notes on this, for Rust.

Continue Reading →

Tips for using Findster

12 Jan 2020

It’s now been a few years of using the Findster Duo pet tracker, and it’s time to share a couple of tips for making the most of it. They are: permanently attach the Findster to a collar; and start the app early in your walk.

Continue Reading →

The benefit of no legacy

06 Jan 2020

I’m wrangling some job automation via email, again. I decided to do this in Rust, although part of me was wondering why bother?

Continue Reading →

Learning about genetics and epigenetics

31 Dec 2019

I’ve been learning a little bit of biology during 2019, specifically genetics and epigenetics. This post lists out the resources I’ve been using.

Continue Reading →

Richard Dallaway
Hello. I'm Richard. I live in Brighton, UK. My background is ML and software consulting.