My Blog
How Private is Synthetic Data? Understanding the Tradeoff with Utility
Synthetic data is a powerful tool for health research, but it comes with a tradeoff between privacy and utility. This blog explores what this means for researchers and how to navigate the tradeoff.
The Builder Pattern for Complex Records
Learn how to use the builder pattern in Rust to construct complex records in a flexible and readable way. This helps manage optional fields and maintain code clarity in data pipelines, and can help your data science and engineering teams build more reliable and maintainable systems.
How Do We Measure the Utility of Synthetic Data?
A practical guide to some of the metrics you can use to evaluate the utility of synthetic data.
Logs and tracing in Rust: From Terminal to Grafana
How to ship structured logs from a Rust application to Grafana Loki and query them, with a complete local setup using Docker Compose.
Logs and tracing in Rust: Structured Fields and Spans
How to use structured fields and spans in the Rust tracing crate to add context to your logs and understand the flow of execution in your code.
Logs and tracing in Rust: Fundamentals
An introduction to logging and tracing in Rust, covering some of the philosophy behind logging and how to set up a basic tracing subscriber in your Rust projects.
Why Synthetic Data is Good for Open Science
Understanding the benefits of synthetic data for open science and reproducibility.
Is your Synthetic Data actually private?
A practical guide to the three privacy risks in synthetic data, the metrics that quantify them, and why no single number tells you whether your data is safe.
Applying the Open-Closed Principle to Research Code
Applying the Open/Closed Principle is how you stop accidentally changing yesterday's results.