Articles
Longer writing, with a few places to start.
Reading guides
Working with agents
- 1 to 5 agents describes how my daily work changed.
- Semantic vendoring explains how to keep changes to copied code.
Local AI
- Theoretical upper bounds for LLM throughput gives the hardware and model limits.
- The local model deployment topic collects practical observations.
Mathematics
- Start with Linear finite elements.
- Continue with Time-dependent finite elements.
Language and writing
- Economic burden of language complexity considers the cost of difficult language.
- Building an AI de-smeller examines patterns in generated prose.
Explore more subjects in the knowledge graph.
RSS feeds
Choose the writing you want in your feed reader.
All articles
-
Semantic vendoring
Keep local changes to vendored code while merging upstream updates with coding agents.
-
How to get scraped
The internet is busy building walls against AI crawlers. Cloudflare blocks them by default now, publishers are suing, and every other blog post on the topic explains how to keep the crawlers out. This post is the…
-
Write-up of Reiner Pope's Lecture: How GPT, Claude, and Gemini Are Actually Trained and Served
Pope is the CEO of the chip startup MatX and previously worked on TPU architecture at Google. With two rules of thumb (a roofline model of a GPU rack, and “set competing costs equal to each other”), he derives why…
-
Theoretical Upper Bounds for LLM Throughput
Estimate LLM throughput from hardware and model limits, with formulas and interactive examples for decode and prefill.
-
Building an AI de-smeller
Measure patterns in AI-generated prose and use the results to write clearer text.
-
Popularity ranking cheatsheet
I recently did some work ranking models on Hugging Face. While doing that, I remembered some concepts I had known years ago from studying recommender systems. But I couldn’t find any personal notes from that time.
-
i0 to i4 interest scale
One cool small invention in engineering management is the p0, p1, p2, p3, p4 priority scale.
-
1 to 5 agents
As a software developer, my daily workflow has changed completely over the last 1.5 years.
-
Telegram/Discord is my IDE
OpenClaw got very popular very fast. What makes it so special, that Manus does not have for example?
-
AI psychosis and AI hygiene
As a heavy AI user of more than 3 years, I have developed some rules for myself.
-
You don't need a skill registry (for your CLI tools)
tl;dr I propose a CLI flag convention --skill like --help for distributing skills and try to convice you why it is better than using 3rd party registries. See osolmaz/skillflag on GitHub.
-
Having a "tools" repo as a developer
I am a fan of monorepos. Creating subdirectories in a single repo is the most convenient way to work on a project. Low complexity, and your agents get access to everything that they need.
-
Depth on Demand
I gave Codex a task of porting an OpenCV tracking algorithm (CSRT) from C++ to Rust, so that I can directly use it in my project without having to cross-compile
-
How to stop AI agents from littering your codebase with Markdown files
A simple documentation workflow for AI agents.
-
Agentic coding tools should give more control over message queueing
Below: Why agentic coding tools like Cursor, Claude Code, OpenAI Codex, etc. should implement more ways of letting users queue messages.
-
Google's Code Review Guidelines (GitHub Adaptation)
This is an adaptation of the original Google’s Code Review Guidelines, to use GitHub specific terminology. Google has their own internal tools for version control (Piper) and code review (Critique). They have their own…
-
Typed languages are better suited for vibecoding
My >10 year old programming habits have changed since Claude Code launched. Python is less likely to be my go-to language for new projects anymore. I am managing projects in languages I am not fluent in—TypeScript, Rust…
-
Monetize AI, not the editor
A certain characteristic of legacy desktop apps, like Microsoft Office, Autodesk AutoCAD, Adobe Photoshop and so on, are that they have crappy proprietary file formats. In 2025, we barely have reliable, fully-supported…
-
Calling strangers uncle and auntie
Cultures can be categorized across many axes, and one of them is whether you can call an older male stranger uncle or female stranger auntie. For example, calling a shopkeeper uncle might be sympathetic in Singapore,…
-
AGI is what generates evolutionarily fit and novel information
I had this idea while taking a shower and felt that I had to share it. It most likely has flaws, so I would appreciate any feedback at [email protected]. My hunch is that it could be a stepping stone towards something more…
-
Our muscles will atrophy as we climb the Kardashev Scale
If you like this, you might also like my Instagram channel Nerd on Bars @nerdonbars where I calculate the power output of various athletes and myself.
-
The Kilowatt Human
tl;dr: I calculate my power output in Watts/Horsepower and aim to maximize that, instead of muscle volume, in my workouts:
-
Open Thought > Closed Thought
OpenAI released a new model that “thinks” to itself before it answers. They intentionally designed the interface to hide this inner monologue. There was absolutely no technical reason to do so. Only business reasons
-
Why should anyone boot *you* up?
Given that running a brain scan still costs money in 1000 years, why should anyone bring *you* back from the dead? Why should anyone boot *you* up?
-
Frequencies of Definite Articles in Written vs Spoken German
tl;dr Skip to the Conclusion. Don’t forget to look at the graphs.
-
Stripe Subscription States
This is a quick note on Subscription states on Stripe. Subscriptions are objects which track products with recurring payments. Stripe docs on Subscriptions are very comprehensive, but for some reason they don’t include…
-
Economic Burden of Language Complexity
Some languages are harder to learn compared to others. Difficulty can show up in different places. For example, English has a relatively easy grammar, but writing it can be challenging. Remember the first time you…
-
Cognitive Biases Ranked by Popularity
If you have spent some time on rationalist forums, you might have come across images that try to visualize cognitive biases that humans are prone to:
-
Code-Driven Videos
tl;dr I created Manim Voiceover, a plugin for the Python math animation library Manim that lets you add voiceovers to your Manim videos directly in Python, with both AI voices or actual recordings.
-
Microtonal Piano
I built a web-based microtonal piano that lets you explore music beyond the standard 12-tone equal temperament.
-
Take Control of Your Feeds
A digital feed is an online stream of content which gets updated as new content is pushed by the feed’s sources. Generally, content is created by users on the social media platform, to be consumed by their followers.
-
Blockchain Fee Volatility
Ethereum is a platform for distributed computing that uses a blockchain for data storage, thus inheriting the many benefits blockchain systems enjoy, such as decentralization and permissionlessness. It also inherited…
-
Equilibrium in Cryptoeconomic Networks
A cryptoeconomic network is a network where
-
Scalable Reward Distribution with Changing Stake Sizes
This post is an addendum to the excellent paper Scalable Reward Distribution on the Ethereum Blockchain by Batog et al.1 The outlined algorithm describes a pull-based approach to distributing rewards proportionally in a…
-
Bitcoin's Inflation
New bitcoins are minted with every new block in the Bitcoin blockchain, called “block rewards”, in order to incentivize people to mine and increase the security of the network. This inflates Bitcoin’s supply in a…
-
The Anatomy of a Block Stuffing Attack
Block stuffing is a type of attack in blockchains where an attacker submits transactions that deliberately fill up the block’s gas limit and stall other transactions. To ensure inclusion of their transactions by miners,…
-
Mathematics of Bonding Curves
A bonding curve is a financial instrument proposed by Simon de la Rouviere in his Medium articles. ETH is bonded in a smart contract to mint tokens, and unbonded to burn them. Every bonding and unbonding changes the…
-
Lumped L2 Projection
When utilizing Galerkin-type solutions for IBVPs, we often have to compute integrals using numerical methods such as Gauss quadrature. In such a solution, we solve for the values of a function at mesh nodes, whereas the…
-
Disadvantages of Engineering Notation in Finite Elements
Suppose we have the following stiffness matrix of linear elasticity:
-
Variational Formulation of Elasticity
There are many books that give an outline of hyperelasticity, but there are few that try to help the reader implement solutions, and even fewer that manage to do it in a concise manner. Peter Wriggers’ Nonlinear Finite…
-
Discontinuous Divergence Theorem
In lecture notes related to the Discontinuous Galerkin method, there is mention of a magic formula which AFAIK first appeared on a paper1 by Douglas Arnold (at least in this context).
-
Nonlinear Finite Elements
This post builds on the formulations I showed in my previous posts by introducing their nonlinear versions.
-
Coupled Finite Elements
In this post, I’ll introduce the FE formulation of a generalized linear and coupled weak form. Said weak formulation has the form
-
Time-Dependent Finite Elements
Time dependent problems are commonplace in physics, chemistry and many other disciplines. In this post, I’ll introduce the FE formulation of linear time-dependent problems and derive formulas for explicit and implicit…
-
Vectorial Finite Elements
Many initial boundary value problems require solving for unknown vector fields, such as solving for displacements in a mechanical problem. Discretization of weak forms of such problems leads to higher-order linear…
-
Reshaping Higher Order Linear Systems
In vectorial problems, we end up with linear systems of higher order, such as
-
Linear Finite Elements
Beginning with this post, I’ll be publishing about the basics of finite element formulations, from personal notes that accumulated over the years. This one is about linear and scalar problems which came to be the “Hello…
-
Balance Laws
Calculus is all about relating the change in one quantity to another quantity.
-
Taylor and Volterra Series
In the theory of computational mechanics, there are a few operations used that are not taught in Calculus 101, which can be confusing without taking a lecture in calculus of variations. One of them is taking variations…
-
Isomorphisms in Linear Mappings between Vector Spaces
Equipping a vector space with an inner product results in a natural isomorphism , where the metric tensor can be interpreted as the linear mapping and its inverse .
-
Metrics and Natural Isomorphisms
The assignment of an inner product to a non-degenerate and finite-dimensional vector space , results in emergence of the natural isomorphism to its dual , which means that the morphisms and are of the same structure and…
-
Duality of Vector Spaces
When I was learning about Continuum Mechanics for the first time, the covariance and contravariance of vectors confused the hell out of me. The concepts gain meaning in the context of Riemannian Geometry, but it was…
-
Solving Constrained Linear Systems
Constrained linear systems arise when Dirichlet boundary conditions are imposed on a variational formulation
-
Simple recursive implementation of deCasteljau's algorithm for Bezier curves in Python
I could not find a simple demonstrative example of *insert title here*. I am leaving this out here for future reference.