Very well documented video, I loved the examples. I have two extra ... mentions, so to speak: 1) On the systemd issue of it being mostly monolithic (though from what I understand, they did made some good progress in making the binaries more individual) one good example I have of why it is bad is CVE-2018-16865 . You can search for it on the internet. It is a vulnerability that was found in journald years ago. What was to blame here is that, at that time, there was no way to disable journald, because it was so coupled with the rest of systemd. You could use rsyslog alongside journald, but journald would still be active and running. Now, image the stress of system administrators, especially if it was a critical (for them) system, that they couldn't disable or replace journald with something else, they simply had to wait for the update which fixed the vulnerability. 2) People think that "do one thing and do it well" basically means to only do the most basic stuff. Like Jody said in the video, it's more of a guideline, all potential new features should be weighted if they make sense, if they don't make things worse and so on. One example of a huge program that I think everybody agrees that is following the unix philosophy (or at least, I heard noone complain about) is ffmpeg. Extremely useful and successful program, that is also very easy to work with in scripts or embed in other programs (aka high interoperability with the rest of the system). But also, at the same time, a massive program. Here lies the need of defining what that one "thing" is In the find example, the delete part I could argue can be left out of find. But the min/max depth, it absolutely needs to be in it, because it can be massively inefficient to basically scan everything to then remove from the output 500k files from some folder you didn't want/cared about. Not so sure there's something that can be so detrimental when using an external delete command in the delete part.
I’m an original AT&T Software engineer that worked there in the early 80s. UNIX system five was our religion, and then along came Linux. Obviously, Linux won that war over UNIX, which is all well and good, and I use it all the time and like it, but going back to your rule number one, what I hate about Linux is how they’ve added extra complexity to simple tools. For example the CP commandDoesn’t need to incorporate an option to move the file! That’s what MV is for! Etc. etc. Thank you for your video. Very entertaining!
That sounds like a really bad idea. I didn't know you could do that with the copy command nor would I have expected it. I would always have assumed that my originals would be safe if I used "copy".
26:36 I like that one about getting the bugs out early before it becomes a big program. That's a great idea. I like to test my code a lot while I'm building the program and test for different scenarios.
#3 sounds like an explanation for the VISTA fiasco. As I heard it, there was a (false) rumor afoot that Apple was going to launch a new O.S. upgrade that, it was "feared" might cut into MS's market share. So, valuing its customers as little as MS does, rather than take ANY reduction in its hegemony, MS released VISTA despite the fact that it was still in development and testing, well away from its planned release date, on the theory that the development process would be concluded after the sale, the product patched-up through updates to the saps - oopps- I mean the users.
Oh that pesky 'hedge a money' LOL No, Vista was put out there 2 pretend Micro$hit cares about 'security threats' (other than their own, as the main threat 2 yor data & stability & so on is frum Micro$abotage itself). The constant 'did U really mean 2 click on that' nagging was a sick joke 2 poop all over their cu$tomers, same az removing the start menu from Windows HATE (against us all) & forced hijacking 'update' brand new bugs injection in HATE & everything after, etc. 2 B reel, U can also have 'update krap' taking over earlier versions like even Window $ex Pee, but it's E Z 2 disable, unlike 10 & so on ware U need 3'rd party stuff like 'Sordum Update Blocker' 2 make 10 even semi-usable 4 doing N E actual work.
I'd like to see an OS introduce a metadata string along with all anonymous pipes, that would allow programs to see the list of commands this pipe has passed through, be it for simple user notifications like letting them know the original source of the data that's being parsed, or security uses where a check could be made to make sure this pipe is what we expect it to be. Seems like 'anonymous' pipes should be considered insecure, this day and age, no? "Hi, here's a stream that doesn't support seek() and you can't even loosely guess what it is by it's file extension. Decode it! GO!" Seems flimsy to me.
Yor rite = so much important than putting a folder tree in the Linux file explorers so they R actually semi-useful. Wat we need mozt is a 'metadata pipe' blabla LOL!! Linux is the apex of 'polishing the terd' = solving every problem but the 1's that keep regular people from switching 2 it =)) Their 'file explorers' R a sick joke =P
I just checked your website and you mention there that you've migrated to codeberg, I wonder why you completely nuked the github repos? Why not just turn them into a funnel to your codeberg repo/website?
It was, for about a year. The problem is that keeping my stuff there is implicit support for the platform, plus any new developments may go ignored by naive users. Nuking it all sort of forces everyone to move on.
Very well documented video, I loved the examples.
I have two extra ... mentions, so to speak:
1) On the systemd issue of it being mostly monolithic (though from what I understand, they did made some good progress in making the binaries more individual) one good example I have of why it is bad is CVE-2018-16865 . You can search for it on the internet. It is a vulnerability that was found in journald years ago. What was to blame here is that, at that time, there was no way to disable journald, because it was so coupled with the rest of systemd. You could use rsyslog alongside journald, but journald would still be active and running. Now, image the stress of system administrators, especially if it was a critical (for them) system, that they couldn't disable or replace journald with something else, they simply had to wait for the update which fixed the vulnerability.
2) People think that "do one thing and do it well" basically means to only do the most basic stuff. Like Jody said in the video, it's more of a guideline, all potential new features should be weighted if they make sense, if they don't make things worse and so on. One example of a huge program that I think everybody agrees that is following the unix philosophy (or at least, I heard noone complain about) is ffmpeg. Extremely useful and successful program, that is also very easy to work with in scripts or embed in other programs (aka high interoperability with the rest of the system). But also, at the same time, a massive program. Here lies the need of defining what that one "thing" is
In the find example, the delete part I could argue can be left out of find. But the min/max depth, it absolutely needs to be in it, because it can be massively inefficient to basically scan everything to then remove from the output 500k files from some folder you didn't want/cared about. Not so sure there's something that can be so detrimental when using an external delete command in the delete part.
I’m an original AT&T Software engineer that worked there in the early 80s. UNIX system five was our religion, and then along came Linux. Obviously, Linux won that war over UNIX, which is all well and good, and I use it all the time and like it, but going back to your rule number one, what I hate about Linux is how they’ve added extra complexity to simple tools. For example the CP commandDoesn’t need to incorporate an option to move the file! That’s what MV is for! Etc. etc. Thank you for your video. Very entertaining!
That sounds like a really bad idea. I didn't know you could do that with the copy command nor would I have expected it. I would always have assumed that my originals would be safe if I used "copy".
26:36 I like that one about getting the bugs out early before it becomes a big program. That's a great idea. I like to test my code a lot while I'm building the program and test for different scenarios.
LOL X11 definetly forgot the first principle of the philosophy
#3 sounds like an explanation for the VISTA fiasco. As I heard it, there was a (false) rumor afoot that Apple was going to launch a new O.S. upgrade that, it was "feared" might cut into MS's market share. So, valuing its customers as little as MS does, rather than take ANY reduction in its hegemony, MS released VISTA despite the fact that it was still in development and testing, well away from its planned release date, on the theory that the development process would be concluded after the sale, the product patched-up through updates to the saps - oopps- I mean the users.
Oh that pesky 'hedge a money' LOL No, Vista was put out there 2 pretend Micro$hit cares about 'security threats' (other than their own, as the main threat 2 yor data & stability & so on is frum Micro$abotage itself). The constant 'did U really mean 2 click on that' nagging was a sick joke 2 poop all over their cu$tomers, same az removing the start menu from Windows HATE (against us all) & forced hijacking 'update' brand new bugs injection in HATE & everything after, etc. 2 B reel, U can also have 'update krap' taking over earlier versions like even Window $ex Pee, but it's E Z 2 disable, unlike 10 & so on ware U need 3'rd party stuff like 'Sordum Update Blocker' 2 make 10 even semi-usable 4 doing N E actual work.
I'd like to see an OS introduce a metadata string along with all anonymous pipes, that would allow programs to see the list of commands this pipe has passed through, be it for simple user notifications like letting them know the original source of the data that's being parsed, or security uses where a check could be made to make sure this pipe is what we expect it to be. Seems like 'anonymous' pipes should be considered insecure, this day and age, no? "Hi, here's a stream that doesn't support seek() and you can't even loosely guess what it is by it's file extension. Decode it! GO!" Seems flimsy to me.
Yor rite = so much important than putting a folder tree in the Linux file explorers so they R actually semi-useful. Wat we need mozt is a 'metadata pipe' blabla LOL!! Linux is the apex of 'polishing the terd' = solving every problem but the 1's that keep regular people from switching 2 it =)) Their 'file explorers' R a sick joke =P
I just checked your website and you mention there that you've migrated to codeberg, I wonder why you completely nuked the github repos? Why not just turn them into a funnel to your codeberg repo/website?
It was, for about a year. The problem is that keeping my stuff there is implicit support for the platform, plus any new developments may go ignored by naive users. Nuking it all sort of forces everyone to move on.
At least, Unix seems financially more successful than Linux...