Author: dan
-
Three Bugs Deep: Getting Chrome DevTools MCP Working from WSL2
How we wired up live browser debugging across a secure LAN of Linux boxes, discovered our networking layer had a bug hiding under another bug, and why letting Claude drive PowerShell directly turned a day of round-trips into a few minutes of commands. The problem we were actually trying to solve This wasn’t a networking…
-

Your Browser Should Ask: “Does the Rest of the Internet See What I See?”
We have spent decades making HTTPS better. Today, when I connect to my bank, Google, Amazon, or almost any other major website, my browser performs a remarkably sophisticated series of cryptographic checks. It verifies the site’s TLS certificate, checks that the certificate chains back to a trusted Certificate Authority, makes sure the certificate matches the…
-

In Memoriam: CSS Sprites (2003 – 2020)
You hover your inspector over a tiny icon. You see background-position: -832px -47px. You blink. You scroll to the top of the stylesheet and find a single PNG weighing 4.2 megabytes. You close the inspector and never speak of it again. To the young web developer: you will never know this pain. Nor this beauty.…
-

An Open Letter to Medium: Why Have You Been Charging Me for a Membership I Don’t Have?
Dear Medium, I recently tried to downgrade or cancel what I believed was my Medium membership. That should have been a routine task. Instead, I discovered something rather strange: Medium has apparently been charging me $5 per month for three years for a membership that my Medium account says I do not have. I am…
-

Medical Research Deserves Daily Praise
When I started working at MGH in Boston in orientation they told us the story of how amazing it was to be in this great city of medicine. Then our orientation leader asked us to name the two hospital in Boston named after physicians. They gave us a hint that it was neither hospital was…
-

Coldcard Hack! Does JWT Have the Same Vulnerability??
When we think about major cyber attacks, we often picture sophisticated zero-day exploits or targeted phishing campaigns. But in July 2026, an estimated $88M+ in Bitcoin was drained from thousands of crypto wallets due to a much simpler, low-level flaw: weak cryptographic entropy. While this exploit hit Bitcoin hardware wallets, web developers should pay close…
-
We Got Hacked. Here Is What We Did.
On July 28, 2026, we investigated a major WordPress exploit that was actively being used in the wild. One of our WordPress properties, let.live, was down, and that changed the question from “are we vulnerable?” to “were we compromised while vulnerable?” The short version: yes, let.live had been compromised. We found evidence of a successful…
-

Introducing Vinge’s Law
I’d argue that we’ve had a Moore’s Law for silicon for sixty years. It’s time we had one for intelligence. Vinge’s Law proposes a simple observation about the future of artificial intelligence: The effective capabilities of artificial intelligence double every six months after AI becomes capable of improving its successors. Unlike Moore’s Law, which measured…
-
Spend 80% Fewer Tokens with TOCA
Software architecture is about to become an AI cost optimization problem. For decades, software architects have optimized for maintainability, scalability, deployment complexity, fault isolation, and human cognitive load. Good architecture has never been about clever code—it’s about reducing the amount of information required to safely make a change. AI-assisted development adds a new architectural constraint…
-
Priority Alerts from Gmail
I used to use a filter in gmail to forward important emails to my verizon sms email address <number>@vtext.com, but most carriers are removing sms via email. So now, to receive an escalated notifications for specific emails in the Gmail Android app, you can use filters to assign a label to those messages and then…
-

The Three Traps: A Simple Theory of Computer Problems
Software engineers love rules. We have design patterns, coding standards, architectural principles, and famous laws that attempt to explain why systems succeed or fail. Especially when AI is involved, most technical problems ultimately fall into one of three categories: I call these The Three Traps. Whenever a system fails, a service refuses to start, a…
-
Why Is My WSL Disk 150 GB? A Journey Through Docker, VHDX Files, and Hidden Disk Usage
Recently I felt some poor performance on my Windows laptop workstation. WizTree reported that my largest file was: Nearly 150 GB. The obvious conclusion was: “I must have enormous projects.” I was wrong. Step 1: Finding the VHD PowerShell quickly identified the culprit: Output: At this point I considered deleting WSL entirely. After all, most…
-

Making Claude Slightly More Concerning
One of my favorite discoveries in Claude Code is that you can customize the status messages that appear while the AI is working. Instead of seeing the usual: you can provide your own spinner verbs. Naturally, the first thing I did was teach my AI to sound like an impending robot uprising. Now, while it…
-
# Final Analysis — 2026 US Open DFS
2026 US Open DFS Analysis 2026 US Open DFS Analysis Generated: 2026-06-17 1. Goal Recap Build the optimal 6-player DraftKings Classic Golf DFS lineup for the 2026 US Open at Shinnecock Hills. Salary cap: $50,000. Scoring rewards birdies (+3), eagles (+8), bogey-free rounds (+3 bonus), and finish-position bonuses (1st = +30 pts). Objective: maximize expected…
-
When AI + JSFiddle = The Perfect Quick Fix
Had a simple but annoying task today: take a massive block of text (no spaces) and split it into 5-character chunks. You’d think AI could handle this easily, right? Wrong. Ask ChatGPT or Claude to manually split a long string into 5-character blocks and watch it hallucinate, drop characters, or just give up halfway through.…
-

Stop Writing Resumes. Build a Career Knowledge Base.
Every time I help someone apply for a job, I see them doing the same thing to begin: opening up a Word document and manually editing a resume to match the position. That process made sense in 2005. It doesn’t make much sense in the age of AI. The Resume Is Not the Asset Most…
-

Agents need *nix Permissions, Not Just Prompt Files
Everyone building AI coding workflows right now seems to converge on the same pattern: And to be clear: these help. But after watching one of my coding agents decide to make a direct change to AWS infrastructure through the AWS API — despite explicit instructions that infrastructure changes must go through Terraform — I started…
-

The Post-Framework Optimization Era
this post formatted by AI for clarity, typos and readbility For the last fifteen years, software engineering has largely been a search for leverage through abstraction. Frameworks promised that if we accepted enough structure, conventions, lifecycle rules, and tooling complexity, we could dramatically reduce the amount of code humans had to write and maintain. And…
-

The “Just Store the Images in the Database” Trap
One of the easiest mistakes for newer developers — especially in the age of vibe coding and AI-assisted app building — is storing uploaded images directly in the database. And honestly, it’s not just beginners. Even experienced engineers say things like: “We’re not going to have that many images.” “It’ll be simpler if everything is…
-

Postman Saves My Ass (Again): Using AI to Turn Your API Into a CI Safety Net
/** AI used to format this article and clean up typos **/ The Prompt That Changes Things If you’ve got an API, try telling your AI this: “I want a Postman suite that gives me complete coverage of my API, that I can run locally but also runs as a GitHub Action when anyone makes…