Blog
- Use AI Agents to Break Your App
- If You Can't One-Shot Your Feature, It's a SKILL.md Issue
- Turning Your Terminal Into an AI Dev Team
- Coding Agents Need a Faster Feedback Loop
- Every CLI Should Include Agent Skills
- A Bad Line of Research Is a Hundred Bad Lines of Code
- AI Never Would Have Installed left-pad
- Code Was Never the Goal
- Vibe-Coded Apps Need Real Security
- Code Quality Still Matters
- My AI Recruiter Honeypot Worked
- Stay Out of the Dumb Zone
- I Got Tired of Writing Bad Commit Messages
- Your Tests That Make Network Requests Are Flaky
- Over-Engineering Is Just Future-Proofing Gone Too Far
- Building a Platform Is Raising the Floor for Everyone
- Ship as Fast as Possible, but Not Faster
- Today I Learned: Using BETWEEN with SQL Dates
- Today I Learned: Docker Compose Networks
- Understanding Clojure: cond and condp
- Datomic Performance with Clause Ordering
- Setting Null Values in Datomic
- Clojure Protocol Namespaces
- Mixpanel Mock
- Implementing Clojure Protocols
- Null Object in Groovy
- When to Extract Constants
- Hello World!