TLDR Web Dev

TLDR WEB DEV 2025-02-04

6 sections16 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01GENERAL

Sponsored

CLASSROOM

A high-quality Master's degree is a major advantage in the increasingly crowded job market—but that doesn't mean packing your bags, putting your life on pause, and spending $100K+ on traditional universities.

quantic.eduSponsor

02ARTICLES & TUTORIALS

DON'T ANIMATE HEIGHT!

A note-taking app had high CPU and GPU usage due to a CSS animation affecting the height property of a visualizer. Animating the height property triggers expensive layout and paint recalculations in the browser's rendering pipeline. Replacing the height animation with a transform animation, specifically using two rectangles with translate transformations instead of scaleY, drastically reduces CPU and GPU usage.

granola.ai5 min read

I WROTE A WASM INTERPRETER IN C

This developer spent six months building a WebAssembly (Wasm) interpreter in C as a learning project to deepen their understanding of low-level computing. In this post, they explain the evolution of Wasm and its applications in web and cloud environments, such as in-browser compilation. They then walk through the interpreter's implementation, covering module decoding, function invocation, and execution via an opcode switch loop.

irreducible.io11 min read

WHAT OKTA BCRYPT INCIDENT CAN TEACH US ABOUT DESIGNING BETTER APIS

The Okta Bcrypt incident exposed a vulnerability where excessively long usernames allowed authentication bypass due to the 72-character input limit of the Bcrypt algorithm, leading to ignored password data. Through testing various implementations in Go, Java, JavaScript, and Python, the blog post shows that while some libraries enforce this limitation correctly (like Go's and Patrick Favre's Java Bcrypt), others fail to do so (such as Spring Security and bcryptjs).

n0rdy.foo16 min read

03OPINIONS & ADVICE

SOFTWARE DEVELOPMENT TOPICS I'VE CHANGED MY MIND ON AFTER 10 YEARS IN THE INDUSTRY

A software dev reflects on their decade in the industry, revisiting opinions they had written down in the past. For example, contrary to their past beliefs, they now believe that DynamoDB is a good database, typed languages are essential, and that simplicity is not a given. Some earlier beliefs still hold though, such as skepticism on code style obsession, microservices, and the necessity of project managers.

chriskiehl.com3 min read

DEVELOPER PHILOSOPHY

Some key dev philosophies to follow include the importance of avoiding ground-up rewrites by managing technical debt early, recognizing that the last 10% of a project often takes as much effort as the first 90%, and automating good practices to enforce consistency. Devs also need to account for edge cases, simplify code when possible, and write testable, obviously correct code rather than relying on implicit correctness.

qntm.org7 min read

04LAUNCHES & TOOLS

GOOSE

Goose is an open-source, local AI agent that automates engineering tasks, allowing devs to focus on higher-level work. It's effective for tasks like debugging, data generation, code migration, and custom CLI command creation.

block.github.ioTool

HTTPTAP

Httptap is a Linux tool that allows users to view the HTTP and HTTPS requests made by any program by running httptap -- `command`. It works by running the given command in an isolated network namespace and transparently proxying the traffic.

github.comGitHub repository

05MISCELLANEOUS

BEYOND THE AI MVP: WHAT IT REALLY TAKES

Most AI companies are stuck in the experimental phase and lack proper eval tools to measure and improve model performance. The “AI MVP trap” misleads teams into thinking an impressive prototype is nearly complete, when in reality, building a good AI product requires extensive eval suites and automated testing.

blog.lawrencejones.dev7 min read

THE DUMB REASON WHY FLAG EMOJIS AREN'T WORKING ON YOUR SITE IN CHROME ON WINDOWS

Flag emojis don't render properly in Chrome on Windows because Microsoft's system font doesn't support them, likely due to geopolitical concerns. As a result, Chrome users see country code letters (e.g., "GB" instead of 🇬🇧), while Firefox avoids the issue by using its own emoji font.

links.tldrnewsletter.com7 min read

INSIDE IMESSAGE-EXPORTER: REVERSE ENGINEERING APPLE'S TYPEDSTREAM FORMAT

A developer reverse-engineered Apple's undocumented typedstream binary serialization format used in iMessage's attributedBody BLOB, which stores rich text and formatting data. In this post, they explain how they deciphered the format's structure, including type tags, indicators, and object caching, to create imessage-exporter, a tool that can extract and represent this data in a platform-agnostic way.

chrissardegna.com34 min read