<!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 Dev</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 prepared for BFCM from March to October by running bimonthly "fire drills" that simulated 150% of the previous year's peak traffic </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%2Fdev%3Futm_source=tldrdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/5tKvI4FJDiziifkRnyrdx4yiBs61HbxQOkIuuC_OqUQ=432" 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=tldrdev%26utm_medium=newsletter%26utm_campaign=advertisetopnav/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/MYIbPJUZ5rDbG5GCpGu7pzJDxiaM8kTfNEMduuOh-Cg=432" 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=218461de-c90e-11f0-879a-63b81888de10%26pt=campaign%26t=1763986079%26s=e4a3b65f6770d2476e557f20fbc09cb247ae9422cd4c5f6848c5fe5109a93a91/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/0mA21IWXl9AVXf1lT5drfAlbV92Un7s0FPjSUdXC0MU=432"><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 Dev <span id="date">2025-11-24</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%2Fwww.makingsoftware.com%2Fchapters%2Fshaders%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/wwcKX0nAzV5Z6nYpoDFZ-5m3peCC6UTE6sYWhdPTQ7c=432">
<span>
<strong>Shaders (29 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Shaders are small programs that run in parallel, using mathematical calculations and knowledge of x and y coordinates to create high-fidelity graphics. The graphics pipeline consists of vertex shading, rasterization, and fragment shading, each playing a specific role in determining the final color of each pixel. Various APIs like OpenGL, DirectX, Metal, and CUDA facilitate interaction with the GPU for both graphics rendering and general-purpose computing tasks.
</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%2Fsjer.red%2Fblog%2F2024-12-21%2F%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/7udWoj5STFP9UyXUKKj1WinSbVYnoWNXqcWAqP3HkwA=432">
<span>
<strong>TIL: `satisfies` is my favorite TypeScript keyword (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
The `satisfies` keyword in TypeScript acts as a type-safe cast, making sure an assignment is assignable to a provided type while allowing TypeScript to infer a more specific type based on the value. It's different from explicit variable type annotations, as it's best when specific type enforcement and value-based type inference are needed.
</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%2Fhowtotestfrontend.com%2Fresources%2Freact-act-function-everything-you-need-to-know%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/_mdnuEfOESy0p-05mZCQuNfNZAS9LQtyej9YWcfDcIQ=432">
<span>
<strong>Absolutely everything you need to know about act() in React tests (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
The `act()` function in React tests makes sure that all state changes and side effects are fully processed before assertions run, preventing tests from checking against outdated state values. While React Testing Library functions like `userEvent` and `findBy...` automatically wrap their operations in `act()`, you'll need to manually use it when testing hooks with state changes, directly calling DOM methods like `button.click()`, or manually dispatching events.
</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%2Fbirchtree.me%2Fblog%2Fare-consumers-just-tech-debt-to-microsoft%2F%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/w7TQlo3ROdDGQj7oZ4Sx79iXBUjwnfxoj5q5Ac_DK_s=432">
<span>
<strong>Are consumers just tech debt to Microsoft? (3 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
There's a potential shift in Windows market share among consumer computers. Microsoft's focus has shifted away from consumers towards AI and corporate clients, leading to a lack of excitement around Windows. The rumored affordable MacBook and Valve's Steam Machine are potential disruptors that could attract consumers and gamers away from Windows.
</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%2Fnewsletter.bphogan.com%2Farchive%2Fissue-45-markdown-is-holding-you-back%2F%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/uzJn1xGI4YMOKcjPyFEeZRhObPwf9gQKxAKfm3I2Z_k=432">
<span>
<strong>Markdown is Holding You Back (11 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Markdown has limitations for technical content due to its lack of structure and semantic markup. While Markdown is easy to use, its implicit typing and inconsistent flavors make content reuse, machine consumption, and scalability harder. Alternatives like reStructuredText, AsciiDoc, DocBook, and DITA have improved content structure and transformation capabilities.
</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%2Fwebtechnology.news%2Fwhen-everyones-a-developer-how-do-we-promote-the-web-platform-over-react%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/pgs5uHza0-xtyvNyU3Kz1pGa8M8rKLJubi7NRLto7pY=432">
<span>
<strong>When Everyone's a Developer, How Do We Promote the Web Platform Over React? (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
AI code generation tools are undermining web platform adoption by defaulting to React/Next.js solutions, especially as "vibe coders" (non-programmers using AI to create apps) increasingly rely on these tools without understanding native web capabilities. This trend is creating worse web experiences, and some solutions include teaching people to prompt for vanilla web solutions, creating open datasets of framework-free code, and spotlighting projects that use modern web features without heavy frameworks.
</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%2Fgithub.com%2Farpxspace%2Fsmartcommit%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/7fnA9nKxT_UiQ2gh0K_mrDhZ38fMZ00rI5c2Yh3rQoU=432">
<span>
<strong>Smartcommit (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Smartcommit is an AI-powered CLI tool for creating semantic, Conventional Commits messages. It analyzes staged changes, asks clarifying questions about the code's intent, and then generates a structured commit message.
</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%2Fmutativejs%2Ftravels%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/i95MrzK3DcUCHwkHN7vag8PoIypAa5awS0ypS6Py8Lg=432">
<span>
<strong>Travels (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Travels is a fast, framework-agnostic undo/redo library that uses JSON patches to store only the differences between states. It is more memory-efficient than traditional snapshot-based systems. Travels uses Mutative for fast immutable updates and integrates with popular frameworks like React, Vue, and Zustand. It has a mutable mode for reactive states, an archive mode for controlling when changes are saved, and a maxHistory option to limit memory usage.
</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%2Funhappychoice%2Fgitlogue%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/lb3tcwmmiZFiBFRrizWww0GPY9azBCJmLqW-lGM42O0=432">
<span>
<strong>Gitlogue (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Gitlogue is a command-line tool that visually replays Git commit history with animated typing, syntax highlighting, and file tree transitions. It can be used as a screensaver, for educational purposes, presentations, or to create coding demos.
</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%2Fshopify.engineering%2Fbfcm-readiness-2025%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/z4Fg40C2CZTi8MFTicvHmRjopn4HaBc3l8V7PH09oI4=432">
<span>
<strong>How we prepare Shopify for BFCM (2025) (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Shopify prepared for Black Friday Cyber Monday (BFCM) from March to October by running bimonthly "fire drills" that simulated 150% of the previous year's peak traffic, conducting chaos engineering exercises called "Game Days," and systematically identifying and fixing infrastructure bottlenecks. Its preparation included capacity planning across multiple cloud regions, load testing with its tool, "Genghis," and creating a "Resiliency Matrix" to document vulnerabilities and response procedures.
</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%2Fthenewstack.io%2Fis-ai-creating-a-new-code-review-bottleneck-for-senior-engineers%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/GShzetHOfy7v3NdJuGr3Cka3-Hhd_nNa2Yxo9Mj0r9c=432">
<span>
<strong>Is AI Creating a New Code Review Bottleneck for Senior Engineers? (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
The increasing use of AI for code generation is creating a bottleneck in code review. Senior engineers are struggling to keep up. While AI can quickly produce code, integrating it with existing systems, ensuring security, and handling edge cases is still challenging.
</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%2Fgithub.com%2Fcoder%2Fmux%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/ufF5cDrbE-nFaV7qj8QmTQhBnod5CdFMUdD-wrLvmm4=432">
<span>
<strong>Mux (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Mux is a desktop application for parallel agentic development.
</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%2Fsupermaven.com%2Fblog%2Fsunsetting-supermaven%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/QT7PDmDqhU27pLLlMAarfixDV2yPe1u_x8wsjrCGNHA=432">
<span>
<strong>Sunsetting Supermaven (1 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Supermaven, acquired a year ago, is being sunsetted with refunds issued and free autocomplete inference provided for existing Neovim and JetBrains users.
</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.modelcontextprotocol.io%2Fposts%2F2025-11-21-mcp-apps%2F%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/alLQpG4xK2ksbyRiHA08RYoGi44aIIsB3Kry0p9KpAY=432">
<span>
<strong>MCP Apps: Extending servers with interactive user interfaces (5 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
The MCP Apps Extension is being proposed to standardize interactive user interfaces for MCP servers, allowing them to deliver rich UI experiences to hosts and enabling bidirectional communication.
</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%2Flethain.com%2Fgood-eng-mgmt-is-a-fad%2F%3Futm_source=tldrwebdev/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/a0lNY-FQ9tkwn8N_EiRalyTPd9801KaQUqPG0JXJxzk=432">
<span>
<strong>"Good engineering management" is a fad (12 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Engineering management trends are fleeting fads driven by business realities rather than moral imperatives.
</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;">
Love TLDR? Tell your friends and get rewards!
</p>
</td></tr>
<tr><td class="container" style="padding: 0px 10px 15px;">
<div class="text-block">
Share your referral link below with friends to get free TLDR swag!
</div>
</td></tr>
<tr><td align="left" style="padding: 10px;">
<div class="text-block">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Frefer.tldr.tech%2F8770c80a%2F3/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/TQa8HWGQWnETaD7JsrvNjAdKSnGcOBTfC9Fm5H6W8VA=432" style="color: #464ba4; text-decoration: underline;">https://refer.tldr.tech/8770c80a/3</a>
</div>
</td></tr>
<tr></tr>
<tr><td align="left" style="padding:5px 10px;">
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fhub.sparklp.co%2Fsub_7383e7653c81%2F3/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/FiE1npDJ_pv1OfVHpyYrfNPva9OKyeiAtcm9aLeaOJE=432" style="font-size: 16px; line-height: 1.6; padding: 10px 0; display: inline-block; text-decoration: underline;"><span style="mso-text-raise:13pt; text-decoration: underline;">Track your referrals here.</span></a>
</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=tldrdev%26utm_medium=newsletter%26utm_campaign=advertisecta/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/0E8BW2zje_UbxjkPDVkrl1Qck-imbDtrWbaX7lo8Xcg=432"><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/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/YIqcNTO0SIkdycUzuUHgWsHw72MCRfzFdE0LcJ3D3AY=432" 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/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/SCXCKocl9NujZeA4CRAtIqOUBSuR4lAA8d3y2KrQBDo=432"><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%2Fdev%2Fmanage%3Femail=silk.theater.56%2540fwdnl.com/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/Txjsn7qD-UuH_PVqH6lKLvUwxRD_Aw3gASM6pqppC30=432">Manage your subscriptions</a> to our other newsletters on tech, startups, and programming. Or if TLDR 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=218461de-c90e-11f0-879a-63b81888de10%26pt=campaign%26pv=4%26spa=1763985663%26t=1763986079%26s=3a0ed0b8965a93383f164375296a5391f9237b1c7fcbb7619b13e9c5a339ef64/1/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/PpDBH8xW2KteDZPI9P8R-DdGfx7UQMahGNez8uLKRNM=432">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/0100019ab5c380b8-86f8c2f2-698a-44c4-a7e2-7715864843ab-000000/rVv8k-JL8Ny2p5EPiGwfJsIJKhqLh5yOeN2AT88whSM=432" style="display: none; width: 1px; height: 1px;">
</body></html>