From Local Disk to SeaweedFS: Bypassing a GoToSocial Fileserver Bug with Self-Hosted S3 Storage

GoToSocial had a bug serving 0-byte images. I could have patched Go source code. Instead, I bypassed the entire fileserver and offloaded 92,000 files to SeaweedFS. Sometimes the best fix is an architecture pivot, not a code change. The Problem GoToSocial v0.22.1 has a confirmed bug where it uses mmap to serve media. On certain configs, this produces EINVAL errors during close(), resulting in HTTP 200 responses with 0-byte bodies. Caddy logs unexpected EOF because the connection drops mid-stream. The bug doesn’t care whether the file exists — the codepath itself is broken. ...

August 18, 2026 · 2 min · Nick Schmidt (oneguynick)

Migrating 30,000+ Personal Emails to Proton Mail: A Field Report

Migrating decades of personal archived email from Thunderbird mbox format into Proton Mail via the Bridge IMAP interface. On Linux. From the command line. Because GUI add-ons kept crashing. The Context I’ve been online since the BBS days on a Commodore 64. Watched email evolve from FidoNet netmail through SMTP, POP3, IMAP, webmail, and now end-to-end encrypted providers. My personal archive contains messages from Outlook Web Access, Lotus Notes, Gmail, Yahoo, and half a dozen defunct providers. Each era wrote headers differently. Each client had its own interpretation of “RFC compliant.” The result is an archive that represents 20+ years of real-world email, which is to say, a complete and utter mess by any strict standard. ...

August 7, 2026 · 8 min · Nick Schmidt (oneguynick)

Every Network Is Hostile: Why I Carry OpenWrt Everywhere

The Kit Left to right: GL.iNet AR150, Banana Pi BPI-R3 Mini, GL.iNet Slate7. Different tools, same principle. I rotate through three routers depending on the situation. Each has a specific job. GL.iNet AR150. The smallest unit. Square form factor. Runs off USB power alone. Pulls maybe 2 watts max. I pull this one out for short flights, quick hotel stays, anywhere I need minimum footprint and maximum portability. It handles five or six devices without sweat. No fancy hardware. Just enough to get the job done. ...

August 4, 2026 · 12 min · Nick Schmidt

Your Power Bill Is a Surveillance Log: Pattern of Life Data and Who's Watching

What if your electricity provider could tell you’re not home without ever looking out the window? They can. Your smart meter has already done it. Every 15 minutes—sometimes every few seconds—it reports when you wake up, cook dinner, leave for work, and go to bed. That’s not just kilowatt-hours. That’s a Pattern of Life (PoL) map of your household, transmitted without your meaningful consent. No tinfoil hat required. It’s all legal. ...

August 1, 2026 · 11 min · Nick Schmidt (oneguynick)

Loyal Wingman: What the USAF Can Teach Senior Developers About AI

The USAF’s Collaborative Combat Aircraft recent updates got me thinking about AI in software engineering. I spent my Air Force career securing information systems. Not flying them. But after decades in aviation, the Loyal Wingman concept hits different when you are building software. Grew up a military brat near air bases, hearing afterburners crack overhead. I joined the Air Force for information security, not the flight line. Closest I got to the cockpit was securing the systems behind it. Working in aviation most of my adult life makes the Loyal Wingman analogy for AI less of a stretch and more of lived experience. ...

July 31, 2026 · 4 min · Nick Schmidt (oneguynick)