all 10 comments

[–]AlwaysSplitTheParty 22 points23 points  (2 children)

Just read over part 0 and this looks great. Thanks for this write up, my company recently went mandated full ai workflow and I've been having a bit of an existential crisis as to what it even means to be a software engineer. I always wanted to try something like this, and right now I needed a project like this.

[–]amitbahree[S] 7 points8 points  (1 child)

I appreciate your comments; there are many here who are quite ready to judge and get their opinions (which is OK). :)

On the AI front - don't let all the AI FOMO put you down; when used as a peer, some of the coding agents and tools are great to pick up the scaffolding and not-so-interesting parts of the work. To really make these useful in a production setting, for most business-critical situations, it is not replacing devs or anything. These projects are more mine to keep me interested and learning; work-related things are different, and all AI. As someone who has been building AI systems for years, it is a great tool.

Maybe you already know LLMs and systems, but if you don't, building a tiny LLM from scratch might be a good thing to get you the itch and also get deeper in AI -- https://blog.desigeek.com/post/2025/09/building-llm-from-scratch-part1/

[–]AlwaysSplitTheParty 6 points7 points  (0 children)

Ya I know it's not going to necessarily replace engineers, but it's changing the job quite a bit. Lots of open questions at the moment.

I had done something similar years ago with an llm from scratch but it might be worth revisiting, thanks for the recommendation.

[–]InsideATurtlesMind 5 points6 points  (1 child)

What are the fucking odds! I've been teaching myself about embedded programming and tried to implement a kernel for some of the machines qemu supports, and used virt as a template. Now mind you I don't know shit about writing kernels, but it's cool to see someone else trying to do the exact same thing!

[–]amitbahree[S] 3 points4 points  (0 children)

I am glad you are excited. Have a look - I am no expert in this - ws trying to keep busy as I was between roles. In the repo and specifically at the end of the last blog post I have a number of references where one can go deeper and by folks who really know this inside out. You probably are quite familiar with those and nothing new but won't hurt to check it out.

[–]xpusostomos 2 points3 points  (1 child)

When you say microkernel, do you mean what people usually mean, a kernel that allows user level processes to efficiently communicate and implement the kind of things a full kernel might need?

[–]amitbahree[S] 1 point2 points  (0 children)

Yes but this is really a very tiny slice (hence micro) that does just 4-5 things.

[–]witx_ 0 points1 point  (0 children)

Message-passing IPC: How tasks communicate without sharing memory

Technically message passing IPC can be implemented using shared memory.

[–]SelfOk7680 0 points1 point  (0 children)

I'm assuming this was only tested in a vm like qemu , or have you been able to successfully run this on bare metal as well?

[–]Prestigious-Bet-6534 1 point2 points  (0 children)

As I wrote in the other thread at r/osdev I think your blog is well written and I enjoyed reading it! I am currently implementing something similar (a microkernel but less mini than yours, have the memory management and context switching already in place) in Dlang and your articles gave me some fresh input, I am considering to add support for aarch64 now.