← Back to context

Comment by kar1181

1 month ago

I mean this is cool, it's wholly / mostly AI gen, so it takes the wow away which I think is what foklks are reacting strongly to here.

Sadly this sort of thing is much easier now - thanks to the tooling. I speak from personal experience, I'd written some stub 32bit os' myself (by hand, pre-ai) and it is very fun. But you quickly run into walls that stop further development that aren't fun. I enjoyed poking at VGA registers, the 512 byte boot sector into real mode into protected mode dance. Setting up the global descriptor tables/page tables and the PIC/8042 controller.

But...then you get into protected mode you get a prompt up some very basic memory management and then TERMIOS...boring. Boring. Defining all the posix syscalls, boring. Building test harnesses ... boring.

Oh I need a DMA controller now because PIO is slow, FUN!!!

I've taken my toy os to basically Linux 2.0 level in a few weekends by throwing tokens at boring things and when I got to the end it was a little bit empty because although the kernel of the system was all me, and it very much was built on the skeleton I arranged I didn't understand bits now that while boring were important. And the magic ... was lost.

I'm working on a new version now where my rule is I hand type every line of code and I co-plan with the AI and write from my head. It's so slow going but the fun is in the problem solving and the design and by hand writing you keep enough of it in hand it feels yours and real.

Anyway this is a cool project, I hope the author enjoyed it and learned something, but this is the new normal now, powerful tooling means things that were novel are tokens away and so they lose some of the magic accordingly.

I am not sure I will ever get this to protected mode... The goal was to have something running on slower, older hardware, and once protected mode comes into play, we're letting go many of the constraints that make this an interesting experiment.

Even though I've relied on AI to hammer out the assembly, it has been very educational iterating on it. You end up learning the techniques that other operating systems used to get applications to perform well on slow machines.

  • Yeah, I think the ability to move at pace helps and especially when you get stuck at some sort of intractable bug, in realmode especially, claude/gpt is unbelievably good at identifying and proposing the fix.

    THAT is part of the issue with it though, those length debugging sessions where you prod and poke and have to hold complex interactive segments in your head is what gives you that deep understanding of a piece of software. You do lose that when you throw the AI at it. This is part of my motivation for handwriting 'offline' all my code for these types of project. Have a doc to work from but otherwise wetware is doing the heavy lifting.

    This isn't efficient use of time at all and professionally a dead end. But as a pasttime/hobby for an enthusiast it opens a door that would be closed (project like yours and indeed mine) while still having it grounded in our own work.

it's wholly / mostly AI gen, so it takes the wow away

No? It's the exact opposite for me. This is a great demo of how AI can do efficient software if you prompt it the right way.