If u truly believe in safe-Rust will bring u real safe, check out the only 0 unsafe Rust JavaScript implementation, consider those security problems from @Railway and PHP.
New from PocketJS: quickjs-oxide.
A JavaScript interpreter modeled after QuickJS, implemented from scratch by AI in Rust with zero unsafe code, and the first of its kind to achieve performance competitive with the original QuickJS.
We spent one month achieving a high Test262 pass rate, then another month cleaning up the code, getting rid of the AI slop, and reaching competitive performance with just a stack VM and reference counting. Over the last weekend at RustChinaConf, we rewrote the core into a register VM and achieved this level of performance in just two days.
Now quickjs-oxide outperforms most non-JIT JavaScript engines on benchmarks like V8 v7 and the Octane suite, using only around 30% more memory than QuickJS, while maintaining zero lines of unsafe implementation code and no external dependencies except for BigInt support.
Huge credit to @ericoolen_eric for making this happen, and massive thanks to our sponsor @ZephyrCloudIO for supporting the journey!
还有分型赛跑测试,视频形式参考了 @pocket_js 发布 quickjs-oxide 时的演示视频
神了这个 b 视频
Today we're launching an exciting new project: Highlights
Highlights is a syntax highlighter that outputs HTML. It improves on both speed and correctness compared to the existing industry standard libraries.
It's an optional drop-in replacement in Diffs, and it's ready to use today. In fact, it's already powering diffshub․com!
Check it out at diffs.com/highlights
OR `pnpm install @pierre/highlights`
还是希望证明,safe Rust 在做解释器虚拟机这件事情上努努力还是能摸到 C 语言的性能门槛。不要就这么放弃 intepreter 啊混蛋。
New from PocketJS: quickjs-oxide.
A JavaScript interpreter modeled after QuickJS, implemented from scratch by AI in Rust with zero unsafe code, and the first of its kind to achieve performance competitive with the original QuickJS.
We spent one month achieving a high Test262 pass rate, then another month cleaning up the code, getting rid of the AI slop, and reaching competitive performance with just a stack VM and reference counting. Over the last weekend at RustChinaConf, we rewrote the core into a register VM and achieved this level of performance in just two days.
Now quickjs-oxide outperforms most non-JIT JavaScript engines on benchmarks like V8 v7 and the Octane suite, using only around 30% more memory than QuickJS, while maintaining zero lines of unsafe implementation code and no external dependencies except for BigInt support.
Huge credit to @ericoolen_eric for making this happen, and massive thanks to our sponsor @ZephyrCloudIO for supporting the journey!
almost forgot, thanks so much for @lfk_dsk 's contribution and support for this project also!
news.ycombinator.com/item?id…
这是hn上对这篇文章的讨论,也有很多关于性能优化十分有见解的经验
非常短但是很有价值的文章,如果我在quickjs-oxide初期就读到会少走很多弯路。基本上你需要在迭代中将你的性能测试控制在一个很小的大小(300ms),让它不会拖累agent的开发迭代,同时又能通过profiler揭示所有问题。足够小还能更简单的避免杂项和噪声的影响,而不是反过来。 matklad.github.io/2026/10/05…
非常短但是很有价值的文章,如果我在quickjs-oxide初期就读到会少走很多弯路。基本上你需要在迭代中将你的性能测试控制在一个很小的大小(300ms),让它不会拖累agent的开发迭代,同时又能通过profiler揭示所有问题。足够小还能更简单的避免杂项和噪声的影响,而不是反过来。 matklad.github.io/2026/10/05…
Ericoolen retweeted
New from PocketJS: quickjs-oxide.
A JavaScript interpreter modeled after QuickJS, implemented from scratch by AI in Rust with zero unsafe code, and the first of its kind to achieve performance competitive with the original QuickJS.
We spent one month achieving a high Test262 pass rate, then another month cleaning up the code, getting rid of the AI slop, and reaching competitive performance with just a stack VM and reference counting. Over the last weekend at RustChinaConf, we rewrote the core into a register VM and achieved this level of performance in just two days.
Now quickjs-oxide outperforms most non-JIT JavaScript engines on benchmarks like V8 v7 and the Octane suite, using only around 30% more memory than QuickJS, while maintaining zero lines of unsafe implementation code and no external dependencies except for BigInt support.
Huge credit to @ericoolen_eric for making this happen, and massive thanks to our sponsor @ZephyrCloudIO for supporting the journey!
Ericoolen retweeted
Behold, the ESP32 ball.
Readers added context they thought people might want to know
This is a popular product on AliExpress, TikTok shop and others. It was not invented by this user.
It retails for about $55 USD on AliExpress.
a.aliexpress.com/_mr4TNcR
Beware potential drop-shipping scams.
deno 寄了,那么也许
We are excited to announce that Deno is joining Cloudflare!
deno.com/blog/cloudflare
Too useful to be real.
I've published a new, general-purpose terminal specification that gives any program a way to tell the terminal what it's doing: idle, working, waiting, finished, or failed, and why. It is easy to implement on both sides. I've written more about why: mitchellh.com/writing/progra…
The problem this solves is generic and applies in compelling ways to all sorts of use cases (e.g. package managers, build tools), but it really rears a hideous head when it comes to AI and the "agentic inbox" problem.
I found over 250 different agent orchestrators (with various goals) that all individually implement a heuristic based approach to detecting whether things like Claude Code are working, blocked, done, etc.
If you look at @herdrdev's commit history, you can see around 10 compatibility changes to detect Claude Code within just the past 3 months. (This isn't a dig at Herdr! They're doing great work with what they have, and everyone else is doing the same thing).
Heuristics are not the way. And over-indexing on agentic use cases isn't the way, because this problem is really interesting for other tools too: Homebrew, Terraform, Cargo, etc. etc.
Proprietary protocols and out of band APIs are not the way. They have an O(N) integration problem and require extra work to work over SSH or within local VMs/containers.
The program status specification (OSC 7501) solves this in a reliable, deterministic way that is general-purpose and can be easily adopted by the entire industry.
Read more: mitchellh.com/writing/progra…
为什么解决方案不是做一个 rust 解释器,开发过程中只用这个解释器,release 再 build

















