frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Toro: Deploy Applications as Unikernels

https://github.com/torokernel/torokernel
77•ignoramous•2h ago

Comments

itsthecourier•1h ago
reminds me of actors, they are sharing messages between kernels with a bus

file sharing is complex too it seems

would be good to see a benchmark or something showing where it shines

Imustaskforhelp•1h ago
I think one reason UniKernels can be different are perhaps that they can allow more isolation or run user generated code perhaps inside the Unikernel with proper isolation whereas I don't think actors can do that
cmrdporcupine•1h ago
It's written in... Pascal...

Neat.

giancarlostoro•1h ago
My last name is finally on the front page of HN as a project name, look mah!

I was not expecting Pascal, thats an interesting choice. One thing I do like is that Freepascal has one of the better ways of making GUIs meanwhile every other language had decided that just letting Javascript build UIs is the way.

lacoolj•35m ago
Oh holy crap that's actually super cool. One of the first languages I (tried to) learn ... at 13. And failed.

Now I write Javascript and SQL.

:)

AceJohnny2•12m ago
yay no C strings!
gnabgib•1h ago
(2020) Currently, seems to have been around since 2011 (https://news.ycombinator.com/item?id=3288786) although at a few different domains (torokernel.org, torokernel.io)
spacecadet404•1h ago
What's the use case for this rather than containers? Separation from the hypervisor kernel?
eru•1h ago
It can be much faster, and much smaller surface area for attacks than using a full Linux kernel.
Imustaskforhelp•1h ago
Containers (docker/podman) are still not as secure as virtualization (qemu,kvm,proxmox)

Plus these might be smaller and might run faster than containers too.

m00dy•47m ago
yeah it's a fairy tale.
ahepp•57m ago
Presumably to avoid the cost of context switches or copying between kernel/user address spaces? Looks to be the opposite of userspace networking like DPDK: kernel space application programming.
richardwhiuk•1h ago
I wonder how it compares to https://mirage.io/
speed_spread•46m ago
Isn't Mirage OCaml only?
mustache_kimono•1h ago
Bryan Cantrill, "Unikernels are unfit for production". [0]

[0]: https://www.tritondatacenter.com/blog/unikernels-are-unfit-f...

wmf•1h ago
Toro provides a GDB stub so there has been a little progress since that time.
vigilans•58m ago
There's a man who hasn't tried running qubes-mirage-firewall.

Unikernels don't work for him; there are many of us who are very thankful for them.

mustache_kimono•44m ago
> there are many of us who are very thankful for them.

Why? Can you explain, in light of the article, and for those of us who may not be familiar with qubes-mirage-firewall, why?

cmrdporcupine•14m ago
Cantrill is far smarter and accomplished than me, but this article feels a bit strawman and hit and run?

I think unikernels potentially have their place, but as he points, they remain mostly untried, so that's fair. We should analyze why that is.

On performance: I think the kernel makes many general assumptions that some specialized domains may want to short circuit entirely. In particular I am thinking how there's a whole body of research of database buffer pool management basically having elaborate work arounds for kernel virtual memory subsystme page management techniques, and I suspect there's wins there in unikernel world. Same likely goes for inference engines for LLMs.

The Linux kernel is a general purpose utility optimizing for the entire range of "normal things" people do with their Linux machines. It naturally has to make compromises that might impact individual domains.

That and startup times, big world of difference.

Is it going to help people better sling silly old web pages and whatever it is people do with computers conventionally? Yeah, I'd expect not.

On security, I don't think it's unreasonable or pure "security theatre" to go removing an attack surface entirely by simply not having it if you don't need it (no users, no passwords, no filesystem, whatever). I feel like he was a bit dismissive here? That is also the principle behind capability-passing security to some degree.

I would hate to see people close the door on a whole world of potentials based on this kind of summary dismissal. I think people should be encouraged to explore this domain, at least in terms of research.

droelf•1h ago
I've been using unikraft (https://unikraft.org/) unikernels for a while and the startup times are quite impressive (easily sub-second for our Rust application).
ahepp•54m ago
What drove you to choose that over something like containers?
m00dy•49m ago
shorter cold-boot times.
m132•57m ago
Projects like this and Docker make me seriously wonder where software engineering is going. Don't get me wrong, I don't mean to criticize Docker or Toro in parcicular. It's the increasing dependency on such approaches that bothers me.

Docker was conceived to solve the problem of things "working on my machine", and not anywhere else. This was generally caused by the differences in the configuration and versions of dependencies. Its approach was simple: bundle both of these together with the application in unified images, and deploy these images as atomic units.

Somewhere along the lines however, the problem has mutated into "works on my container host". How is that possible? Turns out that with larger modular applications, the configuration and dependencies naturally demand separation. This results in them moving up a layer, in this case creating a network of inter-dependent containers that you now have to put together for the whole thing to start... and we're back to square one, with way more bloat in between.

Now hardware virtualization. I like how AArch64 generalizes this: there are 4 levels of privilege baked into the architecture. Each has control over the lower and can call up the one immediately above to request a service. Simple. Let's narrow our focus to the lowest three: EL0 (classically the user space), EL1 (the kernel), EL2 (the hypervisor). EL0, in most operating systems, isn't capable of doing much on its own; its sole purpose is to do raw computation and request I/O from EL1. EL1, on the other hand, has the powers to directly talk to the hardware.

Everyone is happy, until the complexity of EL1 grows out of control and becomes a huge attack surface, difficult to secure and easy to exploit from EL0. Not good. The naive solution? Go a level above, and create a layer that will constrain EL1, or actually, run multiple, per-application EL1s, and punch some holes through for them to still be able to do the job—create a hypervisor. But then, as those vaguely defined "holes", also called system calls and hyper calls, grow, won't so the attack surface?

Or in other words, with the user space shifting to EL1, will our hypervisor become the operating system, just like docker-compose became a dynamic linker?

kitd•37m ago
This results in them moving up a layer, in this case creating a network of inter-dependent containers that you now have to put together for the whole thing to start... and we're back to square one, with way more bloat in between.

I think you're over-egging the pudding. In reality, you're unlikely to use more than 2 types of container host (local dev and normal deployment maybe), so I think we've moved way beyond square 1. Config is normally very similar, just expressed differently, and being able to encapsulate dependencies removes a ton of headaches.

eyberg•34m ago
Containers got popular at at time when there were an increasingly number of people that were finding it hard to install software on their system locally - especially if you were, for instance, having to juggle multiple versions of ruby or multiple versions of python and those linked to various major versions of c libraries.

Unfortunately containers have always had an absolutely horrendous security story and they degrade performance by quite a lot.

The hypervisor is not going away anytime soon - it is what the entire public cloud is built on.

While you are correct that containers do add more layers - unikernels go the opposite direction and actively remove those layers. Also, imo the "attack surface" is by far the smallest security benefit - other architectural concepts such as the complete lack of an interactive userland is far more beneficial when you consider what an attacker actually wants to do after landing on your box. (eg: run their software)

When you deploy to AWS you have two layers of linux - one that AWS runs and one that you run - but you don't really need that second layer and you can have much faster/safer software without it.

pjmlp•22m ago
Linux containers you mean.

The story is quite different in HP-UX, Aix, Solaris, BSD, Windows, IBM i, z/OS,...

pixl97•6m ago
>what an attacker actually wants to do after landing on your box.

Aren't there ways of overwriting the existing kernel memory/extending it to contain an a new application if an attacker is able to attack the running unikernel?

What protections are provided by the unikernel to prevent this?

m00dy•45m ago
it is using qemu's network stack, would like to know how performant it is.
raggi•37m ago
I don't want the observability of my applications to be bound by themselves, it's kind of a real pain. I'm all for microvm images without excess dependencies, but coupling the kernel and diagnostic tools to rapidly developing application code can be a real nightmare as soon as the sun stops shining.
lacoolj•33m ago
I use LXD + LXC, wondering if this is worth trying or if the overhead of accessing (network, etc) would be too much to deal with/care about.

Also always a little wary of projects that have bad typos or grammar problems in a README - in particular on one of the headings (thought it's possible these are on purpose?). But that's just me :\

Toro: Deploy Applications as Unikernels

https://github.com/torokernel/torokernel
78•ignoramous•2h ago•30 comments

Electrolysis can solve one of our biggest contamination problems

https://ethz.ch/en/news-and-events/eth-news/news/2025/11/electrolysis-can-solve-one-of-our-bigges...
44•PaulHoule•1h ago•7 comments

FediMeteo: A €4 FreeBSD VPS Became a Global Weather Service

https://it-notes.dragas.net/2025/02/26/fedimeteo-how-a-tiny-freebsd-vps-became-a-global-weather-s...
5•birdculture•7m ago•0 comments

Show HN: 22 GB of Hacker News in SQLite

https://hackerbook.dosaygo.com
59•keepamovin•2h ago•21 comments

A Vulnerability in Libsodium

https://00f.net/2025/12/30/libsodium-vulnerability/
29•raggi•2h ago•2 comments

Loss32: Let's Build a Win32/Linux

https://loss32.org/
62•akka47•1d ago•168 comments

Reverse Engineering a Mysterious UDP Stream in My Hotel (2016)

https://www.gkbrk.com/hotel-music
94•bayesnet•1w ago•12 comments

Lottocracy: Democracy Without Elections

https://www.lottocracy.org
10•egghack•1h ago•2 comments

The British empire's resilient subsea telegraph network

https://subseacables.blogspot.com/2025/12/the-british-empires-resilient-subsea.html
110•giuliomagnifico•6h ago•26 comments

Non-Zero-Sum Games

https://nonzerosum.games/
258•8organicbits•7h ago•117 comments

Igniting the GPU: From Kernel Plumbing to 3D Rendering on RISC-V

https://mwilczynski.dev/posts/riscv-gpu-zink/
32•michalwilczynsk•5h ago•2 comments

Times New American: A Tale of Two Fonts

https://hsu.cy/2025/12/times-new-american/
147•firexcy•6h ago•91 comments

Approachable Swift Concurrency

https://fuckingapproachableswiftconcurrency.com/en/
113•wrxd•6h ago•48 comments

Postgres extension complements pgvector for performance and scale

https://github.com/timescale/pgvectorscale
84•flyaway123•5d ago•13 comments

Netflix Open Content

https://opencontent.netflix.com/
493•tosh•9h ago•90 comments

Hive (YC S14) Is Hiring a Staff Software Engineer (Data Systems)

https://jobs.ashbyhq.com/hive.co/cb0dc490-0e32-4734-8d91-8b56a31ed497
1•patman_h•4h ago

Show HN: Tidy Baby is a SET game but with words

https://tidy.baby
15•brgross•3h ago•4 comments

Go away Python

https://lorentz.app/blog-item.html?id=go-shebang
259•baalimago•10h ago•243 comments

Show HN: I remade my website in the Sith Lord Theme and I hope it's fun

https://cookie.engineer/index.html
5•cookiengineer•1h ago•0 comments

HTTP Strict Transport Security (HSTS)

https://hstspreload.org/
4•arunc•1d ago•2 comments

Stranger Things creator says turn off "garbage" settings

https://screenrant.com/stranger-things-creator-turn-off-settings-premiere/
355•1970-01-01•19h ago•640 comments

Five Years of Tinygrad

https://geohot.github.io//blog/jekyll/update/2025/12/29/five-years-of-tinygrad.html
111•iyaja•1d ago•52 comments

Show HN: One clean, developer-focused page for every Unicode symbol

https://fontgenerator.design/symbols
136•yarlinghe•5d ago•54 comments

What Happened to Abit Motherboards

https://dfarq.homeip.net/what-happened-to-abit-motherboards/
49•zdw•4h ago•40 comments

Concurrent Hash Table Designs

https://bluuewhale.github.io/posts/concurrent-hashmap-designs/
45•signa11•3d ago•4 comments

Tesla's 4680 battery supply chain collapses as partner writes down deal by 99%

https://electrek.co/2025/12/29/tesla-4680-battery-supply-chain-collapses-partner-writes-down-dea/
606•coloneltcb•1d ago•679 comments

Iran Protests Enter Third Straight Day as Students Join In

https://www.wsj.com/world/middle-east/iran-protests-enter-third-straight-day-as-students-join-in-...
7•JumpCrisscross•17m ago•0 comments

The future of software development is software developers

https://codemanship.wordpress.com/2025/11/25/the-future-of-software-development-is-software-devel...
362•cdrnsf•1d ago•435 comments

Charm Ruby – Glamorous Terminal Libraries for Ruby

https://charm-ruby.dev/
110•todsacerdoti•11h ago•16 comments

Show HN: Replacing my OS process scheduler with an LLM

https://github.com/mprajyothreddy/brainkernel
7•ImPrajyoth•2h ago•4 comments