<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: nderjung</title><link>https://news.ycombinator.com/user?id=nderjung</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 28 Aug 2026 08:04:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nderjung" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Tailcat – Like netcat, but over Tailscale’s data plane]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/tailscale/tailcat">https://github.com/tailscale/tailcat</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49452990">https://news.ycombinator.com/item?id=49452990</a></p>
<p>Points: 651</p>
<p># Comments: 124</p>
]]></description><pubDate>Wed, 26 Aug 2026 17:42:22 +0000</pubDate><link>https://github.com/tailscale/tailcat</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=49452990</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49452990</guid></item><item><title><![CDATA[New comment by nderjung in "How we run Firecracker VMs inside EC2 and start browsers in less than 1s"]]></title><description><![CDATA[
<p>Hi, Alex from Unikraft here.  One clarification: Browser-Use didn't move away from Unikraft because of any limitation around browser startup times, snapshotting, scale-to-zero, or browser-level autoscaling.  Those capabilities worked well and were a key reason they adopted the platform in the first place.<p>The challenge they encountered was at a different layer: horizontally scaling the underlying EC2 infrastructure.  At the time, native EC2 fleet autoscaling wasn't yet supported by the platform, so they chose to take ownership of that part of the stack and build directly on Firecracker.<p>It's also worth noting that Unikraft is actively working on transparent infrastructure autoscaling (with live migration), so the gap they encountered is being addressed.  The article's title may give the impression that unikernels were the bottleneck (they weren’t, and our platform transparently support Linux VMs as well), when in reality the decision was driven by infrastructure orchestration requirements rather than browser runtime capabilities.<p>As an aside, we love Browser-Use <3 and we still work together closely!</p>
]]></description><pubDate>Thu, 18 Jun 2026 07:31:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48582034</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=48582034</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48582034</guid></item><item><title><![CDATA[Stwipe – Payments infrastructure for people who cannot be reasoned with]]></title><description><![CDATA[
<p>Article URL: <a href="https://stwipe.com">https://stwipe.com</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47979474">https://news.ycombinator.com/item?id=47979474</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 01 May 2026 19:58:42 +0000</pubDate><link>https://stwipe.com</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=47979474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47979474</guid></item><item><title><![CDATA[New comment by nderjung in "Building secure, scalable agent sandbox infrastructure"]]></title><description><![CDATA[
<p>Howdy! We are hard at work at improving the DX, and as a result we've been working on a brand new CLI.  We haven't made any announcements yet, but it's already open-source for early adopts if you'd like to give it a try!<p><a href="https://github.com/unikraft/cli" rel="nofollow">https://github.com/unikraft/cli</a><p>Feedback is very much appreciated, we're listening! :)</p>
]]></description><pubDate>Fri, 27 Feb 2026 22:10:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47186399</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=47186399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47186399</guid></item><item><title><![CDATA[New comment by nderjung in "Hands-On Introduction to Unikernels"]]></title><description><![CDATA[
<p>Hey! Co-founder of Unikraft here.<p>Unikraft aims to offer a Linux-compatible environment (so it feels familiar) with the ability to strip out unnecessary internal components in order to improve both boot-time/runtime performance and operational security.<p>Why would you need a memory allocator and garbage collector if you serve static content?  Why would you need a scheduler if your app is run-to-completion?<p>Linux gives you the safety-net of generality and if you want to do anything remotely performant, you by-pass/hack it altogether.<p>In the article, Unikraft cold-boots in 150ms in an emulated environment (TCG). If it was running natively with virtualization hardware extensions, it can be even shorter, and without the need for snapshots which means you don't need to store this separately either.</p>
]]></description><pubDate>Thu, 22 Jan 2026 17:11:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46722037</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=46722037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46722037</guid></item><item><title><![CDATA[New comment by nderjung in "True Serverless with Unikraft Cloud"]]></title><description><![CDATA[
<p>Which OS and device are you using?</p>
]]></description><pubDate>Fri, 26 Jul 2024 13:17:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=41078394</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=41078394</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41078394</guid></item><item><title><![CDATA[True Serverless with Unikraft Cloud]]></title><description><![CDATA[
<p>Article URL: <a href="https://unikraft.cloud/blog/true-serverless/">https://unikraft.cloud/blog/true-serverless/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41078350">https://news.ycombinator.com/item?id=41078350</a></p>
<p>Points: 2</p>
<p># Comments: 3</p>
]]></description><pubDate>Fri, 26 Jul 2024 13:13:08 +0000</pubDate><link>https://unikraft.cloud/blog/true-serverless/</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=41078350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41078350</guid></item><item><title><![CDATA[New comment by nderjung in "Mewz: Unikernel written in Zig for running WASI-compatible WASM applications"]]></title><description><![CDATA[
<p>This project operates by first building the webassembly module into an ELF binary and then statically linking this against the Mewz library OS in order to become a unikernel binary.<p>It looks still very early days in terms of supporting all libc/syscalls as well as support for different platforms.<p>I wonder how this compares in terms of performance to <a href="https://unikraft.org" rel="nofollow">https://unikraft.org</a> which is able to do the same but is a more establish libOS/unikernel project (disclosure I am a maintainer of Unikraft :-)) since this is written in Zig and Unikraft is written in C.</p>
]]></description><pubDate>Sat, 15 Jun 2024 17:02:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=40690984</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=40690984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40690984</guid></item><item><title><![CDATA[New comment by nderjung in "Show HN: KraftCloud – The "Never Pay for Idle" Cloud Platform"]]></title><description><![CDATA[
<p>Hi!<p>Thanks for the feedback!<p>Good point on the Kraftfile syntax and as you've seen, there is a reference document.  We can make sure to place a link to this in all guides.<p>The term "KraftCloud Specification" is in fact incorrect, this should just be "`Kraftfile` specification".<p>We are working on providing a "Unikraft Hub".  Since unikraft.org is a public OCI registry and it works through many popular tools like `crane` or `regtool` as well as our native `kraft` CLI tool; you can actually view it locally by running `kraft pkg ls --all --apps --remote`.<p>Thanks again for the feedback! We'll get on to updating the docs to make these bits clearer!</p>
]]></description><pubDate>Fri, 24 May 2024 11:49:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=40465176</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=40465176</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40465176</guid></item><item><title><![CDATA[Show HN: KraftCloud – The "Never Pay for Idle" Cloud Platform]]></title><description><![CDATA[
<p>Hi everyone, it’s Alex, Simon, Felipe and the team from Unikraft.io<p>We have built kraft.cloud, a millisecond cloud platform, where apps and services cold start, scale to zero and autoscale in milliseconds, ensuring you never pay for idle, can efficiently cope with traffic peaks, and don’t have to deal with complex cold start issues.<p>As of today we are now in open early access!<p>The platform (and we) come from research in the area of lightweight virtualization — trying to ask the question of how efficient cloud platforms could (or should) be while still retaining strong, hardware-level isolation. KraftCloud is the result of this research followed by years of building the Unikraft open source project (www.unikraft.org).<p>KraftCloud is based on unikernels, extremely specialized virtual machines, built on top of the Linux-API compatible Unikraft project. If you’ve heard of unikernels in the past, you’ve likely come across properties like millisecond cold start, small memory consumption, and small TCB, to name a few. You may have also heard of downsides like difficulty using them, debugging them, monitoring them or deploying them in the cloud — we’ve been hard at work tackling these issues.<p>KraftCloud leverages Unikraft unikernels, but also comes with a custom-built controller that can be reactive in millisecond scales and can scale to thousands of instances on a single server. We also have integrations with Dockerfiles, Terraform and Kubernetes, and the ability to deploy within hyperscaler infra. The end result is a platform where<p>- Cold starts take milliseconds (e.g., NGINX boots in 15ms)<p>- Scale to Zero (and scale back up) also takes milliseconds<p>- Autoscale takes milliseconds so you can transparently cope with fast peaks<p>- We can put 1000s of instances on a single server, reducing cost and carbon footprint<p>We’re in open early access and are actively handing (free) access tokens via the sign up form here: <a href="http://kraft.cloud/signup" rel="nofollow">http://kraft.cloud/signup</a><p>We would really appreciate as much feedback as humanly possible: what you like, what you don’t like, what isn’t clear, what we’re missing, what’s broken, etc (you can find more information in our FAQs: <a href="https://unikraft.io/faq" rel="nofollow">https://unikraft.io/faq</a>, or this blog post: <a href="https://unikraft.io/blog/kraftcloud/" rel="nofollow">https://unikraft.io/blog/kraftcloud/</a><p>Thanks so much for reading all the way to the end and looking forward to your comments!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40441629">https://news.ycombinator.com/item?id=40441629</a></p>
<p>Points: 7</p>
<p># Comments: 5</p>
]]></description><pubDate>Wed, 22 May 2024 14:44:38 +0000</pubDate><link>https://kraft.cloud/</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=40441629</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40441629</guid></item><item><title><![CDATA[New comment by nderjung in "My VM is lighter (and safer) than your container (2017)"]]></title><description><![CDATA[
<p>We ended up doing this over at <a href="https://unikraft.io" rel="nofollow">https://unikraft.io</a> :-)</p>
]]></description><pubDate>Tue, 14 May 2024 12:34:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=40354541</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=40354541</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40354541</guid></item><item><title><![CDATA[New comment by nderjung in "My VM is lighter (and safer) than your container (2017)"]]></title><description><![CDATA[
<p>Correct -- and you can run multiple kernels on the machine with virtualization extensions.  Even Docker Desktop does this.  You'd do this for _real_ isolation purposes.</p>
]]></description><pubDate>Tue, 14 May 2024 12:34:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=40354536</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=40354536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40354536</guid></item><item><title><![CDATA[New comment by nderjung in "My VM is lighter (and safer) than your container (2017)"]]></title><description><![CDATA[
<p>Containers are perfect for build environments and for creating the root filesystem.  The issue is that the kernel these days are super bulky and are intended for multi-user, multi-process environments.  Running a container runtime on top just makes it worse when you're looking for "isolation".<p>This paper argues that when you build a extremely minimal kernel (i.e. ditch Linux entirely) and link your application against necessary bits of code to execute _as_ a VM, then you'll get better performance than a container and you'll get that isolation.<p>This is in fact true based on performance studies, the follow up paper to this shows so: <a href="https://arxiv.org/pdf/2104.12721" rel="nofollow">https://arxiv.org/pdf/2104.12721</a><p>(Disclosure, co-author of the linked paper.)<p>We ended up taking this to real workloads if you want to see it in action: <a href="https://unikraft.io/" rel="nofollow">https://unikraft.io/</a></p>
]]></description><pubDate>Tue, 14 May 2024 12:31:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=40354509</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=40354509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40354509</guid></item><item><title><![CDATA[New comment by nderjung in "Take a look at Traefik, even if you don't use containers"]]></title><description><![CDATA[
<p>If you're looking for an alternative way to run traefik, we support this out-of-the-box on <a href="https://kraft.cloud" rel="nofollow">https://kraft.cloud</a> -- A platform dedicated to running ultra-lightweight VMs based on Dockerfiles, with millisecond cold start times (96ms for Traefik), scale-to-zero, autoscale.<p>Check it out in our docs: <a href="https://docs.kraft.cloud/guides/traefik/" rel="nofollow">https://docs.kraft.cloud/guides/traefik/</a><p>It's also possible to start traefik and other services together using Compose files: <a href="https://docs.kraft.cloud/guides/features/compose/" rel="nofollow">https://docs.kraft.cloud/guides/features/compose/</a></p>
]]></description><pubDate>Mon, 06 May 2024 13:22:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=40274342</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=40274342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40274342</guid></item><item><title><![CDATA[New comment by nderjung in "Containers and Unikernels: Similar, different, and intertwined"]]></title><description><![CDATA[
<p>Hi, author here,<p>You can, and we've written about the differences also, here [0].<p>The summary is that there is still a performance hit for boot time (100s of milliseconds to seconds vs. 1 to 100 of milliseconds for Unikraft); performance hit at runtime (even removing the syscall boundaries has a less-than-ideal impact based on previous studies); and, there's extra bloat from the image size itself (the image is still at the very least 30MB+ vs. as little as 100KB for Unikraft) which affects startup time and cost of storage + transport.<p>[0]: <a href="https://unikraft.io/blog/ukl-vs-unikraft" rel="nofollow">https://unikraft.io/blog/ukl-vs-unikraft</a></p>
]]></description><pubDate>Fri, 05 Apr 2024 06:54:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=39939417</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=39939417</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39939417</guid></item><item><title><![CDATA[Containers and Unikernels: Similar, Different, and Inextricably Intertwined]]></title><description><![CDATA[
<p>Article URL: <a href="https://unikraft.io/blog/containers-and-unikernels/">https://unikraft.io/blog/containers-and-unikernels/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39916578">https://news.ycombinator.com/item?id=39916578</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 03 Apr 2024 12:29:53 +0000</pubDate><link>https://unikraft.io/blog/containers-and-unikernels/</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=39916578</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39916578</guid></item><item><title><![CDATA[New comment by nderjung in "KraftCloud"]]></title><description><![CDATA[
<p>In fact gVisor is the opposite, it injects more guard instructions between the application and the kernel across the syscall layer in order to make stronger security guarantees.  These additional guards slow the application even further by however long it takes to perform necessary permission checks.<p>It is not necessary to have such checks in a unikernel because the kernel inherently trusts the application because together they were constructed in the same pipeline.  The hardware then protects the two together.</p>
]]></description><pubDate>Tue, 02 Apr 2024 19:24:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=39909825</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=39909825</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39909825</guid></item><item><title><![CDATA[New comment by nderjung in "KraftCloud"]]></title><description><![CDATA[
<p>> Most people don't run metal today<p>We are seeing an increasing trend towards On-prem/Cloud-prem/Co-los[0], mainly due to cost and reduced complexity.  Inversely, most smaller companies (1-10 emp) who use hyperscalers do not use their metal offerings, because of cost.  They wish to scale with demand which metal cannot provide.  Using EKS and other similar services have the benefit of being familiar and elastic, but are in fact slow and soon become quite expensive[1].<p>[0]: <a href="https://www.gartner.com/en/newsroom/press-releases/2023-05-16-gartner-says-4-trends-are-shaping-the-future-of-cloud-data-center-and-edge-infrastructure" rel="nofollow">https://www.gartner.com/en/newsroom/press-releases/2023-05-1...</a><p>[1]: <a href="https://a16z.com/the-cost-of-cloud-a-trillion-dollar-paradox/" rel="nofollow">https://a16z.com/the-cost-of-cloud-a-trillion-dollar-paradox...</a><p>> How many people know unikernels?<p>This has been a goal of Unikraft for a long time, to make using unikernels simple and familiar to use (in fact, transparent).  This is why we use OCI images as the root filesystem; why it's possible to start unikernels through Docker; why we have several types of Kubernetes integrations.<p>> How do you debug a running app?<p>For one, you can attach a gdb server and step through both application code and kernel code together.  Secondly, at Unikraft at least, we are introducing a virtual shell that allows you to introspect the filesystem, main threads, see system stats, etc.<p>> Stripped down Linux distros reduces attack surface<p>This is may reduce the attack surface, but one bad-actor application can still take down the host and all the other containers since they are still process (software) isolated.  With unikernels you get hardware-level isolation AND, interestingly, the performance thanks to the lack of strong syscall boundaries.<p>> Unikernels increase complexity<p>Give us a chance and try out one of our examples :-)<p><a href="https://github.com/unikraft/catalog/tree/main/examples">https://github.com/unikraft/catalog/tree/main/examples</a></p>
]]></description><pubDate>Tue, 02 Apr 2024 18:08:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=39908927</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=39908927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39908927</guid></item><item><title><![CDATA[New comment by nderjung in "KraftCloud"]]></title><description><![CDATA[
<p>In fact this is not true with Linux.  We did a study of this[0] and found that there are too many interdependencies between Linux kernel subsystems.  The smallest, usable Linux kernel we test with sometimes is around 30MB.<p>In comparison, compiling NGINX together with Unikraft results in a kernel size of under 2MB.  This means that there is 28MB of kernel we didn't need or want.<p>[0]: <a href="https://arxiv.org/abs/2104.12721" rel="nofollow">https://arxiv.org/abs/2104.12721</a> (See Figure 1)</p>
]]></description><pubDate>Tue, 02 Apr 2024 15:57:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=39907238</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=39907238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39907238</guid></item><item><title><![CDATA[New comment by nderjung in "KraftCloud"]]></title><description><![CDATA[
<p>Hi, [disclaimer, I am a project maintainer].<p>The key difference between unikernels (and library OSes) vs. other kernels is that each kernel is different with a unikernel.  Your application goes through a process of specialization, where you can decide exactly the necessary features (e.g. libraries, syscalls, memory allocation, scheduler, etc.) are necessary or desired for your application.  Additionally, other kernels are typically multi-process whereas a unikernel is inherently single-process since it does not support syscalls like fork.  (That said, at Unikraft, we are working on supporting fork, eta. late April).<p>Additionally, before Unikraft, one of the major trade-offs was developer time and effort to get your application into a unikernel.  Since Unikraft has been actively developed for several years by ~100+ people, it has become much more stable, feature complete and easier to use; ultimately making unikernels easier to approach.<p>Today, in-addition to multi-process applications, the trade-off now really depends on your usecase and so selecting whether you wish to deploy your application as a unikernel or on top of a monolithic kernel or microkernel.  For example, developer environments which require many subsystems, multiple programs, etc., where you can't know everything ahead-of-time, are still best suited for multi-user, monolithic kernels that can run most workloads.<p>Another thing to note is that unikernels are designed to be immutable and are often created in a CI/CD context.  This means that they are single-purpose and if you wish to change them, you need to re-build (or re-package).</p>
]]></description><pubDate>Tue, 02 Apr 2024 14:31:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=39906172</link><dc:creator>nderjung</dc:creator><comments>https://news.ycombinator.com/item?id=39906172</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39906172</guid></item></channel></rss>