Rust in Practice
Writing software is a craft. I’ve been writing software code for a long time, and currently I write a lot of Rust. These posts are about writing it well in the context I actually work in, which is data-intensive and scientific software. Error handling, tracing and observability, serialisation, and using the type system to encode things that matter. I try to demystify the language and show how to use it to write software that is reliable, maintainable, and easy to understand.
Accidental Functional Programming in Rust (From an Epidemiologist's Perspective)
Rust quietly pushes you into functional patterns. An epidemiologist explains Result, match, enums, iterators, and when readability beats idioms.
Error Handling in Rust: anyhow and thiserror
Practical Rust error handling beyond the basics: add context with anyhow and define typed errors with thiserror.
Error Handling in Rust: Fundamentals
A clear, practical guide to Rust error handling: panic, Result, ?, unwrap, and expect - written for Rust developers who want clarity without jargon.
Finding Similarity with Vector Search: A Beginner's Guide
This blog comes out of an interactive workshop I gave using SurrealDB. It's a beginner's guide to vector search, a modern way to find matches based on multiple preferences at once.