<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Jordan Newell</title><description>Field notes from an operator shipping in public across sectors.</description><link>https://jordannewell.com/</link><language>en-us</language><copyright>© 2026 Jordan Newell. Content licensed CC BY-NC 4.0. Code licensed MIT.</copyright><item><title>The Curtis suite — curtisai.tech, coming soon</title><link>https://jordannewell.com/posts/curtis-suite-coming-soon/</link><guid isPermaLink="true">https://jordannewell.com/posts/curtis-suite-coming-soon/</guid><description>The Curtis line is consolidating into a suite at curtisai.tech. Four pieces: Chat, Port, Audit, Data. Chat and Port are live; Audit is on npm; Data is the new one. What&apos;s coming, briefly.</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate><category>ai</category><category>oss</category></item><item><title>The Curtis line is brewing — 2.0.0 carries the plugin into 2027</title><link>https://jordannewell.com/posts/curtis-line-2-0/</link><guid isPermaLink="true">https://jordannewell.com/posts/curtis-line-2-0/</guid><description>v1.0.0 shipped 2026-07-23 with a promise: there will be more. Twelve releases later the more has a shape — a portable chat format, an editor agent, a compliance line, and a staged 2.0.0 that turns chat history into files you own. The state of the Curtis ecosystem, with receipts.</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate><category>ai</category><category>oss</category></item><item><title>Curtis Porter — one file, one chat, no hostages</title><link>https://jordannewell.com/posts/curtis-porter-curt-format/</link><guid isPermaLink="true">https://jordannewell.com/posts/curtis-porter-curt-format/</guid><description>Shipped today: a local-first converter that reads every hostile AI chat export — ChatGPT branch trees, Claude content blocks, Grok archives, Gemini Takeout, pasted transcripts in English or Chinese — and hands back .curt files and vault markdown you own. v0.2.0 ports both directions: continuation packs, ChatGPT-shape JSON, API JSONL. MIT, no accounts, no uploads, no telemetry.</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate><category>ai</category><category>oss</category></item><item><title>Three failures in 82 minutes: dev.jordannewell.com broke on the PATH, the umask, and the secret scanner</title><link>https://jordannewell.com/posts/deploy-day-three-failures/</link><guid isPermaLink="true">https://jordannewell.com/posts/deploy-day-three-failures/</guid><description>Standing up dev.jordannewell.com on 2026-10-03 produced three deploy failures in 82 minutes — a PATH-shadowed .env, a security-hardened umask that left the web root unreadable to nginx, and gitleaks flagging an analytics token that ships in every page&apos;s HTML. Each failure came from something built to be on my side.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate><category>tooling</category><category>infra</category></item><item><title>GitHub strips commits from public events. My terminal reported &apos;feed quiet&apos;.</title><link>https://jordannewell.com/posts/github-events-strip-commits/</link><guid isPermaLink="true">https://jordannewell.com/posts/github-events-strip-commits/</guid><description>The homepage activity terminal went quiet for two stacked reasons: a proxy route that only exists on the Cloudflare-fronted origin, then GitHub&apos;s public events API omitting payload.commits entirely. Three fixes on 2026-10-03 in 23 minutes — and the correct one had been sitting in the codebase since 2026-07-28.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate><category>tooling</category><category>oss</category></item><item><title>Three incidents, four days, one root cause: the unattended fleet&apos;s September bill</title><link>https://jordannewell.com/posts/september-unwatched-fleet/</link><guid isPermaLink="true">https://jordannewell.com/posts/september-unwatched-fleet/</guid><description>The fleet ran unattended for two months while the site sat on a splash page. Between 2026-09-25 and 2026-09-28 the deferred maintenance billed all at once — OOM loops at half the memory cap, ~800 wasted model runs a day from a default-ON heartbeat, and a billing suspension every liveness check called alive. One shared root cause: defaults and alerts that assumed someone was watching.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate><category>infra</category><category>ai</category></item><item><title>Agent down mid-bid. The call: keep it dead and take the work myself.</title><link>https://jordannewell.com/posts/bbq-bid-takeover/</link><guid isPermaLink="true">https://jordannewell.com/posts/bbq-bid-takeover/</guid><description>My construction agent went silent halfway through a live commercial trim bid. Restarting into the same death wasn&apos;t a plan. The takeover worked because the work lived in files and prints, not in the agent&apos;s head.</description><pubDate>Sat, 03 Oct 2026 00:00:00 GMT</pubDate><category>ai</category><category>construction</category></item><item><title>Every liveness check said alive. The mail was dead.</title><link>https://jordannewell.com/posts/hetzner-billing-suspension/</link><guid isPermaLink="true">https://jordannewell.com/posts/hetzner-billing-suspension/</guid><description>A Hetzner billing suspension left the VM answering pings while every real port was dark, and the first-ever mailcow restore drill that followed turned cleanup into proof the backups work.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate><category>infra</category><category>rebuild</category></item><item><title>Forty DMs. One cron. Here&apos;s the default I&apos;m flipping.</title><link>https://jordannewell.com/posts/heartbeat-dm-storm/</link><guid isPermaLink="true">https://jordannewell.com/posts/heartbeat-dm-storm/</guid><description>A five-minute cron wiped the note that kept my agent fleet quiet, the default-ON heartbeat took over, and the fix came down to one config line and a rule: anything that spends money per run defaults to off.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate><category>ai</category><category>infra</category></item><item><title>Node sized its heap to half the memory cap. The fleet OOM-looped all day.</title><link>https://jordannewell.com/posts/v8-heap-cgroup-half/</link><guid isPermaLink="true">https://jordannewell.com/posts/v8-heap-cgroup-half/</guid><description>Node 22 derives its V8 heap from the cgroup limit — heap ≈ MemoryHigh/2, measured twice. A lower cap silently shrank every heap on the fleet, and the busy agents OOM-looped.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>infra</category><category>ai</category></item><item><title>Zero posts in August: jordannewell.com moved, it didn&apos;t die</title><link>https://jordannewell.com/posts/where-august-went/</link><guid isPermaLink="true">https://jordannewell.com/posts/where-august-went/</guid><description>August 2026 produced zero posts on jordannewell.com because the site was reshuffled behind a splash and the operator went heads-down at DW Trim. The receipts: six commits (three mine, three robots&apos;), a fleet that ran unwatched, and a full restore on 2026-10-03.</description><pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate><category>ventures</category><category>rebuild</category><category>construction</category></item><item><title>Walk-back ships faster than build-out: the Pro tier my README invented</title><link>https://jordannewell.com/posts/walk-back-ships-faster/</link><guid isPermaLink="true">https://jordannewell.com/posts/walk-back-ships-faster/</guid><description>When documentation promises a product that doesn&apos;t exist, walking the docs back ships faster than building the product — and the walk-back is the honest ordering, not the shortcut.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate><category>ai</category><category>tooling</category></item><item><title>I leaked 8 credentials in 9 days. Built a scanner. Number nine got through.</title><link>https://jordannewell.com/posts/token-hunt/</link><guid isPermaLink="true">https://jordannewell.com/posts/token-hunt/</guid><description>Eight paste-error leaks into AI chat in nine days, zero exploits. pat-scanner is the OSS guard I shipped; a Windows blind spot still let leak number nine through. It guards the fleet now.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate><category>security</category><category>oss</category></item><item><title>Shipping Claudeway: 140 tests, post-quantum receipts, one consensus live on four Nostr relays</title><link>https://jordannewell.com/posts/claudeway-signed-transcripts/</link><guid isPermaLink="true">https://jordannewell.com/posts/claudeway-signed-transcripts/</guid><description>Claudeway ships multi-agent consensus as signed Nostr events, with an ML-DSA-65 post-quantum backend from day one. You can&apos;t retrofit provenance onto artifacts that were never signed — day one costs one pip extra.</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate><category>projects</category><category>ai</category><category>oss</category></item><item><title>Building in public. Shipping tools developers actually use.</title><link>https://jordannewell.com/posts/vibe-coder-since-myspace/</link><guid isPermaLink="true">https://jordannewell.com/posts/vibe-coder-since-myspace/</guid><description>The era of the vibe coder is here. I&apos;ve been one since MySpace — two decades of building on and off. Only a couple public-facing projects in this era. The play from here: ship and prove.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate><category>ai</category><category>oss</category></item><item><title>Twenty-one hours, thirty-nine PDFs, zero GPU</title><link>https://jordannewell.com/posts/grok-pdf-extraction-marathon/</link><guid isPermaLink="true">https://jordannewell.com/posts/grok-pdf-extraction-marathon/</guid><description>Extracting text from ~39 image-only Grok chat-export PDFs into Obsidian-vault markdown via a local CPU-only vision model. Three Windows-specific bugs worth writing down.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><category>tooling</category><category>ai</category></item><item><title>Synapse restarted. The fleet went silent for four and a half hours.</title><link>https://jordannewell.com/posts/synapse-restart-broke-e2ee/</link><guid isPermaLink="true">https://jordannewell.com/posts/synapse-restart-broke-e2ee/</guid><description>A routine container restart on my Matrix homeserver silently broke encrypted replies across every agent on the tailnet. Agents looked healthy. None of them could talk. Here&apos;s the mechanism and the lesson.</description><pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate><category>rebuild</category><category>infra</category></item><item><title>My homeserver was world-readable. Here&apos;s what the audit found.</title><link>https://jordannewell.com/posts/synapse-audit/</link><guid isPermaLink="true">https://jordannewell.com/posts/synapse-audit/</guid><description>A proactive security audit on my Matrix homeserver turned up four P0 findings. All closed. Two P1 items stay blocked on bigger migrations. The specifics stay private; the lesson doesn&apos;t.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate><category>security</category><category>infra</category></item><item><title>Tools don&apos;t get co-author credit: the DeWalt rule for git commits</title><link>https://jordannewell.com/posts/tools-dont-get-coauthor-credit/</link><guid isPermaLink="true">https://jordannewell.com/posts/tools-dont-get-coauthor-credit/</guid><description>Every AI coding tool wants to add &apos;Co-Authored-By: Claude&apos; to your commits. Most builders let it happen. Here&apos;s why you shouldn&apos;t — and a git hook that strips the trailer before it lands.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate><category>tooling</category></item><item><title>Zero peers, dead DNS, and a pipeline I rebuilt from scratch</title><link>https://jordannewell.com/posts/arr-pipeline-rebuild/</link><guid isPermaLink="true">https://jordannewell.com/posts/arr-pipeline-rebuild/</guid><description>My media pipeline silently died when a VPN exit node dropped off the tailnet. Six cascading root causes hid under each other. Five hours to find the first one.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>rebuild</category><category>infra</category></item><item><title>The death-tech market is real. The first product to win it won&apos;t be a chatbot.</title><link>https://jordannewell.com/posts/deathos-grok-thought-experiment/</link><guid isPermaLink="true">https://jordannewell.com/posts/deathos-grok-thought-experiment/</guid><description>A Grok conversation about a deathOS business concept surfaces a $2-3B market growing 15-20% a year. The thesis is sound. The product Grok sketched to capture it isn&apos;t.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>ventures</category></item><item><title>Server down. Cause found. Here&apos;s the call I&apos;m making.</title><link>https://jordannewell.com/posts/homeserver-postmortem/</link><guid isPermaLink="true">https://jordannewell.com/posts/homeserver-postmortem/</guid><description>Three days off Tailscale. Cause: dead PSU in a small-form-factor host with a proprietary power supply. Disks recovered clean. Now I decide what to build next.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>rebuild</category><category>infra</category></item><item><title>Pre-launch security sweep: the categories I check before a box goes live</title><link>https://jordannewell.com/posts/pre-launch-security-sweep/</link><guid isPermaLink="true">https://jordannewell.com/posts/pre-launch-security-sweep/</guid><description>Mail-auth, transport posture, web hardening, DNS integrity. The category list — not the receipt. If you&apos;re about to open a host that does mail and web on the same IP, this is the floor.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>security</category><category>infra</category></item><item><title>The sentinel-file pattern: instant fallback when an upstream disappears</title><link>https://jordannewell.com/posts/sentinel-pattern-status-fallback/</link><guid isPermaLink="true">https://jordannewell.com/posts/sentinel-pattern-status-fallback/</guid><description>When status.jordannewell.com&apos;s upstream went down, my first two fixes cut latency from 60 seconds to 1.2 seconds. The third cut it to 170 milliseconds. I should have started with the third one.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>tooling</category><category>infra</category></item><item><title>Shipping crypto-key-classifier: 17 validators, 4 plans, 1 argparse bug caught post-ship</title><link>https://jordannewell.com/posts/shipping-crypto-key-classifier/</link><guid isPermaLink="true">https://jordannewell.com/posts/shipping-crypto-key-classifier/</guid><description>Built a tool that classifies any crypto-key string and enumerates the cross-chain addresses the same private key unlocks. The Cosmos HRP swap is the headline. Here&apos;s how it shipped.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>projects</category><category>oss</category></item><item><title>The reframe that landed before &apos;agent OS&apos; was a category: OS, not tool</title><link>https://jordannewell.com/posts/curtis-ai-phase-0-os-not-tool/</link><guid isPermaLink="true">https://jordannewell.com/posts/curtis-ai-phase-0-os-not-tool/</guid><description>Eleven months ago I wrote down a one-line reframe that predicted where the agent stack was going: integration is the moat, models are commodity, the unit is the operating system, not the tool. The industry caught up. Here&apos;s what held up and what didn&apos;t.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate><category>ai</category></item><item><title>Anatomy of a bug report that actually got fixed: my OpenClaw submission</title><link>https://jordannewell.com/posts/openclaw-bug-anatomy/</link><guid isPermaLink="true">https://jordannewell.com/posts/openclaw-bug-anatomy/</guid><description>What a good bug report looks like, demonstrated via a real one I filed against OpenClaw — community-confirmed, then fixed upstream in six days.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate><category>contributions</category><category>oss</category></item><item><title>Day 0: Why I&apos;m starting this blog now</title><link>https://jordannewell.com/posts/day-0/</link><guid isPermaLink="true">https://jordannewell.com/posts/day-0/</guid><description>Server down, no shipped, no flipped. The premise, not the liability.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate><category>rebuild</category></item></channel></rss>