Why Remote Work Can (But Doesn't) For Your Team
The surprising key friction that makes or breaks remote work — and it all comes down to screen sharing.
Programmer. Blogger. Nice Guy.
The surprising key friction that makes or breaks remote work — and it all comes down to screen sharing.
Why vibe coding with AI agents has replaced Figma for low-fidelity prototyping, and the superpowers it unlocks.
How to keep your vibe-coded/LLM agent projects from turning into unreadable mush using deterministic linters and static code analyzers.
Why mypy type annotations make Python a joy to work with, and how to get started with type checking.
An evolving opinion on debuggers — when they're indispensable, and why I now mostly eschew them.
The only project management approach that actually worked — a story about scrums, standups, and Microsoft Project.
Reflecting on the key lessons learned over the past year about learning, typesafety, SQL, declarative APIs, and VSCode.
How to profile Python asyncio services and eliminate JSON serialization bottlenecks that block the event loop.
Observations about d3's API and code organization from a beginner's perspective.
How the best OOP advice boils down to using less OOP and thinking more like functional programmers.
Using Neovim as a terminal emulator for a mouse-free, vim-native workflow.
Thoughts on functional programming, OOP design patterns, and why the best OOP advice is to think more like a functional programmer.
Thoughts on Electron apps, their resource usage, and the alternatives available.
Exploring the benefits of declarative APIs and why more stateful libraries should adopt them.
Why tiling window managers like i3 are all a developer needs for a mouse-free, productive desktop environment.