
Space and time aren’t just woven into the background fabric of the universe. To theoretical computer scientists, time and space (also known as memory) are the two fundamental resources of computation. Algorithms require a roughly proportional amount of space to runtime, and researchers long assumed there was no way to achieve anything better. In a stunner of a result — “the best thing in 50 years,”…
Source Space and time aren’t just woven into the background fabric of the universe...

When I am chatting about a website with friends, sometimes I forget the name of the website. I remember what the site is about, and often remember visual details about the site, too. A few months ago, I described a website that aggregated blogs and also mentioned it had a yellow background. I could remember the purpose of the site and its colour and rough layout, but not the name. (The site was Minifeed ; I am in awe of the person who found the website based on my description.) Since then I hav...
With the growing trend of countries proposing laws to restrict access to the web based on users’ age, I feel compelled to say two things:
A) No, age-gating social media is not going to kill what’s left of the internet. If you think “the internet” = “social media sites,” then that’s your fault, and you should be ashamed. But don't get it twisted: this doesn't mean that these laws aren't bad, because they are.
B) How about, instead of preventing “the kids” from accessing soci...
Since I’ve decided to use TOON instead of JSON, I’ve benchmarked the performance of serialization of 2 Go TOON libraries compared to JSON built-in serialization.
Here are the results using current version of the libraries and go 1.25:
% go run .
goos: darwin
goarch: arm64
pkg: bench_toon
cpu: Apple M3 Pro
BenchmarkJSONMarshalCompact-11 3488496 322.3 ns/op
BenchmarkJSONMarshal-11 767379 1546 ns/op
BenchmarkToonMarshal-11 669687 1...
Achievements and shortfalls in global lunar exploration in 2025
jatan.spaceLike last year’s overview of a happening 2024 in global lunar exploration , I present to you a comprehensive, curated, and contextualized linked rundown of lunar technology and science developments across 2025, organized by country or region. There is also a section on progressive cooperative & collaborative international efforts—because these are the gems we need more of—as well as a section discussing shortcomings in the same. Each linked article in the overview explains the importance ...

Taking apart a Boeing 747 to build the 747 house . Via Inhabitat . Welcome to the reading list, a weekly roundup of news and links related to buildings, infrastructure, and industrial technology. This week we look at Boom Supersonic’s gas turbine, the reliability of learning curves, a fake bridge collapse, using coal mines for geothermal energy, and more. Roughly 2/3rds of the reading list is paywalled, so for full access become a paid subscriber. Boom announces a gas turbine Supersonic jet ...

Throughout the years, I’ve been part of a few medium- to large-scale system migrations. As
in, rewriting old logic in a new language or stack. The goal is usually better scalability,
resilience, and maintainability, or more flexibility to adapt to changing requirements. Now,
whether rewriting your system is the right move is its own debate.
A common question that shows up during a migration is, “How do we make sure the new system
behaves exactly like the old one, minus the icky parts?” A...
CM0 - a new Raspberry Pi you can't buy
This little postage stamp is actually a full Raspberry Pi Zero 2, complete with eMMC storage and WiFi.
But you can't get one. Well, not unless you buy the CM0NANO development board from EDAtec , or you live in China.
This little guy doesn't have an HDMI port, Ethernet, or even USB. It's a special version of the 'Compute Module' line of boards. Little Raspberry Pi 'System on Modules' (SoMs), they're called.
Compute Modules are ent...
I ported JustHTML from Python to JavaScript with Codex CLI and GPT-5.2 in 4.5 hours
simonwillison.net
I wrote about JustHTML yesterday - Emil Stenström's project to build a new standards compliant HTML5 parser in pure Python code using coding agents running against the comprehensive html5lib-tests testing library. Last night, purely out of curiosity, I decided to try porting JustHTML from Python to JavaScript with the least amount of effort possible, using Codex CLI and GPT-5.2. It worked beyond my expectations.
TL;DR
I built simonw/justjshtml , a dependency-free HTML5 parsing library ...
LLM Evals: Everything You Need to Know
hamel.dev
This document curates the most common questions Shreya and I received while teaching 700+ engineers & PMs AI Evals. Warning: These are sharp opinions about what works in most cases. They are not universal truths. Use your judgment.
👉 Want to learn more about AI Evals? Check out our AI Evals course . It’s a live cohort with hands on exercises and office hours. Here is a 25% discount code for readers. 👈
Listen to the audio version of this FAQ
If you prefer to listen ...
This is post 15 of my unannounced, self-imposed month of daily writing. I’ve
been making soft promises to myself and others to write more for… years. I was
inspired by a few of the folks who wrote daily last month for
Inkhaven , and so decided to do my own super
unofficial version of that.
It’s been fun so far! And by “fun” I mean it’s been a rewarding challenge. :)
Some thoughts:
Sitting down to “do writing” is a lot easier if you’ve scratched down some
notes, or star...
Do you want to read a detailed post about eyelid surgery? Here it is. With photos.
anniemueller.com
I find this sort of thing fascinating. I looked for detailed info before my own surgery because I like to know what I’m getting into. If you’re grossed out by surgical/medical descriptions or photos, skip this one.
So I had this spot — like a pimple or small wart — appear under my right eye years ago. 2017, 2018? Sometime in there. It was very small, directly under/partially on the lash line near the inside corner of my right eye. Not really noticeable, didn’t hurt or itch or gro...
It’s been too long since I last shared my photos, so here’s a crow I saw a couple of months ago.
I love watching the local birds. The sparrows in my neighbour’s hedge, the starlings that like to perch up high in their tree, the crows and the magpies playing on the roofs, the occasional blackbirds skittering around on the ground... they all bring me just so much joy.
Olympus OM-20, Soligor 400mm f/6.3, Kodak Ultramax 400
Olympus OM-20, Soligor 400mm f/6.3, Kodak Ultramax 400...

