How does session replay work? (6 minute read)
Session replay provides qualitative views of user interactions that have already happened. It works by reconstructing the changes made to the DOM rather than literally recording the screen. This involves re-applying the CSS to the HTML and using open-source software like rrweb to record and replay these DOM changes.
|
A milestone for TypeScript Performance in TanStack Router (10 minute read)
TanStack Router, a type-safe routing library for TypeScript, made performance improvements to address a bottleneck in TypeScript's language service when handling large route trees. The issue stemmed from the language service having to infer types for the entire route tree, even when only a specific route was referenced. To solve this, TanStack Router introduced a new approach for file-based routing where the route tree is explicitly declared instead of inferred, allowing the language service to infer types only for the relevant route.
|
Interning in Go (4 minute read)
Go's new `unique` package can improve memory usage by interning objects, specifically strings, to avoid storing duplicate copies. Interning, by reusing identical objects, reduces memory usage compared to other approaches. This post illustrates this through a program that processes a large text file, identifying all words starting with "B" and comparing the memory usage of different methods: storing references, cloning strings, and using the `unique` package.
|
|
Remix's concurrent submissions are fundamentally flawed (without causal ordering) (6 minute read)
Remix's approach to concurrent submissions, using a "submission and revalidation" pattern, is fundamentally flawed. It leads to unnecessary latency and introduces race conditions where the UI can display outdated information, even after users have submitted changes. There are two solutions: Causal ordering, which makes sure requests are processed in the order they depend on each other, and Persistence, where a connection is maintained between the client and server to guarantee ordered processing.
|
The Hidden Costs of Over-Collaboration (8 minute read)
Over-reliance on collaboration has hidden costs. Excessive collaboration can reduce overall output due to time spent in meetings and can create expensive interactions between teams that are not always necessary. It can also hide deeper-rooted problems, like inefficient workflows and unclear team boundaries.
|
Stop learning to give feedback. Learn to receive it (8 minute read)
Receiving feedback well means approaching feedback with curiosity and seeking clarification when possible. It's also important to avoid immediate counterarguments when receiving feedback and instead create a safe environment for the feedback giver to be honest with you.
|
|
Nitro (Website)
Nitro is a framework for developing high-performance native modules in React Native. It achieves this through hybrid objects, which are native objects implemented in C++, Swift, or Kotlin that provide direct access to native functionalities. Nitro uses a lightweight layer built on JSI and bridges directly to Swift and Kotlin while still prioritizing type safety and null-safety by using a code-generator to make sure that TypeScript specifications are the single source of truth for both JavaScript and native code.
|
Electrico (GitHub Repo)
Electrico is a lightweight, cross-platform alternative to Electron that uses Rust and Javascript to emulate Electron and Node APIs within embedded WebViews. This lets users run Electron apps without bundling Node.js and Chromium.
|
Farmhash (GitHub Repo)
This is a Node.js implementation of FarmHash, Google's family of high performance hash functions. It offers various hash and fingerprint functions with different bit lengths and seeding options.
|
|
Why wordfreq will not be updated (4 minute read)
wordfreq provided snapshots of language usage up to 2021 - it will not be updated anymore due to several reasons. First, the rise of generative AI has contaminated online data with AI-generated text, making it difficult to accurately represent human language usage. Second, previously free sources of data, like Twitter and Reddit, have become inaccessible or expensive, making it impractical to collect new data. Finally, its developer has become disillusioned with the current state of natural language processing.
|
|
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
|
|
|
|