Daily Edition · Page 4

THE DAILY INDEX

Technology, AI, software, security, crypto and business

GENERAL

TLDR Web Dev

THE CANVA OUTAGE: ANOTHER TALE OF SATURATION AND RESILIENCE

Canva experienced a major outage triggered by a seemingly innocuous deployment of a new editor page. A stale Cloudflare traffic rule misrouted user traffic over the public internet, causing latency and a backlog of 270,000+ requests for JavaScript files. This led to a "thundering herd" effect, overwhelming Canva's API gateway with 1.5 million requests per second. Canva engineers mitigated the outage by manually increasing capacity and using Cloudflare's firewall to temporarily block traffic.

BAD APPLE BUT IT'S 6,500 REGEXES THAT I SEARCH FOR IN VIM

The author re-created a Bad Apple music video within Vim using only search queries. The process involved converting the video frames into binary data, representing each pixel as a character in a Vim-compatible grid using a square font. They then developed algorithms to decompose each frame into a minimal set of rectangles, which are expressed as complex Vim search patterns. Finally, a Vim macro iterates through these patterns.

THOUGHTS ON STATE MANAGEMENT LIBRARIES IN THE REACT COMPILER ERA

Daishi Kato, the creator of the popular React state management libraries Zustand, Jotai, and Valtio, discusses the future of them in light of the React Compiler and Server Components (RSCs). The React Compiler's optimization capabilities may diminish the core need for these libraries by removing unnecessary re-renders, a problem they currently solve. RSCs also lessen the reliance on these libraries for server-side state caching. However, these libraries still offer valuable features like state organization and composability.

THE BEST PRODUCT ENGINEERING ORG IN THE WORLD

As VP of Engineering, James Shore addressed his CEO's request to measure software engineering productivity by defining the "best product engineering organization" through six key areas: People, Internal Quality, Lovability, Visibility, Agility, and Profitability. He detailed strategies for improvement in each area, including fostering an “Extreme Programming” culture, improving code quality through iterative refinement rather than large-scale rewrites, and using a "product bets" system for strategic prioritization. For reference, “Extreme Programming” practices include evolutionary design, merciless refactoring, and test-driven development.

TLDR IndexPage 4