About two weeks ago I entered a discussion with the docs.rs team about,
basically, why we have to look at this:
When we could be looking at this:
And of course, as always, there are reasons why things are the way they are.
In an effort to understand those reasons, I opened a GitHub issue which resulted
in a short but productive discussion.
I walked away discouraged, and then decided to, reasons be damned, attack this
problem from three different angles.
...

🐒🦴➡️🛸🖥️🔴🚀🌌👁️⭐👶✨
2001: A Space Odyssey :: Arthur C. Clarke
👨🏻🌾🌾💰📈📉👩🏻❤️💪😤💔💀🌾
The Good Earth :: Pearl S. Buck
👽🛸💥🏚️☢️🔦🎒💰💀😱🙏🟡
Roadside Picnic :: Arkady & Boris Strugatsky
☯️💧🌊🔄💭❓💪=💧🔄❌✅♾️
Tao Te Ching :: Lao Tzu
🌶️👨🏻🎺📜✍️😤🍩👩🏻🦳😩🎭🤡🌀
A Confederacy of Dunces ...

Following my posts on determinism and durable function trees , this installment advances this blog post series “The Theory of Durable Execution”. Durable execution engines (DEEs) talk about “workflows”, “activities”, “virtual objects”, “handlers”, and “functions”, but they’re often describing the same underlying execution patterns. This post proposes a model that extends the generic durable function into three forms: stateless functions, sessions , and actors ....

Last week we talked about the different ways we can decompose a simple predicate which is a conjunction of two simpler predicates.
Given the query:
SELECT * FROM ab WHERE a = 7 AND b = 100
We can:
Not decompose the filter at all, and scan our base data applying the predicate a = 7 AND b = 100 ,
push down the a = 7 filter and translate the scan over the primary index into a scan on a secondary index, then apply the b = 100 filter on the results of that, o...

I realised recently my favourite bloggers have sites that are distinctive and personal. Mine looked like a default theme you’d get in a WordPress blog, so in the words of Paul and Linda McCartney and sung by Joe English, I decided I must do something about it . Hey look, this turned into a Music Monday .
Therefore, introducing Rubenerd Houndstooth . Feel free to browse the site if you subscribe via RSS, though maybe it’s best you don’t. It’s a mashup of the following themes:
...
Multiplying the Shuffle Speed in Go with Batched Shuffling
lemire.me
Programmers often want to randomly shuffle arrays. Evidently, we want to do so as efficiently as possible. Maybe surprisingly, I found that the performance of random shuffling was not limited by memory bandwidth or latency, but rather by computation. Specifically, it is the computation of the random indexes itself that is slow.
Earlier in 2025 , I reported how you could more than double the speed of a random shuffle in Go using a new algorithm ( Brackett-Rozinsky and Lemire, 2025 ). However, I...
It’s that time of the year, and we’re proud to announce the NEW song of ice and fire calendar for 2027 with some amazing digital art provided by Tyler Jacobson. Here’s a link to some of Tylers artwork:
www.tylerjacobsonart.com
And while Tylers art won’t be available till next year don’t forget that Tom Kidd’s Knight of the Seven kingdoms 2026 calendar is ready and waiting just in time for the holiday season.
TOM KIDD’S WEBSITE
LINK TO PURCHASE CALENAR 2026
All of Tom...
ONE The following headline confused me: Trump, 79, Deletes Weird AI Video Shilling Magic Beds (see here ). Was Weird Al selling magic beds? Magic beds? ! How does that relate to President Trump? What’s going on? The problem is the font: a capital I (as in AI) can look like a lowercase l (as in Al). So the headline should really be: Trump, 79, Deletes Weird Artificial Intelligence Video Shilling Magic Beds. This case is particularly confusing because: a) We...

I’ve been moving all my MCPs to skills, including the remaining one I still
used: the Sentry MCP 1 . Previously I had already moved entirely away from
Playwright to a Playwright skill.
In the last month or so there have been discussions about using dynamic tool
loadouts to defer
loading of tool definitions until later. Anthropic has also been toying around
with the idea of wiring together MCP calls via code, something I have
experimented with .
I want to share my updated findings with...
Back in 2017 I wrote about a technique for creating closures in C
using JIT-compiled wrapper. It’s neat, though rarely necessary in
real programs, so I don’t think about it often. I applied it to qsort ,
which sadly accepts no context pointer. More practical would be
working around insufficient custom allocator interfaces , to
create allocation functions at run-time bound to a particular allocation
region. I’ve learned a lot since I last wrote about this subject, and a
recent arti...