<!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;">AI doesnβt make decisions for you, but it makes exploring ideas much cheaper. AI can generate options, prototypes, and directions much faster now β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β </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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/gMZ0rpFaq6SV5k6ASTbcoWt3jHF2XcM9radzbYOruls=439" 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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/O1X0bdIZSnfGAPZLcdhWm2AXlRqZ7NPnPG0NInMK2YM=439" 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=8c1b449a-ebb4-11f0-8789-2dc3ac741a83%26pt=campaign%26t=1767787710%26s=e5ad034835487a69070cc29ccd4c2ab18b93d8c90cef88b5ba3ea362d61f1717/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/9vUGdELYCnH6s4A3vvYA0WoAbwq-9F7MUyk39fY0NkU=439"><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%2Fdeveloper.amazon.com%2Fring%3Fsc_category=PAI%26sc_channel=3P%26sc_publisher=RD-TLDR%26sc_campaign=CES/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/Wlrl-v8OKYc6fdWuMqdpr0d3u1k3kNuAIvVVOQOi6VU=439"><img src="https://images.tldr.tech/ring.png" valign="middle" style="vertical-align: middle !important; height: 100%;" alt="Ring"></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-07</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%2Fdeveloper.amazon.com%2Fring%3Fsc_category=PAI%26sc_channel=3P%26sc_publisher=RD-TLDR%26sc_campaign=CES/2/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/P_SH6Gw0ls9Y5PUHZjQ11lV310Ggou1vtrFraNIrI0E=439">
<span>
<strong>The Ring Appstore is here! Request early access to create apps available to millions of Ring customers (Sponsor)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Ring just announced the Ring Appstore, opening the door for developers to <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fdeveloper.amazon.com%2Fring%3Fsc_category=PAI%26sc_channel=3P%26sc_publisher=RD-TLDR%26sc_campaign=CES/3/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/9XupLiNJXJjkPT1XpwCra6UA6457wF56QYrHG9Z3WhQ=439" rel="noopener noreferrer nofollow" target="_blank"><span>build Al-powered apps using Ring camera data </span></a>and reach millions of users.
<p></p>
<p>β
Al-assisted tools</p>
<p>β
Self-serve sandbox environments</p>
<p>β
Streamlined certification process</p>
<p>β
Built for rapid iteration and big distribution.</p>
<p>Third-party developers are already building in beta.</p>
<p>Now it's your turn.</p>
<p>π <a href="https://tracking.tldrnewsletter.com/CL0/https:%2F%2Fdeveloper.amazon.com%2Fring%3Fsc_category=PAI%26sc_channel=3P%26sc_publisher=RD-TLDR%26sc_campaign=CES/4/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/VU9AQzPrqN05xZpE07reHXSY8syJ0B1u0Rjv-5vPY90=439" rel="noopener noreferrer nofollow" target="_blank"><span>Request early access to the developer portal</span></a> to invent with Ring and explore monetization opportunities for your application.
</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%2Femilkowal.ski%2Fui%2Fbuilding-a-toast-component%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/hp_BwKNQpmzQs2BqOBpQRgfL1ATpU37IrtbSn_aHPcE=439">
<span>
<strong>Building a toast component (11 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Sonner was a library released in 2023 that quickly became the default toast component for shadcn/ui, despite a crowded market. Its success was due to its well-implemented stacking animations achieved with interruptible CSS transitions, and intuitive functionalities like momentum-based swipe-to-dismiss and expandable toast displays. The developer experience was also unique, with interactive documentation, a simple, hook-free API using the Observer Pattern, and a promise API for managing toast states.
</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%2Fgpfault.net%2Fposts%2Ffirst-child-next-sibling.html%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/oMSFt_5dbAsutqvAi1gC6SFRFmdxlCYIg3k8wMNFj7s=439">
<span>
<strong>Representing Hierarchies (3 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
There are two common methods for representing hierarchical data structures, like HTML elements or file systems. The "obvious way" uses an array of pointers to child nodes, which allows for convenient indexed access but introduces dynamic memory allocations and potential cache misses. The "allocation-free way" uses first-child and next-sibling pointers, removing the need for dynamic memory management for child relationships and improving cache efficiency.
</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.nucleate.dev%2Fblog%2Fai-makes-exploration-cheap-not-decisions-easy%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/9HsRit-hsoMqb4RoVbY-Awm8Mt3XqF3TMHN2gf2Q970=439">
<span>
<strong>AI Makes Exploration Cheap, Not Decisions Easy (6 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
AI doesn't make decisions for you, but it makes exploring ideas much cheaper. While AI can generate options, prototypes, and directions much faster now, the hard part is still using judgment to pick what actually works well, both engineering-wise and product-wise.
</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.focusedchaos.co%2Fp%2Fvibe-coding-without-system-design-is-a-trap%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/Z4RjRmRyj5dS6cm7F9hel8j_IijE3ICqGG2r_7b4L0Y=439">
<span>
<strong>Vibe Coding Without System Design is a Trap (18 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
AI tools primarily optimize for immediate functionality rather than proper, evolvable system design. This often results in "accidental architecture," which has hardcoded values, little-to-no testing, and a wide range of edge cases, making products fragile and expensive to maintain or change over time. To counteract this, devs must apply systems thinking and product management discipline before using AI by consciously designing for future changes and dependencies.
</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%2Fravestar.dev%2Fblog%2Fwhy-devs-need-devops%2F%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/GH-dNYzbeX-8Vno34pto95Old-oJ3FNNVB0wjoAJBoc=439">
<span>
<strong>Why devs need DevOps (13 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
The software engineering industry is at risk of knowledge deterioration, where the foundational thinking behind successful practices like DevOps is lost. The core of DevOps includes optimizing the entire flow of value, establishing short feedback loops to identify issues early, and ensuring continuous learning across the team. Internalizing these principles grants developers predictive power.
</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%2Fmarcoaapfortes%2FMantic.sh%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/YYrUmOynE_6-PTo4pl6JIqi3oNgsIjPtwwLg8_M8Bys=439">
<span>
<strong>Mantic (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Mantic is a structural code search engine for AI agents. It provides sub-500ms file ranking across massive codebases without relying on embeddings or external dependencies. Mantic infers intent from file structure and metadata, reducing token usage and running entirely locally.
</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%2Fbadlogic%2Fpi-mono%2Ftree%2Fmain%2Fpackages%2Fcoding-agent%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/MIhvTS_2VBoKNoMVA6LjjPNzB5V6cEx1hFdRLLBf81c=439">
<span>
<strong>Pi Coding Agent (GitHub Repo)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
The Pi Coding Agent is a terminal-based coding agent for headless coding tasks that runs on macOS, Linux, and Windows and supports multiple model providers with mid-session model switching. It has slash-command workflows, session saving + branching, context compaction, bash/tool execution, and customization via settings. It also has SDK/RPC modes for programmatic use.
</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%2Fgithub.com%2Frberg27%2Fdoom-coding%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/1U3yeEiKmTNx88ZVlpQmz-CkudyZ6vV7S3Ulh3ZtFHw=439">
<span>
<strong>Doom Coding (4 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
This is a guide on how to code on a smartphone from anywhere by remotely accessing a home computer. The method relies on a 24/7 running computer, Tailscale for secure networking, Termius as a mobile terminal, and Claude Code for AI assistance. The setup involves enabling SSH, installing Tailscale and Claude Code on the computer, then installing Tailscale and Termius on the phone to connect via the computer's MagicDNS.
</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.luiscardoso.dev%2Fblog%2Fsandboxes-for-ai%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/czD3dY2iqEc-E-8PTF6xpE1g7CgvCO4Ubslo2depioU=439">
<span>
<strong>A field guide to sandboxes for AI (36 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
AI agents often need to execute untrusted code, so they use sandboxes. Effective sandboxing requires consideration of three distinct aspects: the isolation boundary, access policy, and execution lifecycle. There are various types of sandboxes, like containers (sharing the host kernel, insufficient for hostile code), gVisor (userspace kernel interposition), microVMs (guest kernel via hardware virtualization), and runtime sandboxes (no direct syscall access).
</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%2Ftuple.app%2Fblog%2Fhacking-dlopen-to-statically-link-pipewire%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/dgNZVW2ND8NLbTnYJKVzLMR8Z67PSe1OHl7E8xBdgqQ=439">
<span>
<strong>Hacking dlopen to statically link Pipewire (11 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Tuple is a pair programming app that wanted to create a fully static Linux executable, but had a big challenge with PipeWire, which it uses for screen capture. PipeWire's core functionality relies on `dlopen` for internal plugin systems (modules and Spa plugins), making traditional static linking impossible. It solved this by developing a "fake dynamic linker" using Zig, which reimplements `dlopen`, `dlsym`, and `stat` to statically link PipeWire's plugins into an internal symbol table.
</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%2Fsecondthoughts.ai%2Fp%2Fsoftware-too-cheap-to-meter%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/D6YUkxd0rUFyX2P8ugYN1LbwdZfMSE1-zJ5h7KwaPmY=439">
<span>
<strong>Software Too Cheap to Meter (7 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Thanks to AI coding agents, software creation is becoming so easy and affordable that personalized, bespoke applications will increasingly replace one-size-fits-all solutions.
</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%2Fblock81.com%2Fblog%2Fwhy-most-websites-dont-actually-need-cookie-consent-banners%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/SR24OnxOkD83DOHixUhDjJIx-hDM8NEZAZkqYaIAAqw=439">
<span>
<strong>Why Most Websites Don't Need Cookie Consent Banners (7 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Most websites unnecessarily display cookie consent banners due to their overreliance on invasive third-party tracking tools.
</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%2Fblgardner.github.io%2Fprism.tools%2F%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/drIQF9sxoM9ZoVoAmsODych916Q6duErJv0NnMu7j78=439">
<span>
<strong>Prism.Tools (Website)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
A suite of free, online dev tools or tasks like formatting, security, design, content generation, and data transformation.
</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%2Fpluralistic.net%2F2026%2F01%2F06%2F1000x-liability%2F%23graceful-failure-modes%3Futm_source=tldrdev/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/yfLDYViC4kNpLTNuiBluAZIW9iaqxaTGs4m_cZDttH8=439">
<span>
<strong>Code is a liability (not an asset) (22 minute read)</strong>
</span>
</a>
<br>
<br>
<span style="font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;">
Code, especially when generated by AI, is a liability rather than an asset, as code requires maintainability to last long-term.
</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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/iKuo0tw-rWuTSVxUeFRmNi-b71vXv-5ogSkWLJBYGBw=439" 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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/mO8CrA48kom6154UH5y1C7e69ZhN0ik9RObivg8Myq8=439" 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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/c_5bOkHNmAOP1qXSVG3bUhtWAptPgssx9nPQHZifpgg=439"><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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/G0BfnUeKE366JJsETYm0RvCR9qxv0uo4hKu9auc0Wv4=439" 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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/vr3_g1VPGNz7_4y_oDFdmqJEe261JtLSQWiZ8e0jbdE=439" 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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/VEJGttAZV_LdsGWUk7-c_f9hEwXhEy8h3mGCbacNo-Y=439" 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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/pLqt3JC719PmEijxwARSeYBSQ_8CR7FsmWW1mygsgmI=439"><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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/PI9UpG0KXJch0UMgldN5U71vtlXvitZSlaPsOAUn0og=439">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=8c1b449a-ebb4-11f0-8789-2dc3ac741a83%26pt=campaign%26pv=4%26spa=1767787301%26t=1767787710%26s=7eaab549e588c5004b5644aee819de97f07aa3ad3ab3d3dcf93da6986e43b6f6/1/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/K9dfcdmUg-wrDd6cqbjtawqV0S7yigClRX5TnvUaAKA=439">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/0100019b985bc8b6-a7ff3c7c-0962-49c6-ae2f-bab34cbf6a6e-000000/h28ScBU-a8ZcS6vUkga3Fxbejs1V_0mezgrlYNlJeRg=439" style="display: none; width: 1px; height: 1px;">
</body></html>