This ZSH Plugin Manager Is Really SUS

  Рет қаралды 30,796

Brodie Robertson

Brodie Robertson

2 ай бұрын

I don't know if there is actually anything malicious about this project but after digging into the zsh plugin manager zi it does look a little bit sus and maube it's best to avoid it.
==========Support The Channel==========
► Patreon: brodierobertson.xyz/patreon
► Paypal: brodierobertson.xyz/paypal
► Liberapay: brodierobertson.xyz/liberapay
► Amazon USA: brodierobertson.xyz/amazonusa
==========Resources==========
Dylan Nugent Thread: recurse.social/@dylnuge/11222...
Zdharma Vanishes: / httpsgithubcomzdharma_...
Zinit Continuum: github.com/zdharma-continuum/...
Z-shell Website: wiki.zshell.dev/
=========Video Platforms==========
🎥 Odysee: brodierobertson.xyz/odysee
🎥 Podcast: techovertea.xyz/youtube
🎮 Gaming: brodierobertson.xyz/gaming
==========Social Media==========
🎤 Discord: brodierobertson.xyz/discord
🐦 Twitter: brodierobertson.xyz/twitter
🌐 Mastodon: brodierobertson.xyz/mastodon
🖥️ GitHub: brodierobertson.xyz/github
==========Credits==========
🎨 Channel Art:
Profile Picture:
/ supercozman_draws
#ZSH #Linux #OpenSource #FOSS #Bash
🎵 Ending music
Track: Debris & Jonth - Game Time [NCS Release]
Music provided by NoCopyrightSounds.
Watch: • Debris & Jonth - Game ...
Free Download / Stream: ncs.io/GameTime
DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.

