Out of curiosity, what got you into programming Artlav? I know I would never have started studying C++ without Orbiter myself.
One day in the late 90s i got an idea that i can make better DOS and Windows.
Then it went something like that, a mix of "plans for a year" and "what happened that year":
1998:
-Type description into a txt file
-Rename it as game.exe
-Run game.exe
-Wonder what went wrong
-Start thinking
1999:
-Get to know bat files and ansi.sys
-Call that program-off-ZIP-disk-selector an OS
-Make a calculator for it
-Make changeable backgrounds for it.
2000:
-Learn Turbo pascal
-Write better Windows, with round and triangular windows
-Write better DOS, with current directory always shown
-Write a way to load that thing from under MS Windows in windows's place
-Take over the world!
2001:
-Learn assembler
-Rewrite that tanglebox into the efficient machine code
-Figure out why BIOS can't load gif files
-Make better Windows that fit on a floppy, square windows would suffice
-Take over the world?
2002:
-Learn C
-Learn protected mode
-Learn programming and algorithms theory
-Learn what does OS means
-Learn how CPU's work
-Learn how games are really made
2003:
-Find Linux
-Learn why backups are necessary, the hard way
-Find another Linux
-Learn why rm -rf / is not the same as format C:, and why second partition does not constitute a good place to keep backups
-Find Orbiter, pay for it with grades.
2004-2007:
-Graduate
-Enroll in University's Computational Mathematics and Cybernetics faculty
-Discover that Operating Systems department actually teach supercomputer programming
-Learn Delphi
-Learn Java
-Learn Lisp
-Learn Prolog
-Learn FORTRAN
-Learn UML
-Implement every algorithm there is
-Make sense of Linux kernel sources
-Make better Orbiter
2008:
-Recover that assembler clustertangle and rewrite it into pascal
-Design a system architecture and rewrite it again
-Make way for loading programs
-Make way for loading drivers
-Learn how PC hardware works on the bottom side
-Make VFS
-Make VFAT driver
-Make floppy driver
-Make VESA driver
-Make some kind of GUI to get larger console
-Make memory manager that can release memory
-Make task manager that can wait
-Make pascal compiler
2009:
-Redesign the clusterentangle again.
-Dissolve the kernel into userspace
-Debug VFS
-Debug VFAT driver
-Debug memory manager
-Debug task manager
-Make some IPC primitives
-Rewrite \"pascal\" compiler into pascal compiler
-Get USB to work
-Get CDROM to work
-Make ISOFS driver read most CDROM's
-Make OpenGL renderer device
-Get significant amount of code to work for perceivable amount of time without crashing the OS
-Abandon all hope of fitting it on a floppy
-Abandon all hope of making a better Orbiter
2010:
-Offset common code to libraries
-Clean up and keep a consistent design
-Redesign userspace to fold on itself, with consistent interfaces and minimal code reuse
-Add compression support to the program loader and linker
-Make it fit on floppy again
-Redesign kernel affinity
-Port some games and programs into the now-stable-looking OS
-Achieve OS uptime of 1 hour while playing around with compilers and games
-Think up a way to make it all useful
-Take over the world
2011:
-Get interested in hardware, fail at making a RepRap
-Get interested in Artificial Intelligence, fail at making a neural autopilot for Orbiter
-Get interested in power electronics, fail to avoiding vaporising some wires
-Port Linux to Orbiter
2012-2013:
-Get a PhD in Artificial Intelligence by accident, find out that it does not lend better jobs
-Succeed in making a Reprap, succeed again
-Succeed in vaporising wires on purpose
-Make lightning play music
-Find out that you are still far from taking over the world
2014:
-???