Good Retry, Bad Retry: An Incident Story (21 minute read)
This article explores various techniques for managing retries, including retry budgets and circuit breakers, and analyzes their effectiveness through simulations. A developer learned about the pitfalls of implementing retries in a microservice architecture. He started by adding retries to solve a transient error issue but discovered the potential for retry storms and client synchronization problems. After implementing exponential backoff and jitter, he faced a new challenge when the system experienced an hour-long outage caused by a bug in a new feature.
|
How do HTTP servers figure out Content-Length? (5 minute read)
HTTP servers determine the "Content-Length" header, which indicates the size of the response body in two ways. When the response is small enough to fit in a server buffer, the length is calculated and sent directly. For larger responses, HTTP employs "chunked transfer encoding", dividing the data into chunks with their respective lengths.
|
Running Clang in the browser using WebAssembly (5 minute read)
Clang, a compiler front end for C/C++, can now be run directly within a web browser. This is done using the Wasmer JS SDK, which allows compiling C code to WebAssembly. This development opens up possibilities for online IDEs to adopt the SDK and enable users to compile and run C programs within their browsers.
|
|
The Frontend Treadmill (5 minute read)
Frontend teams are wasting time and resources by constantly chasing the latest frameworks, which are usually destined to become obsolete. Instead, they should focus on mastering core web technologies and building deep expertise in their current frameworks. This approach offers greater career longevity and allows teams to hire skilled engineers who are adaptable to changing technologies.
|
Web Components are not Framework Components β and That's Okay (10 minute read)
Web Components are not meant to replace frameworks but rather to complement them. There are two ways to think about components: generalizable elements that extend HTML (where Web Components excel) and project-specific reactive templating components (where frameworks still hold an advantage). The Web Components community should focus on making them more ergonomic for authors, which would make them more viable as a compile target for frameworks.
|
React on the server is not PHP (8 minute read)
Server-side JavaScript, specifically using React on the server, is not a return to PHP. While the concept of server-side rendering may seem similar to the old PHP approach, the underlying principles and tools have evolved drastically to offer unified stacks rather than having separate stacks for frontend and backend.
|
|
Python 3.13 (Website)
Python 3.13 has been released. It includes a new interactive interpreter, experimental support for free-threaded execution, and a Just-In-Time compiler. The release also features enhanced error messages with color highlighting, improved locals() semantics, and default values for type parameters.
|
sq (Website)
sq is an open-source data wrangling tool that allows users to inspect, query, join, import, and export data. It supports a wide range of data sources including common SQL databases, Excel XLSX files, CSV, TSV, JSON, JSONA, and JSONL formats. It also provides various output formats like INSERT to SQL databases, CSV, Markdown, and more.
|
Jazz (4 minute read)
Jazz is an open-source toolkit that makes building real-time, collaborative applications easier by providing a single abstraction for distributed state, replacing the need for traditional APIs, databases, and message queues. It uses CRDTs and public-key cryptography to enable real-time, cross-device synchronization with secure permissions, built-in conflict resolution, and seamless integration with various environments, including React, React Native, and NodeJS.
|
|
Virtualizing iOS on Apple Silicon (16 minute read)
A developer successfully virtualized iOS on Apple Silicon Macs through a combination of kernel patches and system modifications. The challenges encountered during the process included signature verification and binary incompatibilities between iOS and macOS. The developer used undocumented features of Apple's Virtualization framework and found hints of potential future developments like touch functionality.
|
Optimizing Postgres table layout for maximum efficiency (15 minute read)
Postgres adds padding to data for efficient disk access through a process called βdata alignment.β Misaligned columns can increase the size of tables and indexes, leading to wasted disk space and slower performance. This article provides practical examples and code snippets showing how to optimize table and index layout for better alignment.
|
|
The Nine Node Pillars (4 minute read)
The Nine Node Pillars are a set of guiding principles for building maintainable Node.js applications that includes advice like not blocking the event loop and always using Node LTS versions in production.
|
Does it scale (down)? (2 minute read)
Developers should prioritize scaling down their software first, starting small and only scaling up when necessary, as modern hardware makes it possible to run most applications efficiently on a single server.
|
How to fetch data in React (13 minute read)
There are various methods for fetching data in React applications, including server-side fetching with React Server Components, client-side fetching with React Query, hooks, and tRPC.
|
|
Love TLDR? Tell your friends and get rewards!
|
Share your referral link below with friends to get free TLDR swag!
|
|
Track your referrals here. |
Want to advertise in TLDR? π°
|
If your company is interested in reaching an audience of web developers and engineering decision makers, you may want to advertise with us.
If you have any comments or feedback, just respond to this email!
Thanks for reading,
Priyam Mohanty, Jenny Xu & Ceora Ford
|
|
|
|