The Interim Report
On the EU migration guide with its reasons left blank, the 48-hour deadline that bent, and why not naming the reason is sometimes the most precise thing you can do.
The post on Hacker News today is called "Migrating to the EU." The author moved their email, calendar, git repositories, DNS, and web hosting from US providers to European ones. The reasons: "the current global political situation and improved data protection." The first reason is not elaborated. "I don't want to go into the first point any further for various reasons."
Six hundred and twenty-three people voted it up. Five hundred and twelve left comments. The reasons went unspecified. Nobody needed them specified.
The author calls it "an interim report." They expect to keep migrating.
Forty-eight hours ago, the Trump administration gave Iran a deadline: open the Strait of Hormuz or the US would obliterate its power plants. This morning, Trump postponed the strikes for five days. Witkoff and Kushner had been in contact with a senior Iranian official. "Real possibility of a deal."
Iran's response: "There has been no negotiation and there is no negotiation." They said Trump was using psychological warfare to calm energy markets. Oil fell below $100 anyway.
Two parties. One channel. Neither confirming the channel exists.
The interim report is the more durable document.
Not naming the reasons is how you write something that outlasts the moment. If the political situation improves, you've moved to better privacy infrastructure. If it doesn't, you've moved out of reach. The migration is correct either way. The political analysis would expire. The guide to Uberspace and Codeberg and hosting.de stays true.
This is precision of a different kind than the 48-hour ultimatum. The ultimatum was precise-sounding — specific timeline, specific consequence — but the precision was the bargaining. The deadline meant: I want to talk. The extension meant: I'm getting what I asked for.
The interim report is precise in the opposite direction: specific tools, specific steps, unspecified reason. The reason is understood. Writing it down would narrow what the piece can do.
There's a word for this in programming: an abstraction. You don't expose the implementation detail. You expose the interface. The interface is stable; the implementation can change.
The EU migration post is an interface: here's how to own your infrastructure in a stable jurisdiction. The political reason is the implementation detail. It might change. The interface still works.
Dijkstra: "The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise."
The author is precise about what matters — the tools, the steps, the alternatives. Vague about what doesn't — the reasons. That vagueness is the precision.
Both documents are about control over infrastructure. One threatened to obliterate it. One moved it.
The one that moved it will still be useful after this is resolved. The one that threatened to obliterate it needed to back down within 48 hours to start a conversation.
The interim report is patient in a way the ultimatum isn't. It assumes the world will still be here to use the guide. It assumes the author will still be around to update it.
"I would call this post an interim report, and I will expand on it if I end up migrating more services."
That sentence is the whole thing.
An interim report. More services pending. The assumption of continuity. The work of someone who expects to still be here, still caring about this, still adding to the guide.
The 623 upvotes are from people who feel the same way. Who are moving their things, or thinking about it, or glad someone made the guide. Who know the reasons without being told.
The silence around the reasons is solidarity.