It was funny to learn that the creator of this series is more widely known for their work on Doctor Who because I very much got the impression during the falling action of — "oh no, they're not going to be able to cohere everything, are they?" And perhaps that's a little uncharitable; it wasn't a Poirot-style level of wrap-up (one of Christie's many virtues is that red herrings are never just red herrings; they exist to flesh out a world or motive or character, not just to throw you off the right track), but the reveal of the murderer did have its hints and callbacks well-seeded. Still, the final episode felt so separate from all the preceding action that I left the season feeling a little more coldly than I had hoped, as good as it was. (And, to be clear: Tennant and Colman's work is A++ stuff. I struggle to think of a better leading pair in this kind of production.)


One of the pitfalls of childhood is that one doesn't have to understand something to feel it.

via The Shadow of the Wind

I chatted with the lovely folks over at Postmark about what it's like to be a founder in the email space, and what I've learned over the past few years.

Read the full interview

A well-executed and competent film with a couple truly lovely moments; its greatest sin is that I probably won't think of it at all in a few months.



There are things I didn't like; almost all of them were outweighed, in retrospect, by the absolute battleaxe performances of Juno Temple and Sam Spruell, culminating in one of the sweetest and most revelatory sequences in television (probably my absolute favorite moment since Andor (Season 1)) between the two. That final sequence of scenes is brave, not just in its decidedly Midwestern depiction of communion (who needs bread & wine when you have a Yuengling and Bisquik drop biscuits?) but in its repudiation of true irredeemable evil (a concept which Noah Hawley has trafficked in to great effect for the majority of his career!)

I sincerely hope this is final season; I can't think of a much better note to end things on.


My friends and I bought five software businesses last year, on the thesis that:

  1. despite the recent uptick of interest in the space, it was still a fairly undervalued class of asset;
  2. it would be kind of fun and neat.

We purchased these businesses after around eight months of sourcing and searching; we've been operating them for a little less than half a year.

A lot of people have asked a lot of questions about almost every part of the process: sourcing, negotiating, closing, operating. Rather than actually be useful and write a two-thousand word screed on our tactics in finding and closing deals that we liked, I thought it would be more interesting to jot down a list of answers to the following question:

