<!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/zuck-meats.jpg">
<link rel="preload" as="image" href="https://bytes.dev/images/fb-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/li-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/tw-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/em-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/coderabbit-logo.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/lebron-klove-hug.jpg">
<link rel="preload" as="image" href="https://bytes.dev/images/content/spot-the-bug.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/cool-bits.png">
<link rel="preload" as="image" href="https://bytes.dev/images/bytes-icon.png">
<title>Bytes: The true cost of Muse Spark</title>
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono&family=Outfit:wght@400;500;700;900&family=Paytone+One" rel="stylesheet">
<style>@media (prefers-color-scheme: dark) {
.email-wrapper {
color: #F9F4DA !important;
background-color: #0F0D0E !important;
}
hr {
border-color: #262422 !important;
}
mark {
background-color: #231F20 !important;
color: #F9F4DA !important;
}
pre {
background-color: #231F20 !important;
border: 1px solid #231F20 !important;
color: #F9F4DA !important;
}
.bg-alt {
background-color: #231F20 !important;
}
.unsubscribe-link {
color: #504C48 !important;
}
.token.punctuation {
color: #f9f4da !important;
}
}
@media screen and (min-width: 600px) {
.mobile-break {
display: none;
}
}</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table class="email-wrapper" border="0" cellspacing="0" width="100%" style="background-color: #FFF; border-collapse: collapse; color: #231F20; font-family: Outfit, sans-serif; font-size: 18px; width: 100%;"><tbody><tr>
<td style="border-collapse: collapse !important; word-break: normal;"></td>
<td width="600px" style="border-collapse: collapse !important; width: 600px; word-break: normal;"><div style="max-width:600px;padding-top:80px">
<div style="text-align:center"><img width="600" style="max-width: 100%; padding-bottom: 40px;" src="https://bytes.dev/images/bytes-banner-rounded.png" alt="Bytes"></div>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Today’s issue:</strong> The holy grail for user-less apps, out-of-order streams, and ShadCN names <em>another</em> library after themselves.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Welcome to <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/qvh8h8udkz6qdlalhk/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNTE4" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914221">#518</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/zuck-meats.jpg" alt="Mark Zuckerberg presenting a plate of smoked meats" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 17px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">"I make meats now. I'm the meat chef."<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">The true cost of Muse Spark</h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">You’d think having unlimited data, compute, and money to poach all the best AI talent in the world would make Meta the de facto leader in AI, but things haven’t gone exactly to plan. However, with <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/g3hnhwumqrzxm2srh9/aHR0cHM6Ly9yZXNlYXJjaC5tZXRhLmFpL2Jsb2cvaW50cm9kdWNpbmctbXVzZS1zcGFyay0xLTM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914222">this week’s release of Muse Spark 1.3</a>, it feels like they’ve <em>finally</em> turned the corner.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Apparently all they needed to do to turn things around was turn Facebook <del>into a sweatshop</del> <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/9qhzhdud502nd7h9h3/aHR0cHM6Ly94LmNvbS9HZXJnZWx5T3Jvc3ovc3RhdHVzLzIwNjMyMzgzMjY2MTA0MzYyNzI=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914223">into a manual data-labeling factory</a>, and the model started climbing the benchmark leaderboards. As of now, Muse Spark is a frontier-level model and might be the strongest open-weight model on the market.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Here’s a quick review of what Spark can do, how much it costs, and whether it’s worth using.</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Capabilities:</strong> The main focus of Muse Spark 1.3 was agentic workflows. The model is now capable of handling more open-ended prompts and working on tasks for long periods of time. Meta also released <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/3ohphdu3p0dv46srhn/aHR0cHM6Ly9yZXNlYXJjaC5tZXRhLmFpL2Jsb2cvaW50cm9kdWNpbmctbXVzZS12b2ljZS10cmFuc2NyaWJl" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914224">a real-time voice transcription model</a> based on Spark 1.3.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Cost:</strong> 1.3 comes with a new approach to pricing. Meta now offers “contributor” pricing, which basically lets them train models on your data for one-tenth the cost. The contributor tier is $0.20/mtok versus their standard pricing of $4.25/mtok, making both options significantly cheaper than Sol or Fable.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Speed:</strong> Spark 1.3 is 2x faster than Sol and 2–3x faster than Fable. This makes it a fairly ideal model for doing things like CI code review, where you want a balance of accuracy, speed, and cost.</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Bottom line:</strong> Welp… OpenAI released GPT-6 while I was writing this (fml), which means the goalposts have moved again. But at least ‘Zander and Zuck got to spend a few days at the frontier, and all it cost was the souls of 5,000 developers.</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/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/n2hohquv7moe68s6hg/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNTE4" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1883914225"><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/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/48hvh7umxv2k6puxh7/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY1MTg=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1883914226"><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/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/wnh2h6uq0no8x4t7hx/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9VGhlJTIwaG9seSUyMGdyYWlsJTIwZm9yJTIwdXNlci1sZXNzJTIwYXBwcyUyQyUyMG91dC1vZi1vcmRlciUyMHN0cmVhbXMlMkMlMjBhbmQlMjBTaGFkQ04lMjBuYW1lcyUyMCUyQWFub3RoZXIlMkElMjBsaWJyYXJ5JTIwYWZ0ZXIlMjB0aGVtc2VsdmVzLiZ1cmw9aHR0cHMlM0ElMkYlMkZieXRlcy5kZXYlMkZhcmNoaXZlcyUyRjUxOA==" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1883914227"><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/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/reh8h9um645nwvf2h6/bWFpbHRvOj9zdWJqZWN0PVlvdSUyMGxpa2UlMjBjb3JuYnJlYWQlM0YmYm9keT1UaG91Z2h0JTIweW91JTI3ZCUyMGxvdmUlMjB0aGlzJTIwd2VlayUyN3MlMjBCeXRlcyUwQS0tLSUwQVRoZSUyMGhvbHklMjBncmFpbCUyMGZvciUyMHVzZXItbGVzcyUyMGFwcHMlMkMlMjBvdXQtb2Ytb3JkZXIlMjBzdHJlYW1zJTJDJTIwYW5kJTIwU2hhZENOJTIwbmFtZXMlMjAlMkFhbm90aGVyJTJBJTIwbGlicmFyeSUyMGFmdGVyJTIwdGhlbXNlbHZlcy4lMEFodHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNTE4" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1883914228"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/em-share-icon.png"></a>
</td></tr></tbody></table>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="150" src="https://bytes.dev/images/content/coderabbit-logo.png" alt="CodeRabbit logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;"><span>Our Friends <br class="mobile-break">(With Benefits)</span></h2>
</div>
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; max-width: 100%; padding: 24px; padding-bottom: 12px;">
<img src="https://bytes.dev/images/content/lebron-klove-hug.jpg" alt="LeBron James hugging Kevin Love" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 17px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">Developers when they finally ship a huge PR<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/08hwhgu2lv7qgkblh5/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYnl0ZXMtMDE1" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914229">Ship that massive diff</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Most developers are discouraged from creating large pull requests because they’re hard to review. But now that we have long-running agents capable of making large-scale changes, we need to rethink this a little bit.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">That’s why <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/08hwhgu2lv7qgkblh5/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYnl0ZXMtMDE1" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914229">CodeRabbit’s Change Stack</a> is such an important tool. It enables you, as a developer, to truly understand the code your agent is generating by:</p>
<ol>
<li>Providing a new PR interface for reviewing agentic code</li>
<li>Allowing you to visualize the impact of the changes</li>
<li>Giving you the context you actually need to approve them</li>
</ol>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Raise the quality bar. Lower the review burden.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/08hwhgu2lv7qgkblh5/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYnl0ZXMtMDE1" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914229">Get started with CodeRabbit today</a>.</p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/spot-the-bug.png" alt="Spot the Bug logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Spot the Bug</h2>
<div class="section-presenter" style="margin-bottom:50px;margin-top:15px">
<h4 style="font-size: 20px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Spot the Bug – Sponsored by <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/8ghqh3uorz5kq5fkh9/aHR0cHM6Ly9hcGlmeS5jb20vP2Zwcj1maXJlc2hpcA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914230">Apify</a>
</h4>
<p style="font-family: Outfit, sans-serif; font-size: 18px; line-height: 1.5; margin-top: 5px; padding-left: 24px; padding-right: 24px;"><em>Need Google Maps, Amazon, TikTok, or LinkedIn data? Someone already built the tool your agent keeps reinventing. <strong style="font-weight: 600;"><a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/8ghqh3uorz5kq5fkh9/aHR0cHM6Ly9hcGlmeS5jb20vP2Zwcj1maXJlc2hpcA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914230">It’s on Apify</a></strong>, and they maintain it so you don’t have to. Get $25 in free credits with code BYTES.</em></p>
</div>
</div>
<pre class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; overflow: auto; padding: 24px; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;"><code class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;"><span class="token keyword" style="color: #f38ba3; font-size: 15px;">function</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">deepClone</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 15px;">obj</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">if</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj <span class="token operator" style="color: #12b5e5; font-size: 15px;">===</span> <span class="token keyword" style="color: #f38ba3; font-size: 15px;">null</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">||</span> <span class="token keyword" style="color: #f38ba3; font-size: 15px;">typeof</span> obj <span class="token operator" style="color: #12b5e5; font-size: 15px;">!==</span> <span class="token string" style="color: #f99157; font-size: 15px;">"object"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">return</span> obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> copy <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> Array<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">isArray</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">?</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">[</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">]</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">for</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> key <span class="token keyword" style="color: #f38ba3; font-size: 15px;">in</span> obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
copy<span class="token punctuation" style="color: #231F20; font-size: 15px;">[</span>key<span class="token punctuation" style="color: #231F20; font-size: 15px;">]</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">deepClone</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">[</span>key<span class="token punctuation" style="color: #231F20; font-size: 15px;">]</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">return</span> copy<span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> objA <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">value</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">1</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> objB <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">a</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> objA <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
objA<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>b <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> objB<span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> clonedObj <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">deepClone</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>objA<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
</code></pre>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/cool-bits.png" alt="Cool Bits logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Cool Bits</h2>
</div>
<ol>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Charlie Deets wrote <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/vqh3hmuowlk8entghl/aHR0cHM6Ly9jaGFybGllZGVldHMuY29tL3Bvc3RzLzIwMjYtMDktMDEtc3BlZWQv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914231">a post titled “Speed”</a>, which is about the future of computing and not my favorite movie from 1994.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Lea Verou <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/l2heh6ulxekw63c6h0/aHR0cHM6Ly9sZWEudmVyb3UubWUvYmxvZy8yMDI2L2RhcmstbW9kZS10b2dnbGVzLTIv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914232">continues her war on dark mode toggles</a> in her latest post.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Can AI agents actually build a production-ready database? Turso and Convex team up to find out in their latest <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/m2h7h6u34vnwm3smhq/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1RdE5xNHpTaU43bw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914233">video podcast</a>. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Dan Robinson is dreaming of a <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/dphehmuepv7r88bmh4/aHR0cHM6Ly9ibG9nLmRldGFpbC5kZXYvcG9zdHMvdG93YXJkcy1zZWxmLWRyaXZpbmctY29kZWJhc2VzLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914234">self-driving codebase</a> that automatically debugs and fixes your issues—or, as I like to refer to it, the holy grail for apps that have no users.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">HTML now supports <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/e0hph0u7r6n5q4b8h2/aHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL3B1bGwvMTE4MTg=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914235">declarative out-of-order streaming</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Rslib, the Rust-based “library development tool,” <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/7qh7h2u9nq43w3hzh6/aHR0cHM6Ly9yc2xpYi5ycy9ibG9nL3YxLTA=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914236">just hit 1.0</a>. I don’t know about you, but I’ve always wanted to use Rust to generate federated modules.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Your agents have been coding blindfolded. Expo Simulators gives them sight—a cloud simulator where they can run tests on your app and set up PRs. Oh, and it’s completely platform-agnostic. <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/z2hgh7uelnd0pnfph0/aHR0cHM6Ly9kMmJuMmswNC5uYTEuaHMtc2FsZXMtZW5nYWdlLmNvbS9DdGMvTDArMjMyODQvZDJCTjJrMDQvSmtzMi02cWNXNjlzTUQtNmxaM21wVzkwZl9aYzVQMzE2TFc1V1Q0Q2c3bDBtOTRONXMxUDF6cVB0NV9XMnhmY3JjM016c01HVzhKRFc2QzVXUkJ3Z1cyV0Ytajg5MXZfMEhOOG5kblROVHhuYkhXNWxMUmRwMXFWeHFIVmh3M1BwMktKeE1qTjRSTlJocmtRQ0tiVzV3dDZfbDhkR2tDQ1c1dmM2Zk4zcXJQejFXMjdyRlEyM19mM1B5VzVjTjVOZjVCd1FwRlcxcWMyUko1SnlqUzhXMkJHWlk3NUxfYlRaVzRIS3pHRzhGVzQ3d1cxZnBXdlMzdFpUMC1XNUxDLUI3MVFacXZiVzZCVEZ3QjNQWEhWWmY0WDNic1cwNA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914238">Join the waitlist</a> [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">ShadCN created <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/p8hehqu4qm78g6hqh3/aHR0cHM6Ly9naXRodWIuY29tL3NoYWRjbi11aS9jbg==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914239">cn, a drop-in replacement for classnames</a> that is 30x faster and supports merge conflict resolution. Is this the developer equivalent of naming your son Junior?</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Google released <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/x0hph3ueqo7x90h5hl/aHR0cHM6Ly9ibG9nLmdvb2dsZS9pbm5vdmF0aW9uLWFuZC1haS9tb2RlbHMtYW5kLXJlc2VhcmNoL2dlbWluaS1tb2RlbHMvMy04LWZsYXNoLWFuZC0zLTgtZmxhc2gtY3liZXIv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914240">Gemini 3.8 Flash and 3.8 Flash Cyber</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Agents are writing more of your code, and that’s fine — the trouble is your release process still moves at human speed. <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/6qhehoul9z20ngcohk/aHR0cHM6Ly9zcnYuYnV5c2VsbGFkcy5jb20vYWRzL2xvbmcveC9URkhQMkhTUFRUVFRUVENTN1BHQ1dUVFRUVFRLRkNBQTJWVFRUVFRUNDNCNzVCRVRUVFRUVExTVktKSUZLSTQ1MjdBV04yWkJDMlNDNE1JREdIM01QRVFKWlE0RT9jaWQ9Mzk0ODc0" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914241">LaunchDarkly’s CodeControl</a> enables teams to roll changes out gradually and helps automatically revert issues in production. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Anton Sten wrote about how <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/kkhmh2unxr9460slh7/aHR0cHM6Ly93d3cuYW50b25zdGVuLmNvbS9hcnRpY2xlcy90aGUtYnVpbGRpbmctd2FzLW5ldmVyLXRoZS1oYXJkLXBhcnQv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914242">the whole point of a design system is fewer decisions</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/58hvh8ug6q9lkrf6h4/aHR0cHM6Ly9hc3Ryby5idWlsZC9ibG9nL2FzdHJvLTczMC8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914243">Astro 7.3</a> lets you run multiple preview servers at once and improves their Cloudflare bindings. Gotta keep the new boss happy.</p>
</li>
</ol>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/spot-the-bug.png" alt="Spot the Bug logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Spot the Bug: Solution</h2>
<div class="section-presenter" style="margin-bottom:50px;margin-top:15px"><h4 style="font-size: 20px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Spot the Bug – Sponsored by <a href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/8ghqh3uorz5kq5fkh9/aHR0cHM6Ly9hcGlmeS5jb20vP2Zwcj1maXJlc2hpcA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1883914230">Apify</a>
</h4></div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">The bug is that the <code style="font-size: 15px;">deepClone</code> function does not handle circular references. When <code style="font-size: 15px;">objA</code> is cloned, <code style="font-size: 15px;">objB</code> is cloned as well, which in turn clones <code style="font-size: 15px;">objA</code> again, and so on. This results in an infinite loop. To fix this, you can keep track of the objects that have already been cloned using a <code style="font-size: 15px;">Map</code>, and check if an object has already been cloned before cloning it again.</p>
<pre class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; overflow: auto; padding: 24px; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;"><code class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;"><span class="token keyword" style="color: #f38ba3; font-size: 15px;">function</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">deepClone</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> map <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token keyword" style="color: #f38ba3; font-size: 15px;">new</span> <span class="token class-name" style="color: #12b5e5; font-size: 15px;">Map</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">if</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj <span class="token operator" style="color: #12b5e5; font-size: 15px;">===</span> <span class="token keyword" style="color: #f38ba3; font-size: 15px;">null</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">||</span> <span class="token keyword" style="color: #f38ba3; font-size: 15px;">typeof</span> obj <span class="token operator" style="color: #12b5e5; font-size: 15px;">!==</span> <span class="token string" style="color: #f99157; font-size: 15px;">"object"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">return</span> obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">if</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>map<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">has</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">return</span> map<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">get</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> copy <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> Array<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">isArray</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">?</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">[</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">]</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
map<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">set</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> copy<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">for</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> key <span class="token keyword" style="color: #f38ba3; font-size: 15px;">in</span> obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
copy<span class="token punctuation" style="color: #231F20; font-size: 15px;">[</span>key<span class="token punctuation" style="color: #231F20; font-size: 15px;">]</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">deepClone</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>obj<span class="token punctuation" style="color: #231F20; font-size: 15px;">[</span>key<span class="token punctuation" style="color: #231F20; font-size: 15px;">]</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span> map<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">return</span> copy<span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> objA <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">value</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token number" style="color: #fcba28; font-size: 15px;">1</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> objB <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span> <span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">a</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> objA <span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
objA<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>b <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> objB<span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> clonedObj <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">deepClone</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>objA<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
</code></pre>
<div style="text-align:center;padding-bottom:80px;padding-top:80px">
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; padding: 24px;"><div style="margin-top:-40px">
<img src="https://bytes.dev/images/bytes-icon.png" alt="Bytes" width="55px" style="max-width: 100%; width: 55px;"><h5 style="font-size:18px;font-weight:400;margin-bottom:24px">Want us to say nice things <br> about your company?</h5>
<div style="margin-bottom:16px"><a style="background-color: #FCBA28; border: 1px solid #231F20; border-radius: 100px; color: #231F20; font-size: 14px; font-weight: 600; padding: 8px 14px; text-decoration: none;" href="https://c5e21242.click.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/25h2h9u3m6on4mb3h4/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1883914244">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/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/qvh8h8udkz6qoltlhk/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1883914245">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/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/g3hnhwumqrzx62frh9/aHR0cHM6Ly9maXJlc2hpcC5kZXY=" url-id="1883914246">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/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86/9qhzhdud502nz7s9h3/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1883914247">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/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86">Unsubscribe</a></span>
<!-- -->
<img src="https://c5e21242.open.convertkit-mail.com/92u4m46p33tnh6e5egwf9hz0l88k5twhgx86" alt="">
</body>
</html>