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 · 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 · 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 · 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 · 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
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
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
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
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 · 20/05/2026
no token was stolen.
Stylized dark-themed code editor on a purple background showing Kubernetes service account token retrieval, OIDC/web identity exchange for temporary cloud credentials, and a comment stating “no PAT, no leaked secret, no token theft,” illustrating credential minting via trusted workload identity rather than stolen tokens.
000
Devarno @devarno.com · 20/05/2026
agents are part of the attack surface now.
Dark-themed code snippet listing .claude and .vscode configuration files on a purple background, shared alongside commentary that AI agents are now part of the latest Mini Shai-Hulud attack wave.
401
Devarno @devarno.com · 19/05/2026
still uptime.
GitHub contributions dashboard for the last 12 months. 8,606 contributions across 183 active days. Current streak 67 days, this week 1,033, daily average 47.0. Languages across 321 repos and 31 orgs: TypeScript 35.2%, Python 20.6%, MDX 15.6%, Go 9.5%, with smaller shares of JavaScript, HTML, Rust, and Shell.
010
Devarno @devarno.com · 14/05/2026
the agent didn't bypass your controls. there was nothing to bypass. #buildinpublic
Architecture diagram showing Ring 2 (agent fleet) writing directly
to Ring 1 (consumer repository) with no control plane in the path.
Ring 2 contains three writer types: claude-code, copilot-agents,
and custom MCP servers — all described as stateless, drift-prone,
with no shared trust boundary. A redacted Ring 1.5 control plane
is shown as a dashed ghost element marked "not on the write path
today," with its gates obscured: schema gate, idempotency ledger,
provenance · MR cite, policy · CODEOWNERS · replay. Three failure
surfaces are identified: F-1 Silent (severity: high) — no schema
check, no constraint gates, no type coercion, payload accepted
never validated; F-2 Invisible (severity: high, forensics: nil) —
no idempotency key, no audit body, no MR cite, no trace-id
propagation, run unattributable and unreplayable; F-3 Bypass
(severity: critical, blast: prod) — branch protection, CODEOWNERS,
and required checks all bypassed, CI never runs, review never
happens. Ring 1 lists what consumers expect: schema-valid state,
attributable mutations, reviewed merges — and notes it delivers
none of the above. Legend distinguishes dashed agent writes
bypassing the control plane from solid red unsanitised writes
reaching the system of record.
251
Devarno @devarno.com · 12/05/2026
drift. #buildinpublic
Skyflow page screenshot presented on a light blue gradient background, with "@devarno.com" watermarked in small grey text in the lower right corner of the frame. The screenshot has rounded corners and shows: a SKYFLOW header in monospace caps with a small blue butterfly icon to the left, and "21 OF 437 NODES" in the upper right with "21" emphasised. A legend below the header identifies three edge types: solid lines for prerequisite, dashed for dependency, dotted for related. The word "DRIFT." appears at the right end of the legend row in cyan. The frame shows a dense dim network of translucent nodes filling the centre, right, and upper portions of the dark canvas. In the lower-left area, a small cluster of five bright fully-opaque labelled nodes is grouped together. From top to bottom and left to right, the labels read: Down While We Rebuild, Four Scores One Timeline, Drift Lift Jet Orbit, Bluesky-Native Analytics, and Why Not Hootsuite Buffer.
120
Devarno @devarno.com · 10/05/2026
now with skills.
Network graph on a dark background showing an agentic architecture. The graph contains around forty nodes connected by a dense web of solid and dashed lines. A legend in the bottom-left identifies three node types: blue circles for prompts, purple squares for cycles, and green circles for skills. Blue prompt nodes vary in size and dominate the graph. Five purple cycle nodes are scattered throughout, including one larger square in the bottom-right corner. Roughly fifteen smaller green skill nodes are distributed across the graph, particularly concentrated in the lower-middle region.
010
Devarno @devarno.com · 08/05/2026
now with cycles
Dark canvas showing a force-directed network graph on a black background — no panel chrome or title this time, just the graph and its legend. Larger labelled nodes, all blue circles (prompts), include petrova-autopilot, orchestrate-multistep, task-acceptance-check, impeccable-harness-exe…, repo-dag-executor, and task-bundle-planner. Labelled purple squares (cycles) include daily-eng-pu…, monthly-fleet-snapshot, and weekly-eng-changes — names that suggest a temporal cadence layer (daily, weekly, monthly). Dozens of smaller unlabelled nodes are scattered across the canvas connected by faint dotted lines. The legend at the bottom-left shows three node types: blue circle for prompt, purple square for cycle, green circle for skill.
000
Devarno @devarno.com · 07/05/2026
the boring graph
Dark panel titled RECENT RUNS 27, set against a soft peach-and-pink gradient background. Ten run entries are listed in monospace text, each tagged with a green "passed" badge. Visible runs span four agent classes: agent_claude_haiku (costs around $0.02, durations 7–10 seconds), agent_claude_code (costs $0.16–$0.36, durations 67–222 seconds), agent_claude_code_mutate (costs $0.12–$0.59, durations 16–320 seconds), and agent_smoke (sub-100 millisecond runs with no cost shown). All timestamps are from 2026-05-07 between 11:23 and 15:23. Footer reads @devarno.com.
000
Devarno @devarno.com · 07/05/2026
agents land here #buildinpublic
Dark panel titled NETWORK displaying a force-directed graph of agentic infrastructure on a black background. Larger labelled nodes include repo-dag-generator, impeccable-handbook-ge…, task-acceptance-check, brand-asset-generator, and crumb-extraction-harness, with dozens of smaller unlabelled nodes scattered across the canvas connected by faint dotted lines. A legend at the bottom shows three node types: blue circles for prompt, purple squares for cycle, and green circles for skill. The footer reads @devarno.com.
350
Devarno @devarno.com · 07/05/2026
no sol unsigned #buildinpublic
Audit record retrieval form on a light background. Body text reads: "Enter a session id to open its signed audit record. Tokens are verified on the server; the rendered page works without JavaScript." Below the text, a labelled input field for "Session id" shows the placeholder "0c1bd34f…" in monospace. A dark red "Open record" button sits beneath the input.
121
Devarno @devarno.com · 06/05/2026
uptime #buildinpublic
GitHub-style profile dashboard for Alex (@Dev4rno), bio reads "gopher // rustacean // pythonista". Profile shows 28 followers, 32 following, 29 organisations. Last 12 months: 6,955 contributions across 175 active days (48%), with the best day on 20 Feb 2026 at 365 contributions. The contribution heatmap below uses blue squares on a dark background, with activity visibly intensifying from February through May. Cadence stats show a current streak of 58 days (also the all-time best), 679 contributions this trailing week, and a daily average of 39.7 across active days. Languages by bytes across 306 repos and 29 organisations: TypeScript 35.2%, Python 20.8%, MDX 16.1%, Go 9.6%, JavaScript 3.4%, HTML 3.3%, Rust 2.6%, Shell 2.2%.
110
Devarno @devarno.com · 05/05/2026
just using the technique of positive visualisation
Christopher Moltisanti from The Sopranos wearing a beige bucket hat and navy Nike tracksuit over a white tank top, with a gold pendant necklace. He's giving a tight-lipped, side-eye expression that reads as strained acceptance.
000
Devarno @devarno.com · 05/05/2026
character building
Screenshot of Claude usage limits panel on the Max 20x plan. Current session shows 0% used. Weekly limits show: All models 100% used (resets in 10 min), Sonnet only 3% used, Claude Design 0% used.
120
Devarno @devarno.com · 28/03/2026
she saved earth by not asking permission. i named my prompt library after her. STRATT.
Eva Stratt from Project Hail Mary. Sandra Hüller walking toward camera through an institutional corridor, expression calm and certain. © Amazon MGM Studios.
010
Devarno @devarno.com · 12/03/2026
the best DX still comes in a yellow carton #buildinpublic
A young man sitting on a set of brick stairs, holding a Chocomel carton - unbothered, unhurried, already thinking three moves ahead.
020
Devarno @devarno.com · 05/01/2026
office keys in hand. @posthog.com swag on the desk. jitter juice ready. this is real now. #buildinpublic
PostHog care package on desk with t-shirt, socks, and stickers. Coffee cup in background. First day in the office.
161
Devarno @devarno.com · 02/01/2026
happy new year folks
Rearview mirror showing flames with years 2020-2025, while the open road ahead is labeled 2026. Leaving the chaos behind.
031
Devarno @devarno.com · 02/01/2026
treated myself to a new rig over xmas. spent ~3 hours exorcising haunted spanish windows bootloaders. arch is running. rust and go installed before i even saw the desktop. we are so back.
Custom-built PC running a fresh Arch Linux installation. My new dev setup for 2026.
110
Devarno @devarno.com · 02/01/2026
got an email last year that changed my life. "we scraped github looking for [X]. your profile came up." 500k lines of code later, i finally understand what 'locked in' means. 2026 is going to be different. #buildinpublic
Screenshot of an email from startup cofounders explaining how they found me by scraping GitHub profiles for specific technical skills. Key details redacted.Claude Code analytics dashboard showing approximately 500,000 lines of code generated in the past month.
281
Devarno @devarno.com · 28/11/2025
pov: its 2025 and your ai is busy building its replacement
screenshot of claudecode generating a full ai engine with imports, security models, and near-complete test coverage.
000
Devarno @devarno.com · 26/10/2025
masters nationals this weekend. PB in almost every event. wanted sub-27 for 50 free, got exactly 27.00 (lane 8). swimming gods have a sense of humour. months of training done while building in silence. time to ship the ecosystem. watch this wave. #buildinpublic #swimming
041
Devarno @devarno.com · 15/10/2025
failed another coding interview last week. im so bored of hour-long leetcode marathons that reward speed over sense. so ill keep building this orchestrator for my entire SaaS ecosystem. traceability all green so far. at least something actually passed. #buildinpublic
2121
Devarno @devarno.com · 27/08/2025
small win alert. devarno.com jumped +11 DR points to 21 this week. somehow landed #1 on the weekly leaderboard. building in public is working. slowly but surely. #buildinpublic
Domain rating chart showing devarno.com jumping from DR 10 to DR 21 with sharp upward spike over recent weeksWeekly DR leaderboard showing devarno.com at #1 position with +11 point increase highlighted
231
Devarno @devarno.com · 25/08/2025
lane 5. 7am. last call. race simulation to close out the weekend. 21km total since friday. back to building tomorrow. different kind of blocks to tackle. #buildinpublic
Starting block number 5 at sunrise with golden light reflecting on pool water, lane ropes extending into distance at Olympic training facility
022
Devarno @devarno.com · 24/08/2025
carving the waves with such simplicity
000
Devarno @devarno.com · 24/08/2025
technique work actually clicked today. legs remembered how to swim instead of just move water around.
Apple Watch summary of afternoon swim reaching total distance of 4.45kmApple Watch summary of morning swim reaching total distance of 4.5km
000
Devarno @devarno.com · 24/08/2025
technique work actually clicked today. legs remembered how to swim instead of just move water around.
Apple Watch workout summary of morning swim reaching total distance of 4.5kmApple Watch workout summary of afternoon swim reaching total distance of 4.45km
000
Devarno @devarno.com · 23/08/2025
4h of pool time today. tonight, we feast 🍝
Apple Watch workout summary displaying swim session statistics
000
Devarno @devarno.com · 23/08/2025
session 3: butterfly and block work. also trained alongside the saudi national team this afternoon. these guys make it look easy.
100
Devarno @devarno.com · 23/08/2025
got the “moderate effort” label from apple. my legs disagree with the assessment. watch is just being british and polite.
Apple Watch workout summary displaying 5km swim with duration, pace, and stroke data from morning training session
010
Devarno @devarno.com · 23/08/2025
7am session: weather redeemed itself. 5km vs yesterday’s storm-shortened 2.5k. tired legs met their match but that’s why I’m here. sunrise alarm was totally worth it.
50-meter outdoor pool with sunlight reflecting on still water, lane ropes visible and buildings in background.
100
Devarno @devarno.com · 22/08/2025
still managed 2.5k before lightning called time.
Screenshot of Apple fitness app displaying statistics for 2.5km afternoon swim
000
Devarno @devarno.com · 22/08/2025
thunder cut day 1 short. arrived exhausted, pool went from perfect to this in an hour. travel legs didn’t help much either.
100
Devarno @devarno.com · 22/08/2025
unplugging before shipping gets serious. heading to spain for a swimming camp at an olympic training facility. gonna micropost the brutal sets. still hunting for other swimmer software nerds. there’s gotta be more of us out there. #buildinpublic
outdoor 50-meter swimming pool with crystal blue water, lane ropes and diving blocks, surrounded by training facilities under a clear sunny sky
050