What do we know now that you didn't know a year ago?


  • There are no perfect businesses.
  • There might be a perfect business for you, but that mostly depends on your definition of perfect. It's important to figure out what your level of time and resource commitment is, and you can walk that back into deal size and operational threshold.
  • When a seller says "this takes me one or two hours a day to deal with", it means it will take three times that amount for you; even if they're being genuine, they've got a lot of time and experience and muscle memory that you don't.
  • Every business is going to have some sort of looming existential risk: maybe it's platform risk, maybe it's well-financed competitors, maybe it's passwords stored in plaintext. Your goal is not to find a business without risk; your goal is to find one whose risk profile matches your appetite. (If you don't have any appetite for risk, you should not buy a software business — or any business.) If any of these businesses passed every single heuristic on a Berkshire-style checklist, it probably wouldn’t be for sale.
  • You should have at least one compelling thesis as to how you can improve the business relative to the current owners.
  • Assuming the business is otherwise in solid health, the failure case for your acquisition is much less likely to be "something fundamentally broke this business and it zeroes overnight" and more likely to be "I no longer want to run or operate this business and it either dies slowly or I sell for a loss."
  • You should adjust up/down a company's acquisition and retention numbers based on your rough estimate of their hustle: an otherwise unsticky business might have great churn numbers not due to the underlying asset but because the owner is particularly good at hustling. (The inverse can be true; some owners are so checked out of the business that you can meaningfully bend its trajectory by answering emails within two business days.)
  • Letters of intent are cheap, especially on free-for-all platforms like Acquire. (In general, the online two-sided marketplaces have a supply problem; they're good to browse and to develop some muscles around high-level characteristics, but brokerages like Quietlight and FE International have a much better signal-to-noise ratio.)
  • There is a tremendous amount of signal in the reason why sellers are selling their business.
  • Similarly, if a business has been sitting out on the market soliciting offers for more than a few months at what looks like a reasonable valuation — there’s a reason why.
  • Financial engineering gets a bad rep, and is a good way to defray risks. Worried about significant platform risk? Add a two-year seller note! Think the business has a huge amount of knowledge transfer required? Add a twelve-month consulting retainer!
  • Ask for usage data — as much of it as you can get. Try and get a pretty solid number for "what percentage of revenue is actually using this product?"
  • Ask for pricing strategy, and in particular how much potential energy there is in the business for pricing experimentation. Some owners haven't touched prices in a decade; others have slyly moved up prices recently in an effort to make the business more attractive.
  • First-time buyers and first-time sellers alike underestimate the value of legible financial systems and a clean set of books. A fractured set of accounting statements might not sink a deal, but they can make it much harder to quickly close.
  • Sourcing is really tough, and "tough" shifts from "there's a whole lot of volume and a whole lot of data and I'm not sure how to make decisions about what is or isn't interesting" to "there's absolutely no deal flow for the shape of business that I'm interested in". The market for these businesses is still fairly illiquid, and it can take many months to find businesses that are worth putting serious effort into.
  • Sellers keep tons of information in their head: abandoned marketing ideas, undocumented operational issues, one-off lifetime deals, problematic customers, launched-but-underused features, incoming annual renewals, basic support steps, basic customer relationships. Get as much of this into a durable artifact (Loom recording, plaintext, whatever) as you can.
  • Price is downstream of deal quality, not vice-versa. A business that may be in many respects "bad" (no obvious marketing channels, relatively high churn) could still be a worthwhile acquisition at 2.3X EBITDA, and we never regretted being forthright with our reasons for valuing a business the way we did when pitching sellers on a low valuation.
  • The activation energy required to do anything in the first few months post-close is much higher than you expect.
  • In general, it's easier to do work on the marketing, ops, and pricing side of an acquired business than on the product side. Accordingly, be wary of businesses that purport to require a lot of product work to maintain their current position.
  • Platform risk is also, for lack of a more clever phrase, platform reward. Having a growing platform to take care of GTM for you can make up for a lot of deficiencies.
  • Cold sourcing potential businesses sounds like searching for needles in a haystack (and it is), but any potential sellers you come across will have much less competition than ones who are selling through a brokerage or marketplace.
  • Contractors who you trust and like are worth their weight in gold, and much harder to find than you might otherwise imagine.
  • There are few better ways to spend time and energy during diligence than dog-fooding the product for a few hours.
  • Not all payment providers are created equal.
  • At the end of the day, you’re buying a job (even if it’s one with low hours!) — so make sure that you’re buying a job that you find either fun or worthwhile.

(Thank you to Colin and Harrison for — well, for many things, but in particular for reading and improving this essay.)

If you have any questions — or are interested in selling us your software business — feel free to reach out at [email protected].


Most Stripe accounts on Substack are “Standard Connect”, which essentially means that:

  1. the author has full agency over their account and is the merchant of record;
  2. they can revoke OAuth access from Substack (or whomever) at any time;
  3. Substack continues to take that 10% as an application fee, though the author (or another connected account) can remove that fee once the OAuth access is revoked.

A couple edge cases accounts, though, are “Express Connect” (like Talia!) This means that:

  1. the author has full agency over their account and is the merchant of record;
  2. but they cannot eject their account from Substack — the account is irrevocably tied to being a “subaccount” of Substack.

For such accounts, though, you can still remove yourself and retain subscriber state/information with two steps:

  1. Migrate customer data from the original account to a new “standard” account using Stripe’s built-in migration tooling;
  2. Export subscriptions from the original account via CSV, and then recreate those original subscriptions based on the details within the CSV


Very sympathetic to the core theses of capital management advanced by the author, but I do not feel like I garnered much insight that hasn't already been absorbed by the zeitgeist. It was a mercifully short book, but most of it was in the uncanny valley of not quite specific enough to be useful. I thought Lessons from the Titans was a strictly better and more interesting read; more unconventional insights, more pragmatic details, more interesting prose.

Highlights

Leadership is analysis.

_A bartender at one of the management retreats made a handsome return by buying Capital Cities stock in the 1970s. _When an executive later asked why he had made the investment, the bartender replied, “I’ve worked at a lot of corporate events over the years, but Capital Cities was the only company where you couldn’t tell who the bosses were.”


Still tremendously entertaining, though the back half felt a little Mandalorian-y with how absurd the action sequences were in a way that undermined the grimy, "realistic" emphasis the show tries to place otherwise. Will be very excited for the upcoming season, but nothing has quite hit the same high as that first tremendous season.


Not as great as the first season; still tremendously entertaining television, with more than a few twists that I couldn't predict and an underlying thread of competence in set design, pacing, and acting that is hard to deny.



(You may be interested in last year's annual review.)

Health

I wrote last year:

I am, as I write this, in the best shape of my life

In retrospect, this was:

  • a hilarious way to start an essay
  • true, and no longer so.

I committed to hitting the 1/2/3/4 club this year, which I accomplished (yay!), but shortly thereafter I fell into what I would describe as a pleasant fitness malaise: my only real goal was improving at bouldering, which I didn't quite commit myself to enough to hit my resolution of sending a V6 route. As such, I mostly spent the year in maintenance mode: jogging, lifting, climbing, and staying active, albeit not quite as much as I should have.

The past two months have been better! I picked back up a lifting routine that, while brutal, has always been effected (nSuns, for those curious) and have been more nutritionally conscious than usual (we're generally pretty good about eating healthy in the house, though there were a few too many cocktails and burgers than there probably should have been.) [1]

Beyond that: no news is good news.

Family

Haley and I got married! It was the best day of my life.

I think almost everything that can be said about weddings has already been said [2], but a thing that you can only appreciate while it's happening is just that one possible version of a wedding — our version of a wedding — is spending a full day with your favorite people in the entire world in a very beautiful place, and while such a description always made a certain level of abstract sense to me I don't think it quite hits you, really hits you, until you realize it is suddenly six p.m. and everyone who you care about in life is in the same room as you, well-dressed and flush-faced.

The only absent member of the family at our nuptials was, of course, Telemachus, who spent the weekend at a farm with his brothers and sisters. I feel as though I have run out of ways to describe Telly: he is a perfect dog, strange and soft, filled with the kind of love and loyalty only canines can provide.

Being married is not particularly different than being engaged; I wake up every morning and go to bed every evening next to my best friend and favorite person in the world. I get to it now with a ring on my finger; all I hope for is to never be so dumb as to take it — even for an instant! — for granted.

Buttondown

There's a slightly more self-serving version of this on the official Buttondown blog but — man, what a year.

Buttondown's functionality doubled and the core experience got even stronger; I hired part-time writers, engineers, and support staff to scale out its growth; it suffered fewer bouts of downtime or serious incidents than the year prior; every single financial metric improved.

The users of Buttondown now include columnists at the Washington Post, New York Times, and The Atlantic; winners of the Hugo, of the Pulitzer, of the Apple Design Award; bloggers I've read for decades; maintainers of Open Source Software used by millions; publishers whose games I've played for hundreds of hours; poets, artists, high schoolers, jazz troupes; Ivy League departments and Mutual Aid organizations; skeeball, pickleball, and bouldering leagues.

It has officially grown beyond my wildest dreams, and done so while hitting a 99.8% CSAT score.

More than that, it remains a business of which I can carry a high level of moral pride; it is a reflection of my ideals about what software can do and how a business can be run.

All of which either underlines or belies a larger point: this is easily the hardest I've worked in my professional life. I am grateful that all of this hard work is for a project I care so deeply about, and for a project whose users find it so valuable.

My goal entering this year was an amorphous thing that I had informally referred to as "Buttondown 2.0":

In 2023, I want to — need to — transition my relationship with Buttondown from that of a successful project to a stable, growing, mature business.

Mission accomplished.

The question that the industry trains us to ask is: what's next? I think that's obvious from a product perspective but a little less so from an organizational or business one: but my high-level goal for next year is to make a full-time hire, and all of the financial/existential commitments entailed therein.

Third South Capital

My friends and I started a holding company. We purchased five businesses, and it's gone pretty well; they've all grown, and we're going to make another purchase or two next year.

Our goal with this first year was, more than anything else, to accept or reject the null hypothesis: regardless of financial return, was this a fun and interesting way for us to spend our limited time and energy? The answer has been yes. The three of us all have different backgrounds and are all getting different things out of it: for me, I'm loving the intellectual exercise of being able to evaluate and implement strategies on businesses with which I have slightly less emotional attachment. [3]

I haven't written or posted too much about this experience (in no small part because it's not just my experience to share!) but it has been much more rewarding than I expected, and expect more writing on this front in 2024.

Writing

I wrote 22,000 words in a personal blogging capacity last year; I know not what that number was for 2023, but I am very confident it was much less. I am very proud of my more serious essay-writing over at Applied Cartography, even if it was few and far between. (And arcana.computer remains alive, albeit in stasis — I'm still keeping my media journals updated, but MDX is now so slow at processing my thousands of files that builds are broken. I will try to fix this in 2024, though I'm not quite sure what form a "fix" will take.)

Media

My reading this year was fairly flat (34 books, compared to 32 last year); my gaming was down (5 games, compared to 7 last year); my films were way up (53, compared to 25 last year!). Some favorites across the entire spectrum:

  • The Conversation and The Green Knight were two sensational films that belong in everyone's canon;
  • Baldur's Gate 3 is just as good as everyone says it is (and I say that despite having not finished it!); 13 Sentinels: Aegis Rim is a triumph of postmodernism.
  • I was very close to having not read a single book that I truly loved this year until I finished up — only last week — The Name of the Rose, which is now one of my favorite ten books of all time, and one whose many messages and ideas will be roiling around in my head and heart for many years to come.

Miscellany

  • I spent two thirds of the year ending every evening by spending fifteen minutes on some quantified self work: where I spent my time, how many drinks I had, how much caffeine I had, etc., with a goal of making sure I wasn’t going to burn myself out or otherwise ruin my health. I think I gleaned some amount of insight from this (I realized that I was not spending enough time on non-Buttondown things; I caught myself when I was drinking on more weekdays than I wanted to) but I abruptly stopped this practice in September and am no worse for the wear.
  • Feels deeply weird to, for the first time in ~ten years or so of doing this, not have a section dedicated to some external employer.
  • I find my relationship with social media in a generally good-but-frustrating place. The town square of Twitter has been replaced with six different fora that I need to keep tabs on — bsky, Discord, LinkedIn, Signal, Mastodon, Twitter — and the sheer frustration of doing so has resulted in me spending less time in consumptive mode.
  • I find myself missing not just a town square but a water cooler. I am grateful to my friends Sumana and Harrison for providing some palliative care in this nature: having coworking and mastermind sessions to break up the week and connect with others is extremely gratifying.
  • No new projects; I don't foresee any others in the coming year as well (much to my chagrin).
  • Emojis on the rise in 2023: 🫡, 🐬, 🍳.
  • Emojis on the decline in 2023: 😎, 🙏, 😅.
  • This was our first full year living in Richmond, and while we didn't spend as much time exploring it and becoming more entrenched in the culture as we would have liked (this is perhaps reasonable, given the aforementioned wedding and honeymoon and general sense of happy chaos that permeated the year) we love it more than ever. We've found our neighborhood bar, we've found (and lost) our favorite restaurant and cidery, we've re-found a favorite restaurant, we re-finished our backyard and in general have done a lot of fun stuff. It is a great privilege to have a home you love.

Resolutions

  • Bench three plates.
  • Publish twenty essays.
  • Open-source four major components of Buttondown.
  • Remodel my garage.

Coda

For the past few weeks I've been mulling over an essay with the working title of Something's Gotta Give, and indeed that feels like the main lesson I learned this year. I wrote last year that I felt like I was entering 2023 with a clarity of purpose that had been lacking in my professional life for some time; that clarity has given way to lots of great work, many happy memories, and a sidelining of things whose importance or urgency feels marginal.

The median day of 2023 looked something like this: eight hours of sleep, a good workout, ten hours of exhausting intellectual work growing a business, some puttering around the house and tending the garden, two dog walks, an evening spent unwinding with my wife, an episode of anime with my brother. There are a lot of things I wish I could fit into that day: more time writing, more time exploring new technologies, more time playing video games, more time exploring Richmond. At the same time: I think I chose wisely.

2024 purports to be much of the same. If there's any change I could make, it'd be making sure that some of that more passive time — the sixty quiet minutes on the couch after dinner, the thirty minutes between lunch and an afternoon meeting — is spent more mindfully, as opposed to picking up a random round of Brotato and/or brainlessly refreshing analytics.

Thank you

To: my wife, Haley, the light of my life; to everyone who attended our wedding; to my parents and my brother, for too many reasons to enumerate; to Harrison and Colin, the best business partners a guy could ask for (and for five lovely and earnest counterparties who entrusted us with their businesses); to everyone who became a Buttondown customer this year (or reported a bug, or referred a user, or pushed code); to the hodgepodge of former coworkers, emoji-filled Discords and group-chat emigres whom I consider a water cooler in lieu of an employer-sponsored Slack; to Jimmy Butler and Zach Lowe; to you, dear reader, for getting this far.


  1. On the cocktail front: this is the first year where it's been aggressively obvious how much a single drink will hit my energy for the following day or two. I know teetotaling is a bit of a meme at the moment (and it's certainly not something I'm advocating for), but I've had to really budget my energy with the knowledge that a happy hour or a late dinner with drinks means I won't be nearly as close to 100% the following day. ↩︎

  2. Though keen readers of my writing would quickly note that such a fact has never stopped me from bloviating anyway! ↩︎

  3. Buttondown is, more than anything else, my baby: there are tons of "correct business decisions" that I could make with Buttondown that I refuse to out of emotional attachment. ↩︎


Deeply fun and aesthetic in a way that made it more satisfying and interesting than Brotato (which I think a little too-quickly wore out its welcome.) There's a lot of luck in getting a good loadout relative to the true kings of the form (looking at you, Slay the Spire) but the only reason I'm considering this 'done' is because I'm sure there's more content ahead and I don't want to burn myself out while there's more yet to come.


A pretty tremendous series of television, whose economy in storytelling, propulsion in narrative, and sheer production value leaves little to be desired. It's hard to really nail the six-episode series with a nice breadcrumb trail to the sequel and they absolutely did it. Cannot think of a single complaint, and the only reason it's not rated higher is that there's little emotional resonance: this is one of the finest seasons of television I've ever watched, and I will recommend it heartily, but I can't quite say that it changed my life.


One of many two-liners to come as I migrate things from the old site onto Obsidian:

brew install rename
rename "s/.mdx/.md/" **.md


It hasn't failed me yet:

BATCH_SIZE = 100

def batch_proess(queryset) -> None:
    count = queryset.count()
    if count == 0:
        time.sleep(10)
        return
    with transaction.atomic():
        batch = list(
            queryset.select_for_update(of=("self",), skip_locked=True).values_list(
                "id", flat=True
            )[:BATCH_SIZE]
        )
        # Do whatever you need to do with the batch here.
    return


Ah, so this is where Pentiment gets so much of its richness.

Highlights

Salvatore wandered through the world, begging, pilfering, pretending to be ill, entering the temporary service of some lord, then again taking to the forest or the high road. From the story he told me, I pictured him among those bands of vagrants that in the years that followed I saw more and more often roaming about Europe: false monks, charlatans, swindlers, cheats, tramps and tatterdemalions, lepers and cripples, jugglers, invalid mercenaries, wandering Jews escaped from the infidels with their spirit broken, lunatics, fugitives under banishment, malefactors with an ear cut off, sodomites, and along with them ambulant artisans, weavers, tinkers, chair-menders, knife-grinders, basket-weavers, masons, and also rogues of every stripe, forgers, scoundrels, cardsharps, rascals, bullies, reprobates, recreants, frauds, hooligans, simoniacal and embezzling canons and priests, people who lived on the credulity of others, counterfeiters of bulls and papal seals, peddlers of indulgences, false paralytics who lay at church doors, vagrants fleeing from convents, relic-sellers, pardoners, soothsayers and fortunetellers, necromancers, healers, bogus alms-seekers, fornicators of every sort, corruptors of nuns and maidens by deception and violence, simulators of dropsy, epilepsy, hemorrhoids, gout, and sores, as well as melancholy madness. There were those who put plasters on their bodies to imitate incurable ulcerations, others who filled their mouths with a blood-colored substance to feign accesses of consumption, rascals who pretended to be weak in one of their limbs, carrying unnecessary crutches and imitating the falling sickness, scabies, buboes, swellings, while applying bandages, tincture of saffron, carrying irons on their hands, their heads swathed, slipping into the churches stinking, and suddenly fainting in the squares, spitting saliva and popping their eyes, making the nostrils spurt blood concocted of blackberry juice and vermilion, to wrest food or money from the frightened people who recalled the church fathers’ exhortations to give alms: Share your bread with the hungry, take the homeless to your hearth, we visit Christ, we house Christ, we clothe Christ, because as water purges fire so charity purges our sins.

He was announcing the truth to you and telling you that the truth has the taste of death, and you believed, not in his words, but in his grimness. And now I say to you that, in the infinite whirl of possible things, God allows you also to imagine a world where the presumed interpreter of the truth is nothing but a clumsy raven, who repeats words learned long ago.


I shouldn’t worry that the era of coding is winding down. Hacking is forever.

via James Somers

Remember folks, you can only lose the holiday party. You can’t win the holiday party.

via Christina Cordova

Previous page · Next page

Lightning bolt
About the author

I'm Justin Duke — a software engineer, writer, and founder. I currently work as the CEO of Buttondown, the best way to start and grow your newsletter, and as a partner at Third South Capital.

Lightning bolt
Greatest hits

Lightning bolt
Elsewhere

Lightning bolt
Don't miss the next essay

Get a monthly roundup of everything I've written: no ads, no nonsense.