<!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;">Google's stock increased 8% after a federal judge issued a ruling in its antitrust case that Google would not be forced to sell Chrome β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β </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/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/khrxP-pe6wRQk8AzTdIhydshoaNg8_tuTVqhHgGbDOg=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/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/XHD5eBYy18pEW4y16VL7Pkiu8yMAsLL-9KbGhQQjFpg=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=81d64e9e-8895-11f0-91c5-7544a5a1abca%26pt=campaign%26t=1756897668%26s=a5ab4e9ec6a0181b220dc3b210137276ac856946c51bd45dcbea47b03a5ec3db/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/p935lIfcL-x3doSTWqbev2-Lb-sKGBIKMgSAjiA0Q7Q=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><tr id="together-with"><td align="center" height="20" style="vertical-align:middle !important;" valign="middle" width="100%"><strong style="vertical-align:middle !important; height: 100%;">Together With </strong> <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fsentry.io%2Fproduct%2Flogs%2F%3Futm_source=tldr%26utm_medium=paid-community%26utm_campaign=logs-fy26q3-logslaunch%26utm_content=newsletter-logs-ga-launch-trysentry%23faster-debugging/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/0HyM6l25WfUmfywh5-ABnsdW7XGHWYIlT0NcDzLge48=421"><img src="https://images.tldr.tech/sentry50.png" valign="middle" style="vertical-align: middle !important; height: 100%;" alt="Sentry"></a></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;"> <div style="text-align: center;"> <h1><strong> TLDR Web Dev <span id="date">2025-09-03</span></strong></h1> </div> </td></tr></tbody></table> <table style="table-layout: fixed; width:100%;" width="100%"><tbody><tr id="sponsy-copy"><td class="container" style="padding: 15px 15px;"> <div class="text-block"> <span> <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fsentry.io%2Fproduct%2Flogs%2F%3Futm_source=tldr%26utm_medium=paid-community%26utm_campaign=logs-fy26q3-logslaunch%26utm_content=newsletter-logs-ga-launch-trysentry%23faster-debugging/2/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/w0QhFGKYSvlMlV2islnNFMZwdN1eFI-YZ0TwkHAcQ3Q=421"> <span> <strong>Structured Logs + Application Context = Faster Debugging (Sponsor)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Debugging a failed API call means jumping between your error tracker, log aggregator, and APM tool to piece together what happened. <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fsentry.io%2Fproduct%2Flogs%2F%3Futm_source=tldr%26utm_medium=paid-community%26utm_campaign=logs-fy26q3-logslaunch%26utm_content=newsletter-logs-ga-launch-trysentry/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/5ArG4uvoEfMkwfnw96oqtI4ryNNOxdqUCgSVHPOZrtI=421" rel="noopener noreferrer nofollow" target="_blank"><span>Sentry Logs</span></a> eliminates the context switching by bringing logs directly into the same view as your errors and traces. <p></p> <p>π§ See the retry loops and API timeouts that led to that 500 error.</p> <p>π¨βπ» View <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fsentry.io%2Fproduct%2Flogs%2F%3Futm_source=tldr%26utm_medium=paid-community%26utm_campaign=logs-fy26q3-logslaunch%26utm_content=newsletter-logs-ga-launch-trysentry/2/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/97WOFoPKQdc7rJK-yypST0vtMBf8THbPgOhaA5ll_wU=421" rel="noopener noreferrer nofollow" target="_blank"><span>structured logs</span></a> filtered by <em>customer_id</em> or <em>payment_id</em> right alongside stack traces.</p> <p>β‘οΈ Connect logs to distributed traces to understand slowness across services.</p> <p>πͺ Do it all without leaving Sentry!</p> <p><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fsentry.io%2Fproduct%2Flogs%2F%3Futm_source=tldr%26utm_medium=paid-community%26utm_campaign=logs-fy26q3-logslaunch%26utm_content=newsletter-logs-ga-launch-trysentry/3/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/Iyfa2cyiJ8VmRDSAq_jGs3P15rY9NdOBM6TU7mlfLIw=421" rel="noopener noreferrer nofollow" target="_blank"><span>Try Sentry Logs β</span></a> </p> </span></span></div> </td></tr></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%2Fcsswizardry.com%2F2025%2F07%2Fthe-fastest-site-in-the-tour-de-france%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/8-hXRTaJqzNZUrj-nuQcv-M2Od-albBapC-lf0WRkFw=421"> <span> <strong>The Fastest Site in the Tour de France (29 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> An analysis of the web performance of bike manufacturer websites participating in the 2025 Tour de France was done using a proprietary CrRRUX score based on Core Web Vitals. Merida, Factor, and Giant were the fastest, while Ridley, Orbea, and Trek ranked the slowest, showing a disconnect between brand prestige and website speed. The analysis also went into the technical aspects of each site, highlighting issues like render-blocking resources, client-side rendering, and unoptimized images. </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%2Fprotect-ai-agent-from-prompt-injection%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/E1CyfYM_QFlyrbCFdPPiNpxbm6QlHXndovoH4oxbKUc=421"> <span> <strong>How to protect your AI agent from prompt injection attacks (8 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Prompt injection attacks are a new class of security vulnerabilities that exploit LLMs by manipulating their natural language processing abilities, similar to SQL injection attacks. There are six design patterns proposed by researchers to protect AI agents from these attacks, each with different "guardian" components that act as security checkpoints at various stages of the AI pipeline. These patterns include Action-Selector (using predefined safe actions), Plan-Then-Execute (creating fixed plans before processing untrusted data), LLM Map-Reduce (isolating data processing), Dual LLM (separating privileged and quarantined models), Code-Then-Execute (sandboxed execution), and Context-Minimization (removing potentially malicious inputs from memory). </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%2Fjyn.dev%2Fthe-core-of-rust%2F%3Fck_subscriber_id=2641246736%26utm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/TzczBgz-PvODckQoDTQxlYyDHGNQXU_vZn8fuOU1ROg=421"> <span> <strong>The core of Rust (7 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Rust has a strong, coherent vision at its core, built around interwoven concepts like pattern matching, generics, traits, and the borrow checker that all work together by design. While this makes Rust difficult to learn initially, it also makes the language powerful once one grasps how these features complement each other. This is different than languages like JavaScript, where you can accomplish tasks without understanding the entire language. </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%2Fwww.sanity.io%2Fblog%2Ffirst-attempt-will-be-95-garbage%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/dIVUBgZCW7Np4sdpzIe5qVvBe7Ut5bmSyLGu13jOLiI=421"> <span> <strong>First attempt will be 95% garbage: A staff engineer's 6-week journey with Claude Code (8 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> A staff engineer goes over their six-week journey using Claude Code, revealing a messy integration process into production development. The AI initially produces mostly garbage code, but with iterative refinements and contextual data, it becomes a workable starting point. By managing multiple AI instances like a team of developers with limited memory and focusing on architecture and review, the engineer ships features 2-3x faster with a large ROI. </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.otherbranch.com%2Fshared%2Fblog%2Fno-you-dont-want-to-hire-the-best-engineers%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/upbXdlzODnGdhzAZD6e3dwHjYCVFkk6lQABkqXqmKeo=421"> <span> <strong>No, you don't want to hire "the best engineers" (5 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> The pursuit of hiring "the best engineers" is often unnecessary, and even hurtful, for startups. Demanding the absolute top talent creates unrealistic expectations that lead to lengthy, unproductive searches. Companies should instead focus on identifying great engineers and be willing to compromise on certain criteria to secure valuable hires sooner. </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.meca.sh%2F3lxoty3shjc2z%3Fauth_completed=true%26utm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/WiMyjsIXqjWElsbwmutwnnmOHOVCuDgqx4CHpJjZ9Is=421"> <span> <strong>Next.js Is Infuriating (11 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> This dev was frustrated with Next.js, particularly concerning production-ready logging. In this post, he goes over the difficulties he had while trying to implement logging using middleware and AsyncLocalStorage, as there are limitations in Next.js's middleware system. He had to create an elaborate workaround involving passing data through headers to achieve logging in pages and layouts, which he finds unnecessarily complex. </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%2FLukeGus%2FTermix%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/jgViIvqWg8EWqvy6YVVx2nBOiSFfwXAgCFx7vesrATk=421"> <span> <strong>Termix (GitHub Repo)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Termix is an open-source, self-hosted server management platform with a web-based interface for managing servers and infrastructure. It provides features like SSH terminal access, SSH tunneling, remote file editing, and server stats monitoring. The platform supports user authentication with admin controls, OIDC, and 2FA. </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%2Fcornerstonejs%2Fcornerstone3D%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/gU_LEo0J8CzJtKP2SV2WFfVuK57OZXqC8HdrGORNXbM=421"> <span> <strong>Cornerstone 3D (GitHub Repo)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Cornerstone is a set of JavaScript libraries designed for building web-based medical imaging applications, including radiology tools like the OHIF Viewer. It uses WebGL for high-performance rendering and WebAssembly for fast decompression. </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%2Fwww.cnbc.com%2F2025%2F09%2F02%2Fgoogle-antitrust-search-ruling.html%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/ArhaTCGfrNwiXd8j8YH-Cbnae31w269czfhJ_MnBVYA=421"> <span> <strong>Google stock jumps 8% after search giant avoids worst-case penalties in antitrust case (4 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Google's stock increased 8% after a federal judge issued a ruling in its antitrust case. The judge decided Google would not be forced to sell Chrome or its Android operating system. However, Google will be barred from exclusive contracts but can still pay for preloaded products. The company must also make certain search index and user interaction data available. </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%2Fengineering.monday.com%2Fwe-fired-our-prompts-and-hired-an-agent-to-build-our-forms%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/ajfqJwSKJEAJAK7DjGXb34CoBJBPJ1rZ9WB3hMW5CN4=421"> <span> <strong>We fired our prompts β and hired an agent to build our forms (6 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Monday.com initially used a prompt-to-form feature that translated natural language into structured forms using a single LLM call, but this approach ended up being brittle and lacked the ability to iterate on forms. To address this, they developed an AI agent that combines an LLM with memory, structured tools, and a controlled execution flow for collaborative and iterative form building. The agent uses specific tools, mimicking human actions, and allows users to modify and refine forms through natural language prompts. </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%2Fwww.anthropic.com%2Fnews%2Fanthropic-raises-series-f-at-usd183b-post-money-valuation%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/ickFR3z5UxKVEUDC1F0YmZl4Ia3qOA8ILujI0XRulXk=421"> <span> <strong>Anthropic raises $13B Series F at $183B post-money valuation (3 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Anthropic has secured $13 billion in Series F funding, led by ICONIQ, at a post-money valuation of $183 billion, with its run-rate revenue being over $5 billion (with over 300,000 business customers). </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%2Fmartinfowler.com%2Farticles%2Fconvo-llm-abstractions.html%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/M8HCO6e04GXxqiYscl-zIX36pnltz4Tt6XH6-3SfDOs=421"> <span> <strong>Conversation: LLMs and Building Abstractions (16 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Successful use of LLMs requires a shared domain vocabulary developed through collaboration between domain experts and technical experts. </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%2Ftonybaloney.github.io%2Fposts%2Fwhy-isnt-python-async-more-popular.html%3Futm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/V_omOVeZDZnysgDlHi_3f6ymAvqTAO9v2_8usgiF_aY=421"> <span> <strong>Python has had async for 10 years -- why isn't it more popular? (15 minute read)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> Despite being available for 10 years, Python's async functionality hasn't achieved widespread popularity due to limited use cases (primarily network I/O), the constraints of the Global Interpreter Lock (GIL), and the challenges of maintaining both synchronous and asynchronous APIs. </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%2Fnews.ycombinator.com%2Fitem%3Fid=45105532%26utm_source=tldrwebdev/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/FdKDmZk1cj__QqDEH0Q8YNLOcenNgFpBf4oJ5cqNpzc=421"> <span> <strong>Ask HN: Is your company still hiring junior engineers? (Hacker News Thread)</strong> </span> </a> <br> <br> <span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;"> When asked if companies are still hiring junior engineers, many Hacker News commenters report a broken hiring system with fraud and inflated skill claims, making it difficult for genuine talent to stand out, while others avoid junior hires due to perceived replacement by LLMs or concerns about training and retention. </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/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/aOgReaZYH_tjKL8Ne30mOXNq7W8XWd3DN27ZeJ9z_mc=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/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/timUrosVGXg7Y8kVFHyIO30UyGjzXsbYelicky7IgRY=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/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/YZOCAqVfrQC0ek6OJgq2RU8iTMPfGArg-2fPxZhRq70=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/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/rbvio7iP6XSAJyDU3LBK6Nphsb7w9BfPpPmU-urPwqM=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=81d64e9e-8895-11f0-91c5-7544a5a1abca%26pt=campaign%26pv=4%26spa=1756897256%26t=1756897668%26s=c1db43947acf5474f916ce98711b242ca649f35dbf6c1d9cba890e92f4d7ffb2/1/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/FynAnIDLIVXAy_PzhCa5nSIxwk8xkuMdfv8s0RQPNTg=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/010001990f42eca9-2377201d-e463-434a-9af9-b03e4e89ef7a-000000/zEkTq0bCjzY7K9opFCiRVXAnOOQep_koA6n-3vtHKnw=421" style="display: none; width: 1px; height: 1px;"> </body></html>