<!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;">Zed has released a beta version of Claude Code integrated directly into the Zed editor via the new Agent Client Protocol (ACP) β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β </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/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/w6d0Rv_I7irH7xmkCzCfoSb8wCKKNHtmfcmuudtfUOs=421" 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/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/-u77ing7z3T46VF1D73rjRem2JSZ6WRQ72MgyIXfiio=421" 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=4251ff3c-894b-11f0-99c9-81099bb8a2b6%26pt=campaign%26t=1756984006%26s=4ccd4b104d0d05d37cc55b3d104516d71fd15a81056cfb783a865919584fae3b/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/zfety_T9eqcEvVUxtVKmmBA7-igTlFbG_iiq_qvK2dI=421"><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-04</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.joshwcomeau.com%2Fjavascript%2Fpromises%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/Go0cMqGB07OUybPHCPQtHdTlAmwR186SyVvEkUkK684=421"> <span> <strong>Promises From The Ground Up (8 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Promises in JavaScript aren't always intuitive to use, but they're required to be productive with JavaScript. Promises are needed because JavaScript is single-threaded, which can cause issues when blocking operations like window.prompt() are used. This post dives into the mechanics of Promises, their states (pending, fulfilled, and rejected), and how to work with them using the .then() and .catch() methods. It also covers creating custom Promises, chaining them together, passing data between them, and the modern async/await syntax for a more synchronous-like experience. </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.rubygems.org%2F2025%2F08%2F25%2Frubygems-security-response.html%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/yFySaZBmyFaTnzqImva2GPpeQPrqR6g7hb9GpWG1oHg=421"> <span> <strong>How RubyGems.org Protects Our Community's Critical OSS Infrastructure (4 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> RubyGems.org uses a multi-layered security approach including automated detection, risk scoring, and retroactive scanning to proactively identify malicious gems, successfully detecting 70-80% of threats before they're publicly reported. In a recent incident involving credential-stealing gems discovered by Socket.dev, the RubyGems security team had already flagged and removed nearly all malicious packages within days of detection in July. </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%2Fhemath.dev%2Fblog%2Fsay-bye-with-javascript-beacon%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/qudu0mUaquCmijJxLqHT4weWUs4y22vUyp4QipPyILA=421"> <span> <strong>Say bye with JavaScript Beacon (2 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> The JavaScript Beacon API provides a reliable way to send data to servers when users leave a website. This is unlike traditional methods like XMLHttpRequest or fetch in βbeforeunloadβ events, which often fail because browsers don't wait for JavaScript execution when navigating away. The Beacon API works as a "fire-and-forget" mechanism with a simple syntax (`navigator.sendBeacon()`), allowing the browser to send the request immediately without waiting for a response, though it's limited to small amounts of data and only supports POST requests. </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%2Fblog.sigplan.org%2F2025%2F03%2F31%2Fhow-to-give-a-good-talk%2F%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/TR8twlLgbpIyQl5Bvb57VuYs9PNSU3baxV21KNkQv24=421"> <span> <strong>How to Give a Good Talk (9 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Good talks should inform the audience about the work's value, educate them with portable insights, and entertain them to hold their attention. It's important to understand the audience's shared values and frame the work in terms of efficiency and correctness. </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%2Fobviouslywrong.substack.com%2Fp%2Fthe-bitter-lesson-is-misunderstood%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/bygnWAL1yjseD18VmUgr6npAN-6Ve2y-naoBS201n0Y=421"> <span> <strong>The Bitter Lesson is Misunderstood (14 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> The Bitter Lesson has been misinterpreted as prioritizing computation above all else. Scaling laws show that data is equally, if not more, crucial, as compute power is wasted without sufficient data. AI progress now depends on either finding ways to wring more value from existing data through improved model architectures or creating entirely new data through innovative "alchemical" methods like self-play. </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%2Fkarlgroves.com%2Fhow-much-should-you-spend-on-accessibility%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/3LpcpTUmoAuQq_1kfHH1BzBWdYnvExQkk29JeTb9zp0=421"> <span> <strong>How much should you spend on accessibility? (7 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Digital accessibility should be treated as a core compliance investment. Companies generally spend 3-10% of annual revenue on compliance overall, making accessibility investments range from 0.1-0.5% of total revenue for most organizations. The cost of non-compliance is nearly three times higher than compliance costs, making proactive accessibility investment both a legal necessity and a good opportunity to reach over 1 billion people with disabilities worldwide. </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%2Fwww.atlassian.com%2Fteams%2Fsoftware-development%2Fstate-of-developer-experience-2025%3Futm_source=tldr%26utm_medium=email%26utm_campaign=P:atlassian*O:clm*C:gated-pdf*H:fy26q1*I:tldr-webdev-sept4*%26utm_sfdc-campaign_id=701QB00000WfgP6YAJ/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/MmaOzESfoniO8kaxKj7gE1n9Xf3WZLcm437P398SGOY=421"> <span> <strong>Teams are adopting AI at breakneck speed - but inefficiencies are growing (Sponsor)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Atlassian asked 3,500 developers and managers about their day-to-day experience - from new tools to ongoing sources of frustration. The <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.atlassian.com%2Fteams%2Fsoftware-development%2Fstate-of-developer-experience-2025%3Futm_source=tldr%26utm_medium=email%26utm_campaign=P:atlassian*O:clm*C:gated-pdf*H:fy26q1*I:tldr-webdev-sept4*%26utm_sfdc-campaign_id=701QB00000WfgP6YAJ/2/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/ZyCU0njJWAZ2Q3Xx50YqiX4UwiLygjvv54BwjdoBwwQ=421" rel="noopener noreferrer nofollow" target="_blank"><span>State of Developer Experience 2025 report</span></a> looks at how developer teams are working with AI, where friction still exists - and how you can increase productivity, developer satisfaction, and long-term success. <p></p> <p>Find out:</p> <ul> <li>Why AI adoption is rising, but organizational inefficiencies are increasing</li> <li>The biggest productivity drains dev teams face and how to solve for them</li> <li>The <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.atlassian.com%2Fteams%2Fsoftware-development%2Fstate-of-developer-experience-2025%3Futm_source=tldr%26utm_medium=email%26utm_campaign=P:atlassian*O:clm*C:gated-pdf*H:fy26q1*I:tldr-webdev-sept4*%26utm_sfdc-campaign_id=701QB00000WfgP6YAJ/3/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/hEvl1yA3NU2r4ZsPgY67PGw6UtXZz9EpezU5LhDSjZE=421" rel="noopener noreferrer nofollow" target="_blank"><span>widening disconnect</span></a> between leadership expectations and developers' actual experience</li> <li>The future of DX and AI</li> </ul> <p><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.atlassian.com%2Fteams%2Fsoftware-development%2Fstate-of-developer-experience-2025%3Futm_source=tldr%26utm_medium=email%26utm_campaign=P:atlassian*O:clm*C:gated-pdf*H:fy26q1*I:tldr-webdev-sept4*%26utm_sfdc-campaign_id=701QB00000WfgP6YAJ/4/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/MJfMnxPWY3RDur4ELM35i5gR1DCeCs5NFKyCuffLU1I=421" rel="noopener noreferrer nofollow" target="_blank"><span>Download the report β¬οΈ</span></a> </p> </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%2Fzed.dev%2Fblog%2Fclaude-code-via-acp%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/oBLgoCZlNfoEupAit18JKeOziz5wTS0cnl7nxSKArJ0=421"> <span> <strong>Claude Code: Now in Beta in Zed (7 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Zed has released a beta version of Claude Code integrated directly into the Zed editor via the new Agent Client Protocol (ACP). This allows developers to use Claude Code's features like real-time code editing and custom workflows within the Zed environment. ACP is an open standard designed to allow any AI agent to connect with Zed and other compatible editors. </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%2Fagentscope-ai%2Fagentscope%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/BY8O252QGSv5HoDU_HFT7eGr1xz6nzR1hT2Gl2UuY80=421"> <span> <strong>Agentscope (GitHub Repo)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> AgentScope is a framework for building LLM apps with a focus on agent-oriented programming. It prioritizes transparency, real-time steering, agentic features like tool management and long-term memory, and model agnostic design. The framework offers modules for models, tools, MCP (Model Context Protocol), agents, tracing, memory, evaluation, and formatting, all highly customizable and modular. </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%2Fgruhn.github.io%2Fregex-utils%2Fequiv-checker.html%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/0rSQvUPtJOrQhGh6c4XeA2CRwGsvmq4z0dQ_XYPc_rM=421"> <span> <strong>RegExp Equivalence Checker (Website)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> This tool checks the equivalence of two JavaScript regular expressions (excluding global, local, unicode, backreferences, lookbehind, and word boundary syntax), showing if they match the exact same strings or providing example strings that demonstrate their differences. </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%2Fkitten.sh%2Fblog%2Fautolinkings-broken-promise%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/Fs7lSYlJeJKsPKMDrHUU4xRy90Mc9N1dJJNDCcbnD6k=421"> <span> <strong>Autolinking's broken promise (23 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Dependency management is complex in Expo and React Native apps, partly due to the "broken promise" of autolinking to simplify native module dependencies. Expo SDK 54 has several fixes, including direct Metro dependencies, removing implicit dependencies, consistent autolinking, and a CLI fallback resolver, to address these challenges and support various package managers and monorepos. The updated autolinking system now discovers transitive dependencies, allowing `expo-doctor` to proactively report duplicate modules and potential conflicts for developers to resolve. </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%2Fpublichealthpolicyjournal.com%2Fmit-study-finds-artificial-intelligence-use-reprograms-the-brain-leading-to-cognitive-decline%2F%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/RNsKyfuRYdFIhaIb4uMYM_UK6ULfZg-Rg1mmv8A9XHk=421"> <span> <strong>MIT Study Finds Artificial Intelligence Use Reprograms the Brain, Leading to Cognitive Decline (5 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> A recent MIT study investigated the cognitive effects of using ChatGPT for essay writing. The study found that students who relied on ChatGPT experienced weakened brain connectivity, impaired memory recall, and a diminished sense of authorship. EEG scans revealed decreased neural activity, especially in areas related to attention and visual processing. </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.tomayac.com%2F2025%2F09%2F03%2Ffor-all-thats-holy-can-you-just-leverage-the-web-please%2F%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/00k9Q2Nfqif7E6ixcvunSACIK9SNFqnqdEu78GPTXzA=421"> <span> <strong>For all that's holy, can you just leverage the Web, please? (6 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> This dev went through a convoluted and frustrating offline customer service process for registering a washing machine warranty, contrasting it with the efficient and modern online option of uploading a photo for AI-powered product number extraction. </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%2Fcloud.google.com%2Fblog%2Fproducts%2Fai-machine-learning%2Freal-world-gen-ai-use-cases-with-technical-blueprints%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/3Xs_tiKCnlbf1duQSPJovkOwDVRAHRr-rBdLM9gZebQ=421"> <span> <strong>101 real-world gen AI use cases with technical blueprints (8 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Google Cloud shows 101 architectural blueprints with corresponding tech stacks to help developers and business leaders implement generative AI across 10 major industries. </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%2Fedwardtufte.github.io%2Ftufte-css%2F%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/DxZnsYWhzYVx9dMkeG85HQ7p_Sgydf5zDDhpNCGIppo=421"> <span> <strong>Tufte CSS (12 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Tufte CSS provides a CSS framework to style web articles with a focus on simplicity, sidenotes, tight integration of graphics, and careful typography. </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.matt-rickard.com%2Fp%2Fusing-claude-code-from-anywhere%3Futm_source=tldrwebdev/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/ud48b9zyDMNyOCpfCV-qk09-xORpy5PLVhBxNSZMP6o=421"> <span> <strong>Using Claude Code from Anywhere (3 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Web-based workflows exist that solve the limitations of current methods for using Claude Code by providing on-demand, ephemeral sandboxes, live interactive sessions, and automated chat management with persistence. </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/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/jMzFnj2tP6ftPqbcn8PzB7vzHelvGbFEYODgvnNrE-k=421"><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/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/qoJDHkJNLjBcFcK8i-HDaF7vTHy5YcTGKeOwZMtAg88=421" 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/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/jQ_tbVr1W9YdVLn1NKZVLO2csrZrRV8ECNnZJOPZTlU=421"><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/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/dMgaOdYZ4hKP07n0uWspWHoGUbyEwyx8elfRouS-BUI=421">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=4251ff3c-894b-11f0-99c9-81099bb8a2b6%26pt=campaign%26pv=4%26spa=1756983640%26t=1756984006%26s=d9b5a762b6a7ec440284644f0fd2c0fef670b4ff4d5d27799b56d66d53e93d60/1/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/w9_jJPP7qQr_gydGwVVvjMrENhGDNhRe2jwvOk8DQx4=421">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/01000199146857de-9bfe2ba5-6e4a-4704-a1ef-1da54b9c03cc-000000/mXfLWOcKlHJXZUoAWDQPgWzGnvEkgSIUfVz32C8WzgU=421" style="display: none; width: 1px; height: 1px;"> </body></html>