Newslurp

<< Stories

Python 3.13 🐍, the frontend treadmill πŸƒ, 9 rules for Node.js πŸ§‘β€πŸ’»οΈ

TLDR Web Dev <dan@tldrnewsletter.com>

October 8, 11:08 am

TLDR WebDev
Python 3.13 has been released. It includes a new interactive interpreter, experimental support for free-threaded execution, and a JIT compiler. 

TLDR

Together With SonarSource

 TLDR Web Dev 2024-10-08

Trust your developers, verify your AI-generated code with Sonar (Sponsor)

It's important to ensure that the code generated by LLMs goes through proper quality checks before going into production. Sonar's code assurance workflow ensures that AI-generated code meets the highest standards to produce software that is secure, reliable, maintainable, and of unparalleled quality. Using Sonar, development teams can:

  • Minimize risk in AI code generation
  • Detect bugs, vulnerabilities, and quality issues in all code
  • Derive more value from code created by both AI and humans
  • Boost productivity with AI-generated code fixes

Learn how Sonar helps improve AI-generated software development! 

πŸ§‘β€πŸ’»

Articles & Tutorials

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.
🧠

Opinions & Advice

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.
πŸš€

Launches & Tools

βœ‚οΈ Cut your QA cycles down from hours to minutes (Sponsor)

If slow QA processes bottleneck you or your software engineering team and you're releasing slower because of it β€” you need to check out QA Wolf.

QA Wolf's AI-native approach gets engineering teams to 80% automated end-to-end test coverage and helps them ship 5x faster by reducing QA cycles from hours to minutes.

The result? With QA Wolf, Drata's team of 80+ engineers achieved 4x more test cases and 86% faster QA cycles.

Schedule a demo to learn more 🐺

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.
🎁

Miscellaneous

What is the history of the use of "foo" and "bar" in source code examples? (4 minute read)

The terms "foo" and "bar" in code examples originated from the WWII military acronym "FUBAR" (F**ked Up Beyond All Recognition). The popularity of "foo" and "bar" in code likely stems from their association with this military jargon.
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.
⚑

Quick Links

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.
6 years with Gleam (4 minute read)

Gleam's type system and functional programming approach significantly increases productivity, especially in fast-growing codebases.
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


If you don't want to receive future editions of TLDR Web Dev, please unsubscribe from TLDR Web Dev or manage all of your TLDR newsletter subscriptions.