Read my opinions via the internet.

2025-06-03 / 653 words
A short story about the importance of robust invariants.

2025-05-27 / 1.83k words
The many technologies modern servers have which your desktop doesn't.

2024-02-25 / 3.61k words
How to run local AI slightly more cheaply than with a prebuilt system. Somewhat opinionated.

2025-05-18 / 1.86k words
How it's made (automatically) (in computer games with Minecraft-like recipe systems).

2025-05-02 / 812 words
At last, data-driven numerology.

2022-02-24 / 973 words
Learn about how osmarks.net works internally! Spoiler warning if you wanted to reverse-engineer it yourself.

2025-03-27 / 654 words
Generalize land value tax to short names.

2025-03-22 / 1.30k words
Why I think they're not popular, and what they need.

2025-03-02 / 4.07k words
The TAM for God is very large.

2024-07-06 / 1.62k words
I got annoyed and rewrote everything.

2025-02-10 / 1.55k words
My new main router.

2025-01-26 / 1.84k words
Predicting the post-social world.

2025-01-24 / 4.19k words
Downloading and indexing everything* on Reddit on one computer.

2025-01-09 / 1.35k words
Computer algebra systems leave lots to the user and require task-specific manual design. Can we do better?

2024-11-01 / 2.65k words
Has Minecraft become easier?

2024-10-16 / 665 words
A slightly odd pattern I've observed.

2024-10-06 / 2.99k words
Or: why most AI hardware startups are lying.

2024-10-06 / 1.08k words
As ever, AI safety becomes AI capabilities.

2020-06-11 / 4.94k words
A nonexhaustive list of media which I like and which you may also be interested in.

2023-08-28 / 2.59k words
Powerful search tools as externalized cognition, and how mine work.

2024-05-12 / 1.29k words
What exactly is "magic" anyway?

2024-04-27 / 848 words
Please stop making chatbots.

2024-04-22 / 1.54k words
Absurd technical solutions for problems which did not particularly need solving are one of life's greatest joys.

2024-03-27 / 1.86k words
RSAPI and the rest of my infrastructure.

2023-09-24 / 1.64k words
This is, of course, all part of my evil plan to drive site activity through systematically generating (meta)political outrage.

2023-06-06 / 2.49k words
The history of the feared note-taking application.

2023-07-02 / 1.61k words
Why programming education isn't very good, and my thoughts on AI code generation.

2023-01-28 / 407 words
A common criticism of school is that it focuses overmuch on rote memorization. While I don't endorse school, I think this argument is wrong.

2022-05-14 / 462 words
RSS/Atom are protocols for Internet-based newsletter/feed services. They're surprisingly well-supported and you should consider using them.

2021-07-08 / 1.07k words
In which I get annoyed at yet more misguided UK government behaviour.

2020-05-20 / 582 words
Is solving Sudoku and similar puzzles by hand really useful in building computer science ability? We don't think so.

2017-08-16 / 940 words
We are not responsible if these tips cause your ship to implode/explode. Contains spoilers in vast quantities.

2018-08-14 / 686 words
Why I think that government programs telling everyone to "code" are pointless.

2020-01-25 / 145 words
It's slightly different now!

