Psyche: The Media Server That Keeps Your Data Yours

It was 2 AM. I was digging through my local anime folder trying to figure out why my media server hadn’t picked up a new episode. I opened the SQLite database file out of curiosity — just to see what was in there. I could read it. All of it. Every title. Every rating. Every entry in my watch history. Plain UTF-8 text, sitting unprotected on my disk. I closed the terminal and stared at the ceiling for a while. ...

April 4, 2026 · 12 min read · 2430 words · enrell

I Patched Flashrom on My Phone to Recover a Dead Motherboard

It was a Saturday afternoon. I pressed the power button on my PC and… nothing. Fans spun for a second, LEDs blinked, then dead. Then it tried again. One second, dead. One second, dead. An infinite boot loop with no display output, no beep codes, nothing. What followed was a week-long odyssey of diagnostics, wrong guesses, a new motherboard, a bricked BIOS, and — when every computer in my house was dead — an 11 PM coding session on my phone to patch an open-source tool that was never meant to run on Android. ...

March 30, 2026 · 9 min read · 1885 words · enrell

Building a Crystal MCP for Web Search and Content Extraction

It was 7pm on a Wednesday. I was staring at my terminal, watching OpenCode try to answer a question about a library it had never seen before. The LLM was doing its best. But it was hallucinating API endpoints that didn’t exist. And I thought: “Why can’t my AI just… search the web?” The Problem I use OpenCode, Claude Code and some times Crush as my daily coding companion. It’s powerful. But it has a blind spot: The native web fetch can’t access claudflare protected sites. ...

March 25, 2026 · 6 min read · 1189 words · enrell

We Are Flying Blind: Why I Built a Dependency Graph Visualizer in Rust

Recently, I watched a Veritasium video called “The Internet Was Weeks Away From Disaster and No One Knew.” It dives deep into the history of the XZ Utils backdoor—a highly sophisticated, multi-year social engineering campaign that almost compromised OpenSSH and the entire open-source ecosystem. A malicious actor spent years gaining trust, slowly pushing malicious commits into a deeply buried compression library that everything else depends on. ...

March 5, 2026 · 3 min read · 565 words · enrell

navi-agent Devlog #1 — Sprint 1 in motion: TUI, orchestrator loop, MCP path, and .env onboarding

The last post was about architecture decisions. This one is about execution. I spent this cycle turning ideas into something runnable and testable. Not polished. Not “AI magic.” Just real foundations. What shipped since the last post 1) REST API vertical slice navi-agent now has a working API backbone with health, task, and agent routes, including sync flow. This gave me a full path from request → service → persistence → response, which is where real design flaws start to show up. ...

March 2, 2026 · 4 min read · 643 words · enrell