<!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;">While automated tests are necessary for maintaining confidence when making code changes, they should be deleted when they are flaky </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/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/Ppx5mnBnDXCdmjFnhk8WfV0zRwDIGXlOUHh6qFL9l0s=420" 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/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/9boOD4SchHxZ__TjtJ5Qn42ji1Lev4gCRmVJ9MDyzzA=420" 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=c83cee48-871d-11f0-ad93-f1b0e750f838%26pt=campaign%26t=1756726226%26s=62e60bc0f5dd14787349d4e151135a4db370be5f75f14ed33ee9a41ae1b482af/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/_Ks-NIRf8MnDmbr6X6TBM7E1pGmDxf7_zmmmt1rcg4s=420"><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-01</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%2Fnewsletter.scalablethread.com%2Fp%2Fwhy-what-happened-first-is-one-of%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/9mNglRB6VX0MqcbuHqiksLnFpcloJWyo-RKbmwrIqHQ=420"> <span> <strong>Why "What Happened First?" Is One of the Hardest Questions in Large-Scale Systems (5 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Determining the precise order of events in large-scale distributed systems is challenging due to imperfect clock synchronization across computers. Network latency and clock drift make it impossible to rely on wall-clock time for accurate ordering. Instead, computer scientists use logical clocks to track the "happened-before" relationship between events, which assign increasing counters to events and messages, making sure that if event A caused event B, A's logical timestamp will be lower than B's. </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%2Fpoor.dev%2Fblog%2Fbuilding-zellij-web-terminal%2F%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/pnaySmLwdi-aSXmOa1VmZIb3G3ff-M0PVjdzH2D-830=420"> <span> <strong>Terminal sessions you can bookmark: Building Zellij's web client (13 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Zellij's new built-in web client allows users to access terminal sessions from a browser. The web client uses a client/server architecture, with a Rust-based web server acting as a translation layer between the browser's websockets and the Zellij server's IPC channels. The web server supports unique URLs for each session, authentication using tokens, and separate WebSocket channels for terminal data and control messages. The client-side uses xterm.js for terminal emulation and incorporates custom integrations for features like mouse tracking and window titles. </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%2Fandre.arko.net%2F2025%2F06%2F30%2Fyou-should-delete-tests%2F%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/QDuTEj5tedGHnkB_epDWSeJ6u9i7ASvyr8B0pgzXtDw=420"> <span> <strong>You should delete tests (5 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> While automated tests are necessary for maintaining confidence when making code changes, they should be deleted when they are flaky. Tests that are flaky, too strict, too slow to run regularly, or outdated due to changed business requirements all harm developer productivity. </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%2Fzakirullin%2Fcognitive-load%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/iiyOM4vLznk36bHaECPBxIgpiZyfHLrnLoazG5rJav0=420"> <span> <strong>Cognitive load is what matters (18 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Cognitive load refers to the mental effort required to understand and work with code. Excessive cognitive load can lead to confusion, errors, and delays. Developers should work on reducing extraneous cognitive load while working on code by avoiding overly complex conditionals, minimizing inheritance, and using clear, self-describing variable names. </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%2Fspecbranch.com%2Fposts%2Fone-big-server%2F%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/zjdUGkBU88RTMsTtc0PLuOLhFsznflHP96ugWr3djCQ=420"> <span> <strong>Use One Big Server (15 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> The conventional wisdom of scaling horizontally with distributed systems and microservices is not always true. Sometimes, using a single, powerful server is enough for most web services. </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%2Fzed-industries%2Fagent-client-protocol%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/sO3YUKnqMTholG7wAKElzAIewcKLxhoNCjuClkp7a4E=420"> <span> <strong>Agent Client Protocol (GitHub Repo)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> The Agent Client Protocol standardizes communication between code editors and AI coding agents. The project provides libraries and schemas in Rust and TypeScript, along with a JSON schema. </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%2Flinks.tldrnewsletter.com%2Fl0Jg9K/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/_D3awyfEABU7Z2VjKSekb60NiS6I61z8tcCrQuEbJtI=420"> <span> <strong>Sosumi.ai (Website)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Sosumi.ai is a service that converts Apple Developer documentation into AI-readable Markdown format, allowing LLMs to access and utilize this information for tasks like generating Swift code. </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%2Fnatesnewsletter.substack.com%2Fp%2Fthe-default-trap-why-anthropics-data%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/aZb3sVQq2__HAQkrT_3AvCVEZm-HivZBrPrw5Ph5Lzo=420"> <span> <strong>The Default Trap: Why Anthropic's Data Policy Change Matters (6 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Anthropic's recent policy change is that Claude user conversations are now used for training data by default unless users opt out. Users should stay informed and intentional about their data sharing. </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.fastly.com%2Fblog%2Fsenior-developers-ship-more-ai-code%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/IRdrPmQ2aBUyPW97ZZWS6lkvVINK0U4oqLeZ-TmCXj0=420"> <span> <strong>Vibe Shift? Senior Developers Ship nearly 2.5x more AI Code than Junior Counterparts (6 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> A survey found that senior developers ship much more AI-generated code than junior developers. Senior developers also reported spending more time fixing AI code, but overall, they find that AI tools help them ship faster. </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%2Fhugotunius.se%2F2025%2F08%2F31%2Fwhat-every-argument-about-sideloading-gets-wrong.html%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/Joj54mDj2Lon5Z66sDHx5QkQK-_QReae6hkgtJUcOJg=420"> <span> <strong>What Every Argument About Sideloading Gets Wrong (3 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> There's an ongoing debate about sideloading in the context of Google's recent Android restrictions. Restrictions on sideloading are not about controlling hardware usage, but about controlling the software (operating system) provided with the hardware. The core issue should be the ability to install alternative operating systems on hardware, with manufacturers providing adequate support. </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%2Fnibblestew.blogspot.com%2F2025%2F08%2Fwe-need-to-seriously-think-about-what.html%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/rGpnXC56U1iYVt1wUQCmofb2mUS9tajg_wDxxtCs8No=420"> <span> <strong>We need to seriously think about what to do with C++ modules (13 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> C++ modules should be removed from the standard if they cannot demonstrate a large (5-10x) compilation time speedup across multiple open-source projects, as the current implementation is overly complex, lacks a clear product owner, and doesn't provide enough benefit to outweigh the disadvantages for the average developer. </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.sigplan.org%2F2025%2F08%2F29%2Fai-models-need-a-virtual-machine%2F%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/9maTfOKk2tZGytvNlqI5B9Fb5DLIEI9zNxjPMStf2e4=420"> <span> <strong>AI Models Need a Virtual Machine (14 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> A standardized virtual machine for AI models is useful to improve security, interoperability, and management by decoupling model logic from integration logic, similar to the Java Virtual Machine. </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.davepagurek.com%2Fblog%2Fminimal-phone%2F%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/YKz1qvmNqWYln6xeXACwKUVb03wN2Bo0fI4N02XwB78=420"> <span> <strong>My phone is an ereader now (16 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> The Minimal Phone is an Android phone with an e-paper display and a physical keyboard. </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%2Fshkspr.mobi%2Fblog%2F2025%2F08%2Fis-it-possible-to-allow-sideloading-and-keep-users-safe%2F%3Futm_source=tldrwebdev/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/gvYV2Uozlnh1Yn1AR1g56Q2Gr2lD1lafVmrrB5c5aFc=420"> <span> <strong>Is it possible to allow sideloading *and* keep users safe? (20 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> There's a dilemma of balancing user freedom to sideload Android apps with the need to protect vulnerable users from scams, which makes the sideloading discussion with Android difficult. </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/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/HHI5dFyPorfLjevZz2dsA0HTcXF0CrdBXKKsBxZSeG0=420"><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/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/6L6WcUujlDWz4IhtRatqumMu8JPPjNAemC4bD_tIzws=420" 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/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/VVn3f5OXHSVmaQJPjyaJ_G3SY1WPFUgJabXzWJynnZ0=420"><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/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/rsX5QL0oMWz6ivfW-FdnIlfIA3533q6vuIIeOEMuxT4=420">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=c83cee48-871d-11f0-ad93-f1b0e750f838%26pt=campaign%26pv=4%26spa=1756724458%26t=1756726226%26s=1ebd92c2974125bed0dedd74717c80f34755a9b2cdb951f3e8a0df9866971384/1/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/4_Iv3HlH6e4hoZ6ATZ6rpRF1KP9S04K4yFjb4lQm7A8=420">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/01000199050aedad-8682b7a9-5c24-4684-b2b4-5f0e04214ed0-000000/2Fc8o6kO3_Z61N1iW9XbujUTJzO-4f28WHpS5As-mb8=420" style="display: none; width: 1px; height: 1px;"> </body></html>