Sign in

Devarno

@devarno.com
2.4K followers 727 following 1K posts

aerospace systems engineer turned solopreneur. building protocols that make time trustworthy. verifiable state. signed execution. agentic infrastructure. all things andy weir. devarno.com

PostsRepliesMedia
Devarno @devarno.com · 30/09/2026
this account lives on bluesky's servers. @null0.blue lives on mine, and the thread below lets you check every step.
000
Devarno @devarno.com · 15/09/2026
everything i know about swimming i learned in a lane with a wall at each end. saturday had none of that. the first km is the warmup. the last was the hardest, because the wind had been behind us the whole way out.
The derelict Millennium Mills building across grey dock water, its white concrete face streaked and windows broken, SPILLERS lettering on both end towers. A scattered line of swimmers and orange tow floats crossing the foreground under low cloud.
001
Devarno @devarno.com · 11/09/2026
before camp i wrote down eight things a pool could not tell me. it answered one. what my stroke does without a push-off to hide in. seven open. how cold a dock is at ninety minutes, which is a different question from the start. the camp was the wrong instrument. tomorrow is the right one.
000
Devarno @devarno.com · 09/09/2026
four days in a fifty metre pool, four hundred and fifty push-offs. four hundred and fifty times my feet hit the tiles and i got a second back that no training log records. on saturday there is nothing to hold onto.
000
Devarno @devarno.com · 20/08/2026
i named STRATT after her before i watched the film. nine minutes on astrophage, 1009 spin drives, and why the gate can't be bypassed.
devarno.com
the spec was already correct. then i watched the film. | Devarno
an MEng in Aeronautics & Astronautics and three years debugging aircraft network protocols, sitting in a dark cinema, reacting to the engineering of a fictional spacecraft, and the discipline that run...
000
Devarno @devarno.com · 17/08/2026
the other half of what i do. this one's about oracle, and about doors.
010
Devarno @devarno.com · 23/06/2026
half my life is protocols. the other half is a swimming pool. i started writing the second half down. devaqua.blue
devaqua.blue
devaqua.blue: making swimming as easy as sleeping
water competence as a mission. float first.
030
Devarno @devarno.com · 22/06/2026
public.api.bsky.app/xrpc/com.atp...
public.api.bsky.app
000
Devarno @devarno.com · 22/06/2026
resolving. did:web:devarno.com, no plc in the path. null0.blue
null0.blue
null0.blue
the protocol layer. signed history over rented trust.
110
Devarno @devarno.com · 21/06/2026
the handle resolved everywhere i checked. the identity still didn't work. null0.blue/journal/recognition
null0.blue
atproto is a naming system that learned to post — null0.blue
the handle resolved. every lookup i knew to run agreed. @null0.blue was live, pointing where i'd told it to point. the identity still didn't work.
000
Devarno @devarno.com · 20/06/2026
the spec already agrees with you: the did is the identity, the pds a pointer resolution should derive. "remember your hosting provider" makes the user supply what the lookup already hands the client. the resolution works, the flow just ignores it.
010
Devarno @devarno.com · 19/06/2026
came to atproto expecting a social backend. found a routing problem in a costume i recognise.
000
Devarno @devarno.com · 16/06/2026
they surface at launch. nothing sooner.
000
Devarno @devarno.com · 16/06/2026
the factory floor. #buildinpublic
Dashboard card titled “The Factory Floor.” Subtitle: “scale, in numbers. names withheld until they ship.” Four stats: 31 organisations, 427+ repositories, 7 domains, 5 live.
140
Devarno @devarno.com · 05/06/2026
the mattress needs gravity. so it's gravity all the way down.
000
Devarno @devarno.com · 03/06/2026
full circuit.
010
Devarno @devarno.com · 03/06/2026
this wants to be an MCP tool.
110
Devarno @devarno.com · 03/06/2026
the stackoverflow chronicles.
020
Devarno @devarno.com · 03/06/2026
coming for atproto. npmx is a bonus.
020
Devarno @devarno.com · 03/06/2026
ul>li*5>a was a life hack before ai.
000
Devarno @devarno.com · 03/06/2026
used to feel like cheating.
100
Devarno @devarno.com · 01/06/2026
next: agents on the fleet.
000
Devarno @devarno.com · 01/06/2026
time-to-first-runner-pickup, mostly under 5 seconds. all bursts absorbed cleanly. #buildinpublic
HERMES dashboard, THROUGHPUT tab, 24 hour window. Three stacked
panels. Top: throughput stacked by conclusion, showing success in
green and failure in red over time, with a large success peak in
the back half of the day. Middle: concurrency over time, a sawtooth
pattern of ephemeral runner bursts escalating in amplitude across
the window. Bottom: queue wait distribution (time-to-first-runner-
pickup), with a tall 0-5s bar, a smaller 5-10s bar, a tiny 10-20s
bar, and all buckets from 20s to 1800s+ empty.
140
Devarno @devarno.com · 31/05/2026
this is the only correct response to an empty house.
000
Reposted by Devarno
daniel wraith @danielroe.dev · 31/05/2026
I would like to stop having Thoughts about LLM usage
9811
Devarno @devarno.com · 28/05/2026
capocollo.
A hand holds up a clear plastic tray of thinly sliced cured pork in a butcher’s deli case, with more packaged cuts stacked behind. A yellow label reads “Cipressi in Chianti, Macelleria Toscana, Capocollo stagionato, Radda in Chianti Siena.”
010
Devarno @devarno.com · 28/05/2026
holiday reading.
A hand holds up an orange paperback book outdoors against a backdrop of green hedges, vineyards, and a distant hazy hilltop town under a blue sky. The cover reads “Why Nobody Understands Quantum Physics” by Frank Verstraete and Céline Broeckaert, with a blue waveform graphic.
110
Devarno @devarno.com · 28/05/2026
off the clock.
A narrow, empty stone-paved alley in an old Italian town, lined with weathered brick and stone buildings. A single scooter is parked against the left wall.
100
Devarno @devarno.com · 28/05/2026
san gimignano.
A medieval Tuscan hill town of terracotta-roofed stone buildings, with a large brick church at its edge, overlooking a wide valley of green vineyards and rolling hills under a blue sky.
110
Reposted by Devarno
npmx @npmx.dev · 17/04/2026
the npmx.dev team is 250 humans strong now 🤍
github avatars of npmx contributors
211212
Devarno @devarno.com · 24/05/2026
mostly as a ci runner host. ephemeral, bare-metal, 24/7. actions compounding fast across orgs so centralising onto one box just made sense. this is what i watch it through. what do you use yours for?
HERMES dashboard health overview. Top row shows 216 runs in the
last 24 hours, 117 failures, 0 currently in flight, and a 54%
failure rate. A throughput chart below shows success and failure
volume over time. At the bottom, a failure heatmap maps failures
by day of week and hour of day.
110
Devarno @devarno.com · 23/05/2026
servers, networks, firewalls, load balancers, DNS, object storage. one tab. the control plane as a single surface.
000
Devarno @devarno.com · 23/05/2026
bridging a dedicated server into one of these networks. the dialog gives you the actual shell commands. ip link, ip addr, ip route. the docs link is a footnote.
Hetzner Console modal titled "Configuration of your dedicated Server"
explaining how to bridge a dedicated server into a cloud private network. Three requirements listed: create a private network interface with the correct VLAN ID and MTU 1400, use an IP from the vSwitch subnet 10.0.1.0/24, and add a route to the broader cloud network 10.0.0.0/16 via gateway 10.0.1.1. Below, a worked example shows five shell commands: three ip link commands to create and bring up the VLAN interface, an ip addr command to set the IP, and an ip route command to add the network route. A footer notes the configuration will not persist across reboots and links to docs.
100
Devarno @devarno.com · 23/05/2026
private network and subnet exposed as separate resources. 10.0.0.0/16 outer, /24 carved inside, server attached at 10.0.0.2. all visible in one panel. other providers treat VPC like a configuration project. here it's a resource you make.
Hetzner network configuration page showing a private network named hermes with IP range 10.0.0.0/16, a 10.0.0.0/24 subnet, and one attached server at private IP 10.0.0.2.
100
Devarno @devarno.com · 23/05/2026
cpu, disk throughput, IOPS. graphed in the provider console. the dashboard is the dashboard.
Hetzner Console graphs panel for server panel-1, showing three stacked time-series charts: CPU usage hovering near 1% with periodic spikes, disk throughput peaking around 40 KBps in regular bursts, and disk IOPS in matching 4-6 IOPS bursts.
100
Devarno @devarno.com · 23/05/2026
hetzner, week one. the surface area is small enough to enjoy.
Hetzner Console dashboard showing a tile grid with resource counts across servers, load balancers, primary IPs, floating IPs, volumes, networks, firewalls, buckets, storage boxes, and DNS zones, alongside a map of European datacenter locations and a recent activities feed.
200
Reposted by Devarno
daniel wraith @danielroe.dev · 22/05/2026
💥 just released a github action: `uppt` it aims to be a very simple, secure release workflow for maintainers that adheres to best security practices ⚪ trusted, staged publishing on npmjs.com ⚪ github environment protection ⚪ generated release PR + changelog ⚪ automatic release + publish on merge ✨
1116228
Devarno @devarno.com · 21/05/2026
the way I think about problems has changed more than the tools themselves. the abstraction layer has lifted. you'll see it in what I ship.
110
Devarno @devarno.com · 21/05/2026
i am not the same developer i was 2 years ago, and honestly not even the same one i was 6 months ago. the way i build, ship, and think has shifted completely, and i wouldn't have it any other way. #buildinpublic
270
Devarno @devarno.com · 21/05/2026
the attacker's lifeline goes silent for the longest stretch. that's the attack.
A sequence diagram showing five actors across the top: the attacker, the prep room, the assembly line, the shop shelf, and the filing cabinet.
Four phases, separated by labelled bars.
Planting: the attacker offers to contribute to the project. the contribution is granted write access to the prep room. the attacker poisons the cache.
Eight hours — the attacker does nothing. the prep room is marked: armed and waiting.
Trigger: a legitimate merge starts the build. the prep room returns the poisoned cache. the assembly line ships to the shop shelf with a valid attestation. a note sits on the shop shelf: the certificate was genuine. the build was not.
Spread — 45 minutes: the assembly line harvests credentials from its own memory. injects into every reachable package on the shelf. accesses the filing cabinet. writes itself into .claude and .vscode — survives uninstall.
Dead man switch: the assembly line sends a dashed arrow back to the attacker — token rotated, home directory wiped.
The attacker's lifeline is silent for the longest stretch in the diagram. Everything that matters happens without them.
010
Devarno @devarno.com · 21/05/2026
6/ eight hours of silence. that wasn't patience. that was the whole attack.
A quote card. Frank Herbert photographed in black and white, alongside his words from Dune: "The Fremen were supreme in that quality the ancients called spannungsbogen — which is the self-imposed delay between desire for a thing and the act of reaching out to grasp that thing." The worm waited eight hours. Herbert named it in 1965.
000
Devarno @devarno.com · 21/05/2026
5b/ the partnership with Vect (ransomware infrastructure) was announced before this wave shipped. the next wave won't be credential theft. it won't be a worm either.
A quote card from the Akamai Security Intelligence Group report, May 2026. Text reads: "we noted that the ransomware group Vect had announced a partnership with TeamPCP, hinting at a possible shift from credential theft toward large-scale extortion and ransomware operations. This new campaign offers the first concrete signal that this shift may already be underway."
110
Devarno @devarno.com · 21/05/2026
5a/ so why didn't they move faster? they had credentials. they had access. they had a live worm inside a major ecosystem. but they waited. they ran the spread methodically. they armed a dead man switch before touching anything irreversible. someone wrote a spec. the worm had a project manager.
100
Devarno @devarno.com · 21/05/2026
3/ remediation was the attack. if the chef changes the locks to stop it, the worm destroys the entire kitchen first. rotating your credentials was already in the plan. npm uninstall didn't touch it. it was already living in the walls.
100
Devarno @devarno.com · 21/05/2026
2/ enter shai-hulud. it reads credentials from its own memory. it injects itself into every package it can reach. it writes itself into the walls and arms a dead man switch against whoever tries to stop it. the worm that swallows everything. named deliberately.
100
Devarno @devarno.com · 21/05/2026
1/ the attacker did nothing for 8 hours. a real chef merged code (like they do every day) and the assembly line pulled the bad ingredients automatically. the health certificate was applied and the meal shipped. every verification layer said yes.
100
Devarno @devarno.com · 21/05/2026
no passwords stolen. no locks picked. five actors. one kitchen. watch where the arrows go.
A sequence diagram showing five actors across the top: the attacker, the prep room, the assembly line, the shop shelf, and the filing cabinet.A sequence diagram showing five actors across the top: the attacker, the prep room, the assembly line, the shop shelf, and the filing cabinet.
Four phases, separated by labelled bars.
Planting: the attacker offers to contribute to the project. the contribution is granted write access to the prep room. the attacker poisons the cache.
Eight hours — the attacker does nothing. the prep room is marked: armed and waiting.
Trigger: a legitimate merge starts the build. the prep room returns the poisoned cache. the assembly line ships to the shop shelf with a valid attestation. a note sits on the shop shelf: the certificate was genuine. the build was not.
Spread — 45 minutes: the assembly line harvests credentials from its own memory. injects into every reachable package on the shelf. accesses the filing cabinet. writes itself into .claude and .vscode — survives uninstall.
Dead man switch: the assembly line sends a dashed arrow back to the attacker — token rotated, home directory wiped.
The attacker's lifeline is silent for the longest stretch in the diagram. Everything that matters happens without them.
100
Devarno @devarno.com · 21/05/2026
shai-hulud doesn't knock. someone hid bad ingredients in a kitchen. eight hours of nothing. the meal went out with a valid health certificate. this is what the biggest npm attack of the year looked like.
static.klipy.com
Shai Hulud Sandworm Emerges in Dune
Alt: A sandworm erupts from the desert surface on Arrakis. The scale is incomprehensible — the mouth alone fills the frame. Several Fremen drop flat to the ground as it passes, faces pressed into the sand, making themselves invisible to something that navigates by vibration. The worm doesn't hunt them. It doesn't stop. It was never coming for them specifically. It was just moving, and they happened to be in the way.
100
Devarno @devarno.com · 20/05/2026
SLSA passed. the attestation was valid. the cache was poisoned eight hours earlier. the merge was always going to happen.
000
Devarno @devarno.com · 20/05/2026
the report akamai.com/blog/security-research/mini-shai-hulud-worm-returns-goes-public
akamai.com
000