<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: phickey</title><link>https://news.ycombinator.com/user?id=phickey</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 08:21:41 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=phickey" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by phickey in "Ported my C game to WASM, here's every bug that I hit"]]></title><description><![CDATA[
<p>Wasip1 did not specify sockets. Some implementations have made non-standard additions to add them, but sockets were not added to the standard until wasip2.</p>
]]></description><pubDate>Mon, 15 Jun 2026 18:30:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48545221</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=48545221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48545221</guid></item><item><title><![CDATA[New comment by phickey in "WASI 0.3"]]></title><description><![CDATA[
<p>No, the stack switching proposal is not used. Stack switching is a set of core Wasm opcodes that permit a guest to change its own stack. Instead of using opcodes inside the Wasm, the stackful async mode of the component model’s ABI calls out into the component model implementation where it can manipulate the stacks with special host powers - JSPI is sufficient on web engines to express this, and wasmtime manages guest stacks in memory.<p>When stack switching becomes available in all engines, it will be possible to implement this part of the component model in pure Wasm without host magic, e.g. web engines will be able to avoid the call out to JS to use JSPI.</p>
]]></description><pubDate>Fri, 12 Jun 2026 19:03:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48508159</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=48508159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48508159</guid></item><item><title><![CDATA[New comment by phickey in "WASI 0.3"]]></title><description><![CDATA[
<p>Wasmtime implements a remote debugging server, so that you can debug guest programs with a recent build of LLDB. Set breakpoints based on the source language symbols, single-step through wasm opcodes, anything you'd expect: <a href="https://docs.wasmtime.dev/examples-debugging-guest.html" rel="nofollow">https://docs.wasmtime.dev/examples-debugging-guest.html</a></p>
]]></description><pubDate>Fri, 12 Jun 2026 17:22:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48506854</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=48506854</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48506854</guid></item><item><title><![CDATA[New comment by phickey in "WASI 0.3"]]></title><description><![CDATA[
<p>There is a wat (s expression) syntax for the component model. The problem with the wat syntax for both Wasm and the component model is they’re a reflection of a binary format, and therefore are terrible for writing by hand. They’re designed to be written by tools, and the text format is just to help you understand the binary format.<p>I’ve written Wasm and component model wat extensively over the last decade to develop tests for Wasmtime, and even for an expert it’s a bad experience.<p>Wit syntax is easy to read and write by hand. There are high quality parsers that can transform it to and from the binary or wat format as needed, and code generators for a wide range of languages. It’s a way, way better experience in every way to deal with wit compared to the wat format.</p>
]]></description><pubDate>Fri, 12 Jun 2026 16:14:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48505981</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=48505981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48505981</guid></item><item><title><![CDATA[New comment by phickey in "Endive: A JVM native WebAssembly runtime"]]></title><description><![CDATA[
<p>Lots of context for this project on the Bytecode Alliance blog: <a href="https://bytecodealliance.org/articles/endive-and-the-next-chapter-of-webassembly-on-the-jvm" rel="nofollow">https://bytecodealliance.org/articles/endive-and-the-next-ch...</a></p>
]]></description><pubDate>Thu, 28 May 2026 19:46:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48314395</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=48314395</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48314395</guid></item><item><title><![CDATA[Endive and the Next Chapter of WebAssembly on the JVM]]></title><description><![CDATA[
<p>Article URL: <a href="https://bytecodealliance.org/articles/endive-and-the-next-chapter-of-webassembly-on-the-jvm">https://bytecodealliance.org/articles/endive-and-the-next-chapter-of-webassembly-on-the-jvm</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48295166">https://news.ycombinator.com/item?id=48295166</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 27 May 2026 14:43:43 +0000</pubDate><link>https://bytecodealliance.org/articles/endive-and-the-next-chapter-of-webassembly-on-the-jvm</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=48295166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48295166</guid></item><item><title><![CDATA[CodeAct in Agent Framework: Faster Agents with Fewer Model Turns]]></title><description><![CDATA[
<p>Article URL: <a href="https://devblogs.microsoft.com/agent-framework/codeact-with-hyperlight/">https://devblogs.microsoft.com/agent-framework/codeact-with-hyperlight/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47893439">https://news.ycombinator.com/item?id=47893439</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 24 Apr 2026 17:40:15 +0000</pubDate><link>https://devblogs.microsoft.com/agent-framework/codeact-with-hyperlight/</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=47893439</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47893439</guid></item><item><title><![CDATA[Wasmtime's April 9, 2026 Security Advisories]]></title><description><![CDATA[
<p>Article URL: <a href="https://bytecodealliance.org/articles/wasmtime-security-advisories">https://bytecodealliance.org/articles/wasmtime-security-advisories</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47706047">https://news.ycombinator.com/item?id=47706047</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 09 Apr 2026 16:53:08 +0000</pubDate><link>https://bytecodealliance.org/articles/wasmtime-security-advisories</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=47706047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47706047</guid></item><item><title><![CDATA[New comment by phickey in "Making WebAssembly a first-class language on the Web"]]></title><description><![CDATA[
<p>WebAssembly is a compiler target, not a human-authored language. There is exactly one audience of people for writing wat by hand: spec and tutorial authors and readers. Anyone actually developing an application they want to use will use a compiler to produce WebAssembly. Prove me wrong and write Roller Coaster Tycoon in raw wasm if you want, but having written and maintained wasm specs and toolchains for nearly a decade, I will never write any wat outside of a spec or tutorial.</p>
]]></description><pubDate>Wed, 11 Mar 2026 17:33:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47338597</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=47338597</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47338597</guid></item><item><title><![CDATA[New comment by phickey in "Making WebAssembly a first-class language on the Web"]]></title><description><![CDATA[
<p>Real programs, whether native JavaScript or in any other language that targets Wasm, have concurrency. Would you rather the component model exclude all concurrent programs, and fail to interact with concurrent JavaScript? The component model is meeting the web and programmers where they're at. Unless you're one of the few people implementing the low level bindings between components and guest or host languages, you don't have to ever read the CM spec or care about the minutae of how it gets implemented.</p>
]]></description><pubDate>Wed, 11 Mar 2026 17:23:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47338455</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=47338455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47338455</guid></item><item><title><![CDATA[New comment by phickey in "Show HN: Amla Sandbox – WASM bash shell sandbox for AI agents"]]></title><description><![CDATA[
<p><a href="https://github.com/bytecodealliance/ComponentizeJS" rel="nofollow">https://github.com/bytecodealliance/ComponentizeJS</a> is a Bytecode Alliance project which can run JS in a SpiderMonkey-based runtime as a Wasm component</p>
]]></description><pubDate>Fri, 30 Jan 2026 18:15:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46827833</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=46827833</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46827833</guid></item><item><title><![CDATA[10 Years of WASM: A Retrospective]]></title><description><![CDATA[
<p>Article URL: <a href="https://bytecodealliance.org/articles/ten-years-of-webassembly-a-retrospective">https://bytecodealliance.org/articles/ten-years-of-webassembly-a-retrospective</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46799014">https://news.ycombinator.com/item?id=46799014</a></p>
<p>Points: 39</p>
<p># Comments: 3</p>
]]></description><pubDate>Wed, 28 Jan 2026 17:56:07 +0000</pubDate><link>https://bytecodealliance.org/articles/ten-years-of-webassembly-a-retrospective</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=46799014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46799014</guid></item><item><title><![CDATA[New comment by phickey in "WASM 3.0 Completed"]]></title><description><![CDATA[
<p>Wasm only gets additive changes - the binary format can't change in a way that breaks any previously existing programs, because that would break the Web. So, you just have to add more opcodes to your implementation.</p>
]]></description><pubDate>Wed, 17 Sep 2025 19:23:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=45280262</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=45280262</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45280262</guid></item><item><title><![CDATA[New comment by phickey in "WASM 3.0 Completed"]]></title><description><![CDATA[
<p>Aside from code size the primary benefit on the Web is that the GC provided to wasm is the same one for the outer JavaScript engine, so an object from wasm can stay alive get collected based on whether JS keeps references to it. So it’s not really about providing a GC for a single wasm module (program), its about participating in one cooperatively with other programs.</p>
]]></description><pubDate>Wed, 17 Sep 2025 19:19:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=45280225</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=45280225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45280225</guid></item><item><title><![CDATA[New comment by phickey in "WASM 3.0 Completed"]]></title><description><![CDATA[
<p>Yes, every wasm program that uses linear memory (which includes all those created by llvm toolchains) must ship with its own allocator. You only get to use the wasm GC provided allocator if your program is using the gc types, which can’t be stored in a linear memory.</p>
]]></description><pubDate>Wed, 17 Sep 2025 19:09:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45280090</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=45280090</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45280090</guid></item><item><title><![CDATA[New comment by phickey in "WASM 3.0 Completed"]]></title><description><![CDATA[
<p>No, the component model proposal is not part of the Wasm 3.0 release. Proposals only make it into a Wasm point release once they reach stage 5, and the component model is still under development and so is not trying to move through the phases yet.<p>Unlike any of the proposals which became part of Wasm 3.0, the component model does not make any changes to the core Wasm module encoding or its semantics. Instead, it’s designed as a new encoding container which contain core Wasm modules, and adds extra information alongside each module describing its interface types and how to instantiate and link those modules. By keeping all of these additions outside of core Wasm, we can build implementations out of any plain old Wasm engine, plus extra code that instantiates and links those modules, and converts between the core wasm ABI to higher level interface types. The Jco project <a href="https://github.com/bytecodealliance/jco" rel="nofollow">https://github.com/bytecodealliance/jco</a> does exactly that using the common JS interface used by every web engine’s Wasm implementation. So, we can ship the component model on the web without web engines putting in any work of their own, which isn’t possible with proposals which add or change core wasm.</p>
]]></description><pubDate>Wed, 17 Sep 2025 19:06:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=45280039</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=45280039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45280039</guid></item><item><title><![CDATA[New comment by phickey in "WASM 3.0 Completed"]]></title><description><![CDATA[
<p><a href="https://github.com/WebAssembly/custom-page-sizes" rel="nofollow">https://github.com/WebAssembly/custom-page-sizes</a> is a proposal championed by my colleague to add single byte granularity to Wasm page sizes, motivated by embedded systems and many other use cases where 64kb is excessive. It is implemented in wasmtime, and a Firefox implementation is in progress.</p>
]]></description><pubDate>Wed, 17 Sep 2025 18:59:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45279952</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=45279952</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45279952</guid></item><item><title><![CDATA[Nginx introduces native support for ACME protocol]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.nginx.org/blog/native-support-for-acme-protocol">https://blog.nginx.org/blog/native-support-for-acme-protocol</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44889941">https://news.ycombinator.com/item?id=44889941</a></p>
<p>Points: 810</p>
<p># Comments: 298</p>
]]></description><pubDate>Wed, 13 Aug 2025 15:41:55 +0000</pubDate><link>https://blog.nginx.org/blog/native-support-for-acme-protocol</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=44889941</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44889941</guid></item><item><title><![CDATA[New comment by phickey in "Show HN: Munal OS: a graphical experimental OS with WASM sandboxing"]]></title><description><![CDATA[
<p>There’s now an interpreter in wasmtime called Pulley. It’s an optimizing interpreter based on Cranelift, which generates interpreter opcodes which are more efficient to traverse than directly interpreting the Wasm binary.<p>I have run wasmtime on the esp32 microcontrollers with plenty of ram to spare, but I don’t have a measurement handy.</p>
]]></description><pubDate>Wed, 11 Jun 2025 05:03:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=44244353</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=44244353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44244353</guid></item><item><title><![CDATA[New comment by phickey in "Show HN: Munal OS: a graphical experimental OS with WASM sandboxing"]]></title><description><![CDATA[
<p>Wasmtime has many capabilities that wasmi does not, and therefore has more optional dependencies, but the required set of dependencies has been portable to every platform I've targeted so far. If anything does present a concrete issue we are eager to address it. For example, you could file an issue on target-lexicon describing how to reproduce your issue.</p>
]]></description><pubDate>Tue, 10 Jun 2025 05:02:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44232717</link><dc:creator>phickey</dc:creator><comments>https://news.ycombinator.com/item?id=44232717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44232717</guid></item></channel></rss>