<!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/old-lady-staring.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/qa-wolf-logo.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/dwight-recorder.jpg">
<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: Waiting and dating</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: 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> Being absorbed into the type realm, titillating Hacker News, and fending off Sama’s advances.</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://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/m2h7h6u35k59l8bm/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNDcw" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575744">#470</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/old-lady-staring.jpg" alt="Old lady staring into the void" 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 they finally fix JavaScript dates just in time for AI to write all your code<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Waiting and dating</h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">If it feels like you’ve been hearing about the Temporal API for the past decade, it’s because you have. But salvation is finally nigh, because it just hit Stage 4 this week and will officially be added to ES2026 this summer.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">But how did JavaScript dates get so screwed up, and why did it take 30 years to fix? Let’s dive in.</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;">Quick history lesson:</strong> When Brendan Eich went on his 10-day bender to build the world’s most popular programming language back in 1995, he had to cut a few corners. One of those was to copy-paste Java’s <code style="font-size: 14px;">Date</code> implementation directly into JavaScript to make it <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/dphehmue6z6k2esm/aHR0cHM6Ly94LmNvbS9CcmVuZGFuRWljaC9zdGF0dXMvOTY4NTE1MDIyNDcyMjUzNDQw" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575745">look more like Java</a>.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Sounds reasonable, but turned out to be very horrible.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><code style="font-size: 14px;">Date</code> is mutable, has hazardous behavior, and doesn’t work well with timezones and daylight savings <em>(same here, brother)</em>. It was painful enough that full libraries like Moment.js sprung up as workarounds, even though they were also imperfect and very heavy.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">So back in 2017, the initial Temporal proposal was submitted to fix dates once and for all at the JavaScript language level.</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;">So why has it taken 9 more years to ship?</strong></p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">It’s huge</strong> – Temporal brings more changes to JavaScript than <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/e0hph0u7v9vedqf8/aHR0cHM6Ly9ibG9vbWJlcmcuZ2l0aHViLmlvL2pzLWJsb2cvcG9zdC90ZW1wb3JhbC8jaW1wbGVtZW50YXRpb24=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575746">any other proposal in JS history</a>. It’s a ton of work for developers to implement, and it has needed to be refactored multiple times over the years</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">It’s hard for browser engines</strong> – Every engine had to implement it independently from scratch, which was a huge undertaking. Not every team had the bandwidth to prioritize it, which led to long delays for everyone to reach Stage 3.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">A shared Rust library saved the day</strong> – In 2024, Google and Boa collaborated on <code style="font-size: 14px;">temporal_rs</code>, a Rust library that both V8 and Boa engines can build on. This decouples the implementation from engine context, and provided a shared foundation that helped get Temporal across the line.</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">It’s taken a ton of work, but it was all worth it to get immutable, DST-aware JavaScript dates, along with some very helpful <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/7qh7h2u9lvl8xziz/aHR0cHM6Ly90YzM5LmVzL3Byb3Bvc2FsLXRlbXBvcmFsLyNzZWMtY29uc3RydWN0b3ItcHJvcGVydGllcy1vZi10aGUtdGVtcG9yYWwtb2JqZWN0" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575747">date type constructors</a>.</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 Codex appreciates this as much as I do <span role="img" aria-label="smiling face with tear">🥲</span>.</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/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/owhkhwuw939n05hv/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDcw" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1839575748"><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/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/z2hgh7ue6967m5up/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0NzA=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1839575749"><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/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/x0hph3ue282z42f5/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9V2h5JTIwZGlkJTIwaXQlMjB0YWtlJTIwOSUyMHllYXJzJTIwdG8lMjBzaGlwJTIwdGhlJTIwVGVtcG9yYWwlMjBBUEklM0YmdXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0NzA=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1839575751"><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/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/kkhmh2unwgweoqcl/bWFpbHRvOj9ib2R5PVRob3VnaHQlMjB5b3UlMjdkJTIwbG92ZSUyMHRoaXMlMjB3ZWVrJTI3cyUyMEJ5dGVzJTBBLS0tJTBBV2h5JTIwZGlkJTIwaXQlMjB0YWtlJTIwOSUyMHllYXJzJTIwdG8lMjBzaGlwJTIwdGhlJTIwVGVtcG9yYWwlMjBBUEklM0YlMEFodHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDcwJnN1YmplY3Q9WW91JTIwbGlrZSUyMGNvcm5icmVhZCUzRg==" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1839575753"><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/qa-wolf-logo.png" alt="QA Wolf 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/dwight-recorder.jpg" alt="Dwight Schrute playing the recorder by a dumpster" 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;">My test suite might be flaky, but it's also slow<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/25h2h9u39r9gqku3/aHR0cHM6Ly9hdHRlbmQucWF3b2xmLmNvbS9zZWUtaXQtaW4tYWN0aW9uLXFhLXdvbGZzLWFpLXBvd2VyZWQtYWktcG93ZXJlZC1xYS1wbGF0Zm9ybS9yZWdpc3RyYXRpb24_dXRtX2NhbXBhaWduPUFDUV9BbGxfRGVtb19Db252ZXJzaW9uc19fTmV3c2xldHRlckF1ZGllbmNlXy1fTmV3c2xldHRlcl9EZW1pbmFyXzIwMjYwMzEzLU5vbmVfRXhwZXJpbWVudC1GQUxTRSZ1dG1fY29udGVudD1EZW1pbmFyX1JTVlBIZXJlRm9yVGhlV29ya3Nob3BfTm9uZV9IZWFkbGluZSUzQUFJU3BlZFVwUFJzRG9udExldFFBU2xvd1RoZVNoaXBfX19fTmV3c2xldHRlci1QcmltYXJ5UGxhY2VtZW50XzIwMjYwMzEzX3YxXyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX3NvdXJjZT1ieXRlcyZ1dG1fdGVybT1oZWFkbGluZS1BSVNwZWRVcFJlbGVhc2VzRG9udExldFFBU2xvd1RoZVNoaXA=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575755">AI sped up PRs. Don’t let QA slow the ship.</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Testing is the #1 reason releases get delayed.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">On Thu, Mar 26 @ 12 PM PT, QA Wolf co-founder & CEO Jon Perl is hosting a <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/g3hnhwum979n00ar/aHR0cHM6Ly9hdHRlbmQucWF3b2xmLmNvbS9zZWUtaXQtaW4tYWN0aW9uLXFhLXdvbGZzLWFpLXBvd2VyZWQtYWktcG93ZXJlZC1xYS1wbGF0Zm9ybS9yZWdpc3RyYXRpb24_dXRtX2NhbXBhaWduPUFDUV9BbGxfRGVtb19Db252ZXJzaW9uc19fTmV3c2xldHRlckF1ZGllbmNlXy1fTmV3c2xldHRlcl9EZW1pbmFyXzIwMjYwMzEzLU5vbmVfRXhwZXJpbWVudC1GQUxTRSZ1dG1fY29udGVudD1EZW1pbmFyX1JTVlBIZXJlRm9yVGhlV29ya3Nob3BfTm9uZV9IZWFkbGluZSUzQUFJU3BlZFVwUFJzRG9udExldFFBU2xvd1RoZVNoaXBfX19fTmV3c2xldHRlci1QcmltYXJ5UGxhY2VtZW50XzIwMjYwMzEzX3YxXyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX3NvdXJjZT1ieXRlcyZ1dG1fdGVybT1ib2R5LUZyZWVMaXZlTm9GbHVmZldvcmtzaG9w" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575757">free, no-fluff live workshop</a> showing how QA Wolf’s AI actually works—running the full E2E lifecycle end-to-end.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">You’ll see:</p>
<ul>
<li>
<strong style="font-weight: 600;">Mapping AI</strong> autonomously explore your app and map workflows</li>
<li>
<strong style="font-weight: 600;">Automation AI</strong> generate deterministic, code-based tests</li>
<li>
<strong style="font-weight: 600;">100% parallel runs</strong> across web, iOS, and Android—results in minutes</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://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/g3hnhwum979n00ar/aHR0cHM6Ly9hdHRlbmQucWF3b2xmLmNvbS9zZWUtaXQtaW4tYWN0aW9uLXFhLXdvbGZzLWFpLXBvd2VyZWQtYWktcG93ZXJlZC1xYS1wbGF0Zm9ybS9yZWdpc3RyYXRpb24_dXRtX2NhbXBhaWduPUFDUV9BbGxfRGVtb19Db252ZXJzaW9uc19fTmV3c2xldHRlckF1ZGllbmNlXy1fTmV3c2xldHRlcl9EZW1pbmFyXzIwMjYwMzEzLU5vbmVfRXhwZXJpbWVudC1GQUxTRSZ1dG1fY29udGVudD1EZW1pbmFyX1JTVlBIZXJlRm9yVGhlV29ya3Nob3BfTm9uZV9IZWFkbGluZSUzQUFJU3BlZFVwUFJzRG9udExldFFBU2xvd1RoZVNoaXBfX19fTmV3c2xldHRlci1QcmltYXJ5UGxhY2VtZW50XzIwMjYwMzEzX3YxXyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX3NvdXJjZT1ieXRlcyZ1dG1fdGVybT1ib2R5LUZyZWVMaXZlTm9GbHVmZldvcmtzaG9w" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575757">Reserve your spot here</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/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;"><a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/48hvh7umlzl935ix/aHR0cHM6Ly92aXRlLmRldi9ibG9nL2Fubm91bmNpbmctdml0ZTg=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575761">Vite 8.0</a> just launched with the new Rolldown bundler, along with a few surprising twists we’ll break down next week.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">The Chrome team wrote about <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/wnh2h6uq7974dkc7/aHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9ibG9nL3dlYm1jcC1tY3AtdXNhZ2U=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575762">when to use WebMCP and MCP</a>. I thought we had all agreed that the answer to this question was never?</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/08hwhgu2e0ex4whl/aHR0cHM6Ly9zZXJwYXBpLmNvbS8_dXRtX3NvdXJjZT1ieXRlc2Rldg==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575764">SerpApi</a> gives you simple search engine APIs to scrape Google, Amazon, and 40+ other services - returning real-time, structured JSON. Check out the free plan to get 250 searches per month. Used by companies like Nvidia, Adobe, and Ahrefs. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/vqh3hmuo02046ksg/aHR0cHM6Ly9yd3Nkay5jb20vYmxvZy9yZWR3b29kLXYxLWdldHRpbmctb3V0LW9mLXRoZS13ZWVkcw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575766">RedwoodSDK 1.0</a> just launched and is going all-in on Cloudflare.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Jökull Sólberg wrote about <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/m2h7h6u35k59x8cm/aHR0cHM6Ly93d3cuc29sYmVyZy5pcy91bmtub3duLXRvLXR5cGVk" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575768">absorbing <code style="font-size: 14px;">unknown</code> into the Type realm</a>. I was absorbed into the Type realm one night when walking home in the snow, and the things I saw can never be unseen.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Mike Cann made a video <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/dphehmue6z6kxefm/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1KbXJhUzI5S3Fncw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575769">testing out the top 9 AI code review bots</a> on a React+Vite+Convex app. He said he wanted to see which ones could “spot the bugs”, and I’ve already instructed my lawyer to send a cease-and-desist. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Sarah Gooding broke down why <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/e0hph0u7v9vezqh8/aHR0cHM6Ly9zb2NrZXQuZGV2L2Jsb2cvbm9kZS1qcy1tb3Zlcy10by1hbm51YWwtbWFqb3ItcmVsZWFzZXMtc3RhcnRpbmctd2l0aC1ub2RlLTI3" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575770">Node.js is moving to an annual release schedule</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">TanStack AI shipped <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/owhkhwuw939ne5sv/aHR0cHM6Ly90YW5zdGFjay5jb20vYmxvZy9nZW5lcmF0aW9uLWhvb2tz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575772">generation hooks</a>, a unified set of framework-agnostic hooks that give you first-class primitives for non-chat AI tasks. Sam Altman doesn’t understand what that means but he’s already offered them $75 million for it.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/z2hgh7ue6967z5ap/aHR0cHM6Ly90cnkuZXhwby5kZXYvYnl0ZXMtd29ya2Zsb3dz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575773">EAS Workflows</a> is mobile CI/CD purpose-built for React Native. It knows when you actually need a native build vs. a quick JS update, so you skip builds you don’t need. And it runs alongside your existing pipeline, so you don’t have to rip out GitHub Actions. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/p8hehqu46k6demcq/aHR0cHM6Ly9uaXRyby5idWlsZC9ibG9nL3YzLWJldGE=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575774">Nitro v3 Beta</a> just launched with Vite 8 + Rolldown integration, a new npm package, and the ability to take full control of your <code style="font-size: 14px;">server.ts</code> entry file for custom framework routing.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Andrew Nesbitt <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/6qhehoulrvrw4euo/aHR0cHM6Ly9uZXNiaXR0LmlvLzIwMjYvMDMvMTAvanVzdC11c2UtcG9zdGdyZXMuaHRtbA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575776">pushed <em>just used Postgres</em> to its limit</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Right off the back of his recent 30k line PR, Matt Lugg broke down <a href="https://c5e21242.click.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/7qh7h2u9lvl8e2hz/aHR0cHM6Ly96aWdsYW5nLm9yZy9kZXZsb2cvMjAyNi8jMjAyNi0wMy0xMA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1839575778">Zig’s type resolution redesign</a>, which simplifies the Zig compiler’s internal logic. HN hasn’t been this titilated since they first watched Angelina Jolie scream “Hack the planet!!” back in 1995.</p>
</li>
</ol>
<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/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/owhkhwuw939ne2tv/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1839575779">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/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/z2hgh7ue6967zlcp/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1839575780">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/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/x0hph3ue282zmma5/aHR0cHM6Ly9maXJlc2hpcC5kZXY=" url-id="1839575782">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/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9/6qhehoulrvrw4qbo/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1839575783">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/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9">Unsubscribe</a></span>
<!-- -->
<img src="https://c5e21242.open.convertkit-mail.com/4zu8w8zdllcehplr7pdtxh6mxmmzoc5hn8l9" alt="">
</body>
</html>