<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: matei_radu</title><link>https://news.ycombinator.com/user?id=matei_radu</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 26 Jul 2026 05:25:14 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=matei_radu" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by matei_radu in "Spinkube: Running WASM in Kubernetes"]]></title><description><![CDATA[
<p>Hey, one of the SpinKube maintainers here!<p>You are correct that there is nothing extra required <i>if what you want is to run Wasm inside a container</i>.<p>However, that comes with a few disadvantages, primarily stemming from bundling  your wasm runtime with each container image — and while your wasm workload is portable, the runtime itself needs to be compiled for the specific OS and architecture you need to execute on.<p>SpinKube comes with a containerd shim (or plugin) that executes Wasm workloads directly, so you can continue to integrate with the Kubernetes API (either by using regular pods with a runtime class, or the Spin application manifest), but not get the overhead of a full Linux container for your lightweight wasm component.</p>
]]></description><pubDate>Mon, 18 Mar 2024 19:43:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=39749049</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=39749049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39749049</guid></item><item><title><![CDATA[New comment by matei_radu in "Spinkube: Running WASM in Kubernetes"]]></title><description><![CDATA[
<p>Thanks for the question!<p>For context, the shim is just an implementation detail of how containerd runs workloads; some come pre-built by default on some systems (like runc), and others you configure (like kata-containers, or in this case, the Spin shim); and some Kubernetes distros already have built-in shims (or will have soon), like k3s.<p>Your setup seems to work really well for you (and as a side note, I'm curious to learn more about the kinds of workloads you are running) — I'll note that you can also set the runtime class on a regular Kubernetes deployment / pod spec and you can run the workload like this with the Spin shim (for reference <a href="https://github.com/spinkube/containerd-shim-spin/blob/main/deployments/workloads/workload.yaml#L15">https://github.com/spinkube/containerd-shim-spin/blob/main/d...</a>).<p>For Spin, we focused on the end-to-end developer experience, and on building a set of tools that take advantage of the benefits you get from Wasm, while integrating with a lot of cloud native tools — while allowing you to more easily build APIs and event-driven functions.<p>Our goal with SpinKube is to integrate with how organizations run workloads on in their infrastructure, and to make building, distributing, and running Wasm as seamless as possible.<p>Happy to dive into details for any of the points above, and would love to learn more about what you are running as Wasm.<p>Thanks!</p>
]]></description><pubDate>Mon, 18 Mar 2024 19:30:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=39748882</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=39748882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39748882</guid></item><item><title><![CDATA[New comment by matei_radu in "Spinkube: Running WASM in Kubernetes"]]></title><description><![CDATA[
<p>Hi, everyone!
I'm one of the maintainers, I'd love to chat about the project and about how and why we built it.</p>
]]></description><pubDate>Wed, 13 Mar 2024 22:37:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=39698440</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=39698440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39698440</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin 2.0 – open-source tool for building and running WASM apps"]]></title><description><![CDATA[
<p>Thanks for the question!<p>Spin could definitely run in more places than what we have pre-built binaries for. Specifically, we could run on all platforms Wasmtime supports today (<a href="https://github.com/bytecodealliance/wasmtime/releases/tag/v14.0.4">https://github.com/bytecodealliance/wasmtime/releases/tag/v1...</a>), including RISC and S390X, for example.<p>And while we have been experimenting a bit with running Spin on RISC, we haven't really had the bandwidth or requirement to build a production build for those yet.<p>Are you interested in a specific operating system or CPU architecture? Would love to understand your scenario.</p>
]]></description><pubDate>Mon, 06 Nov 2023 12:56:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=38161957</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=38161957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38161957</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin 2.0 – open-source tool for building and running WASM apps"]]></title><description><![CDATA[
<p>Joel from our team worked on the initial prototype for WASI support in TeaVM (<a href="https://github.com/konsoletyper/teavm/pull/610">https://github.com/konsoletyper/teavm/pull/610</a>), and we temporarily forked before the WASI support made it to the official repo.<p>Good reminder to deprecate that now, and thanks for the amazing work on the project!</p>
]]></description><pubDate>Sun, 05 Nov 2023 07:59:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=38149218</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=38149218</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38149218</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin 2.0 – open-source tool for building and running WASM apps"]]></title><description><![CDATA[
<p>Hey, thanks for the question!<p>The short answer right now is no. The behavior of the default (and most popular) trigger in Spin (the HTTP trigger) is to create a new instance for handling each incoming request.
We made that choice primarily because we want to leverage the really good startup times for Wasm (and in particular for Wasmtime), and <i>not</i> running <i>any</i> guest code (in this case, business logic) until there is an actual incoming request means the server can execute other applications while idle.<p>Now, HTTP workloads are not the only type of workloads that Spin can handle — because of the way it's built, it's entirely pluggable and you can build your own trigger (for example <a href="https://github.com/fermyon/spin-trigger-sqs">https://github.com/fermyon/spin-trigger-sqs</a>), and potentially have long-running processes, but that is not currently possible with Spin today.</p>
]]></description><pubDate>Sun, 05 Nov 2023 05:58:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=38148700</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=38148700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38148700</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin 2.0 – open-source tool for building and running WASM apps"]]></title><description><![CDATA[
<p>Thank you!<p>(disclaimer: I work at Fermyon, the company that created Spin.)<p>All of Fermyon's websites are powered by Spin, and there are quite a few users who are deploying their Spin applications to Fermyon Cloud.</p>
]]></description><pubDate>Sat, 04 Nov 2023 20:23:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=38144763</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=38144763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38144763</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin 2.0 – open-source tool for building and running WASM apps"]]></title><description><![CDATA[
<p>Thank you for the kind words!</p>
]]></description><pubDate>Sat, 04 Nov 2023 20:20:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=38144746</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=38144746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38144746</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin 2.0 – open-source tool for building and running WASM apps"]]></title><description><![CDATA[
<p>Hey, jesdict1!<p>Check out this community project that adds support for Zig — <a href="https://github.com/tensorush/zig-spin">https://github.com/tensorush/zig-spin</a>.</p>
]]></description><pubDate>Sat, 04 Nov 2023 20:20:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=38144740</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=38144740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38144740</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin 2.0 – open-source tool for building and running WASM apps"]]></title><description><![CDATA[
<p>Thank you!<p>To your point, the primary consideration for choosing the languages is their support for WebAssembly, and WASI in particular.<p>Due to Spin's heavy use of WASI and the component model, languages that have first party support in the WIT bindings generator (<a href="https://github.com/bytecodealliance/wit-bindgen">https://github.com/bytecodealliance/wit-bindgen</a>) are the easiest to implement, followed by languages that can be built on top of the support for those with first party support.<p>For example, the JavaScript support is built by embedding QuickJS (in particular, Shopify's Javy project — <a href="https://github.com/fermyon/spin-js-sdk">https://github.com/fermyon/spin-js-sdk</a>), which then uses the Rust SDK.
(As a side note for the JS support — adapting QuickJS has been extremely helpful in getting JS support out; however, we are in the process of rebuilding the JS runtime using SpiderMonkey (with which a few people on the team have significant experience) and JCO (<a href="https://github.com/bytecodealliance/jco">https://github.com/bytecodealliance/jco</a>), and the web platform compatibility makes it a significantly better proposition for things like 3rd party dependencies).<p>C# is an interesting one — the .NET team at Microsoft (and in particular Steve Sanderson from that team) has been making tremendous progress in ahead-of-time compilation for .NET and generating Wasm and WASI compatible binaries (as opposed to their initial approach on Blazor), and experimenting with that led us to build support for Spin as well.<p>Finally, we do a lot to support other popular languages and their Wasm support — two examples: Python (<a href="https://github.com/bytecodealliance/componentize-py">https://github.com/bytecodealliance/componentize-py</a>) and Java / TeaVM (<a href="https://github.com/fermyon/teavm-wasi">https://github.com/fermyon/teavm-wasi</a>), for which we haven't fully integrated Spin support, but we hope to get there soon.<p>I hope this explains a bit our process on language support, happy to expand on any point here.
Enjoy your weekend!</p>
]]></description><pubDate>Sat, 04 Nov 2023 20:19:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=38144736</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=38144736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38144736</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin 2.0 – open-source tool for building and running WASM apps"]]></title><description><![CDATA[
<p>Hi, everyone, I'm one of the Spin maintainers.<p>We're really excited about the new release, happy to answer questions about it!</p>
]]></description><pubDate>Sat, 04 Nov 2023 13:37:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=38140874</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=38140874</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38140874</guid></item><item><title><![CDATA[Show HN: Spin 1.0]]></title><description><![CDATA[
<p>Introducing the first stable release for Spin, the open source developer tool for building, distributing, and running serverless applications built with WebAssembly.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35326027">https://news.ycombinator.com/item?id=35326027</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 27 Mar 2023 12:52:18 +0000</pubDate><link>https://www.fermyon.com/blog/introducing-spin-v1</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=35326027</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35326027</guid></item><item><title><![CDATA[New comment by matei_radu in "Fermyon, the Frictionless WebAssembly Platform"]]></title><description><![CDATA[
<p>Hi, everyone!
One of the platform maintainers here, happy to chat about WebAssembly, our platform, and Spin!</p>
]]></description><pubDate>Thu, 23 Jun 2022 16:58:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=31851917</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=31851917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31851917</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin – WebAssembly Framework"]]></title><description><![CDATA[
<p>(one of the Spin authors here.)<p>This is not shifting the security responsibility from the firewall <i>entirely</i> — it's just an additional guard rail to ensure only allowed domains can be accessed. It does not mean setting proper firewall rules is no longer a concern, but just continuing WebAssembly's "deny by default" stance on accessing anything outside the sandbox.<p>We have not explored exactly how large scale apps will look like with Spin and WebAssembly — our initial target, at least in the beginning, is making sure building and running function-as-a-service(-like) applications is a great experience.<p>That's a great call-out regarding configuration and templates — we do have previous experience with "config template hell" from working in Kubernetes, Helm, CNAB, and other distributed systems platforms, so hopefully we can try to make things better!</p>
]]></description><pubDate>Fri, 01 Apr 2022 10:32:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=30876782</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=30876782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30876782</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin – WebAssembly Framework"]]></title><description><![CDATA[
<p>(one of the Spin authors here.)<p>I'm not all that familiar with the Java ecosystem, but I seem to recall the CheerpJ people having examples for running Swing applications in the browser.
(I don't know much about how their solution works, or whether it's open source.)<p><a href="https://cheerpjdemos.leaningtech.com/SwingDemo.html" rel="nofollow">https://cheerpjdemos.leaningtech.com/SwingDemo.html</a></p>
]]></description><pubDate>Fri, 01 Apr 2022 10:16:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=30876685</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=30876685</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30876685</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin – WebAssembly Framework"]]></title><description><![CDATA[
<p>(one of the Spin authors here.)<p>This is so cool!
The Spin documentation website (<a href="https://spin.fermyon.dev" rel="nofollow">https://spin.fermyon.dev</a>) is also served by Spin itself, running on a Nomad cluster, with the same blogging engine mentioned here.<p>We're really looking forward to improving the rolling deployments, but it's really great seeing something like this live!</p>
]]></description><pubDate>Fri, 01 Apr 2022 10:04:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=30876633</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=30876633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30876633</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin – WebAssembly Framework"]]></title><description><![CDATA[
<p>(one of the authors of Spin here, and a WebAssembly enthusiast.)<p>There are, of course, a lot of similarities between the Java or .NET runtimes and WebAssembly, and other comments made excellent points about the lower level nature of Wasm, or the isolation sandbox.<p>I would also point out that there are significantly more languages that either have support for compiling to WebAssembly today, or that have started adding support (in the last month alone there were initial announcements for Python, Ruby, and .NET, for example).</p>
]]></description><pubDate>Fri, 01 Apr 2022 09:10:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=30876420</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=30876420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30876420</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin – WebAssembly Framework"]]></title><description><![CDATA[
<p>(one of the authors of Spin here.)<p>Your intuition is mostly correct.
Before anything, I strongly suggest you read this article on server-side WebAssembly — <a href="https://hacks.mozilla.org/2019/11/announcing-the-bytecode-alliance/" rel="nofollow">https://hacks.mozilla.org/2019/11/announcing-the-bytecode-al...</a><p>In short, when compiling to Wasm, you are building a binary that is agnostic of the operating system and CPU architecture it is going to run on, so it can be executed in lots of very different places (microcontrollers, Raspbery Pis, in the cloud).
You can also use several VERY different programming languages, and interoperate between them (write a component in Rust, import it in a new component in JavaScript, and use those two from C# — this is an example for how the component model will (hopefully soon) enable cross-langauge interop in WebAssembly).<p>Among other benefits, the compact binary format (which makes it easy to distribute modules), the isolation sandbox, common compilation target.<p>Hope this is helpful!</p>
]]></description><pubDate>Fri, 01 Apr 2022 07:59:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=30876102</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=30876102</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30876102</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin – WebAssembly Framework"]]></title><description><![CDATA[
<p>(one of the authors of Spin here.)<p>I think this is an excellent point — while we do try to give acknowledgement to the previous technology that paved the way for what we are doing (there are a few articles that treat microservices, containers, serverless <a href="https://fermyon.com/blog/index" rel="nofollow">https://fermyon.com/blog/index</a>), I agree that we could do a better job at talking about programming languages and language runtimes.<p>Thanks for the suggestion!</p>
]]></description><pubDate>Fri, 01 Apr 2022 07:42:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=30876030</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=30876030</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30876030</guid></item><item><title><![CDATA[New comment by matei_radu in "Spin – WebAssembly Framework"]]></title><description><![CDATA[
<p>Thanks for your comment!
(one of the authors of Spin here, working at Fermyon.)<p>You are correct, a lot of our team worked in the DeisLabs R&D team at Microsoft before joining Fermyon!</p>
]]></description><pubDate>Fri, 01 Apr 2022 07:37:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=30876015</link><dc:creator>matei_radu</dc:creator><comments>https://news.ycombinator.com/item?id=30876015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30876015</guid></item></channel></rss>