July 21, 2025

I enjoy M&A deals as much as the next founder, but they sure can be distracting. The advice I’ve always heard is to keep your head down and your data room open. After all it’s better to keep building your product and your customer base even if you do eventually receive that offer: it just makes for a more juicy acquisition target.

A few random things in case you missed them:

  • DHH had a good - and very, very long - interview with Lex Fridman about programming. It made a winter car drive to Tahoe seem short by comparison.

  • Daniel Lurie is refusing to bow to peer pressure on his social game in a city where no one has worn a suit since 1995. This outfit choice has nonetheless won him some Luriestans among people I know.

  • Sofar Sounds had a great set on Saturday, including an appearance by Vital Powers that I am absolutely bopping to nearly three days later.

Now on to the nerdy stuff.

Making an ascii animation [link]

Making "images" in ascii is really just choosing the text that you want in each spot. Negative space (no text) becomes just as important as the positive space where you put text itself. Rather than converting every pixel to ASCII, this video to ascii approach uses a distance-based filter to only render pixels that are close to two target colors.

How cute is this little terminal animation from Ghostty, the new terminal project? It’s totally, genuinely, certifiably ascii (with a bit of color highlighting on top). All the characters are updated in your browser one by one in the same way that a \b would work in your terminal if you were running a CLI script.

I thought this was a clever way to advertise a terminal client. A terminal is really just as good as the content that’s contained within it. It needs to be fast, responsive, and ideally have an infinite scrollback buffer. But that’s not super interesting for a marketing website. I did a deep dive into the script that they used to generate the animation from the original source video. It ended up being a compelling example to motivate some color theory and bash-fu.

Updated knowledge in language models [link]

Every few months, we see announcements of new foundation models. Usually it's some pseudo-novel architecture with a special recipe of training data. Because brand new architectures make a splash, and retraining an existing model with better data doesn't, researchers are incentivized to always package up data advancements within a fresh architecture. For the last few years they've basically been coupled efforts.

While we're chasing SOTA, the answer is both - always - all the time. But as models become more agentic and tool capable, this calculus is changing.

I’ve been pretty fascinated for some time with the dataset mixture that we use to train LLMs. It’s perhaps the most closely held secret of frontier labs - which is the reason why they release the weights+architecture code much more often than they release the training data and the training recipe. Thankfully some people are still pushing the needle in public here (see smollm3 from huggingface).

There are a lot of different types of knowledge that we want models to learn during training. Factual yes, schema aligned definitely, but also something deeper: building up a simple mental model of how the world works. It’s this mental model that human experts apply to novel situations: it’s easier to assess a delta than it is the entirety.

Programming is maybe the clearest example of what I mean here. If a library version is released with a redesigned API, we want our language model to not just clock the new APIs calls but to try to understand how the objectives of the API still fit together. That’s something that a raw context window, even with all the quadratic attention in the world, might not be able to get you. I explore this thinking - in brief - in this new post. There’s a lot more to be said here but I hope it can spark a bit of conversation without the anthropomorphisation of models we sometimes can get into.

Reputation is becoming everything [link]

I heard a story ~5 years ago of some guy who applied to a company, absolutely crushed the take-home interview (near kernel optimized C code), and did pretty well on the systems design whiteboard interviews. He got the job and it soon became clear in his PRs that he had no idea how systems engineering actually worked. Turns out his partner worked at Apple in some low level llvm optimizer role.

Risk profiles can change by virtue of scale. The same is becoming true for interviews.

How in the world are college grads supposed to land new jobs these days? Agents are thriving, companies are freezing hiring, and now suddenly every interviewer isn’t sure if they’re talking to a candidate reading off of an AI script.

It feels like there’s a clear consensus that something has to change. But change usually happens slowly, in fits and starts. It’s all the harder when there’s not really a clear answer, other than just forcing people to do every interview in person. That doesn’t even pass a cursory smell check: how do we expect any hiring manager to have to time to in-person screen every candidate that comes in the door with a good enough CV? How do we expect candidates to have time for twenty in person technical screens? It feels like it all comes back to reputation - with all the pros and cons that it brings.

Until next time. May the tensors be good to you.

Pierce