For developers who have fully embraced AI agents, productivity is no longer the bottleneck. Agents produce code faster than humans, and often better. The bottleneck is correctness: whether the code solves the problem, whether the architecture can still hold the feature set you’re growing into, whether the implementation encodes the right premises. The practical shift is that a significant…
The simplest improvement you can make to your agentic programming workflow is to run two agents instead of one. One writes code in its own worktree; the other, in a parallel worktree, reviews it. They share a task list and talk after every TDD cycle. The reviewer is the holder of the lamp: it keeps the end goal fresh in context across the whole task, catching drift before it accumulates.
Note added on 2026-05-08: I am moving away from beadhub. Having a tool that messed up with my .git was too painful. I have been focussing all my efforts in https://aweb.ai (OSS at https://github.com/awebai/aweb ) which fully replaces beads and beahdub. I wrote previously that the bottleneck in AI-assisted programming is shifting from individual productivity to coordination. I’ve spent the…
TL/DR The conventional wisdom is that AI will reduce the demand for programmers. I manage engineering teams and program with LLMs every day, and I am seeing something different. Programmers who know how to work with LLMs can be 3-10x faster for specific tasks. Given that the size of our work backlog is only limited by our vision and ambition, these super-productive individuals will be more in…
Alias-first LLM routing with lockfiles llmring decouples code from model IDs. Instead of hardcoding “gpt-4o”, you use aliases like “fast” or “smart” that resolve through a lockfile, like package managers pin dependencies. It is also a unified SDK to talk to Anthropic, Google, Ollama and OpenAI. Project resources Main site : https://llmring.ai - Documentation and…
A PostgreSQL async library for modular applications pgdbm allows you to build database-backed libraries that work in any deployment context . Most DB tools assume the application owns the database. pgdbm is designed for building libraries that have their own tables and migrations, and that work identically whether running standalone as a service or embedded in a larger application sharing a…
Superseded by llmring llmbridge has been superseded by llmring , which provides a cleaner architecture without database dependencies. llmring offers: Alias-based routing with lockfiles Registry-driven model discovery No database requirement Better separation of concerns Please see the llmring documentation for the new approach. PyPI: https://pypi.org/project/llmring/
Engineer, programmer and founder. Contact juan@juanreyero.com Experience 2026-present : Founder at aWeb.ai 2024-2026 : CTO at Quantica GmbH 2021-2024 : Chief Engineer at Quantica GmbH, high-viscosity inkjet technology. 2017-2021 : Founder and CEO of GreaterSkies. Created and ran the original custom star map company. 2015-2021 : Principal Engineer at Xaar (Cambridge), inkjet technology. 1996-2017 :…
A Python library for date-aware currency operations Updated 2025-08-15: v2.x with DM factory, robust fallback for historical rates, and SQLite/PostgreSQL serialization helpers. dated-money represents monetary values with an optional date and performs conversions using historical exchange rates with automatic fallback. https://github.com/juanre/dated-money Installation uv add dated-money or pip…
Note added on 2025-07-28 : It’s been two years of programming with and for LLMs. This article sounds so naïve now. Say you made a website in which customers buy personalized gifts . Each gift comes with a message, written by the customer in whatever language the customer wants. The use of grammar, punctuation and capitalizations in the messages is often creative. You would like to be able to…
In the previous chapter we saw how to interact with Python. In this chapter we want to start using it to do interesting stuff, but before we’ll spend some time improving our work environment. First we’ll introduce screen , a wonderful piece of software that will allow you to do many things at once within the terminal, without losing track of any; get used to screen , and you…
A leanpub-optimized markdown exporter for org-mode Note: This is the original ox-leanpub exporter that I created in 2014. The project has since been taken over by Diego Zamboni . Original code (this page): github.com/juanre/ox-leanpub Current maintained version: github.com/zzamboni/ox-leanpub For new projects, please use Diego’s version which has many improvements and is actively maintained.…
So far we have been talking to the shell, and our programs have been a sequence of commands that the shell has executed one after the other. But there are many other languages we can talk to the computer —assuming, that is, that we are running a program that understands them. Python is a great language to learn. Invented by Guido van Rossum in the late 1980s, it has become extremely popular.…
Programming is a natural extension of the types of conversation that we’ve been having with the computer. If, instead of writing directly to the shell, you write the commands in a file, you can then ask the shell to run whatever it finds in it. Writing directly in the shell is like interactively asking somebody to do something, wait for the result, then ask something else, and so forth;…
Remember how we said that everything is text (it was not strictly true; images, videos, songs and compiled programs are not text… but most of what we are talking about in this booklet is). In plain text files you write programs, configure websites, select options for how to interact with many programs —including the shell— and store your data. Let’s look at the text…
Most of the tools you’ll be using in the terminal, including those presented in the previous chapter , were designed by the people who created UNIX back in the late sixties and early seventies. They did an amazing job. People like Ken Thompson and Dennis Ritchie are heroes in the computing world: the system they created is at the heart of most servers running the internet, and at the core of…
Learning only happens with practice. Throughout this booklet I shall strive to make it easy for you to actually go to your computer and try things out: but unless you get excited about a project —something you want to build— and start working on it you’ll find it very hard to learn. In this chapter we’ll start a project: we’ll begin a web site. As we are about to…
There is a better way to deal with computers. Hackers have been developing and using it for at least 40 years: it is the way of the command line, of the conversation with the computer in languages that are neither human nor machine, but a carefully crafted middle ground. Hackers, by the way, is how we call people who know well their tools, who dare to explore, and who need to build things. In the…
How learning about the brain could improve meetings Go directly to the proposal for conducting meetings if you are in a hurry. Meetings are a topic close to my heart. I have spent a large part of my professional career in them, and I must acknowledge that not all this time has been all that productive. I started to keep an eye on other ways to merge people’s ideas ever since I realized the…
Tinkering: prototype your way out of uncertainty Ten years ago I found myself near Portland talking to Bill, a brilliant colleague who was working at one of HP’s printer divisions. We were both worried about the lack of tools available for the particular set of problems we were working on —figuring out the algorithms that decide which drops to print, and when, in an ink-jet printer. It…
I enjoyed how the 3.16 section of the Stanford Artificial Intelligence class presented the Bayes theorem. Instead of giving a formula and expecting the alumni to apply it, they gave us a problem that the Bayes theorem would solve and expected, I believe, that we figured it out ourselves. Being as I am counting-challenged, it took me a while to figure out a way of solving it that was simple enough…
Note added in 2021 . When I wrote this 10 years ago I had no idea that what I then saw as a fascinating side project would become my company, and sustain my family for years. I was wondering, back then, who would want these wonderful maps I was making. The answer ended up surprisig me beyond anything I could have imagined. The sky as seen from South Goa I’ve been obsessed for the last 24…
I still remember my first fountain pen. It was a beautiful thing, green and blue, nice to touch, that would caress the paper when you wrote. To this day, holding a fountain pen in my hand puts me in writing mood, in thinking mood. It opens my mind, as Paul Erdös would say. I became conscious of this not long ago when, as I was reading Daniel Kahneman’s wonderful Thinking, Fast and Slow , I…
We cannot predict how the development of something large and complex is going to play out. We are not sure about what the right product architecture is, nor where the snags are hidden. In most cases we don’t even know what we’ll actually want by the time the product is done, when the compromises that reality will inevitably impose on us are bought off. Nor whether anybody will actually…
Note: This project is no longer actively maintained (last updated 2014). For current alternatives, please consider: ox-jekyll - Org Mode export backend for Jekyll org-jekyll-mode - Emacs extensions for writing Jekyll posts with org-mode jekyll-org - Jekyll with Emacs Org-Mode integration Export jekyll blog posts from org-mode Extracts subtrees from your org-publish project files that have a :blog:…
A Python library for computing with units Updated 2025-01-28 : magnitude has been modernized with full type hints, improved error handling, and is available on PyPI. magnitude implements efficient computation with values with units. It allows you to do mathematical operations with them as if they were numbers, taking care of the units behind the scenes. Units are specified as strings. They can be…
During the last three years I have managed a team of engineers doing ink-jet printer design at HP’s R&D lab in Barcelona. The excellent org-mode emacs package has helped me keep up-to-date with the work of the 12 engineers in my team, working in four different projects, without an obvious impact in my sanity. During this time some work-flows have evolved, and I have written helper functions…
Menciono varias de las partes del monociclo, intentando llamar a cada cosa por su nombre. Distingo, por ejemplo, entre las bielas y los pedales: si…
By Juan Reyero , Jaime Fernández and Utpal Sarkar. What is the maximum slope that a unicycle can climb? Trying to answer this question leads to some elegant results, and sheds some light on the dynamics of unicycle riding. Assumptions We shall assume the rotational inertia of the wheel, pedals and legs to be negligible. A further simplifying assumption is that the rider is putting all his weight…
This is a very rough attempt at deriving useful conclusions from the equations of motion of a unicycle. It was inspired by my brother’s desire to buy one: my brother is large (almost 2 m tall, and around 100 Kg) and I wanted to know how the usual recommendations for beginners (a 20" unicycle) would work for him. Does a large fellow need a large wheel? The equations have turned out to be too…
Throughout my career I have contributed to numerous innovations in printing technology, color science, and additive manufacturing. This portfolio represents work spanning over two decades, from fundamental inkjet printing techniques to 3D printing technologies. My patents focus in four key areas: Incremental Printing Technologies : Optimizing print quality through advanced masking algorithms and…