Writing & Research

Notes on AI agents, ML systems, and engineering experiments.

Restoring HDR to AI-Edited iPhone Photos: The Long Version

May 2, 2026

An iPhone HDR JPEG is two images hiding inside one file, stitched together by a spec war between Google and Apple. AI editors throw the second one away. This is the story of reconstructing it: gain maps, APP2 segments hand-assembled from iPhone hex dumps, a CNN from ICLR 2025, a 5 GB Docker build caused by a 7.4 MB model, and the iOS Safari bug that silently disables HDR rendering if your image lives inside the wrong CSS container.

hdrimage-processingaimljpegiossystems

Measuring LLM Sensitivity: What Actually Moves the Output

May 2, 2026

About 21 models, a ladder of tiny prompt edits, and all the ways the measurement itself tries to lie to you. Scaffold-stability is a metric artifact. Confident logits don't mean stable trajectories. Boundary beats bulk. Part 2 of the Nearby Prompts series.

llmevaluationinterpretabilityresearchmeasurement

Nearby Prompts, Distant Trajectories

May 2, 2026

Chaos isn't randomness. It's deterministic amplification of small differences. I spent a few weeks asking how far that lens gets us with modern LLMs at inference time. Part 1: the framing.

llmchaos-theoryinterpretabilitydynamical-systemsresearch

Hello, world

May 1, 2026

This is a test of the new drose.io blog system. Raw HTML per post, zero parsers, zero build step.

meta

Fine-tuning LLMs: Practical Techniques and Helpful Tips

September 27, 2023

Practical techniques and hard-won tips for fine-tuning large language models: dataset prep, parameter-efficient methods, and evaluation.

llmfine-tuningmachine-learning

Graph Neural Networks

July 5, 2021

An intuition-first introduction to Graph Neural Networks: message passing, aggregation, and why GNNs unlock problems that grids and sequences cannot.

graph-neural-networksdeep-learning

Lessons Migrating a Large Project to TensorFlow 2

September 29, 2020

Field notes from migrating a production TensorFlow 1.x project to TF 2.x — the traps, the compatibility shims, and what was actually worth the rewrite.

tensorflowmachine-learning

Collecting Bananas with a Deep Q-Network

January 3, 2019

Training a Deep Q-Network agent in Unity to collect yellow bananas and avoid blue ones — replay buffers, target networks, the DQN essentials.

reinforcement-learningdeep-learning

Time Series Forecasting for Call Center Metrics

September 26, 2018

Forecasting call-center average speed of answer (ASA) using ARIMA and gradient-boosted trees (LightGBM), with what-if staffing analysis on real operational data.

time-seriesmachine-learning

Autonomous Vehicle Path Planning

February 16, 2018

Building a path planner for a simulated highway: behavior planning, trajectory generation, and smooth lane changes in traffic.

self-driving-carspath-planning

Vehicle MPC Controller

December 19, 2017

Implementing a Model Predictive Controller for autonomous vehicle steering and throttle — optimizing a cost function over a rolling horizon.

control-systemsself-driving-cars

Lane Tracking via Computer Vision

November 8, 2017

Classical computer-vision techniques — color thresholds, perspective transforms, polynomial fits — to detect lane lines from a dashcam feed.

computer-visionself-driving-cars

Randomness in all its wonderful forms!

October 9, 2017

A tour through randomness: why it matters in modeling, random walks and the Wiener process, and estimating area with Monte Carlo.

statisticsprobability

RSS feed