Glow | Eyeball Planets | Programmatic Stagnation
This week, we're going to discuss Glow, a beautiful tool for reading markdown documentation in the terminal, the curious case of eyeball planets in nearby solar systems, and the ways in which widespread LLM usage are likely to lead to programmatic stagnation.
TUI of the Week: Glow.
Made with BubbleTea (the same Go framework I used for GoGo, Furnace, and Dispositio), Glow is a beautiful TUI for browsing markdown documentation.
You simply run the tool in e.g. a Github repo, and instantly get a list of all of the markdown files in the repo, searchable, well formatted, and easy to browse. Excellent for reading documentation or just browsing through your Obsidian vault.
Something Interesting: Eyeball Planets. A large number of exoplanets discovered so far are tidally locked to their stars. A subset of these are "eyeball planets": the point directly facing the star (the "pupil") is blasted sterile and molten, the dark side is permanently frozen (potentially with water ice, like Europa). The ring-shaped boundary between them, in a state of permanent sunrise, forms the "iris", and could hold liquid water and potentially even life.

Note: the site in the link above, planetplanet.net, is one of my favorite places on the internet. Check it out.
Systems Thinking: LLMs and Programmatic Stagnation.

LLMs are limited to the words and patterns in their training corpuses, which means that their core function is not generation, but search. But unlike other forms of search, LLMs strip authorship, performing corporate capture on an unprecedented scale. This disincentivizes free human participation in the global information forum, and means we're headed for a hard undertow of stagnation in programming.
Let's walk the reasoning.
1. How LLMS work
An LLM is not an artificial intelligence. Rather, it's a large language model. That means some very complex neural nets have built a "model" (a vast array with thousands of dimensions; massive in size but still possible to render as a multi-terabyte comma-separated text file) that is trained on a "corpus", which is to say the untold terabytes of text scraped off the internet by AI companies (often illegally).
All of that text is turned into tokens, integers that represent meaning. For instance, god is tokenized as 73503, whereas God is 34411; the capitalization has meaning to many religious people. Tokenizers are quite straightforward; you can play with one here to see how they work. The gist is that language gets turned into integers for easier mathing.

A "vector" is two or more dimensions that together make up an angle. 1,0 in most contexts is equivalent to "right", which might be 0 degrees, depending on your point of reference. 1,0,1 is a three dimensional vector which means "to the right, and away from me in three dimensional space". In normal geometric math we're used to two and three dimensional vectors. But vectors can have any number of dimensions, and any two n-dimensional vecrors can be combined into a single "scalar" value using a dot product.
A scalar measures "how far along the first vector does the second go" (positive if in same direction, negative in opposite direction, zero for something perfectly perpendicular). There's a lot more math to it than this, but the gist is, we can "build a vector" by combining the individual token vectors in a prompt one after the other (0,0 + 0,1 + 1,0 = 1,1), and then doing a dot product comparison against all of the tokens in the database to see which one is "best", with a bit of random noise thrown in there to make it seem less deterministic. Once we find it, we add it to the prompt and start over from zero to get the next token after that, and after that, and so on.
This is next token prediction. It is much more complicated than something like a Markov chain, but it's not not something like that, either.
Neural nets (like all of the nodes in your brain and mine) have the capacity to compose intelligence. An LLM isn't a neural net; it's a very complex statistical model built by a neural net. It is in fact a static mathematical system that could be operated with an abacus, given enough care and patience.
2. LLMs are Synthetic Search
What this means is that an LLM is configured to look at a corpus and best produce text from that corpus combined with the prompt. An LLM trained on Mein Kampf is incapable of ever reproducing tokens or patterns not found in Mein Kampf, of interacting "critically" with itself, or anything else. But an LLM trained on Marx or Hannah Arendt isn't capable of that criticism either; it's only capable of reproducing or reformulating the text in the corpus. So the maximal criticism of Mein Kampf possible in a model trained is the best one originally contained in the text.

