We accidentally built an LLVM compiler for JAX

Sometimes when you build software, you shave a yak so deeply that you end up with a surprisingly nice sweater (while the yak, presumably, wonders why it is suddenly rather drafty). For the past while, my team and I have been building a quantum compiler called Catalyst for the quantum …

Refactoring cuisine: how an Iraqi stew sailed to Singapore

There is a specific, sharp mist that hangs in the air when you slice into a calamansi. The fruit is small, usually no larger than a marble, with a thin green skin that yields an abrasive, floral acidity — something halfway between a key lime and a sour mandarin1. Last …
Photo for Refactoring cuisine: how an Iraqi stew sailed to Singapore

What counts as cooking? In defense of the store-bought sauce

“I didn’t cook dinner last night,” my sister mentioned to me the other week. She has a one-year-old and a three-year-old, a combination of ages that practically guarantees a baseline level of perpetual exhaustion. “Oh!” I replied. “Wait.” I tried to rationalize what that meant. My sister sounded too …

Notes on the anxiety of the perfect loaf

My previous blog post, The anxiety of the perfect loaf: the illusion of culinary precision, has been getting a (minor) amount of attention over on Hackernews and Metafilter, and I wanted to take a moment to go through some of the comments, share my thoughts, and revisit the main thesis …

The anxiety of the perfect loaf: the illusion of culinary precision

One of my favorite recipes for challah does not tell you how much flour to use. To a modern amateur baker, this ommision borders on heresy. But it is an honest reflection of how the bread is personally made — cooking is a deeply personal experience, and culinary precision is no replacement for intuition.
Photo for The anxiety of the perfect loaf: the illusion of culinary precision

Building a vintage recipe rolodex with Python, Pelican, and Markdown.

I enjoy cooking. Not only that, but I enjoy complicated cooking — which can sometimes be a bit of a curse. A simple weeknight meal? Not interested. A week-long project to nail the ultimate Xiao Long Bao, Croissants, or homemade ramen? Sign me up! I become somewhat obsessive, reading cooking blogs …

What are quantum computers, and how can we train them in Python?

Earlier this year, I was lucky enough to give a talk on quantum computing and near-term quantum machine learning at PyCon 2021. I’ve always loved the PyCon and SciPy conferences; in fact, one of my earliest memories during the first month of my quantum computing job was watching A …

Recursive custom gradients in TensorFlow

Most autodifferentiation libraries, such as PyTorch, TensorFlow, Autograd — and even PennyLane in the quantum case — allow you to create new functions and register custom gradients that the autodiff framework makes use of during backpropagation. This is useful in several cases; perhaps you have a composite function with a gradient that …