Пікірлер: 262
@BrodieRobertson
@BrodieRobertson 2 ай бұрын
I see no one noticed what I hid in the thumbnail
@zeveroarerules
@zeveroarerules 2 ай бұрын
Does anyone even look at a thumbnail? ;-)
@mudi2000a
@mudi2000a 2 ай бұрын
Found it only after this comment 😂
@BrodieRobertson
@BrodieRobertson 2 ай бұрын
@@zeveroarerules apparently they only do when I don't make a joke
@Stridsvagn69420
@Stridsvagn69420 2 ай бұрын
I did see it! Is my display larger than average or why wouldn't we see it?
@MineXplayPL
@MineXplayPL 2 ай бұрын
Sus
@s.m.4995
@s.m.4995 2 ай бұрын
It's only a matter of time before someone looks at one of my repos and decides I must be a scamme4 because no one could be that incompetent.
@supernenechi
@supernenechi 2 ай бұрын
Same 😭
@TheSolidSnakeOil
@TheSolidSnakeOil 2 ай бұрын
Sir, I beg to differ. I haven't touched mine in about a year when I was still learning and it's bad.
@theevilcottonball
@theevilcottonball 2 ай бұрын
May I see them? Where are they?
@rioghander2te
@rioghander2te 2 ай бұрын
and that's the reason why all my repos are private, lol
@lorenzo42p
@lorenzo42p 2 ай бұрын
my code is public, but no one ever looks at it
@rewbycraft
@rewbycraft 2 ай бұрын
That "load from curl" is worse than what Brodie makes it sound like. It doesn't specify https in the curl. So your local shady free wifi could just do a quick dns hijack and make your shell run whatever.
@SeekingTheLoveThatGodMeans7648
@SeekingTheLoveThatGodMeans7648 2 ай бұрын
Oh good grief yes.
@HroiG
@HroiG 2 ай бұрын
Wasn't it also doing two different fetches with curl? If curl isn't doing any caching in between couldn't you just give the proper payload that matches the hash in the first request and then switch it out for something malicious when it is fetched again? Yes, that is very unlikely and would mean you would be serving the real thing to people using the auto updating script shown first, but still a possible exploit vector.
@rewbycraft
@rewbycraft 2 ай бұрын
​​@@HroiG It only double fetches if you use the verified install mode. You need to explicitly click to show that version of the snippet. And as any dev can tell you: if it's not the default then, for a decent majority of users, it might as well not exist
@human-V-oid
@human-V-oid 2 ай бұрын
I fear my local shady free wifi
@xandermckay9806
@xandermckay9806 2 ай бұрын
Wait… Couldn’t an ISP Standard DNS redirect it to a message about ZI being sketchy?
@echobucket
@echobucket 2 ай бұрын
I mean the downloading a script on every shell is the perfect thing to do if you want to lie in wait until your install base is large enough and then remotely take over a bunch of computers.
@evantaur
@evantaur 2 ай бұрын
Pretty much "common cold" in plague inc that evolves symptoms to diarrhea/projectile vomit as soon as Greenland is infected
@benjaminpatrickpatrickgarr9291
@benjaminpatrickpatrickgarr9291 2 ай бұрын
It would also be an excellent to control the amount of affected computers, if you're serving it from a endpoint that switches to a malicious package but only for 1 out of every 100 requests for example, or ensure it only affects requests that come from specific IP blocks.
@elcugo
@elcugo 2 ай бұрын
It's even worse than that. It's trivial to detect the IP of specific machines and serve unique payloads to specific targets.
@craneology
@craneology 2 ай бұрын
exactly
@yuvalne
@yuvalne 2 ай бұрын
exactly what I'm thinking
@ChiliEater
@ChiliEater 2 ай бұрын
Finally, always-online SaaS shell scripts.
@notNajimi
@notNajimi 2 ай бұрын
Stop it, don’t give red hat ideas
@MoraFermi
@MoraFermi 2 ай бұрын
"Shell as a Service". Think of all the income streams! The genuine subscribers, the "I want my computer back" subscribers, the "I want that guy's computer" subscribers, the "I want that guy's computer to stop working" subscribers...
@RobColbert
@RobColbert 2 ай бұрын
Beware of "foot in the door" behavior. They could be waiting for adoption (accidental or otherwise) before delivering the real payload.
@MrCobalt
@MrCobalt 2 ай бұрын
That bad English on that site is incredibly reminiscent of bad English translations from Chinese product manuals.
@XGD5layer
@XGD5layer 2 ай бұрын
That was exactly what happened in the xz debacle, except in reverse. (The payload came first in obfuscated form, then came the triggers)
@foobarf8766
@foobarf8766 2 ай бұрын
It's basically just a shell for people who like the letter Z, in the first place..
@cranil
@cranil 2 ай бұрын
7:45 I would have been waiting for the page to finish loading for a good minute staring at the spinning animation.
@BoredInNW6
@BoredInNW6 2 ай бұрын
Yeah. If you want to emphasise speed, why choose an animation which everyone associates with an annoying wait?
@Linuxdirk
@Linuxdirk 2 ай бұрын
Whenever I see `curl | sh` (or any variant of it), it is an instant NO THANK YOU for me. Regardless of what software it is. But this one? Holy fuck. Automatically downloading something from a web page whenever I start my shell? This screams "WE WILL BE MALICIOUS" all over the place.
@idogaming3532
@idogaming3532 2 ай бұрын
It's fine if you check what cURL is getting.
@kreuner11
@kreuner11 Ай бұрын
​​@@idogaming3532 yeah but you need to absolutely trust the source too especially since it's calls home every time you open up a shell
@aonodensetsu
@aonodensetsu Ай бұрын
i have an installer for my dotfiles with curl | sh, you can just copy the files manually, or you can use the installer
@relayer6797
@relayer6797 3 күн бұрын
@@idogaming3532 not true. curl | sh is always potentially bad because even if it's https and the script itself is good, there's always the risk of it not downloading fully and a broken script being executed. Imagine if there's a line that goes like `rm -rf ~/.local/share/program/abc` or something, and you have connection issues at the "~/" part. It's also possible for the website to serve a different script depending on whether you access the website via a web browser or with curl. Also possible for the website to randomly serve malicious scripts only a portion of the time to try and appear legit.
@thingsiplay
@thingsiplay 2 ай бұрын
I'm currently halfway through the video (the part where its suggested to curl into the zshrc with each init) and this is already incredible. Truly Amogus moment
@distant6606
@distant6606 Ай бұрын
mr emojipick dev?😄i remember ur github username by heart cuz i clone ur repo on every new machine for the emoji picker 🤣
@thingsiplay
@thingsiplay Ай бұрын
@@distant6606 🙃yes its me, guess I cant hide by using same picture and name. xDD (actually not trying to hide at all). Glad you like it and use it that often. 🥰Replies like yours always warms my ❤. There are actually 2 different such tools in the repos. But guess they need some love again to make them work on Wayland properly... 🤔
@thingsiplay
@thingsiplay Ай бұрын
@@distant6606 (man KZfaq keeps deleting random comments) 🙃yes its me, nice to meet you. Glad you like it and use it that often. 🥰Replies like yours always warms my ❤. There are actually 2 different such tools in the repos. But guess they need some love again to make them work on Wayland properly... 🤔
@thingsiplay
@thingsiplay Ай бұрын
@@distant6606 😤Oh man, youtube is a let down again, deleting my comments for no reason. Well in short I want to thank you for the nice words. I'm so glad it is useful to anyone else. There are actually 2 different emoji picker tools.^^
@distant6606
@distant6606 Ай бұрын
@@thingsiplay and thank you for making them :) i only thought it was one, ill make sure to check the other one out as well.
@glidersuzuki5572
@glidersuzuki5572 2 ай бұрын
The quality of this plugin manager was questioned by various zsh experts much earlier. Even the original author of zdharma advised against it
@alastor--radiodemon7556
@alastor--radiodemon7556 2 ай бұрын
"the default bash config that whatever distribution comes with" bros! High five!
@TKing2724
@TKing2724 2 ай бұрын
Yep, the fanciest I get is adding my own aliases.
@sprinklednights
@sprinklednights 2 ай бұрын
I do like modyfing bash configs because there are some useful things you might want to enable. It's actually crazy how people don't know how much you can do with bash already
@infinitivez
@infinitivez 2 ай бұрын
So since I switched to Arch, I've found my zsh is rusty. Just two days ago I went looking for help with the alias command of all things, and got sidetracked into z-shell/zi's repo. The moment I saw the install, I noped the hell out.
@Genda1ph
@Genda1ph 2 ай бұрын
That site? It's a theme for either WordPress or WHMCS. Half the text is what comes with the theme by default.
@hummel6364
@hummel6364 Ай бұрын
12:47 I want to say those could be just distortions caused by a filter. What I think is that they may have used a stock photo in the background, an AI generated dude in the front, and then applied this "Bokeh" filter or whatever it's called to it. Biggest reason why I think that is the weird neck of the person in the background, it looks like it was blown out due to the higher brightness coming from the window, and the blurring around the face looks like the person may have been moving when the picture was taken, same for the arms of the person behind the word "Potential".
@skelebro9999
@skelebro9999 2 ай бұрын
When The Brodie Robertson Is SUS 😱😱😱
@rangeramg
@rangeramg 2 ай бұрын
i see you on every comment section i swear
@Mindromeda
@Mindromeda 2 ай бұрын
​@@rangeramg Yes same lmao
@ElMarcoh
@ElMarcoh 2 ай бұрын
when @skelebro9999 is SUS ඞඞඞ
@skelebro9999
@skelebro9999 2 ай бұрын
​@@ElMarcoh😱😱😱
@Nunya58294
@Nunya58294 2 ай бұрын
When you're stupid.
@cranil
@cranil 2 ай бұрын
Whenever he says Zd-harma it’s sus.
@anon_y_mousse
@anon_y_mousse 2 ай бұрын
Not everyone knows the name Dharma or Greg.
@curious_banda
@curious_banda Ай бұрын
Wdym? That's a super common word. Linux ecosystem does have its fair share of names from Sanskrit - Adwaita, Garuda, Kali, Bodhi, etc. So it's just ignorance.
@anon_y_mousse
@anon_y_mousse Ай бұрын
@@curious_banda You think Brodie's not doing it on purpose then?
@anon_y_mousse
@anon_y_mousse 2 ай бұрын
At this point, we have to assume that everything that's suspicious is some state actor playing the long game. It's a poor way to live one's life, but trust is earned, not given. This is also why it's probably a good thing that I use the bare minimum from my software and modify things myself because I don't have to worry about plugin managers.
@alexstone691
@alexstone691 2 ай бұрын
I wish more people were aware that such plugin managers are looked at by such small people that malware would probably never get caught
@ahettinger525
@ahettinger525 2 ай бұрын
yeah, that load from curl is in-and-of-itself a complete no-go. Could it be naivety? Maybe, i guess... but it doesn't matter. That's beyond dumb.
@glyslay4102
@glyslay4102 2 ай бұрын
Constantly curl-ing is very SUS. Somebody h3ck them and you will just get a malware on your server.
@the-answer-is-42
@the-answer-is-42 Ай бұрын
They could also be playing the long game and have it download the legit stuff for years to build trust, before putting something malicious in it.
@matan-h
@matan-h 2 ай бұрын
I actually read the mastodon post (from HN) before and think "maybe brodi would do a video on that?"
@doyouwantsli9680
@doyouwantsli9680 2 ай бұрын
Downloading the code from the server is a type of remote code execution.
@insu_na
@insu_na 2 ай бұрын
Glad I switched to fish a long time ago, lol fish, as we all know, is completely and utterly impervious to such shenanigans
@callyral
@callyral 2 ай бұрын
is this a reference to something specific or is it more like just hinting at the fact that no software is 100% free from malice
@user-in2cs1vp6o
@user-in2cs1vp6o 2 ай бұрын
​@@callyralTempleOS would like a word
@SlinkyD
@SlinkyD 2 ай бұрын
​@@callyralMy `helloworld` program has 0 malware. It don't spy or have internet capabilities. I'm a honest dev.
@kodeytheneko
@kodeytheneko 2 ай бұрын
I like fish so far, any issues with it I should know ofV
@insu_na
@insu_na 2 ай бұрын
@@kodeytheneko Nope, just joking about the fact that nothing is infallible, so far fish has served me well
@stevenchristenson2428
@stevenchristenson2428 Ай бұрын
The amount of SI going into trying to get it on the top of search results and a curl statement that just randomly downloads stuff directly is enough evidence that this is indeed a bad actor at play here. They are playing off inexperience and using SI to promote this project and manipulate things.
@Bob_Da_Bilda
@Bob_Da_Bilda 2 ай бұрын
"Dharma" is pronounced like "Karma" as they're connected concepts. So Z-Dharma, rather than ZD-Arma. Thanks for the content.
@RazgrizDuTTA
@RazgrizDuTTA 2 ай бұрын
Thanks for the video! I need to check which fast-syntax-highlighting I cloned on my computers. This is so fishy (no I will not do a joke about the fish shell). I was always confused why there are 2 repo.
@casey206969
@casey206969 2 ай бұрын
I'm willing to believe this is incompetence as it's a shell plugin manager.
@RandomGeometryDashStuff
@RandomGeometryDashStuff 2 ай бұрын
12:43 weird blur (blurry humans are not blurring into surroundings but only into themselves)
@Dratchev241
@Dratchev241 2 ай бұрын
jia tan get a new name?
@emifro
@emifro 2 ай бұрын
This is too much incompetence to not be malicious
@MechMK1
@MechMK1 2 ай бұрын
I don't think they're "cosplaying" as open source developers. They *are* open-source developers, they're just really bad at it. Open-source doesn't magically mean they know what they're doing. But it's good that all of these awful "curl to bash" practices are being called out and hopefully curbed soon.
@user-jv6ox5gb6v
@user-jv6ox5gb6v 2 ай бұрын
welp, extra efforts (burdens) for auditing had to be done, it seems
@BrodieRobertson
@BrodieRobertson 2 ай бұрын
I see what you're saying but there's a big difference between doing something suboptimal and taking the installation method of a project you forked and then making it worse
@MechMK1
@MechMK1 2 ай бұрын
@@BrodieRobertson Yeah, fully agree.
@askeladden450
@askeladden450 2 ай бұрын
Doesnt explain why their site pretends to be zsh, or why they lie about not owing zdharma org.
@BuriedUnkind
@BuriedUnkind 2 ай бұрын
Zee shell by the zee shore?
@SR-ti6jj
@SR-ti6jj 2 ай бұрын
I'm looking through my 200+ installed gnome shell extensions for any sussiness
@BoredInNW6
@BoredInNW6 2 ай бұрын
Relax. Those shell extensions will break when the next Gnome release drops, so you won't be vulnerable for long. /s
@neobree
@neobree 2 ай бұрын
Gnome moment
@turolretar
@turolretar Ай бұрын
"im gnot a gnelf"
@60fa230a
@60fa230a 2 ай бұрын
why would anyone ever use this? just simply skimming through the github and website raises tons of red flags... Like does nobody even look at what they are using for something as security critical as a shell? Plus, adding your own plugins is trivial, and takes barely any time at all. This is almost certaintly something malicious, with intent to grow until it gathers a significant userbase, and then hijacking the userbase by adding tons of garbage like overriding path so that sudo uses some malicious version or something. Also, people saying oh I use fish now so i won't have this problem, this doesn't really have anything to do with zsh, you can still use obviously malicious plugin managers on fish as well if you wanted to. This also isn't a fault of Linux, as if you were using Windows, you would likely not even know about this very weird practice of curling a website to get the source, it would just be under closed doors.
@Andrath
@Andrath 2 ай бұрын
One should write their own zsh config anyway.
@kuhluhOG
@kuhluhOG 2 ай бұрын
13:18 Me, having had multiple classmates with the same first and last name who were not related multiple times and asking teachers that not being too abnormal: Are you sure about that?
@smarkwal
@smarkwal 2 ай бұрын
Looks like a job done by Devin.
@MenacingPerson
@MenacingPerson 2 ай бұрын
Hey brodie, your content is good, I'm just wondering why you slow it down to 50% speed. I have to bump the playback to 2x to be able to even understand it without nodding off. (half joking, /s)
@blbezcc
@blbezcc 2 ай бұрын
I use Antidote ZSH plugin manager and it's very good btw.
@GottZ
@GottZ 2 ай бұрын
that feel when using the grml config.. what am i really missing out on?
@laughingvampire7555
@laughingvampire7555 2 ай бұрын
I imagine Zdharma is Z-dharma with Dharma as in Buddhism
@RobMoerland
@RobMoerland 2 ай бұрын
Not so long ago someone had been contributing legit updates to a compression tool. Then suddenly malicious code was added. Not so long ago someone has setup a copy of a repo. When will they add the unwanted code?
@-ion
@-ion Ай бұрын
The code running curl once to verify the checksum and then immediately again to fetch what is actually executed doesn't seem suspicious at all.
@d3stinYwOw
@d3stinYwOw 2 ай бұрын
For me it's simple - malicious attempt. We should really tackle hard anything XZ-alike. Being paranoid in this case will only help us...
@ForeverZer0
@ForeverZer0 2 ай бұрын
I honestly never found any of the zsh plugins worth using. Most seem to be just huge collections of worthless aliases anyways. Aside from the P10k theme, I just have my own functions/scripts for the things I need.
@ky3ow
@ky3ow 2 ай бұрын
I dont even know plugins past autocomplete and syntax highlight 😅
@supremesonicbrazil
@supremesonicbrazil 2 ай бұрын
As an average Bash enjoyer who never saw any reason to switch, I guess all I have to say is... lol?
@notNajimi
@notNajimi 2 ай бұрын
this isn’t zsh being sketch, it’s something sketch that’s annoyingly takes its name from zsh. zsh is safe to everyone’s knowledge
@andreasbaumann6943
@andreasbaumann6943 Ай бұрын
As long as rustup continues to propagate the curl installation method, I don't see, how things could improve. Newbies might copy the method just because they see rust people doing it - so it must be fine (TM). :-)
@1da1a172
@1da1a172 Ай бұрын
I suspect they are a (new) webdev. The source
@ltxr9973
@ltxr9973 2 ай бұрын
8:35 Ok now I've seen everything. That's hilariously dumb.
@2tothe253
@2tothe253 2 ай бұрын
Brodie keep saying C shell (i.e. tcsh/csh)?
@rawallon
@rawallon 2 ай бұрын
Wicoop with 772 line added and 687 removed in 1 commit, wut?
@wChris_
@wChris_ Ай бұрын
Never attribute to malice that which is adequately explained by stupidity. But it does seem a bit fishy at best.
@williamjohn1815
@williamjohn1815 2 ай бұрын
Nothing like a good Bash.
@MacroAcc
@MacroAcc 2 ай бұрын
or fish, the well-done zsh
@KuleGuy27
@KuleGuy27 2 ай бұрын
AMOGUS
@DuniC0
@DuniC0 Ай бұрын
Good SEO... Forcing a LOT of GET requests seems like a feature, now!
@sprinklednights
@sprinklednights 2 ай бұрын
Uhm, so what exactly are you using a shell plugin manager for? Like why do you need a plugin manager for your shell and what plugin supercharges your productivity that you rely on it? I'm actually asking this because recently, I wanted to invest some more time in learning the shell, and this idea of plugins for your shell seems a bit weird to me.
@excidium_
@excidium_ 2 ай бұрын
my plugin manager is copy paste and the plugins I use are autocomplete and syntax highlighting
@polinskitom2277
@polinskitom2277 2 ай бұрын
can't people just use KSH and BASH like sane beings? talk about bloat
@millsjonah
@millsjonah 2 ай бұрын
Zsh with plugins is an infinitely better experience than stock, but using a plugin manager is comical. And tbh, if you want the zsh + plugins experience just use fish to start with.
@sprinklednights
@sprinklednights 2 ай бұрын
@@millsjonah But what exact plugins do to make your experience infinitely better?
@sprinklednights
@sprinklednights 2 ай бұрын
@@polinskitom2277 not the worst bloat. Matter of fact, zsh has a much smaller size than bash, although I do use bash instead at the moment.
@gr33nDestiny
@gr33nDestiny 2 ай бұрын
Why doesn't someone just contact them and ask? If the name is real, maybe they just want to use it to try get work or contracting as a resume piece
@thelanavishnuorchestra
@thelanavishnuorchestra 2 ай бұрын
I saw this on reddit this weekend. Agreed it looks sketch.
@bigMax1337
@bigMax1337 2 ай бұрын
08:10 cries in German Internet speeds
@JATmatic
@JATmatic Ай бұрын
Plz. no zsh security bugs/backdoors. I don't want to be forced to audit the source code.
@orbatos
@orbatos 2 ай бұрын
I was looking into this last week actually ha ha. Yeah it's sus as hell, and in some cases the "init" process can download *twice*, while only checking that hard-coded checksum the first time ,(⁠┛⁠◉⁠Д⁠◉⁠)⁠┛⁠彡⁠┻⁠━⁠┻ If this is "innocent" it's still a scam that has bad side effects beyond trademark violation. If not, it's lazy orncompetent, just like a lot of AI/Cryptobro ventures.
@blbezcc
@blbezcc 2 ай бұрын
That ZSH plugin manager is indeed really Süß.
@Beryesa.
@Beryesa. 2 ай бұрын
Huh, someone's making worse decisions than me, that's new! xD
@MinaSchloch
@MinaSchloch 2 ай бұрын
Silently switching to Firefox?
@SlinkyD
@SlinkyD 2 ай бұрын
New age computer folks rather have word salad instead of meat & potatoes. Then argue benefits of trash OpSec & processes with more word salad.
@noriller
@noriller 2 ай бұрын
i have an idea and the rest are just details... also... huge "i don't need sleep, i need answers vibe" kudos!
@TheXBoy5
@TheXBoy5 Ай бұрын
3:13 also looks like a cult scam
@delightful-ish
@delightful-ish 2 ай бұрын
Dharma is a word 😉
@BrodieRobertson
@BrodieRobertson 2 ай бұрын
So I hear
@RedbeardyMcGee
@RedbeardyMcGee 2 ай бұрын
I do know what this means: "Instant prompt postponing plugins loading to a moment when the processing of .zshrc file is finished." They employ a lazy-loading system to defer plugin instantiation until after the first shell prompt is drawn for the user. In other words, plugins load in the background if and when they get used, not on the initial zsh load. This one: "Statistics about the plugins, describing what functions, bindkeys, completions, and other elements a plugin has set up." They employ some documentation system (not statistics) that allows you to discover or look up what features come from which plugins. Most plugin managers (aka package managers in this context) devise some system to do this, but also most people just open a browser tab and search the web instead of local docs. That makes this phrase quite inexplicable to the uninitiated.
@Poldovico
@Poldovico 2 ай бұрын
it's also just not a sentence. It's a jumble of words that suggest what you're reading into them, but the syntax is not actually English.
@turolretar
@turolretar Ай бұрын
wait a minute, there are plugins for shell?? whaaaaaat
@BrodieRobertson
@BrodieRobertson Ай бұрын
There more like config scripts
@rawallon
@rawallon 2 ай бұрын
Dharma ir pronounced like Karma, why do you pronounce it like z-di-ama instead of z-Darma?
@wardrich
@wardrich 2 ай бұрын
I still dont get what makes zsh so special... What am I missing out on?
@MH_VOID
@MH_VOID 2 ай бұрын
I'd consider myself somewhat of a ZSH master. It's basically BASH but better. While I think many of its improvements can be emulated in bash, or in some cases are even built-in, it has better defaults and some things that you simply can't do in bash - at least, not without sacrificing ergonomics, efficiency, and/or other resources. For instance, typing '/u/l/' and then pressing tab in ZSH, where the only root dir starting with a 'u' is /usr, will expand to it, and it will let you choose from /usr/{lib{,32,64},local} on my system, where those are the only 4 directories under /usr/ that start with an l. In bash, this functionality is either not present, or disabled by default. It's quite useful to be able to recursively expand to an directory, instantly if the prefix is unambiguous, or with simple prompting of each choice if it is ambiguous. It makes using other shells feel so much worse, and there's really 0 downsides to it. I think the true killer feature of zsh, at least for me, is its extended globbing - or more specifically, its filename generation. This provides a powerful and extremely efficient way to do a lot of common (and uncommon) things. For example, I can do `cat *(ommM0-)` to cat, in most-recently-modified order, all files in the current directory that were modified within the last month. Sure, I could do something like this with e.g. GNU find, but that's a lot more typing. And sure, I might not want to do that so often, but `*(om[1])` (which expands to the file with the latest mtime) is an incredibly frequent construct, super easy to type and not requiring any subprocesses or whatever, and really easy to change as needed to (e.g. want symlinks specifically? (just add an '@' inside the parentheses). Want the 3rd through 7th least recently modified? change the 'o' to an 'O' (inverts the sort order), and the '1' to '3,7' (or you could skip the sort inversion and use negative numbers, but ehhh)), that would be significantly less ergonomic and efficient to do in other shells. You can do many other things with its extended globbing, such as in the name inserting e.g. '-- :&1 1>&2 2>&3` and then add `SWPOS' to a program's command line to swap its stdout and stderr. Global aliases are niche and dangerous, but can be quite useful. I'm not aware of any other shell implementing them, though I haven't really checked (I'm pretty sure BASH doesn't have any support, at least) Oh and there's a ton of useful stuff you can do in parameter expansion (i.e. ${...}). For a conglemerate example, `${(s : )PATH}` would split $PATH on ':', `${(s : o)PATH}` would further sort it, and --noblacklist="${(Os : )^PATH} would then sort it backwards and abuse array zipping to generate `--noblacklist=/var/lib/flatpak/exports/bin --noblacklist=/usr/local/sbin --noblacklist=/usr/local/bin ...` Prompts are another place where ZSH can natively simply do more than other shells - ZSH enables you to optionally embed completely arbitrary commands into your prompt natively, so you can for example have your prompt automatically change color if the current directory is empty or unwritable, or display how many dirs away from root you are, or change its colors based on your terminal's active color theme, or whatever you wish - the sky's the limit. I personally daily-drive a personalized PROMPT and RPROMPT (a second, optional prompt that starts from the right of the screen, which is also something that ZSH has that BASH does not) with definitions well over 200 chars (though actual cell usage is like 20 out of 250(at typical zoom) and overhead is nigh-imperceptible). Actually, are the other prompts (e.g. the one displayed when in the middle of a heredoc) even customizable in other shells? Doesn't really matter and I'm not gonna looke right now, - though they are so in ZSH, of course I could go on and on, but I think you get the point. ZSH, to me, is like the Emacs of shells
@ky3ow
@ky3ow 2 ай бұрын
​@@MH_VOIDdamn first ever explanation that goes in depth instead of "more customization", well done
@comosaycomosah
@comosaycomosah 2 ай бұрын
@@ky3ow copy paste to /zsh for the love of god lol
@foobarf8766
@foobarf8766 2 ай бұрын
It all could just be what hating GNU bash does to a person...
@TitleTheTitle
@TitleTheTitle 2 ай бұрын
This dude is the FOSS drama alert.
@helloimatapir
@helloimatapir 2 ай бұрын
I hope that isn't a compliment.
@otrab1080
@otrab1080 2 ай бұрын
The SEO is a huge red flag for me.
@zgliu8018
@zgliu8018 2 ай бұрын
Average ZSH plugin manager fan 🥸 vs Average source plugin.zsh enjoyer 😎
@user-bv9jy2vm2g
@user-bv9jy2vm2g 2 ай бұрын
vs sh enjoyer
@oj0024
@oj0024 2 ай бұрын
vs rc enjoyer
@oblivikun
@oblivikun 2 ай бұрын
@@user-bv9jy2vm2g i just use korn shell, i ported starship prompt to it, made my own syntax highlighting, and do autocompletion with fzf
@sativagirl1885
@sativagirl1885 2 ай бұрын
love your new #LuckyTshirt.
@snooks5607
@snooks5607 Ай бұрын
7:15 up to this point I'm like so what, people have weird websites and github orgs, but execute stuff from web at shell init? wth fuck no, who would ever agree to that? honestly anyone who "installed" that deserve to get hacked. call it a learning experience
@ellenorbjornsdottir1166
@ellenorbjornsdottir1166 27 күн бұрын
it's zed, Brodie, you're ozzie
@BrodieRobertson
@BrodieRobertson 27 күн бұрын
I switch back and forth
@Lars-ce4rd
@Lars-ce4rd 2 ай бұрын
I think it's very naive to assume that the devs just don't know what they're doing telling the users to put that source curl in their zshrc. It's not a dumb thing for them to do at all depending on what they're trying to achieve. I bet the "download server" has some complicated logic too.
@BrodieRobertson
@BrodieRobertson 2 ай бұрын
It's an incredibly dumb thing to do, checking for updates on every shell invocation is never a good idea
@Sun_Seeker
@Sun_Seeker 2 ай бұрын
@@BrodieRobertson I think it is fair to criticize projects that do this but I think it is unfair to call out smaller projects and not criticize bigger projects like "Kitty" which literally phone-home without users knowing it and whose main maintainer actively undermines this privacy violation every time it is noted.
@BrodieRobertson
@BrodieRobertson 2 ай бұрын
@@Sun_Seeker I didn't even know about Kitty doing that
@MH_VOID
@MH_VOID 2 ай бұрын
@@Sun_Seeker IIRC that was a simple update check, easily disableable and also a known thing for terminal emulators to do (OTTOMH, I know WezTerm does the same. Also many other programs (that are not necessarily TEs) do the same but I digress). It's sensible (how better would you do it? And anyways, it's simple, can be disabled, and is actually useful and something many people would want enabled), and rather safe (code path is very well defined, minimal information is transmitted (IIRC it doesn't even send what version of kitty you're using, but merely asks the server what the latest is, terminates the connection, and locally compares the server-returned version to its own version!) and even a total takeover of the server by a malicious actor would have no impact). I'd also say that it being a "privacy violation" is pretty much nil. Now a secrecy violation, I suppose you could call it a very minor one, in that it informs the server and perhaps your DNS provider that you were presumably for for at least one brief moment shortly before the arrival of the ping either running the kitty TE or proxying the connection of somebody who was, but then again, is there really a problem with that? Kovid is justified in shutting down complaints by secrecy advocates who waste his time with non-issues, particularly in light of how much actual work he does Disclaimer: my knowledge is current as of a week or two ago of bored perusal. I'm having some trouble finding the discussions where all was talked about (browser history bad) and value a prompt response over verified correctness here
@Lars-ce4rd
@Lars-ce4rd 2 ай бұрын
@@BrodieRobertson I'm not arguing that in a "real" use-case, it's a dumb thing to do. That's not what I'm arguing at all. What I'm saying is that I think it's actually a really clever way for malicious actors to lure junior developers into giving them their access!
@epotnwarlock
@epotnwarlock 2 ай бұрын
Is zi included with zsh?
@BrodieRobertson
@BrodieRobertson 2 ай бұрын
No it's a 3rd party plugin manager
@MegaManNeo
@MegaManNeo 2 ай бұрын
Why going through the trouble of making all this in the first place? I assume most people keep their standard BASH Shell on Linux, Mac users won't bother much and in both case, if they do they most certainly know this stuff smells weird.
@BrodieRobertson
@BrodieRobertson 2 ай бұрын
A lot of people use ZSH and run "plugins"
@Poldovico
@Poldovico 2 ай бұрын
@@BrodieRobertson Sure, but they remain a minority among a minority of computer users, likely limited to personal computing. I can't imagine many servers or embedded platforms running anything other than the default shell for their distribution. (Insert "ed is the default text editor" copypasta) And how much overlap is there between the sorts of people who run zsh with plugins and the sorts who don't know not to curl stuff in their .zshrc?
@MegaManNeo
@MegaManNeo 2 ай бұрын
@@BrodieRobertson I am one of them, yea. I mean why those guys set this stuff up?
@nomadhgnis9425
@nomadhgnis9425 2 ай бұрын
Brodie. I have a question for you. How old are you? I am 43.
@BrodieRobertson
@BrodieRobertson 2 ай бұрын
26 as of a few weeks ago
@nomadhgnis9425
@nomadhgnis9425 2 ай бұрын
@@BrodieRobertson you ae young. I thought you were older. You missed out on the old days of technology that I came from.
@elzabethtatcher9570
@elzabethtatcher9570 2 ай бұрын
Too many Zs
@anstropleuton
@anstropleuton 2 ай бұрын
When ZSH website is made by AI generated buzz words:
@moomew64
@moomew64 2 ай бұрын
gen ZSH
@curious_banda
@curious_banda Ай бұрын
Its not Z D Harma, its Z - Dharma. Dharma is an Indian word (and a non-translatable to other languages).
@MissMuffin-qc8fc
@MissMuffin-qc8fc 2 ай бұрын
12:33 Up for a round of tic tak toe on this forehead
@ellenorbjornsdottir1166
@ellenorbjornsdottir1166 27 күн бұрын
"zdharma" is pronounced "zed darma"
@hapsti
@hapsti 2 ай бұрын
mogus
@setoman1
@setoman1 Ай бұрын
It’s not malicious… yet.
@yoppindia
@yoppindia Ай бұрын
fake it, till you make it.
@BrentMalice
@BrentMalice 2 ай бұрын
i thought this was just something lazy but that marketing dept... thats not sus thats an obvious lie. that website isnt even ai generated tho thats just a basic typography pack from a ui library. vercels v0 is better than that lmao
@xarchist
@xarchist 2 ай бұрын
Sounds AI generated. (Asian Indian)
@wilder6408
@wilder6408 Ай бұрын
Use fish.
@netkv
@netkv 2 ай бұрын
laughs in bash
@lemna9138
@lemna9138 2 ай бұрын
AH AHH AAAAH AMOGUS ඞඞ
@glidersuzuki5572
@glidersuzuki5572 2 ай бұрын
I think it's pronounced as z-dharma
@delightful-ish
@delightful-ish 2 ай бұрын
Who are these people using plugin managers for shells? Please keep them away from me.
@BufordTJustice42069
@BufordTJustice42069 2 ай бұрын
Time to switch to Windows for us security minded folks?
@stefanalecu9532
@stefanalecu9532 2 ай бұрын
Windows is even worse for security wdym
@callyral
@callyral 2 ай бұрын
lol
@sprinklednights
@sprinklednights 2 ай бұрын
Lmfao
@faetalize
@faetalize 2 ай бұрын
this but unironically. windows is more secure than linux.
@user-in2cs1vp6o
@user-in2cs1vp6o 2 ай бұрын
Too much malware is designed for Windows 10 and 11. That's why I run Vista. Security in obscurity!!??!!??!
@davidfrischknecht8261
@davidfrischknecht8261 2 ай бұрын
FYI, it's pronounced z-darma.
Systrays Are Incredible (I Would Never Go Without One)
22:28
Brodie Robertson
Рет қаралды 23 М.
Linux Is A Castle Built On A Mountain Of Sand
13:29
Brodie Robertson
Рет қаралды 33 М.
She ruined my dominos! 😭 Cool train tool helps me #gadget
00:40
Go Gizmo!
Рет қаралды 45 МЛН
When Jax'S Love For Pomni Is Prevented By Pomni'S Door 😂️
00:26
PINK STEERING STEERING CAR
00:31
Levsob
Рет қаралды 20 МЛН
AWS Fooled Devs & Sabotaged The Industry | Prime Reacts
21:47
ThePrimeTime
Рет қаралды 206 М.
Why Valve Doesn't Make New Games Anymore
8:32
Going Indie
Рет қаралды 816 М.
i cant stop thinking about this exploit
8:40
Low Level Learning
Рет қаралды 345 М.
I'm a Mess, so I'm Making My Own File Organizer [TagStudio]
23:32
Almost Every NFT is Worthless Now…
12:33
SomeOrdinaryGamers
Рет қаралды 743 М.
6 Linux Terminal Mistakes Everyone Should Avoid
10:44
Brodie Robertson
Рет қаралды 19 М.
why do they do this every time?
33:33
ThePrimeTime
Рет қаралды 106 М.
Asahi Linux Working Vulkan Drivers In Just 1 Month
17:29
Brodie Robertson
Рет қаралды 13 М.
Every Linux Distro Must Learn From XZ Backdoor
19:55
Brodie Robertson
Рет қаралды 13 М.
Obscure OSes You've NEVER Heard Of
29:47
Kalos Likes Computers
Рет қаралды 76 М.
Apple watch hidden camera
0:34
_vector_
Рет қаралды 62 МЛН
Дени против умной колонки😁
0:40
Deni & Mani
Рет қаралды 12 МЛН
ТОП-5 культовых телефонов‼️
1:00
Pedant.ru
Рет қаралды 15 М.
Девушка и AirPods Max 😳
0:59
ОТЛИЧНИКИ
Рет қаралды 16 М.
Iphone or nokia
0:15
rishton vines😇
Рет қаралды 1,7 МЛН