<!DOCTYPE html>
<html>
<head>
<title>Bytes: React Native is pre-built different</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;">The haters told us it was impossible, but we’ve officially made it to the 400th issue of Bytes <em>and</em> our 5-year anniversary <span role="img" aria-label="woman dancing">💃</span>.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">What started as me making dumb JavaScript memes in my mom’s basement during the depths of Covid has grown into… me making dumb JavaScript memes in my mom’s basement (but with sponsors now).</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">In the early days, we used to do a one-question interview where we asked developers, “What will building for the web look like in 5 years?” One of the most prescient replies came from <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/kkhmh2un2690mzil/aHR0cHM6Ly90d2l0dGVyLmNvbS9ldmVwb3JjZWxsbw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188629">Eve Porcello</a>, who basically <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/58hvh8ugok9d7qc6/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNDU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188630">predicted</a> vibe coding back in April 2021:</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><em>“Building for the web will look like writing specs or documentation. Robots are coming for our jobs, and we can help these overlords by communicating clearly about the experiences that we want to create.”</em></p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Since starting this newsletter, I’ve mostly measured time in Bytes issues. And in many ways, it feels harder than ever to predict what building for the web will look like another 400 issues from now (unless you’re Eve, obviously). But I’m hopeful that most of us will still be getting paid to create cool software – whatever that ends up looking like.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Thanks for reading 🫶.</p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<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> Perfecting the UI on my Video iPod, using Git at work for the first time, and giving my relationship with Jest a fighting chance.</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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/25h2h9u304opd9h3/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNDAw" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188631">#400</a> <span role="img" aria-label="bottle with popping cork">🍾</span></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/sheen-eyes.jpg" alt="Sheen from Jimmy Neutron with crazy eyes" 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;">Flutter devs watching WWDC<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">React Native is pre-built different</h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">The devil works hard, but the React Native team works harder. They just released <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/qvh8h8ud2o6mnpal/aHR0cHM6Ly9yZWFjdG5hdGl2ZS5kZXYvYmxvZy8yMDI1LzA2LzEyL3JlYWN0LW5hdGl2ZS0wLjgw" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188632">React Native 0.80</a> yesterday – which is already their <em>fourth</em> release of 2025 and one more than they had in all of 2024.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Not only did this release help me win that over/under bet I placed on Polymarket (and avoid defaulting on my mortgage), it also introduced two big changes to React Native’s JavaScript API:</p>
<ol>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Deep imports get deprecated</strong> – Removing these subpath imports will help simplify the API and reduce its surface area into a fixed set of exports that RN can control and eventually make stable.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Strict TypeScript API</strong> – This is a new set of opt-in TypeScript types that are generated directly from the RN source code to improve type coverage, and they’re restricted to RN’s index file to help define the public API more tightly. This API will become RN’s default API in the future, so look out.</p>
</li>
</ol>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">This other major development from this release is new (experimental) prebuilt iOS dependencies that make iOS builds <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/g3hnhwumo6z8p5hr/aHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LW5hdGl2ZS1jb21tdW5pdHkvZGlzY3Vzc2lvbnMtYW5kLXByb3Bvc2Fscy9kaXNjdXNzaW9ucy85MTI=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188633">12% faster</a>. That might not sound <em>super</em> exciting, but the next release promises to ship the entire core as a prebuild, because the RN team finally thinks we deserve nice things.</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> Does this mean we’re finally getting closer to a fully stable React Native v1.0 release? I probably wouldn’t hold my breath.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">But now that the RN team has <del>doubled their Adderall prescription</del> <em>started pumping out new releases faster than ever,</em> it might come faster than you think.</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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/9qhzhdud3z2v9vh9/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDAw" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1755188634"><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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/3ohphdu394d5zetr/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0MDA=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1755188635"><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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/n2hohquv56o9r7a6/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9UmVhY3QlMjBOYXRpdmUlMjBpcyUyMGNsZWFuaW5nJTIwdXAlMjB0aGVpciUyMEFQSXMlMjBmb3IlMjB0aGUlMjBiaWclMjBzaG93JnVybD1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDAw" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1755188636"><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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/48hvh7umq62dg7tx/bWFpbHRvOj9ib2R5PVRob3VnaHQlMjB5b3UlMjdkJTIwbG92ZSUyMHRoaXMlMjB3ZWVrJTI3cyUyMEJ5dGVzJTBBLS0tJTBBUmVhY3QlMjBOYXRpdmUlMjBpcyUyMGNsZWFuaW5nJTIwdXAlMjB0aGVpciUyMEFQSXMlMjBmb3IlMjB0aGUlMjBiaWclMjBzaG93JTBBaHR0cHMlM0ElMkYlMkZieXRlcy5kZXYlMkZhcmNoaXZlcyUyRjQwMCZzdWJqZWN0PVlvdSUyMGxpa2UlMjBjb3JuYnJlYWQlM0Y=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1755188637"><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/sad-zendaya.jpg" alt="Zendaya holding a phone looking sad and tired" 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;">"Looks good on my device"<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/wnh2h6uqvxo2gdb7/aHR0cHM6Ly93d3cucWF3b2xmLmNvbS9zb2x1dGlvbnMvaW9zLXRlc3Rpbmc_dXRtX2NhbXBhaWduPUFDUV9BbGxfRGVtb19Db252ZXJzaW9uc19fTmV3c2xldHRlckF1ZGllbmNlXy1fTmV3c2xldHRlcl9NYWtlaU9TVGVzdGluZ1NpbXBsZV8yMDI1MDYxMi1Ob25lX0V4cGVyaW1lbnQtRkFMU0UmdXRtX2NvbnRlbnQ9TWFrZWlPU1Rlc3RpbmdTaW1wbGVfU2NoZWR1bGVBUGVyc29uYWxpemVkRGVtb1RvTGVhcm5Nb3JlX05vbmVfSGVhZGxpbmUlM0FNYWtlaVNPVGVzdGluZ1NpbXBsZUFuZEZhc3RfX19fTmV3c2xldHRlci1QcmltYXJ5UGxhY2VtZW50XzIwMjUwNjEyX3YxXyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX3NvdXJjZT1ieXRlcyZ1dG1fdGVybT1oZWFkbGluZS1NYWtlaU9TVGVzdGluZ1NpbXBsZUFuZEZhc3Q=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188638">Make iOS testing simple (and fast)</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">This week’s Apple WWDC made one thing clear: shipping apps on iOS devices isn’t going to get any easier.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Thankfully, <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/08hwhgu2wg76q0sl/aHR0cHM6Ly93d3cucWF3b2xmLmNvbT91dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX01ha2VpT1NUZXN0aW5nU2ltcGxlXzIwMjUwNjEyLU5vbmVfRXhwZXJpbWVudC1GQUxTRSZ1dG1fY29udGVudD1NYWtlaU9TVGVzdGluZ1NpbXBsZV9TY2hlZHVsZUFQZXJzb25hbGl6ZWREZW1vVG9MZWFybk1vcmVfTm9uZV9IZWFkbGluZSUzQU1ha2VpU09UZXN0aW5nU2ltcGxlQW5kRmFzdF9fX19OZXdzbGV0dGVyLVByaW1hcnlQbGFjZW1lbnRfMjAyNTA2MTJfdjFfJnV0bV9tZWRpdW09bmV3c2xldHRlciZ1dG1fc291cmNlPWJ5dGVzJnV0bV90ZXJtPWJvZHktUUFXb2xm" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188640">QA Wolf</a> just launched <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/8ghqh3uopq56k0tk/aHR0cHM6Ly93d3cucWF3b2xmLmNvbS9zb2x1dGlvbnMvaW9zLXRlc3Rpbmc_dXRtX2NhbXBhaWduPUFDUV9BbGxfRGVtb19Db252ZXJzaW9uc19fTmV3c2xldHRlckF1ZGllbmNlXy1fTmV3c2xldHRlcl9NYWtlaU9TVGVzdGluZ1NpbXBsZV8yMDI1MDYxMi1Ob25lX0V4cGVyaW1lbnQtRkFMU0UmdXRtX2NvbnRlbnQ9TWFrZWlPU1Rlc3RpbmdTaW1wbGVfU2NoZWR1bGVBUGVyc29uYWxpemVkRGVtb1RvTGVhcm5Nb3JlX05vbmVfSGVhZGxpbmUlM0FNYWtlaVNPVGVzdGluZ1NpbXBsZUFuZEZhc3RfX19fTmV3c2xldHRlci1QcmltYXJ5UGxhY2VtZW50XzIwMjUwNjEyX3YxXyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX3NvdXJjZT1ieXRlcyZ1dG1fdGVybT1ib2R5LUF1dG9tYXRlZGlPU1Rlc3Rpbmc=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188641">Automated iOS Testing</a> to help your team catch more bugs and speed up your release cycles.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Here’s how it works:</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">They built <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/vqh3hmuo3ek98vcg/aHR0cHM6Ly93d3cucWF3b2xmLmNvbS9zb2x1dGlvbnMvaW9zLXRlc3Rpbmc_dXRtX2NhbXBhaWduPUFDUV9BbGxfRGVtb19Db252ZXJzaW9uc19fTmV3c2xldHRlckF1ZGllbmNlXy1fTmV3c2xldHRlcl9NYWtlaU9TVGVzdGluZ1NpbXBsZV8yMDI1MDYxMi1Ob25lX0V4cGVyaW1lbnQtRkFMU0UmdXRtX2NvbnRlbnQ9TWFrZWlPU1Rlc3RpbmdTaW1wbGVfU2NoZWR1bGVBUGVyc29uYWxpemVkRGVtb1RvTGVhcm5Nb3JlX05vbmVfSGVhZGxpbmUlM0FNYWtlaVNPVGVzdGluZ1NpbXBsZUFuZEZhc3RfX19fTmV3c2xldHRlci1QcmltYXJ5UGxhY2VtZW50XzIwMjUwNjEyX3YxXyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX3NvdXJjZT1ieXRlcyZ1dG1fdGVybT1ib2R5LVRoZWlyT3duRGV2aWNlRmFybQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188642">their own device farm</a> that provides 100% parallel test runs on real iPhones and iPads – so you get pass/fail results in minutes</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">They create tests to cover every gesture, sensor, and UI/UX element in your app – including Apple ID and Apple Pay features</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">They investigate all test failures, catch all the flakes, and continuously update your test suite as your app evolves</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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/l2heh6ulv6kmw4s6/aHR0cHM6Ly93d3cucWF3b2xmLmNvbT91dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX01ha2VpT1NUZXN0aW5nU2ltcGxlXzIwMjUwNjEyLU5vbmVfRXhwZXJpbWVudC1GQUxTRSZ1dG1fY29udGVudD1NYWtlaU9TVGVzdGluZ1NpbXBsZV9TY2hlZHVsZUFQZXJzb25hbGl6ZWREZW1vVG9MZWFybk1vcmVfTm9uZV9IZWFkbGluZSUzQU1ha2VpU09UZXN0aW5nU2ltcGxlQW5kRmFzdF9fX19OZXdzbGV0dGVyLVByaW1hcnlQbGFjZW1lbnRfMjAyNTA2MTJfdjFfJnV0bV9tZWRpdW09bmV3c2xldHRlciZ1dG1fc291cmNlPWJ5dGVzJnV0bV90ZXJtPWN0YS1TY2hlZHVsZUFQZXJzb25hbGl6ZWREZW1vVG9MZWFybk1vcmU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188643">Schedule a personalized demo to learn more</a> – and see how their customers save 9 hours per engineer per week, on average.</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="140" src="https://bytes.dev/images/content/pop-quiz.png" alt="Pop Quiz logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Pop Quiz</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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/m2h7h6u30mn6w0tm/aHR0cHM6Ly9yZWRpcy5pby9scC9nZXQtc3RhcnRlZDIvP3V0bV9jYW1wYWlnbj0yMDI1LTA2LWFwcF9wZXJmb3JtYW5jZS1uZXdzbGV0dGVyLWFkcy1ieXRlcy0yJnV0bV9jb250ZW50PWdldC1zdGFydGVkJnV0bV9tZWRpdW09Y3BhJnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188644">Redis</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>Their data platform powers AI infra like agent memory and semantic caches running at sub-millisecond speed to <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/m2h7h6u30mn6w0tm/aHR0cHM6Ly9yZWRpcy5pby9scC9nZXQtc3RhcnRlZDIvP3V0bV9jYW1wYWlnbj0yMDI1LTA2LWFwcF9wZXJmb3JtYW5jZS1uZXdzbGV0dGVyLWFkcy1ieXRlcy0yJnV0bV9jb250ZW50PWdldC1zdGFydGVkJnV0bV9tZWRpdW09Y3BhJnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188644">deliver real-time data to your agents and apps</a></em></p>
</div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">In what order will the logs below show up in the console?</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;">console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">'First'</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">setTimeout</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 operator" style="color: #12b5e5; font-size: 14px;">=></span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">'Second'</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 number" style="color: #fcba28; font-size: 14px;">0</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">new</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Promise</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 parameter" style="color: #f38ba3; font-size: 14px;">res</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</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 function" style="color: #9d7dce; font-size: 14px;">res</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">'Third'</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><span class="token function" style="color: #9d7dce; font-size: 14px;">then</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span>console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>log<span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">'Fourth'</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;"><a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/dphehmuew879rmfm/aHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9ibG9nL2dhcC1kZWNvcmF0aW9ucw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188645">CSS gap decorations</a> are a fun new way to style the gaps between items in flex, grid, and multi-column layouts. Just don’t put them up before Thanksgiving, or everyone will shame you.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/e0hph0u7wqn35nf8/aHR0cHM6Ly9zZW1ncmVwLmRldi9sb2dpbj91dG1fbWVkaXVtPXJlZmVycmFsJnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188646">Semgrep provides an AI AppSec Engineer</a> that can eliminate 100% of all false positives by combining static analysis and LLMs – that way, you’ll only ever need to deal with <em>real</em> security issues. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">The Safari Team announced <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/7qh7h2u9pw4230az/aHR0cHM6Ly93ZWJraXQub3JnL2Jsb2cvMTY5OTMvbmV3cy1mcm9tLXd3ZGMyNS13ZWItdGVjaG5vbG9neS1jb21pbmctdGhpcy1mYWxsLWluLXNhZmFyaS0yNi1iZXRhLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188647">a bunch of stuff</a> at WWDC. And they wish to reiterate that Siri being terrible is not their fault.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Leerob wrote some quick thoughts about various <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/owhkhwuwlg8m5rsv/aHR0cHM6Ly9sZWVyb2IuY29tL2FnZW50cw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188648">AI agents</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Den Odell wrote about what it was like <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/z2hgh7uerpd20eap/aHR0cHM6Ly9kZW5vZGVsbC5jb20vYmxvZy9oYWNraW5nLWxheW91dC1iZWZvcmUtY3NzLWV4aXN0ZWQv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188649">hacking layout before CSS even existed</a>. I can’t wait ‘til I start writing blog posts like this about how we all used to write using our own brains before ChatGPT existed.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Matt Perry just released <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/p8hehqu45g7w8gcq/aHR0cHM6Ly9tb3Rpb24uZGV2L2RvY3MvYWktcXVpY2stc3RhcnQ=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188650">Motion AI</a>, which lets you add a new Motion MCP to your LLM to help it create better animations.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Emma Forman Ling wrote about <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/x0hph3ued97vx3h5/aHR0cHM6Ly9zdGFjay5jb252ZXguZGV2Lw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188651">why AI agents (and humans) do better with good abstractions</a>. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/6qhehoul6n2800so/aHR0cHM6Ly9qZXN0anMuaW8vYmxvZy8yMDI1LzA2LzA0L2plc3QtMzA=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188652">Jest 30</a> promises that it’s faster, leaner, better, and willing to do anything to fix this relationship.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Daniel Sada wrote about working on Microsoft Office when they <a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/kkhmh2un26904zbl/aHR0cHM6Ly9kYW5pZWxzYWRhLnRlY2gvYmxvZy9jYXJyZWVyLXBhcnQtNy1ob3ctb2ZmaWNlLW1vdmVkLXRvLWdpdC1hbmQtaS1sb3ZlZC1kZXZleC8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188653">migrated from Source Depot to Git</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/58hvh8ugok9dlqi6/aHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvbGlxdWlkLWdsYXNzLXN2ZWx0ZQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188654">liquid-glass-svelte</a> is an npm package that provides a Svelte component that reproduces Apple’s Liquid Glass effect. I need someone to make an <code style="font-size: 14px;">unbreakable-svelte</code> package, because I’ve been rewatching M Night Shyamalan classics on my Video iPod to help me feel something again.</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="140" src="https://bytes.dev/images/content/pop-quiz.png" alt="Pop Quiz logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Pop Quiz: Answer</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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/m2h7h6u30mn6w0tm/aHR0cHM6Ly9yZWRpcy5pby9scC9nZXQtc3RhcnRlZDIvP3V0bV9jYW1wYWlnbj0yMDI1LTA2LWFwcF9wZXJmb3JtYW5jZS1uZXdzbGV0dGVyLWFkcy1ieXRlcy0yJnV0bV9jb250ZW50PWdldC1zdGFydGVkJnV0bV9tZWRpdW09Y3BhJnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1755188644">Redis</a>
</h4></div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">In what order will the logs below show up in the console?</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;">console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">'First'</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">setTimeout</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 operator" style="color: #12b5e5; font-size: 14px;">=></span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">'Second'</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 number" style="color: #fcba28; font-size: 14px;">0</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">new</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Promise</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 parameter" style="color: #f38ba3; font-size: 14px;">res</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</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 function" style="color: #9d7dce; font-size: 14px;">res</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">'Third'</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><span class="token function" style="color: #9d7dce; font-size: 14px;">then</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span>console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>log<span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">'Fourth'</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span>
</code></pre>
<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;">First</code>, <code style="font-size: 14px;">Fourth</code>, <code style="font-size: 14px;">Third</code>, <code style="font-size: 14px;">Second</code>.</p>
<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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/25h2h9u304opn9s3/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1755188655">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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/qvh8h8ud2o6mqptl/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1755188656">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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/g3hnhwumo6z8x5sr/aHR0cHM6Ly91aS5kZXY=" url-id="1755188657">ui.dev</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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl/9qhzhdud3z2vnvs9/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1755188658">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.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl">Unsubscribe</a></span>
<!-- -->
<img src="https://open.convertkit-mail4.com/0vu0e0g2zzb9h979lvxs0ivmgn555snhnvdl" alt="">
</body>
</html>