Projects
What I am currently doing with my (personal) life
UPDATED: 2026-05-06
POSTED: 2026-05-06
Woah! I haven't updated this place for a looooooong while. I guess it's time to revive this and talk about what I am currently doing during my spare time.
No, it's not the Dragonfly stuff. I have now bigger and better plans. Specifically, I am creating my own kernel! That's right!
Termite, my kernel project
The last couple of months I have been digging around Plan 9 and came to really appreciate its core philosophy and design. Which is why I decided to make a modern version of it! I really don't want to just make a clone, however; I really want to make something that stands on its own and has its own merit and charm. So, currently, the plan around some of its features is the following:
The Plan 9 feats
- Everything is a file. And when I say everything, I do mean everything. From actual chunks of hard disk space, to the peripherals in this computer. And no ioctl nonsense either; it's all going to be reading and writing to files, just as God (and Plan 9) intended
- Every process gets its own namespace! Not only that, but it can also serve its own namespace to other processes! Isn't this free-of-charge containerization and hardware virtualization just amazing?
- Single user system only. No roots, no wheels, no magic users that only specific applications use. Just one user, along with normal file permissions
The new stuff
- Everything is memory mapped. So long, reading and writing with hidden kernel buffers! Now everyone gets to share their memory with each other. That's actually one of the key points on how my kernel is going to differ from Plan 9, as, as far as I know, Plan 9 does not have memory mapping as a feature.
- Kernel only knows hardware buses (almost). Yes, I am going this minimal; since every process can expose its own filesystem, and files are essentially chunks of shared memory, there's really no reason to keep complicated stuff within the kernel.
- Shadow stacks! AKA Years old hardware mechanism against ROP and stack smashing that apparently nobody bothers to properly support yet
- Make it capable for kewl 3D graphics (hopefully. GPUs are an entirely different beast on their own. But hey, I have an AMD GPU, and AMD is relatively open about how their hardware works, so there is docs out there. What do I have to lose [except my sanity]?)
Wonderfully Abstract Symbolic Programming
My other running project is a LISP language I have termed WASP, which is meant to compile for and run on a virtual machine I have coined the Highly Imaginary and Virtual Executor (the HIVE, for short, ain't that cute?). I plan it to eventually be the (default) shell language of the operating system that will be created out of my kernel, but currently I am prototyping on Linux.
I haven't got any solid features planned for it yet, however there are two things I really, really, reaaaaally want to try out:
- Lower lists to arrays; this is LISP heresy, since lists are meant to be linked lists in LISP, but I really want to try out improving this sweet cache locality.
- Static typing (Another LISP heresy). Enough said on that front.
Things are on very early stages at this point, but I am really stoked about both of these projects! I really hope I will have more info to share in the (near) future!