Hacker News new | past | comments | ask | show | jobs | submit login

> I don't think I spend more than an a couple of hours per month maintaining my configuration

This is... still significant.

Outside of auto updates sometimes rebooting my laptop overnight and major version bumps requiring me to hit the "update" button explicitly once a year, I'm unsure what "maintaining my configuration" would entail once things were setup to your liking on macOS.




I'm not sure what the GP is maintaining but I have used the latest Fedora and Sway (and i3 before that) day-in and day-out for years, all I do is run dnf update once in a while... it gets completely out of the way.


Yeah, I use an arch derivative so its a rolling distro and even with the problems that entails I update packages about once a week and have not had issues since a bug got me 2 years ago.

How often are things changing for these people that configs need to constantly reviewed?


I guess some people want heavier customisation, whereas they just accept what macOS enforces.

I have been using different Linux distros in the last 15 years (mostly Arch, so rolling), and really I don't customise much (default i3, default vim, etc). Doesn't really require any maintenance at all, I would say.


Spending a few hours a month maintaining GNU/Linux is perhaps the single most effective learning process for Computer Science I know. The entire stack (except binary blobs) is always available and something novel occurs everytime. I love fixing my Linux, I get to read about so many aspects of stuff I didn't know before.

And with NixOS it's more than cummulative it's a multiplier.

Gonna get me a second-hand M1 or M2 soon.....


I don’t see how this can be true under any definition of computer science. I used linux in college and I think it was useful, but more as an immersion learning program for the Unix abstraction than anything related to what i was studying (CS).

I didn’t learn much about algorithms, or digital systems, or compilers by setting up arch Linux. Even my OS class, it’s not like learning about swap helps understand context switching or even virtual memory.

I relate to how satisfying it can be tinkering with things but a lot of times it’s just distracting. Like spending a day optimizing productivity tools instead of being productive. Or trying to get your laptop to recognize and change audio output when plugging in headphones instead of studying for a midterm.


Did not Galileo grind his own lenses for his telescopes?

Did not Yogi Berra state that in theory there's no theory between theory and practice but that in practice there is?

Is an abacus useful in Computer Science or is it an impediment to purely conceptual algorithmics?

I use Linux precisely because it enables good Computer Science, as telescopes enable good astronomy, as particle accelerators enable the realisation of the prediction of the Higgs Boson.


Well you can't deny that if you understand how to compile your kernel, how to make a rootfs, what a primary/secondary bootloader is, etc, then you actually have learned about computers, right?

Try Linux from scratch, then ask yourself how macOS, Windows and *BSD solve those problems. Wouldn't you call that computer science?


No, not really. They're closer to the equivalent of learning how to install a new lens in your telescope so you can do more astronomy.

You've learnt about telescopes, which is a very useful skill, but it's not the same thing as astronomy.


Ok let's take one step back and look at the parent:

> I don’t see how this can be true under any definition of computer science.

Let me arbitrarily copy one definition of computer science, from Wikipedia:

> Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (including the design and implementation of hardware and software).

I think that designing an OS counts as computer science, at least under "some definition of computer science". And learning how to maintain an OS is a step towards understanding how it is designed.

Of course, maintaining your OS does not teach you Javascript. But Computer Science is not limited to Javascript. I wouldn't be very happy if you told me that I am not a software engineer because I don't know Javascript, to be honest.


In this analogy, I think you should replace Astronomy with optics to be equivalent. And in this case you learned a lot about optics


I think it's like saying if you learn how to maintain a submarine, have you become a good swimmer? Or, if you know how to maintain a submarine do you understand fluid mechanics?


Ok let's take one step back and look at the parent:

> I don’t see how this can be true under any definition of computer science.

Let me arbitrarily copy one definition of computer science, from Wikipedia:

> Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (including the design and implementation of hardware and software).

I think that designing an OS counts as computer science, at least under "some definition of computer science". And learning how to maintain an OS is a step towards understanding how it is designed.

Of course, maintaining your OS does not teach you Javascript. But Computer Science is not limited to Javascript. And I have seen many developers distribute libraries without having a clue about how package management works, which results in a big mess. And then they complain about the tools ("CMake sucks, it's not my fault"), where actually they just don't have a clue how it works below.

I see computer science as the discipline that makes the whole computer work. Because one can't be bothered to understand anything below their favourite framework doesn't mean it doesn't count as "computer science".


I feel this one. Short story. I'm primarily a designer that 10 years ago decided out of boredom to use Vim. Next thing I knew I was using fish as my prompt and learning a lot more about my command line.

2 years ago I made the switch to Linux, mostly because I was inspired by r/unixporn. I took a long weekend to install a barebones arch setup with i3. Everything needed to be touched, and I realized that although I'd been using computers for nearly 30 years, I really didn't understand how they worked.

Maintaining things like Linux, Vim, or some semi-complicated, interlinked toolchain makes me need to learn things constantly. Running updates becomes a lot more complicated, and every time I do it, I learn something new about how computers work that I didn't before.

Why do I do this? Well, I like learning! I also really enjoy my work and if fully retired, would still fiddle with computers as a hobby. Nothing against it, but I think a lot of people use their computers simple to get to their end task, and don't really care much about how that end task might sit on top of a bunch of other core systems.

In my heart, everytime I fiddle with Linux I'm reminded of the seven-year-old kid who sat at the family kitchen computer trying to learn just what the hell DOS was and why my games didn't work. These are magical machines, and it's fun learning why they work. That's what Linux gives me... something to explore.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: