frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: DOOM in the kernel, or fibers in eBPF

https://ayles.github.io/doom-in-kernel/
13•ayles•1d ago
Some time ago my coworker who was working on first version of Perforator (https://github.com/yandex/perforator) kept talking about eBPF, so I got curious about its ISA and restrictions. That was around the time I read about DOOM on pregnancy test, so I thought: "what if someone run DOOM inside of Linux kernel in eBPF? Surely, with some restrictions, this should still be possible?"

I started to play around with it somewhere in 2024 - first stripping DOOM to bare minimum that is needed for showcase, simplifying code and trying to pass first restrictions that I encountered - function limit, recursion, memory access and checks. I tried to do this by hand, but it was, well, tedious labor. So I changed direction and instead started to do some of the things with LLVM-passes - rewriting memory access, simplifying and rewriting loops etc. But there were just so many corners. And given absence of time and all, I forgot about this project.

But couple months ago I thought: "LLMs are quite good nowadays, so why not try again this time with more hands". I tried different approaches on how memory access could be "virtualized", how loops can be made bounded, and in general - how to run unbounded logic on such a machine.

When I got DOOM running, I got carried away. Approach was so "generic", so it would be a crime not to try to run more things. And now we have it - lua running on xdp hot path, llama2 working with softfloats, and even cpython, that did not fit initially into 1M verifier budget, is running there now thanks to freplace.

There is ton of work to do in order to make programs run faster, to make integration easier, but working examples are already there.

Comments

tptacek•58m ago
There's so much good content in here, it's a shame you sandblasted your writeup with AI. "To the verifier, it is a number with a biography" is where I veered off the road and into a culvert.
ayles•51m ago
Yes, there is a language barrier. And I was in a hurry because of ongoing life events, so it was kinda "today or in a month" for me. Couldn't keep it much longer for myself and wanted to share.
tptacek•11m ago
I totally understand where you're coming from. I'd recommend just publishing in your own words even if English isn't your best language; at this point, in 2026, it will read as charming and genuine, not slapdash.

A big problem with current model AI writing is that the topic sentence of every paragraph reads like a magazine headline, and it can be tricky to catch because a lot of magazine headlines are kind of good --- when they're headlines!

Number with a biography, yeesh. :)

This was neat work, though. Thanks for sharing!

ayles•4m ago
Noted for the future. I actually wrote a draft myself and mostly used ai to translate it. And there were some "late discoveries" that required me to patch article fast. For instance, for older memory tier (without arenas) I was using 2MB+8B regions with 8B overlap - this allowed unaligned reads to happen without checks, but later I got 4MB non-overlapping regions with llvm read-write alignments to work and that allowed me to remove additional check on stores, make memory fully writable from host side and made atomics correct. So this kind of patch needed to land in article between my "finishing tinkerings".
rvz•43m ago
Damn. That is a real shame. This whole writeup has some slop in it then.

Show HN: DOOM in the kernel, or fibers in eBPF

https://ayles.github.io/doom-in-kernel/
13•ayles•1d ago•5 comments

Show HN: MultiMatte, a Promptable Image Background Removal Model

https://usefeyn.com/blog/multimatte/
10•snyy•2h ago•4 comments

Show HN: Syq – copy files between machines fast (better than rsync)

https://greaber.github.io/syq/
21•greaber•3h ago•25 comments

Show HN: Nightshift – Your code gets better while you sleep

https://github.com/openslop/nightshift
2•tcbrah•23m ago•1 comments

Show HN: Pixel Agents – A pixel-art mission control for your Claude Code agents

https://github.com/mateovalle/pixel-agents
2•mateovalle•29m ago•0 comments

Show HN: Art – draw one stroke, let symmetry complete it

https://mrdee.in/mandala/
79•cyb0rg0•5d ago•32 comments

Show HN: Filament – Fast data movement engine in Go

https://github.com/galaxy-io/filament
19•ikswolzok•2d ago•3 comments

Show HN: Raiders at the Gate – tower defense web game

https://games.chrisbeach.co.uk/raiders-at-the-gate/
2•cbeach•45m ago•3 comments

Show HN: Let coding agents work across your laptop, remote machines, and S3

https://github.com/vasinov/ridge-core
2•vasinov•1h ago•0 comments

Show HN: What if the speed of light was 5 km/h?

https://rivendell.dmitrybrant.com/relativity/
552•dmitrybrant•16h ago•243 comments

Show HN: I created a translation service prompt

https://github.com/AlkalineGarrett/language-root-translator
2•alkaline9•1h ago•1 comments

Show HN: We served 5k dynamic websites from a 2-vCPU, 4 GB VPS

https://github.com/Kooboo/Kooboo/blob/main/Docs/5000-sites-benchmark.md
7•zguoqi•3h ago•0 comments

Show HN: Globalping CLI – Run network commands from anywhere in the world

https://globalping.io/cli
2•jimaek•1h ago•0 comments

Show HN: Compute polynomials twice as fast

https://thomasahle.com/fast-polynomials/
121•thomasahle•1d ago•37 comments

Show HN: Dbmask – Discover, mask, and verify sensitive data in SQL databases

https://github.com/sealandseacat/dbmask
4•SiyuanFeng•3h ago•0 comments

Show HN: Nola – a TypeScript superset where LLM inference is a language feature

https://nola.sh/
2•emykhailenko•2h ago•2 comments

Show HN: Turn wire protocols into structured statements LLMs can understand

4•andriosr•2h ago•0 comments

Show HN: I built an AI 'Fog of War' for life goals

https://www.tryworthit.app
2•AvityN•2h ago•1 comments

Show HN: Math Gambling

https://kuber.studio/math-gambling/
6•kuberwastaken•4h ago•0 comments

Show HN: Symphony – a live map of your AI coding agents

https://github.com/itsloganmann/symphony
2•loganmann0324•2h ago•0 comments

Show HN: Talleyrand – Open-source AI thinking workspace built as a question tree

https://talleyrand.app/
2•steshinss•2h ago•0 comments

Show HN: Pascal's Pager – Webhooks In. Push Notifications Out

https://www.pascalspager.com/
2•mflake93•2h ago•0 comments

Show HN: MySamantha – a productivity app where the AI is optional

3•thejasonsamuel•2h ago•0 comments

Show HN: Calmscroll – a reader that shows the current paragraph in the library

https://calmscroll.com
3•amadeuspagel•4h ago•0 comments

Show HN: I built an AI 'Fog of War' to kill my 3AM Notion templates

https://www.tryworthit.app/about
2•AvityN•2h ago•1 comments

Show HN: ObserverBench – Test internal AI monitors by the harm they miss

https://kwisatzh.github.io/observerbench/try/
4•kwisatzh•2h ago•1 comments

Show HN: EterDB, a Postgres fork that makes it easy to recover from incidents

https://eterdb.com/
3•fdeth•3h ago•0 comments

Show HN: An app for passively watching Product Hunt launches as a video playlist

https://github.com/OlegIGalkin/ProductTrailers
3•cantouch•3h ago•0 comments

Show HN: Subnet Calc, visual subnet planning for teams

https://www.subnetcalc.com
3•RossMason•3h ago•2 comments

Show HN: Matcha Filter Remover – browser-first green cast correction

https://matchafilterremover.net/
3•robot1996•3h ago•0 comments