HACKER Q&A
📣 behnamoh

How do I get over my obsession with operating systems?


I'm not officially a programmer, although I code a lot. And despite the impression people get from me, my college degree is not in CS. One of my tech obsessions in the past few years has been reading about operating systems, their differences, their history, and the decisions they made along the way. Sometimes it's a sad story (like when I read what happened to Solaris and BeOS), and sometimes it gives me joy (like seeing how Linux distros are getting more stable and consumption-ready for end-users). On that note, sometimes I ask myself how the world would be different if UNIX had won instead of Windows, and then I remember that I actually don't hate the Windows kernel as it's honestly a rock solid design. Still though, I think a lot about OS's and sometimes get sad that Unix (as it was meant to be) didn't get into consumer's hands. OS X and Linux are out there, but they're more like Unix-like OS's.

But I feel like this obsession neither benefits me in any meaningful way, nor does it go away on its own. Is there something I can do that'll help me stop thinking about OS's and focus on the tasks and things that we can do on them instead?


  👤 _Nat_ Accepted Answer ✓
Sounds kinda like just having an interest/hobby. Having interests/hobbies is often considered a positive thing, unless some aspect of the description was under-stated?

👤 yesenadam
You could write a book about them, or write reviews/blog etc. That might get them out of your system, or make you realize it's not so useless.

Also, it sounds like you enjoy thinking/learning about OSs, so saying it doesn't benefit you in any meaningful way sounds strange to me. As if your happiness means nothing. Maybe think about what's really important in life.


👤 arrakis2021
Dude start a YouTube channel explaining OS history and facts to people who aren’t programmers. I bet a ton of people out there share your interest and would love to watch

👤 pygar
Remember that a lot of these accounts are told with rose tinted glasses. The world would not have been that different whoever won.

The same type of abstractions would have been build on top of whatever was left standing and we would have more or less the same things we have now. These accounts are not epic battles, they are just businesses competing with each other. An OS is just software that manages hardware, a lot of the innovations are academic, if it runs the hardware properly, it works.

That said, as long as it's not taking up time you should be utilising for other things, I don't see a reason to stop. As you've been doing it for a couple of years you're going to run out of material and you will have it all memorised soon anyway


👤 ffhhj
It's like The Matrix, you know there is something missing but you can't tell what. OSes should have continued evolving but we are stuck with the tech that is enough for OS companies to build and maintain. Watch "Bret Victor The Future of Programming" to get how delayed tech is. OSes should be "web browsers" but with optimal executables, not Electron-bloated-browser-per-app, OSes in 80's personal computers had a simple language for anyone to create its apps (i.e. Basic, Hypercard), should have better standarized accessibility, and there are many UX controls and interactions that should exist.

👤 gandalfff
Massive amounts of effort were poured into these historical operating systems and now they are obsolete. But obsolescence does not diminish the craftsmanship, skill, and ingenuity that went into their development. By admiring what the developers accomplished, you are allowing the legacy to live on.

I admit I have a soft spot for software that didn't stand the test of time. I was once on a team that developed a product that was killed in favor of another product. Reading the history of Windows Longhorn (and how much effort was thrown away), I felt a connection with these developers who no doubt felt similar disappointment.


👤 khaledh
I have the exact same obsession, along with obsession with programming languages and software design in general (especially simplicity and composability). but I don't associate feelings with it. I learn about OSs because I don't like magic; I need to understand how things work down to the hardware level. In the process, I build pieces of kernels in different languages to solidify my understanding.

I came to the conclusion that all current kernels have the same philosophy, basically there's a concept of process (aka address space), threads, virtual memory, interrupts, i/o devices, concurrency and synchronization, etc. Unix/BSD/Linux, macOS (BSD with a Mach kernel), Windows NT (a descendant of VMS), all have more or less the same core concepts. This is why I also started looking outside those systems, and started exploring mainframe operating systems and their history (starting from IBM OS/360 all the way to z/OS).

I started asking myself what if there was a different way to design an operating system. What is a "program"? Does every program have to be loaded into its own address space? Can we be more efficient when composing small programs together by colocating them in the same address space (think of piping without IPC)? How can we maintain protection in this case? Can we leverage memory protection keys to help there? Can programs define metadata about how they should be integrated in bigger flows (think execution DAGs)? Can we blur the difference between CLI, GUI, and server programs such that all of them are considered pieces of functionality that is registered system-wide and invoked in the context of other "programs" (think of embedding behaviour of one program inside another). Can we think of interrupts as hardware callbacks? Can we structure interrupt handlers as async workers in a unified programming model? How does that influence async i/o and events design?

