
Part of Capote's genius is that it is impossible to talk and think about it without talking and thinking about In Cold Blood, a task I am procrastinating (having finished In Cold Blood yesterday and immediately stopped to watch this film). The book is a skeleton key for American storytelling; the film is, by extension, a deconstruction of that skeleton key, and an exploration of what we now call parasocial behavior — what does it mean when the observer upends the observed, and who has the right of way?
So to talk about this film without talking about In Cold Blood leaves us with the performances. PSH is, obviously, tremendous — even setting aside the metatextual implications of his portraying an author who died to drug abuse, there is a viscosity to every single scene and frame he's in; he is selfish and smart and well on his way to his terminus, and you never for one second doubt who you're watching on the screen. (This is to say nothing of the supporting roles, uniformly excellent even if their jobs are chiefly orbital.) To hear him tell it, this is a story about how great art will just absolutely fucking kill you: it is a story about deciding whether or not the lethal dose is worth it.
This is the fifth summer that we've stayed in Richmond since moving back east, and therefore also the fifth soilday of our backyard garden. Our garden is not spectacular, but it is special; it is both calendar and time capsule, a lodestar around which we orient our daily lives and our memories of the years past.
This year, we came close to disaster.
Lucy was born in September, and she was approaching five months as the weekend which we had earmarked to plant our seeds approached. That week was a tough week — not for any interesting reasons, but for the uninteresting and hazy reasons common to all new parents — and the conversation Haley and I had went from "how shall we Tetris the seeds this year?" to "how many boxes should we do?" to "should we be doing this at all?"
After much deliberation we decided that a single four foot by four foot box (scaled back from last year's garden which was quadruple that size) felt appropriate and represented a commitment to our lovely hobby tempered but not extinguished by slightly more pressing concerns. A few months later, that decision proved to be one of the better decisions we've made: every morning, Lucy comes out to the garden with me and helps with the morning's work, picking overgrown mint and basil, inspecting the peppers, re-latticing the cucumbers, and weeding by proxy by occasionally anchoring herself to a nearby patch of crabgrass.
One of the things that anyone who has ever dabbled in gardening will tell you is that mint is a weed. Bizarrely, we have not shared this plight: we try to grow everything we can from seed for the fun of it, and for some reason, mint is the one thing on which we never manage to really get a consistent handle. We grabbed some clippings from my mother and, thinking it a wise idea to hedge our bets, grabbed another from our friend's parents in Fairfax while we were up there.
You can imagine that this was perhaps an overcorrection, and we were left with a copse of mint that bordered on calamity . We can only drink so many juleps and mojitos! We ventured to far-off lands (which is to say, to recipe blogs not yet registered in my Feedbin) for inspiration. We finally stumbled upon a winner almost obvious in retrospect: mint chimichurri. Garlic, red wine vinegar, oil, spices, food processor: call it a day. Goes perfectly with red meat and breakfast sandwiches; goes great with a lot of other things too.
I mentioned that the garden is a time capsule, and this is what I drive at: 2025 is the year of many things, but now too it is the year of mint chimichurri in much the same way that 2022 was the year of Oops! All Cucumbers and 2023 was the year of driving out to Louisa County to score a great deal on industrial-sized bags of vermiculite.
Simon Willison writes about the recent Cursor changes:
Firstly, the era of VC-subsidized tokens may be coming to an end, especially for products like Cursor which are way past demonstrating product-market fit.
First, have some epistemic disclaimers:
- I am a happy and paying user of Cursor (the past two months I averaged ~$5 of overages above the $20/mo plan).
- Even predating this latest situation, I am fairly bearish on Cursor’s prospects as a company: I haven’t found any of the arguments as to how they’ll protect their marketshare as meaningfully cogent or persuasive.
- I also pay for Claude’s chungus-sized $200/mo plan , and use the hell out of it.
That aside: I love — and find especially apt — the phrase “VC-subsidized tokens”.
In 2015, Lyft would charge me $7 for a ride from West Seattle to Belltown; Uber would charge me $5. It was not clear to me if this was because Uber had better magic or because they were more aggressively loss-leading. I certainly did not (nor did anyone I know) have "loyalty" to one or the other — we simply opened both apps and chose the cheaper quote.
In 2025, both companies would charge me $30 — a price that is less beggaring of disbelief, and also a price that wouldn’t cause me to say “okay, time to call a cab company” but would cause me to look up how delayed the C Line has been lately . It’s unambiguous that the ridehailing wave resulted in an objectively better user experience for getting a cab; it’s also very clear that a lot of the temporary shift towards these services was more about taking advantage of very generous a16z subsidy and less about enduring behavioral change.
I use these tools every day; I find myself starting to shift from a “the marginal costs round down to zero!” mindset to scrutinizing the bill of a random Claude Code session as if I ordered a burger and a beer at an airport bar and the bottom of the check reads $80. (“$12 to fix two linting errors in the OpenAPI spec? Really?”)
As always, I remain particularly interested in the field of open source models, not just for the obvious moral and custodial benefits but increasingly for the economic benefits. If you subscribe to the broad idea that open source models will lag a year or so behind frontier models, a lot of these conversations shift towards discussions of trading price for speed, rather than accuracy. (And for much of my Claude Coding, which is of the genre “hey, go run off and do this thing that I thought of while walking the dog”, I do not care about the wall clock time so much as I care about the quality of the final artifact.)

Jesus, nobody twisted your arm to be here today. You're here of your own volition. You like to think the weight of the world rests on your shoulders. Like this place would fall apart if Dante wasn't here. Jesus, you overcompensate for having what's basically a monkey's job. You push fucking buttons. Anybody can waltz in here and do our jobs. You... You're so obsessed with making it seem so much more epic, so much more important than it really is. Christ, you work in a convenience store, Dante! And badly, I might add! I work in a shitty video store, badly as well.
You know, there's a million fine looking women in the world, dude. But they don't all bring you lasagna at work.
When I told my brother that I had finally watched Clerks, he responded with a bit of surprise that I had never seen it before. I couldn't help but share his reaction on paper—highly influential, semi-ironic auteurish indie comedy has my name written all over it, and yet I have never been an acolyte of the View Askewniverse, perhaps because my one and only real taste of Kevin Smith's work (besides the worst tweet in the entire world) is Dogma, played on TNT after school—a film that upset me in a very literal sense, having struck me then and still striking me now as unpleasant for the sake of unpleasantness, which is never a thing I really go for.
All of that aside: Clerks is great. It's a simple, funny, thorough film that never feels anything close to masterly, and is all the better for it. At some point over the past decade or so, our popular definition of the term indie film has become bastardized into meaning that the director has only done one Marvel film and not multiple. And Clerks is a movie that you cannot love for production value: you can only love for what it is trying to be relative to everything else, for filling a void in the zeitgeist that might now today seem banal (it is charming to think of a time where Star Wars banter was niche and idiosyncratic).
I can't pretend to have experienced anything about the early nineties enough to speak to it being true to form, but these characters are real people in a timeless and obvious way: they are clever, cynical, selfish, and miserable, without a neat narrative or crisp resolution. You hang out with them as if they are friends of that one older friend of yours: you're not sure if you like them, you're not sure if you'll ever see them again, but they're pretty damn funny.
We are officially in H2, gang. I published fewer posts than I had hoped:
Summer's here and the ink flows slower than the sweat (we lost A/C for a few days, the misery of which was counterweighed by me correctly diagnosing the problem as a busted capacitor). So much still in the drafts folder: NotePlan, Nixonland, Husbands and Wives, Let Them All Talk, Hex, The Score Takes Care of Itself, The War Room, The Straight Story, Clerks. We'll be travelling (Seattle, then Reno); we'll be keeping busy.
- Many people have asked me what the biggest surprise has been, now that the dust has settled: I politely inform them that the dust has never been more unsettled before answering that nobody quite tells you how fun having a kid is. Childlike joy is a contagion; it is impossible to watch your baby blow raspberries for a minute straight without laughing.
- When things happen quickly, they happen very quickly. It took ten days to go from "hm, she might crawl soon" to "is that a crawl, technically?" to "oh lawd she crawlin'" to Lucy jog-crawling laps around the house in order to chase poor Telly, who has gamely accepted his fate as Chief Entertainment Officer of LucyCorp (eschewing stock-based compensation in favor of food thrown down from the high chair).
- She has favorite toys, favorite foods, favorite pillows. She is known on a first-name basis at coffee shops and our local butcher. She has so much fun doing whatever she happens to be doing at any given moment (unless it is waiting at a red light, whether on foot or in car).
- It is still, of course, quite hard. Days usually start at five and end at midnight, and despite those OSHA-violating hours I am behind at any given moment on twenty different things. My threshold for good workout has shifted from personal bests to time under tension, which is a concept that generalizes broadly; I am still learning about how to live a life that is not executed with a certain kind of calendrical precision and fervor.
- Old rituals crumble; new rituals emerge. I write this from our dining room table, at 9:00 PM; Lucy's been in her crib for an hour, and Haley is starting to wean which means she has more time and energy at night, so we're spending time in the dining room using our record player for the first time in years. It is fun to go crate-digging through your past self: For Emma, Forever Ago is better than it's ever been, as is The XX.
- Blessings, blessings, blessings; impossible to count, impossible to ignore. If this isn't nice, what is?
- One of us will have to go up in an hour or so because she's teething this week, and she's growing this week, and the combination of the two means chaos: but that is a problem for a slightly distant version of ourselves, and in the meantime we've really nailed our Gimlet recipe (key limes work really well with a rich mint syrup), and it is my turn to pick the next record, and I need to make sure it's a good one.
One of the first things I did when setting up Whisperglass was to create a justfile
.
I have grown older. I've either gotten worse at context switching or better at gauging my ability to context switch, and I have become a little bit obsessed with minimizing friction between jumping from project to project or repository to repository wherever possible. One of the really easy ways to do this that requires almost zero setup cost is by making sure every single project I interact with has a just
file with a standard set of commands. These commands are install, bootstrap, dev, build, test, and lint. A just
file can, of course, have more commands than this and can be fractal, but those are the core six that every project must have.
And as a result, it's really easy for me to hop from one repository to the next without having to get briefly stunned in my tracks trying to remember how to just spin up an Eleventy server or whatever. just
files feel a little bit like Go format to me. And as a result, it's really easy for me, one repository to the next, without having to briefly stunned in my tracks. So I'm trying to remember how to get up an Eleventy server or whatever.
Here’s a sample Justfile for a Django repository:
# Install dependencies
install:
uv sync
# Run migrations and collect static files
bootstrap:
uv run python manage.py migrate
uv run python manage.py collectstatic
# Run the development server
dev:
uv run python manage.py runserver
# Build the production static files
build:
uv run python manage.py collectstatic
# Run tests
test:
uv run pytest
# Run linting
lint:
uv run ruff check .
uv run ruff format .
Standardizing on just
has a number of other ancillary benefits:
Nested justfiles
If you're in a monorepo, you can have a justfile
in a subrepo and invoke it very elegantly like this:
just backend/test
It also makes composition into top-level commands very easy. For instance, take this snippet from Buttondown's justfile
:
install:
./scripts/install-brewfile.sh
pre-commit install
just check-docker
just sniper-link/install
just image-generator/install
just latex-renderer/install
just docs/install
just marketing/install
just analytics/install
just app/install
just internal-docs/install
CI
Making the justfile a source of truth makes it a lot easier to run CI on it. Instead of having another invocation of your test runner in CI that you always forget to update, you can just push the logic into the justfile as a single source of truth.
Documentation
Justfiles are self-documenting in a way that very few other scripts are. (I wish it was literally more self-documenting: I'd love a HTML-based output of the justfile that was just a bunch of markdown files that I could just open in my browser, but just --list
is a good start.)
You get the point
Even if none of these things are world-shattering, they come at zero cost, or at least what rounds down to zero. (I am hospitable to Convinced this is essentially the same thing as make
or as having a bin
directory. But at least for me, both of those approaches carry a bit more implicit baggage because you have to spend some time evaluating: is this a real Makefile
or is this just a task runner? A just
file is very explicit—you know exactly what it is and what it is used for.)

I spent a couple hours this weekend resuming work on Whisperglass, born from some of the internal functionality within Buttondown. Resuming is perhaps a misleading choice of words: the work hitherto performed on the app was: thinking of the idea, registering a domain, and putting a Google Docs-based landing page in front of it. This weekend, I actually created a repository and started adding some code. This is going to be a hodgepodge of various notes from the early onset before I forget them all.
Scope
This is, in many ways, an app that I should have done before Buttondown, in that the scope is so tight and the TAM is so small that it's a bit of a training wheels SaaS compared to most other things I've worked on. There's nothing wrong with that, obviously. I've always admired products like DMARC Digests and the since-departed Briefmetrics as smart ways to try and just get a little bit of incremental value out of a common pain point.
Goals
There's really no expectation of this being a meaningful financial success. I think it will be fun to do this and get my hands dirty programming from scratch in a way that I haven't done in a long time, and I think it can be a good little source of inbound traffic for Buttondown — but it feels like the 95% case for this is, ultimately, a trivial revenue number compared to anything on the Buttondown side or anything on the Third South side.
However! One of the things that I have really wanted to exist for my own tinkering is an open-source SaaS in Django that I can point people to and use as a legitimate example for some patterns and tactics. This is a nice way of being able to do that, and it will also mean that I can credibly and reasonably riposte complaints that the prices for Whisperglass are too high — "just host it yourself" is a fun card to be able to play.
Name
I don't love the name, I'll be honest. I wanted something that wasn't explicitly GPT-related in both senses of the term. I wanted something that had an easy dot-com to remember and pronounce. Whisperglass was the best I could come up with, and I guess it theoretically leaves the door open to surface area expansion down the line.
Stack
Django, Tailwind, PostgreSQL — pretty much the same as Buttondown. A couple notes around the edges:
- Going to explore the use of django-cotton and resist the siren song of a JS framework. (Nothing wrong with them, but this is not a sufficiently demanding frontend to warrant the big guns.)
- Going to explore using Postgres only for queuing and crons, rather than using Redis.
- Wherever this gets deployed, it's not going to be on Heroku (mostly as a training exercise for a large Heroku exfiltration down the line.)
Speed
I mentioned that I started this app in earnest this weekend per timing. I spent three hours total with my laptop open. During that time, I was able to get the core schema, registration, auth, core data sync mechanism, a pretty solid design system, a landing page, linting, tests, the 0.0.1 iterations on notifications, and a generalized activity feed. I framed this as with my laptop open specifically because the majority of my input came from using Aqua to talk to Claude, and the minority of the input largely came from copy-pasting existing functionality, dependencies, and utilities from. I think those things are almost equal in weight, obviously flawed, as a tremendously powerful lever for sloppy code. But I think it's really, really hard still to get meaningfully well-architected code out of it without having a lot of backstops and a lot of prior art.
Like and Subscribe
- If you want to follow along: just subscribe to this blog. I'll be posting updates here as I go.
- If you want to test Whisperglass as an actual user: email me.
Thomas Crown: [smirking] I trust myself implicitly.
The Psychiatrist: But can other people trust you?
Thomas Crown: Oh, you mean society at large?
The Psychiatrist: I mean women, Mr. Crown.
Thomas Crown: Yes, a woman could trust me.
The Psychiatrist: Good. Under what extraordinary circumstances would you allow that to happen?
Thomas Crown: A woman could trust me as long as her interests didn't run too contrary to my own.
The Psychiatrist: And society? If ITS interests should run counter to your own?

Not unlike its titular billionare, there's something so charming and disarming about the Thomas Crown Affair's incredibly modest, breezy, I-can't-believe-this-isnt-a-TV-movie sensibilities. There is nothing you'll be surprised by in this film: Pierce Brosnan plays a rakish billionaire, and Rene Russo plays a fiery art sleuth trying to track him down, and from that description alone you already know everything there is to know.
It's neither a complicated nor substantial film, and your acceptance of its wispiness is largely predicated on whether you're watching this because you have 90 minutes to kill or if you're watching this because you want to see something good.
There are a couple fun choices in the film: one is the framing device of Faye Dunaway as the psychiatrist, which seems completely immaterial to the plot and doesn't even give us any information about Brosnan's character, but is a nice little wink to the original film. Another is a very deliberate focus on eschewing technology in favor of more timeless methods of heisting, and I think that does this film a favor in much the opposite direction that most of Brosnan's Bond films feel dated purely because the folks behind the camera lacked the self-control to mess with gadgets.
But if the movie is defined by its suave vacuity, there are just so many better options that I struggle to recommend it to anyone who's already drowning in things they've been meaning to watch. It is an unfair bar to compare this to Ocean's Eleven (also a remake!); this is a quieter, stiller movie, and one that's more interested in the romance than the heist. (But there is more beauty and truth in one little exchange in Ocen's Eleven — "does he make you laugh?"; "he doesn't make me cry." — than in all of Russo and Brosnan's smoldering banter.)
pytest is, in many ways, the Age of Adz
of the broader Python ecosystem: a rewarding idiosyncratic departure from convention whose quirks and foibles are quickly and easily outweighed by the fact that it’s just really, really good.
Magic name-based dependency injection? Totally new scoping paradigm? Autodiscovery? Sure. All of that is forgivable because the tests themselves become so pleasant to read and write.
And/but/nevertheless, much like Age of Adz
’ impenetrability being in no small part due to track length (Impossible Soul, the closing track, sums to twenty five minutes across five parts; the title track alone is eight minutes) — conftest.py
, the vaguely bizarre ur-file which contains all of your fixtures and other various pytest goodies, can quickly get bloated and confusing.
What I wanted was the same thing I had for tests — colocation. If I had, say, a survey model, I wanted to be able to define the fixtures for that model next to the model itself but still have it be globally available. Same thing with external services: if I’m mocking out my calls to Stripe, it just makes more sense to organize those mocks closer to the actual implementation code.
I struggled to figure out a way to do this until poking around the docs and realizing that “plugins” are more of a duck type than an actual thing — from pytest’s perspective, a plugin is just a module filled with stuff, and therefore I could technically treat a file filled purely with fixtures as a “plugin” imported by my root conftest.py
.
This means I can do something like this:
class Survey(BaseModel):
identifier = models.CharField(max_length=100)
question = models.CharField(max_length=500)
answers = ArrayField(base_field=models.CharField(max_length=500))
newsletter = models.ForeignKey(
Newsletter, on_delete=models.CASCADE, related_name="surveys"
)
@pytest.fixture
def survey(newsletter: Newsletter) -> Survey:
return Survey.objects.create(
newsletter=newsletter,
identifier="pokemon",
question="What's your favorite starter?",
answers=["Bulbasaur", "Charmander", "Squirtle"],
notes="",
)
pytest_plugins = [
"emails.models.newsletter.model--mock",
"emails.models.survey.model--mock",
]
There’s no real magic here — well, besides all the magic employed by pytest
. But it’s a nice tactic that cut our root conftest from ~2KLOC down to a very manageable 200, and made fixtures much more discoverable in the process.
A man on a thousand mile walk has to forget his goal and say to himself every morning, 'Today I'm going to cover twenty-five miles and then rest up and sleep.
via Leo Tolstoy
Scattered throughout the Buttondown docs site, you'll see the fruits of the latest experiment I'm running: getting rid of outdated screenshots and videos by replacing them with iframes. The iframe itself points to our demo instance, which helps alleviate some security issues, and some very light parsing of query parameters allows us to apply a mask and highlight a specific element. This seems really cool, and after hacking out a proof of concept, I'm kind of surprised I haven't seen this tactic applied in more places.
One of many fundamental problems that rapidly evolving tech companies have to face is the drift between docs and the things that they're documenting, and a huge part of this pain comes from the fact that it's really, really hard to keep media artifacts up to date. This seems like a nice way to sidestep that problem entirely while also making a better user experience, since the user could just go from this specific frame, click on it, and then open that exact page in their browser.
There are two obvious reasons that I can think of for not doing this:
- Security. We solve this by using a completely separate demo instance of Buttondown that's permanently logged into its own account.
- Performance. iframes are slow! We're not doing it here yet, but it seems pretty trivial to just take a Puppeteer screenshot of every single iframe as a facade and then lazily load on hover or based on some other heuristic.
Early feedback from this approach has been really positive, and it feels not unlike stumbling upon gofmt
for the first time — a joy and confidence in the knowledge that this onerous chore has become 80% easier. I'm sure there's a lot of other nuances and edge cases and weirdnesses that I haven't really stumbled into — but it's surprisingly versatile.
I think it's rare that we get to make our docs better and easier to maintain at the same time, and I'm excited to see where this approach ends up. If you've run into any companies attempting or succeeding with a similar approach, please let me know.
There's a (likely apocryphal) quote from Soderbergh about Ocean's Eleven, one of the greatest movies about America:
I love seeing a movie does what it does and does it well and makes no argument about it. To me, Ocean's Eleven was my opportunity to try and make a movie that has no desire except to give you pleasure from beginning to end — a movie that you just surrender to without embarrassment and without regret.
I don't think many people would ever cite Soderbergh as their favorite director, but: he's got an incredible action economy, is unafraid of failure, challenges the industry more than his contemporaries, and has shipped two stone-cold classics (the aforementioned Ocean's Eleven and Logan Lucky.)
And if the Ocean's trilogy is a riotously entertaining meta-commentary on American cinema, Logan Lucky is a riotously entertaining meta-commentary on the Ocean's trilogy, then Black Bag is, well, not riotous—it's a quiet and subdued film filled with mostly quiet and subdued megastars, but a demonstrably and thrillingly entertaining meta-commentary on le Carre, Agatha Christie, and the trappings of British genre fiction. (Fassbender's character is a really fun riff on Smiley in some respects, though the core of Smiley's character is perhaps his fallibility, his paunch, and unrequited love.)
And, conversely, one of the sweetest and loveliest through-lines of Black Bag is the powerful and honestly inspirational marriage between his characters and Cate Blanchett's. There's a lot of MacGuffin-izing in here and a lot of things that don't quite hold up to scrutiny in much the same way any constituent part of Ocean's Eleven doesn't quite hold up to scrutiny. But the goal of this film, like so many of Soderbergh's, is not scrutiny — it is pleasure, and the luxury in Black Bag's 90-minute runtime cannot be understated, a film that would feel hedonistic if it was not so masterful and self-assured. Every character is given a grace note or two, and this feels a little deeper than the one-note archetype that they embody.
Black Bag is not going into my personal canon. There is, not unlike Knives Out, a certain echoing hollowness deep within it—a sense that it is more interested in response than call. I can't fault it for that, but I can't consider it one of my top 10 or however many films of all time. That aside, this film is flawless. What are you doing? You should clear your schedule, find a friend or a spouse, and watch this movie right now. You'll not have a better use of your time.
Hello! I have so much to catch up with you about. The time has flown.
Reading (and watching)
As you might have surmised from the radio silence, less to share than usual on this, but I am finishing up what is almost certainly going to be my favorite book of the year, Ducks, Newburyport. It's an experimental novel in the same vein as Infinite Jest or Ulysses, but don't let that descriptor scare you off if you are the kind of person who is scared by the emotional baggage of either of those books. This is a harder read in some respects and a much more thrilling read in others, and it is one of the books where you instantly understand exactly what a writer is trying to do.
Beyond that, I really loved: Diner, Working, They Came Together (more for nostalgic reasons than anything), North by Northwest, Pantheon (Season 1), The Studio, and the second season of The Rehearsal. (Still need to watch Andor S2 once Haley and I can carve out a few evenings together, and I've heard great things about Black Doves.)
Writing
Traditionally, when I do this I share all the stuff I've written in the past month. Well, it's been four months, so in lieu of that I'll share my two favorites: What Gives and Fatherhood.
Buttondown
You know, whenever I sit down to write one of these monthly roundup posts, the first thing I do is open a tab with every single blog post that I've published since the last monthly roundup, and it's funny to see HQ1 be one of the first tabs. Moving into this office feels like a lifetime ago, and in fairness, it has been three months—which, as we will get to later, is the new unit of lifetime. It's been a really busy quarter—mostly good busy, some bad busy. I think this is the thinnest I've ever felt between interesting product decisions, tough existential questions about strategy and growth, scaling up the team, and building out new processes because we've outgrown the old ones—or lack thereof—trying to keep more and more of a rapidly expanding organism in my head. It can be stressful on stressful days, but my median state is that of gratitude that I get to spend eight hours every day working really hard on interesting problems for people who I care about, and then I get to go home.
Some stuff in particular that I'm proud of shipping: the Playground, the CLI, the Firewall. but I don't need to ask for your forgiveness for the solipsism since I think you're used to it by now I'm proud of being able to work on the organization and the process more than the product itself. One of the things that was always tricky for me being In Management was the disconnect that I felt between my empathy and concern for my employees and my general anhedonia to the supersystem in which we all resided. Agency feels good; it is much easier and exciting to care about meta-work when I know we're the ones reaping the rewards.
Lucy
Lucy just turned eight months old. She's not quite crawling but doing everything short of it; she's not quite talking but has no difficulty in making her feelings known on any matter in which we beseech her opinion. We're in a pretty good schedule right now, though "pretty good schedule" is always relative when it comes to a kid. We roughly know how much she wants to sleep during the day, when she's going to go to bed, and when she's going to wake up. We also know who her favorite dog is (Telly), which is her favorite toy (Hobbes), and what her favorite brand of Greek yogurt is (Ellenos). The rest is a glorious act of continuous discovery — she is in many ways a Morrowind character, going to bed every night and then waking up the next morning with increased stats and two new skills.
The overwhelming joy of getting to spend time with her is so visceral that it makes writing about it feel anodyne and therefore impossible. Here is what I mean: my favorite part of every day is bringing her with me to the garden to water the crops and herbs. Each morning is a bit of a gacha: she will either find delight in the arc of the water from the watering can, or the novelty of a particularly long sprig of parsley, or the shadow-dappling of the soil next to the tomato plants in the Richmond sun. I am writing this paragraph, and trust me that it is not a bit when I say the mere act of writing this paragraph is forcing me to immediately leave the office early to go find her and have her honk/laugh at me.
Telly
Meanwhile, Telly's role as older brother continues to evolve. He is not exactly thrilled with the situation. He understands, and he is fiercely protective of his sister. But he's also still a little bit of a shit when he feels like it. My current negotiating tactic with him is what Haley has deemed "Boy's Club time": every evening at 7 p.m. when she takes Lucy up to get ready for bed, he and I live like kings and bachelors: which is to say, we go for a walk, play fetch for 10 minutes, and then he immediately passes out while I drink half of a Pabst and fall asleep watching the playoffs.
Haley
The first year of parenthood is filled with many surprises and revelations; one of the best of these is discovering hitherto unearthed virtues — ways in which your partner is even greater, kinder, warmer, and stronger than you had imagined. There have been a lot of these.
The first meal we ever had together in our house — that house, a lovely and terrible ramshackle craftsman in Green Lake — was an 18-inch pizza, freezer Manhattans and a bag Caesar salad, The Caine Mutiny and a sense of utmost arrival and contentment. Some of that has changed: movie nights are rarer for us now (evenings are a bit of a math problem); she's graduated from Manhattans to Gimlets . But we still get the same pizza we got five years ago (Belmont in lieu of Zeek's), and new rituals lattice themselves onto old ones rather than replace them outright. (To give a concrete example: Lucy really loves pizza crust.)
Here's what living with Haley is like, though: a few weeks ago, I was biking back from the office, carrying with me the baggage of a long day filled with too many calls and not enough coffee. I pulled into the backyard (laden with turf rather than what we generously referred to as "sod" in the Seattle house) and discovered Haley and the kids out there waiting for me, playing fetch (Telly) and spatula (Lucy). And in that brief instant, I could not quite remember where I was except home, nor how old I was except married — and the near-painful desire to live in that feeling of arrival forever was matched only by the joy in knowing that I can.
Miscellany
I hope you are well. If you don't hear from me for a while, it is because I am taking my family on a lovely walk because it is a nice day out.
It's useful and fitting that yesterday I wrote, in reference to [[Secret Mall Apartment]]:
Which, to be clear, is fine — and charming in its own way. Were these eight people engaging in an explicit art project? Almost certainly not. They were kids fucking around. Does it make you think? Does it change the world in some interesting, albeit slight, way? I think so, and the distance between those two truths does not matter that much, and I think I (we) used to feel better about that, that a random art project could be a random art project and not a referendum.
No other show seems to straddle this bizarre, blurry, liminal space between comedy, metafiction, and art quite like The Rehearsal.
How do you describe the show? What do you make of it? The quick-hit "jokes" are great, such as the graphic of Paramount Germany slowly taking over Europe, but everything larger (entertaining as it is) feels recursive in a way that delights the brain and eludes the tongue. "Nathan's making a joke about this thing which was a joke about this thing which was a joke about this thing." It is impossible not to sound like a Redditor when talking about how much you enjoy the show.
There's almost a Jackass element, too, to what Fielder has done this season, capstoned with (spoilers!) the genuinely impressive accomplishment of getting a pilot's license just to reenact flying a 737 on a plane filled with actors. A lot of what Nathan does elicits the kind of dry scoff-laughter that comes from shock and disbelief, followed by the dawning realization of just how far he's gone; this season traded some of the ambition and insanity of last season (which I liked!) for a leaner, more focused set of bits, all of which paid off and none of which outstayed their welcome.
I don't know how to situate "The Rehearsal" alongside really anything else, but what I know is that I look forward to it and it enchants me. (And I have no idea how stressed HBO must have been during this filming.)

I can't quite remember how I got into it, but in high school I was a big webcomics guy, mostly pixel stuff. But the one I loved the most at the time, and felt permeate deep into my identity in a way that 8-Bit Theater and the rest never could, was Questionable Content—a still-running series about a self-insert-shaped character working at a coffee shop in New England and palling around with his coworkers, most of whom were women, all of whom had high levels of snark and indie rock erudition.
I fell out of readership in much the same way I fell out of a lot of bits of my high school identity—you go to undergrad, you have your first Natty Light, you buy a couple pastel polos, and suddenly it is four years later, and you wake up checking your fantasy football scores rather than the collage of daily comic strips.
Five years later, feeling a little more comfortable in my having an identity that was not primarily formed in reaction to my friends and whatever book I was reading (or pretending to read) at the time, I revisited QC. It felt something like a time capsule—not just into what passed as laudatory alternative humor and culture, but also a time capsule into myself.
It was fun to remember being the kind of person who fantasized about working at a coffee shop — who fantasized about having an increasingly idiosyncratic coterie of band T-shirts. It spoke to a culture that I wasn't even really sure existed, but desperately wanted all the same, and I remembered at once how adulthood felt like a distant, beautiful island filled with serendipity and meaning.

I bring this up in the context of Secret Mall Apartment not just because I think the characters of QC would befriend the protagonists of the documentary, but because it's hard not to have the same kind of feeling—both a nostalgia for remembering all the discussions and jokes about these lovely artist/squatters, and a not unpainful feeling of distance between who I was and how I thought about these people then versus now, and how my understanding of meaning and grandeur has shifted over time.
SMA is about the physical world: it is a treatise on who owns a space and what it means to modify a space, and all of those things. But it also feels like a bit of a time capsule into what the internet or what communities used to be—the idea of privacy and being part of a secret club, and the thrill and joy of discovery before we had fully swung into an indexed world where the difficulty was in curation rather than discovery.
Okay, so, the film. I'm not really sure this works well as a documentary. There's a thinness to it that sits in an uncanny valley between cinema, reality, and an explicit top-down narrative. Workman, the director, does a lovely job with the aesthetics, but the fact that padding the narrative with quick asides about relationship drama and 9/11 just to meet a 90-minute runtime feels indicative that there is not some big story to tell here. It's a small story! It's the kind of thing that briefly went viral before "went viral" was a phrase, and I think I was more bemused than enlightened by the attempts of the crew and original collective to try and conflate the mall with a broader statement about Society And The Way Things Are Today.
Which, to be clear, is fine — and charming in its own way. Were these eight people engaging in an explicit art project? Almost certainly not. They were kids fucking around. Does it make you think? Does it change the world in some interesting, albeit slight, way? I think so, and the distance between those two truths does not matter that much, and I think I (we) used to feel better about that, that a random art project could be a random art project and not a referendum.
All of this is to say: it's a fun way to spend ninety minutes. Don't overthink it. (Or maybe do.)

While I've been impressed with the advancements in software engineering LLMs over the past six months, it's hard for me to say that anything has been really paradigm shifting. What I mean by that is I feel increasingly comfortable offloading larger and more nuanced tasks to cloud or whatever the hottest LLM of the given week is, but it's not really changing how I approach building software or how I approach what my day looks like. It simply makes me faster and more productive. This has been a bit of a through line for me really since Copilot came out, which is that a lot of the iteration in this space feels like very strong and impressive incremental improvements, but with obvious jank, especially once you escape the lovely sandbox of small, un-nuanced apps without the accretion of technical debt or erstwhile design decisions or things that don't necessarily fit into a corpus trained on Stack Overflow and other such sites.
Outside of the realm of software engineering, I have found a tool that has changed the way I work on a day-to-day basis. I've used it for a grand sum of one month, so this is not exactly a gargantuan sample size — but the tool has held up and done remarkably well in such a way that my day viscerally feels different than it used to. This tool is called Aqua Voice.
Aqua Voice is a speech-to-text transcriber. It's an LLM thing, technically. I say technically because you don't really feel like you're interacting with an LLM. There's no chat paradigm. There's not a lot of losslessness there. It feels like the way LLM-powered search feels, which is here's this thing that has always been possible with varying degrees of fidelity, speed, and other trade-offs. Now it's just much better in ways that are hard to quantify but easy to internalize.
I spend a lot of my days writing things. I write blog posts (including this one!), long-winded pull request comments, and many, many emails to prospects, active customers, potential team members, and existing team members. This is frankly kind of tiring. I'm old now: my wrists and fingers aren't as bereft of carpal tunnel as they used to be, and I often feel myself intentionally limiting my communication because the effort in having to write out something that is nuanced or complicated and perhaps long-winded is just difficult to do. It's hard to really pour everything you have into writing a five-paragraph email when you know once you hit send there are 47 left.
And that brings me to Aqua Voice, which I am (as you might have guessed) using to write this very blog post, though I likely won't use it for others (my prose is verbose enough as-is, and this just makes it worse!). Aqua is just a really, really good transcriber. There's nothing else to say about it from a product or UX perspective, though maybe that'll change. Really, it's just an example of something being so, so good that you start to find places to use it where you wouldn't have even fathomed. And that's a marked difference from my previous experiences of using speech-to-text, where things were fine and solid, but you couldn't really trust it to be character perfect. You had to do a lot of massaging and editing after the fact, which, from a volume perspective, often made me conclude that it really wasn't worth it compared to just writing out stuff myself or sending a voice memo in very specific cases.
I want to give two examples of things that I am just straight up doing differently now compared to a week ago because I have this tool:
- Writing issue descriptions in Linear or whatever tool you want to use. I'm really bad at this in no small part because it's hard for me to jump a rat's nest of context and state and known knowns and known unknowns and all of the flotsam that is required to write up a good ticket. What ends up happening is 95% of the time, I will just write a ticket that has the title and no description, and if I end up taking it a couple of months down the line, hopefully, I remember what it's about. If someone else takes it, they have to kind of figure out what it means and maybe we just cancel it because I cannot remember. Now I'm just writing a bunch of ticket descriptions.
- The blank screen problem. It's regardless of what the artifact is, whether it's a changelog entry, a blog post, or a position paper. I often find there's this huge mental tax in just getting the first couple bullet points out the door. This tax feels heavier when I'm more tired or have a lot on my mind, or it's been a tricky day in some respect. And yet with Aqua, I can just start talking. Often the talking is kind of rambly, and I might want to go back and delete a paragraph or two — which is, of course, fine, because the hard work has already been completed (going from zero to non-zero words.)
I think so much of the AI discourse, such as it is, is prescriptivist: you kind of implicitly take a position before evaluating the thing, whether the thing is, you know, image generation or automatic code review or whatever (a failure mode of which I have certainly been guilty, on both sides!)
But to me, what feels like both the more ideologically pure and more pragmatic thing to do is pretend the AI does not exist. Pretend the LLM is an implementation detail to which you as a user are not privy, and evaluate the tool, whatever it is, on its own merits. This is where Aqua is really interesting to me — it could secretly be backed by nothing LLM-ish at all, and it's just really, really great from a performance perspective. I don't care. It's a super useful tool that makes my day easier, and I am grateful that it exists.
I wrote this essay around three weeks ago and let it sit for no other reason than laziness and a very long to-do list. In those past three weeks, I've continued to use Aqua.
Whether it's hedonic adaptation or some other cause, the experience has kind of gotten worse in the way that AI experiences sadly tend to. Aqua was rewriting my words if I was in a certain composer like Gmail. Suddenly, the sub-500 milliseconds wake time would drop the first sentence or two. How much of this is due to AI? How much of this is due to my own shifting demands for how snappy this should be? How much is just due to code being code or network connection being network connections? It is impossible to tell, which is one of the tricky things about this bit of software. I'm still happy enough with the experience to continue using it over any of its competitors, but the tools that I use for years on end are the ones that benefit from a confidence and muscle memory in their usage. And as I read back this essay, I am reminded that it is very hard for LLM tools to develop any sort of patina at all.

Do you ever get the feeling that there's something going on that we don't know about?
Fascinating film with a lot to chew on and a lot to admire. The first thing that comes to mind is that most of the actors are folks who I kind of think of as memes now. When I think of Mickey Rourke, I think of 30 Rock. I think of Kevin Bacon. I think of, well, Kevin Bacon. I think of Steve Guttenberg. I think of Party Down. Seeing them in this production a little north of 40 years ago, I am just absolutely blown away. It is perhaps obvious to commend a film called Diner for its diner scenes, but the ease and grace with which these five friends plot and chide and yap and shit talk and love each other is legitimately one of the most earnest and beautiful depictions of male friendship that I've ever seen in any medium. Watching these guys talk about sandwiches is cinema, and on those notes alone, I'm grateful.
The other thing that comes to mind is that for this being a hangout movie along the lines of Everybody Wants Some or Dazed and Confused, there's a melancholy and a gravity to this that feels honest and interesting and not at all heavy-handed. Everybody Wants Some is probably my favorite film, or at least was my favorite film in this genre, and that had a seriousness too, but it was a sun-drenched seriousness. There was a nostalgia for a simpler time in Linklater's life. Diner feels like, in many ways, the opposite argument, even if it is so vividly informed by Levinson's own memories and childhood. He is not trying to use the past to talk about the present; he is trying to use the past to remind us about what doesn't change. These people are happy and some of them are having a good time, but they don't all necessarily end the film in a better place than they start. Nor do they get the freeze frame happy ending that you'd expect out of this sort of 80s ensemble dramedy. The point in this film that I come back to and know will live in my head forever is, of course, the strip club scene. This is a cliché that shouldn't work. The idea that we've seen this sort of thing dozens and dozens of times before, before and after dinner, to varying degrees of success, I have always found it maudlin and fantastical. This is not how the world works. This is pointless and a little bit demeaning to the viewer, and yet I loved this scene. This might have been one of my favorite scenes of all time, not because of the music, though that worked well too. Seeing Billy, this guy who is introduced as the graduate in more senses than one, having figured it all out, being on the precipice of the greater world in a way that the other four guys haven't quite reached. Getting punched in the face a few times and breaking and letting that break not turn him into a shell but into a virtuoso pianist, letting the light displace everything.
What worked for me about this scene was Guttenberg, whose performance topped the class in what was a really, really great series of performances. He's delightful throughout this entire thing, but that one scene where he goes from a certain kind of very real 25-year-old despair into a man so caught up with joy and music and the understanding that life will still have its moments. I don't know how you come away from that scene without feeling 10 pounds lighter.
What are we to make of the fact that we never see Elyse's face? I think it's easy to read this with a certain backwards-facing criticism: that this film is not just a product of its time but a product of a product of its time. And I think that's not giving Levinson enough credit for the nuance he's trying to hit. We know everything about Elise that we need to know from her voice, warm and timid and half amused as she rattles off answers to NFL trivia questions. But the movie is not about Elise, nor is it about Beth, Carol, or Jean. It is about what it means to be one of the boys. And what it means to have yourself change or not change in rhythm and syncopation with the people you consider your whole life.
All good books are different but all bad books are exactly the same. I know this to be a fact because in my line of work I read a lot of bad books - books so bad they aren't even published, which is quite a feat, when you consider what is published. And what they all have in common, these bad books, be they novels or memoirs, is this: they don't ring true. I'm not saying that a good book is true necessarily, just that it feels true for the time you're reading it.
My first indication that The Ghost was going to be closer to the airport-bookstore end of the spectrum than the Le Carré end probably should have been when I saw that Audible had chosen an Americanized title to coincide with the movie adaptation (starring Pierce Brosnan—an actor I find impossible to associate with serious or meaningful sociopolitical inquiry). The book itself struggles to be as cynical as it thinks it is, though perhaps that's more a reflection of the last two decades than of the book's own quality.
I can, albeit faintly, recall a world in which the illegal detainment and torture of four non-combatants would be considered a civil rights violation and a political firebomb large enough to engulf the career of a British prime minister. Now, it feels like the sort of thing that would be buried on the fourth page of an article nobody read but everyone quote-tweeted.
Even setting aside the realism of the politics, there just isn't much substance here. None of the characters are interesting enough to have a personality beyond the three sentences they were assigned at birth. The narrator is exactly as smart or reckless as the scene requires, the charismatic but soulless politico is a cipher, and the wife is—spoiler alert—so obviously telegraphed as a master manipulator that the third-act twists land with a thud. There's a cutesiness in the faux-metafiction of the book's closing that feels dated, if mildly fun, and that's about it.
The book's best asset is its pace and propulsive readability. I finished it in three days, and the leanness of its prose at least leaves nothing lingering in your mouth—better than a bad taste, I suppose. But the best thrillers engage you both viscerally and intellectually; The Ghost is light on both counts, and what little viscera it has hasn't aged well.

I'm emerging from what already feels like, in retrospect, the hardest two months of my career and the hardest I've worked since I was an over-caffeinated undergrad whose diet consisted of PBR and Qdoba (Chipotle if I was in the mood to splurge). This isn't an oblique metaphor or a veiled reference to any one specific thing: it's simply been a very demanding stretch, filled with long nights, longer to-do lists, and stressful incidents. A certain malaise attacks me when I have so much to do and neither time or energy to do even a fraction of it: a recursive stress, a gray goo of Bad Vibes that seeps unchecked without exogenous intervention.
About that exogenous intervention.
Whenever I heard my friends talk about being a parent, the happiness always seemed abstract in much the same way that someone talks about summiting Everest: an accomplishment and pride more than a day-to-day feeling. That’s not what it is: the happiness is visceral, even if trying to speak to it diminishes its power. What I am trying to say is this: every morning, I am the first person Lucy sees, and whether her eyes are hooded by fatigue or her cheeks reddened and dampened with tears, she invariably forgets whatever first-order things are happening and locks her eyes with mine and smiles. This is an event that buoys an entire day (or week, or month.)
Last weekend, we got back from a lovely vacation with my lovely family. We were gone for a week and change, and my in-laws graciously offered to watch Telly.
When they dropped him back off the following day, the thing that finally pierced me and turned me back into myself was not his joy at seeing us, nor mine at seeing him, but Lucy’s joy at seeing him: a joy so bright and perfect that it spawned the loudest and squeakiest shriek of delight I have heard from her and perhaps from anyone. That single noise washed away the past six weeks and untied a few knots in my back.
All of this is to say I have been gone for a while; I missed this, and I'm happy to be back. Thank you for your patience, whether you've been waiting for an email or a text or a RSS notification. I promise I'm speeding towards you as fast as I can, holding a child who through some miracle of physics makes me lighter for carrying her.