<!DOCTYPE html>
<html>
<head>
<title>Bytes: Cloudflare buys Astro</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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: 16px; 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: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Today’s issue:</strong> An API for fixing Nic Cage’s financial woes, macOS Tahoe struggles, and Daddy Sundar takes things to the next level.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Welcome to <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/owhkhwuwxn2qn4sv/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNDU1" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710479">#455</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/slots-old.jpg" alt="Old people playing slots at a casino" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 15px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">The guys who invested in all those OSS frameworks in 2021<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Cloudflare buys Astro</h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Just like we predicted they would… almost.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><em>Technically,</em> our <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/z2hgh7ue57ql73bp/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNDQ5" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710480">prediction</a> was that Netlify would acquire Astro, but if you squint, we basically nailed it.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">But why is this marriage happening at all?</strong> Good question, especially since Astro will stay open source and promises to continue supporting “a wide set of deployment targets” (not just Cloudflare).</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">From Astro’s perspective, the decision matrix seems pretty simple: “We needed money. Cloudflare has lots of money.”</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">In his <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/p8hehqu4rdnqd4iq/aHR0cHM6Ly9hc3Ryby5idWlsZC9ibG9nL2pvaW5pbmctY2xvdWRmbGFyZS8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710481">announcement post</a>, Fred Schott talked about how he and the Astro team had tried to launch various paid features over the years, but they all “fell flat and rarely justified their own existence.” So Astro was running out of time and options supporting their work on the framework.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">That’s when Cloudflare came in and offered a lifeline, with job offers for the whole Astro team and ongoing financial support for open-source contributors.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Cloudflare’s motivations are a little more interesting here, since they seem to have no plans for directly monetizing Astro. They say that it boils down to the fact that Astro will enable them to pursue their mission of “helping build a better internet,” <em>(aww)</em> by “helping build a faster internet.”</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">But they also get a great team of engineers and a lot of love and clout in the developer community. And when you have a market cap of $65 billion, you can afford to do vibes-based acqui-hires like this (just ask Shopify and Remix).</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Bottom Line:</strong> I just hope Fred was savvy enough to tell Dane Knect that Guillermo offered him $100 million.</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://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/x0hph3uekz5qz9u5/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDU1" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1824710482"><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://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/6qhehoulxwm9woio/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0NTU=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1824710483"><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://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/kkhmh2unzekxe4bl/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9V2h5JTIwZGlkJTIwQ2xvdWRmbGFyZSUyMGJ1eSUyMEFzdHJvJTNGJTIwV2UlMjBicm9rZSUyMGl0JTIwZG93biZ1cmw9aHR0cHMlM0ElMkYlMkZieXRlcy5kZXYlMkZhcmNoaXZlcyUyRjQ1NQ==" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1824710484"><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://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/25h2h9u3lgkmg6c3/bWFpbHRvOj9ib2R5PVRob3VnaHQlMjB5b3UlMjdkJTIwbG92ZSUyMHRoaXMlMjB3ZWVrJTI3cyUyMEJ5dGVzJTBBLS0tJTBBV2h5JTIwZGlkJTIwQ2xvdWRmbGFyZSUyMGJ1eSUyMEFzdHJvJTNGJTIwV2UlMjBicm9rZSUyMGl0JTIwZG93biUwQWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0NTUmc3ViamVjdD1Zb3UlMjBsaWtlJTIwY29ybmJyZWFkJTNG" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1824710486"><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/sentry-logo.png" alt="Sentry 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/mario-clown.jpg" alt="Mario as a clown" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 15px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">When my AI code reviewer can't fix all my AI slop code<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/qvh8h8udev9kvwul/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby9idWlsZGluZy1hLWNvZGUtcmV2aWV3LXN5c3RlbS10aGF0LXVzZXMtcHJvZC1kYXRhLXRvLXByZWRpY3QtYnVncy8_dXRtX2NhbXBhaWduPWFpLWZ5MjZxNC1haWNvZGVyZXZpZXdsYXVuY2gmdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1idWctcHJvZC1ibG9nLWxlYXJubW9yZSZ1dG1fbWVkaXVtPXBhaWQtY29tbXVuaXR5JnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710487">Building a code review system that uses prod data to predict bugs</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Most AI code review tools feel like a glorified linter – but <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/qvh8h8udev9kvwul/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby9idWlsZGluZy1hLWNvZGUtcmV2aWV3LXN5c3RlbS10aGF0LXVzZXMtcHJvZC1kYXRhLXRvLXByZWRpY3QtYnVncy8_dXRtX2NhbXBhaWduPWFpLWZ5MjZxNC1haWNvZGVyZXZpZXdsYXVuY2gmdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1idWctcHJvZC1ibG9nLWxlYXJubW9yZSZ1dG1fbWVkaXVtPXBhaWQtY29tbXVuaXR5JnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710487">this deep dive</a> from Sentry explains how their AI Code Review actually works under the hood to find real bugs.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">What’s different here:</strong></p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Prod-aware reviews</strong> combine your code changes with real Sentry error data, so suggestions are based on how your app actually fails in production.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Multi-agent verification</strong> filters out weak hypotheses, false positives, and unhelpful style tips.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Built for real PRs</strong> with file filtering, repo-specific memory, and bug confidence scoring, so that reviews stay useful even on large changes.</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/qvh8h8udev9kvwul/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby9idWlsZGluZy1hLWNvZGUtcmV2aWV3LXN5c3RlbS10aGF0LXVzZXMtcHJvZC1kYXRhLXRvLXByZWRpY3QtYnVncy8_dXRtX2NhbXBhaWduPWFpLWZ5MjZxNC1haWNvZGVyZXZpZXdsYXVuY2gmdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1idWctcHJvZC1ibG9nLWxlYXJubW9yZSZ1dG1fbWVkaXVtPXBhaWQtY29tbXVuaXR5JnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710487">Check out the article</a> to see how they built it.</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: 19px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Sponsored by <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/g3hnhwumgn4qnwcr/aHR0cHM6Ly9zcnYuYnV5c2VsbGFkcy5jb20vYWRzL2xvbmcveC9UQ0hONDdJUVRUVFRUVDQ0U1FVTkxUVFRUVFRRSlNEMjI2VFRUVFRUUDQ3Q0tCVlRUVFRUVDdaV1A3Tk1LWUk0NTJMV1dTSVZQM05VVFJQN0tSM040SUlMQ0ozRQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710488">Auth0</a>
</h4>
<p style="font-family: Outfit, sans-serif; font-size: 16px; line-height: 1.5; margin-top: 5px; padding-left: 24px; padding-right: 24px;"><em>It provides a simple and secure way to <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/g3hnhwumgn4qnwcr/aHR0cHM6Ly9zcnYuYnV5c2VsbGFkcy5jb20vYWRzL2xvbmcveC9UQ0hONDdJUVRUVFRUVDQ0U1FVTkxUVFRUVFRRSlNEMjI2VFRUVFRUUDQ3Q0tCVlRUVFRUVDdaV1A3Tk1LWUk0NTJMV1dTSVZQM05VVFJQN0tSM040SUlMQ0ozRQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710488">connect AI agents to external apps</a> and require human approval for sensitive actions. Free for up to 25k free monthly active users.</em></p>
</div>
</div>
<pre class="language-js" style="background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #231F20; overflow: auto; padding: 24px;"><code class="language-js" style="font-size: 14px;"><span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> user <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 14px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 14px;">:</span> <span class="token string" style="color: #f99157; font-size: 14px;">'Tyler'</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 14px;">age</span><span class="token operator" style="color: #12b5e5; font-size: 14px;">:</span> <span class="token number" style="color: #fcba28; font-size: 14px;">32</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">greet</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">alert</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token template-string" style="font-size: 14px;"><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span><span class="token string" style="color: #f99157; font-size: 14px;">Hello, my name is </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>name<span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span></span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 14px;">mother</span><span class="token operator" style="color: #12b5e5; font-size: 14px;">:</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 14px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 14px;">:</span> <span class="token string" style="color: #f99157; font-size: 14px;">'Jan'</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">greet</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">alert</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token template-string" style="font-size: 14px;"><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span><span class="token string" style="color: #f99157; font-size: 14px;">Hello, my name is </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>mother<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>name<span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span></span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
user<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>mother<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">greet</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</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: 17px; line-height: 1.5;">Norbert Heger wrote about <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/9qhzhdud4xo5xmf9/aHR0cHM6Ly9ub2hlZ2VyLmF0L2Jsb2cvMjAyNi8wMS8xMS90aGUtc3RydWdnbGUtb2YtcmVzaXppbmctd2luZG93cy1vbi1tYWNvcy10YWhvZS8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710489">the struggle of resizing windows on macOS Tahoe</a>. God gives his toughest battles to his strongest soldiers.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Chrome 144 just shipped with a new <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/3ohphdu3xrepr5hr/aHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9ibG9nL2dlb2xvY2F0aW9uLWh0bWwtZWxlbWVudA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710490"><code style="font-size: 14px;"><geolocation></code> HTML element</a> that changes how sites request user location data. Anything that makes it easier for Daddy Sundar to know my exact coordinates at all times.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/n2hohquv2gz7gzf6/aHR0cHM6Ly9mYW5kZi5jby80OTRKOTdE" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710491">Trigger.dev</a> is an open-source platform for building AI agents and workflows in TypeScript (13.3k GitHub stars). It handles long-running tasks with automatic retries, tool calling, queues, observability, and elastic scaling so you don’t need to build (and rebuild) it all yourself. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Jen Simmons and Brandon Stewart broke down how <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/48hvh7umw94x9xhx/aHR0cHM6Ly93ZWJraXQub3JnL2Jsb2cvMTc3NDYvbmV3LXNhZmFyaS1kZXZlbG9wZXItdG9vbHMtcHJvdmlkZS1pbnNpZ2h0LWludG8tY3NzLWdyaWQtbGFuZXMv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710492">new Safari developer tools provide insight into CSS Grid Lanes</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Raymond Chen wrote about <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/wnh2h6uqm4e04li7/aHR0cHM6Ly9kZXZibG9ncy5taWNyb3NvZnQuY29tL29sZG5ld3RoaW5nLzIwMjYwMTAxLTAwLz9wPTExMTk1NQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710493">swapping two blocks of memory that reside inside a larger block</a>. Then I put that block inside of another block, then I <em>mail</em> that block to myself…</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/reh8h9umk7g67pi2/aHR0cHM6Ly9tYWNyb3Njb3BlLmNvbS9haS1jb2RlLXJldmlldz91dG1fY29udGVudD1wcmltYXJ5c3BvbnNvcnNoaXAmdXRtX21lZGl1bT1uZXdzbGV0dGVyJnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710494">Macroscope catches more bugs than any other AI code reviewer</a>, according to a code review benchmark of production bugs in OSS repos. Try it out for free to see the difference. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Oxfmt announced <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/08hwhgu2nx3lx8fl/aHR0cHM6Ly9veGMucnMvZG9jcy9ndWlkZS91c2FnZS9mb3JtYXR0ZXIvc29ydGluZy5odG1s" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710495">support for Tailwind CSS class sorting</a> in all major editors.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">In the wake of 2025’s Shai-Hulud attacks, ESLint creator Nicholas C. Zakas gave his advice on <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/8ghqh3uow3mrpefk/aHR0cHM6Ly9odW1hbndob2NvZGVzLmNvbS9ibG9nLzIwMjYvMDEvaG93LWdpdGh1Yi1jb3VsZC1zZWN1cmUtbnBtLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710496">how GitHub could secure npm</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/vqh3hmuom4zw3xtg/aHR0cHM6Ly9zcnYuYnV5c2VsbGFkcy5jb20vYWRzL2xvbmcveC9URk0yTFVEUVRUVFRUVEZaUDNQTkxUVFRUVFRRTE1CVTI2VFRUVFRUQ1RISFlCVlRUVFRUVFlJNDVRUkZWV1NGVlc3NjRMNEs1UUxVNFdMUFFKRVVFUklVRzNRVA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710497">GitLab Transcend</a> is a free virtual event happening on Feb 10th, where engineering leaders will share real-life stories of how their teams are using agentic AI to improve DevOps, security, and software delivery. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/l2heh6ulq48xvnb6/aHR0cHM6Ly9naXRodWIuY29tL251eHQvYTExeQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710498">Nuxt a11y</a> is a new Nuxt module that offers real-time accessibility feedback and actionable insights to fix all of your WCAG transgressions.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Antoine Boulanger identified some <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/m2h7h6u329d409hm/aHR0cHM6Ly93d3cuYWJsZy5pby9ibG9nL25vLW1hbmFnZW1lbnQtbmVlZGVk" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710499">anti-patterns in early-stage engineering teams</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/dphehmuedklpwwum/aHR0cHM6Ly9naXRodWIuY29tL1BhbmthanRhbndhcmJhbm5hL3N0ZnU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710500">stfu</a> is a tiny app that plays back the audio it hears, delayed by 2 seconds. A revolutionary new way to shame people watching videos at full volume in public without headphones.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Abdul Rahman Sibahi broke down his <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/e0hph0u7me8rw2s8/aHR0cHM6Ly9ibG9nLmFyLW1zLm1lL3Rob3VnaHRzL3RyYW5zbGF0aW9uLWNsaS8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710501">unbearable frustration of figuring out APIs</a>. It’s a lot like <em>The Unbearable Weight of Massive Talent</em>, except by reading this blog post you won’t be helping Nic Cage get out of debt.</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: 19px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Sponsored by <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/g3hnhwumgn4qnwcr/aHR0cHM6Ly9zcnYuYnV5c2VsbGFkcy5jb20vYWRzL2xvbmcveC9UQ0hONDdJUVRUVFRUVDQ0U1FVTkxUVFRUVFRRSlNEMjI2VFRUVFRUUDQ3Q0tCVlRUVFRUVDdaV1A3Tk1LWUk0NTJMV1dTSVZQM05VVFJQN0tSM040SUlMQ0ozRQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710488">Auth0</a>
</h4></div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">When we invoke <code style="font-size: 14px;">user.mother.greet</code>, we can tell what the <code style="font-size: 14px;">this</code> keyword is referencing by looking to the <a href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/7qh7h2u9d8rnp4sz/aHR0cHM6Ly9maXJlc2hpcC5kZXYvdGhpcy1rZXl3b3JkLWNhbGwtYXBwbHktYmluZC1qYXZhc2NyaXB0" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1824710502">“left of the dot”</a> of the invocation – in this case, <code style="font-size: 14px;">mother</code>.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">So inside of <code style="font-size: 14px;">greet</code>, it’s as if we had <code style="font-size: 14px;">my name is ${mother.mother.name}</code>, which is clearly wrong. Instead, since the <code style="font-size: 14px;">this</code> keyword is referencing <code style="font-size: 14px;">mother</code>, we can just do <code style="font-size: 14px;">this.name</code>.</p>
<pre class="language-js" style="background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #231F20; overflow: auto; padding: 24px;"><code class="language-js" style="font-size: 14px;"><span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> user <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 14px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 14px;">:</span> <span class="token string" style="color: #f99157; font-size: 14px;">'Tyler'</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 14px;">age</span><span class="token operator" style="color: #12b5e5; font-size: 14px;">:</span> <span class="token number" style="color: #fcba28; font-size: 14px;">32</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">greet</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">alert</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token template-string" style="font-size: 14px;"><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span><span class="token string" style="color: #f99157; font-size: 14px;">Hello, my name is </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>name<span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span></span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 14px;">mother</span><span class="token operator" style="color: #12b5e5; font-size: 14px;">:</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 14px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 14px;">:</span> <span class="token string" style="color: #f99157; font-size: 14px;">'Jan'</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">greet</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">alert</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token template-string" style="font-size: 14px;"><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span><span class="token string" style="color: #f99157; font-size: 14px;">Hello, my name is </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>name<span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span></span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
user<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>mother<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">greet</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</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://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/owhkhwuwxn2ql4fv/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1824710503">Sponsor Bytes</a></div>
<div style="margin-bottom:20px"><a style="color: #FCBA28; font-size: 14px; font-weight: 600; text-decoration: underline;" href="https://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/z2hgh7ue57qlr3cp/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1824710504">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://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/p8hehqu4rdnq54bq/aHR0cHM6Ly9maXJlc2hpcC5kZXY=" url-id="1824710505">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://click.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30/x0hph3uekz5qd9a5/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1824710506">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://unsubscribe.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30">Unsubscribe</a></span>
<!-- -->
<img src="https://open.kit-mail6.com/gku3k3q5wwh5hlgpw0nhrh8wx2699imh2w30" alt="">
</body>
</html>