2018-06-01 / 737 words
My (probably unpopular in general but... actually likely fairly popular amongst this site's intended audience) opinions on smartphones today.
Short-form observations.
I just discovered something horrifying. Energy Performance Certificates, which (nominally) measure how energy-efficient a house's thermal management is and which the UK government requires be listed for all rentals and probably homebuying transactions, are based on the estimated cost of energy at the time the certificate is made, and are held for ten years. The spec does at least normalize them based on energy prices, but changes in relative fuel prices will only be factored into new EPCs. EPCs also contain an estimated cost, and I don't know whether the government website updates that.
Train internet connections are annoying because they only work enough to lull you into a false sense of security. I hear ScotRail is switching to Starlink, at least.
Renting is bad because it makes you (loosely) short property prices wherever you live, and these often go up. But buying a house exposes you to the other side much more than is probably optimal (especially since your income is positively correlated with local property prices), and has very high transaction costs. A clean and elegant* solution: homeowners could take the short side of swaps on an index of local property values while renters take the long side ("physical" ownership of houses adds complexities). Who's building this?
It's a weird fact about, I suppose, mathematics, that you can create a basically-unforgeable identity and exchange secrets using simple maths which fit onto less than a page (asymmetric cryptography - DSA, RSA, Diffie-Hellman), and even fit public keys into 32 bytes (X25519/Ed25519) with more complexity - unless decently big quantum computers are practical, in which case one of the two useful algorithms they can run breaks everything and you have to move to much scarier maths and put up with much larger signatures and keys.
WiFi 6E is the marketing name for WiFi 6 with 6GHz support, but 6GHz support is optional in WiFi 7, and there's no "7E" name. I don't know how I would deal with this if I didn't obsessively read spec sheets.
Spheres are inherently untrustworthy objects. If a product is a sphere, it probably means somebody wanted to make it appear especially friendly regardless of what it does to functionality, and they're probably compensating for something.
Various web projects I have put together over many years. Made with at least four different JS frameworks. Some of them are bad.

A game about... apioforms... by Heavpoot. 
Collect Arbitrary Points and achievements by doing things on this website! See how many you have! Do nothing with them because you can't! This is the final form of gamification. 
Automatic score keeper, designed for handling Monopoly money. 
Colorizes the Alphabet, using highly advanced colorizational algorithms. 
The Limitless Grid screensaver (kind of) implemented in a somewhat laggy pixel shader. 
An unfinished attempt to replicate an Apple screensaver. 
Survive as long as possible against emus and other wildlife. Contributed by Aidan. 
Fly an ominous flying square around above some ground! Includes special relativity! 
A somewhat unperformant generator for pleasant watercolor-y "fractalart" images. Ported from a Haskell implementation by "TomSmeets". 
My fork of GUIHacker. Possibly the only version actually on the web right now since the original website is down. 
Obligatory (John Conway's) Game of Life implementation. 
It is pitch black (if you ignore all of the lighting). You are likely to be eaten by Heavpoot's terrible writing skills, and/or lacerated/shot/[REDACTED]. Vaguely inspired by the SCP Foundation. 
Generates ideas. Terribly. Don't do them. These are not good ideas. 
The exciting multiplayer game of incrementing and decrementing! No cheating. 
Outdoing all other websites with INFINITE PAGES! 
Tells you how late Joe's homework is. 
Lorem Ipsum (latin-like placeholder text), eternally. Somehow people have left comments at the bottom anyway. 
Instead of wasting time thinking of the best political opinion to hold, simply pick them pseudorandomly per day with this tool. 
A Reverse Polish Notation (check wikipedia) calculator, version 2. Buggy and kind of unreliable. This updated version implements advanced features such as subtraction. 
Reverse Polish Notation calculator, version 3 - with inbuilt docs, arbitrary-size rational numbers, utterly broken float/rational conversion and quite possibly Turing-completeness. 
Reverse Polish Notation calculator, version 4 - increasingly esoteric and incomprehensible. Contributed by Aidan. 
Apply custom CSS to most pages on here. 
Your favourite* tic-tac-toe game in 3 dimensions, transplanted onto the main website! Technically this game is solved and always leads to player 1 winning with optimal play, but the AI is not good enough to do that without more compute! 
More dimensions. More confusion. Somewhat worse performance. 4D Tic-Tac-Toe. 
A basic implementation of the WFC procedural generation algorithm. 
Type websocket URLs in the top bar and hit enter; type messages in the bottom bar, and also hit enter. Probably useful for some weirdly designed websocket services. 
Dice-rolling webapp. Not very useful pending me writing a good parser. 
Unholy horrors moved from the depths of my projects directory to your browser. Theoretically, this is a calculator. Good luck using it. Get updates to the blog (not experiments) in your favourite RSS reader using the RSS feed.
View some of my projects at my git hosting.
View list
To operate reliably, the US electrical grid needs to balance supply and demand: to make sure, at any given moment, that the amount of electricity demanded by homes, businesses, and factories is equal to the amount being supplied by nuclear...
Thirty prestigious independent American institutions of higher education were at some time members of the 568 higher education group (often labeled a cartel). Seventeen of them were sued by the U.S. Government and representative students who...
The new Xsight Labs E1 DPU can offer up to 64 Arm Neoverse N2 cores along with 32 PCIe Gen5 lanes, dual 400Gbps networking and many offloads The post Xsight Labs E1 DPU Offers Up to 64 Arm Neoverse N2 Cores and 2x 400Gbps Networking appeared first...
Also AI signing bonuses, stablecoin regulation and sports contract lawsuits.
In 2018 Mythic Beasts acquired VMHaus, a small provider of very low cost virtual servers. As an independent virtual server hosting provider, VMHaus was not financially viable. Post acquisition, we significantly reduced the costs of running VMHaus...
Recently, we have heard news about a new upcoming SDR called the HydraSDR RFOne, created by Benjamin Vernoux, who also worked on the design of the Airspy. The HydraSDR RFOne appears to be very closely based on the Airspy R2 design, and it has very...