Good news after last week’s edition: I can stand up straight again!
But, more interesting than that, did you know that what in English you’d call a lumbago, or sudden back spasm, or “throwing your back out”, is called in German a Hexenschuss? That literally translates to witch’s shot.
As if a witch had shot your back with something.
Well, now you know!
Inspiration, I found, will never appear when you look for it. It only ever shows up by surprise. Heisenbergian in nature, if you will. Strain to find it and it’ll never appear. But then you sit down and open an article on your phone that a reader of this very newsletter sent you because they thought you might enjoy it, and you see that it’s called “Me, U, Baku, Quba” which — okay, weird title — is subtitled with “How a tiny enclave of Mountain Jews in Azerbaijan produced some of the former Soviet world’s richest men”. Yes, that might be right up your alley, you think, but is that where inspiration comes from, I don’t thin— surprise! there it is! Right there, in the first paragraph, someone’s going for it, this is it, this is the good stuff: “One thing about dictatorships, they’re either very expensive or very cheap to fly to. There’s no such thing as a midrange regime: Extremities charge extremities. I know a guy, it cost him $4,600 just to get to North Korea (Newark-Beijing-Dandong, and then across the DPRK border in a Jeep). I know another guy, it cost him $2,800 just to get to Laos (Newark-Tokyo-Bangkok-Vientiane). I flew nonstop from JFK to Baku, Azerbaijan, visa included, for all of $500.” Absolutely fantastic stuff.
There’s nothing I don’t love about this: My First Contribution to Linux. This is blogging at its finest. It’s great writing, it’s casual, it’s technical, it has a nice hook (look at that old Fujitsu laptop, and those specialized keys! we all had those and they never worked!), it’s humble. It’s a walkthrough of “here’s the problem” to “here’s the patch.” I love it.
Thomas Ptacek, from Fly.io, on his boss and CEO getting phished: Kurt Got Got. What a title! And I should rewatch The Wire. I really liked this: “Contrary to one popular opinion, you don’t defeat phishing by training people not to click on things. I mean, tell them not to, sure! But eventually, under continued pressure, everybody clicks. […] What you’re supposed to do instead is use phishing-resistant authentication.” I guess this is a good place as any to tell the story of how I got got too. Last week I woke up to a thousand new subscribers of this newsletter. You’d think that constantly happens, but it doesn’t. So I spot-checked the email addresses to find out who and why and where from. Most of them looked Indian to me. Huh. Where was I linked? No referrer. Nothing. An hour later, I get an email: “Your X account was last used in New Delhi. Is that you? If not, click here.” Oh shit, I got got! “Something something India subscribers bait Twitter” was the elaborate theory my fast-working mind threw together before I clicked that button to say that it wasn’t me. My mind had the tiniest bit of resistance when I was presented with an OAuth dialog to give “X Account Support” access to my account before resetting password. Too tiny to have an effect, so I clicked. Once in, I changed my password, logged out every session, and with my cursor lingering, I realized: oh shit, I got got, the OAuth application was the hack! It’s fake, fuck. And I do have 2FA, how could someone in New Delhi log in? So I removed all OAuth applications, all sessions again, checked that my profile hasn’t posted anything, and then went back to look at the email and, yes, it wasn’t even a good email. The sender was big number at fake domain. Styling was off. But I ran right into it. Moral of the story: use 2FA.
Mitchell on Vibing A Non-Trivial Ghostty Feature. He built the whole feature in “16 separate sessions”, that end up “totalling $15.98 in token spend on Amp. I won’t try to speculate whether this is expensive or cheap in general, but I will say for me personally I spent more than that in coffee shops in the two calendar days I spent on this feature.” We need more content like this (I’m thinking about recording myself implementing a whole feature), because look: 16 threads! That’s at least 16 times when Mitchell decides to put the hands back on the wheel, or adjust the wheel. Look at the prompts and how deliberately he mentions specific files. Look at how he already roughly knows what to build. That’s how you do it.
I’ve heard about Magic-Wormhole before, but came across the website again this week. It promises to “get things from one computer to another, safely”, which is still surprisingly hard for many variations of “things”, including “many small directories” or “one large, multi-gigabyte file”. It’s a lovely website. So, here’s my reminder to you and myself: next time, try this out.
Listened to the Cheeky Pint episode with Tobi Lütke, CEO of Shopify, and was reminded of this blog post of his, that I read back when it came out, in 2013. I think of it many times per year and every time Lütke comes up: The Apprentice Programmer.
Aaron Francis went on a Vision Quest and wrote about it: “I’m writing this email from a little AirBnB in East Texas. I gotta check out in a few minutes, but wanted to send this before I go. I’ve been here since Wednesday afternoon, and weirdly, haven’t looked at Twitter once since I’ve been here. To be honest, I’ve done next to nothing for the past 2 days. I just sat on the back porch and looked at the trees. For like hours at a time. Went for a few walks through the woods. Saw a deer, scared both of us. Did a lot of thinking, a bit of writing, a bit of voice memo’ing.” Alluring, but also scary.
Open this, look at the address bar and use your arrow keys: it’s a Snake game in the URL, yes.
Turns out that Secret Service SIM farm might not be nation-state actors after all.
I’m so late to the party that it’s probably over, but hey, at least I showed up: this week I tried the web interface of Midjourney for the very first time and, man, it’s so good! The UI, all the interactions, how it just lets you smash buttons and enqueue stuff, there’s nothing between you and trying stuff out — so good!
“one of the things about spending a lot of time with small children is it is so much fun. I have more fun in hours now than I used to have in months. the amount of fun we have with small everyday things is so extreme. we spend so much time laughing” Before I had kids, a friend, who at the time was pregnant with her second one, told me: “Thorsten, if you have kids, you get to laugh until you cry every day.” There’s a Comedians in Cars Getting Coffee episode in which Jerry Seinfeld is asked: “Should I have kids or not?” Seinfeld replies: “You’re standing in front of the amusement park and you’re asking me whether you should go in or not!” Then again, Seinfeld also said that kids are the only ones that, when they’re on the toilet and someone knocks on the bathroom door, say, “Come in!”
For no particular reason, I need you to read (or re-read) James Mickens’ The Night Watch. Why? “Here’s the answer: Pointers are real. They’re what the hardware understands. Somebody has to deal with them. You can’t just place a LISP book on top of an x86 chip and hope that the hardware learns about lambda calculus by osmosis. Denying the existence of pointers is like living in ancient Greece and denying the existence of Krackens and then being confused about why none of your ships ever make it to Morocco, or Ur-Morocco, or whatever Morocco was called back then. Pointers are like Krackens—real, living things that must be dealt with so that polite society can exist “ The phrase “learns about lambda calculus by osmosis” has been stuck in my head for a very long time now.
Nice, nice, nice: Multi-Core by Default.
Paul Thomas Anderson’s new movie One Battle After Another is based on the Thomas Pynchon novel Vineland. I’ve never read anything by Pynchon, but his Wikipedia page many times, always intrigued. With the movie coming out and Pynchon being in the news again, I read it again, and again I’m intrigued. And then I found this: Pynchon: An Introduction. It’s a great introduction but I’m not sure I’ll dare to read one of his books. (And I got a lot of Robert Caro books to read anyway.)
David Senra, creator of the Founders podcast, has a new podcast, a self-titled one, and the first episode is an interview with Daniel Ek, the CEO (or, now: ex-CEO) of Spotify. Not only did I enjoy the episode (Ek says quite a few things you don’t hear in many interviews with founders and CEOs), but this here, when Ek talks about his thinking on big companies, this made something click in my head and that click I don’t think can be undone: “I’ve sort of revised my view, and now I think they’re really good at doing what they’re already doing and doing it better. So, back to that point, a large-scale corporation, what they do is they just get better and better and better at doing what they already do, and the way to do that is obviously to minimize mistakes. So, you know, that also means minimize brilliance, minimize waste, minimize all these other things.”
I’m sure you know what a Heisenbug is, right? In case you don’t, today’s your lucky day. A Heisenbug is “a software bug that seems to disappear or alter its behavior when one attempts to study it.” Fingers crossed that the knowledge of its existence doesn’t curse your future. But I’m not here to tell you about the Heisenbug. What I want to ask you is: have you ever looked at the Related Terms section of that Wikipedia article? No? Go! Bohrbug, Mandelbug, Schrödinbug are waiting for you!
One hundred percent: Examples are the best documentation. I’ll take five examples over five paragraphs of technical writing every time. Shout-out to the PHP docs for having had examples for over two decades now. And while I’m here on stage talking about examples, let me give a shout-out to Learn X in Y Minutes.
While reading the previous link here, I was wondering: how and why did I fall in love with examples? I have this deep conviction that examples are probably better than 90% of explanations, or guides — but why? Then it hit me: Kathy Sierra. Her talk Making Badass Developers is where I got this from, that must be it. So I rewatched the talk (it’s only 23min and easy to watch on 1.5x or even 2x) and, hell yes, examples! Watch the talk. It’s very good. And then take what she said about examples and learning and multiply it with what Nat Friedman says on his website about being fast: “It’s important to do things fast. You learn more per unit time because you make contact with reality more frequently.”
And that, in turn, made me think of Peter Norvig’s Teach Yourself Programming in Ten Years. I think Kathy would say that you don’t need ten years.
Remember Light Table? The “next generation code editor” that was also a Kickstart project and reached “7,317 backers and over $316,000”? I didn’t until I randomly came across the page again. I also ended up on the website of the Light Table creator, Chris Granger, and, well, everything so far was just an intro because what I want to show you is probably one of the hardest-hitting lines in a resume every: “Implemented 24 compilers, 34 environments/IDEs, 25 relational engines, 16 storage engines, 9 interpreters, dozens of parsers, and numerous standard libraries based on state of the art research.”
I’m currently listening to episode #2 of 3 of the Acquired episodes on Google. It’s — like all things from Acquired — very good. Surprisingly, it’s starting to put Google in a different light for me. Maybe that’s just because it’s a good retelling, a good sounding history, or maybe it’s because I missed things back when they were happening. Example: back when they released Chrome, I thought of it as “of course does this company full of hackers release a browser, of course, what else would they do? they ship so many things, why wouldn’t they ship a browser?” But now, in hindsight, it looks like a genius business move to establish their own platform. Highly recommend listening. And, also, if you haven’t, read the 2018 James Somers article in The New Yorker on Jeff Dean and Sanjay Ghemawat: The Friendship That Made Google Huge.
I’ve linked to this one before, probably multiple times, but it’s time again to link to Pieter Hintjens’ Why Optimistic Merging Works Better. It’s so, so, so good. I clearly remember how every fiber in my body thought it was wrong the first time I read it. “This guy’s mad”, was a thought I had. Then, slowly, I saw the problems he described in other domains, when consensus was put before progress and both didn’t happen, and started to realize how right he is and how little my objections mattered. Great post.
This was great: Does our “need for speed” make our Wi-Fi suck?
LLMs are funny. Anthropic: a small number of samples can poison LLMs of any size. Pre-print of a Meta paper: a single character can make or break your LLM evals. “In evaluation protocols and real world usage, users face the choice how to separate in-context examples: use a comma? new line? semi-colon? hashtag? etc.? Surprisingly, we find this seemingly minor choice can dramatically alter model response quality. Across leading model families (Llama, Qwen, Gemma), performance on MMLU for example can vary by ±23% depending on the choice of delimiter.”