Things I've written down.
Ruby, Rails, performance, security and applied machine learning. Updated when something feels finished.
Taking over a stalled model: 49% to 77.7% recall
A skin-cancer classifier that looked fine on accuracy and was missing half the cases that mattered. Mostly a story about optimising the wrong number.
Three questions your monitoring should answer
Is it broken, what is slow, and why did this one request fail? Most setups answer the first and leave you grepping for the third.
One line of PySpark, 34% off the runtime
Broadcast joins, two million records, and why Spark's default query plan is worth arguing with when you know something the optimiser doesn't.
The server was fast and the page still felt slow
Server time is a fraction of what a user experiences. The rest is fonts, images, and what the browser is blocked on.
Elasticsearch wasn't the problem. My queries were.
Halving search response time while raising result accuracy 35% — mostly by rewriting what I was asking for, not what I was asking it on.