Applied Cartography logo

Applied Cartography

Subscribe
Archives
What Gives
February 14, 2025
Matthieu asks: Since you do a lot of things (investor, dad, owner of a "small" business, blog writer) I was wondering what you don't do to keep up with this...
Shipping is capturing value
November 26, 2024
This great essay from Sean Goedecke went viral two weeks ago, drawing fury and fervor alike for a Moral Mazes -esque analysis of how engineers at large...
The year of mint chimichurri
July 7, 2025
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...
VC-subsidized tokens
July 5, 2025
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...
June, 2025
July 4, 2025
We are officially in H2, gang. I published fewer posts than I had hoped, as much of my quilling energy was reserved for things that fall under Buttondown's...
June, 2025
July 3, 2025
We are officially in H2, gang. I published fewer posts than I had hoped: Post Date Genre Black Bag June 18 Thriller Replacing screenshots and videos with...
Clerks
July 3, 2025
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...
Nine months in
July 3, 2025
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...
Justfiles are great
July 1, 2025
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...
Whisperglass
June 30, 2025
I spent a couple hours this weekend resuming work on Whisperglass, born from some of the internal functionality within Buttondown. Resuming is perhaps a...
The Thomas Crown Affair
June 27, 2025
Thomas Crown: [smirking] I trust myself implicitly. The Psychiatrist: But can other people trust you? Thomas Crown: Oh, you mean society at large? The...
Colocating your pytest fixtures
June 26, 2025
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...
Replacing screenshots and videos with iframes
June 22, 2025
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...
September, 2024
June 21, 2025
In descending order of importance: I had a daughter, Lucy, the light of my life. I launched a tiny side project, handbook.directory. I cautioned against...
Spring, 2025
June 5, 2025
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...
Performance improvements can be obvious and silly in retrospect
March 28, 2025
One of the most useful and janky internal tools we have in Buttondown’s codebase is a codegen pipeline called “autogen”. There is nothing “auto” about...
Smoke test your Django admin site
March 12, 2025
Here is a confession: I am a very strong proponent of a robust test suite being perhaps the single most important asset of a codebase, but when it comes to...
Recursive filter schema
March 6, 2025
When we added support for complex filtering in Buttondown, I spent a long time trying to come up with a schema for filters that felt sufficiently ergonomic...
Does that dependency spark joy?
March 1, 2025
If there's been one through line in changes to Buttondown's architecture over the past six months or so, it's been the removal and consolidation of...
HQ1
February 27, 2025
After many wonderful years of working out of my home office (see Workspaces), I've now "expanded" [1] into an office of my own. 406 W Franklin St #201 is now...
Naughty vs. nice
February 23, 2025
I love this bit from Paul Graham on pattern-matching founders: Though the most successful founders are usually good people, they tend to have a piratical...
YOLO-squashing our Django repository
February 19, 2025
Buttondown's core application is a Django app, and a fairly long-lived one at that — it was, until recently, sporting around seven hundred migration files...
Humane Inc.
February 19, 2025
Humane Inc. started in 2018; it raised around $250M over five years before coming out of stealth mode with an AI pin that people did not like very much, and...
Becoming Trader Joe
February 9, 2025
(Shout out to Red Queen Podcast for introducing me to this book.) Becoming Trader Joe is, more than any other business book (certainly any other business...
February, 2025
February 9, 2025
What a start to the year! January was a bit more flat-packed than I think Haley and I would have otherwise liked, but all with great things. (Highlights...
What's in a name
January 31, 2025
Guillermo posted this recently: What you name your product matters more than people give it credit. It's your first and most universal UI to the world....
Truncating timedeltas in Django
January 14, 2025
Consider a fan-out-ish model that you want to aggregate a bunch of: likes on a post, for instance. class Post(models.Model): created_at =...
January 2025
January 9, 2025
Hello, 2025! (As always, Death Cab remains the soundtrack by which you should read this.) Headlining this month was my annual review; everything else is...
January, 2025
January 9, 2025
Hello, 2025! (As always, Death Cab remains the soundtrack by which you should read this.) Headlining this month was my annual review; everything else is...
Order, Tailwind, DRY
December 19, 2024
(Order in the CSS rule sense, not the metaphysical sense.) The time has come to begin exfiltrating some higher-traffic, higher-leverage parts of Buttondown's...
Linear
December 17, 2024
I invited nickd to join our Linear instance yesterday, which reminded me that I had a slew of notes I wanted to publish on our own experience of migrating...
Applied Cartography × Val Town
December 15, 2024
Had a blast live-coding some experimentations with Steve and Shovel yesterday using Val Town. (If you haven't used Val, well, watch the stream — think live,...
buttondown.com/alternatives
December 15, 2024
Some kind words from Chris Krycho on Buttondown's Alternatives page: This is how I want all my tools to be. There is a ton of room in these markets for...
Hypermodern Django
December 14, 2024
I've been on the hunt for a new way to dogfood Buttondown for the past month or so, and I've finally found it: Hypermodern Django. At this point, all of...
Bluesky is good
December 10, 2024
Three months ago, I wrote Bluesky et al , in which I walked through the various platforms vying for the dubious title of "Twitter's successor" and landed on...
November, 2024
December 9, 2024
Not a lot to share this month; it was a particularly busy time, between a mystery (and now solved, without fanfare or closure) cough and a dearth of time to...
Writing from November
December 8, 2024
Not a lot to share this month; it was a particularly busy time, between a mystery (and now solved, without fanfare or closure) cough and a dearth of time to...
Letters to a Young Bartender
December 7, 2024
Every straight white male is forced, character-creation-screen-style, to choose one overtly consumptive hobby that in some small part defines their twenties...
Fathom
December 6, 2024
I'd been meaning to jot down some thoughts on Fathom for a while, and did not have a particularly good reason to do so until the news broke that Paul Jarvis...
Hidden settings are for cowards
December 6, 2024
At Stripe, we had two abstractions for branching logic in production: flags , which were meant to be explicitly temporal (temporarily split-testing traffic;...
Klarna: nineteen years, twenty billion kroner
November 28, 2024
I tend to ignore the entire genre of what we now refer to as BNPL businesses — Affirm, Afterpay (RIP), Klarna, et al — not for any particular sin I feel that...
A good H1
November 26, 2024
Buttondown was kindly featured in H1 Gallery last week , and Ryan asked me to opine a bit on how we arrived at our current iteration, which is the anodyne...
Bozos
November 9, 2024
Kevin Twohy has a list of heuristics for new projects/clients , and my favorite is simple: No Bozos. Simple policy. No exceptions. You know it when you see...
VC does not guarantee PMF
November 4, 2024
Two companies that I started following (with no small amount of envy) back in 2021: Hype (fka Pico) sold to an MMA-themed holdco earlier this year. Raised a...
October, 2024
November 2, 2024
Hello! Lots of writing in October (what early parenthood takes away in terms of deep flow, it gives back in terms of twenty-minute pockets of time and...
Meta's two assets
October 30, 2024
(Epistemic disclaimer: there are few Extremely Big Tech Companies to whom I feel apathy more vividly than Meta. I had a Facebook account in high school and...
Projects are things with steps
October 28, 2024
Lots of kind words poured in as a response to My approach to GTD and PKM , and one question was asked so frequently that I decided to write about it. Why is...
Notebook as marketing primitive
October 23, 2024
Earlier this week, I stumbled upon this brilliant marketing-slash-documentation idea from SingleStore — notebooks as a first-party page! There are a handful...
My approach to GTD and PKM
October 22, 2024
One pernicious thing with writing about productivity and knowledge systems: you only change systems that aren’t working, and you tend to write about things...
Consider the data product
October 21, 2024
The advice might seem dated these days, but I think the stair step approach to bootstrapping is evergreen: It’s much easier to sell an add-on to an existing...
 
Older archives   
Powered by Buttondown, the easiest way to start and grow your newsletter.