I bet after the videos he just opens up his Ubuntu gnome setup
@Newtube_Channel5 жыл бұрын
u mean
@rothbardfreedom5 жыл бұрын
Windows Vista
@atemoc5 жыл бұрын
@@rothbardfreedom Windows ME
@needthistool4 жыл бұрын
Windows Bob *
@MadsenAltamirano4 жыл бұрын
@William Day Wut lol
@jreneew25 жыл бұрын
Richard Stallman is bloated
@ulissemini54925 жыл бұрын
this is true
@Swenthorian5 жыл бұрын
It's all those toe-nuggets
@hrishikeshlearning32733 жыл бұрын
What you refer to as Richard Stallman is actually GNU/Richard Stallman or as I have taken to calling it, GNU + Richard Stallman
@oneirophon89123 жыл бұрын
@@hrishikeshlearning3273 And GNU / Richard Stallman doesn't "open" jars, he "frees" them!
@ilyamakarchuk5 жыл бұрын
Core utilities work differently on other operating systems. For example, on Windows they don't work at all!
@Booming-letsplays5 жыл бұрын
You now did proof that linux is absolutely bloated and if you want to change it, delete all of it. Congrats.
@ilyamakarchuk5 жыл бұрын
@@Booming-letsplays Computers are all bloat essentially. Books, abacuses and pen and paper are enough.
@ertwro5 жыл бұрын
@Илья Макарчук but they do...
@AlucardNoir5 жыл бұрын
@@ilyamakarchuk books? when you could memories? abacuses? what's wrong with using your mind? Pens? PAPER! unnecessary luxuries.
@outeast73445 жыл бұрын
@@AlucardNoir unironically this
@0M9H4X_Neckbeard5 жыл бұрын
If your scripts don't run on Alpine Linux and OpenBSD don't talk to me or my son ever again
@johndoe-fu3qr5 жыл бұрын
*my wife's son
@ivbit5 жыл бұрын
*my son's wife
@notyilli_24814 жыл бұрын
Danganronpa can only be bought with DRM, bloat
@excitableboy70314 жыл бұрын
Make scripts POSIX compliant! Reeeeee!
@gorgecunth15812 жыл бұрын
I spent years studieing all the GNU options. Finally I approach mastery. Every morning I scream at the mirror "My scripts may never work on the beasts system and his name is the mac"
@rexevan67145 жыл бұрын
Looks like Luke is off his meds again.
@klintmuse22415 жыл бұрын
Get woke don't drink tap water out of plastic.
@dill__pickles5 жыл бұрын
@bws floride is a neurotoxin
@SomeAngryGuy19973 жыл бұрын
all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle all these squares make a circle What the fuck are you even doing all the way down here? Are you crazy? :P
@rafnavi45003 жыл бұрын
@@SomeAngryGuy1997 are you aight mate?
@kawo6663 жыл бұрын
@@SomeAngryGuy1997 'make a circle all these squares'. Message received.
@timh60885 жыл бұрын
269 videos?! Your channel is bloated my man
@HentaiNat4 жыл бұрын
2Nice
@romanhredil37993 жыл бұрын
@@abdulwahabjag allcaps and+question mark==bloat
@bbseal61743 жыл бұрын
@@abdulwahabjag bloat. '?' + "!" ? bloat. is better.
@sigmundfreud44723 жыл бұрын
Only Cormac McCarthy can write non-bloat English.
@maxardis5 жыл бұрын
TIPS: 1. Most Linux distributions come with both GNU and POSIX manpages. When writing POSIX compliant scripts I always check POSIX manpages for all the supported options. `man 1 cmd` - GNU manpage; `man 1p cmd` - POSIX manpage. 2. POSIX way of doing sed -i: $ create temporary file (mktemp is not in POSIX, POSIX ways of creating temp files is to use noclobber or mkdir -m 700 with randomly generated name) $ sed '...' file > temp_file $ mv temp_file file 3. I recommend creating that temporary file in the same folder - not in /tmp etc. Reason for this is that mkdir and mv (when both input and output paths are on the same filesystem) are the only atomic filesystem operations. If we create temp file in /tmp and then do `mv` it might do `rename` internally or it might become `cp + rm` combo - and cp is not atomic. Example: $ create temp_file $ sed '...' file > temp_file $ cp temp_file file This way might leave you with damaged file if you stop cp in the middle of copying. mv (if and only if both input and output paths are on the same filesystem) turns into `rename` which is atomic and this guarantees us ACID - our file will never get corrupted, it will either get updated completely or not at all.
@firstnamelastname72485 жыл бұрын
Is it ok if I do not create temp_file but directly output to it (command > temp_file) ? It automatically creates temp_file for me
@maxardis5 жыл бұрын
@@firstnamelastname7248 Yes and no. Depends what you really want/need. 1. If you do not need to protect yourself against parallel execution then it is OK. 2. But if you do run script twice in parallel (and they will use same name for temp_file) then they both will create the file and fight against each other. 3. One of the solutions could be to use noclobber option like I mentioned `set -C`. This way redirection cmd > temp_file will fail if the file already exists, so one script will create a file and proceed corectly and the second script will fail. 4. The question is then how to handle that fail: you can use `set -e` and then your script will simply exit with failure, or you can put cmd > temp_file in a loop until it finally succedes preferrably changing the temp_file name randomly to avoid clashing with other parallel instance of the script.
@dlarge65025 жыл бұрын
You may find the posix manpages are in their own package for example on debian you need to install the manpages-posix package
@chrkrngl5 жыл бұрын
intredasting. thanks!
@needthistool4 жыл бұрын
@@dlarge6502 What happens if you try the *man p1* trick without those packages available on the system? Does it throw an error or does it just show the local (potenteially non-POSIX) manual?
@hephaestus34205 жыл бұрын
8:28 what a boomer moment :D
@nikkalex61415 жыл бұрын
No one: Luke: temple OS is BlOaTeD
@dumbcatposter5 жыл бұрын
That's why Terry released the 2mb Lite ISO
@fossforever5122 жыл бұрын
@@dumbcatposter anything more than 1mb is bloated
@bebekngayang2 жыл бұрын
Temple OS is bloated, make your own kernel !
@Booming-letsplays5 жыл бұрын
Video 1: Bash is bloated. Video 2: Gnu is bloated. Next video: Real life is bloated.
@yoshi3145 жыл бұрын
@Joel Silva i get like that when i get no fiber at all.
@perpetualcollapse3 жыл бұрын
@Joji Thanos was on to something
@bebekngayang2 жыл бұрын
We need lite version of solar system
@oddbob62305 жыл бұрын
Sooner or later, you're going to end up reading the Unix Hater's Handbook.
@AlucardNoir5 жыл бұрын
No, he's going to end up writing the sequel.
@jan_harald5 жыл бұрын
@@AlucardNoir Unix, the Proper Way
@MrBeiragua5 жыл бұрын
Luke is bald Lunduke confirmed
@MickeyD20125 жыл бұрын
Terry Davis was right.
@Daniel-qr1zf5 жыл бұрын
@Joel Silva True!
@mathematicalninja27564 жыл бұрын
is right
@tc403905 жыл бұрын
Just switch to BSDs already, we all know that you're going to end up using one of them in the near future
@nixlad5 жыл бұрын
tbh
@charlesdean033 жыл бұрын
That thing I was thinking what the heck not BSD??
@puyatecla99033 жыл бұрын
He can't because of how much he love that redhat paycheck, he's just an IBM/redhat/systemd shill
@user-ux2kk5vp7m3 жыл бұрын
@@puyatecla9903 he doesn’t even use systemd Or this this a wooosh
@daveshouldaine25203 жыл бұрын
@redwill17 lmao
@TrevorSpencer5 жыл бұрын
Everything but a typewriter is bloat.
@AlucardNoir5 жыл бұрын
I agree with 99% of this video - the 1% I disagree with? the "is bloated" part.
@danilo27352 жыл бұрын
A funny guy
@dhanarsantika5 жыл бұрын
Luke : use free software Also Luke : GNU is bloated 😂😂😂
@ScaryHutmanPictures5 жыл бұрын
I'd just like to interject for a moment. It is GNU plus Linux, Luke
@Klblaz5 жыл бұрын
Ganooo plas Linooks
@auxilus005 жыл бұрын
bash is bloated GNU is bloated next up: Linux is bloated
@tato-chip76125 жыл бұрын
By definition yes it is.
@mariusandersons5 жыл бұрын
of course linux is bloated but i like bloated.
@ertwro5 жыл бұрын
It is.
@perahh76595 жыл бұрын
people who commented "it is" are autistic. period.
@pokefreak21125 жыл бұрын
But of course Linux is a monolithic kernel and as everyone knows monolithic is synonymous with bloated
@CoordinateNewton5 жыл бұрын
I’d just like to interject for a moment. What you’re refering to as Linux, is in fact, GNU/LInux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux
@jamesthompson76942 жыл бұрын
This is going to be a terrific copypasta
@paulvorderegger15222 жыл бұрын
@@jamesthompson7694 wdym this is already copypasta for a couple of years
@jamesthompson76942 жыл бұрын
@@paulvorderegger1522 I know
@aldelta192 жыл бұрын
It’s Linux… not GNU/Linux. Accept.
@Shonicheck2 жыл бұрын
No, Richard, it's 'Linux', not 'GNU/Linux'. The most important contributions that the FSF made to Linux were the creation of the GPL and the GCC compiler. Those are fine and inspired products. GCC is a monumental achievement and has earned you, RMS, and the Free Software Foundation countless kudos and much appreciation. Following are some reasons for you to mull over, including some already answered in your FAQ. One guy, Linus Torvalds, used GCC to make his operating system (yes, Linux is an OS -- more on this later). He named it 'Linux' with a little help from his friends. Why doesn't he call it GNU/Linux? Because he wrote it, with more help from his friends, not you. You named your stuff, I named my stuff -- including the software I wrote using GCC -- and Linus named his stuff. The proper name is Linux because Linus Torvalds says so. Linus has spoken. Accept his authority. To do otherwise is to become a nag. You don't want to be known as a nag, do you? (An operating system) != (a distribution). Linux is an operating system. By my definition, an operating system is that software which provides and limits access to hardware resources on a computer. That definition applies whereever you see Linux in use. However, Linux is usually distributed with a collection of utilities and applications to make it easily configurable as a desktop system, a server, a development box, or a graphics workstation, or whatever the user needs. In such a configuration, we have a Linux (based) distribution. Therein lies your strongest argument for the unwieldy title 'GNU/Linux' (when said bundled software is largely from the FSF). Go bug the distribution makers on that one. Take your beef to Red Hat, Mandrake, and Slackware. At least there you have an argument. Linux alone is an operating system that can be used in various applications without any GNU software whatsoever. Embedded applications come to mind as an obvious example. Next, even if we limit the GNU/Linux title to the GNU-based Linux distributions, we run into another obvious problem. XFree86 may well be more important to a particular Linux installation than the sum of all the GNU contributions. More properly, shouldn't the distribution be called XFree86/Linux? Or, at a minimum, XFree86/GNU/Linux? Of course, it would be rather arbitrary to draw the line there when many other fine contributions go unlisted. Yes, I know you've heard this one before. Get used to it. You'll keep hearing it until you can cleanly counter it. You seem to like the lines-of-code metric. There are many lines of GNU code in a typical Linux distribution. You seem to suggest that (more LOC) == (more important). However, I submit to you that raw LOC numbers do not directly correlate with importance. I would suggest that clock cycles spent on code is a better metric. For example, if my system spends 90% of its time executing XFree86 code, XFree86 is probably the single most important collection of code on my system. Even if I loaded ten times as many lines of useless bloatware on my system and I never excuted that bloatware, it certainly isn't more important code than XFree86. Obviously, this metric isn't perfect either, but LOC really, really sucks. Please refrain from using it ever again in supporting any argument. Last, I'd like to point out that we Linux and GNU users shouldn't be fighting among ourselves over naming other people's software. But what the heck, I'm in a bad mood now. I think I'm feeling sufficiently obnoxious to make the point that GCC is so very famous and, yes, so very useful only because Linux was developed. In a show of proper respect and gratitude, shouldn't you and everyone refer to GCC as 'the Linux compiler'? Or at least, 'Linux GCC'? Seriously, where would your masterpiece be without Linux? Languishing with the HURD? If there is a moral buried in this rant, maybe it is this: Be grateful for your abilities and your incredible success and your considerable fame. Continue to use that success and fame for good, not evil. Also, be especially grateful for Linux' huge contribution to that success. You, RMS, the Free Software Foundation, and GNU software have reached their current high profiles largely on the back of Linux. You have changed the world. Now, go forth and don't be a nag. Thanks for listening.
@victorprokop68685 жыл бұрын
No one: Luke: Atoms are bloated
@CygnusExOne5 жыл бұрын
I inherit all my prejudices from cat-v.
@disk0__5 жыл бұрын
my prejudices are cat-v compliant
@binbashchannel5 жыл бұрын
Why i feel like Luke is just realizing that minimal software and Unix philosophy are Memes, and he's gonna switch to Ubuntu with Gnome the next video
@MadsenAltamirano5 жыл бұрын
Luke: GNU is bloated, be suckless my viewers Also Luke: Use systemd my viewers
@dumbcatposter5 жыл бұрын
Richard Stallman wants to know your location.
@meanmole32125 жыл бұрын
And then again, he doesn't (because that would be a violation of his principles)
@krux025 жыл бұрын
--posix disable all GNU extensions.
@LukeSmithxyz5 жыл бұрын
--posix is a GNU extension. That's the problem.
@luiswirth5 жыл бұрын
@@LukeSmithxyz lol 😂🤯
@Joe3D3 жыл бұрын
@@LukeSmithxyz not having the flag does not mean automatically that is POSIX compliant. Also commands should not overlap, GNU versions should be gnu-sed, gnu-awk, etc. like gawk and so forth they present themselves as different.
@spicybaguette77065 жыл бұрын
The Linux kernel is bloated
@zyan9833 жыл бұрын
linux-suckless - No more unnecessary LKMs out of the box. - Specialized for your hardware. - Fast as fuck. - All written in Assembly
@microcolonel4 жыл бұрын
I will say, I am fond of many GNU coreutils innovations. The one kinda annoying thing is their tar, GNU tar is cool for personal archives, but often really annoying when you don't want some of the features. Sometimes you don't want your tarball to preserve your "immutable" or "append-only" extended attributes.
@asdfzxcvman25675 жыл бұрын
Luke: *sed -i* does work in BSD. At least in OpenBSD. From its manual: " *-i* [ _extension_ ] Edit files in place, saving backups with the specified extension. If a zero length extension is given, no backup will be saved. It is not recommended to give a zero length extension when in place editing files, as it risks corruption or partial content in situations where disk space is exhausted, etc. In *-i* mode, the hold space, line numbers, and ranges are reset between files." Maybe not exactly the same, but many times, the same in practice. Plan 9 and Plan 9's utilities aren't POSIX-compliant. If something in it happens to be, it is rather by coincidence than by conscious effort. The cat-v crowd doesn't generally like POSIX. And writing your scripts in, say, rc shell (Plan 9's) would make your scripts much less portable, as the users would have to install plan9port to use them. One last thing: have you tried acme(1) more extensively as of late? It may be a bit of an acquired taste, but I seriously think you can like it a lot.
@Joe3D3 жыл бұрын
Great tip thanks!
@ehhwhatevericantthinkofago89035 жыл бұрын
What do you mean by concatenate? I use cat as my text editor, everything else is too bloated.
@FLMKane Жыл бұрын
Makes sense. Just don't ever have a typo
@realEchoz5 жыл бұрын
lmao i knew he would stumble upon cat-v when he started going on about systemd
@benschools5 жыл бұрын
He talked about cat-v in a video 5 months ago.
@gonzafernan5 жыл бұрын
From Mac to GNU+Linux to use sed. RMS win
@DigitalMetal5 жыл бұрын
Thanks for this. I new there where differences, but I never really looked into it, so I didn't know what they were.
@napiray5 жыл бұрын
Luke is on his way towards OpenBSD :-)
@dlarge65025 жыл бұрын
Its worth pointing out that the GNU utils maybe bloated but, GNU's Not Unix ;) GNU was written to be "upwardly" compatible with UNIX. So it can do UNIX (POSIX) stuff and will be compatible with it. I think Stallman went this route so he could avoid having legal battles based on his OS being a UNIX (all the battles between those who claim to own UNIX are fun reading). Also when he started writing GNU he had never even used UNIX. Its great he chose to be compatible with it and to write GNU to target the 32 bit cpu's (the 386) that he was sure were going to be the most popular architecture.
@hinach4n6985 жыл бұрын
Hah, I see what you did there, GIMP = Green Is My Pepper
@corey87045 жыл бұрын
Thought is was Gimp Isn't Microsoft Paint
@tylerdean9803 жыл бұрын
@@corey8704 it’s GNU Image Manipulation Program, but the green is my pepper thing is from an email someone send to stallman, he didn’t know what gimp was and they used the green default pepper in GIMP to show that they where using free software, and stallman erroneously assumed that GIMP means Green Is My Pepper.
@corey87043 жыл бұрын
@@tylerdean980 missed the joke.
@evanesoteric5 жыл бұрын
Let's be real... Richard Stallman is bloated.....
@BrunusRicieri5 жыл бұрын
literally
@soupwithpotatos15425 жыл бұрын
Next Video: The Linux Kernel is Bloated!
@pasdenom.90623 жыл бұрын
It actually is, and the first one to say it is Linus himself.
@nerdsvillellc29414 жыл бұрын
Random comment about this... when you had the man page open for sed I noticed that there is a --posix flag, so you could test with all GNU extensions disabled which could be helpful for making a posix compliant version on a GNU version of a utlity (assuming it is common across other utils) Awesome video as always :D
@Joe3D3 жыл бұрын
Yeah but if you run that flag on FreeBSD commands probably will crash.
@thalesfm Жыл бұрын
@@Joe3D Ideally you wouldn't put it in your scripts. You _could_ set the flag using an alias, but then that might break other things that rely on GNU extensions...
@tugfngjfuvj5 жыл бұрын
The coreutils are like that and get features because of convenience. SOme tasks are unnecessarily complex to implement otherwise or would need needless reimplementation by each damn user because Coreutils doesn't come with a complete solution. This problem with different "vendor" versions of some tools behaving differently only pertains users that try to port scripts to other OSs or use different OSs with different vendor versions of those tools. I think the existing solution (expanding the Coreutils' functionality) does much more good than bad in comparison to not doing it and keeping them all the same on all OSs. Some tools also _need_ to behave differently because of different APIs (E.g. ifconfig on Linux, ifconfig on 'BSD).
@jan_harald5 жыл бұрын
the problem is they don't SAY what is their own convenience feature... people assume that because it's not said otherwise, stuff like cat -v would work on other posix-compliant systems... also unix philosophy is to do one thing only, which is why utilities like `nl` are separate, and `cat -n` shouldn't be a thing... etc, etc...
@MrDadidou5 жыл бұрын
I absolutely agree with you. i think even Luke would rather use the -i arg rather than output changes in file.new and replace file.old by file.new . But i don't think that this video is really a rant about the huge list of argument or even that he is defending the cat -v team. I think he just used the word "bloat" because it's a meme at this point but really he wanted to say that not all unix are made equal and that just like with higher level langages, if you don't have the same version of the lib then your code is not portable. In this case bash and gnu core utils are not the same everywhere
@jan_harald5 жыл бұрын
I mean you cooouuuulld use ed instead of sed and get around the edit-in-place problem....but still... and yeah that's a problem, but there's a solution... busybox! ;P statically compiled busybox against musl or something like that, and boom, ya got most everything you'd need ;)
@garryiglesias40745 жыл бұрын
You might want to rename your channel as "Bloat TeeVee". Or "The Love Bloat"...
@ahmadalwazzan3844 жыл бұрын
In my experience with other Unix utilities (find, grep, see, awk). GNU utilities are much faster. if I'm using a Unix OS like Solaris, I prefer using the GNU utilities.
@Kaar3 жыл бұрын
When invoking sed you will want to use the -posix flag in order to disable all GNU-specific extensions and allow for portability.
@surferbum6184 жыл бұрын
Thank you for sharing knowledge with a newb
@aryanadiazcakasana44145 жыл бұрын
Bash bloated GNU bloated really interesting i want to see more..
@chethelesser5 жыл бұрын
Kernel is bloated :P
@empresslithia5 жыл бұрын
Strictly speaking, any program that can do more than one thing is bloat. Bloat is necessary for us to work quickly. For humans to work with computers.
@realEchoz5 жыл бұрын
inb4 luke smith is harmful page on cat-v
@ThreelionsSFIV3 жыл бұрын
Ohh cat-v.org from Uriel, thanks for still showing that page. It's not possible to understand suckless.org without him, he was very involved in wmii/dwm/and other tools and advices. Descansa en pau Uriel. R.I.P
@GoodOwl05 жыл бұрын
Processors are bloated. Do the processing in your mind
@tkenben2 ай бұрын
Makes sense. With the unbloated cat, you would redirect standard output to a filter in order to perform your own `-v` manipulation. As you say, cat isn't designed to print to necessarily a terminal, but rather to concatenate to standard output.
@xxxbrenorxxx5 жыл бұрын
life is bloated, period.
@tobiasstamenkovic96285 жыл бұрын
You know, the SHITTY thing is, apparently alot of thees things are quite handy (otherwise you wouldnt use them) but instead of adding similar "GNUisms" to POSIX aaaaaanything, even the good stuff, thats developed on/for Linux is vehemently ignored by the rest of the "Unix world"... Oh boy would it be terrible if those Mac users had actually convenient shell commands, right? I say, embrace the good stuff (feel free to hate on things that are actually terrible ofc) and if others dont want to improve, hf debugging. I mean, last time ive checked all of this stuff was still open source.
@casperes09122 жыл бұрын
A) I don't think you'd miss anything if you were on a Mac. + As mentioned in the video BSDs and Mac also add their own extensions that can be just as good as the GNU ones just with different syntax. 2) You can just run the GNU utils if you prefer them on macOS or whatever. 3) Source code being available doesn't mean easy adaptation. The GNU Core Utils are made pretty portably, but a great tool like diskutil on macOS unfortunately can't easily be ported to Linux even with full source code availability
@Andre-bi3gq5 жыл бұрын
Life's bloated
@killermenpl96195 жыл бұрын
GNU/bloat
@psykotedy5 жыл бұрын
A few years ago, I went through the exercise of installing and having the Plan 9 coreutils in my path prior to the GNU coreutils and found that running almost anything that I hadn't explicitly written myself became a monumental pain in the backside. So I uninstalled the Plan 9 coreutils to remedy the issue; I might play with them again on a non-critical system at some point. I think I was pretty late to the game on discovering the GNU sed easy mode -i option. I used "sed 's/pattern/replacement/' file > /tmp/file && mv /tmp/file file" all the time before my enlightenment. (And yes, there was much data loss since all of my files were named file. It was the dark ages, what can I say?)
@aedd33073 жыл бұрын
I know this is old, but the plan9 coreutils aren't POSIX compliant, the coreutils used in *BSD would be better for that.
@probE4665 жыл бұрын
cat file | sed "s/FILE/file/g" | cat > file I am not sure why, but this works
@evanharvey70595 жыл бұрын
Hey Luke, have you ever thought about the fact that the birth of Unix and Unix-like operating systems as we know it today was essentially the result of an epic gamer moment? Ken Thompson was perhaps the original oppressed gamer. I'd like to see a video on your opinions on this subject.
@NicolasGoulart42 Жыл бұрын
I know you are joking but this is unironically a good point.
@shallex5744 Жыл бұрын
@@NicolasGoulart42 how so
@redcoat4348 Жыл бұрын
@@NicolasGoulart42 how is it the case
@drumpf4all5 жыл бұрын
Reality is bloated!!!
@thetdg4 жыл бұрын
You can use the commands with --posix flag to disable GNU extensions.
@Joe3D3 жыл бұрын
Probably will fail on FreeBSD commands like "Invalid flag"
@papaoese62585 жыл бұрын
For in-place editing, I suggest ed - the unix editor
@thomasripper86165 жыл бұрын
A little nitpick - Plan 9 tools aren't minimally POSIX compliant; POSIX makes a number of compromises and accounts for common extensions that arose amongst GNU and multiple free and proprietary unices, so they could have vague source-level compatibility. Half the point of Plan 9, meanwhile, was to make a clean break in userland. They've got their APE subsystem, the “ANSI/POSIX Environment”, but that's another story.
@YouKnowMeDuh5 жыл бұрын
Instead of utils he says yoodles. First time ever hearing this XD
@playerguy25 жыл бұрын
Narrow POSIX compliant cat has 2 'options' or switches based on the manual you showed: '-m' read until the end of the file instead of only one line and '-n nline' read no more than 'nline' lines
@l2ubio5 жыл бұрын
this hits close to home to someone working with docker or embedded devices
@SixGorillion5 жыл бұрын
What does the --posix flag seen on the screen at 7:20 do? I was thinking it would just prevent me from using non posix compliant flags and options, but it actually just appears to do nothing on my machine. Oh well.
@kajunek44195 жыл бұрын
I've been waiting for a video about cat -v for a looong time
@george36625 жыл бұрын
there is no system but GNU and Linux is one of its kernels
@pojntfxlegacy6115 жыл бұрын
Hail Saint iGNUcious!
@AlucardNoir5 жыл бұрын
No, no, no. It's: There is no system but GNU and Linux is it's one true Kernel.
@solmann59895 жыл бұрын
Is this the shahada ?
@jan_harald5 жыл бұрын
all hail GNU/HURD
@benschools5 жыл бұрын
Just make sure you don't draw a picture of the kernel or the extremists will bomb you.
@TheBlenderblob5 жыл бұрын
the GNU version of YES(1) is 10 trillion loc, but its the only one that will come close to maxing out your IO with the number of y prompts
@guitarloser075 жыл бұрын
"Cat outputs a file to your terminal"?! Don't you know that _less_ is _more?!_
@Joe3D3 жыл бұрын
Probably use printf.
@MutoShack5 жыл бұрын
I'm a total GNU nut, but I can totally agree. GNU utilities come with way too much fluff. I pronounce "Core Utils" with more emphasis on the I, like "you-TILL-s" as in "uTILity". Is this just a preference or is it really "Core-yoodles"?
@krunkle5136 Жыл бұрын
Definitely a violation of the Unix philosophy which was about making small, knowable, easily replaced programs that can be easily strung together to do stuff.
@stoneHeHenge5 жыл бұрын
Less harmful alternatives: Go ... wtf, who wrote this
@233kosta2 жыл бұрын
Perhaps we should all be reminded that GNU is *not* Unix
@diegobellani5 жыл бұрын
6:23 the correct way is to use ed(1) in your script if you have to edit a file.
@jan_harald5 жыл бұрын
except f*in debian removed it from the standard setup... do those morons not know it's the standard editor... smh... ;P
@joetheman744 жыл бұрын
Every time you say "yootles" I want to reach through my screen.
@floppa9415 Жыл бұрын
2:19 I was bracing myself for him to say among us. Shit hits different in 2022.
@meanmole32125 жыл бұрын
C++ is bloated. Change my mind.
@FirstLast-kv1iq3 жыл бұрын
C is bloated. Change my mind
@richardlighthouse53283 жыл бұрын
ansi c ftw
@undefined8795 жыл бұрын
>cat-v into the trash it goes with uriel
@-yttrium-11875 жыл бұрын
At least Uriel understood life was bloated.
@enkaipan15 жыл бұрын
Now I know where cat -v comes from.
@jamesthompson76942 жыл бұрын
Well if Richard Stallman would lose weight I think that would be a good start. Said the overweight man.
@jan_harald5 жыл бұрын
use busybox's versions when possible ;P busybox is dope, and doesn't do the extra options...
@Joe3D3 жыл бұрын
Busybox is for smartphones, they don't even include nmanpages.
@MattTheriot3 жыл бұрын
"Core uduls" Just found this channel, good shit.
@stewie4105 жыл бұрын
Dunno if anyone commented in regards to the ``sed -i`` options -- but you may want to try ``sed -i'' 's/FILE/file/' file``. Providing an empty string for the "backup suffix" should allow you to just overwrite the original file, without generating a backup file.
@Newtube_Channel5 жыл бұрын
I for sure thought you were going to say something about the performance of gnu-coreutils in shell scripts. The excessive use of coreutils in shell scripts does indeed deter overall system performance significantly. I digress..
@SupBro31 Жыл бұрын
It really bugs me the -i option of sed needing a space under gnu and not under bsd or vice-versa. I never remember.
@user-qf4tb4yf7g7 ай бұрын
He forgot to mention jailbroken iOS as it also uses the GNU coreutils. I just ran the 'sed' command with the '-i' option on an old iPhone and it works! xD
@baka08155 жыл бұрын
posix is good if you have to be portable, for example in an opensource project which supports multiple platforms, but for anything else on linux, please use bash and the gnu utils. it makes your life way easier. don't go back to the 90's!
@nathanruben33722 жыл бұрын
mac has its own flags. Bsd as as well. I prefer to use the feature rich one. If you are aiming multi platform stuff, use a programming language like perl, python, ruby. Otherwise you have to live with that.
@AZEMBadlen5 жыл бұрын
You can still make an alias in .bashrc and modify e.g. sed to sed --posix :)
@ruadeil_zabelin3 жыл бұрын
I knew they called it Plan9, but I never knew they called it Plan9 from user space. That name is awesome.
@ruadeil_zabelin2 жыл бұрын
@@unsafecast3636 Plan 9 from Outer Space is a movie from the 50's by director/writer Ed Wood. It's a terrible terrible movie, which makes it so interresting. I think Monty Python references that; though I've never seen that reference in their sketches?
@TheSulross3 жыл бұрын
posix may be the spec standard but Linux and its cadre of gnu tools is by now the predominate defacto standard for Unix flavored OS; i.e., more books are sold on instructing how to use gnu tools on Linux than books on, say, FreeBSD or the command line tools of the shell on Mac OSX
@FLMKane Жыл бұрын
Not really. You'll have issues porting between different distros. If you write a non POSIX script for arch it will NOT work by default on Debian. Takes only a small modification to make it work on Debian bit then you have a performance hit
@whahala5555 жыл бұрын
Could you use the posix option when writing scripts to make them more useful?
@MattyFez5 жыл бұрын
At 7:20 you can see in the man page a flag that disables anything added by GNU.
@martingeorgiev999 Жыл бұрын
A small addition, you can compile GNU utilities on your own so they are strictly POSIX compliant.
@secondsettweezer98844 жыл бұрын
having an operating system is bloat
@tonnylins5 жыл бұрын
7:18 what does it do if you run it with the --posix option Luke? Does that satisfy the portability requirements?
@Joe3D3 жыл бұрын
Probably the --posix option will make the command crash on FreeBSD "Unknown option" or something like that didn't try.
@armpitpuncher5 жыл бұрын
Maybe they should have made it gnucat, gnused, etc... And made the posix names into symlinks. Then if you want to write a script that you intended to distribute that uses gnu only options, you could use the prefixed versions to ensure they will fail on systems without gnu utilities, rather than having unintended results.
@Joe3D3 жыл бұрын
They have gawk but distros symlink the desired version to "unix way".
@chrkrngl5 жыл бұрын
on errr... ...Ubuntu or any other Debian-based system install the package devscripts which checks for POSIX compliance in your shell scripts. checkbashisms it is called. or search the web for bashism(s) and checkbashisms. Or install the dash shell (needs an option torun in POSIX mode, same for bash) or the posh shell (posix compliant shell) to test your scripts. posh package. another example: "echo -e" is handy but only works for GNU/Linux echo command.
@azechele5 жыл бұрын
There is a way better example than this: glibc. Glibc is considered by far the worst C library existing, for a very good reason: it's bloated, and is intentionally bloated. It is also very backwards-incompatible and all that to prevent people from static linking. Another good example is GCC, LLVM is a thing today because GCC is intentionally bloated and has developer unfriendly characteristics. With GNU, as always, it's a matter of phylosophy, you either embrace it, like I do, or you will find something which is inconvenient. I find this very consistent with their battles and I honestly admire them for estabilishing standards left and right while pushing forward their ideals.
@jan_harald5 жыл бұрын
problem is that GCC is basically the best compiler around, for now, even if only because of its age...though LLVM's clang isn't too far behind (I've got no modern stats to prove any of my claims though) and did you mean all of LLVM, or only clang?
@azechele5 жыл бұрын
@@jan_harald Clang, should've specified. LLVM is obviously useful for other things XD
@Joe3D3 жыл бұрын
I guess you mean dynamically link to older versions.
@Joe3D3 жыл бұрын
@@jan_harald clang is not Free Software hence companies like Apple improve it and don't give back code. That's why Apple switched from bash to zsh, they change and bundle it only in binary form.
@nerdbot44465 жыл бұрын
is there no tool like shellcheck to test for POSIX compliance?
@hexa33893 жыл бұрын
2000 years of progress are bloated. 1500 years of progress is the true way.