<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="image" href="https://bytes.dev/images/bytes-banner-rounded.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/eyes.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/life-of-pi.jpg">
<link rel="preload" as="image" href="https://bytes.dev/images/fb-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/li-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/tw-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/em-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/coderabbit-logo.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/leaf-blower-engine.jpg">
<link rel="preload" as="image" href="https://bytes.dev/images/content/spot-the-bug.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/cool-bits.png">
<link rel="preload" as="image" href="https://bytes.dev/images/bytes-icon.png">
<title>Bytes: Pi Pilled</title>
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono&family=Outfit:wght@400;500;700;900&family=Paytone+One" rel="stylesheet">
<style>@media (prefers-color-scheme: dark) {
.email-wrapper {
color: #F9F4DA !important;
background-color: #0F0D0E !important;
}
hr {
border-color: #262422 !important;
}
mark {
background-color: #231F20 !important;
color: #F9F4DA !important;
}
pre {
background-color: #231F20 !important;
border: 1px solid #231F20 !important;
color: #F9F4DA !important;
}
.bg-alt {
background-color: #231F20 !important;
}
.unsubscribe-link {
color: #504C48 !important;
}
.token.punctuation {
color: #f9f4da !important;
}
}
@media screen and (min-width: 600px) {
.mobile-break {
display: none;
}
}</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table class="email-wrapper" border="0" cellspacing="0" width="100%" style="background-color: #FFF; border-collapse: collapse; color: #231F20; font-family: Outfit, sans-serif; font-size: 18px; width: 100%;"><tbody><tr>
<td style="border-collapse: collapse !important; word-break: normal;"></td>
<td width="600px" style="border-collapse: collapse !important; width: 600px; word-break: normal;"><div style="max-width:600px;padding-top:80px">
<div style="text-align:center"><img width="600" style="max-width: 100%; padding-bottom: 40px;" src="https://bytes.dev/images/bytes-banner-rounded.png" alt="Bytes"></div>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Today’s issue:</strong> Merge topologies, finding the courage to go full ESM, and the colorless, odorless gas that makes up 1% of Earth’s atmosphere.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Welcome to <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/8ghqh3uo7wlzndfkh9/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNTI2" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574031">#526</a>.</p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="80" src="https://bytes.dev/images/content/eyes.png" alt="Eyeballs logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">The Main Thing</h2>
</div>
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; max-width: 100%; padding: 24px; padding-bottom: 12px;">
<img src="https://bytes.dev/images/content/life-of-pi.jpg" alt="A tiger roars from a lifeboat while Pi stands behind it at sea" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 17px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">Just a developer and their beloved agent harness<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Pi Pilled</h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">I’ve always thought that developers loving their tools was a form of Stockholm Syndrome, but over the past year few tools have gotten more admiration than Pi, which just <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/vqh3hmuoqmplrrtghl/aHR0cHM6Ly9lYXJlbmRpbC5jb20vcG9zdHMvcGktMS0wLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574032">released version 1.0</a> this past week.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">If you haven’t heard of it or used it, Pi is a minimalist agent harness written in TypeScript whose original claim to fame was powering OpenClaw. Like most harnesses, it has a TUI, CLI and SDK but I never really “got” why developers liked it so much. Then I remembered how many developers I’ve met who exclusively wear conference t-shirts and cargo shorts, that can’t wait to tell you about their custom Neovim config. For these developers, Pi is perfection.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><em>Why developers love Pi:</em></p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Of the major harnesses that support multiple models, only OpenCode and Pi are open source. And we all know open source is developer catnip. But what sets Pi apart is your ability to customize the tool. Its core is intentionally minimal and until <code style="font-size: 15px;">v0.99</code>, it didn’t even support MCP. Instead, it exposes an extension API which lets you install custom packages, or more impressively, lets you extend Pi directly via a prompt.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><em>What’s new in Pi 1.0</em></p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Pi Durable:</strong> The Pi team created <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/m2h7h6u3l28vz6smhq/aHR0cHM6Ly9lYXJlbmRpbC5jb20vcG9zdHMvcGktZHVyYWJsZS8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574034">a new package</a> that allows developers to create and deploy long-running agents to the cloud that can survive crashes. It handles durable storage and memory for your agent via SQLite and JSONL, and provides a small adapter that allows you to connect to whatever runtime and storage solution you’re using.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Codemode:</strong> This new Pi feature allows models to generate scripts that run in a QuickJS sandbox. These scripts can call Pi or MCP tools directly and transform the results, saving you precious tokens. It can even be used to run other non-LLM models such as classifiers and image models.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Virtual models:</strong> Pi lets you create “virtual models” you can select with the <code style="font-size: 15px;">/model</code> selector, but under the hood, they’re just extensions. These extensions can use a classifier or some other mechanism to route queries to different models, giving you control over the speed and cost of each type of query.</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Bottom line:</strong> If you’re the type of developer who keeps your dotfile config on GitHub and you haven’t tried Pi yet, what are you even doing with your life? Also maybe take a shower today.</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse; margin-top: 40px; text-align: center;"><tbody><tr><td style="border-collapse: collapse !important; padding-top: 12px; word-break: normal;">
<a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/dphehmue2d0vnlumh4/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNTI2" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1891574035"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/fb-share-icon.png"></a><a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/e0hph0u7dm06orb8h2/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY1MjY=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1891574036"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/li-share-icon.png"></a><a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/7qh7h2u9xdoq5xfzh6/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9TWVyZ2UlMjB0b3BvbG9naWVzJTJDJTIwZmluZGluZyUyMHRoZSUyMGNvdXJhZ2UlMjB0byUyMGdvJTIwZnVsbCUyMEVTTSUyQyUyMGFuZCUyMHRoZSUyMGNvbG9ybGVzcyUyQyUyMG9kb3JsZXNzJTIwZ2FzJTIwdGhhdCUyMG1ha2VzJTIwdXAlMjAxJTI1JTIwb2YlMjBFYXJ0aCVFMiU4MCU5OXMlMjBhdG1vc3BoZXJlLiZ1cmw9aHR0cHMlM0ElMkYlMkZieXRlcy5kZXYlMkZhcmNoaXZlcyUyRjUyNg==" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1891574037"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/tw-share-icon.png"></a><a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/owhkhwuw0xrpdeuvhr/bWFpbHRvOj9zdWJqZWN0PVlvdSUyMGxpa2UlMjBjb3JuYnJlYWQlM0YmYm9keT1UaG91Z2h0JTIweW91JTI3ZCUyMGxvdmUlMjB0aGlzJTIwd2VlayUyN3MlMjBCeXRlcyUwQS0tLSUwQU1lcmdlJTIwdG9wb2xvZ2llcyUyQyUyMGZpbmRpbmclMjB0aGUlMjBjb3VyYWdlJTIwdG8lMjBnbyUyMGZ1bGwlMjBFU00lMkMlMjBhbmQlMjB0aGUlMjBjb2xvcmxlc3MlMkMlMjBvZG9ybGVzcyUyMGdhcyUyMHRoYXQlMjBtYWtlcyUyMHVwJTIwMSUyNSUyMG9mJTIwRWFydGglRTIlODAlOTlzJTIwYXRtb3NwaGVyZS4lMEFodHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNTI2" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1891574038"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/em-share-icon.png"></a>
</td></tr></tbody></table>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="150" src="https://bytes.dev/images/content/coderabbit-logo.png" alt="CodeRabbit logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;"><span>Our Friends <br class="mobile-break">(With Benefits)</span></h2>
</div>
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; max-width: 100%; padding: 24px; padding-bottom: 12px;">
<img src="https://bytes.dev/images/content/leaf-blower-engine.jpg" alt="A man rides an inflatable tube across the water while holding a leaf blower" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 17px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">Being flooded with PRs isn't a problem if you've got power tools.<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/z2hgh7uem53nxgcph0/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYWQtYnl0ZXMtMDA1" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574039">Prioritize Your PR Queue</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Review the PR that matters most. CodeRabbit Triage ranks work across repositories, tells you what to review next and what needs your action. It also flags low-risk PRs that may be ready to close, so your queue shrinks effectively.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/z2hgh7uem53nxgcph0/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYWQtYnl0ZXMtMDA1" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574039">Prioritize your PR flood with CodeRabbit Triage.</a></p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/spot-the-bug.png" alt="Spot the Bug logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Spot the Bug</h2>
<div class="section-presenter" style="margin-bottom:50px;margin-top:15px">
<h4 style="font-size: 20px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Spot the Bug - Presented by <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/p8hehqu4przm0ksqh3/aHR0cHM6Ly9naXRodWIuY29tL2FnZW50Y2F0aHEvd2VibWNwLXJlYWN0" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574040">webmcp-react</a>
</h4>
<p style="font-family: Outfit, sans-serif; font-size: 18px; line-height: 1.5; margin-top: 5px; padding-left: 24px; padding-right: 24px;"><em>Want AI agents to call your website directly? Modern React sites can add WebMCP support with <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/p8hehqu4przm0ksqh3/aHR0cHM6Ly9naXRodWIuY29tL2FnZW50Y2F0aHEvd2VibWNwLXJlYWN0" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574040">webmcp-react</a>. Zod-first and Strict Mode safe.</em></p>
</div>
</div>
<pre class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; box-sizing: border-box; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; max-width: 100%; overflow: auto; overflow-wrap: anywhere; padding: 24px; tab-size: 2; text-align: left; white-space: pre-wrap; word-spacing: normal;"><code class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; overflow-wrap: anywhere; tab-size: 2; text-align: left; white-space: pre-wrap; word-spacing: normal;"><span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> products <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">[</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Grapes'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">2</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Banana'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">1</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Apple'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">3</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Cherry'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">2</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Date'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">1</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">]</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
products<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">sort</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 15px;">a<span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> b</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">=></span> a<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>price <span class="token operator" style="color: #12b5e5; font-size: 15px;">></span> b<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>price<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
</code></pre>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/cool-bits.png" alt="Cool Bits logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Cool Bits</h2>
</div>
<ol>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">OpenAI hosted its annual developer conference where it announced <del>all the products it copied from competitors</del> <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/x0hph3ue4kwo6ra5hl/aHR0cHM6Ly9vcGVuYWkuY29tL2luZGV4L2RldmRheS0yMDI2LXJlY2FwLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574041">the Decisions API (Jev), Dots (Muse), and GPT-6.1 Sol (Opus 5.5)</a>. Gotta sell that IPO baby.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">GitHub wrote <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/6qhehoul3x7zg5iohk/aHR0cHM6Ly9naXRodWIuYmxvZy9vcGVuLXNvdXJjZS9naXQvaGlnaGxpZ2h0cy1mcm9tLWdpdC0yLTU2Lw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574042">a blog about Git 2.56</a>. It’s educational if flattening merge topologies is your passion.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Sentry is hosting a free workshop on October 20 to teach you how to speed up your debugging process by connecting your OpenTelemetry traces and logs to Sentry. <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/kkhmh2unozlrqealh7/aHR0cHM6Ly9zZW50cnkuaW8vcmVzb3VyY2VzL290ZWwtY29ubmVjdGVkLWNvbnRleHQtd29ya3Nob3AvP3V0bV9zb3VyY2U9Ynl0ZXMmdXRtX21lZGl1bT1wYWlkLWNvbW11bml0eSZ1dG1fY2FtcGFpZ249dHJhY2luZy1meTI3cTMtb3RlbHdvcmtzaG9wJnV0bV9jb250ZW50PW5ld3NsZXR0ZXItc2Vjb25kYXJ5LXdvcmtzaG9wLXJlZ2lzdGVy" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574043">Sign up today</a>. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Josh Larson whipped up <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/58hvh8ug43mq8oa6h4/aHR0cHM6Ly93d3cuanBsaG9tZXIub3JnL3Bvc3RzL3NvLXlvdS13YW50LXRvLW1ha2UtYS1ib3Qv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574044">a little guide for making your own personal agent</a> presumably to distract him from the start that Iowa State Football is off to this season.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">After 6+ years of work, Jovi De Croock and the team <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/25h2h9u3ql26zeb3h4/aHR0cHM6Ly9wcmVhY3Rqcy5jb20vYmxvZy9wcmVhY3QtMTEv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574045">released Preact 11</a>, which has a new hydration system, automatic ref forwarding, and improved React compatibility. Well done <span role="img" aria-label="clapping hands">👏</span>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Speaking of major releases, <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/qvh8h8udlerz56tlhk/aHR0cHM6Ly9tc3dqcy5pby9ibG9nL2ludHJvZHVjaW5nLW1zdy0zLjA=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574046">Artem Zakharchenko released MSW (Mock Service Worker) v3</a>, which is now pure ESM. #courage</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">For engineers leveraging coding agents, trusted infrastructure is key to security and governance. With <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/g3hnhwum0g3r5efrh9/aHR0cHM6Ly9mYW5kZi5jby8zU1F0OGhQ" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574047">Coder Agents</a>, your teams can delegate tasks and research to AI agents, all on a self-hosted platform you already trust. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Big G released their latest frontier model <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/9qhzhdude4p0mps9h3/aHR0cHM6Ly9ibG9nLmdvb2dsZS9pbm5vdmF0aW9uLWFuZC1haS9tb2RlbHMtYW5kLXJlc2VhcmNoL2dlbWluaS1tb2RlbHMvZ2VtaW5pLTQtYXJnb24v" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574048">Gemini 4 Argon</a>, which, according to the TMBBs, scores higher than Astra, Fable, and Opus. The real question is, do we believe them?</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Declan Chidlow covers all the <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/3ohphdu3kx70l3frhn/aHR0cHM6Ly96ZXJvaGVpZ2h0LmNvbS9ibG9nL25ldy1odG1sLWFuZC1jc3MtZmVhdHVyZXMteW91LXNob3VsZC1iZS11c2luZy1pbi15b3VyLWRlc2lnbi1zeXN0ZW0v" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574049">new HTML and CSS features you should be using in your design system</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Only idiots write manual tests – modern engineering teams like Notion, Dropbox and LaunchDarkly use Meticulous to maintain e2e UI tests that <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/n2hohquvl23mp6i6hg/aHR0cHM6Ly93d3cubWV0aWN1bG91cy5haS8_dXRtX3NvdXJjZT1ieXRlcyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX2NhbXBhaWduPTI2cTMmdXRtX2NvbnRlbnQ9c2Vjb25kYXJ5" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574050">cover every edge case of your web app</a>. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Amelia Wattenberger wrote another visual essay about <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/48hvh7um7wrvegfxh7/aHR0cHM6Ly93YXR0ZW5iZXJnZXIuY29tL3Rob3VnaHRzL2FpLWlzLXN0aWxsLWluLWl0cy10ZXJtaW5hbC1lcmEv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574051">how AI is still in its terminal era</a>. If you’re not familiar with her game, these are always good.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">The Effect.ts team rebuilt the library from the ground up and <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/wnh2h6uqlmwnp8u7hx/aHR0cHM6Ly9lZmZlY3Qud2Vic2l0ZS9ibG9nL3JlbGVhc2VzL2VmZmVjdC80MA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574052">released version 4.0</a>, which is 5x smaller, 6.4x faster, and uses 86% less memory. My brain also uses 86% less memory than before but now I can’t remember what this library even does. Something with types?</p>
</li>
</ol>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/spot-the-bug.png" alt="Spot the Bug logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Spot the Bug: Solution</h2>
<div class="section-presenter" style="margin-bottom:50px;margin-top:15px"><h4 style="font-size: 20px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Spot the Bug - Presented by <a href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/p8hehqu4przm0ksqh3/aHR0cHM6Ly9naXRodWIuY29tL2FnZW50Y2F0aHEvd2VibWNwLXJlYWN0" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1891574040">webmcp-react</a>
</h4></div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">When using the <code style="font-size: 15px;">Array.sort</code> method, the compare function should return a number, not a boolean. Returning a negative number will sort the first item before the second, a positive number will sort the second item before the first, and returning 0 will leave the items in the same order.</p>
<pre class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; box-sizing: border-box; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; max-width: 100%; overflow: auto; overflow-wrap: anywhere; padding: 24px; tab-size: 2; text-align: left; white-space: pre-wrap; word-spacing: normal;"><code class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; overflow-wrap: anywhere; tab-size: 2; text-align: left; white-space: pre-wrap; word-spacing: normal;"><span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> products <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">[</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Grapes'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">2</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Banana'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">1</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Apple'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">3</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Cherry'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">2</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">'Date'</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">price</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">1</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">]</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
products<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">sort</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 15px;">a<span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> b</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">=></span> a<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>price <span class="token operator" style="color: #12b5e5; font-size: 15px;">-</span> b<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>price<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
</code></pre>
<div style="text-align:center;padding-bottom:80px;padding-top:80px">
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; padding: 24px;"><div style="margin-top:-40px">
<img src="https://bytes.dev/images/bytes-icon.png" alt="Bytes" width="55px" style="max-width: 100%; width: 55px;"><h5 style="font-size:18px;font-weight:400;margin-bottom:24px">Want us to say nice things <br> about your company?</h5>
<div style="margin-bottom:16px"><a style="background-color: #FCBA28; border: 1px solid #231F20; border-radius: 100px; color: #231F20; font-size: 14px; font-weight: 600; padding: 8px 14px; text-decoration: none;" href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/reh8h9umok04rkc2h6/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1891574053">Sponsor Bytes</a></div>
<div style="margin-bottom:20px"><a style="color: #FCBA28; font-size: 14px; font-weight: 600; text-decoration: underline;" href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/08hwhgu2pndv5vblh5/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1891574054">or share it</a></div>
<p style="font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Built with ❤️ by<!-- --> <a style="color: #ed203d; font-weight: 600; text-decoration: underline;" href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/8ghqh3uo7wlzvdhkh9/aHR0cHM6Ly9maXJlc2hpcC5kZXY=" url-id="1891574055">Fireship</a></p>
</div></div>
<p style="font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; opacity: 0.5; padding-left: 24px; padding-right: 24px;">50 W Broadway Ste 333 PMB 51647 Salt Lake City, Utah 84101</p>
<div style="font-family:Papyrus, cursive"><a class="unsubscribe-link" href="https://c5e21242.click.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0/vqh3hmuoqmpl7rughl/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1891574056">Unsubscribe from Bytes</a></div>
</div>
</div></td>
<td style="border-collapse: collapse !important; word-break: normal;"></td>
</tr></tbody></table>
<span style="display: none"><a href="https://c5e21242.unsubscribe.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0">Unsubscribe</a></span>
<!-- -->
<img src="https://c5e21242.open.convertkit-mail.com/zlu4v4x2rrtnhkg9np9hphw2krd34t6h3wl0" alt="">
</body>
</html>