Comments by "Lawrence D’Oliveiro" (@lawrencedoliveiro9104) on "DistroTube"
channel.
-
156
-
45
-
39
-
24
-
22
-
19
-
17
-
16
-
13
-
One of the key things I learned from my CS courses is abstraction and layering. You start with the bare hardware, which is the most general machine possible because it hasn’t been specialized in any way. You put down the first layer of programming, which creates a new “abstract machine” that is better suited to some purpose you have in mind, but is likely less suited to something that someone else may have in mind. Then another layer on top of that, and so on.
And every stage, each layer is replaceable and can be substituted with something else. For example, you get to the layer of the command-line shell, which can do a range of things. You can customize it by writing a shell script, which performs some function that is useful to you.
But once you get to the GUI layer, that’s the end of all your abstractions. That’s because the GUI layer cannot be automated. So you cannot build any more “abstract machines” on top of it. It is designed to be directly controlled by humans, and that’s it.
13
-
12
-
12
-
10
-
10
-
9
-
9
-
8
-
7
-
6
-
There was a saying in the old days, “nobody ever got fired for buying IBM”. The obvious update for today is “nobody got fired for buying Microsoft”. But that doesn”t really sound convincing enough. You need something that sounds more reassuring, don’t you? Something that makes it clear how much worse the alternatives can be.
How about, “nobody ever got tied to an anthill and smeared with honey for buying Microsoft”.
Or, “nobody had their skin flayed off, one little cut at a time, with a blunt razor, for buying Microsoft”.
Or, “nobody ever got tied in a tank with a tap dripping on their head, driving them insane before it drowned them, for buying Microsoft”.
Do you think that makes Microsoft buyers feel better?
6
-
6
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
4
-
4
-
4
-
4
-
4
-
4
-
8:57 That so-called “Unix philosophy of do one thing and do it well” is a half-truth. Look at any Unix/Linux system, and you will a mix of large pieces and small pieces. And the small pieces would not work without the help of the large pieces. Consider:
* The Linux kernel, currently at over 20 million source lines and counting. Which “one thing” does it do well? It is successful because it does so many things well.
* The X server, which was notorious in earlier times for practically being an OS unto itself, with its own drivers reaching deep into the hardware, running with root privileges. Which “one thing” does it do well? (To be fair, it should eventually be replaced with Wayland.)
* Good old Bash. I counted over ¾ million lines in its source code. Its man page is over 5000 lines long. I use it every day, and I know lots of other people do, too. What “one thing” does it do well? It’s basically a large monolithic mish-mash of miscellaneous functionality, accreted over the years. But at least it is useful miscellaneous functionality.
I could go on. Big pieces make little pieces possible. systemd makes possible the writing of very short config files to manage custom-developed services—unlike the dozens or hundreds of lines of boilerplate commonly needed with sysvinit. So your code can concentrate on “doing one thing, and doing it well”, thanks to systemd!
4
-
4
-
4
-
4
-
4
-
4
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3