Writing · 2013–2026
The Blog
Notes on building web software: backends, vanilla JS, MongoDB, Git, hiring engineers, and the occasional detour into everything else.
2026
2025
2024
- 2024: The K Got Sharper
- Where Will Senior Developers Come From?
- A Quarter of Google's Code Is AI. Who Reviews It?
- Cursor and the End of Typing
- AI's $600 Billion Question
- The 10x Developer Is Real Now
- Glue on Pizza: The Gap Between Demo and Product
- Devin Is Not a Software Engineer. Yet.
- The K-Shaped Developer Market
- Bet on AI. Bet Against the Hype.
2023
- 2023: Boring Tech's Best Year
- Don't Build Your Company on One Model
- Unity and the Platform Tax
- Open Source Is Not a Business Model
- Nobody Asks Stack Overflow Anymore
- Even Amazon Went Back to the Monolith
- AutoGPT and the Myth of the Autonomous Developer
- SVB and Your Single Points of Failure
- Who Tests the Code Now?
- So You've Been Laid Off
2022
- LastPass Got Breached. Passwords Are the Problem.
- ChatGPT Is a Junior Developer With Infinite Confidence
- Twitter Is Still Up
- 22 Things From 22 Years of Writing Code
- Heroku Killed the Free Tier
- Why Senior Developers Need Each Other
- The End of Free Money
- Senior Developers Don't Do Six-Round Interviews
- Wordle and the Joy of Small Software
- Web3 Is a Database With Extra Steps
2021
- 2021: The Year Dependencies Bit Back
- Facebook Was Down for Six Hours
- The Great Resignation, Developer Edition
- A Marketplace Is Five Collections
- Copilot Writes Code You Have to Read
- The Day the Internet Went Down
- HTML Over the Wire: The Pendulum Swings Back
- First-Party Data Is the Only Data Now
- Clubhouse and the Live Internet
- Keep Users Logged In Forever
2020
2019
2018
2017
- VanillaJS and jQuery - Minimal HTML Directives
- MongoDB is a Great General-Purpose DB
- Give First-Class, Personalized Treatment to Anonymous Users ★
- Secure simple sign-in links ★
- No more username/passwords: Just use a 3rd party for authentication. ★ medium ↗
- MongoDB Joins with simple Ruby medium ↗
- Spreadsheet As An Admin DB Interface medium ↗
- Ruby + MongoDB MapReduce - Dynamically Find All Keys in Collection
- SNM - Social Network / Marketplace as a service/product
2016
2015
2014
- Whitehat Postmortem Example ★
- How To Recruit Software Engineers ★
- Responsible Software
- Monads
- Ruby Monkeypatching Friendly Hashes
- JabJS - Introduction
- Native JavaScript Data Binding ★
- Idempotency ★
- Daat - A Good Hebrew Content Site medium ↗
- Cofounder
- Git Book ★
- Git Rebase -i Belong To Us ★ medium ↗
- Git 'Rebase' For Startups medium ↗
- Mongo Native TTL wordpress ↗
- Mongo Console BI Syntax Essentials wordpress ↗
- Node Background Processing Awesomeness wordpress ↗
- Copying Files over SSH hops wordpress ↗
- Ruby Source Location wordpress ↗
- On the Perils of Failing Silently wordpress ↗
- Optimal Notes Strategy For Productivity Freaks ★ wordpress ↗
- Vim Basics: VimRC Ruby Coloring and Syntax wordpress ↗
- There Are No Small Delays ★ wordpress ↗
- Pimp Your RubyMine wordpress ↗
2013
Nothing matches that. Try fewer letters.
