💾 Archived View for tilde.cafe › ~stack › gemlog › 2022-09-03.kolibrios.gmi captured on 2024-07-09 at 01:22:49. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-07-22)
-=-=-=-=-=-=-
Over a few decades of observing my mental activity I see some patterns. There is ebb and flow with various projects and systems. After getting sick of complexity of current systems, I always retreat to something simpler - be it Forth or building some FPGA hardware (with complexities of their own, but)...
Today I went down a rabbithole that landed me at my old friend, osdev wiki. Perusing some of the not-abandoned systems I see that KolibriOS is still there.
https://wiki.osdev.org/Main_Page
For those who don't know, osdev is a site with guides/wiki/forums for people who want to make their own operatring systems, or vicariously enjoy the process and follow others' progress. It is also full of fabulously detailed, real information about booting CPUs and other low-level details, written by those who've banged their heads against real issues.
KolibriOS is a simple operating system written in assembly (FASM in particular). The minimal version fits on a floppy, if anyone had a floppy. A full implementation with lots of tools an applications fits on a CD, if anyone had a CD. It boots in less than a second on a modern machine, and can run in qemu, virtualbox, or on real hardware (including machines from the 90's).
Kolibri feels a bit like old Windows. It has a nice retro-clunky feel that is somehow comfy and inviting. Unlike modern systems it does not feel like a bottomless pit of complexity. Even though I was never a big fan of windows back in the day, I really like Kolibri.
Kolibri is a 2004 fork of MenuetOS, and has been under continuous development since (seems to be predominantly by Russian speakers). MenuetOS lost a lot of its charm when it spun off a 64-bit version distributed without source code, with a license that prohibits disassembly. Kolibri picked up the 32-bit branch (which is plenty good enough for a hobby OS).
FASM is an assembler I am very fond of. I love programming in assembly (until I don't, and I switch to Lisp or Smalltalk or whatever). This is like a paradise, a dream come true.
Every so often, when I circle around, I feel like it would be so much fun to stick to a limited platform like that, and just go nuts in assembler (there is a C compiler there too). Or spend a week implementing a Forth variant.
Maybe this time I will do that...