EP. 214SEASON 558:12
Brandon Cowen: “I have never had a plan. I have had a list.”
12:47Made It Work · Episode 21458:12
About this episode
Brandon Cowen has been fixing things other people threw away since 2009, and he would still rather not be asked about it. He came in anyway.
In this Brandon Cowen podcast interview, the software developer walks Junie Baptiste back through the garage off Dunmore Street, the 340-line scheduler he wrote at a kitchen table on a Saturday in 2016, the March afternoon in 2017 when he released plait and went out to cut the grass, the nine years of Tuesday nights that followed, and the September 2022 offer to buy it outright and take it closed — which he turned down in a day. Also in here: a 1974 diner, a fire he refuses to take credit for three separate times, and a comet.
Chapters
- 00:00Cold open01
- 00:31Welcome to Made It Work02
- 01:47A garage off Dunmore Street03
- 04:12What a broken thing teaches you04
- 11:30The 340-line script, 201605
- 19:05Putting it on the internet, 201706
- 27:40The offer he turned down07
- 35:18Everything original, nothing precious08
- 43:02The one he will not discuss09
- 50:26No plan, a list10
- 54:40The comet11
Full transcript: Brandon Cowen on Made It Work
00:00Cold open
Okay, so — there’s a thing that happens when you open up something broken. Nine times out of ten it is one component. One. Fifty cents of part, and you can hold it between two fingers. And somebody threw the whole machine away.
And that has never stopped being interesting to you.
It has not yet, no.
00:31Welcome to Made It Work
This is Made It Work. I’m Junie Baptiste. Every week I sit down with somebody who built a thing that actually functions and I try to find out what it cost them. Episode two hundred and fourteen. My guest is Brandon Cowen, who agreed to come on after — Brandon, how long was it?
Two years, about.
Two years of me emailing.
I answered every one of them.
You answered every one of them with the word no. [laughs]
I answered promptly. I think that counts for something.
Brandon Cowen is a software developer here in Port Alden. For nine years he has written and maintained a piece of open-source software called plait, by himself, for nothing, and it is currently running inside a very large number of programs whose authors have never once spoken to him. In 2022 somebody offered to buy it, and we are going to spend a good chunk of this hour on that, because I think it is the single strangest good decision anyone has made on this show. Brandon, thank you for doing this.
Thanks for asking two hundred times.
Two hundred and four. I counted.
That’s — yeah. That’s a lot of emails, Junie.
It is.
01:47A garage off Dunmore Street
I want to start in 2009, because that is where everything in your file starts. You’re twenty, you have no degree, and you are working out of a garage off Dunmore Street. What was actually in that garage?
Junk. Genuinely. Two folding tables, a soldering iron I still have, and — you know the bins they put out behind an office when a lease ends? That. Monitors, laptops, a printer the size of a dishwasher. People were throwing away things that had one bad capacitor in them.
And you were buying that by the —
Mostly not buying. Mostly asking.
Asking.
If you show up at seven in the morning with a hand cart and you are polite, people will give you almost anything they were going to pay to have hauled off. That was the whole business model for about eighteen months. Be there early, be pleasant, carry your own boxes.
What did you clear, in a good month? And you can tell me to go away.
Some months, eleven hundred. Some months, nothing, because I got interested in something and took it apart instead of selling it. That happened more than it should have.
That’s a hobby with a spreadsheet attached.
For a while it was exactly that, yeah.
04:12What a broken thing teaches you
You said something to me before we started rolling that I want you to say again on tape, about what a broken thing teaches you.
Right, so — a working machine tells you nothing. It just sits there being fine. A broken one is the only version that will explain itself to you. Because to fix it you have to find out how it was supposed to go, and the only way to do that is to follow it back until you hit the thing that isn’t true anymore.
Isn’t true anymore.
Somewhere in there, something that used to be the case stopped being the case. A joint cracked, a trace burned, somebody’s assumption expired. Every repair is the same job. You’re looking for the sentence that used to be true.
And that is — I mean, that’s software. You just described debugging.
It’s the same job. I didn’t know that in 2009. I found out in about 2012 that the thing I already knew how to do had a much better-paid name.
[laughs] Nobody tells you.
Nobody tells you. I taught myself out of manuals and forum posts, mostly at night. Eight years of that before anybody paid me properly for any of it. People compress it when they retell it. It was not compressed while I was in it.
Did you ever want the degree? The line in every profile of you is self-taught engineer, no CS degree, and I can never tell if that’s a flag you’re flying or a thing that gets stapled to you.
It gets stapled. I don’t have a position on it. I would have liked the four years of somebody explaining data structures to me properly instead of me finding out the hard way in a garage. But I don’t think I would have ended up better. Just earlier.
11:30The 340-line script, 2016
Let’s do 2016. Because 2016 is a big year for you on paper — you buy the house on Ferris Street, and you write what everybody now calls the script.
The script, yeah.
Three hundred and forty lines.
Three hundred and forty lines of Python, written on a Saturday, in the kitchen, because a friend of mine ran the overnight data pipeline for a research group and was keeping the running order of it in a comment at the top of a shell script. And he was good at it. He was genuinely good at it. He was also losing about two hours every morning to it, because the thing rebuilt everything whether or not anything had changed.
So what did the script do?
Almost nothing clever. It read what he had already written down about which step needed which other step, it worked out which ones actually had to run again, and it built an order that a human could then override. That’s it. It was not optimal. It was never trying to be optimal. It was trying to be a decent order before the kettle boiled.
And that is the part everybody gets wrong about it, right? Because it gets written up as an algorithm story.
It gets written up as an algorithm story and it is a stopwatch story. The insight, if there is one, is that nobody actually needs the perfect order. They need a correct order, arrived at fast enough that they never once think about it, which they can then override, because they know things the software will never know. Like which one of those steps quietly phones a machine in another building that is down on Thursdays.
The software can’t know about Thursdays.
The software cannot know about Thursdays. So don’t build a thing that argues with the person who does.
Is any of those three hundred and forty lines still running?
Most of it. Renamed, moved, wrapped in about nine thousand lines of everything else. But the core loop is close to what I typed at that table. Which I find funny and everybody who has ever read it finds upsetting.
[laughs] I bet.
19:05Putting it on the internet, 2017
March 2017. You put it on the internet. Walk me through the actual afternoon.
There wasn’t an afternoon. There were about forty minutes. I read three licenses, I picked one, I wrote a readme that was a page and a half, I pushed it, and then I went out and cut the grass.
You pushed it and you went and cut the grass.
I cut the grass. The soldering iron from the garage was on a shelf about four feet from the laptop, which I only notice now because people ask. I still have the iron. I still use the iron.
And you expected what, honestly?
Four people. I genuinely thought four people in the world had this specific problem and maybe two of them would find it.
How many people have this problem?
More than four.
[laughs] Alright. Then give me the moment it stops being yours. Because there is always a moment.
There’s a moment. Somebody posted a screenshot into a bug report for a program I had never heard of. Just a stack trace, in an image, badly cropped. And about four lines down it’s my function names. The names I made up at a kitchen table, sitting there inside a thing I could not have told you existed. I sat and looked at that for — I don’t know how long. A while.
What does that feel like? Because I’d be —
It’s like finding out a chair you built is in a room you have never been in. Somebody’s sitting on it. And if it broke, they’d be annoyed at the chair.
Who else works on it?
Nobody. That’s — okay, that’s not fair. Two hundred and six people have sent me code and a fair amount of it was better than the thing it replaced. But there is one account that can press the button and it’s mine, and that has been true since 2016.
That’s a lot of Tuesday nights.
It is exactly Tuesday nights. People hear open source and they think movement. Most of it is one person, on a Tuesday, at half past ten, reading a bug report from a stranger in a country he’s never been to, who is annoyed, and who is right.
Do you ever just — not answer?
About one in ten I don’t get to. And those ones sit there, and I think about them in the shower, for a year.
[laughs] That is the most relatable thing you have said on this show.
It’s also the truest one.
27:40The offer he turned down
Okay. September 2022. Somebody offers to buy plait. Not license it — buy it. The name, the copyright, the repository, and you for two years on a salary, and the plan is to leave the last open version where it is and take the next one closed. And you say no in a day.
In a day, yeah.
Nobody says no in a day. People say no in six weeks, after a lawyer.
So the honest version is that it was not a hard decision, it was a large one, and people assume those are the same thing. They aren’t. I read the email twice, I did the sum on the back of a gas bill, and then I sat on it for about eight hours purely so I could tell myself afterwards that I’d sat on it.
What was the number? And you can tell me to go away.
Go away. — No. Okay. It was a house and most of another house. That is as close as I’m going to get.
That is real money.
It’s real money, and I don’t want to do the thing where I pretend it wasn’t. I read that email standing up in the kitchen and I had to sit down. I want that on the tape.
So what’s the sum? What went on the gas bill?
What the money was for. Money buys three things. Time, somewhere to live, and not worrying. I had the house — bought it in 2016, I’m not moving. I had the time, because there is nobody above me putting things in a calendar, which is the entire reason I never built anything around this in the first place. So it came down to the worrying. And I did the sum, and I already wasn’t.
And the closed-source part. Was that the deal-breaker, or was that just —
That was the deal-breaker.
That was fast.
The only reason anybody uses it is that they can open it up and read it and fix it at two in the morning without asking me first. That isn’t a feature I own. Eleven thousand projects didn’t pick me, they picked something they could read. Selling that is selling a thing that isn’t mine. — And, look, I’d also have had to stop answering the issues, and somebody else would have answered them worse. I know exactly how that sounds.
Do you think about the number? Ever?
In February, a bit. [laughs] No — genuinely, no. I kept the job I’m good at. That isn’t a sacrifice, that’s a purchase.
35:18Everything original, nothing precious
The Blue Anchor Diner. 1974 prefab, you bought it in 2021, three years of work, and then you gave it away to a community trust. There’s a phrase you used with the contractors that I love — everything original, nothing precious.
Yeah. So that’s two instructions, and people usually only hear the first one.
Unpack it.
Everything original means you keep the material. You do not replace the counter because the counter is scratched. Those scratches are fifty years of elbows. Nothing precious means the building has to keep working. It’s a diner. People are going to put hot plates on it and drag chairs across it and a kid is going to run a fork down the boothback. If you restore something into a state where it can’t take that, you haven’t saved it, you’ve killed it politely.
Killed it politely. [laughs]
There are buildings in every town that are dead and beautiful. I didn’t want another one.
You left the repairs visible. The floor has a — describe the floor.
There’s a section of terrazzo by the door that came out in the seventies when a cooler line burst, and somebody patched it with the wrong colour. We could have matched it. We didn’t. It’s a stripe of grey in a floor of green and it tells you the building has had a life. Hiding that would have been a lie about a floor, which is a small lie, but they add up.
And then you handed the keys over.
It should not belong to me. I can do a roof. I cannot do a town. The trust can do a town.
43:02The one he will not discuss
I have to ask about 2019 and the warehouse on Dunmore Street.
Mm.
Twenty animals. Six trips. Forty minutes. The fire captain — Dale Whitlock — is on the record saying he had to physically stop you.
Dale is a good man who has been telling that story at fundraisers for six years and it gets a foot longer every time. Have you ever met him? You’d like him. He does this thing where he —
Brandon.
Yes.
Twenty cats.
The annex was not the fire. The fire was in the main structure. The annex filled with smoke, which is bad, but it is a different problem, and the door was thirty feet from open air. I want to be accurate.
Six times, though. You went back six times.
You can carry three at a time. There were twenty animals. That’s just division.
It is not just division.
It is exactly division. Can I say something about the apiary? Because the bee corridor thing is genuinely more interesting than this and nobody asks about it.
You are doing the thing.
I know what I’m doing.
Third time, and then I’ll let it go. Were you scared?
Everyone on that street that night did something. The woman from the print shop opened her shop so we had somewhere to put them. Somebody I have never identified brought forty bottles of water. There were maybe fifteen people out there and one of them ended up in the paper, and it was the one who wasn’t answering his phone that week. That’s the whole reason it’s a story about me. It’s a filing error.
A filing error.
Now can I tell you about the bees.
[laughs] No. Not yet.
50:26No plan, a list
Alright. Here’s my last real question. There is a version of your résumé — the scheduler, the diner, the mural, a comet, the scholarship, the hundred-miler — that looks like the most deliberate life anyone has ever lived. Was there a plan?
No. And I want to be careful here, because the humble version of this answer is also annoying. So: I have never had a plan. I have had a list.
What’s the difference?
A plan is about where you end up. A list is about what is in front of you on Tuesday. Everything you just read out was on a list once, in handwriting, on the back of something. Fix the script. Put the thing on the internet. Find out who owns the diner. Get the floodwall permit. None of them were steps toward anything. They were just the next unresolved item.
That sounds like it could also produce a life where nothing connects.
It absolutely could, and for about six years it did. The list is not a strategy. It’s a habit. The only rule I have ever actually kept is that you finish the item. Not well, necessarily. Finished. Because an unfinished item sits there and quietly makes you worse at starting the next one.
Brandon Cowen’s theory of everything: finish the item.
It’s not a theory. It’s a list.
54:40The comet
I’m going to end on the comet, because I have thought about it every day since I read the file.
Marguerite did the hard part.
Marguerite Adeyemi, the astronomer you share the credit with. But the object had already been picked up by the professional surveys and thrown out as noise. You found it from a backyard in Port Alden on a telescope that —
It’s a good telescope. It’s just old.
C/2023 K4. Cowen–Adeyemi. Your name is on a comet.
For about eleven thousand years, apparently.
Does that land? Has it landed yet?
Here’s the honest answer. The naming, no. The naming is admin. Somebody has to write something in a register and they used the surnames that were on the report. Fine.
And the not-admin part?
The not-admin part is that three separate systems, all of them better than mine, looked straight at it and filed it as nothing. It was in their data the whole time. It had been thrown out. And a thing that has been thrown out and is actually fine is — I mean. That’s the garage. It’s the same job. It’s a twelve-kilometre lump of ice that somebody put in the bin.
Brandon.
Yeah.
That’s the show.
Okay. Can I talk about the bees now?
[laughs] Next time. Thank you, Brandon Cowen.
Thanks, Junie. Genuinely.
[END OF RECORDING · 58:12]
Episode links
Credits
- Host
- Junie Baptiste
- Producer
- Marisol Trant
- Story editor
- Devan Oyelaran
- Engineer & mix
- Ky Fennimore
- Theme music
- “Slow Ferry” by Halgren & Poole
- Transcript
- Rosalind Beak
Made It Work is produced in Port Alden. Season 5 runs weekly through March. Corrections to the transcript are logged in the episode notes and dated.