My Blog

stethoscope green

What is a Codelist?

What are codelists and why do they matter? An accessible introduction to coding systems, clinical nuance, and research reproducibility.

Read More
errors orange

Error Handling in Rust: anyhow and thiserror

Practical Rust error handling beyond the basics: add context with anyhow and define typed errors with thiserror.

Read More
errors blue

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.

Read More
crab orange

Women in Rust 2025

Celebrating another wonderful year of women making strides in the Rust programming community.

Read More
table green

Multiple Imputation and Perturbation: Why They're Not Built for Synthetic Data

This blog explores why multiple imputation and perturbation are not suitable for generating synthetic data.

Read More
dag_2 orange

What are GANs and how can they generate synthetic data?

This blog explores Generative Adversarial Networks (GANs) and how they can be used to generate synthetic healthcare data.

Read More
hospital blue

Clinic to Code to Care

This blog came out of a talk Steph Jones and I gave at Women in Data and AI in October 2025. It explores the journey of information from a patient in clinic to how that information is coded for research and ultimately ends up informing statistical and machine learning models that can help improve patient care.

Read More
padlock green

What is Synthetic Data and Why Does it Matter?

This blog is the first in a series exploring synthetic data, its benefits, and its applications in various fields.

Read More
dag_1 orange

Why the Adapter Pattern is King in Health Data

This blog discusses in detail how the Adapter Pattern can bridge the critical gaps between healthcare systems to improve interoperability.

Read More