The implication here is important. An LLM is meaning-agnostic, meaning that the system has no world-model or other "understanding" of the text. It is purely a heuristic for generating more text given an extremely complex, but static, derived dataset (aka, the language model).
The best case output of an LLM asked three different questions is a single answer that synthesizes the best three solutions found in the original corpus. To human users, synthesis feels like generation (thus, "generative") but in fact the success of an LLM is better compared with the success of a search engine: "does this tool find the answers I need from the corpus", not "can this tool/being reason out a solution from first principles".
3. LLMs Remove Provenance
Here we collide with the human factor of all of this. In many ways, LLMs have become much easier than normal search. You don't have to wade through pages of links, don't have to read the pages behind those links. Basically, you no longer have to do the work of synthesizing multiple sources into a single answer yourself -- the entire purpose of an LLM is to do that specific part for you.
There is a host of evidence that by doing that you are giving up struggle that is actually important for your brain, which makes you dumber. But that's a topic for another time. There's also the problem that being meaning-agnostic, LLMs will compose answer flatly across sources. In a corpus with a very high level of "valid data", like Github (most committed public code on GitHub is valid code), this is fine; for much of the rest of the internet, it's an acceleration of the already existing problem of misinformational noise.
But assume the best case. The LLM is fed only with good, verified information, and is capable of synthesizing good, reliable results. I suspect this is a possible result at least in the specific subdomain of programming. While agentic coding still mostly outputs slop, an experienced engineer can accelerate output significantly using one of the top-tier agentic toolsets (particularly Anthropic, for whatever reason).
This is good, right? A whole future of cheap, easy software, delivered at the speed of ideation?
4. Soylent Green is People
Watching Claude build a fully functional game of Tetris or Doom in ten minutes is so dazzling that many engineers don't pause to look behind the curtain. In my experience this is especially true of web programmers (who make up the vast majority of the corporate coding world), who were already working in very highly abstracted environments to begin with.
The problem here goes back to the corpus. An LLM can write Tetris and Doom because humans have already done so and released the source code for it. Many times, in fact. Claude can slop out endless websites and social media apps, because fundamentally 99% of corporate software products are technically identical: data entry and retrieval applications laid out on a rectangular grid system (this accurately describes Twitter, Bluesky, Facebook, LinkedIn, Jira, Trello, Instagram, Pinterest, Ebay, Craig's List ... you get the idea).

More to the point, these are things human beings have written about extensively, and for free. There are articles, blog posts, white papers, and an ocean of Stack Overflow threads full of detailed and thoughful responses to an innumerate river of technical problems. Traditional search engines direct human beings to answers where they are provided by other human beings; my gratitude as a frustrated programmer is directed to sergei7294, who took his time to outline a detailed answer to my problem at 2:31 am in Ukraine.
Anthropic, OpenAI, et al have finally put the cherry on corporate capture (which we will discuss here more at length in coming months). Given the same dataset of the free and generous work of millions of human beings, an LLM does what traditional search never could: it strips all original authorship from knowledge, and repackages it as if it comes from the corporation itself. I cannot count the number of times I've heard the words "thanks, Claude!" in my workplace over the course of the last year. Sorry, sergei7294; you have been forgotten.
5. People Love Giving, but Hate Getting Took
So some engineers aren't getting credit for their work, and somebody else is getting rich off of it. Who cares? That's the story of American innovation in a nutshell. Elon Musk should have called the company Edison.
The answer is that all of those humans, all of us who used to post answers on Stack Overflow or write technical blogs, care. That was our time and labor. And, it seems, we're not really interested in doing that labor if it's just going to get scraped and sold at a premium by big LLM companies.

It is easy to look at the insane acceleration of the current moment in corporate tech and mistake it for innovation, especially if you're willing to overlook the widespread, bone-deep technical decay that the slop era is ushering in. But this impression relies on the misconception that LLM usage is like previous eras of innovation: part of an upswell in new human thinking and writing that invents new language (new tokens, as it were) and new structures.
But in fact, while LLMs make generating mediocrity and noise much easier, they also disincentivize thoughtful human interaction. This results in a stagnation in the online "corpus" of human knowledge. And given that, as outlined above, LLMs can only synthesize what is in the corpus, innovation experiences a kind of hidden undertow effect, where the safe middle explodes, and the innovative edge decays.
6. Programmatic Stagnation
There's still a vibrant word of humans programming, of course. Languages like Zig are growing at an exciting and healthy pace, in no small part due to polices increasingly leaning toward banning slop.
But much of the energetic impetus of the tech world is becoming wrapped in the lowest-common-denominator box of LLM usage, and all of the human wiring that once existed at the edges of that is dying off. I suspect that if any part of the AI bubble survives (this weekend, let alone the coming year), we will see a split between stagnant, low-quality corpo code in 95% of the industry, and a small cadre of human experimenters on the margin. The rich gradient that once existed between them, that occasionally invited curious young web developers like myself 20 years ago to venture out and try something different, is already in the process of dying off.
So what do to do about it? I don't know. We'll keep talking about it. For now, just get out there and learn something. Do the hard stuff on purpose and in your own time, and save the LLM for your day job. Be curious. Write for and talk to other human beings. Fuck capitalism.
If you enjoyed this, consider subscribing! Changelog letters are delivered weekly on Friday. I will never advertise to you (unless I'm letting you know about something I personally made) or sell your information to anyone.
