







How to make better software with systems-thinking
Modern software quality, or why I think using language models fo…
How to make better software with systems-thinking
Prompts are code, .json/.md files are state
Treating LLMs as shitty general purpose computers we program with natural language. Because throwing shit at the wall wasn't working anymore.

Systems programming the model
This paper examines the status of the language model object in generative AI, arguing that what we call a ‘model’ is inseparable from the systems deploying it. I first theorize how these objects emerge from systems-level interactions between trained artifacts, prompting mechanisms, and sampling methods, drawing on the philosophy of digital objects as well as software studies to show how models gain their objective character. Such interactions converge on programming, not prompting, language models, and I illustrate how critical code studies can therefore track these dynamics. In an overview of language model programming approaches, I discuss how prompt and program converge, demonstrating how this confluence tends toward the production of new feedback loops wherein models become models of and for themselves. Understanding these feedback loops is essential in view of recent efforts to infrastructuralize AI, in which multiple models cascade into compound systems that abstract toward a unified model of models. Thus the need, I argue, for a systems-level view that can address this new order of abstraction and complexity by identifying where and how the model emerges from the system.

Nicholas Carlini - Black-hat LLMs | [un]prompted 2026
Why Anthropic believes its latest model is too dangerous to release
“The language models we have now are probably the most significant thing to happen in security since we got the Internet.”

How to safely think in systems.
While there are a decent number of folks out there modeling systems, there’s a much larger group of folks who think of themselves as systems thinkers but utilize techniques like modeling rather casually (a polite way of saying that they don’t use them). Even with modeling tools available, I’ve often taken the shortcut of intuitive modeling, which over time has given me quite the education in making well-intentioned reasoning errors.

Who's asking? User personas and the mechanics of latent misalignment
Despite investments in improving model safety, studies show that misaligned capabilities remain latent in safety-tuned models. In this work, we shed light on the mechanics of this phenomenon. First, we show that even when model generations are safe, harmful content can persist in hidden representations and can be extracted by decoding from earlier layers. Then, we show that whether the model divulges such content depends significantly on its perception of who it is talking to, which we refer to as user persona. In fact, we find manipulating user persona to be even more effective for eliciting harmful content than direct attempts to control model refusal. We study both natural language prompting and activation steering as control methods and show that activation steering is significantly more effective at bypassing safety filters. We investigate why certain personas break model safeguards and find that they enable the model to form more charitable interpretations of otherwise dangerous queries. Finally, we show we can predict a persona's effect on refusal given only the geometry of its steering vector.

Building software on top of Large Language Models
I presented a three hour workshop at PyCon US yesterday titled Building software on top of Large Language Models. The goal of the workshop was to give participants everything they …

Jailbreaking Large Language Models: If You Torture the Model Long Enough, It Will Confess!
A Cautionary Tale…

Let the Model Write the Prompt
Notes from a talk I delivered at the 2025 Data + AI Summit, detailing the problem with prompts in your code and how DSPy can make everything better.

Maintaining the love for coding in the time of AI
By Alex Band Over the last year, we have seen the profound effects Large Language Models (LLMs) have on our open-source software work at NLnet Labs. These can be grouped into two main areas: community contributions and security reports. Before we dive into this topic, let me first give
home
A delightful language with friendly error messages, great performance, small assets, and no runtime exceptions.

Convivial design heuristics for software systems
The theme of this workshop is the proliferation of ideas about calling into question the cultural roots of our current programming languages, and the search for alternative paradigms with other cultural bases.
Prompts are technical debt too
It’s common and correct to say that “all code is technical debt”. Adding code is a necessary evil for developing new features: you almost always have to do it, but each line of code adds to the complexity and maintenance burden of the system. All future changes to the system have to work with the existing code, or at least avoid breaking it. Once systems accumulate enough code, they become impossible for a single person to understand: instead of reading the code and understanding what it does, you must rely on guesses, theories and heuristics1. Sensible engineers write as little code as possible.

chenxiachan/textfold
turantekin/Parrot
Browse code by meaning
reasoncommons.com
Shaping the future of AI interaction by reimagining the mouse pointer

How to Stop AI from Killing Your Critical Thinking | Advait Sarkar | TED