3 ms·
I definitely think there is something to what your saying. For me personally, I've been slowly progressing lower in the software stack, both in terms of langua
by TrueDuality 6y ago
I definitely think there is something to what your saying.
For me personally, I've been slowly progressing lower in the software stack, both in terms of language (down to assembly) and in the software I'm exploring (operating systems and firmware) partially out of curiosity but I hit a pretty big wall when I got to modern operating systems. There is just so much in-scope to learn all at once that I was overwhelmed and not making a huge amount of progress.
What ended up allowing me to start getting past that wall was researching old operating systems and old hardware. I found and modified some variants of the older hardware implemented either as software or in the more fun cases as an all-in-one FPGA design. Some of the tricks that those operating systems performed, and the way applications were designed to run are really creative. There are concepts in some of those earlier operating systems which are truly novel and if they had caught on we'd likely have a very different concept of what an operating system is. Some of those might become relevant again if our computing models evolve to a different paradigm (I'm especially looking at distributed compute and process scheduling, kind of like Erlang but for the entire operating system).
Being able to see why we have certain components in modern operating systems and how the evolution of hardware and requirements has led to what our operating systems today do has been a really fun adventure. There is still so much I don't understand but what was once a giant inscrutable black box has sort of become a collection of smaller pieces that I can toy with individually.