By how much does your memory allocator overallocate?
lemire.me
How much virtual memory does the following C++ expression allocate on the heap?
new char [ 4096 ]
The answer is at least 4 kibibytes but surely more.
Firstly, each heap memory allocation requires some memory to keep track of what has been allocated. You are likely using 8 bytes or so of overhead that your program cannot access.
Secondly, the memory allocator may allocate a bit more than the 4096 bytes you requested. On a Linux machine, I found that it would allocate 4104 bytes,...
GDB is great for stepping through machine code to figure out what is going on.
It uses debug information under the hood to present you with a tidy backtrace
and also determine how much machine code to print when you type disassemble .
This debug information comes from your compiler. Clang, GCC, rustc, etc all
produce debug data in a format called DWARF and then embed that debug
information inside the binary (ELF, Mach-O, …) when you do -ggdb or
equivalent.
Unfortunately, this means ...

This is the last NULL BITMAP of the year. If you read these with any regularity, sincerely, thanks for spending time with me every week.
Reflecting on the year, I have been a bit down about the future of programming culturally, with the advent of LLMs it feels like people are telling me that being interested in how things work and how best to think about things is a waste of time. That "no, no, we're automating the boring parts" refrain fills me with dread about which those people thought were...
Memory Safety Is …
Dec 30, 2025
Memory safety is one of those elusive concepts like intelligence, consciousness, or
porn , that resist attempts to be put to
words. Thus, I am not going to attempt to define it. Instead, I want to poke holes in definitions of
others.
Note that the present post is 90% sophistry in the style of Zeno — I don’t think you need a
water-tight definition to have a reasonable discussion, and no definition can save an unreasonable
one. But thinking about ...
The year is about to end, and it’s unlikely I’ll finish more books, so I think it’s a good time to recap the books I read in 2025. I’m not going to include links to buy these books. There’s no point in doing that because you know better than I do where you like to buy books. Some I read in Italian, others in English, but I’ll list the English version here when possible.
Carrying the Fire by Michael Collins
Become What You Are by Alan Watts
Silence: The Power of Quiet in a W...

In my last article, “ Python Supply Chain Security Made Easy ” I talked about how to automate pip-audit so you don’t accidentally ship malicious Python packages to production. While there was defense in depth with uv’s delayed installs, there wasn’t much safety beyond that for developers themselves on their machines.
This follow up fixes that so even dev machines stay safe.
Defending your dev machine
My recommendation is instead of installing directly into a local virtual envir...

Rob Pike ( that Rob Pike ) is furious . Here's a Bluesky link for if you have an account there and a link to it in my thread viewer if you don't.
Fuck you people. Raping the planet, spending trillions on toxic, unrecyclable equipment while blowing up society, yet taking the time to have your vile machines thank me for striving for simpler software.
Just fuck you. Fuck you all.
I can't remember the last time I was this angry.
Rob got a 100% AI-generated email credited to "Claud...
Favorite books of 2025
Another year where my technical content consumption outpaced the non-technical, and as a result, as usually happens, I’ve been feeling a lack of inspiration in my technical work. I strongly believe that if you do anything with code, you should be reading more fiction than non-fiction. Hoping to break that chain next year!
In writing these up, Ialso realized that most of these books are also not happy or easy books to read. I generally struggle through serious books, ...

