TLDR Dev 2026-02-24
Code is cheap π², Claude distillation attacks πͺ, sprites on the web πΌ
π§βπ»
Articles & Tutorials
Sprites on the Web (13 minute read)
In 2015, Twitter used image sprites to create its animated "Like" button, a technique borrowed from video games to run complex animations on low-end devices. Sprites work by combining all frames of an animation into a single image, called a spritesheet, then using CSS properties like `object-fit: cover` and `object-position` within an img tag to display each frame sequentially. The `steps()` timing function in CSS is necessary for advancing through these frames discretely, avoiding smooth transitions and creating a stop-motion effect.
Dictionary Compression is finally here, and it's ridiculously good (25 minute read)
Dictionary compression is a newly widely supported technique for sending data over the web. It works by initializing the compression algorithm with a pre-shared dictionary of known data, allowing subsequent transmissions to only send references to this dictionary rather than the full content. This approach shrinks frequently updated content like JavaScript bundles, WebAssembly files, and API responses.
What I've learned from shipping 25+ mobile apps (7 minute read)
Most Rails teams overestimate how much native code they actually need. Most of what users do and need is standard CRUD that works great as server-rendered HTML in a native wrapper. The apps that struggle are the ones that go native too early on too many screens, tripling their maintenance burden for no real user benefit.
Writing code is cheap now (4 minute read)
Agentic engineering changes software development by making code writing cheaper. This shift impacts everything from macro-level project planning to micro-level decisions about refactoring, testing, and documentation. While delivering basic code is now nearly free, delivering good code, defined by its quality, reliability, simplicity, and maintainability, is still hard.
Is Age Verification a Trap? (5 minute read)
Age-verification laws create an age-verification trap by having platforms implement intrusive data collection practices that undermine user privacy. To prove compliance, platforms must gather and indefinitely store sensitive personal data, including government IDs, biometric scans, and behavioral logs. This data retention directly conflicts with modern privacy laws, which advocate for collecting only necessary data for defined purposes and storing it minimally.
Create an Agent MVP in 30 Days (Sponsor)
Go from idea to productionβready agent quickly. This
developer checklist shows how to use Microsoft Foundry to build and ship an agent MVP in ~30 days, with practical guidance on architecture, performance, and tradeoffs to inform early technical decisions.
Get the checklist
Introducing Upright: An Open Source Synthetic Monitoring System (4 minute read)
Upright is an open-source synthetic monitoring system built as a Rails engine. It deploys to global VPS nodes via Kamal and conducts various probes, including advanced Playwright browser checks, HTTP, SMTP, and Traceroute, from multiple geographic locations.
PgDog (GitHub Repo)
PgDog is a high-performance proxy for PostgreSQL, written in Rust, designed to scale databases by offering connection pooling, load balancing, and advanced sharding capabilities. It parses SQL queries to manage connections, distribute reads and writes, handle failovers, and route queries across multiple shards.
What I learned designing a (barebones) UI engine (8 minute read)
This dev created a custom UI framework in Python using PyGame. The framework had a tree-based hierarchy, drawing inspiration from modern UI engines to implement an automatic intrinsic layout system using recursive `measure()` and `distribute()` methods. Further refinements added features like asynchronous support, global event listeners, performance optimizations via dirty flags, and a UI stage system for navigation.
Signals: Toward a Self-Improving Agent (6 minute read)
Factory built a system that uses LLMs to review thousands of coding agent sessions daily, spotting where users got frustrated. For example, frustrations would manifest themselves as rephrasing the same request five times or fighting with context windows. When enough friction is found, the agent files its own bug ticket, writes a fix, and opens a PR for a human to approve.
Node.js vs Deno vs Bun Performance Benchmarks (5 minute read)
Bun won eight tests across 14 microbenchmarks on an M4 Mac (especially HTTP throughput and large JSON parsing), Deno won five (async scheduling and tight arithmetic), and Node won just one (small-buffer SHA-256 hashing). Node stayed competitive overall but didn't dominate anywhere.
The most important software engineering news in one daily email
Join 450,000 readers for
one daily email