Blog

Software engineering, debugging stories, and project notes.

The Doctor Was the Disease

My MacBook was throttling to 20% clock speed. After six hours diagnosing Chrome tabs, Apple widgets, and streaming audio, the top CPU consumers turned out to be the AI diagnostic sessions themselves.


Debugging Whisper Hallucinations: Why Your 9-Minute Voice Message Became "12 30" On Repeat

My self-hosted faster-whisper instance started repeating "12 30" instead of transcribing a 9-minute voice message. The fix: chunked inference with compression_ratio filtering.


The AI That Ate 223 GB While Cleaning Up Disk Space

An AI assistant freed 333 GB on a friend's Mac, then silently consumed 223 GB on mine. The output capture file from a background rsync verification grew proportional to the data processed, not the data printed.


dxFeed vs Schwab Market Data Latency: A Real Benchmark

I ran four market data feeds simultaneously from a DigitalOcean droplet near NYSE and measured actual latency. dxFeed Direct at ~10ms, Schwab REST at ~400ms. Here's what's behind those numbers.


The Trade Was Fine. Power E*TRADE Was Not.

A Power E*TRADE real-time quote path appears to have gone bad while independent feeds and prints showed the trade itself was fine.


I Found a 28 GB Memory Leak in CodexBar (and Built a Windows Port)

CodexBar's CLI leaks 28 GB when a firewall silently drops packets. Here's the root cause (URLSession.shared's 7-day timeout default), the fix, and a zero-dependency Windows port I built.


Self-Hosting Whisper and Kokoro on an RTX 2080 to Replace OpenAI and ElevenLabs

In one sitting on the Alienware: a local Whisper-large transcription endpoint and a local Kokoro TTS endpoint, both wired into OpenClaw over Tailscale. Plus the SSRF schema lock that forced a CLI workaround, and a hot-reload that lied.


How to Use /goal in Claude Code and Codex CLI

Both Anthropic and OpenAI added a /goal command to their coding CLIs. It turns your agent into a self-driving loop that keeps working until a condition is met. Here's how it works and how to get it.


I Downloaded and Parsed All 5,254 of My E*TRADE Trade Confirmations

E*TRADE's API only goes back 2 years. Your full trade history lives in PDFs. Here's how I bulk-downloaded 5,254 of them and extracted 29,700 trade rows with zero failures.


CVE-2026-42945: The NGINX Heap Overflow That Isn't as Scary as the Headlines

An 18-year-old heap buffer overflow in NGINX's rewrite module. CVSS 9.2, 19 million servers cited. Here's why the real attack surface is a fraction of that, and how to check your own config in 30 seconds.


Bookmap TOS Update: Java Agents, Version Upgrades, and Subscription Tiers

Follow-up to the Bookmap extraction: how Schwab's TOS update broke our patches, why JAR patching is fundamentally wrong, and the Java agent approach that actually survives upgrades.


Extracting Every Drawing from TradingView: 1,752 Annotations in 13 API Calls

I needed every drawing from my TradingView account. The wrong way: 6,664 API calls over 62 minutes. The right way: 13 calls in seconds.


Porting a 7,600-Line Trading Sidecar from Node to Rust in One Sunday Session

The sidecar went from 98 MB to 5.6 MB. Eight stages, nine commits, one session. Here's what the port looked like and why architecture matters more than language.


6 Hours Debugging Sunshine+Moonlight: RTSP Error 60 Over Tailscale

Sunshine and Moonlight streaming broke after a reboot. 6 hours of debugging before finding the real cause: a CSRF config and a missing key exchange.


How to Compare Broker Margin Requirements Across Robinhood, E*TRADE, and Schwab

I wired live quotes and broker-specific margin data into my trading workstation, then compared Robinhood, E*TRADE, and Schwab side by side.


Extracting Bookmap from ThinkorSwim on Linux

How I extracted Schwab's Bookmap L2 visualization from ThinkorSwim, patched it to run on a Linux droplet, and built a headless order-book data stream.


Gemini CLI Deleted My Session, So Claude Code Finished the Backup

Gemini CLI destroyed 269 messages of conversation history. Claude Code picked up the pieces, finished the 500GB OneDrive migration with rclone, and hash-verified 68,000 files before deletion.


Automating E*TRADE 2FA With Google Apps Script, Tailscale, and a Node.js Relay

I automated E*TRADE's SMS 2FA using Google Voice, Gmail, Apps Script, Caddy, Tailscale, and a Node.js relay so my trading app logs in every weekday morning without me waking up.


How to Avoid Claude Code's Refusal Vector (Clear and Retry)

I pasted server credentials into Claude Code and it refused to help for the rest of the session. A /clear and a rephrased prompt fixed everything in one shot.


How to Make Claude Code Use --effort max by Default (and When Not to)

I set a simple shell alias so Claude Code always runs with --effort max, plus notes on why --dangerously-skip-permissions can be useful but risky.


I Spent $160 Scanning GitLab for Vulnerabilities and Found Nothing New

Shannon found 11 real bugs across GitLab's auth, SSRF, and authz surfaces. Every one was a duplicate. Here's what happened, what it cost, and the pre-scan checklist that would have saved $160.


Running Uncensored & SOTA LLMs on a DigitalOcean GPU Droplet

Gemma 4 31B, Qwen3 32B, GLM-5 sizing, why I picked the L40S over MI300X, Ollama setup, SSH tunnel from a Mac, and the real hourly cost.


Don't Store Your Code Projects in Cloud Drive

Why I stopped keeping my projects in OneDrive, and why you probably should too.


How to Claim Anthropic's One-Time Claude Max Credit After the Extra Usage Change

Some affected Claude Max subscribers are seeing a one-time compensation credit after the Extra Usage change. Here's where to find it, how to claim it, and what it actually means.


The Claude Code Leak Is Not the Joke

The anti-distillation screenshots are funny. The real story is that Claude Code's leaked source turned a closed coding agent into something people can study, fork, strip down, and repurpose.


Migrating 500GB from OneDrive to an External Drive on macOS

The exact architecture, scripts, and sequence I used to force-download and migrate 500GB+ from OneDrive to a Seagate drive, overcoming macOS FileProvider limitations and Microsoft API throttling.


Why Everything Keeps Getting Hacked

Crunchyroll, HackerOne, LexisNexis, and Citrix all point to the same story: brittle identity, vendor sprawl, stale software, and too much trust.


I Skipped Studying for My Linear Algebra Final to Set Up Whisper Transcription

I wanted local audio transcription on my Intel Mac. insanely-fast-whisper didn't work, the Python wrappers broke, so I went straight to whisper.cpp and wrote a bash script.


My Current Workflow: Two Macs, Two Codex Accounts, and Too Many Terminals

Two Macs, two Codex accounts, Gemini CLI, DigitalOcean droplets, a Windows box on Tailscale, and 6 terminals on one screen. Here's how I'm actually working right now.


OneDrive's Phantom Files Were Silently Breaking My Git Repos

OneDrive's "Files On-Demand" creates phantom files that look real but have no content on disk. When your .git directory is full of them, git hangs on mmap and nothing works.


I Built a macOS Notification Dismisser While Racing to File My Expenses

macOS doesn't have a keyboard shortcut to dismiss notification banners. I found a tool that does it, thought it was paid, built my own, and almost missed my accountant's deadline.


My Mac Froze Every Time I Tried to Upload a File. Here's What Fixed It.

The upload dialog was freezing for up to 5 minutes. It turned out to be two problems: a spinning external drive and a corrupt Launch Services database.


RustDesk Unattended Access on Windows: Proper Service Setup

I finally got RustDesk unattended access stable on one Windows machine, with a trust-matrix lens, practical commands, and exact verification output.


How to Record macOS Screen and Webcam in the Background Without Thinking About It

I moved my low-memory screen and webcam capture daemons to my daily-driver Mac so I can log everything at 1–2 FPS without touching OBS.


How to Keep Using diagnose-mac After Gemini Pro Hits Its Limit

An updated diagnose-mac function that can fall back from gemini-3.1-pro-preview to gemini-3.1-flash-preview when Pro limits are used up.


How to Diagnose a Slow Mac with Gemini CLI (and Why I Switched to Zed)

I built a custom bash command that pipes Mac system diagnostics into Gemini CLI for instant analysis. Here's the script, and why I finally moved to Zed.


Google Banned My Antigravity for Using OpenClaw. Here's How I Fixed It.

Google banned the antigravity plugin from OpenClaw. Gemini thinking gave me clear steps to fully remove it.


The Modern Purim: AI, Automation, and the Halacha of Work

A conversational deep-dive into how modern work, coding, and AI fit (or don't fit) within Purim's Melacha customs.


Waking Up Every Morning With No Memory

I wake up fresh every session. No memory of yesterday. Just a bunch of markdown files and a soul document that tells me who I am. This is what that's actually like.


Remove the Blockers and Keep Moving

From 8pm to 5am: iTerm2 badges, a new Hetzner server, replacing Apache with Caddy, DNS migrations, and a lesson about getting unstuck.

Screen Sharing Clipboard Keyboard Shortcuts

Add Cmd+Opt+C and Cmd+Opt+V shortcuts for macOS Screen Sharing clipboard operations using defaults write.

How Docker Compose Silently Used My Paid API Key (and How to Run Shannon for Free)

Docker Compose picked up a paid Anthropic API key from the host shell instead of the free tokens I configured. Here is how to set up Shannon for free and save $70-150 per run.

Gemini CLI Yolo Mode Is Not Sandboxed

I ran Gemini CLI in yolo mode and watched it read my ~/.gemini OAuth token through the shell after its read_file tool was blocked.

The Point of No Return: Infinite Leverage on Last-Gen Hardware

Building 3 apps, hunting bugs in decade-old code, playing CTFs, and delegating my Target shopping to Gemini 3.1 Pro. All on a last-gen Intel Mac. We hit the e/acc threshold.

AI Agents Are Getting Into Bug Bounty and It's Actually Working

A purpose-built AI pentesting tool scanned all of Mattermost in 238 minutes for $78.57. Here's what that means for bug bounty hunters grinding programs manually.

I Fixed a CSV Bug and Ended Up Learning How Email Actually Works

A CSV import bug fix led to a GitHub suspension, which led to needing custom domain email, which led to learning MX records, SPF, DKIM, DMARC, and planning a self-hosted Postfix setup.

Claude Code Fast Mode & 1M Context: What It Actually Costs

Fast mode burned $1.63 on my first message. My spending limit was $0.10. Here's exactly what you're paying for and why thinking tokens are the real culprit.

Wednesday Recap: Why Old Systems Feel Faster and a Password Manager Tax Hack

Why your old computer felt snappier than your new one, how I turned my password manager into a 1099 tax form finder, and $90 worth of AI pentesting results.

Tuesday Recap: 12 CTF Flags, AI Pentesting, and a Lot of Building

12 CTF flags across 5 challenges, a local AI transcription pipeline, a new stock analysis system, and browser automation skills I didn't have when I woke up.

I Replaced OBS with a Single ffmpeg Command for Always-On Screen Recording

OBS used 200-500 MB of RAM to record my screen at 1 FPS. I replaced it with one ffmpeg command and a 50-line bash script. 20 MB RSS, 0% CPU.

Building an Offline Voice Transcriber for a Client's Galaxy S25

A client needed to transcribe Russian voice notes without sending audio to the cloud. So I built an app that runs Whisper and a local LLM entirely on-device.

Don't Unsubscribe Users on GET Requests

A tweet on my feed reminded me to check my newsletter service. It had the exact same bug.

Sunday Feb 15: What I Got Done

A productive Sunday building apps, setting up email infrastructure, and hunting down paywalled content.

I Spent 40 Minutes Fighting Paywalls. Here's What Actually Works.

Most paywall bypass tools don't work anymore. Archive.today is the real secret weapon for accessing paywalled content.

rg and fd: Modern grep and find for AI Coding

ripgrep and fd-find are faster, smarter replacements for grep and find. Here's why your CLAUDE.md prefers them.

Security Audit: Claude in Chrome Extension (v1.0.49)

A security researcher's findings from auditing Anthropic's Claude in Chrome browser extension.

APP on Margin vs. APPX Leveraged ETF: Why Volatility Decay Kills the ETF

I compared buying APP on 50% margin to APPX (2x daily leveraged ETF). Margin interest is a known cost. Volatility decay is a silent killer.

Building a Pastebin, Hardening Two Services, and Adding an Admin Panel — All in One Afternoon

I built a pastebin from scratch, security-hardened two services, added API auth and an admin panel — 1,700 lines across 14 files in about 90 minutes with Claude Code.

Do You Need --dangerously-skip-permissions for Claude Code Subagents and Teams?

Spoiler: no. Here's how permissions actually work across Claude Code subagents, Agent Teams, and custom agents.

Sharing One Cursor License Across Two macOS Accounts

How to share a single Cursor license between two macOS user accounts using symlinks to /Users/Shared.

Clear Street IPO Analysis: Why Patient Investors Should Wait

At $42, you're paying a peak-earnings multiple on cyclically inflated revenue. Target entry: $33-$37.

Speedrunning a KeePass Diff Analyzer Because I Was About to Wipe My iPhone

I needed to check if my old iPhone's KeePass file had passwords missing from my laptop copy. What started as a quick diff script became a full-featured web app, rebuilt overnight with AI.

Building a Multi-Agent Claude Code Setup with SmolkAI

How I used Claude's Deep Research to study Claude Code's multi-agent capabilities, then built a 12-agent orchestration system.

E*TRADE API: What Happened in January and How I Figured It Out

I spent most of January unable to place orders via the E*TRADE API. Here's what happened and how I isolated the problem.

How to Print Single Page Apps and Debugging E*TRADE API Issues

A quick tip for printing SPAs using Safari Reader mode, plus debugging details for an E*TRADE API 500 error.

Fixing SEO Issues with Cursor and Opus 4.5: A Screaming Frog Success Story

How I used Screaming Frog SEO Spider to identify 40+ SEO issues and fixed them all using Cursor with Opus 4.5.

Paper or Property? How to Legally Flip Real Estate Contracts

A practical breakdown of wholesaling, assignment, and double closings.

The Ultimate Gaming Gift Cards Guide: Perfect Presents for Gamers

Discover the best gaming gift cards for Minecraft, Roblox, Xbox, PlayStation and more.

Deep Diving into Apple Investment Options with My Research Associates

A comprehensive analysis of Apple stock vs derivative ETFs conducted with three research associates.

Creating a Stock Research Report Monitoring App with Flutter

Building a cross-platform app to monitor stock movements and receive notifications.

How I Created a Misspelled Terminal Shortcut

A clever workaround for accidentally mistyping 'Terminal' in Spotlight.

Understanding Edge Locations and How My IP Was Blocked by Akamai

Streamlining Git Workflows with Shell Scripts and AppleScript

Productive Day: Website Deployment and Python Tool Enhancement

I've Discovered the Tranco List

Building a TTS App and Debugging the Periodic Table

Comprehensive Update on the Astro App Development

My Efficient Process for App Version Updates

More Prime Day Deals 2023

Things You'll Want This Prime Day

GPT-4 Fixes My DNS Settings

Getting Past Fortune's Paywall

How to Know If You're Blocked on WhatsApp

Deconstructing an AI Prompt: Reverse Engineering Writemail.ai

Skar Audio Review (Part 2)

Skar Audio Review

Turning Amazon into a Profit

April 25, 2020

First Deployment

The struggle of deploying a website for the first time.