Over the holidays, I’ve been thinking about what the impacts of 2025’s progress
in AI coding tools will mean for how software gets designed, built, and operated
in 2026.
The primary impact of LLM tooling, so far, is that the marginal cost (both in
terms of time and dollars) of producing high quality code has gone down
significantly. Of course, producing code is only part of the full job of
software engineering, so the bottlenecks for engineering time will shift
elsewhere.
To start, what ...
Some insights on who visited my blog in the last 12 months Some insights on who visited my blog in the last 12 months
Conditions in the Intel 8087 floating-point chip's microcode
www.righto.comIn the 1980s, if you wanted your computer to do floating-point calculations faster, you could buy
the Intel 8087 floating-point coprocessor chip.
Plugging it into your IBM PC would make operations up to 100 times faster, a big boost for spreadsheets
and other number-crunching applications.
The 8087 uses complicated algorithms to compute trigonometric, logarithmic, and exponential functions.
These algorithms are implemented inside the chip in microcode.
I'm part of a group that is reverse-enginee...
My work log tells me I’ve spent 54 hours since mid-November
building this discrete event simulation ,
which works out to a little over an hour a day.
I’ve learned a few things about SimPy and Polars along the way,
and depending on what happens with my job search,
I may run an online workshop in 2026 to walk people through it.
For now,
though,
I need to put this aside and concentrate on completing a couple of small contracts
and revising some of the fiction I finally “finished” . M...
Git's HTTP server side design does not scale
xeiaso.netUPDATE(2025-12-29T13:04Z-5): If you run a git forge: disable unauthenticated clones for repos larger than 512Mi until further notice.
Recently Sourceware had to disable git clone over HTTP due to an attack where lots of random Git clients are cloning repositories. This was surprising to me, I thought the Git client didn't need any smarts on the server and most of the "magic" was just serving flat files based on the client needs. It turns out that the git HTTP backend is way more co...
Some activities have smooth progress bars: rowing, knitting, cycling, climbing,
bodybuilding, etc.
For such pastimes, investing a unit of effort reaps a proportional unit of
progress. Linear incrementalism is a sound strategy when success is linear. To
win at rowing, row harder/better/faster/stronger than your competition.
Golf is not so smooth. Yes, each round is a state-dependent game of
error-correction (i.e. Zeno's Paradox). But golf swings are coarse actions --
few swings per game, with...
1Password Dependency Breaks Syntax Highlighting
borretti.meEarlier today I noticed the syntax highlighting on this website was broken. But
not fully: on reload I’d see a flash of highlighted text, that then turned
monochrome. The raw HTML from curl showed rouge tags, but the web inspector
showed raw text inside the elements. This didn’t happen in Chromium.
My first thought was: there’s malformed HTML, and Firefox is recovering in a way
that loses the DOM inside tags. Then I noticed it doesn’t happen in
incognito. Turning my extensio...

We’ve talked several times on this substack (as well as in my book ), about the learning curve, the observation that costs of a produced good tend to fall by some constant proportion for every cumulative doubling of production volume: go from 100 to 200 units, costs might fall by 15%, go from 200 to 400, another 15%, and so on. Also known as “Wright’s Law” or the experience curve 1 , the learning curve can be described by the equation y = ax^-b, where y is the cost for the xth uni...
I am in the process of updating my résumé. Not because I’m looking for a job [1] , but because I like to feature my résumé on my website and the current published copy doesn’t reflect my pivot from engineering management to an individual contributor role two years ago . I feel a little bit weird about the misrepresentation, and would rather update the document than take it down. While working on some edits, I was reflecting on how things have been going, and decided to write this “wha...
s20e09: An End Of Year Opinion About AI Because Why Not; Good Enough Mitigation of Reasonably Foreseeable Harm
newsletter.danhon.com
0.0 Context Setting
It’s been a minute. This is probably the third draft of an episode that I’ve tried to finish so maybe this one will stick. It has been hard to write, lately!
It’s December 29 in Portland, Oregon and it is getting cold. Also many things have happened in the world and it feels like things that suck have outweighed the things that don’t suck.
0.1 Some Personal News
Hey, did you know I do workshops and coaching now?
I could explain what they do, but I’ll le...
Last month, I was thrilled to have the chance to give a colloquium talk, “Interpreters everywhere!”, at the Indiana University Computer Science Colloquium. This post is more or less a transcript of my talk, not including the Q&A at the end or the lovely introduction by Carlo Angiuli. Those parts, however, are included in the video recording, which you can find on YouTube if you’re interested!
Introduction
I’m so happy to be giving this talk, so thank you, Carlo , fo...

Thank you all for your ongoing support that gives you access to my 3D parts and designs. I'm excited to share than starting now, I have a collaborator support tier. The existing tier still will have access to all the same design files, comments on posts, and of course the newsletter. The new tier offers a true collaboration space for those who are looking customized my builds or just need help building them out. The new tier provides:
Same access as the supporter tier to get 3D files, desig...
I manage my legally obtained content using a media server. Over the years, both hardware and software on the server went through a bunch of transformations which I find interesting.
In order to not look at ads on my Samsung TV, I view all of my content through NVIDIA Shield. It is connected to the TV through HDMI and has a working implementation of HDMI eARC that my TV responds to. Because of that, whether NVIDIA Shield turns on or turns off, TV follows suit, which is very convenient. I manag...
Since the web server uses gzip content encoding , does it really matter if I minify? Yes, it does, and the help from minify seems to be independent of the help from gzip:
Size reduction file when using gzip or minify
The main goal of this change was to reduce dependencies. But it looks like I still have a dependency on esbuild instead of on sassc . How is that better?
I have been maintaining my site for over 30 years. It’s older than Wikipedia or Google. Most softw...
Dell's version of the DGX Spark fixes pain points
Dell sent me two of their GB10 mini workstations to test:
In this blog post, I'll cover the base system, just one of the two nodes. Cluster testing is ongoing, and I'll cover things like AI model training and networking more in depth next year, likely with comparisons to the Framework Desktop cluster and Mac Studio cluster I've also been testing.
But many of the same caveats of the DGX Spark (namely, price to performan...