<!DOCTYPE html><html lang="en"><head><meta http-equiv="Content-Type" content="text/html charset=UTF-8"><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><meta name="x-apple-disable-message-reformatting"><title>TLDR WebDev</title><meta name="color-scheme" content="light dark"><meta name="supported-color-schemes" content="light dark"><style type="text/css">
:root {
color-scheme: light dark; supported-color-schemes: light dark;
}
*,
*:after,
*:before {
-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
}
* {
-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
}
html,
body,
.document {
width: 100% !important; height: 100% !important; margin: 0; padding: 0;
}
body {
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
}
div[style*="margin: 16px 0"] {
margin: 0 !important;
}
table,
td {
mso-table-lspace: 0pt; mso-table-rspace: 0pt;
}
table {
border-spacing: 0; border-collapse: collapse; table-layout: fixed; margin: 0 auto;
}
img {
-ms-interpolation-mode: bicubic; max-width: 100%; border: 0;
}
*[x-apple-data-detectors] {
color: inherit !important; text-decoration: none !important;
}
.x-gmail-data-detectors,
.x-gmail-data-detectors *,
.aBn {
border-bottom: 0 !important; cursor: default !important;
}
.btn {
-webkit-transition: all 200ms ease; transition: all 200ms ease;
}
.btn:hover {
background-color: #f67575; border-color: #f67575;
}
* {
font-family: Arial, Helvetica, sans-serif; font-size: 18px;
}
@media screen and (max-width: 600px) {
.container {
width: 100%; margin: auto;
}
.stack {
display: block!important; width: 100%!important; max-width: 100%!important;
}
.btn {
display: block; width: 100%; text-align: center;
}
}
body,
p,
td,
tr,
.body,
table,
h1,
h2,
h3,
h4,
h5,
h6,
div,
span {
background-color: #FEFEFE !important; color: #010101 !important;
}
@media (prefers-color-scheme: dark) {
body,
p,
td,
tr,
.body,
table,
h1,
h2,
h3,
h4,
h5,
h6,
div,
span {
background-color: #27292D !important; color: #FEFEFE !important;
}
}
a {
color: inherit !important; text-decoration: underline !important;
}
</style><!--[if mso | ie]>
<style type="text/css">
a {
background-color: #FEFEFE !important; color: #010101 !important;
}
@media (prefers-color-scheme: dark) {
a {
background-color: #27292D !important; color: #FEFEFE !important;
}
}
</style>
<![endif]--></head><body class="">
<div style="display: none; max-height: 0px; overflow: hidden;">Shopify successfully migrated two of its largest apps (Shopify Mobile and Shopify Point of Sale) to React Native's New Architecture β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β </div>
<div style="display: none; max-height: 0px; overflow: hidden;">
<br>
</div>
<table align="center" class="document"><tbody><tr><td valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" class="container" width="600"><tbody><tr class="inner-body"><td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr class="header"><td bgcolor="" class="container">
<table width="100%"><tbody><tr><td class="container">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" style="margin-top: 0px;" width="100%"><tbody><tr><td style="padding: 0px;">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div style="text-align: center;">
<span style="margin-right: 0px;"><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Ftldr.tech%2Fwebdev%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/Rxldae2JAONontkHxFtSoVcpP9pcJrgzT2fVoKV90SU=422" rel="noopener noreferrer" target="_blank"><span>Sign Up</span></a>
|<span style="margin-right: 2px; margin-left: 2px;"><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fadvertise.tldr.tech%2F%3Futm_source=tldrwebdev%26utm_medium=newsletter%26utm_campaign=advertisetopnav/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/LF0I6UtRLvpGcALHZdhnk13YGyOxbmfwDg9Kkd6_2Fs=422" rel="noopener noreferrer" target="_blank"><span>Advertise</span></a></span>|<span style="margin-left: 2px;"><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fa.tldrnewsletter.com%2Fweb-version%3Fep=1%26lc=156b9020-84b7-11f0-a976-55fc1d40139c%26p=30a1330a-8ee8-11f0-a3b2-25f760c2824f%26pt=campaign%26t=1757588809%26s=2428294fbd3d3bbfa88f0b68a9ea8ea3f3984556a6245406a1f9dd9185e35d20/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/YudgyMqy4AHJOq2eJCctVH5JOsew9IqBp2z9pfKLa5s=422"><span>View Online</span></a></span>
<br>
</span></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="text-align: center;"><span data-darkreader-inline-color="" style="--darkreader-inline-color:#3db3ff; color: rgb(51, 175, 255) !important; font-size: 30px;">T</span><span style="font-size: 30px;"><span data-darkreader-inline-color="" style="color: rgb(232, 192, 96) !important; --darkreader-inline-color:#e8c163; font-size:30px;">L</span><span data-darkreader-inline-color="" style="color: rgb(101, 195, 173) !important; --darkreader-inline-color:#6ec7b2; font-size:30px;">D</span></span><span data-darkreader-inline-color="" style="--darkreader-inline-color:#dd6e6e; color: rgb(220, 107, 107) !important; font-size: 30px;">R</span>
<br>
</td></tr></tbody></table>
<br>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody></tbody></table>
<table style="table-layout: fixed; width:100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;">
<div style="text-align: center;">
<h1><strong> TLDR Web Dev <span id="date">2025-09-11</span></strong></h1>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width:100%;" width="100%"><tbody></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr>
<tr bgcolor=""><td class="container">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td style="padding: 0px;">
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">π§βπ»</span></div>
</div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Articles & Tutorials</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fshopify.engineering%2Freact-native-new-architecture%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/C2LDOZTrZZkT8cXsjs7oUIUG9LQL5JobO5zxN43JQUk=422">
<span>
<strong>Migrating to React Native's New Architecture (2025) (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Shopify successfully migrated two of its largest apps (Shopify Mobile and Shopify Point of Sale) to React Native's New Architecture while maintaining weekly releases and serving millions of merchants. Its strategy focused on minimizing code changes, maintaining dual architecture compatibility during development, and making sure performance stayed the same throughout the migration process. The team ran into and fixed some issues like erroneous state batching, blank screens, shadow tree manipulation problems, and view flattening side effects.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Ffrontendatscale.com%2Fblog%2Ftanstack-db%2F%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/f5SdquMIOJTjH1bJpJDaJvIXhC1BocN8-ZwEy6ybEQ4=422">
<span>
<strong>An Interactive Guide to TanStack DB (22 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
TanStack DB is a new member of the TanStack family designed to improve TanStack Query. This article explains how TanStack DB addresses limitations in TanStack Query through Collections, Live Queries, and Transactional Mutations, with benefits like fine-grained state updates and optimistic updates with less boilerplate. TanStack DB integrates with sync engines like ElectricSQL for real-time data synchronization and fast data loading.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fleapcell.io%2Fblog%2Freact-fast-refresh%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/r8Kut9jyjP7nbK1u7LzI2xTAxlnwVfWICjPLCXq-qTI=422">
<span>
<strong>React Fast Refresh: Next-Gen Hot Reloading Explained (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
React Fast Refresh is an official Hot Module Replacement (HMR) solution that enables hot reloading while preserving application state. When you edit React components, Fast Refresh updates only the modified components and re-renders them while maintaining state in functional components and Hooks, though it falls back to full reloads for files that export non-React components or have syntax errors. The system works through a combination of Babel compile-time transformations that inject tracking code and a runtime system that registers components and Hook signatures.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">π§ </span></div>
</div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Opinions & Advice</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fshkspr.mobi%2Fblog%2F2025%2F09%2Fsome-thoughts-on-personal-git-hosting%2F%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/MP0XgiEgr7P6Vd5vQYIJf9IplWNYG3DkTasMNouEchU=422">
<span>
<strong>Some thoughts on personal git hosting (9 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
This dev experimented with hosting his personal Git projects on his own instance, using PikaPod to manage the server. He faced challenges moving away from GitHub, including network effects, difficulties with forking and discoverability, administrative overhead, and the loss of sponsorship opportunities. Despite these drawbacks, he plans to move smaller repos to his personal server while leaving popular ones on GitHub in order to try to decentralize his projects.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Falemtuzlak.hashnode.dev%2Five-tried-solidjs-now-im-starting-to-hate-react%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/9gHeLzLhLJdDowcy6y-vGxk5UfpTIb2cU2whqUUOW9o=422">
<span>
<strong>I've tried Solid.js, now I'm starting to hate React (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
This dev recently started using Solid.js and now prefers it over React. He found Solid.js's reactivity model initially challenging but ultimately more efficient as it prevents unnecessary re-renders. Solid.js also has closer alignment with web platform standards like HTML.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">π</span></div></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Launches & Tools</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fgo.clerk.com%2FCU5u7Pq%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/SLbnHr6_CS-lbBa5HrC6mxvuzPLbZSNFOum5-BS3I68=422">
<span>
<strong>How do you add Free Trials to your SaaS? (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Toggle it on. Clerk Billing does the rest. Introducing Free Trials in Clerk Billing. Stop gluing together trial logic, cancellation flows, and upgrade paths.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fgithub.com%2Fmmulet%2Fterm.everything%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/T1BGOxi4ONBIzYtoxyQi98JlItbEfTgk7ijv39cWLE4=422">
<span>
<strong>Term.everything (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Term.everything is a Linux CLI program that lets users run GUI applications within their terminal by using a custom-built Wayland compositor. It supports running applications over SSH and rendering windows at varying resolutions, with the quality depending on the terminal's row and column count.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fhaystackeditor.com%2F%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/pZa1tvUdoYHE6kR06asCwfgZ--EFz-re562dN9-Ghu8=422">
<span>
<strong>Haystack Editor (Website)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Haystack is a GitHub app that streamlines code reviews for faster and more confident merging. It provides a logical, contextual view of changes, eliminating the need to jump between files. Haystack also has variable tracking and caller identification for supported languages like Python, C++, and JavaScript.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.ripplejs.com%2F%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/UFO8CJpeqXbnZJD67BWA09Aq7f9r5V-QOQHm9kpt8r8=422">
<span>
<strong>Ripple (Website)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Ripple is a TypeScript UI framework aimed at synthesizing the best aspects of React, Solid, and Svelte into a single package. It has reactive state management, a component-based architecture using JSX-like syntax, and fine-grained rendering for optimal performance. Ripple provides full TypeScript integration, VSCode support, and uses native control flow statements within templates.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">π</span></div></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><strong><h1>Miscellaneous</h1></strong></div>
</div>
</td></tr></tbody></table>
<table bgcolor="" style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fmergify.com%2Fblog%2Fthe-origin-story-of-merge-queues%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/8tlEnXsOPz2rpYgNl0YoREdCOcmgiEV6Ja72qJglw54=422">
<span>
<strong>The Origin Story of Merge Queues (14 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Merge queues have evolved from niche solutions to an important part of software engineering today. They help address the challenge of maintaining a stable main branch with multiple developers integrating code. Early experiments like Rust's Bors and Homu automated the process of testing pull requests before merging, preventing integration issues. This concept gained popularity until it became a built-in feature in platforms like GitLab and GitHub.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fnolanlawson.com%2F2025%2F08%2F31%2Fwhy-do-browsers-throttle-javascript-timers%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/NSIkZXBa5MJQtfVWGgP7qEYZHqIcVpuHcFtzxcpnA7Y=422">
<span>
<strong>Why do browsers throttle JavaScript timers? (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
JavaScript's setTimeout(0) can actually run 4 milliseconds later. A lot of websites spam setTimeout, so browsers set the delay to avoid draining users' batteries or other issues. Developers could just use other alternatives. While these options can still be abused, they are permitted for now.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fgizmodo.com%2Fmicrosoft-goes-back-to-basic-open-sources-bill-gates-code-2000654010%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/GeGz6KQB6zQLfbGZ7e6-x1saJ6vUjfXIsL68FTIrXB4=422">
<span>
<strong>Microsoft Goes Back to BASIC, Open-Sources Bill Gates' Code (6 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Microsoft has open-sourced the original Microsoft BASIC for the 6502 Version 1.1, a foundational piece of software written by Bill Gates and Ric Weiland. This influential code has 6,955 lines of assembly language and powered early personal computers like the Commodore and Atari.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;"><span style="font-size: 36px;">β‘</span></div></div>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding-top: 0px; padding-bottom: 0px;">
<div class="text-block">
<div style="text-align: center;">
<h1><strong>Quick Links</strong></h1>
</div>
</div>
</td></tr></tbody></table>
<table bgcolor="" style="table-layout: fixed; width: 100%;" width="100%"><tbody><tr><td style="padding:0;border-collapse:collapse;border-spacing:0;margin:0;" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fblog.bytebytego.com%2Fp%2Fhow-doordash-uses-ai-models-to-understand%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/BApiEKqi1efmfTRaBCCcOAol0fgfQzmDYsAy_4RG7RA=422">
<span>
<strong>How DoorDash uses AI Models to Understand Restaurant Menus (11 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
DoorDash uses a system that combines OCR, LLMs, and a guardrail model to automate restaurant menu transcription from photos while routing complex cases to human reviewers.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fmahesh-hegde.github.io%2Fposts%2Fwhat_debugger_can%2F%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/pdMocxsfOC8Zv3TT9PtFpukp8hv6cVeqFwbKoxWrs9s=422">
<span>
<strong>Things you can do with a debugger but not with print debugging (3 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Debuggers offer advantages over print debugging by allowing developers to inspect the call stack, dynamically evaluate expressions, catch exceptions at the source, alter execution without code changes, and standardize project setup through debug configurations.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fblog.logrocket.com%2Fqwen-3-coder-agentic-cli%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/zeKDq0wFKLDt9j-TklaQs8SOIWqIcw2H1_Cd4Iutu5g=422">
<span>
<strong>Qwen3-Coder: Is this Agentic CLI smarter than senior devs? (7 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Qwen3-Coder, Alibaba's new 480-billion parameter coding AI model that functions as an "agentic CLI" tool, is capable of handling complex multi-step coding tasks, web browsing, and tool integration with a large 256K-1M token context window.
</span>
</span>
</div>
</td></tr></tbody></table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block">
<span>
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fzettelkasten.de%2Fposts%2Fthe-scam-called-you-dont-have-to-remember-anything%2F%3Futm_source=tldrwebdev/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/YJ7TYilXz04RcPmK2InhzhKtNNYq1Z9Pqw4sfZvQ5YY=422">
<span>
<strong>The Scam Called βYou Don't Have to Remember Anythingβ (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Relying on external tools like search engines and AI to avoid memorization makes critical thinking and knowledge acquisition harder in the long run.
</span>
</span>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" style="word-break: break-word; vertical-align: top; padding: 5px 10px;">
<p style="padding: 0; margin: 0; font-size: 22px; color: #000000; line-height: 1.6; font-weight: bold;">
Want to advertise in TLDR? π°
</p>
<div class="text-block" style="margin-top: 10px;">
If your company is interested in reaching an audience of web developers and engineering decision makers, you may want to <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fadvertise.tldr.tech%2F%3Futm_source=tldrwebdev%26utm_medium=newsletter%26utm_campaign=advertisecta/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/niirQeIGOEdah16hpbmkyLXTUpEdDmK5bEq2qLUMS-0=422"><strong><span>advertise with us</span></strong></a>.
</div>
<br>
<!-- New "Want to work at TLDR?" section -->
<p style="padding: 0; margin: 0; font-size: 22px; color: #000000; line-height: 1.6; font-weight: bold;">
Want to work at TLDR? πΌ
</p>
<div class="text-block" style="margin-top: 10px;">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fjobs.ashbyhq.com%2Ftldr.tech/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/b51dUzGfKzi36cCKiHU_unSYAmwreazf49AAJhmicUU=422" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>Apply here</strong></a> or send a friend's resume to <a href="mailto:jobs@tldr.tech" style="color: #0000EE; text-decoration: underline;">jobs@tldr.tech</a> and get $1k if we hire them!
</div>
<br>
<div class="text-block">
If you have any comments or feedback, just respond to this email!
<br>
<br> Thanks for reading,
<br>
<span>Priyam Mohanty</span>, <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.linkedin.com%2Fin%2Fxu-jenny%2F/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/YGKyf4cbWKmOalJ5LtocIPjCpxyPRq882GnxsNta8tQ=422"><span>Jenny Xu</span></a> & <span>Ceora Ford</span>
<br>
<br>
</div>
<br>
</td></tr></tbody></table>
<table align="center" bgcolor="" border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="container" style="padding: 15px 15px;">
<div class="text-block" id="testing-id">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Ftldr.tech%2Fwebdev%2Fmanage%3Femail=silk.theater.56%2540fwdnl.com/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/ujTnKBJ87upv_v7p0WbzXRGvtYvNGBS-NwJfGrzfHeI=422">Manage your subscriptions</a> to our other newsletters on tech, startups, and programming. Or if TLDR Web Dev isn't for you, please <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fa.tldrnewsletter.com%2Funsubscribe%3Fep=1%26l=e8d201ca-3e93-11ed-9a32-0241b9615763%26lc=156b9020-84b7-11f0-a976-55fc1d40139c%26p=30a1330a-8ee8-11f0-a3b2-25f760c2824f%26pt=campaign%26pv=4%26spa=1757588440%26t=1757588809%26s=09216d093b146c36384ad7cf7eaddeb5da7f6799b7ea1ddf6a0f22d953bfe266/1/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/wyX2xJtAnqEW0uOa88RNnClJ2hX9me7rMnv4-3tvT8Q=422">unsubscribe</a>.
<br>
</div>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
</td></tr></tbody></table>
<img alt="" src="http://tracking.tldrnewsletter.com/CI0/010001993874e7e4-1510b5dd-9f0b-4bd6-be47-97715c4f2499-000000/YmAqHs9eR6ZHWLscRq_egOLBASH5XSCbCmuCA-Qimak=422" style="display: none; width: 1px; height: 1px;">
</body></html>