<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: Jarred</title><link>https://news.ycombinator.com/user?id=Jarred</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 23 Oct 2026 22:14:49 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Jarred" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Jarred in "Go will reject certificate chains containing eight distrusted SPKIs"]]></title><description><![CDATA[
<p>If you don't bundle certificates, users will report that your builtin https client  doesn't work in production (usually in docker)</p>
]]></description><pubDate>Tue, 20 Oct 2026 09:00:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=50163211</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=50163211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50163211</guid></item><item><title><![CDATA[New comment by Jarred in "Zod 4.6.6 compromised by malware?"]]></title><description><![CDATA[
<p>I haven’t downloaded the tarball to verify, but it looks like it was reverted prior to the GitHub release:<p><a href="https://github.com/colinhacks/zod/commit/10dda3a3a4bc76ed0bf83e994de194587e489ef8" rel="nofollow">https://github.com/colinhacks/zod/commit/10dda3a3a4bc76ed0bf...</a></p>
]]></description><pubDate>Mon, 12 Oct 2026 08:35:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=50053261</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=50053261</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50053261</guid></item><item><title><![CDATA[New comment by Jarred in "How is the Bun rewrite in Rust going?"]]></title><description><![CDATA[
<p>It spawns ephemeral EC2/Azure instances, which is a lot cheaper than the GitHub actions runners we used before that.<p>We shard to a lot of machines for tests and I’d be worried about running out if we used dedicated servers.<p>BuildKite is fine but I wouldn’t be that surprised if we move off of BuildKite to a custom thing at some point. Months ago, we switched from CMake to a handrolled typescript build system and it made our builds faster and simpler.</p>
]]></description><pubDate>Mon, 27 Jul 2026 21:30:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49075774</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=49075774</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49075774</guid></item><item><title><![CDATA[New comment by Jarred in "How is the Bun rewrite in Rust going?"]]></title><description><![CDATA[
<p>CI has always been expensive for Bun including before the acquisition. We build for [macOS, Linux, FreeBSD, Android, Windows] x [ARM64, x64] and then run tests on multiple Linux distros with multiple shards, multiple macOS versions and Windows for each architecture.<p>We recently started cross-compiling all the builds on Linux arm64 and that made it a little faster (I wrote a CLI tool to download the correct macOS headers for cross-compilation). We also have a daily cron job that asks claude to make the slowest tests faster while adding more assertions.</p>
]]></description><pubDate>Mon, 27 Jul 2026 14:49:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=49070494</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=49070494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49070494</guid></item><item><title><![CDATA[New comment by Jarred in "How is the Bun rewrite in Rust going?"]]></title><description><![CDATA[
<p>Claude Code is a large codebase and uses tons of Node’s features either directly or indirectly through dependencies. fetch(), node:http, node:tls, node:os, node:net, node:fs, AbortSignal, node:child_process, node:tty, node:process, node:http2, etc.</p>
]]></description><pubDate>Mon, 27 Jul 2026 14:15:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=49070046</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=49070046</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49070046</guid></item><item><title><![CDATA[New comment by Jarred in "How is the Bun rewrite in Rust going?"]]></title><description><![CDATA[
<p>Does it print a bun.report link and can you paste it? I will investigate.</p>
]]></description><pubDate>Mon, 27 Jul 2026 14:02:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=49069861</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=49069861</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49069861</guid></item><item><title><![CDATA[New comment by Jarred in "How is the Bun rewrite in Rust going?"]]></title><description><![CDATA[
<p>Bun’s Rust rewrite shipped in Claude Code over a month ago and barely anyone noticed. Claude Code is widely used. The Rust rewrite is going well overall.<p>In the Bun v1.4 video, I promised a certain number of newly passing Node.js tests were added to force us to improve compatibility, and that number is not true  yet. The release is delayed until it is true. The PRs to make it true are up but not merged yet. Most likely next Tuesday we’ll do the release of 1.4.</p>
]]></description><pubDate>Mon, 27 Jul 2026 13:57:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49069787</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=49069787</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49069787</guid></item><item><title><![CDATA[New comment by Jarred in "Claude Code uses Bun written in Rust now"]]></title><description><![CDATA[
<p>Grouped and arena allocations work really well in Zig. For awhile, we tried to use this pattern almost everywhere in Bun but it gets really tricky when there’s some GC-managed memory and you want to free things incrementally to reduce RSS. Also, using arenas for arrays that grow wastes memory a lot since it keeps every previous version around (mimalloc arenas are slightly better for this)<p>Grouped allocations works especially well in parsers & ASTs where the lifetime is very bounded. Since the Rust rewrite, we still use arenas for Bun’s parsers and the bundler but not a ton elsewhere.</p>
]]></description><pubDate>Mon, 20 Jul 2026 08:55:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48976043</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48976043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48976043</guid></item><item><title><![CDATA[New comment by Jarred in "My thoughts on the Bun Rust rewrite"]]></title><description><![CDATA[
<p>I have learned so much reading Andrew’s code and as I said in the original post: Bun would never have  happened without Zig.<p>> The post claims they were fuzzing their Zig code, while during our calls the whole Bun team told us that they were not fuzzing anything. This appears to be an outright fabrication.<p>Fuzzilli integration: <a href="https://github.com/oven-sh/bun/pull/24826" rel="nofollow">https://github.com/oven-sh/bun/pull/24826</a><p>Merged PRs fixing issues Fuzzilli found in Bun’s Zig code:<p>- <a href="https://github.com/oven-sh/bun/pull/28926" rel="nofollow">https://github.com/oven-sh/bun/pull/28926</a><p>- <a href="https://github.com/oven-sh/bun/pull/28934" rel="nofollow">https://github.com/oven-sh/bun/pull/28934</a><p>- <a href="https://github.com/oven-sh/bun/pull/29255" rel="nofollow">https://github.com/oven-sh/bun/pull/29255</a><p>- <a href="https://github.com/oven-sh/bun/pull/29210" rel="nofollow">https://github.com/oven-sh/bun/pull/29210</a><p>- <a href="https://github.com/oven-sh/bun/pull/29199" rel="nofollow">https://github.com/oven-sh/bun/pull/29199</a><p>Searching “Fuzzilli” shows more PRs:  <a href="https://github.com/search?q=repo%3Aoven-sh%2Fbun+is%3Apr+Fuzzilli++is%3Amerged&type=pullrequests&s=created&o=asc" rel="nofollow">https://github.com/search?q=repo%3Aoven-sh%2Fbun+is%3Apr+Fuz...</a></p>
]]></description><pubDate>Thu, 09 Jul 2026 13:38:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48845652</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48845652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48845652</guid></item><item><title><![CDATA[New comment by Jarred in "Bun has an open PR adding shared-memory threads to JavaScriptCore"]]></title><description><![CDATA[
<p>> new codebase doesn’t have any<p>Claude Code & Prisma use it as of last week.</p>
]]></description><pubDate>Sun, 21 Jun 2026 00:09:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48614370</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48614370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48614370</guid></item><item><title><![CDATA[New comment by Jarred in "Bun has an open PR adding shared-memory threads to JavaScriptCore"]]></title><description><![CDATA[
<p>I’m the author of this PR.<p>This PR is an implementation of the design from <a href="https://webkit.org/blog/7846/concurrent-javascript-it-can-work/" rel="nofollow">https://webkit.org/blog/7846/concurrent-javascript-it-can-wo...</a>. I think it would be really cool if JavaScript had true shared object multi-threading without compromises (SharedArrayBuffer, postMessage are not that). If we had both threads and structs, it’s likely the TypeScript compiler would never have needed to be rewritten in Go.<p>The title should be changed to clarify that it’s a PR to Bun’s JavaScriptCore fork and not the upstream WebKit.<p>This PR is scarier to merge than Bun’s Rust rewrite PR. There are a good number of benchmarks/stress tests, unit tests, and also TSAN runs and security scanner runs, but this is a more complex change than the Rust rewrite (yes, really). I’m also worried about syncing with upstream - today the “fork” is mostly a bunch of patches, but with this PR, changes to the JIT need to be reviewed for behavior when multiple threads are in use. Our best bet for this to move forward is figuring out a way for some constrained version to be upstreamed into WebKit proper, if that makes sense and if they’re interested.<p>And yes, the PR description is entirely Claude.</p>
]]></description><pubDate>Sat, 20 Jun 2026 23:59:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48614304</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48614304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48614304</guid></item><item><title><![CDATA[New comment by Jarred in "Dynamic Workflows in Claude Code"]]></title><description><![CDATA[
<p>Dynamic workflows, in my experience, make Claude more effective at complex long-running tasks. They help precisely with getting Claude to do the task correctly.<p>It feels more like a bespoke build system for the specific task/project than prompting a freeform chat.</p>
]]></description><pubDate>Thu, 28 May 2026 17:50:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48312729</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48312729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48312729</guid></item><item><title><![CDATA[New comment by Jarred in "I’ve joined Anthropic"]]></title><description><![CDATA[
<p>> the Rust, Anthropic-focused rewrite<p>Nope. That's 100% me.</p>
]]></description><pubDate>Wed, 20 May 2026 08:54:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48204893</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48204893</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48204893</guid></item><item><title><![CDATA[New comment by Jarred in "Rewrite Bun in Rust has been merged"]]></title><description><![CDATA[
<p>`PathString` worked the exact same way in our Zig code, with less visibility from the compiler & type system. And yes, it will be refactored heavily (or deleted overall) in the next week or so.</p>
]]></description><pubDate>Thu, 14 May 2026 21:10:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48141297</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48141297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48141297</guid></item><item><title><![CDATA[New comment by Jarred in "Rewrite Bun in Rust has been merged"]]></title><description><![CDATA[
<p>almost</p>
]]></description><pubDate>Thu, 14 May 2026 20:59:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48141179</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48141179</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48141179</guid></item><item><title><![CDATA[New comment by Jarred in "Rewrite Bun in Rust has been merged"]]></title><description><![CDATA[
<p>> mostly a JavaScript interpreter wrapper<p>Not accurate. Bun is a batteries-included JavaScript & CSS transpiler (parser), minifier, bundler, npm-like package manager, Jest-like test runner, as well as runtime APIs like a builtin Postgres, MySQL and Redis client. This is naturally a ton of code.</p>
]]></description><pubDate>Thu, 14 May 2026 20:39:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48140921</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48140921</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48140921</guid></item><item><title><![CDATA[New comment by Jarred in "Rewrite Bun in Rust has been merged"]]></title><description><![CDATA[
<p>That was me - not CI marking as slop. It kept around 60 .zig files around that should’ve been moved to .rs files.</p>
]]></description><pubDate>Thu, 14 May 2026 11:23:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48133886</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48133886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48133886</guid></item><item><title><![CDATA[New comment by Jarred in "Rewrite Bun in Rust has been merged"]]></title><description><![CDATA[
<p>> it's basically solving the ,,tests not pass'' problem by changing the tests themselves.<p>False.<p>0 test files were deleted. 0 pre-existing tests were skipped, todo’d, or had assertions removed. 5 new tests were added in test.skip/test.todo state to track known not-yet-fixed bugs in the port that lacked test coverage before.<p>The merge changed 28 test files in total.<p>+1,312 lines<p>−141 lines<p>Most of that +1,312 is new tests.<p>The depth-of-recursion tests for TOML/JSONC parsers went from 25_000 -> 200_000 because Rust’s smaller stack frames (LLVM lifetime annotations let the optimizer reuse stack slots) mean 25k levels no longer reaches the 18 MB stack on Windows.</p>
]]></description><pubDate>Thu, 14 May 2026 11:13:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48133806</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48133806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48133806</guid></item><item><title><![CDATA[New comment by Jarred in "Rewrite Bun in Rust has been merged"]]></title><description><![CDATA[
<p>Still writing the blog post about this. Will share more details.<p>For where this is coming from, skim the bugfixes in the Bun v1.3.14 and earlier release notes. Rust won’t catch all of these - leaks from holding references too long and anything that re-enters across the JS boundary are still on us. But a large % of that list is use-after-free, double-free, and forgot-to-free-on-error-path, which become compile errors or automatic cleanup.</p>
]]></description><pubDate>Thu, 14 May 2026 10:41:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48133519</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48133519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48133519</guid></item><item><title><![CDATA[New comment by Jarred in "Bun's experimental Rust rewrite hits 99.8% test compatibility on Linux x64 glibc"]]></title><description><![CDATA[
<p>Bun’s patched Zig is on Zig 0.15.1</p>
]]></description><pubDate>Sun, 10 May 2026 18:50:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48086658</link><dc:creator>Jarred</dc:creator><comments>https://news.ycombinator.com/item?id=48086658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48086658</guid></item></channel></rss>