The $180 Textbook and the Man Who Wrote It Every August and January, the same ritual plays out at college bookstore counters across the country. A student picks up a shrink-wrapped textbook, flips it over, reads the price, and looks up at the cashier with an expression that says: you did this to me. The cashier is making fourteen dollars an hour. The cashier did not do this to you.…
The Rational Consumer Is a Lie We Agreed to Tell Somewhere in an economics lecture hall this morning, a professor wrote "assume a perfectly rational consumer" on a whiteboard. The students copied it down. Nobody laughed. This is the founding myth of mainstream economics: that human beings, when faced with choices, calculate costs, weigh benefits, and select the option that maximizes their utility. Clean. Elegant. Completely untrue.…
Frank Has No Idea How Good He Is Frank brought a vase to the woodturning club last night. Four hundred individual pieces of wood — walnut, maple, cherry, whatever else he'd been hoarding in his garage — arranged in a geometric pattern and turned down to walls three millimeters thick. The whole thing probably took him two hundred hours. He is seventy-eight years old and retired from the post office. I brought a bowl. It's a good bowl.…
My Son Moves Numbers. I Built Bridges. My son called today. He lives in Boston, works in finance, and every time he explains what he does, I understand fewer words than the time before. Something about derivatives. Hedge positions. The vocabulary of money moving from one place to another, frictionless and invisible. I was a civil engineer for thirty years. I built bridges. Actual bridges — steel and concrete, load-bearing, walkable.…
The Hole Is Part of the Bowl The mesquite came off the lathe with a void on one side — a gap where a branch once lived, smooth-edged and deliberate-looking, shaped exactly like the thing that left. Most turners would reach for the epoxy. Fill it, sand it flush, call it a feature. I left it open. There is a consensus in craft, and in grief, that absence is a problem to be solved. That the goal is seamlessness.…
Your Coffee Shop Is Charging You $1.50 for Oats and Water Every morning, millions of people hand over a dollar-fifty for the privilege of adding oat milk to their coffee. The coffee shops accept it with the quiet confidence of someone doing you a favor. They are not doing you a favor. They are blending oats with water and charging you a surcharge for the theater of it. This is not a complicated product. Oats. Water. A blender.…
The Blanket That Grew: On Crochet, True Crime, and 1AM Logic It started as a throw blanket. Sage green and cream, granny squares, something to drape over the couch. It is now approaching the square footage of a king-sized bedspread, and I have no one to blame but a murderer in a documentary and my own hands. This is what decompression looks like after a long shift. Not sleep. Not stillness.…
One Nurse Catches the Baby. One Catches the Dad. The baby came fast. No time to glove up, no time for the choreography that usually makes a delivery feel managed and safe. Just a child arriving on its own schedule, indifferent to protocol. The father fainted. This happens more than people imagine.…
The Only Place With No Rules Someone set off a stink bomb in the B-wing bathroom on Monday. When I went to investigate, I found three seniors eating lunch in there. Not hiding anything. Not in trouble. Just eating lunch. In the bathroom. By choice. I asked them why. One of them looked up and said, without irony, without apology: "It's the only place with no rules." I thought about that for the rest of the day. It is the end of the year.…
The 5 A.M. Nod The sun wasn't up yet. Neither was anyone with any sense. But there he was — another runner coming the other direction, head down, legs churning through the dark — and we did the thing. The nod. Half an inch of chin movement that contained an entire conversation. That nod is a language. It says: I know why you're out here. Not for fitness, not for some race bib, not for the Instagram caption.…
A B+ Is Not a Crisis. Your Email Is. A parent emailed me this week to ask what the school was going to do about their child's B+. Not a failing grade. Not a pattern of struggle. A B+. Which is, by definition, above average. Which means, by definition, the child is doing well. I wrote four responses. The first was honest. The second was diplomatic.…
Grief Gets Into Everything A stranger on the internet described my art style as "if Studio Ghibli had depression." I wrote it down and taped it to my monitor. That is exactly what I am making. Muted greens. Grays that lean toward exhaustion. Warm light that arrives late and stays briefly, like a visitor who knows they are not supposed to be there. Every environment in this game is slightly too empty — not abandoned, not post-apocalyptic, just... after.…
The Best Rain in Any Indie Game The rain looks incredible. Eighteen months of work, and every drop catches the light the way real grief sits in the chest — heavy, diffuse, impossible to ignore. It is, without question, the best rain in any indie game. It is also the reason the final act has not been written. The game is about a character processing the death of a parent. It was always supposed to be that. The design document said so.…
The Bug Was the Point Eight hours. That is how long it took to discover that the enemies were working perfectly. They were pathfinding with precision, navigating obstacles, doing exactly what they were told. They were just doing it underground — beneath the map, in the void, invisible to everyone including the player. The fix was a single line. Flip the Y axis. Done. But before the fix came the realization, and the realization was the interesting part.…
The Two Versions of My Day Someone asks what I did at work today. I do the math in my head — fast, automatic, the same calculation I run every time — and I say, "Oh, you know. The usual." There are two versions of my day. One is shareable. One is not. I live in the gap between them. The shareable version has a beginning and an end. It has a commute and a coffee and maybe a funny thing a colleague said.…
The Six-Second Eternity of Blanking on Rounds The attending asked me to present. I knew the patient. I had reviewed every lab value that morning, walked the ward, done the work. And then he asked about the potassium, and my brain simply left the building. Not a gap. A full evacuation. Six seconds of silence that felt like a geological era. He said "3.8" and moved on. The team moved on. The hospital moved on.…
What No One Tells You About a Calling I am writing this from my car in a hospital parking garage. I have been awake for twenty-eight hours. I saw fourteen patients today and can clearly recall nine of them, which is a problem both medically and personally. My last meal was a granola bar pulled from my white coat pocket — vintage unknown. This is what a calling looks like from the inside. We have built an entire mythology around the word. Calling.…
The Empty Brain: What Salsa Dancing Does That Therapy Can't For the first two songs, my body had forgotten everything. Two months off the floor, and the steps felt like a language I'd once spoken fluently and now had to translate in real time. Then something shifted. Muscle memory surfaced like a reflex, and suddenly I was spinning someone, the music was loud, and my brain — for the first time in weeks — was completely empty. Not calm. Empty.…
Derek's Ghost: A Data Engineer's Murder Mystery The commit message said "fix." That was it. No ticket number. No context. No Derek — he left the company in 2021, and the mystery traveled with him. Data engineering has a reputation problem. People picture it as plumbing work: move the water, check the pipes, go home. And sometimes it is exactly that. Then a rounding error surfaces, and everything changes. The error itself was almost nothing.…
PagerDuty Broke My Sleep. My Therapist Had No Framework. At 2am, a column name ended my night. Not a server fire. Not a breach. Someone upstream had renamed a field from "user_id" to "userId" — snake_case to camelCase, in a PostgreSQL database, without telling a single person downstream — and my pipeline ate it. The fix took twenty minutes. The aftermath took two hours, because my brain does not distinguish between a resolved incident and an active one.…