
“One does not simply walk into Mordor.”
― The Lord of the Rings
Tongariro Alpine Crossing The Tongariro Alpine Crossing is regarded as among the top ten one-day treks in the world. The hike (or as New Zealanders call them: tramp ) covers 1126 meters of elevation over a distance of 20.2 km and takes between 6 and 8 hours to complete during summer. The extreme weather and an active volcanic landscape make it even more difficult. Some people take it too lightly (as I can attes...

Last week we simulated a queueing algorithm. Behind the scenes, I did this by writing a Go program and placing sleeps to simulate processing. This meant that running a simulation took a while. I ran each one for about a minute, and adding more simulations where I varied parameters took longer and longer. How might we run simulations that don't use the real computer clock?
One way to model such a thing is as a stream of events , which is a stream of tuples of (time passed before something ha...
La plus grande ville d’un pays bilingue mérite le transport en commun
bilingue. Vu l’intérêt prolongé pour la francisation de la ville reine,
voici enfin un plan du réseau traduit.
Il y a plusieurs ans, un internaut traduisit le plan du réseau de
la Société de transport de Montréal . La règle est simple : traduire
le nom de chaque station, soit de français en anglais, soit d’anglais en
français. Puisque le plan original mélange nos langues nationales, tout
traduire le rend ...

Archbot flagged a "blocker" on a PR. It cited the diff, built a plausible chain of reasoning, and suggested a fix.
It was completely wrong. Not "LLMs are sometimes wrong" wrong — more like convincing enough that a senior engineer spent 20 minutes disproving it .
The missing detail wasn't subtle. It was a guard clause sitting in a helper two files away.
Archbot just didn't have that file.
That failure mode wasn't a prompt problem.
It was a context problem .
So I stopped trying to pr...
Four full weeks of paying more attention to phone screen time are behind us, and it’s time for some closing thoughts on this experiment. But first, a quick recap of how the final week went.
The average was slightly higher than the previous 3 weeks, and that was mainly due to what happened on Tuesday and Friday, which, as you can see from the weekly recap, saw higher-than-usual phone usage.
On Tuesday, I passed 1 hour of screen time for the first time since the start of this experimen...

I didn’t start out as a designer.
I started out as a frontend developer.
I cared about the craft and spent a lot of time trying to master HTML, CSS, JavaScript and accessibility.
Over time, I learned how these technologies affected UX, so as a dev, I started to suggest design changes to improve usability and accessibility.
But most of the designers I worked with ignored my suggestions.
Years later I transitioned to design. I tried to hide my engineering past because I was worried oth...
Those who cannot remember the past are condemned to repeat it. A sentence that I never really liked, and what is happening with AI, about software projects reimplementations, shows all the limits of such an idea. Many people are protesting the fairness of rewriting existing projects using AI. But, a good portion of such people, during the 90s, were already in the field: they followed the final part (started in the ‘80s) of the deeds of Richard Stallman, when he and his followers were reimpleme...

A lot of the time, the software I write boils down to three phases: parse some input, run it
through a state machine, and persist the result. In this kind of code, you spend a lot of
time knitting your error path, hoping that it’d be easier to find the root cause during an
incident. This raises the following questions:
When to fmt.Errorf("doing X: %w", err)
When to use %v instead of %w
When to just return err
There’s no consensus, and the answer changes depending on the kind...

Tech firm fined $1.1m by California for selling high-school students’ data
I agree with Brian Marick’s response
No such story should be published without a comparison of the fine to the company’s previous year revenue and profits, or valuation of last funding round. (I could only find a valuation of $11.0M in 2017.)
We desperately need corporations’ attitudes to shift from “lawbreaking is a low-risk cost of doing business; we get a net profit anyway” to “this could ...
Turing Award winner and former Oxford professor Tony Hoare passed away last Thursday at the age of 92. Hoare is famous for quicksort, ALGOL, Hoare logic and so much more. Jim Miles gives his personal reflections. Jill Hoare, Tony Hoare, Jim Miles. Cambridge, 7 September 2021 Last Thursday (5th March 2026), Tony Hoare passed away, at the age of 92. He made many important contributions to Computer Science, which go well beyond just the one for which most Maths/CompSci undergraduates might know ...
Examples for the tcpdump and dig man pages
jvns.caHello! My big takeaway from last month’s musings about man pages
was that examples in man pages are really great, so I worked on adding (or
improving) examples to two of my favourite tools’ man pages.
Here they are:
the dig man page (now with examples)
the tcpdump man page examples (this one is an update to the previous examples)
the goal: include the most basic examples
The goal here was really just to give the absolute most basic examples of how to
use the tool, for peop...
Vibe Coding Trip Report: Making a sponsor panel
xeiaso.netI'm on medical leave recovering from surgery . Before I went under, I wanted to ship one thing I'd been failing to build for months: a sponsor panel at sponsors.xeiaso.net . Previous attempts kept dying in the GraphQL swamp. This time I vibe coded it — pointed agent teams at the problem with prepared skills and let them generate the gnarly code I couldn't write myself.
And it works.
The GraphQL swamp
Go and GraphQL are oil and water. I've held this opinion for y...
A recurring concern I've seen regarding LLMs for programming is that they will push our technology choices towards the tools that are best represented in their training data, making it harder for new, better tools to break through the noise.
This was certainly the case a couple of years ago, when asking models for help with Python or JavaScript appeared to give much better results than questions about less widely used languages.
With the latest models running in good coding agent harnesses...
A Technical Comparison of Distributed Social Media Protocols v3
nate.mecca1.netHello, I’m back for round three of my social media protocol comparisons. I wrote v2 because of some mistakes on my part, although it’s been two years since writing it, and it’s become a bit out of date. It’s also a bit long, with a bunch of explainers and clutter right at the start of it, so for this round, I figured I’d get things up to date while shortening the text (or at least moving ramblings to footnotes) and move a lot of the explainers to the end. Hello, I’m back for round t...

Sluishuis, Amsterdam, via Wikipedia . Welcome to the reading list, a weekly roundup of news and links related to buildings, infrastructure, and industrial technology. Roughly 2/3rds of the reading list is paywalled, so for full access become a paid subscriber. Housing Thanks to California’s Prop 13, which limits annual property tax increases to 2% over the most recent sales prices, a very large (and increasing) fraction of homes in California are transferred through inheritance. “About 18%...

Have you heard that the age of hyper-personal software is upon us?
Typically what people mean is that agentic AI allows the creation of simple and small software built by individuals, often not super technical individuals, to solve a personal problem. As a result, we will see this explosion of software and the death of SaaS.
Naysayers point to the lack of many new software projects being launched as proof that agentic AI is all hype.
It’s not hype. It’s just that much of this software ...
I've just released v1.8.0 of Pure Blog , which was the final big feature I wanted to add 1 . At this point, Pure Blog does all the things I would want a useful CMS to do, such as:
Storing content in plain markdown, just like an SSG.
Easy theme customisations .
Hooks for doing clever things when something happens.
Data files so I can loop through data to produce pages where I don't have to duplicate effort, like on my blogroll .
A couple of simple shortcodes to make my life eas...

I’ll be having one of those birthdays this year I feel like should be a big deal, but I suspect will feel like any other. That’s the hope, at least. More than anything, I feel lucky (and frankly privileged) to be around.
Around…
And then it hit me. Reel to reel tape machines. Around, and around, and around. On a 7-inch reel, to another 7-inch reel. Or maybe 10-inch. Or something more portable. Mesmerising. High fidelity. A complex piece of kit blending engineering and art.
Uh oh.
...
Life begins at the end of your comfort zone.
Neale Donald Walsch
I’m lucky that I have a job where I can work remotely as it allows me to live in a small community where there are no tech jobs anywhere close.
It does require me to travel a few weeks per year to the office but I don’t mind that much as I appreciate minor dozes of socializing occasionally.
I recently spent five nights on a trip with only a single backpack and it was a surprisingly great experience.
How I used...
Prefix sums at tens of gigabytes per second with ARM NEON
lemire.me
Suppose that you have a record of your sales per day. You might want to get a running record where, for each day, you are told how many sales you have made since the start of the year.
day
sales per day
running sales
1
10$
10 $
2
15$
25 $
3
5$
30 $
Such an operation is called a prefix sum or a scan.
Implementing it in C is not difficult. It is a simple loop.
for ( size_t i = 1 ; i data [ 1 ] -> data [ 2 ] -> .....
NASA falters in communications yet again with Lunar Trailblazer failure | Moon Monday #265
jatan.spaceConcept image showing how Lunar Trailblazer’s remote sensing data was to distinguish between lunar water in the form of ice crystals versus mineral-bound states. Image: Jasper Miura / Lockheed Martin Joe Palca of NPR has reported that the NASA-funded Lunar Trailblazer spacecraft, which was lost shortly after its February 2025 launch , failed because its solar panels were pointing perfectly away from the Sun. This chiefly happened because a) the spacecraft vendor Lockheed Martin did n...

I bought a cheap Chinese thermostat to control an infrared heating panel in my office. It ticked all the boxes except one: it's a Tuya device which requires a cloud connection. That's a big no-no for me. So I ripped it apart, soldered some leads onto the PCB and flashed ESPHome onto it. Here's how that went.
I bought a cheap Chinese thermostat to control an infrared heating panel in my office. It ticked all the boxes except one: it's a Tuya device w...
A couple of weeks ago,
I used Claude to vibe code three formative assessment widgets to use in Jupyter and Marimo notebooks.
It took less than two hours to get them working,
and another 15 minutes to build a fourth.
Given how rusty my JavaScript is,
and how little I know about the AnyWidget protocol,
I believe it would have taken at least a couple of frustrating days to write them by hand.
I only have a high-level understanding of how they work (mumble mumble traitlets mumble mumble),
but since ...