To enable this kind of thought, I think we'll need a different breed of programming languages. Can we have a language that doesn't just focus on control flow, data types, etc. and instead allow us to define large, complex system behaviour in a way that guides the design, rather than implement the design? This is what I'm obsessed with, and I still don't have an answer.


👤 melony
I think you are just unhappy with the OS status quo and want something new. You aren't really interested in having Unix as the mainstream OS beyond its novelty and potential impacts.

This is rather telling. > OS X and Linux are out there, but they're more like Unix-like OS's

OS X is a literally certified, specification-compliant, Unix-family OS with a clear BSD lineage. Just because the userland is closed sourced and custom hardware being necessary to get the best performance doesn't make it any less of a Unix.

https://www.opengroup.org/openbrand/register/


👤 bookreturn
You, like me, probably have OCD (obsessive compulsive disorder). Get on some medication, even for a short while, and get your life back. Especially if you have a family. Don't lose your marriage over this. I'm speaking from experience.

👤 vogt
I don't think you should get over it. Dive deeper, if anything. Also maybe ask what thought process led to thinking that this obsession is a problem? Maybe there's a deeper problem you're trying to solve with yourself mentally. Not a psychiatrist, just someone who can get obsessive over niche stuff here.

👤 phendrenad2
Not sure why you want to get over it, but to avoid doing the "XY Problem" thing, and answer your question as-is: Maybe the problem is self-limiting? There's only so much information about old OSs out there. Once you've spend a hundred, or a thousand, hours on reading about old OSs, maybe you'll eventually get bored, and be free from this obsession? IDK, I'm also obsessed with the same thing (shout out to me favorite old OS: ChorusOS!), but I consider it a relaxing hobby, not necessarily a waste of my time.

If that doesn't work, perhaps you could make this into something useful. Blogging about something you're passionate about is a good way to signal to people that you're generally an intelligent person, and can help you get jobs, etc.


👤 Gollapalli
Write one.

Or build distro or something. You've got an itch, might as well scratch it.


👤 mattl
You can’t. You never will. I’m the same. Just accept it.

👤 whateveracct
I spend time futzing around with NixOS and mingw x-compilation just because it's fun. It's also useful for my purposes, but I still prioritize it more than I should. It's okay to have fun!

👤 SilasX
Can you share how you got up to speed and so deep in OSes so that at least others can benefit?

👤 asdadsdad
There's plenty of pretty relevant work that can be done that has to do with OS internals and a good expert knowledge of them. Often times it does intersect with networking and optimizations, etc. but most people who deal with Distributed Systems greatly benefit from it.

👤 theonemind
Maybe try meditation? This just sounds like obsessive thought. You'd want to stop thinking. Generally, it doesn't do much good to suppress thought, kind of harmful. You kind of want to let it settle like sand in a glass of water. If you try to push it down with a spoon, it'll just whip around and keep floating around. If you can just sit still with your mind without whipping around a no-thought spoon, maybe it will all settle to the bottom and you can just take some breaks from thinking.

Perhaps give this a try: https://wakingup.com/

I'd say, "just stop thinking", but thinking about it or framing it like that never really works for anyone.


👤 ree-san
As others have pointed out, you could put this interest to good use. What I would like to know is why you want to get over the obsession - is it stopping you doing things you want to be doing?

A few family members and colleagues are autistic and have “obsessive” special interests. Some of them are very useful in helping them forge their path in life and some cause trouble. I have a colleague who has needed some very strict workplace boundaries to be able to function without his other interests stopping him being productive. Not suggesting you are autistic, just underscoring I’d like to know what friction this interest causes you.


👤 vogelke
Maybe knowing when a particular OS went off the rails or did something deeply stupid will come in handy one day when you're writing an app to scratch an itch. Way better to avoid a mistake someone else already made.

👤 egberts1
I don’t … get over my obsession with Operating System and Networking.

Those words are also on my sheepskin paper that I got on the graduation ceremony walk-thru.

So, I suggest you make the best of what you know and branch out … earnestly.

Writing, blogging, teaching, researching, applying, and most importantly … never … never stop learning.


👤 formerkrogemp
You could, as others have said, contribute to existing codebase if you have the skill set. You could develop expertise that could pay off down the road. My question is: does it make you happy to read about OSes? If so, I think you could definitely have worse interests. Best of luck.

👤 georgia_peach
I once showed my kids a video of how hotdogs are made, and they suddenly stopped eating them.


👤 sydthrowaway
It's a stupidly niche job with low pay. Go work on Kubernetes.

👤 KSPAtlas
I also have something similar and I just say leave it alone, I'm quite interested in plan9 right now.

👤 aaaaaaaaata
Fork and/or write one!!

and, check out Terry's TempleOS videos.

If I can't cure you, might as well help you scratch the itch!


👤 maxloh
How about Fuchsia?