<!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;">Inspect is a custom background coding agent that autonomously writes, verifies, and debugs code with the same context and tools an engineer would use β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β </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/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/9YUV_SIQ_q0tjjk3OU_PUkw1NJLnjQLUJDtEkR9hnTg=440" 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/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/cjkWSwedlVNK_WPCXWQkQdZjLsMr7jWdHNhHeKDXB1g=440" 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=cad30df2-f128-11f0-adf6-fb1c33ea430f%26pt=campaign%26t=1768393829%26s=e5b64a0150c9396714dab5bcff40f450e228fe9201ae11ccfcba0d44bf0c437b/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/r9TDhmpo4yVCqfSRipPHcf7b5slrN0WJdcNQc430a1I=440"><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%2Fwww.elasticpath.com%2Ffree-trial%3F%26utm_medium=newsletter%26utm_source=TLDR/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/EVa8StQWU-kSUm8zg9Vh1EA0sdb54BB7lzXk75xv3iM=440"><img src="https://images.tldr.tech/elasticpath.png" valign="middle" style="vertical-align: middle !important; height: 100%;" alt="Elasticpath"></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 Dev <span id="date">2026-01-14</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%2Fwww.elasticpath.com%2Ffree-trial%3F%26utm_medium=newsletter%26utm_source=TLDR/2/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/_S44FvpRFK2gboeA6lwGa12XsqPGOVZ2fcsluxrPBAw=440">
<span>
<strong>Commerce APIs You Can Work With, Not Work Around (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Every <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.elasticpath.com%2Ffree-trial%3F%26utm_medium=newsletter%26utm_source=TLDR/3/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/XicEp1k9HDvVJ1ApmV-d0yUY2i7x8t4IZnj16bmjxsw=440" rel="noopener noreferrer nofollow" target="_blank"><span>commerce platform</span></a> promises flexibility. But when you want to swap out search, change your checkout flow, or integrate with a new ERP - then it's a six-month project π
<p></p>
<p><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.elasticpath.com%2Ffree-trial%3F%26utm_medium=newsletter%26utm_source=TLDR/4/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/LSUjq0i6FYSMt4YUP-taXof498edmywyqvPfQ5nqIJw=440" rel="noopener noreferrer nofollow" target="_blank"><span>Elastic Path</span></a> is built different. It's API-first and modular from the ground up: catalog, cart, checkout, pricing, payments, promotions β all separate services you can replace or extend.</p>
<p>β
Includes the Composer iPaaS for drag-and-drop workflows and pre-built connectors to SAP, Salesforce, Avalara, and 100s more</p>
<p>β
AI baked in: semantic product search, shopper assistants, prompt-based storefront creation</p>
<p>β
Headless architecture for total frontend freedom</p>
<p><a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.elasticpath.com%2Ffree-trial%3F%26utm_medium=newsletter%26utm_source=TLDR/5/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/HW2usSRQBvJndO9ySL8RH6UeudH3-cxeu9hE2cE_nYE=440" rel="noopener noreferrer nofollow" target="_blank"><span>Try it free for 14 days β</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%2Fbuilders.ramp.com%2Fpost%2Fwhy-we-built-our-background-agent%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/ydYsniOxPrTGGtA8bD-ayrM8Ciwgqn5DypS3ytJi6wY=440">
<span>
<strong>Why We Built Our Own Background Agent (15 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Inspect is a custom background coding agent developed by Ramp that autonomously writes, verifies, and debugs code with the same context and tools a human engineer would use. The agent operates in fast, sandboxed VMs with full development environments, integrates with many existing tools, and supports interfaces like Slack, web, and Chrome extensions. Inspect was adopted quickly internally, writing approximately 30% of merged pull requests.
</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%2Fquestdb.com%2Fblog%2Fjvm-current-thread-user-time%2F%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/gsrcaW8q2okTahYKLU68h9XFKK6exRs6lOYsU61E5s4=440">
<span>
<strong>How a 40-Line Fix Eliminated a 400x Performance Gap (13 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
A method in OpenJDK on Linux previously suffered from a severe 30x-400x performance gap. The slower implementation was due to standards requiring a less direct approach for user CPU time, unlike the faster `clock_gettime()` function used for total CPU time. A recent 40-line fix exploited an obscure yet stable Linux kernel detail to enable `clock_gettime()` to directly retrieve user-time-only, improving performance a lot.
</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%2Freact-has-finally-solved-its-biggest-problem-useeffectevent%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/FhXmJPPkFhbpV9oz41_VmHKozJLVTz_z1tZTnEm8D40=440">
<span>
<strong>React has finally solved its biggest problem: The joys of useEffectEvent (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
React has finally introduced the `useEffectEvent` Hook to solve its biggest problem: infinite loops and stale closures caused by `useEffect` dependency arrays. The hook provides a cleaner solution than the traditional `useRef` workaround by allowing devs to access current state values within effects without triggering re-runs when those values change.
</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.ablg.io%2Fblog%2Fno-management-needed%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/ZPWqfXfaSVtM_2P7V5XrWxnOyK1mMzyDDBgk1K1BqHw=440">
<span>
<strong>No management needed: anti-patterns in early-stage engineering teams (9 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
For early-stage founders facing engineering management issues, the optimal solution is often to do nothing, focusing instead on building the product and engaging with users. Attempting to actively "motivate" engineers (who should be inherently motivated hires), hiring dedicated managers prematurely, and copying complex management practices from large companies like Google are the wrong things to do.
</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%2Fanildash.com%2F2026%2F01%2F05%2Fa-tech-career-in-2026%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/hxVkjB2yHi92xJ2o1N6DBfrGu9c1_rAdx5KnhOTl5ic=440">
<span>
<strong>How the hell are you supposed to have a career in tech in 2026? (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
The tech industry has had half a million workers laid off since ChatGPT's release, despite billions in AI investments. Tech workers need to understand their role within organizational systems rather than just focusing on technical skills, recognizing that companies increasingly view code and specific expertise as replaceable means to an end.
</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%2Fdatabricks%2Fdicer%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/2-4bAJZOCINt3OOV6wvh5k22GdAdz6f1oesWFdZ6VLg=440">
<span>
<strong>Dicer (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Dicer is Databricks' auto-sharder, a foundational infrastructure system for building sharded services with low latency, high availability, and cost efficiency at scale. It addresses the inefficiencies of stateless models by colocating in-memory state with computation, so there are no issues like network latency and unnecessary data fetching.
</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%2Fswark-io%2Fswark%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/QEypkW8Sfv7yE_eEjSbsThkZmYXG5ZGthDc3pvA1j_0=440">
<span>
<strong>Swark (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Swark is a free and open-source VS Code extension that automatically generates architecture diagrams from code using LLMs. It integrates directly with GitHub Copilot and outputs diagrams in the Mermaid.js format.
</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.builder.io%2Fblog%2Fopencode-vs-claude-code%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/kt8Vr-56oygG21xhxpSvN7kkxUpnRQBEpbSJ_vGs7gs=440">
<span>
<strong>OpenCode vs Claude Code (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
OpenCode and Claude Code are both AI coding assistants that let you chat with your codebase and run terminal commands. Claude Code offers a polished, integrated experience locked to Anthropic's ecosystem, while OpenCode is an open-source alternative supporting 75+ AI providers. In head-to-head testing using the same model, Claude Code was faster and more streamlined (9 minutes vs 16 minutes total), while OpenCode was more thorough.
</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.greptile.com%2Fblog%2Fgithub-ids%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/8AelrtXCKhiC5fPODW8n2sI0v9y40GG51Hgut1sLNvU=440">
<span>
<strong>Every GitHub Object Has Two IDs (7 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
When building a feature for Greptile, this dev encountered an issue generating clickable GitHub links because their system stored GraphQL `node IDs` (e.g., `PRRC_kw...`), while web URLs required integer database IDs. Further investigation showed that GitHub uses two ID formats: an older, string-based system for legacy objects and a newer, more complex system for modern objects, despite inconsistent application.
</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%2Fy1FEVG/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/WSPpVtoXcIIAlIHa6DdD4acioC_vtGb0hKzll-OUP6Q=440">
<span>
<strong>npm to Implement Staged Publishing After Turbulent Shift Off... (8 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
npm is implementing staged publishing, a new feature that will introduce a review window before packages go live. This will require MFA-verified approval from package owners to catch malicious changes before they spread. This comes after the 2025 Shai-Hulud supply chain attacks and a disruptive migration away from classic npm tokens in December that caused workflow disruptions for maintainers.
</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%2Fmetalbear.com%2Fmirrord%2F%3Futm_source=tldrdev%26utm_medium=tldrnewsletter%26utm_campaign=ql20260114%26utm_content=std/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/88FEcVdZxIi5uiAxfPqxvH06ZxQqL2PmDYhQjM42FSM=440">
<span>
<strong>Cut your dev loop from hours to seconds (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Run your code locally with seamless access to everything in your Kubernetes cluster. It's like testing in the cloud without the hassle of actually deploying it there. <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fmetalbear.com%2Fmirrord%2F%3Futm_source=tldrdev%26utm_medium=tldrnewsletter%26utm_campaign=ql20260114%26utm_content=std/2/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/vs97_0KLhxykwNYa6aeCrqurHsT9pfMybxXaAjRoV7c=440" rel="noopener noreferrer nofollow" target="_blank"><span>Learn more about mirrord</span></a>
</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%2Fmarketplace.visualstudio.com%2Fitems%3FitemName=Nogic.nogic%26utm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/Tjk0tXcR1LCSptQBuC20mVsi4El317zkdKKCk5vceTY=440">
<span>
<strong>Nogic (Website)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Nogic is a Visual Studio Code extension that helps users visualize their codebase structure with interactive diagrams.
</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%2Fread.first1000.co%2Fp%2Fmaking-ai-great-at-frontend%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/tXAp-I7fbAsVcqTgaf0M6qU9360oGucJ1HhyRYL9uwM=440">
<span>
<strong>Making AI great at frontend (3 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Some clever AI prompting techniques can make the frontend output of AI much better, such as sharing progressive references and using plan mode.
</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.joinformal.com%2Fblog%2Fusing-proxies-to-hide-secrets-from-claude-code%2F%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/VlZG0umn5PhQaB81C4CyJQ_fbgJ5cjApPU115i4I460=440">
<span>
<strong>Using Proxies to Hide Secrets from Claude Code (10 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Claude Code has security challenges, as its sandboxes can expose sensitive data such as API keys through network access or environment variables, but network proxies can be used to inject the actual API keys in a safer manner.
</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%2Fread.perspectiveship.com%2Fp%2Fplanning-laws%3Futm_source=tldrdev/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/ED1Guool0i1pbyVwvAFoXWPPzJwTktMZ2MEONQLHK3w=440">
<span>
<strong>Work Expands. Time Vanishes. Here's Why (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Parkinson's and Hofstadter's Laws say that work expands to fill available time and always takes longer than expected, but this can be somewhat mitigated with timeboxing and clearer definitions of the work.
</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/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/G31dIur3BqZwZ8h0-ksbNkl6AjdWSuId5ZWAPBnoWHM=440" 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/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/h2azfdj7eBzYl4s4aNJiFPqvxmEhDCI29QwXSKO38Rs=440" 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/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/zu1FVUVhgc_qpRRjJw4yrScxbySNeVcL6lnaDorRlrw=440"><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/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/IsFPjVyLoq5vTOTdyQB3puhYJxVqJShZelDI6jO5eC8=440" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>Apply here</strong></a>,
<a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fjobs.ashbyhq.com%2Ftldr.tech%2Fc227b917-a6a4-40ce-8950-d3e165357871/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/eWF_-VHMoMYbNPphSMtaxDMYKaAkHfOPvmAjBy4cAx4=440" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>create your own role</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! TLDR is one of <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fwww.linkedin.com%2Ffeed%2Fupdate%2Furn:li:activity:7401699691039830016%2F/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/YFrRwVaSgCtEbnIv28ue9QhAUhzSCxjgxbqbp9xA6MI=440" rel="noopener noreferrer" style="color: #0000EE; text-decoration: underline;" target="_blank"><strong>Inc.'s Best Bootstrapped businesses</strong></a> of 2025.
</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/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/WXq6EBB8UXxWAB_1tNXsOsqTvMfdIq7USwNj7h9Y1qo=440"><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/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/2oqdNhRQueLNq5VTXQVvN__KK7_CB0zh1b_MzZiFKRY=440">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=cad30df2-f128-11f0-adf6-fb1c33ea430f%26pt=campaign%26pv=4%26spa=1768392097%26t=1768393829%26s=1253aa89a57ef11ccd5415c9b5020556d81a5cae12ef8e6738959085c8317fee/1/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/4nTFpUziSb2RPs2pfrnX9yVHAIpGOrlTslWyEtSVC-0=440">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/0100019bbc7c6c9a-59946769-33c2-4199-9c2d-6a27e7e5ddbd-000000/yURmDp60myqA_sg15WfbGP_ojC_OKFiV-o0x7MCRCjA=440" style="display: none; width: 1px; height: 1px;">
</body></html>