#667 – March 08, 2026
errors in software fall into two groups: expected and unexpected
The two kinds of error
4 minutes by Evan Hahn
Errors in software fall into two groups: expected and unexpected. Evan says expected errors, like bad user input or network failures, are normal and should be handled gracefully without crashing. Unexpected errors, like null pointer exceptions, signal a bug and should be allowed to crash the program. The more reliable you want your software to be, the more errors you should treat as expected.
Auth Isn't Your Core Product. Stop Engineering It Like It Is.
sponsored by FusionAuth
You didn't get hired to debug password reset flows. Yet homegrown auth quietly consumes entire sprints — security patches, compliance audits, MFA edge cases, OAuth upgrades. Use FusionAuth's Build vs Buy assessment to make the case to your team. Self-hosted or cloud, SOC 2 and ISO 27001 certified, with SDKs for every major framework. Free to download.
Rendering 100M pixels a second over ssh to run snake
10 minutes by Nolen Royalty
A multiplayer snake game runs entirely over SSH, with all rendering done server-side. Getting it to work well meant solving three problems: making the game look right in the terminal, cutting bandwidth from 35 KB/s down to 2.5 KB/s through smarter rendering, and boosting performance 25x to support thousands of players at once.
Against query based compilers
7 minutes by Alex Kladov
Query-based compilers apply incremental computation to speed up compilation, so only changed parts are recompiled. Alex argues this works well when small input changes produce small output changes, but languages like Rust make this hard because macros, name resolution, and trait lookups create wide-reaching dependencies across files. Zig shows the opposite approach, where careful language design keeps compilation stages independent, reducing the need for fine-grained change tracking. Coarse, structured compilation phases often outperform general query systems in both speed and simplicity.
An interactive intro to quadtrees
10 minutes by Growing SWE
This article explains quadtrees, a data structure used to organize points in two-dimensional space. Instead of checking every point when searching a map, quadtrees divide space into smaller regions and store points in a tree structure. This allows programs to quickly skip irrelevant areas. Quadtrees make tasks like map searches, nearest-neighbor queries, collision detection in games, and image compression much faster and more efficient.
How we made Notion available offline
6 minutes by Raymond Xu
Raymond describes how Notion built offline access by solving how to track which pages should stay available without a connection. A two-table system records not just which pages are offline, but every reason why, so removing one reason never accidentally drops a page that still has others. Pages stay fresh through push notifications rather than constant polling, with timestamps to avoid re-downloading unchanged content.
And the most popular article from the last issue was: