TLDR Web Dev

TLDR WEB DEV 2024-10-29

5 sections17 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

USING RUST IN NON-RUST SERVERS TO IMPROVE PERFORMANCE

There are various ways to integrate Rust into non-Rust (i.e. Node.js) servers to improve performance. This article presents four tiers of Rust integration: Tier 1 uses a Rust CLI tool, Tier 2 uses a Rust Wasm module, Tier 3 uses a Rust native function, and Tier 4 involves a complete Rust rewrite of a server. Using a Rust native function (Tier 3) offers the best balance of performance gains and ease of implementation, while rewriting an entire server in Rust (Tier 4) achieves the highest performance (but is often impractical).

github.com17 min read

HTML FORM VALIDATION IS HEAVILY UNDERUSED

HTML forms have powerful validation mechanisms, but they aren't used much because the setCustomValidity API is cumbersome to use. A better way to make it easier to use is to use a declarative custom-validity attribute, which lets developers define input validations within their components.

expressionstatement.com8 min read

ANGULAR'S APPROACH TO PARTIAL HYDRATION

Angular's approach to partial hydration ("incremental hydration”) involves deferring the hydration of certain sections, typically those not immediately visible or interactive, until needed. Angular uses deferrable views, event replay, and defer blocks to achieve this.

thenewstack.io13 min read

02OPINIONS & ADVICE

WRITE CODE THAT IS EASY TO DELETE, NOT EASY TO EXTEND.

It's better to have a mindset of writing code that is easy to delete. To do this, you can start by copying and pasting code to avoid unnecessary dependencies, then progressively layer and modularize code to isolate complex or changeable parts. The end goal is to create code that can easily adapt to change and iteration.

programmingisterrible.com18 min read

WHAT YOU WORK ON >> HOW HARD YOU WORK

What you work on is more important than how hard you work. It's better to focus on high-impact projects that align with both organizational goals and career advancement and say no to low-priority work by clearly communicating your reasoning.

open.substack.com4 min read

ON THE WEB, AND OPTIMISM

This author reflects on the shift from optimistic to more realistic views of the web's potential. He critiques techno-optimism, highlighting the web's vulnerabilities to disinformation and manipulation and the concentration of power in a few tech giants. The author remains hopeful, drawing inspiration from the web's decentralized origins and the potential for new technologies like the Fediverse and Interledger to create a more equitable and open internet. Ultimately, he acknowledges the possibility that his optimism may prove naive, but emphasizes the importance of learning from past mistakes and building a better web for the future.

webdirections.org6 min read

03LAUNCHES & TOOLS

TRENCH

Trench is an open-source, real-time event tracking system built on Apache Kafka and Clickhouse. It offers GDPR-compliant analytics and scalable deployment options for self-hosting or a fully managed cloud solution.

github.comGitHub repository

RADIX VUE

Radix Vue is an open-source, accessibility-focused UI component library for Vue.js that ports the Radix UI primitives.

github.comGitHub repository

OUTLINES

Outlines is a library for structured text generation. It has features like multiple choices, type constraints, regex-structured generation, efficient JSON generation, and the ability to use context-free grammars to guide generation.

github.comGitHub repository

04MISCELLANEOUS

WE'RE FORKING FLUTTER. THIS IS WHY

Flock is a new fork of Flutter created due to the Flutter team's limited labor and slow response times. Flutter's open-source nature and large developer base make it possible for external contributors to improve the framework faster than the Flutter team themselves.

flutterfoundation.dev11 min read

INVESTIGATION OF A WORKBENCH UI LATENCY ISSUE

Netflix engineers investigated a latency issue affecting JupyterLab UI on their Workbench platform. They started with identifying the "bad" notebook and ruling out potential culprits like the pystan library and network issues. The root cause was traced to the jupyter_resource_usage extension, which was causing CPU contention by recursively querying all child processes, resulting in excessive memory usage and slow parsing of a file.

netflixtechblog.com12 min read

DEBUGGING AUDIO ARTIFACTS CAUSED BY... A SERIAL PORT?

A company that processes millions of video call meetings per month migrated its cluster from Kubernetes to a self-built system. After the migration, customers reported popping noises in captured audio, despite no changes to the application code. The issue was traced back to the cloud-init logging system, which writes to a virtual serial device. The system received too much data from the audio encoding process and became overwhelmed, causing the audio processing to experience CPU starvation and leading to the popping noises.

recall.ai6 min read