Software developer here. I think this problem is being addressed completely wrong. Github, Gitlab, Bitbucket etc. are basically web interfaces for a git server. They are not meant to be used for downloading single files. Proper way to use it is through a git client which is way too complicated for a non-technical non-developer person. I think the problem is pretty much all GNU/Linux environments are being heavily dependent on users should be able to run scripts or configure themselves etc. Many of the stuff on GNU/Linux are not self explaining like on Mac. That is the real problem.
Ahmet I think you have it right. They are source control tools meant for devs, not common users. That’s not to say common users can’t use it, but source control programs are completely different than someone trying to download from a public share drive or a web domain. This isn’t an issue with GitHubs features, it’s poor deployment and documentation on the dev’s part who is providing the source files (scripts).
The answer is that github isn't developed to address user, but developer needs. The usual workflow is that you clone the entire project(repo), which downloads a copy locally, then you make some changes and push them back to be merged into the original (a very simplified explanation). The whole ideology is designed to suit a developer workflow. I also end up copy pasting scripts off of it but it wasn't intended to be used this way and I doubt it will change in this regard any time soon.
I agree with you. It's fairly simple to add that as a feature, but from my understanding it doesn't really align with what Github sets out to do. I mean, as a developer, I don't think I've ever have the need do download a project file. I either clone the repo if I want to use/modify it or copy paste the code I need. Besides, if there is something you really need to download and use (e.g. packages, executables, zip files, etc.), they can be added to a release.
Some repositories are hundreds of MB. You're telling me downloading that is in any way preferrable over clicking a button? Developers, users, who cares; no target audience warrants a bad user interface. One additional button won't make the UI that much worse than it already is.
New developers are immediately tripped up by that interface. It's not the worst I've worked with but it essentially carries a legacy UI that most experienced github developers know how to work with. As something that's supposed to encourage new developers it's clearly not good enough.
Professional developer here. While it can be considered user error, I made this mistake at least once before realizing I needed to do something else. There's roughly 2 ways that I normally do this now. Either using curl or copy and pasting file contents using GitHub raw. To Linus' credit, he taught me probably the majority of what I know about computer hardware.
as a non-coder, he's just arguing why there's no download button to download the file directly instead of copy pasting the text from raw. For me that's never been an issue.
What he's talking about is getting files as a non-technical user, its actual pain, as you have to clone that specific directory or download the entire repository. If you save it normally, it will save as an HTML file.
"Younger people don't have a concept of file structures." These kids grew up using mobile OS', which almost go out of their way to _hide_ the actual file structure. When you can't directly access files on your phone, you end up having to search for them, or use the dreaded screenshot reupload method. But you also lose the concept of what a file actually "is", because you are prevented from seeing it. It all has to be unpacked inside an app.
My FATHER had been working for years with Windows systems and still thought the pictures on his phone were "in the gallery", as opposed to being in a folder. It's not even just them kids. At this point I'm turning into a dinosaur because I refuse to use cloud apps for them to go and save the files wherever they want or in some cache folder in the /Android/data/com.whatever instead of just downloading them to the /download/ folder. So I end up just grabbing the cable and plugging into my pc for any such activity.
@Tyler not if apps insist on saving in some obscure folder I have to scroll to every time, or refuse to save to my removable storage so I have to manually copy the files. I'm sure there's some setting or workaround I'm missing but that kind of shows it's not as intuitive. took me ages to find my recycling bin for crying out loud XD (and that was only after some1 had to point out my file explorer is under the Samsung icon I totally ignored) recycling bin is under Samsung->my files and then I have to press a big button that says "analyze storage" than I have to scroll down and find it in a list of all my storage stuff.... tell me that's as intuitive as windows where it's been on the desktop by default for as long as I can remember. (and as I've shown by my inability to use phones I'm obviously a Boomer XD)
It's not hidden, most phones come with a file explorer app. They should encounter it doing a basic task like moving pictures to the SD card. It seems unavoidable if they spend their life looking down at a phone. I think the real problem is lowering standards at universities.
Hey, all. Linus wants to clarify the statement he made in the final seconds of this clip. He did not mean to say that EULAs are unenforceable. He meant to say that there are often clauses, provisions, and terms in EULAs that would be found to be unenforceable if ever challenged in court that users can be ignore. For example, the EULA of many products prohibits you from reviewing that product. Thank you for the opportunity to clear this up!
LOL they actually try to prevent users from reviewing the products they buy? Please provide me the names of some products with review-bans in their EULAs so I can knowingly and intentionally violate them. I'm serious. I want names.
IAAL, and EULAs with problematic terms like “you can’t review or benchmark this software” are indeed enforceable, provided the terms are delivered in the proper way (this depends on jurisdiction in the US, as well as state law in some cases). The consequences, should the licensor choose to enforce that provision, are probably minimal to the licensee who breaches that term. It would most likely result in a termination of the license rights for that licensee, meaning they can’t use that software. But, if the licensor could show damages as a result of the breach of the license, then monetary damages could be assessed against the licensee in this example. The likelihood is pretty low in the grand scheme, particularly for individual end users who don’t have much financial resources to be worth the legal fees to enforce. But for someone like Linus/LMG there could be a risk of breaching a license provision such as “no publication of benchmarks or performance metrics.” Point being, even arduous and obnoxious EULA terms are usually enforceable *if* the EULA as a whole is properly delivered and accepted by the end user (in the US). So, the clarification above improved the point Linus was making, but it’s still incorrect. And yes there are arguments about contracts of adhesion that go to enforceability, but given the answer is usually “if you don’t like the terms, just don’t use the software,” a court isn’t likely to side with the end user by default as implied by this clarification. You still have to follow the license. And we all know no one reads them. I’ve written EULAs for clients, as have my peers, and we don’t read them either. We generally know what’s in there, so you just shrug and click OK because it’s not like you can negotiate a click-through agreement anyway. Negotiated contracts are another story. As usual, this is not legal advice, nor should it be taken as such, I’m not your lawyer, and if you need a lawyer please contact one in good standing through your local bar association.
What, you mean all those games which have a EULA which say that using 3rd party software in conjunction with the game may get your account closed/banned/deleted are going to be unenforceable??? Who would have thunk it. And here was me thinking I was only ever allowed to play Microsoft games on Windows. Maybe I'll just ignore the EULA and break out a game by Blizzard.
@@riskin620: I'd be interested to know if there is any precedent for a EULA clause banning product reviews actually being enforced. I doubt there is any such precedent, at least for consumer-grade products, because EULA terms are unilaterally dictated by the product manufacturer, and banning users from _fairly_ discussing the operation of products would very likely be ruled an infringement of free speech. Unfair reviews and false performance data would already be prosecutable under existing libel laws and don't need a EULA clause banning them.
I think the file extension issue would probably happened the same on windows but the underlying problem is that github isn't designed to host files for "normal" users to download. (And if it should or shouldn't is a whole different issue)
@@codycast my point was that developers shouldn't direct users to github to download things. Or at least link to the release page or a direct download link
@@codycast It's not intentionally, you make it intentionally designed for developers cause it is made for developers. They don't care for non developers, like for real, and they should not be. When you make a car, do you design it for a dog or for a human?
Git was designed by developers for developers. Scripts are a bad user experience. But they're a better user experience than running .exe files that can contain virus's.
depends. For exe files you have tools that can assess them like virustotal. If you know what you're doing yeah scripts are way safer but again they're talking from a perspective of a noob
@@rajder656 VirusTotal cannot assess .exe files. They tell you what various anti-virus softwares thinks the .exe contains - to assess it you would have to decompile it. The script you can just open and read.
@@Reichstaubenminister Yeah anti-viruses just compare your files to other known dangerous files. I guess it could be nice for new users to have a program that tells them before double-clicking "this script removes files/connects to the internet/requires webcam access/etc". If you are using a terminal I'd assume you can read the script yourself
13:33 The expectation that open source leads to better security isn't brought about by each individual user scrutinizing each script. It's brought about by each script being visible to everyone so that *someone* will notice malicious code.
@@hippo_o_matic7985 Easier for me to create a random malicious script and get it executed by a linux novice than for me to create a random malicious exe and get it executed by a windows novice
I'm sorry, but the fact that "Save Page As..." saves... well, the page, as displayed in your browser, shouldn't be a surprise. I feel like this is something non-technical users should be able to understand too, at least after having it done once? Because it literally works the same on any page.
That is true, and a user as technical as Linus ought to know that. (Since it has nothing to do with Linux or with Github, it's just how browsers work.) However, I do see Linus's point that this could be better. It should, at the very least, save the file with an .html extension, since that's what it is. It could also help if it was called "Save HTML As..." rather than "Save Page As...". Even better would be if there was an option to save the underlying content, since HTML is just a way of presenting the content to the user. But a "Save Underlying Content..." option would require new Web standards, since the browser and the HTTP server would have to work together to implement this.
@@electronics-girl I tried "Save Link As" in Firefox after someone brought up the topic again, and the save dialog had "HTML document" right above the Save button. Doing "Save Page As" does "Web Page, complete" for HTML and "plain text document" for raw source file pages, which makes sense since Firefox can have many kinds of media opened as tabs, e.g. pictures/PDFs/mp3s/webms and doing Ctrl+S on such a tab will just save that, which is not HTML at all. I don't see how it could possibly be clearer, honestly. I hope the clip ends up in the video because I'm genuinely confused as to what Linus saw and perhaps overlooked.
File extensions are just suggestions to the content inside... on every platform. I can, right now, go into Windows, rename a .jpeg to .txt and now the thumbnail will change to text file. That argument was kinda dumb.
True, but windows hides file extensions by default, and then if you do try to change a extension, windows will pop up a nasty message about bad things happening if you continue.
Thing is linux won't change the icon for you. It'll still recognize that it's a JPEG image even though it's not called .jpeg anymore. Mac actually does the same. File formats have their own ways of identifying themselves without relying on names at all, it's only Windows that doesn't use them.
Software Engineer here. The reason there isn't a download button is because Github, and Git are primarily (99.9%) used by developers. There is in fact a download button, but for the entire repository, as this is the function that most developers would need if they needed a download button. In reality, most developers aren't going to use this, if ever, and will instead use git clone, as that's effectively the same thing and they already have access to git right there in the terminal. Honestly I don't see this as a problem with Git or Github, more a problem with whoever wrote the tutorial / guide you were reading, and failed to inform you how to acquire the script with git and then how to execute the script in a beginner friendly fashion. Edit: Also regarding the point of 'reading the script to make sure it's safe', isn't correct. Being open source means that the code has had potentially more eyes on it (ideally eyes without code biases / devs who have worked on that particular piece of code) which can result in bugs / exploits being found where they might not have been if the source code were closed. Developers aren't expecting each and every Linux user, or any other user for that matter to inspect the source code.
Also many repos, downloading just one file will be useless without the rest of the repo. Making it harder to download just a single file is almost a safeguard against users who don't know what they are doing just downloading a file and running it. Most users who know enough to safely run something like that also know how to clone a repo. Its about building the UI for the target user. Kinda like when LInus said, you can't be mad about high end graphics card prices since you aren't the target user. UI affordances should match the target uses.
Then we need a linux distro that has all the functionality of windows without having to use github to get a overlay working for your game or to enable game mode.
Not only is security improved by having the script contents fully visible, but it also becomes possible for others to add/improve/modify/maintain the script long after the original developer stops caring. This just simply isn't possible with a random closed source .exe.
If you're not meant to use github as a user, then why do devs and scripters insist on putting things users need on github. The whole open source community is cursed
There is a download button, but it says "Raw" instead of "Download". Interesting comment about the legal system and EULAs. Now if only we could apply the same rule of "nobody reads things that long" to congress.
I feel like the criticism of github is quite unfair. This is a tool aimed at developers. For us, clicking on a file and getting syntax highlighting and the options to see diffs/blame are far more usual uses than pulling the file down locally. If we want the single file we know you click raw and save it. If you right click and save link as, it's going to save the link.. The link to the page with syntax highlighting! Maybe a "Download file" button could be a nice addition (and even in the file list next to each file).. But, I think it's important to respect who the website is aimed at.
@@r00tyschannel52 Agree. Like I'm not an expert in audio/video, I'm 100% positive that I could say the same thing about professional AV equipment. I wouldn't (and probably shouldn't) be taken seriously if I complained about a "bad user experience" when trying to use a $2,000+ camera. I'm operating as a consumer/amateur and the product I'm using is meant for professionals/enthusiasts, of course I'm going to have a bad time.
@@r00tyschannel52 "This is a tool aimed at developers" is a complete cop-out. What you are saying is that "this is meant only for people already trained on how to use it because it doesn't follow web conventions" which is exactly what Linus is complaining about.
@@Spookyhoobster the problem is that a power user needs a script to do something and gets sent to Github. The solution for the camera is to add an auto setting on one of the 17 dials that lets the camera act like a consumer model until the user gets comfortable with the manual settings. That auto setting is analogous to the download button and yes I know that setting is already on a number of cameras.
Even Windows has been trying to get rid of it for normal users, file extensions are hidden by default. Same with the folder structure that they talk about, Android and iOS has hidden that from the user, and Windows is heading the same direction. Users are not meant to need to know about file types and folders, since most people just want to take a picture and sort it in an album or send it to their friends.
And I agree with linux's approach to this. I don't want the behaviour and contents of the files to be linked to the name of the file. I want to be able to name it whatever I want to name it.
I used to argue against file extensions. however, I find them to be much nicer than having to infer everything with the `file` command. I used to save text files with no extension all the time, but these days I give everything an extension to save time on the terminal later. it's often made up on the spot, but then I just use a whole word. (it's not like that's any different than windows, anyway.)
Linus keeps repeating the word "Developer", "im not a developer", or you have to be a developer to do this but, you keep missing the main point that GitHubs target audience/users isn't regular users downloading single files. It's targeted at developers who upload entire projects.
Then, Linux is not a user friendly system that most people purport it to be if even a semi-poweruser of computer systems struggles with getting some basic functionality to work on it.
@@sbstratos79 it's not Linux fault that the person who did the tutorial used github to host the script file. This would have happened in windows too if the tutorial also pointed to github.
@@texboy98 I was forced to use GitHub the very first day I installed linux because my graphics tablet wouldn't work out of the box with linux. This is a very common scenario for most new linux users. If linux developers are the ones forcing an average user to use GitHub just to get some basic functionality working on their pc, I don't see how you can absolve Linux of all the disadvantages of GitHub and related platforms.
@@sbstratos79 I was as noob as you could get and figured out how to get scripts like that in about two minutes. This guy's a drama queen just looking for clicks on his tech god channel.
@@sbstratos79 no... a very common scenario is a new user would know what a graphics card is and try a different distro or look for the proper drivers for it.
Git repositories out there weren't made for you to get a single file in mind. It's for downloading the entire repo, either with cloning it, the download->zip button, or on the Releases page.
That's why I HATE when somone calls somone stupid. Like we had a friend who most of the time did poorly in school and wasnt very coordinated but the way this girl could draw and cook was unrivaled. Sure she wasnt the brightest in math class but if you wanted to make muffins or have some bomb art to put on your walls you know she was the girl to go to because that's wht she did. Just because you dont see what a person's talent is doesnt mean they dont have some helpful skill. I mean, usually
@@ncb4_69 mate, it's literally his job to be informed at least on a surface level. If there's even a minimum 50 non dev users downloading and running something off git repo, there's a readme. Why are people unable to somehow read at least a paragraph of documentation? I know fuck all about code or Linux but I've managed to not fuck anything up just by reading the couple of lines that the devs write.
GitHub is a poor example, it’s not designed for everyone. It’s for developers. Too much hand holding and good UX adds so much abstraction that things like file structure become alien. If computers are going to continue to be a part of our every day lives, I can’t comprehend why we haven’t made this required curriculum in schools.
@@shawno8253 I absolutely agree that most people just want things to work, as a developer myself I still hate tinkering with things if I go in with the expectation that it will just work. That being said, I do think people need to know these things. Every career field (eventually) will go digital, and even if that doesn't happen in your or my lifetime a basic understanding of these systems will be crucial to have any hope of moving forward.
Github isn't for developers. It's not the problem. The real problem is that someone decided it was acceptable to direct non-developers to use github to get something done.
@@shawno8253 The intended user is someone who already knows how to use Git and if they don't, they should be willing to learn. Github is a platform for Git, so surely it's fair to assume that the user knows what Git is, right?
@@shawno8253 The thing that Linus often ignores is that while the perspective of the non-technical user who thinks that learning something is too much effort is a perfectly valid perspective, it's also not the _only_ perspective there is. And when it comes to professional tools like Git and Github, it's not a perspective worth considering
File extensions are a completely arbitrary concept, in fairness. The fact that some operating systems decided to assign significance to them, quite a while after file names were already a thing, does not make it any less arbitrary.
@@SnakePlissken25 It's useful when used with a GUI. The OS doesn't have to read the file off the disk just to show you an icon representing the file type or to pick a program to try opening it with by default. Sure it's not needed for command link operations, but that doesn't mean it has no use at all.
I feel like Linus and Luke are kind of talking around the problem until about the 12 minute mark. Users shouldn't be expected to download and run a script of any kind, ever. It's not a great user experience and has a ton of security implications. The fact that GitHub doesn't have a download file button is tangential to the actual issue. I'll also hit back at the "these guys have degrees but are making shit UX/UI" comment. Linux and open source are mostly built on volunteer labor, and you don't get to pick a team with a UI/UX guy, a frontend guy, and a backend guy, you just get who shows up. The idea that these guys are smart and should build good software falls apart when they have to work an actual job to sustain themselves.
Also, Linux development is -- much because of the volunteer labor -- decentralized so there is no management to rule that the "correct" user experience is the one drafted by the designers. If I'm a developer and I disagree with the design I'll probably not work on the project... or will fork it and do it the way I think should be done.
>Users shouldn't be expected to download and run a script of any kind, ever But what if I really want to? I mean let's say I bough a laptop without a switch/predefined Fn key combination to turn touchpad off. How do I turn it off when I don't want to accidentally touch it? In windows I need to open device manager, find the touchpad there and disable the device. Then I have to do the same to reenable it. Each and every time I need to switch my touchpad on and off. Manufacturer says you don't have a shortcut, so you don't get a shortcut. In linux I can just write a script, bind it to any key combination and be done with it. What if I need to batch convert a bunch of images? Or fix id3 encoding in a bunch of music albums? Is downloading a random application off the internets to do it safer than running the script you can actually read? It's all good and fine to expect to never meet a script, but what if you run into something niche or unexpected? Like the silliest thing I've personally experienced was, of all things, with a mac. Parents wanted a local backup of their kids iphone (as in, not cloud, because backing up 200+ gigs into a cloud is hella fun). The kid has a macbook air. But the problem is, it's storage is smaller than the iphone one. So external drive should be an answer, right? Nope. Apparently Itunes doesn't have an option where to back up TO. Yay! Good thing symlinking the destination is an option (as in opening console and writing a script-lite. On a mac). All the mac users I've talked to said you're doing it wrong, and physical backups are dumb, and cloud is the future. The idea of choosing backup destination was not implemented by developers, so you should not want it or try inventing it. Period. As long as you stick to experience-as-intended-by-developer, you don't really need scripts. The problem is there are things that were not intended, and in linux you at least have an option.
@@infine-8222 You know, it is true that Users shouldn't be expected to download and run a script of any kind. If there is a necessity to do it for something that is not a specific case, then that is bad user experience. Lets go with the Touchpad example, why do you need to turn it off and on? Is it because you are using external peripherals? Or maybe you are running it on a server and don't want anyone to touch it or something? Because if that is the case, then Windows options are as valid. Say Average Joe want to turn off its mousepad and googles how to do it, if he were to be presented with Open the OS Device Manager -> Click on the touchpad -> Disable it or Download this random script from git -> Open terminal -> Run it. Which one sounds less scary? Personally for me I think that the first one is more user friendly. There is a lot of people who are scared of opening that black box just because it looks technical and "scary". Don't you think that they will feel better with a UI that comes with their system? As for the parents example, the fact that the family had to ask you, someone that as it seems has technical experience on the topic, for help already tells me that its not the intended path and it should have been addressed before it happened. Maybe it was because they didn't wanted to save to the cloud before, as in Weekly or Bi-Weekly for example? Don't get me wrong, I'm all for full customization, all options available software. I love to be capable of doing anything I want with it. But I also understand that it is almost mandatory to give the user as little reason to go out of their way on the software as possible
file extensions are still functionally the same on most linux DEs the difference is that naming something .exe doesn't make it executable, instead executable is a flag on the file like "read only" in windows.
That's not entirely true - Windows uses the extension alone to determine what app to open and/or run a file in. Linux uses the extension when opening most files or running a binary blob, but for running text based scripts and such, Linux generally uses the first few lines determine how to open it and falls back to the extension. I can use any extension I want for my bash, perl or python script and as long as the headers of the file are correct Linux will know how to run it. That's probably what happened with Linus - he saved an html file with a .sh extension and then tried to run it. Linux looked at the headers and said "wait, this is an hmtl file, not a bash file" and opened it in a text editor and/or a browser instead of trying to run it. The first issue is something that's super common for novices in Windows (though not usually with files from github), so calling it a "Linux problem" is kinda weird imo. I'm not sure how he expected Linux to handle him trying to run the file though. It's definitely more of a UX issue for github more than a Linux issue. I don't consider the "but github is designed by and for developers and you usually download the whole repository, not individual files" excuse to be a good one - there are a number of git front-ends that have an easy to find download button for specific files, because downloading an individual file *is* valuable sometimes for developers.
Most Linux GUI file managers use the mime-type of the file to determine what to do with it, not the file extension. Problem is that the mime-type is not saved anywhere, it's guessed. Sometimes based on the extension, sometimes based on the file content. So you can get funky results sometimes, especially when throwing rarely used file types at it. It can of course also save your ass, as demonstrated here by Linus, without that feature he would have been trouble shooting for quite a bit longer wondering why that script won't execute, but the file manager told him straight away it's .html. As for the executing part, you are correct. Execution is a file permission that needs to be set manually and that won't survive a download from the web (it will however survive inside a tar.gz), it's not determined by the extension.
I've just started university, and already I've been horrified by how many people only use the desktop and the downloads folder to save stuff. lots of people their only prior experience was with their phone or tablet where you just search for everything anyway, so they save files in the default location and use search to find everything.
i'm a bit obsessive about this. i always try to keep the downloads folder as empty as possible and classify everything in folders. but then i'm a software developer so i'm biased.
I do that, although I know the relative locations in the desktop. If something is important that I may need for more than a semester or two I save it into a folder made for that subject in the programs folder
This is ridiculous. As a software developer who regularly uses GitHub, it is not braindead that when you download a link to an HTML representation of the file, it downloads as an HTML file. How is that braindead? You are not meant to download a file that way. If you want the raw file, you click on the Raw button.
I'm a Linux user but this seems like a very accurate description of what you get when you Google for help. People assume that you already know lots of stuff rather than walking you through step by step.
Not understanding folder structure is not a big deal. Not being able to comprehend an organizational structure on the other hand is a problem. "Save link as" is a user interface design issue. One of the best things I ever read on the Internet was that "Users ignore design that ignores users."
@@cjnewbs You totally can, though. There are plenty of ways of designing a web page where you can't right click certain elements like you normally can other elements. Most of the time its a pain in the ass, but here it would be genuinely useful. Furthermore, there are even ways to add your own right click menu, like Google Drive does.
@@FlergerBergitydersh Does anyone actually use 'Save link as'? Seems like people just complain about having it... Because if they actually used it they would've known that it's a part of the browser and has its own behavior. In other words, it feels like a relic of the past.
@@MethmalDhananjaya more like "The Right Tool for The Right Job" It's like comparing a car and a train. You can't say trains are badly designed because it can't take you straight to the nearest convenience store. It's just not designed for that purpose.
@@skinnyfish But in this case your metaphor is bad. Clearly the conductor pointed him to github as a solution. Trying to get one person across a way doesn't change the fact the passenger ended up sitting on the floor when they were never given a seat for their butt.
@@christopherfortney2544 that's why normally "the conductor", or the repository owner in this case, never guide the end user to download files straight from their github repo. The fact that linus somehow ended up in github and trying to download a file itself is weird.
@@MethmalDhananjaya there's literally "git" in "github". if you try to use github outside of git then don't expect the best experience. and to make it even worse, there actually is a download button, I ironically realised that thanks to this video.
There are lots of things that are non-intuitive that you "just have to know" on Windows and MacOS, too. Like on Windows, the fact that there is "Settings" and then there is "Control Panel"... very confusing. And on Macs, there are so many non-discoverable "tricks", like knowing what modifier key to hold down to get something special to happen.
Yes but people forget about those things because they've been using Windows/MacOS since childhood. I've been using Linux exclusively for close to 12 years and jumping into windows there are things that confuse me and I have to google around to find how they work.
New users who aren't used to windows will have a lot of user errors aswell. You're just trying to apply your windows experience to linux. Sometimes things just work different in other environments. Newbie friendly and efficiency for the 'pros' sometimes clash. The efficiency for the 'pros' will always win out.
Isn't that the point though? I thought their entire experiment was supposed to be documenting the experience of a seasoned Windows user (particularly a gamer) jumping ship for Linux.
@@lucassatie Yes sure, but they can't expect to apply windows logic to the gnu/linux world (altho most is kinda compatible if you use a de like KDE). Its a product mostly developed for and by the technical audience and as a result, its a technical thing.
As a previous hospitality manager I dealt with a lot of training in a fast-paced environment. The absolute biggest flaw in most of my colleagues approaches to training a new hire was not realising that 'common sense' is learned. To train effectively you need to understand that going into any environment that someone has no experience in, they do not have any notion of the 'basics'. This applies to any new experience training and by extension any UX/UI new customers will interface with. Take someone who has 100's of hours in FPS games. The idea of weapon handling should be 'common sense', right? Now give them a real, unloaded and empty gun to shoot. They likely won't know how to load the magazine, let alone how to chamber a round, take the safety off, release the magazine and unchamber the round to return the gun to a safe state and that's just the basic manual of arms.
I don't really have anything to add here, I just love that it starts with the hospitality business and ends with guns. Sums up everything I ever heard about the hospitality system.
Common sense is _partly_ learned. Each new chunk of common sense a person acquires is built upon existing knowledge. Any time a completely new paradigm has to be learned, common sense fails.
I’ve been saying since I was a lil boy that “Common sense” ain’t so common. Cause some people do some really dumb things. I think people just need to keep in mind what it means to be new to any domain, and that it takes time to move from being a novice, to intermediate, to mastery.
@@j340_official: Rene Descartes once said common sense is the most evenly distributed commodity in the world, because even those people who are hardest to please in all other respects don't wish for more common sense than they have.
@@joelchrono The issue is that "plain text" isn't right because it can be a binary file, and "original file" could mean before an edit or something. "raw" means unprocessed/unformatted, "raw data" isn't a technical term, is it? I can't think of a better name for this
When was the last time I had a folder inside a folder with a bunch of files inside of it? Right now, because it's useful to organize things. It's also still that way on windows, right now. That it's not that way on phones and tablets doesn't mean that the desktop user experience needs to be downgraded to match phones and tablets. Phones and tablets were meant for different things than desktops and no amount of trying to force them into the same space as a desktop is going to change that just due to how you have to operate them.
exactly. The people using phones or tablets as their main devices are usually the ones who really have no understanding of advanced computing. Phones and tablets are easy, limited and secure (meaning user error is minimised). The majority of the people maining a phone or tablet would probably be overwhelmed by a desktop OS.
@@SirVer51 Even then, I still use them. I have one of those cabinets with the hanging folders sitting in my office that I use to keep track of hardcopies of various things for home and work related stuff. I've run into situations where I can't just magically make something that's stored digitally appear immediately when I need it for various reasons, but I could walk into my office, pull the drawer open, and pull the hardcopy of whatever it was, so I keep things like that around. Just because it's an older organizational system doesn't mean it's worse. I'm not even in my 40's yet and I still find hardcopies of things far better in many situations that trying to track down the digital version of whatever I'm looking for.
The thing is, using github as a developer myself all day, what you describe *is* user error. What should be focused on is; "Yes, it is user error, but this is not user friendly" and that is the actual truth here.
as a developer, if a user cannot not figure out how to use your product/service then that is completely on your dev & design team. Design should be intuitive from top to bottom. When you open any, literally any web browser, everybody knows how to atleast basically use it and trigger it’s main functions. All these people in the comments sounds like Apple with the iPhone 4 (“you’re just holding it wrong”). No, the users aren’t holding it wrong. You made a product that doesn’t work with the way a majority of users hold their phone. Further, just because we are developers doesn’t mean we cant have enjoyable UI’s for the products and services we use. Everything doesn’t need to be super technical just because what we are doing is super technical. This is the main problem with Linux. Linux will never take off for regular users in the desktop space until a regular user never needs to know that a terminal exists. When you use windows or mac as a regular user you can go decades and never need to open terminal. Look at android (mobile linux) the reason it is so popular because Google took the complete opposite approach that every linux distro does. Yes, you CAN get technical in android, but the regular user never needs too.
Aside from pull requests, most developers access github from either the command line client , IDE or standalone desktop client. Some IDEs support raising pull requests directly in the IDE.
@@anthonyschroeder521 The point is that the majority of Github user are developer atht do not use the webpage GUI, so there is no really an incentive to implement a feature for a audience different to you target.
@@HeyItsHades can we please *not* build _everything_ for the lowest common denominator? It’s a waste of time and makes life miserable for those of us who are not contented with being idiots.
Clicking "Save Link As" on what appears to be a file link should not result in downloading a webpage with the file embedded inside of it. It's not user error, it's developer error. But good luck getting most developers to admit they misunderstand how user interfaces work.
@@linuspauly2380 yeah it's just his ignorance and him acting he's too good for all of it instead of learning things you don't know like normal people. I wonder if that's how he tries to download TH-cam videos
funny thing is Github's error, the raw button should just be 'Download file' and not even trying to preview it, just download the file from the repo. If github was having an annoying popup message in pure RED background with white letters that said: 'github repositories are meant for developers ONLY and not even for power users or administrators' this would have been prevented, because user would have suspected as to why there is no download button in that section of the website. Software developers are meant to give solutions to problems not create more problems for the users. Well that is my understanding of a software developer in what I do for a living. 😂
Okay and how exactly is this user-friendly? As a Linux user you will sooner or later have to download a file off github and good luck with that w/o a 'download' button. Its like saying "The Webserver is running on port 8000, you will find what you need there".
3 ปีที่แล้ว +93
Shouldn't mix Github with Linux experience. Disagree with the Github part
It's strange since he admits that he "knows just enough to be dangerous", but fails to apply that realization consistently. He wants to use unsupported hardware, but expects good UX.
This is a very common issue. Lots of "professionals" lack experience explaining their process to "non-professionals". It's like working out at the gym and the buff guy makes fun of you for being scrawny but he was once scrawny. It's a mindset.
It's more like complaining this gym sucks when you're in a factory that makes workout equipment. You don't even know where you are, and if you did you would realize there's nothing for you here. That's why the factory workers are laughing and the foreman's asking you to leave.
@@Poldovico Except the factory has a huge gym sign up on the front and all the workers inside keep telling you the big CNC machine is actually just an ergonomic bike, you just need to learn how to use it.
I remember growing up, when something got technical it was my responsibility to learn it. Now it seems if it's not completely rudimentary and hand holdy enough, it's the developer's responsibly to fix it. The fact that these people don't even understand a file system. That's a complete win for big tech.
Well the thing is mass adaptability requires that stuff be more user friendly. You can't expect every person to learn everything on the planet. That's why there are various fields. Some people may excell in multiple fields but even they would have places where they would go too complex for things which may be simple for someone who has experience in the field. Someone with a interest in programming or programmer/dev would think that file system is a basic concept and should be known by everybody, but not everyone would. Sometimes you just need the door to work and not know the basics of wood. According to me the whole Linux vs Windows debate is absurd because it is clear that both are targeting different baseline of knowledge. Linux is for people who are more inclined towards the development or atleast have the ability to acquire the required knowledge on the go. Windows is more general user category (granted it has it's own complexities, but it easier to teach basic windows operations than basic linux ones). Both have their own uses.
@@bhaveshcharyani Brother it's not a discussion about the target demographic, sure I won't expect my 70yo grandfather to know how a FS works. The problem is what do we consider a baseline knowledge? Highschool graduates of my generation find it difficult to navigate a web browser for anything other than fb and youtube. If the Google bar on their home screen can't find a piece of information; to them that information does not exist. If a picture they took a few days back is not in the snapchat camera roll it's as good as gone. My friends were fascinated by the fact that they can see all their pictures and stuff on their laptop when they connect using "the charging cable". This is basically a generation of tech illiterates who spend almost every waking moment of their Life drowned in tech. What used to be a standard practice not long back is now considered poweruser stuff. I swear to god this looks like the start of a dystopian future to me.
Long time ago, people were learning programming languages while using computer, nowaday's its a completely different task. People learn to use the computer to edit text files, acess Facebook and that Basic things. Just a few actually code.
@@1719pankaj it's a bit pitiful how the human race is ready to throw out knowledge when it is considered irrelevantly useful. I get you don't need it now, it may be too complex, but sooner or later we'll eventually throw away the ability to even tie things. Which is supposed to be representative of a child's growth that they can learn how to do it.
You know, I was using computers when I was in kindergarten and elementary school, but those were old DOS based systems where you needed to know a computer works in a basic enough level. These days, the UI is so polished that you can use them without knowing how they work - AT ALL.
I agree with this. I work in IT, and i see a lot of people that do not know how to properly diagnose issues because they do not understand how programs interact with various parts of the OS, network and whatever else. While I believe if you can learn something at a cmd/powershell/bash level it gives you a greater understanding of a system as a whole, and a lot of time you can get things done faster through those interfaces, unfortunately for the average desktop user non of that matters. I think there is a bit of an issue with what Linus and Luke are doing. They are not average users, they are power users. I would be willing to bet most people could actually use linux without to much issues, as I think most users do everything through a web browser, with maybe the exception of office type work. Luke and Linus have much different usage needs compared to that of what I would consider an average computer user.
@@grossly820 You're conflating two important, but different concepts in usability here: Using a CLI system one can easily and quickly make the system behave the way they want, in fact far beyond the capabilities of what a GUI could provide. The downside to this is that you have to know what to do beforehand, as if speaking a language; it is *unintuitive*, but *very usable*. (Un)fortunately Linux is littered with these kinds of systems (e.g. Vim), usually being propagated by fans for their improved efficiency. Developers and sysadmins are lazy too, they just set their focus differently.
Learning the command line is necessary if you want to use Linux in a more techy way. Meaning adjusting different settings and so on. The scripts are indeed a security concern. I myself just ran whatever script I was pointed to without thinking. Had to reinstall my Ubuntu 3 times because I killed the grafical interfaces. There is even a famous github issue about a small error in a script that caused to delete the whole system. And obviously the user did not read the whole script
I have no idea how he did get pointed to scripts on github as new user. And I have even less idea why he didn't check 'how to download' files from github before he started doing that
This is just my opinion, however, I do not feel Linux is ready for the average new user to computers. I would be hard pressed to recommend Linux to average user because I do think the OS as a whole requires some familiarity with technical “under the hood” knowledge. But I agree with Luke that the UX is so much better today than it was even 1 year ago! I am hoping it will become even more Noob friendly as time goes on, been involved with Linux in general for something like 15 years and it continues to improve! Last point, one of the beautiful things about open source is you can change something to your liking.
@@IainNitro GNU/Linux is for regular users who which to learn more about computers or be free from Propietary software. A simple use case like a laptop with integrated graphics or even a discrete GPU from AMD works fantastic on GNU/Linux. You are comparing Linus niche use case to the regular user which is absurd.
@@studentoo925 That's the thing. You're told: hey, here's this code you can run as a script, it'll do it's magic and your problems will be solved! My first instinct would be "Cool! How can I get it to my computer?" The answer should be "Yknow, just click this button! Easy as that, it'll be saved in this directory. Enjoy!" Why should I be googling something, that can literally be automated by a script and can be accessible on the web page..? Analogy: you're seated in front of a perfect meal and someone hands you this massive contraption and says "You can only eat it with this tool." You ask him where the knife and fork is and they say "Sorry, just this contraption thing. You'll have to go look in that library to see how it's used." You would be pissed, wouldn't you? Or would you happily go to the library and say "Cool! That's so great, now I can learn how to use this contraption that I maybe get to use once a year! Meanwhile my meal gets cold, but hey, that's the joy of learning!"
I think that github is the wrong tool for the job of distributing scripts to end users. The issue here isn't that github is a web interface to git made for developers, but rather that someone linked you to an html page to get access to the script. At the very least, they should have given you the raw link (which does save fine). You can't expect every tool to cater to ever use case, and trying to force a tool to do something it wasn't designed to do will lead to a bad user experience. That isn't the fault of the tool or the end user in this case, but the fault of the person who chose that tool for that use case.
I do think it is a bit of both things: 1. User error 2. Unintuitive UI 1. We need ways to tech users how to use the tool. Is it bad UI, if the user can't use a play/pause button from TH-cam? 2. We can make thinks easier by adding a download button to each file that, guess what, downloads the raw file.
I believe the problem that Linus has is with the person who pointed him to github, rather than github itself. Github is, as the name suggest, a hub for git repos, nothing more. So no, downloading individual scripts is not the intended purpose. The purpose is for developers to collaborate on source code. The guy pointing him to it starts from a peer 2 peer perspective, ie giving him the source code and Linus should figure out how to execute it himself. Linus looks at it from a client perspective, not willing to invest any effort. There is no problem in that, but than I guess Linux is not for him. I don't mean this as a bad thing, there are plenty of things I rather throw money at than invest effort into.
Exactly... Linus to me just seems like, "I couldnt figure it out immediately, I am done...". Uh what? The guy who wrote the script also shouldnt have to hand hold you and baby you thru how to execute it. If you dont know how to do such a thing, maybe you shouldnt be doing it? Same as, I dont know shit about cars, so I am not going to go get a repair manual that is designed for a mechanic and get mad at it when it doesnt hold my hand thru putting my engine back together...
@@kickassamd That is not exactly the same tho. A car should be intuitive to use with little need for the driver to intervene until it breaks. That is the problem with Linux and the community. It is vastly unintuitive and the people available to support don't know how to communicate to the end user what to do. Yes, the script writer shouldn't hold the end users hand. But if they did their job properly in the instructions phase prior to command execution, the user would have less problems. So pick something. Does the Linux community want vast adoption of the platform or does it want to be Dev based only?
@@atomdropper3932 So run an operating system that is built more for people your skill set? I can drive a car, but I cannot hop into an F1 car and go beat Lewis Hamilton... I do not use GUI Linux and mainly live only on Ubuntu when doing Linux work (servers), but from what I hear from colleagues, is that Ubuntu desktop is very nice and should be fairly simple for the average user to get going on. Maybe that is an answer?
@@atomdropper3932 Linux obviously want's both. Vast adoption of the platform and a thriving dev community. I think the issue here is goxlr needs a decent driver and the whole issue is solved. Obviously running a script is in no world the correct solution for linuses problem. And I would have totally accepted him criticizing linux/goxlr for bad hardware support. But I don't accept him shitting on github/linux devs/file extensions/scripts/browsers just because linux has a huge dev community does not mean you are part of it.
12:45 A script is just software that runs directly off of a shell, instead of being neatly compiled, it's not more risky than running random software, I would argue is safer, as you can litrealy read the code.
But will most people actually read the code? Most people wouldn't as most people don't read the terms and conditions of every single app they've download onto their phones.
@@dreamy97836 It does not make it safer. If you can't read the code you can scroll through it all you want yes you probably still let it run because you have no idea what it actually does. Here's how normal user solves problem. They find a article how to fix the problem they follow the steps if they can and they download whatever article says to them. I doubt a non tech savvy user will go and do 10 courses on undemy so they can read one damn script they found in one article or guide on god knows what webpage/forum. A lot of non tech savvy users won't even read the responses to the guide because they are often times very technical and they won't understand because they lack the knowledge. They only want to use their damn computer normally.
@@dreamy97836 It is not inherently safer as that is just an idiotic statement to make. You could argue it is probably safer as there is a greater probability that someone has looked through the code for you and has spotted all the security vulnerabilities but that possibility is nowhere reaching 1.
Or, because open source is a community, a newbie user trying to achieve something may just show the script to someone who knows how this works to validate it doesn't do anything malicious. While with the Windows mindset you're basically told to not run anything made by a big company
hes saying developers dont have a say in how the users use their product thats like critisizing lego for not being good at building life-size houses, you just arent the target demographic lmao
"file extensions aren't really file extensions, they are just a helpful little hint about what might be in the file" is actually one of Linux's great features! Specifically here, if that wasn't the case, you'd have your shell trying to execute an HTML file, which depending on stuff might be a very bad idea. The fact that Linux *knows* it's not a script and won't run it, regardless of the "file extension" is a good thing.
The windows peasants have no idea about concept of magic bytes or file signatures. Their brain thinks extensions are the ultimate thing. What next? Rename everything in all bin folders to .exe? Instead of learning concepts that are new to them, this is just a brunch of whining.
@@ShrirajHegde I'm guessing said "magic byte" is hex AA55 that marks some storage as bootable? I'm a Windows user, and know about that. (Mostly because I do OS dev as a hobby)
@@nikkiofthevalley yes, but not limited to that. 0xAA55 is the magic number for a BIOS bootable binary. All the binary programs need to "identify themselves" because programs need to know the expected format while reading them. So every binary format includes a "magic byte" usually near starting of the file. These sometimes correspond to ASCII chars for example .PNG for png image file signature. This is the intended type specification for file and machines are supposed to use this to determine type. The extension in the file name is for human reference. So the file extension is actually a "clue" as he mocking says. He accidentally got it correctly. Since Microsoft doesn't like standards and conventions, explorer uses file extension for type association rather than using file signature (magic bytes). That's why files can't be opened in explorer if you change/alter extension but they usually work fine on Linux explorers.
@@ShrirajHegde Oh. I didn't know that, thanks for the info. I imagine changing that byte would cause programs to not be able to read the file properly?
How did you learn windows? I feel like your learning Linux process feels haphazard so far. Day 1 Linux users shouldn't be downloading and running random scripts, Linus included
@@Jtzkb The reason that's necessary is usually that the vendor of whatever software or hardware you're using doesn't really support Linux. The workarounds are usually made available by individuals for free, so they don't put much effort into making the solution easy to use. Rather than complain about someone who provides a solution for free, it would make more sense to acknowledge that the issue lies with the lack of Linux support by the vendor to begin with.
@@Jtzkb For example with Valve's steam deck coming out, I decided to give a Linux server for steam link another try. There's constant screen flickering on the steam menu. I looked it up and it's a Linux only issue. There are complex workarounds involving modifying configuration files to get rid of the screen flickering, but the issue itself is a failure on Valve's part.
A lot of the time you're going to have to have an end goal first and then find out how to get to that goal with Linux, instead of trying to duplicate the process that you'd use to do it on windows. Admittedly, gaming is the weakest Linux market. I would have switched completely by now if it weren't for the less than 100% gaming support. Looks like things are heading in the correct direction though.
@@GabrielM01 ikr. We need to educate people on basic stuff like that, especially Linux newbies. We already have too many tech idiots in this world and Linus is promoting even more tech idiocy, instead of making a guide - since he clearly has some teaching skills.
@@PvtAnonymous Firstly, how is Linus "promoting" tech idiocy? Secondly, it's not Linus' job to fix UI/UX issues Thirdly, this is the WAN show, it's a podcast/talk show style video. Why would he make a guide in the middle of the WAN show?
Github is NOT a content delivery platform, it is a DEVELOPMENT platform It is baffling that i 2 years after this still see people who don't understand that.
I'm looking forward to seeing Linus' experience and very curious to see what sort of script he was trying to run. I've been running Linux for over 20 years now and don't recall ever running a long script of any sort to fix something. Some utility or installer that's implemented as a bash script, sure, but nothing along the lines of a script downloaded from Github to fix something. I suspect there's a Windows mentality messing things up here, but again, I'm very curious to find out what the actual purpose was!
@@elsiehupp Yeah, I suspect it's the Windows/Mac mentality of "what do I need to download to do this thing" vs the Linux mentality of "how do I do this thing" (which will be applicable to future issues, unlike the download). If he was looking for an installer, the answer likely could be the first rule for new Linux users: don't download anything, use your package manager - possibly to get Lutris in this case :)
@@elsiehupp If that were the case, he surely must've heard about Lutris already.. Its exactly made for people like him, it downloads and runs the scripts for you
I think he got sent on a wild goose chase by either some troll or someone who knows even less about linux than he does. By my reckoning, this is a blind leading the blind situation.
this is incorrect. It's not GitHubs fault. Github is not supposed to be used the way it's being used here. Its the developers fault for making the user do things like this.
It obviously became the user experience. It wasn’t obvious to him how to install what he wanted to install. He wanted to browse the web and just have a link that would give him an installer instead of doing it how you would in Linux. Aka. He probably didn’t find it packaged up nicely in package search and went to Google finding this. He is more technically inclined than most users just starting to use Linux.
8:40 "Folder structure is archaic", well, in that case, graphs are archaic, along with integers, calculus, the concept of zero, etc., and we should just throw them out of the curriculum. Just because its old, doesn't mean its bad. There is a difference between defending users who struggle with a poorly-designed tool, and defending users who are utterly ignorant. github is a powerful tool - whoever sent Linus to it is at fault, not github. It is the equivalent of telling a user to go to a CNC shop in order to replace their doorhandle ("Don't forget to bring the CAD file on a USB stick, and they'll get it machined for you in no-time!"). The CAD shop is not at fault - infact they may be a very good CNC shop - but the user should not have gone there in the first place.
I think that when he says "it's archaic", he wasn't saying that it was useless and should be thrown out. I believe by that example he was more baffled at people expecting you to know things that you don't have the general need of knowing. The professor shouldn't act so high and mighty if students don't know about folder structure because till that point in their life, things had worked in a way that they didn't have need of knowing that. His point probably being that Linux expects you to, and is very surprised and acts elitist when you don't have, very specific knowledge of certains things because not everyone is an expert of enthusiast. Sometimes they just want their things to run and they don't have the know-how or aptitude to tinker it till it works.
Archaic doesn't mean bad. It means that new ways of operating have replaced that thing for most people and that most people don't remember (or never learned) how to operate that way.
You are very right about that, I think my mom have used the same argument, that she just want to read her work email (in Linus case it was play games and not read email) and she is on a mac that is supposed to be user friendly.
I find this a kind of strange issue and something I would think linus would understand. This is the same process on windows you'll download an HTML version of the website unless you go to the raw page which is exactly why there's a button to make it available. There's no need to copy paste the content of the file
@@joelchrono but the platform just bc it's open doesn't mean it's for non-dev folk, it was for devs by devs, what did you expect ? For us devs it's totally fine & it works.
@@EverydayOrdeals devs in the livestream and in real life disagree. Git works, dont get me wrong, I use it too. Github not having a "download file" button is still dumb
Arguably, the file extension problem is a problem with the browser just using the file name part of the url to save the content it gets at that url. The interesting part is that if you follow the link and do "save as" there rather than "save link as", it uses the page title and adds an html extension (and saves other resources too). So even that is not consistent and confusing.
You're totally wrong... The URL has nothing to do with it. GitHub serves the raw code with HTML as the content-type, so the browser assumes it's html content. This is to prevent people from using GitHub to serve files from.
The thing is, the html page that contains html and the content of "script.sh" is a file named "script.sh", and it's linked to with a link that is displayed as "script.sh". So even if you mouse over to see where the link points to, the browser says it points to "script.sh", _not_ to a html page. It's perfectly fine that github is displaying the whole folder's content and has the file listed as "script.sh", but the actual file that this links to should be "script.sh.html" - so when you mouse over the link, you can see that it is not the script file itself, but a html page containing the content of the script.
in fairness, most developers can *very easily tell* if a script is doing extra stuff. now, obviously, one shouldn't expect one's users to *be* developers, but then, there are definitely distros aimed entirely at non-developers (I'm thinking of manjaro)
It seems like the problem is Linus wanting/needing to do things that aren't covered by these distros. For instance, something like GPU passthrough is so niche/hardware-specific that user-friendly distros won't really help.
Seems the guy doesn't understand the concept of video card drivers. Or maybe he thinks all of us average users get sent all our cutting edge basic stuff free of charge from our average cutting edge hardware sponsors.
And how would someone like my grandma know what to look for? The instant you have to review any kind of code, you are instantly shutting out a portion of the community who might otherwise use your product. You are then saying, "You have to be technical to be secure".
@@InflatableFriend87 wtf, why grandma?????, use something else then bro and having knowledge is just a another layer of shield that will protect ya from shady scam-pop-ups
@@ncb4_69 Here is the problem. Everyone wants Linux to be the gaming platform the finally gives Windows users an alternative. For Linux to gain support from all kinds of developers, it needs to justify that there are enough users on the platform to put in the time to be worthy of developing against. I'm talking gaming, but I am sure there are vast areas where this applies. Barley anyone coming from a pure windows environment is going to know what they are doing, so it would behoove Linux distro a to be more user friendly in the ways that really matter. The issue is that existing Linux users and devs are so elitist that they are blind to what user friendly means in the reality that everyone else lives in, so users are scared away and Linux sits on the sidelines on the user desktop market, overshadowed by systems that have any kind of clue to what makes a good user experience. I want NOTHING more than to live in a world where Linux is a first class citizen in the desktop/workstation market, but that will not happen without a culture shift.
@@flyingmonkeys96 No, but she might want to use Linux as her platform of choice for her competitive gaming experience. If she needs to accomplish something, it should be supported in the GUI and it should not need to be accomplished via someone giving her a script or code on the internet.
Usually that's not the download you want though. That usually downloads source code. Half of the time you actually want to go to the releases page to download the binary
It downloads a snapshot of master which is almost never what you want. End users want a release (source or binary), and devs want to clone the whole repository.
Also a software dev here, Linus is right. There should be a download button for single files. Github provides a download as zip link for the whole repo. There are many times I just want a file, and not the whole bloody repository (e.g. editor themes). Since the "raw" version is also made accessible via the browser, should just allow it to be downloaded and save the user a few extra steps.
@@imgladnotu9527 he did a fresh install of popOS and tried to download steam from the popshop which came up with an error so he did it through the terminal and it did in fact install steam but it also erased his DE. It's not entirely his fault if you actually watch what he did in the linux challenge video.
@@branflake6048 ive just watched it yesterday yea, its either apt's or popOS' devs fault for allowing such a stupid dependency "solution" happen at all.
@@imgladnotu9527 They did fix it, all you have to do is run apt-get update before trying to install packages. He went straight from install to download steam, it's understandable why the mistake was made but if he was following linux best practice it wouldn't.
11:20 probably its cuz most of the repos have licenses... so downloading a single file would be kinda sketchy for them to allow. U must download the whole repo
It has nothing to do with "kids these days" every major OS has index folders "optimized" for specific files. Phones do this as well but even simpler. It is a lot easier to have one folder optimized for picture files and their extensions to be stored in a specific folder for searching later this includes apps who default a subfolder in such. Finder/Spotlight does this and so doesn't Windows Search/Windows Explorer. It isn't just a personal choice of organization or not.
As a software and web dev, both front-end and back-end I find this video very cringe. I have never had the issues Linus describes as you can download the entire repo in a zipfile if you really wanted the files. GitHub isn't made for single file downloads. And the fact that he talks about the scripts that way is just wrong and is going to hurt peoples security more than help it. Most of the time scripts are just meant to save time, and you can clearly see what they do. However with closed encrypted software, there is no way of telling what is going on. If he just learn't the basics in Linux he could probably read the script and be very sure of what it did and on his own verify wether it's safe or not. Instead he starts blaming everyone for not including "newbies" when it seems like he hadn't even made a try to learn...
@@Rismose I can definitely see how Linus made the mistake he did downloading the file and I completely agree that github (and a lot of other git front-ends) should have a more obvious way to download individual files (it's one of the few things azure dev-ops does right imo). Yes, the most common use-case for git is downloading an entire repository (either cloning or as an archive file), but there are a lot of instances where grabbing an individual file is extremely useful. It's a rather trivial UI change, I don't really why some of y'all are so up in arms about Linus pointing it out. In regard to scripts - I also kinda agree with him there, but with few massive caveats. I agree that asking an end user, even an experienced on, to download and run a random script is far from ideal. And if you aren't an experienced user, it's a bad idea to do so. But it's extremely rare that an average new user is going to run into an issue that people are going to want them to download and run a random script. Most common configuration stuff is handled by your package manager, and the rest might require running a few individual commands. And at it's worst, this is still better than the experience of needing to download random third party unreadable .exe files to install almost anything in Windows. I don't know what specifically Linus was trying to fix, but I'd bet money on it being one of the many non-standard hardware/system setups he's got - in which case, I would be surprised if his experience setting it up in Windows was substantially better. At best he probably had to install one of those random third-party binary executables. Their aversion to wikis is fucking weird though. Like, yeah - people need to stop telling folks to RTFM and instead link to relevant pages with a quick explanation on how to find the relevant bit (if the page is long), but that information belongs on a wiki page, not in two dozen conflicting and out of date forum posts (a valid issue that I expect Linus to *also* complain about in the coming days given what he's had to say thus far).
@@notnullnotvoid if you would build a tool that can scan shell scripts for malicous stuff before you execute them than the Linux way would be way better. The algorithm would go through the entire code because it can actually see what it does, compared to the sandbox way windows does it. Then it could rank the code in safe, unsave, and malicous. The unsave would be code that maybe downloads stuff from the web and then execute it where you don’t know what the downloaded stuff does. While malicous stuff is what actually 100% is malicous. And maybe use a database of malicous and non malicous scripts and create a algorithm out of this. And when new common malicous scripts are out there, add them to a blacklist. This way is way safer than compiled shit. Then you just prompt the user if the script is save or not and then let the user decide to maybe run the script anyway.
All Products are Solutions; not all Solutions are Products The author of that script had a problem, fixed it, and used a free service to make that fix available to anyone else with the same problem. The script author and the free service aren't obligated to put the LABOR into making their FREELY DISTRIBUTED Solution available to anyone else as a Product with an "Intuitive user experience"
As software engineers we spend fair amount of time learning git/github. It's built for a specific need which is version controlling, downloading a single file might not be what they had in mind while building the platform / any other git based hosting server. So I guess that requirement is there now, they can add it as a new feature, which I think Microsoft will have no issues implementing because they have done amazing new features after acquiring, again might go unnoticed for someone who would only consider github as some file hosting service.
I prefer MIME check of actual file "extension" that just defined by letters of the filename. An image which is actual JPEG, renamed as "PNG", will be treated as a JPEG, and not PNG is a good thing.
**but it works that way on windows why cant it work that way everywhere? that's obviously the more intuitive way for my brain that grew on win 95!** /s
Does it actually do MIME check? If you click on PNG file that is actually JPEG, it opens an image viewer and tells it to open that specific file, but most image views don't really care for the extension. They'll just start reading and parsing the file and trying to convert its contents into pixel data that can be displayed to the user.
@@etodemerzel2627 it was just an example, but rename that image file to no extension at all, and it read the actual image file. Regardless, I don't understand their problem, as it isn't any..
Devs are routinely wrong about anything on the user end. That's why there is an entire progression around the user end. UX/UI because developers are 9 times out of 10 too far up in their own heads to not be wrong. It just comes with the territory. It's hard to be a subject matter expert and understand a non experts pov. This goes for basically everything in life.
@@wii166 Wow I didn't know how to use an editor. It has documentation? It must be so bad if it needs documentation. Why is documentation even a thing when our boy JD Gaming knows it all.
As someone with a degree in and experience doing UX UI, a big issue I see with the Linux community is the lack of recognition that a huge part of good software design is error prevention. If users are constantly making user errors in the software environment you made, that’s your fault as the developer.
yep - magic numbers and the "file" command are a lot better at determining what you're looking at than an arbitrary extension someone put on their filename
I can't wait to see what Linus is using because of the 3 years of dual booting with Linux and Windows. I never had to download a script to fix something. Then again, I just don't follow articles that say that.
I suspect the issue is that he's got a lot of unusual systems to configure, not the specific distro/DE he's using. My guess is the script was to set up/configure one of those unusual things, not to handle an issue a typical new user would run into.
I never considered downloading a script. Unless it's huge, you want to copy and paste it; you want to understand and see what you're running. It's good that Linux is clever enough to recognise that a file with html in it is html and doesn't just execute it as a script. If you saved the page with a browser button, the file extension was decided by the browser probably based on the end of the url.
FYI, this happened because the link you saved was a link to the Github UI displaying the file, not the actual file. So you did just save a webpage. If you save the link that says "view raw", then you would get the actual file. Hoped this helped! Also, when you're viewing the file through the UI, you can see in the address bar format is .../blob/... If you change blob to raw, you'll get the actual file.
I feel like Linus is misunderstanding how file-extensions works in windows. The only thing file extensions does in windows is telling windows which program it should use per default to open it. But you could in theory change a .html file to a .mp3 file and that would make it open it up in a program that has no understanding how to process HTML. This behavior is exactly the same in most linux DE's, but in the terminal the file-extension does not really mean anything. In other words. There is no real difference between how file extensions work in windows and linux. The difference is GUI vs Command prompt. For the one who really want to understand how linux knows what to do with a file, check out magic numbers, which is the first bits on the file that will tell linux what file type it is.
Regarding the HTML file not being treated as a shell script when it has a .sh extension, you wouldn’t want to run it as a script; the content has the wrong syntax. Btw, you can Ctrl+S after clicking the “Raw” button to save it as a script directly.
From a developer's viewpoint it truly is a challenge to design a UI for computer illiterate people as much as it is for a computer illiterate person to use something designed for developers, it's a double edged sword. And really you do start asking yourself at what point does simplicity start to harm practicality, in this case the software is for developers and the regular user should adapt rather than complain the same way as a dev should adapt to a simple impractical interface. GitHub devs just didn't see the reason in adding the download button since that's in no way more practical than using curl (since a lot of devs still hang out in the command line).
@@ncb4_69 It is considered a bad practice the use of the browser to manage a git project. The only thing you should do is: Download as zip or Clone or View or Pull requests etc. but never modify or manage the project from the browser UI, usually you use the IDE integrated UI ( with cloned one )
@@ncb4_69 1% or 2% of those leftover don't trump the 98% who use github for it's intended purpose. There's always someone who will be left out when you have a target audience. Github is a tool for developers. It's a specialized tool targeted at a specific demographic. An airplane cockpit is designed to be efficient and intuitive to pilots. Leftover peeps are not, and should not, be a consideration in the design process.
@@iraqigeek8363 If linux was more friendly normal people who use it wouldn't have to use github to get something as simple as game mode working or a effing overlay for their games. Simple truth is on Linux you basically have to be a developer or a total noob who lives in a browser all day like a grandma the rest of the world is left out
"in linux, file extensions don't mean file extensions, file extenios are a little hint of what It might be inside of them" sorry to break the news, but it windows, in fact, don't mean file extension, file extensions themselves are as far as the os knows, meaningless, file extensions _are_ hints of the contents inside the file, example: remane a random.docx file to random.rar and open it, it will open with no problem at all, because .docx files are just bundles of .xml files and other things like images that you placed on your document,and the extension just means "this file contains the files needed to be read as a word document"
When something that's being actively used for production settings seems "dumb" to you then maybe it isn't what's dumb... You seem like the type to call everything "dumb" when you don't yet understand it.
Just FYI, in Linux file extensions are for users' convenience alone. Linux, being smarter than Windows, autodetects the file type by its content, assigns the right icon automatically, and launches the program based on file content, not an arbitrary extension anyone can change. This has the added benefit of preventing executables from being renamed to .jpg or .pdf and run by unwitting users.
I suppose the idea is that if a malicious executable was renamed to .jpg on Windows (e.g.) then the OS would try to load the file inside a photo editor, which would often reject the executable as a corrupted image file instead of running it. Of course that’s not always the case, and caution should be used regardless when downloading any unknown files. It’s also an issue when moving to Linux that the vast majority of Windows users understand file extensions to be a guaranteed declaration of file type, and that Mac users often see files in the File Explorer with no extensions at all.
That sounds like dumbest thing ever. No one changes extensions, not even normie windows users. But having extension really helps in identifying file type
"The safest car is the one you build yourself. Most people shouldn't build a car." Linux is exactly like that. If you can't assess security, then you delegate that task to someone else. I agree there should be levels of noob-friendly distros, but the problem with Linux is that usually it doesn't 'just work'. So you need a level of technical knowledge to begin. And that knowledge should be more widespread, because the more people perceive computers as magic, the more exclusive 'simple' things become. E.g. folder structures
Part of the issue with computers is no one deals with matrixes in math until college. But week 4 of computer code is dealing with multivariable arrays. We have to teach math more effectively in school. No one needs to know about ferris wheels, everyone should understand how to find monthly payments for their mortgage.
"A label is not a label" because what you're talking about is the name, there's an actual label called a MIME type(or media type), that's the label you want
For this particular use case, any difficulty you have when directed to github is mute as per the service github provides you are out of scope of a new user friendly approach to Linux. I am a bit shocked at the reactions you guys have to this and wonder what actual distributions that claims to be new user friendly per the gaming perspective and look forward to see which ones you've tested. As others have stated correctly github or any other source repository are not ment for end users or non super admins, there is already at the gate an expectation that you are not an average user. If distros claims to be new user friendly and redirect you to a source repository the fault of assumption lies with distro/guide, not with the repository.
That line, about average user finding a photo on iPhone. I'm senior software engineer, hardware geek, car enthusiasts, tinkerer.... using linux for personal servers/desktop, macOS on work rig, and android phones. I can't find a freaking picture on my wife's iPhone, eventually when I figure out where it is, I'm having hard time going back to camera. IPhone OS is shameful, in comparison macOs is at the same time new user friendly and powerful for advanced users. Being unix based is really helpful and time saving for daily productivity work, especially when you switch across platforms. Windows is by far worse desktop OS.
They absolutely do not this is a similar issue in engineering people will misuse your product if you make something idiot proof they invent a better idiot there is no way around it.
@@shawno8253 If someone gives you in your hand, a medical suergery machine, would you be able to use It? Would you be able to perform a surgery with It? Do the developer of the machine make an intuitive design intuitive enough to do complex operations for general users? I find usage of colors instead of symbols unintuitive in Apple's os, but i don't see anyone complaining with Apple, instead everyone likes It couse they know how to use it
You are deliberately ignoring the context of argument. Here, it is more about first impressions and intuitiveness of product, since we are talking about how 'open' and 'beginner-friendly' a product is. One of the main features of Github, apart from collaboration and remote vc, is downloading of files, scripts etc. And frankly it is miserable at it. I don't want to copy whole repo just because I want a folder
You seem to underestimate the ingenuity of complete fools. Like me. I is complete fool. We all are. You cant honestly tell me youve never gone outside of the intended use of anything, both on purpose and accidentally.
A lot of tech people don't think enough about UX design. Good UX design makes a program easy to work with for all users of the target audience, including the new users of that target audience.
"..including the new users of that target audience." The thing is, non developers are not the target audience for git. Should they be? Debetable. Must they be? Nope.
But in this case, the user is literally the “Developer”. GitHub really have a great UX/UI for “Developer”. I don’t see how this is really the problem about how tech people ignore some UX/UI aspect.
@@csaratakij6339 Cause they really want Linux to be usable by everyone, thing is, that's not its purpose and that's not the reason why Unix was made, but anyone who says the truth about it it's just a toxic gatekeeper Kappa
Apple allies with the idiocy of not showing file extensions. For instance, photos are not files. However, if it is taken through the camera lens, it actually is a .jpeg, while a screenshot is a .png file. The Files app does not actually contain image file or the music file that one wants to use. Apple's Files app is so ungodly awful and pointless! Thankfully, I use Android which is far more intuitive.
I'm baffled that there are people not understanding a folder structure, seems like the most intuitive thing out there. Then again if someone as intelligent as Linus can't figure out what raw does it doesn't really surprise me much anymore.
Software developer here. I think this problem is being addressed completely wrong. Github, Gitlab, Bitbucket etc. are basically web interfaces for a git server. They are not meant to be used for downloading single files. Proper way to use it is through a git client which is way too complicated for a non-technical non-developer person. I think the problem is pretty much all GNU/Linux environments are being heavily dependent on users should be able to run scripts or configure themselves etc. Many of the stuff on GNU/Linux are not self explaining like on Mac. That is the real problem.
yeah, but it would be nice if there was a button to download the raw link
@@laurenpinschannels there is
@@fish1r1 Yeah, but it's named very obscurely, uhhhh, "Raw".
@@propellergarage it's not even a download, it takes you to a page where you can ctrl a, ctrl c, and then ctrl v into your preferred text editor.
Ahmet I think you have it right. They are source control tools meant for devs, not common users. That’s not to say common users can’t use it, but source control programs are completely different than someone trying to download from a public share drive or a web domain. This isn’t an issue with GitHubs features, it’s poor deployment and documentation on the dev’s part who is providing the source files (scripts).
The answer is that github isn't developed to address user, but developer needs. The usual workflow is that you clone the entire project(repo), which downloads a copy locally, then you make some changes and push them back to be merged into the original (a very simplified explanation). The whole ideology is designed to suit a developer workflow. I also end up copy pasting scripts off of it but it wasn't intended to be used this way and I doubt it will change in this regard any time soon.
Git != Github ... Even though GIT is for developers, Github is also a GUI
I'm a developer and I _still_ hate Github's user interface.
I agree with you. It's fairly simple to add that as a feature, but from my understanding it doesn't really align with what Github sets out to do. I mean, as a developer, I don't think I've ever have the need do download a project file. I either clone the repo if I want to use/modify it or copy paste the code I need.
Besides, if there is something you really need to download and use (e.g. packages, executables, zip files, etc.), they can be added to a release.
Some repositories are hundreds of MB. You're telling me downloading that is in any way preferrable over clicking a button?
Developers, users, who cares; no target audience warrants a bad user interface. One additional button won't make the UI that much worse than it already is.
New developers are immediately tripped up by that interface. It's not the worst I've worked with but it essentially carries a legacy UI that most experienced github developers know how to work with. As something that's supposed to encourage new developers it's clearly not good enough.
Professional developer here. While it can be considered user error, I made this mistake at least once before realizing I needed to do something else. There's roughly 2 ways that I normally do this now. Either using curl or copy and pasting file contents using GitHub raw. To Linus' credit, he taught me probably the majority of what I know about computer hardware.
I think he just right clicked on the actual code bit and hit save as
@@paddy1414 Yep, that should be
as a non-coder, he's just arguing why there's no download button to download the file directly instead of copy pasting the text from raw. For me that's never been an issue.
What he's talking about is getting files as a non-technical user, its actual pain, as you have to clone that specific directory or download the entire repository. If you save it normally, it will save as an HTML file.
He wanted to download a script and instead of it downloading as a script it downloaded as an html file i think
"Younger people don't have a concept of file structures." These kids grew up using mobile OS', which almost go out of their way to _hide_ the actual file structure. When you can't directly access files on your phone, you end up having to search for them, or use the dreaded screenshot reupload method. But you also lose the concept of what a file actually "is", because you are prevented from seeing it. It all has to be unpacked inside an app.
My FATHER had been working for years with Windows systems and still thought the pictures on his phone were "in the gallery", as opposed to being in a folder. It's not even just them kids. At this point I'm turning into a dinosaur because I refuse to use cloud apps for them to go and save the files wherever they want or in some cache folder in the /Android/data/com.whatever instead of just downloading them to the /download/ folder. So I end up just grabbing the cable and plugging into my pc for any such activity.
Kid here, I use a flip phone, block js, and run LFS.
@@puntodelectura i had the same issue. Like I've been using PC'S since the 90's but these phone OS's confuse the hell out of me.
@Tyler not if apps insist on saving in some obscure folder I have to scroll to every time, or refuse to save to my removable storage so I have to manually copy the files. I'm sure there's some setting or workaround I'm missing but that kind of shows it's not as intuitive.
took me ages to find my recycling bin for crying out loud XD (and that was only after some1 had to point out my file explorer is under the Samsung icon I totally ignored)
recycling bin is under Samsung->my files and then I have to press a big button that says "analyze storage" than I have to scroll down and find it in a list of all my storage stuff....
tell me that's as intuitive as windows where it's been on the desktop by default for as long as I can remember. (and as I've shown by my inability to use phones I'm obviously a Boomer XD)
It's not hidden, most phones come with a file explorer app. They should encounter it doing a basic task like moving pictures to the SD card. It seems unavoidable if they spend their life looking down at a phone. I think the real problem is lowering standards at universities.
Hey, all. Linus wants to clarify the statement he made in the final seconds of this clip. He did not mean to say that EULAs are unenforceable. He meant to say that there are often clauses, provisions, and terms in EULAs that would be found to be unenforceable if ever challenged in court that users can be ignore. For example, the EULA of many products prohibits you from reviewing that product. Thank you for the opportunity to clear this up!
LOL they actually try to prevent users from reviewing the products they buy? Please provide me the names of some products with review-bans in their EULAs so I can knowingly and intentionally violate them. I'm serious. I want names.
IAAL, and EULAs with problematic terms like “you can’t review or benchmark this software” are indeed enforceable, provided the terms are delivered in the proper way (this depends on jurisdiction in the US, as well as state law in some cases). The consequences, should the licensor choose to enforce that provision, are probably minimal to the licensee who breaches that term. It would most likely result in a termination of the license rights for that licensee, meaning they can’t use that software. But, if the licensor could show damages as a result of the breach of the license, then monetary damages could be assessed against the licensee in this example. The likelihood is pretty low in the grand scheme, particularly for individual end users who don’t have much financial resources to be worth the legal fees to enforce. But for someone like Linus/LMG there could be a risk of breaching a license provision such as “no publication of benchmarks or performance metrics.” Point being, even arduous and obnoxious EULA terms are usually enforceable *if* the EULA as a whole is properly delivered and accepted by the end user (in the US). So, the clarification above improved the point Linus was making, but it’s still incorrect. And yes there are arguments about contracts of adhesion that go to enforceability, but given the answer is usually “if you don’t like the terms, just don’t use the software,” a court isn’t likely to side with the end user by default as implied by this clarification. You still have to follow the license. And we all know no one reads them. I’ve written EULAs for clients, as have my peers, and we don’t read them either. We generally know what’s in there, so you just shrug and click OK because it’s not like you can negotiate a click-through agreement anyway. Negotiated contracts are another story. As usual, this is not legal advice, nor should it be taken as such, I’m not your lawyer, and if you need a lawyer please contact one in good standing through your local bar association.
Saw the twitter chain that led to this pin, awesome that you're so upfront about clarifying!
What, you mean all those games which have a EULA which say that using 3rd party software in conjunction with the game may get your account closed/banned/deleted are going to be unenforceable??? Who would have thunk it. And here was me thinking I was only ever allowed to play Microsoft games on Windows. Maybe I'll just ignore the EULA and break out a game by Blizzard.
@@riskin620: I'd be interested to know if there is any precedent for a EULA clause banning product reviews actually being enforced. I doubt there is any such precedent, at least for consumer-grade products, because EULA terms are unilaterally dictated by the product manufacturer, and banning users from _fairly_ discussing the operation of products would very likely be ruled an infringement of free speech. Unfair reviews and false performance data would already be prosecutable under existing libel laws and don't need a EULA clause banning them.
I think the file extension issue would probably happened the same on windows but the underlying problem is that github isn't designed to host files for "normal" users to download. (And if it should or shouldn't is a whole different issue)
So you make the process intentionally difficult so that normies stay away?
Then the problem is with the people who write scripts for Linux as they have chosen the wrong site to host their scripts
@@shawno8253 exactly!
(And as Linus said, running "random" scripts from the internet isn't the smartest idea anyway)
@@codycast my point was that developers shouldn't direct users to github to download things. Or at least link to the release page or a direct download link
@@codycast It's not intentionally, you make it intentionally designed for developers cause it is made for developers. They don't care for non developers, like for real, and they should not be. When you make a car, do you design it for a dog or for a human?
Git was designed by developers for developers. Scripts are a bad user experience. But they're a better user experience than running .exe files that can contain virus's.
depends. For exe files you have tools that can assess them like virustotal. If you know what you're doing yeah scripts are way safer but again they're talking from a perspective of a noob
Scripts are a bad user experience if you don't know how to use them. And if you don't know how to use them, you should learn it.
@@rajder656 VirusTotal cannot assess .exe files. They tell you what various anti-virus softwares thinks the .exe contains - to assess it you would have to decompile it. The script you can just open and read.
@@Reichstaubenminister Yeah anti-viruses just compare your files to other known dangerous files. I guess it could be nice for new users to have a program that tells them before double-clicking "this script removes files/connects to the internet/requires webcam access/etc". If you are using a terminal I'd assume you can read the script yourself
@@Reichstaubenminister it's not a be all end all solution but its way more noob friendly than assessing the script for yourself
13:33 The expectation that open source leads to better security isn't brought about by each individual user scrutinizing each script. It's brought about by each script being visible to everyone so that *someone* will notice malicious code.
Easier for someone to recognize malicious code in a script than a random exe
@@hippo_o_matic7985 Easier for me to create a random malicious script and get it executed by a linux novice than for me to create a random malicious exe and get it executed by a windows novice
@@shivangswain Easier for every developer ever flag it or remove it from repositories lists to protect novices
@@shivangswain Is it really? Making an .exe or a normal script is comparable in difficulty.
@KingInTheNorth you should learn to read
I'm sorry, but the fact that "Save Page As..." saves... well, the page, as displayed in your browser, shouldn't be a surprise. I feel like this is something non-technical users should be able to understand too, at least after having it done once? Because it literally works the same on any page.
That is true, and a user as technical as Linus ought to know that. (Since it has nothing to do with Linux or with Github, it's just how browsers work.)
However, I do see Linus's point that this could be better. It should, at the very least, save the file with an .html extension, since that's what it is. It could also help if it was called "Save HTML As..." rather than "Save Page As...".
Even better would be if there was an option to save the underlying content, since HTML is just a way of presenting the content to the user. But a "Save Underlying Content..." option would require new Web standards, since the browser and the HTTP server would have to work together to implement this.
@@electronics-girl It's not trivial to determine what the content that is desired *is*. At that point, you might as well click on the raw link though.
@@electronics-girl I tried "Save Link As" in Firefox after someone brought up the topic again, and the save dialog had "HTML document" right above the Save button. Doing "Save Page As" does "Web Page, complete" for HTML and "plain text document" for raw source file pages, which makes sense since Firefox can have many kinds of media opened as tabs, e.g. pictures/PDFs/mp3s/webms and doing Ctrl+S on such a tab will just save that, which is not HTML at all. I don't see how it could possibly be clearer, honestly. I hope the clip ends up in the video because I'm genuinely confused as to what Linus saw and perhaps overlooked.
@@Birdulon Why do you assume he used Firefox?
Except when you right click a hyperlink to an mp3, or a pdf, or any other file.
File extensions are just suggestions to the content inside... on every platform. I can, right now, go into Windows, rename a .jpeg to .txt and now the thumbnail will change to text file. That argument was kinda dumb.
True, but windows hides file extensions by default, and then if you do try to change a extension, windows will pop up a nasty message about bad things happening if you continue.
@@kingderderder kinda annoying if u know what ur doing.(hint:this is really basic, even for when i was a normie)
file extensions are just a quick way to identify the encoding of a file. If the file is not utf-* then the first few bytes specify what exactly it is.
Thing is linux won't change the icon for you. It'll still recognize that it's a JPEG image even though it's not called .jpeg anymore. Mac actually does the same.
File formats have their own ways of identifying themselves without relying on names at all, it's only Windows that doesn't use them.
Software Engineer here. The reason there isn't a download button is because Github, and Git are primarily (99.9%) used by developers. There is in fact a download button, but for the entire repository, as this is the function that most developers would need if they needed a download button. In reality, most developers aren't going to use this, if ever, and will instead use git clone, as that's effectively the same thing and they already have access to git right there in the terminal.
Honestly I don't see this as a problem with Git or Github, more a problem with whoever wrote the tutorial / guide you were reading, and failed to inform you how to acquire the script with git and then how to execute the script in a beginner friendly fashion.
Edit: Also regarding the point of 'reading the script to make sure it's safe', isn't correct. Being open source means that the code has had potentially more eyes on it (ideally eyes without code biases / devs who have worked on that particular piece of code) which can result in bugs / exploits being found where they might not have been if the source code were closed. Developers aren't expecting each and every Linux user, or any other user for that matter to inspect the source code.
Also many repos, downloading just one file will be useless without the rest of the repo. Making it harder to download just a single file is almost a safeguard against users who don't know what they are doing just downloading a file and running it. Most users who know enough to safely run something like that also know how to clone a repo. Its about building the UI for the target user. Kinda like when LInus said, you can't be mad about high end graphics card prices since you aren't the target user. UI affordances should match the target uses.
Then we need a linux distro that has all the functionality of windows without having to use github to get a overlay working for your game or to enable game mode.
Not only is security improved by having the script contents fully visible, but it also becomes possible for others to add/improve/modify/maintain the script long after the original developer stops caring. This just simply isn't possible with a random closed source .exe.
Exactly my thoughts, thank you.
If you're not meant to use github as a user, then why do devs and scripters insist on putting things users need on github. The whole open source community is cursed
There is a download button, but it says "Raw" instead of "Download".
Interesting comment about the legal system and EULAs. Now if only we could apply the same rule of "nobody reads things that long" to congress.
Congresspeople don't actually read most of the bills they vote on, so, yeah.
I feel like the criticism of github is quite unfair. This is a tool aimed at developers. For us, clicking on a file and getting syntax highlighting and the options to see diffs/blame are far more usual uses than pulling the file down locally. If we want the single file we know you click raw and save it. If you right click and save link as, it's going to save the link.. The link to the page with syntax highlighting!
Maybe a "Download file" button could be a nice addition (and even in the file list next to each file).. But, I think it's important to respect who the website is aimed at.
@@r00tyschannel52 Agree. Like I'm not an expert in audio/video, I'm 100% positive that I could say the same thing about professional AV equipment. I wouldn't (and probably shouldn't) be taken seriously if I complained about a "bad user experience" when trying to use a $2,000+ camera. I'm operating as a consumer/amateur and the product I'm using is meant for professionals/enthusiasts, of course I'm going to have a bad time.
@@r00tyschannel52 "This is a tool aimed at developers" is a complete cop-out. What you are saying is that "this is meant only for people already trained on how to use it because it doesn't follow web conventions" which is exactly what Linus is complaining about.
@@Spookyhoobster the problem is that a power user needs a script to do something and gets sent to Github. The solution for the camera is to add an auto setting on one of the 17 dials that lets the camera act like a consumer model until the user gets comfortable with the manual settings. That auto setting is analogous to the download button and yes I know that setting is already on a number of cameras.
It being an "extension" is a feature of windows or other OSes. it is actually just part of the name of the file.
Exactly... so much misinformation on that subject. Some folks believe you can change the actual format of a file by just changing it's extension.
Even Windows has been trying to get rid of it for normal users, file extensions are hidden by default.
Same with the folder structure that they talk about, Android and iOS has hidden that from the user, and Windows is heading the same direction. Users are not meant to need to know about file types and folders, since most people just want to take a picture and sort it in an album or send it to their friends.
And I agree with linux's approach to this. I don't want the behaviour and contents of the files to be linked to the name of the file. I want to be able to name it whatever I want to name it.
@@cletusthefetus23 Some programs will save a file in a different format if its extension is changed, but this is not universal.
I used to argue against file extensions. however, I find them to be much nicer than having to infer everything with the `file` command. I used to save text files with no extension all the time, but these days I give everything an extension to save time on the terminal later. it's often made up on the spot, but then I just use a whole word. (it's not like that's any different than windows, anyway.)
Linus keeps repeating the word "Developer", "im not a developer", or you have to be a developer to do this but, you keep missing the main point that GitHubs target audience/users isn't regular users downloading single files. It's targeted at developers who upload entire projects.
Then, Linux is not a user friendly system that most people purport it to be if even a semi-poweruser of computer systems struggles with getting some basic functionality to work on it.
@@sbstratos79 it's not Linux fault that the person who did the tutorial used github to host the script file. This would have happened in windows too if the tutorial also pointed to github.
@@texboy98 I was forced to use GitHub the very first day I installed linux because my graphics tablet wouldn't work out of the box with linux. This is a very common scenario for most new linux users. If linux developers are the ones forcing an average user to use GitHub just to get some basic functionality working on their pc, I don't see how you can absolve Linux of all the disadvantages of GitHub and related platforms.
@@sbstratos79 I was as noob as you could get and figured out how to get scripts like that in about two minutes. This guy's a drama queen just looking for clicks on his tech god channel.
@@sbstratos79 no... a very common scenario is a new user would know what a graphics card is and try a different distro or look for the proper drivers for it.
Git repositories out there weren't made for you to get a single file in mind. It's for downloading the entire repo, either with cloning it, the download->zip button, or on the Releases page.
@@janithcooray5546 Fair. But I was talking more about git than github.
A great example of “Someone seems to know a lot - until he begins to comment on something in your major.”
sound like ya are an 80+ old uncle with shit ton of experience in IT (or in linux)
That's why I HATE when somone calls somone stupid. Like we had a friend who most of the time did poorly in school and wasnt very coordinated but the way this girl could draw and cook was unrivaled. Sure she wasnt the brightest in math class but if you wanted to make muffins or have some bomb art to put on your walls you know she was the girl to go to because that's wht she did. Just because you dont see what a person's talent is doesnt mean they dont have some helpful skill. I mean, usually
Yeah this is really hard to listen to.
@@ncb4_69 mate, it's literally his job to be informed at least on a surface level. If there's even a minimum 50 non dev users downloading and running something off git repo, there's a readme. Why are people unable to somehow read at least a paragraph of documentation? I know fuck all about code or Linux but I've managed to not fuck anything up just by reading the couple of lines that the devs write.
Exactly. Linus is 98% bluster and bull
GitHub is a poor example, it’s not designed for everyone. It’s for developers.
Too much hand holding and good UX adds so much abstraction that things like file structure become alien.
If computers are going to continue to be a part of our every day lives, I can’t comprehend why we haven’t made this required curriculum in schools.
Most people dont need to know these things and most people including myself wants everything to just work and thats the way things are going.
@@shawno8253 I absolutely agree that most people just want things to work, as a developer myself I still hate tinkering with things if I go in with the expectation that it will just work.
That being said, I do think people need to know these things. Every career field (eventually) will go digital, and even if that doesn't happen in your or my lifetime a basic understanding of these systems will be crucial to have any hope of moving forward.
@@shawno8253 Everyone wants things to "just work". If you have some understanding of how it actually does work it will "just work" for you more often.
Github isn't for developers. It's not the problem. The real problem is that someone decided it was acceptable to direct non-developers to use github to get something done.
Well yes, of course Github is gonna be a weird experience for someone who knows nothing about git, but that's also not the intended user
Exactly.
Exacta
what if your a new intended user it will still be as difficult and this excuse gets thrown out the window
@@shawno8253 The intended user is someone who already knows how to use Git and if they don't, they should be willing to learn. Github is a platform for Git, so surely it's fair to assume that the user knows what Git is, right?
@@shawno8253 The thing that Linus often ignores is that while the perspective of the non-technical user who thinks that learning something is too much effort is a perfectly valid perspective, it's also not the _only_ perspective there is. And when it comes to professional tools like Git and Github, it's not a perspective worth considering
File extensions are a completely arbitrary concept, in fairness. The fact that some operating systems decided to assign significance to them, quite a while after file names were already a thing, does not make it any less arbitrary.
Waiting for the day Linus discovers he can run his script without any file extension at all! 😮
Well just think of it as a header file that can tell the system what to fo with it by default.
@@evandrofilipe1526 Yeah, a completely unnecessary concept hahaha
@@SnakePlissken25 ye bro why would you even want to use it
In fact im deleting them no-
....
@@SnakePlissken25 It's useful when used with a GUI. The OS doesn't have to read the file off the disk just to show you an icon representing the file type or to pick a program to try opening it with by default. Sure it's not needed for command link operations, but that doesn't mean it has no use at all.
I feel like Linus and Luke are kind of talking around the problem until about the 12 minute mark. Users shouldn't be expected to download and run a script of any kind, ever. It's not a great user experience and has a ton of security implications. The fact that GitHub doesn't have a download file button is tangential to the actual issue.
I'll also hit back at the "these guys have degrees but are making shit UX/UI" comment. Linux and open source are mostly built on volunteer labor, and you don't get to pick a team with a UI/UX guy, a frontend guy, and a backend guy, you just get who shows up. The idea that these guys are smart and should build good software falls apart when they have to work an actual job to sustain themselves.
Also, Linux development is -- much because of the volunteer labor -- decentralized so there is no management to rule that the "correct" user experience is the one drafted by the designers. If I'm a developer and I disagree with the design I'll probably not work on the project... or will fork it and do it the way I think should be done.
>Users shouldn't be expected to download and run a script of any kind, ever
But what if I really want to? I mean let's say I bough a laptop without a switch/predefined Fn key combination to turn touchpad off. How do I turn it off when I don't want to accidentally touch it? In windows I need to open device manager, find the touchpad there and disable the device. Then I have to do the same to reenable it. Each and every time I need to switch my touchpad on and off. Manufacturer says you don't have a shortcut, so you don't get a shortcut. In linux I can just write a script, bind it to any key combination and be done with it.
What if I need to batch convert a bunch of images? Or fix id3 encoding in a bunch of music albums? Is downloading a random application off the internets to do it safer than running the script you can actually read?
It's all good and fine to expect to never meet a script, but what if you run into something niche or unexpected?
Like the silliest thing I've personally experienced was, of all things, with a mac. Parents wanted a local backup of their kids iphone (as in, not cloud, because backing up 200+ gigs into a cloud is hella fun). The kid has a macbook air. But the problem is, it's storage is smaller than the iphone one. So external drive should be an answer, right? Nope. Apparently Itunes doesn't have an option where to back up TO. Yay! Good thing symlinking the destination is an option (as in opening console and writing a script-lite. On a mac). All the mac users I've talked to said you're doing it wrong, and physical backups are dumb, and cloud is the future. The idea of choosing backup destination was not implemented by developers, so you should not want it or try inventing it. Period.
As long as you stick to experience-as-intended-by-developer, you don't really need scripts. The problem is there are things that were not intended, and in linux you at least have an option.
@@infine-8222 You know, it is true that Users shouldn't be expected to download and run a script of any kind. If there is a necessity to do it for something that is not a specific case, then that is bad user experience.
Lets go with the Touchpad example, why do you need to turn it off and on? Is it because you are using external peripherals? Or maybe you are running it on a server and don't want anyone to touch it or something? Because if that is the case, then Windows options are as valid. Say Average Joe want to turn off its mousepad and googles how to do it, if he were to be presented with Open the OS Device Manager -> Click on the touchpad -> Disable it or Download this random script from git -> Open terminal -> Run it. Which one sounds less scary? Personally for me I think that the first one is more user friendly. There is a lot of people who are scared of opening that black box just because it looks technical and "scary". Don't you think that they will feel better with a UI that comes with their system?
As for the parents example, the fact that the family had to ask you, someone that as it seems has technical experience on the topic, for help already tells me that its not the intended path and it should have been addressed before it happened. Maybe it was because they didn't wanted to save to the cloud before, as in Weekly or Bi-Weekly for example?
Don't get me wrong, I'm all for full customization, all options available software. I love to be capable of doing anything I want with it. But I also understand that it is almost mandatory to give the user as little reason to go out of their way on the software as possible
Git project is not just collection of text files. It contains a history of all changes and multiple versions of the project.
file extensions are still functionally the same on most linux DEs the difference is that naming something .exe doesn't make it executable, instead executable is a flag on the file like "read only" in windows.
I didn't know that, and it explains why I've had issues in the past. Thanks for posting!
Yeah, makes more sense imo once you know what you're looking for. But until then it's a little confusing
That's not entirely true - Windows uses the extension alone to determine what app to open and/or run a file in. Linux uses the extension when opening most files or running a binary blob, but for running text based scripts and such, Linux generally uses the first few lines determine how to open it and falls back to the extension. I can use any extension I want for my bash, perl or python script and as long as the headers of the file are correct Linux will know how to run it.
That's probably what happened with Linus - he saved an html file with a .sh extension and then tried to run it. Linux looked at the headers and said "wait, this is an hmtl file, not a bash file" and opened it in a text editor and/or a browser instead of trying to run it. The first issue is something that's super common for novices in Windows (though not usually with files from github), so calling it a "Linux problem" is kinda weird imo. I'm not sure how he expected Linux to handle him trying to run the file though. It's definitely more of a UX issue for github more than a Linux issue.
I don't consider the "but github is designed by and for developers and you usually download the whole repository, not individual files" excuse to be a good one - there are a number of git front-ends that have an easy to find download button for specific files, because downloading an individual file *is* valuable sometimes for developers.
Most Linux GUI file managers use the mime-type of the file to determine what to do with it, not the file extension. Problem is that the mime-type is not saved anywhere, it's guessed. Sometimes based on the extension, sometimes based on the file content. So you can get funky results sometimes, especially when throwing rarely used file types at it. It can of course also save your ass, as demonstrated here by Linus, without that feature he would have been trouble shooting for quite a bit longer wondering why that script won't execute, but the file manager told him straight away it's .html.
As for the executing part, you are correct. Execution is a file permission that needs to be set manually and that won't survive a download from the web (it will however survive inside a tar.gz), it's not determined by the extension.
@@grumbel45 not sure why he was unhappy it wouldnt run the html file. It could have caused problems and possibly done some wild bash stuff
I've just started university, and already I've been horrified by how many people only use the desktop and the downloads folder to save stuff.
lots of people their only prior experience was with their phone or tablet where you just search for everything anyway, so they save files in the default location and use search to find everything.
well its ok untill they have lots of stuff, and almost similar names...
then search everything is messy as hell
"horrified by how many people only use the desktop and the downloads folder to save stuff." -- DUH, that's where its supposed to go
@@firstname4337 No it isn't, it's bad practice. GNOME was right to get rid of desktop icons and the downloads folder gets too cluttered
i'm a bit obsessive about this. i always try to keep the downloads folder as empty as possible and classify everything in folders. but then i'm a software developer so i'm biased.
I do that, although I know the relative locations in the desktop. If something is important that I may need for more than a semester or two I save it into a folder made for that subject in the programs folder
This is ridiculous. As a software developer who regularly uses GitHub, it is not braindead that when you download a link to an HTML representation of the file, it downloads as an HTML file. How is that braindead? You are not meant to download a file that way. If you want the raw file, you click on the Raw button.
I'm a Linux user but this seems like a very accurate description of what you get when you Google for help. People assume that you already know lots of stuff rather than walking you through step by step.
and ngl the linux experience is miles better with chatGPT
A linux textbook would be a good purchase
Not understanding folder structure is not a big deal. Not being able to comprehend an organizational structure on the other hand is a problem.
"Save link as" is a user interface design issue. One of the best things I ever read on the Internet was that "Users ignore design that ignores users."
"Users ignore design that ignores users" is an absolutely beautiful quote.
Based as fuck quote.
You can hardly blame GitHub for "Save link as" being a UI design issue when that context menu is part of the browser.
@@cjnewbs You totally can, though. There are plenty of ways of designing a web page where you can't right click certain elements like you normally can other elements. Most of the time its a pain in the ass, but here it would be genuinely useful. Furthermore, there are even ways to add your own right click menu, like Google Drive does.
@@FlergerBergitydersh Does anyone actually use 'Save link as'? Seems like people just complain about having it... Because if they actually used it they would've known that it's a part of the browser and has its own behavior. In other words, it feels like a relic of the past.
to be fair, github (and any other git host) are not intended to be used by non-developer. It's purposely designed that way.
So Its more like. "If you are not mastered in this thing. You deserved to be confused" type of vision?
@@MethmalDhananjaya more like "The Right Tool for The Right Job"
It's like comparing a car and a train. You can't say trains are badly designed because it can't take you straight to the nearest convenience store. It's just not designed for that purpose.
@@skinnyfish But in this case your metaphor is bad. Clearly the conductor pointed him to github as a solution. Trying to get one person across a way doesn't change the fact the passenger ended up sitting on the floor when they were never given a seat for their butt.
@@christopherfortney2544 that's why normally "the conductor", or the repository owner in this case, never guide the end user to download files straight from their github repo.
The fact that linus somehow ended up in github and trying to download a file itself is weird.
@@MethmalDhananjaya there's literally "git" in "github". if you try to use github outside of git then don't expect the best experience. and to make it even worse, there actually is a download button, I ironically realised that thanks to this video.
There are lots of things that are non-intuitive that you "just have to know" on Windows and MacOS, too. Like on Windows, the fact that there is "Settings" and then there is "Control Panel"... very confusing. And on Macs, there are so many non-discoverable "tricks", like knowing what modifier key to hold down to get something special to happen.
Looking at you macOS screenshot.
Yes but people forget about those things because they've been using Windows/MacOS since childhood. I've been using Linux exclusively for close to 12 years and jumping into windows there are things that confuse me and I have to google around to find how they work.
True
Or just don't use a version of Windows with a separate 'Settings' and 'Control Panel'.
@@FlyboyHelosim Which version is that? I was having this issue on Windows 10.
New users who aren't used to windows will have a lot of user errors aswell. You're just trying to apply your windows experience to linux. Sometimes things just work different in other environments.
Newbie friendly and efficiency for the 'pros' sometimes clash. The efficiency for the 'pros' will always win out.
Isn't that the point though? I thought their entire experiment was supposed to be documenting the experience of a seasoned Windows user (particularly a gamer) jumping ship for Linux.
@@lucassatie Yes sure, but they can't expect to apply windows logic to the gnu/linux world (altho most is kinda compatible if you use a de like KDE). Its a product mostly developed for and by the technical audience and as a result, its a technical thing.
As a previous hospitality manager I dealt with a lot of training in a fast-paced environment. The absolute biggest flaw in most of my colleagues approaches to training a new hire was not realising that 'common sense' is learned.
To train effectively you need to understand that going into any environment that someone has no experience in, they do not have any notion of the 'basics'. This applies to any new experience training and by extension any UX/UI new customers will interface with.
Take someone who has 100's of hours in FPS games. The idea of weapon handling should be 'common sense', right? Now give them a real, unloaded and empty gun to shoot. They likely won't know how to load the magazine, let alone how to chamber a round, take the safety off, release the magazine and unchamber the round to return the gun to a safe state and that's just the basic manual of arms.
I don't really have anything to add here, I just love that it starts with the hospitality business and ends with guns. Sums up everything I ever heard about the hospitality system.
@@phil6531 Hahaha I wanted to make a metaphor that was 'relatable'. Could have gone with 'learning to drive car after racing game' I suppose.
Common sense is _partly_ learned. Each new chunk of common sense a person acquires is built upon existing knowledge. Any time a completely new paradigm has to be learned, common sense fails.
I’ve been saying since I was a lil boy that “Common sense” ain’t so common. Cause some people do some really dumb things. I think people just need to keep in mind what it means to be new to any domain, and that it takes time to move from being a novice, to intermediate, to mastery.
@@j340_official: Rene Descartes once said common sense is the most evenly distributed commodity in the world, because even those people who are hardest to please in all other respects don't wish for more common sense than they have.
There's a "raw" button to get the raw file URL...
Raw is not a normie friendly term tbh, if it said "get plain text" or "view original file" it would be better
@@joelchrono The issue is that "plain text" isn't right because it can be a binary file, and "original file" could mean before an edit or something. "raw" means unprocessed/unformatted, "raw data" isn't a technical term, is it? I can't think of a better name for this
@@joelchrono By normie you mean people that trying to fix obscure Linux problems by downloading single script file from github?
When was the last time I had a folder inside a folder with a bunch of files inside of it? Right now, because it's useful to organize things. It's also still that way on windows, right now. That it's not that way on phones and tablets doesn't mean that the desktop user experience needs to be downgraded to match phones and tablets. Phones and tablets were meant for different things than desktops and no amount of trying to force them into the same space as a desktop is going to change that just due to how you have to operate them.
Yea, I agree with you .. initially I thought I heard it wrong
exactly. The people using phones or tablets as their main devices are usually the ones who really have no understanding of advanced computing. Phones and tablets are easy, limited and secure (meaning user error is minimised). The majority of the people maining a phone or tablet would probably be overwhelmed by a desktop OS.
I think he was talking about physical files and folders
@@SirVer51 Even then, I still use them. I have one of those cabinets with the hanging folders sitting in my office that I use to keep track of hardcopies of various things for home and work related stuff. I've run into situations where I can't just magically make something that's stored digitally appear immediately when I need it for various reasons, but I could walk into my office, pull the drawer open, and pull the hardcopy of whatever it was, so I keep things like that around.
Just because it's an older organizational system doesn't mean it's worse. I'm not even in my 40's yet and I still find hardcopies of things far better in many situations that trying to track down the digital version of whatever I'm looking for.
@@Ashendal He didn't say it worse, he says nobody does it anymore, which is true-you're in the extreme minority of people who do it outside of work
The thing is, using github as a developer myself all day, what you describe *is* user error.
What should be focused on is; "Yes, it is user error, but this is not user friendly" and that is the actual truth here.
as a developer, if a user cannot not figure out how to use your product/service then that is completely on your dev & design team. Design should be intuitive from top to bottom. When you open any, literally any web browser, everybody knows how to atleast basically use it and trigger it’s main functions. All these people in the comments sounds like Apple with the iPhone 4 (“you’re just holding it wrong”). No, the users aren’t holding it wrong. You made a product that doesn’t work with the way a majority of users hold their phone.
Further, just because we are developers doesn’t mean we cant have enjoyable UI’s for the products and services we use. Everything doesn’t need to be super technical just because what we are doing is super technical.
This is the main problem with Linux. Linux will never take off for regular users in the desktop space until a regular user never needs to know that a terminal exists. When you use windows or mac as a regular user you can go decades and never need to open terminal. Look at android (mobile linux) the reason it is so popular because Google took the complete opposite approach that every linux distro does. Yes, you CAN get technical in android, but the regular user never needs too.
Aside from pull requests, most developers access github from either the command line client , IDE or standalone desktop client. Some IDEs support raising pull requests directly in the IDE.
@@andrewgrant788 that isn't an excuse for bad new user experiences
@@anthonyschroeder521 The point is that the majority of Github user are developer atht do not use the webpage GUI, so there is no really an incentive to implement a feature for a audience different to you target.
@@HeyItsHades can we please *not* build _everything_ for the lowest common denominator? It’s a waste of time and makes life miserable for those of us who are not contented with being idiots.
Git gets easier once you understand branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space
XD
oh yeah, I finally understand monads!
Ah yes every dev has a PD in maths, just so they can download scripts faster.
This.
lmao.....
linus: *downloads a webpage*
linus: "but I'm not downloading a webpage!!!"
Clicking "Save Link As" on what appears to be a file link should not result in downloading a webpage with the file embedded inside of it.
It's not user error, it's developer error. But good luck getting most developers to admit they misunderstand how user interfaces work.
@@deusexaethera it's not a part of Githubs UI though. That is a browser feature that isn't meant for this purpose.
@@linuspauly2380 yeah it's just his ignorance and him acting he's too good for all of it instead of learning things you don't know like normal people.
I wonder if that's how he tries to download TH-cam videos
funny thing is Github's error, the raw button should just be 'Download file' and not even trying to preview it, just download the file from the repo. If github was having an annoying popup message in pure RED background with white letters that said: 'github repositories are meant for developers ONLY and not even for power users or administrators' this would have been prevented, because user would have suspected as to why there is no download button in that section of the website. Software developers are meant to give solutions to problems not create more problems for the users. Well that is my understanding of a software developer in what I do for a living. 😂
@@deusexaetherait doesn't contain an embedded file though. That's what the "raw" button is for on github. Linus literally downloaded a webpage
Sorry Linus but thats a layer 8 issue.
Click "raw" and then hit ctrl+s
Solved.
Okay and how exactly is this user-friendly? As a Linux user you will sooner or later have to download a file off github and good luck with that w/o a 'download' button.
Its like saying "The Webserver is running on port 8000, you will find what you need there".
Shouldn't mix Github with Linux experience. Disagree with the Github part
i agree on that
It's strange since he admits that he "knows just enough to be dangerous", but fails to apply that realization consistently. He wants to use unsupported hardware, but expects good UX.
This is a very common issue. Lots of "professionals" lack experience explaining their process to "non-professionals". It's like working out at the gym and the buff guy makes fun of you for being scrawny but he was once scrawny. It's a mindset.
It's more like complaining this gym sucks when you're in a factory that makes workout equipment.
You don't even know where you are, and if you did you would realize there's nothing for you here. That's why the factory workers are laughing and the foreman's asking you to leave.
@@Poldovico Except the factory has a huge gym sign up on the front and all the workers inside keep telling you the big CNC machine is actually just an ergonomic bike, you just need to learn how to use it.
I remember growing up, when something got technical it was my responsibility to learn it.
Now it seems if it's not completely rudimentary and hand holdy enough, it's the developer's responsibly to fix it.
The fact that these people don't even understand a file system. That's a complete win for big tech.
Well the thing is mass adaptability requires that stuff be more user friendly. You can't expect every person to learn everything on the planet. That's why there are various fields. Some people may excell in multiple fields but even they would have places where they would go too complex for things which may be simple for someone who has experience in the field. Someone with a interest in programming or programmer/dev would think that file system is a basic concept and should be known by everybody, but not everyone would. Sometimes you just need the door to work and not know the basics of wood. According to me the whole Linux vs Windows debate is absurd because it is clear that both are targeting different baseline of knowledge. Linux is for people who are more inclined towards the development or atleast have the ability to acquire the required knowledge on the go. Windows is more general user category (granted it has it's own complexities, but it easier to teach basic windows operations than basic linux ones).
Both have their own uses.
@@bhaveshcharyani
Brother it's not a discussion about the target demographic, sure I won't expect my 70yo grandfather to know how a FS works. The problem is what do we consider a baseline knowledge? Highschool graduates of my generation find it difficult to navigate a web browser for anything other than fb and youtube. If the Google bar on their home screen can't find a piece of information; to them that information does not exist. If a picture they took a few days back is not in the snapchat camera roll it's as good as gone. My friends were fascinated by the fact that they can see all their pictures and stuff on their laptop when they connect using "the charging cable". This is basically a generation of tech illiterates who spend almost every waking moment of their Life drowned in tech.
What used to be a standard practice not long back is now considered poweruser stuff.
I swear to god this looks like the start of a dystopian future to me.
yea not knowing what the file system is on a basic level - i.e your User folder - is really bad and should be embarrassing lol
Long time ago, people were learning programming languages while using computer, nowaday's its a completely different task. People learn to use the computer to edit text files, acess Facebook and that Basic things. Just a few actually code.
@@1719pankaj it's a bit pitiful how the human race is ready to throw out knowledge when it is considered irrelevantly useful. I get you don't need it now, it may be too complex, but sooner or later we'll eventually throw away the ability to even tie things. Which is supposed to be representative of a child's growth that they can learn how to do it.
You know, I was using computers when I was in kindergarten and elementary school, but those were old DOS based systems where you needed to know a computer works in a basic enough level. These days, the UI is so polished that you can use them without knowing how they work - AT ALL.
@Noah Alexander There is nothing virtuous about not wanting to know something.
@@umeng2002 you do understand that not everyone has the time and energy to waste on something which could be done way quicker right?
@@grossly820 that's why I don't use Linux.
I agree with this. I work in IT, and i see a lot of people that do not know how to properly diagnose issues because they do not understand how programs interact with various parts of the OS, network and whatever else. While I believe if you can learn something at a cmd/powershell/bash level it gives you a greater understanding of a system as a whole, and a lot of time you can get things done faster through those interfaces, unfortunately for the average desktop user non of that matters. I think there is a bit of an issue with what Linus and Luke are doing. They are not average users, they are power users. I would be willing to bet most people could actually use linux without to much issues, as I think most users do everything through a web browser, with maybe the exception of office type work. Luke and Linus have much different usage needs compared to that of what I would consider an average computer user.
@@grossly820 You're conflating two important, but different concepts in usability here:
Using a CLI system one can easily and quickly make the system behave the way they want, in fact far beyond the capabilities of what a GUI could provide. The downside to this is that you have to know what to do beforehand, as if speaking a language; it is *unintuitive*, but *very usable*.
(Un)fortunately Linux is littered with these kinds of systems (e.g. Vim), usually being propagated by fans for their improved efficiency. Developers and sysadmins are lazy too, they just set their focus differently.
Ah, the old school linux flame war. So much potential for losing sleep over somebody's who's wrong on the internet.
Learning the command line is necessary if you want to use Linux in a more techy way. Meaning adjusting different settings and so on.
The scripts are indeed a security concern. I myself just ran whatever script I was pointed to without thinking. Had to reinstall my Ubuntu 3 times because I killed the grafical interfaces.
There is even a famous github issue about a small error in a script that caused to delete the whole system.
And obviously the user did not read the whole script
I have no idea how he did get pointed to scripts on github as new user. And I have even less idea why he didn't check 'how to download' files from github before he started doing that
This is just my opinion, however, I do not feel Linux is ready for the average new user to computers. I would be hard pressed to recommend Linux to average user because I do think the OS as a whole requires some familiarity with technical “under the hood” knowledge. But I agree with Luke that the UX is so much better today than it was even 1 year ago! I am hoping it will become even more Noob friendly as time goes on, been involved with Linux in general for something like 15 years and it continues to improve! Last point, one of the beautiful things about open source is you can change something to your liking.
@@IainNitro GNU/Linux is for regular users who which to learn more about computers or be free from Propietary software. A simple use case like a laptop with integrated graphics or even a discrete GPU from AMD works fantastic on GNU/Linux. You are comparing Linus niche use case to the regular user which is absurd.
@@studentoo925 That's the thing. You're told: hey, here's this code you can run as a script, it'll do it's magic and your problems will be solved! My first instinct would be "Cool! How can I get it to my computer?" The answer should be "Yknow, just click this button! Easy as that, it'll be saved in this directory. Enjoy!"
Why should I be googling something, that can literally be automated by a script and can be accessible on the web page..?
Analogy: you're seated in front of a perfect meal and someone hands you this massive contraption and says "You can only eat it with this tool." You ask him where the knife and fork is and they say "Sorry, just this contraption thing. You'll have to go look in that library to see how it's used." You would be pissed, wouldn't you? Or would you happily go to the library and say "Cool! That's so great, now I can learn how to use this contraption that I maybe get to use once a year! Meanwhile my meal gets cold, but hey, that's the joy of learning!"
I think that github is the wrong tool for the job of distributing scripts to end users. The issue here isn't that github is a web interface to git made for developers, but rather that someone linked you to an html page to get access to the script. At the very least, they should have given you the raw link (which does save fine). You can't expect every tool to cater to ever use case, and trying to force a tool to do something it wasn't designed to do will lead to a bad user experience. That isn't the fault of the tool or the end user in this case, but the fault of the person who chose that tool for that use case.
Linus doesnt understand that file extensions are just hints on windows too
I do think it is a bit of both things:
1. User error
2. Unintuitive UI
1. We need ways to tech users how to use the tool. Is it bad UI, if the user can't use a play/pause button from TH-cam?
2. We can make thinks easier by adding a download button to each file that, guess what, downloads the raw file.
A User Experience is like a Joke,
If you have to explain it, it's not a good User Experience
I believe the problem that Linus has is with the person who pointed him to github, rather than github itself. Github is, as the name suggest, a hub for git repos, nothing more. So no, downloading individual scripts is not the intended purpose. The purpose is for developers to collaborate on source code.
The guy pointing him to it starts from a peer 2 peer perspective, ie giving him the source code and Linus should figure out how to execute it himself. Linus looks at it from a client perspective, not willing to invest any effort. There is no problem in that, but than I guess Linux is not for him. I don't mean this as a bad thing, there are plenty of things I rather throw money at than invest effort into.
Well hopefully SteamOS 3 will change that.
Exactly... Linus to me just seems like, "I couldnt figure it out immediately, I am done...". Uh what? The guy who wrote the script also shouldnt have to hand hold you and baby you thru how to execute it. If you dont know how to do such a thing, maybe you shouldnt be doing it? Same as, I dont know shit about cars, so I am not going to go get a repair manual that is designed for a mechanic and get mad at it when it doesnt hold my hand thru putting my engine back together...
@@kickassamd That is not exactly the same tho. A car should be intuitive to use with little need for the driver to intervene until it breaks. That is the problem with Linux and the community. It is vastly unintuitive and the people available to support don't know how to communicate to the end user what to do. Yes, the script writer shouldn't hold the end users hand. But if they did their job properly in the instructions phase prior to command execution, the user would have less problems. So pick something. Does the Linux community want vast adoption of the platform or does it want to be Dev based only?
@@atomdropper3932 So run an operating system that is built more for people your skill set? I can drive a car, but I cannot hop into an F1 car and go beat Lewis Hamilton... I do not use GUI Linux and mainly live only on Ubuntu when doing Linux work (servers), but from what I hear from colleagues, is that Ubuntu desktop is very nice and should be fairly simple for the average user to get going on. Maybe that is an answer?
@@atomdropper3932 Linux obviously want's both. Vast adoption of the platform and a thriving dev community.
I think the issue here is goxlr needs a decent driver and the whole issue is solved. Obviously running a script is in no world the correct solution for linuses problem. And I would have totally accepted him criticizing linux/goxlr for bad hardware support.
But I don't accept him shitting on github/linux devs/file extensions/scripts/browsers just because linux has a huge dev community does not mean you are part of it.
12:45 A script is just software that runs directly off of a shell, instead of being neatly compiled, it's not more risky than running random software, I would argue is safer, as you can litrealy read the code.
But will most people actually read the code? Most people wouldn't as most people don't read the terms and conditions of every single app they've download onto their phones.
@@dreamy97836 It does not make it safer. If you can't read the code you can scroll through it all you want yes you probably still let it run because you have no idea what it actually does.
Here's how normal user solves problem. They find a article how to fix the problem they follow the steps if they can and they download whatever article says to them. I doubt a non tech savvy user will go and do 10 courses on undemy so they can read one damn script they found in one article or guide on god knows what webpage/forum. A lot of non tech savvy users won't even read the responses to the guide because they are often times very technical and they won't understand because they lack the knowledge. They only want to use their damn computer normally.
@@shawno8253 I will read the code just like I read all software licence agreement...not at all
@@dreamy97836 It is not inherently safer as that is just an idiotic statement to make. You could argue it is probably safer as there is a greater probability that someone has looked through the code for you and has spotted all the security vulnerabilities but that possibility is nowhere reaching 1.
Or, because open source is a community, a newbie user trying to achieve something may just show the script to someone who knows how this works to validate it doesn't do anything malicious. While with the Windows mindset you're basically told to not run anything made by a big company
Git is not a file hosting service, its a version control system lol. It’s not for downloading individual files from a project.
hes saying developers dont have a say in how the users use their product
thats like critisizing lego for not being good at building life-size houses, you just arent the target demographic lmao
"file extensions aren't really file extensions, they are just a helpful little hint about what might be in the file" is actually one of Linux's great features!
Specifically here, if that wasn't the case, you'd have your shell trying to execute an HTML file, which depending on stuff might be a very bad idea. The fact that Linux *knows* it's not a script and won't run it, regardless of the "file extension" is a good thing.
The windows peasants have no idea about concept of magic bytes or file signatures.
Their brain thinks extensions are the ultimate thing. What next? Rename everything in all bin folders to .exe?
Instead of learning concepts that are new to them, this is just a brunch of whining.
ah the fun times of "hacking" windows by adding .whatever extension as executable in regedit
@@ShrirajHegde I'm guessing said "magic byte" is hex AA55 that marks some storage as bootable? I'm a Windows user, and know about that. (Mostly because I do OS dev as a hobby)
@@nikkiofthevalley yes, but not limited to that. 0xAA55 is the magic number for a BIOS bootable binary.
All the binary programs need to "identify themselves" because programs need to know the expected format while reading them. So every binary format includes a "magic byte" usually near starting of the file. These sometimes correspond to ASCII chars for example .PNG for png image file signature.
This is the intended type specification for file and machines are supposed to use this to determine type. The extension in the file name is for human reference.
So the file extension is actually a "clue" as he mocking says. He accidentally got it correctly. Since Microsoft doesn't like standards and conventions, explorer uses file extension for type association rather than using file signature (magic bytes). That's why files can't be opened in explorer if you change/alter extension but they usually work fine on Linux explorers.
@@ShrirajHegde Oh. I didn't know that, thanks for the info. I imagine changing that byte would cause programs to not be able to read the file properly?
How did you learn windows? I feel like your learning Linux process feels haphazard so far. Day 1 Linux users shouldn't be downloading and running random scripts, Linus included
@@Jtzkb The reason that's necessary is usually that the vendor of whatever software or hardware you're using doesn't really support Linux. The workarounds are usually made available by individuals for free, so they don't put much effort into making the solution easy to use. Rather than complain about someone who provides a solution for free, it would make more sense to acknowledge that the issue lies with the lack of Linux support by the vendor to begin with.
@@Jtzkb For example with Valve's steam deck coming out, I decided to give a Linux server for steam link another try. There's constant screen flickering on the steam menu. I looked it up and it's a Linux only issue. There are complex workarounds involving modifying configuration files to get rid of the screen flickering, but the issue itself is a failure on Valve's part.
A lot of the time you're going to have to have an end goal first and then find out how to get to that goal with Linux, instead of trying to duplicate the process that you'd use to do it on windows. Admittedly, gaming is the weakest Linux market. I would have switched completely by now if it weren't for the less than 100% gaming support. Looks like things are heading in the correct direction though.
Somehow, I’ve never had this issue before.
Bruh yea
me too, ive copied scripts in raw, ive used wget, ive used git clone, ive used the UI, and never got that issue
@@GabrielM01 ikr. We need to educate people on basic stuff like that, especially Linux newbies. We already have too many tech idiots in this world and Linus is promoting even more tech idiocy, instead of making a guide - since he clearly has some teaching skills.
@@PvtAnonymous Firstly, how is Linus "promoting" tech idiocy?
Secondly, it's not Linus' job to fix UI/UX issues
Thirdly, this is the WAN show, it's a podcast/talk show style video. Why would he make a guide in the middle of the WAN show?
the only issue was that he didn't want to copy and paste the raw script
"This browser sucks, it can't even play video" [closes Visual Studio Code]
Github is NOT a content delivery platform, it is a DEVELOPMENT platform
It is baffling that i 2 years after this still see people who don't understand that.
I'm looking forward to seeing Linus' experience and very curious to see what sort of script he was trying to run. I've been running Linux for over 20 years now and don't recall ever running a long script of any sort to fix something. Some utility or installer that's implemented as a bash script, sure, but nothing along the lines of a script downloaded from Github to fix something.
I suspect there's a Windows mentality messing things up here, but again, I'm very curious to find out what the actual purpose was!
@@elsiehupp Yeah, I suspect it's the Windows/Mac mentality of "what do I need to download to do this thing" vs the Linux mentality of "how do I do this thing" (which will be applicable to future issues, unlike the download).
If he was looking for an installer, the answer likely could be the first rule for new Linux users: don't download anything, use your package manager - possibly to get Lutris in this case :)
@@elsiehupp If that were the case, he surely must've heard about Lutris already.. Its exactly made for people like him, it downloads and runs the scripts for you
I think he probably needed drivers for his six or seven cutting edge graphics cards he was sent free by his rich sponsors...
@@neek01 It also strips the drama from your clickbait fueled TH-cam channel.
I think he got sent on a wild goose chase by either some troll or someone who knows even less about linux than he does. By my reckoning, this is a blind leading the blind situation.
5:50 I disagree, but saying github is bad has nothing to do with the Linux user experience.
this is incorrect. It's not GitHubs fault. Github is not supposed to be used the way it's being used here. Its the developers fault for making the user do things like this.
It obviously became the user experience. It wasn’t obvious to him how to install what he wanted to install. He wanted to browse the web and just have a link that would give him an installer instead of doing it how you would in Linux. Aka. He probably didn’t find it packaged up nicely in package search and went to Google finding this. He is more technically inclined than most users just starting to use Linux.
8:40 "Folder structure is archaic", well, in that case, graphs are archaic, along with integers, calculus, the concept of zero, etc., and we should just throw them out of the curriculum.
Just because its old, doesn't mean its bad. There is a difference between defending users who struggle with a poorly-designed tool, and defending users who are utterly ignorant. github is a powerful tool - whoever sent Linus to it is at fault, not github. It is the equivalent of telling a user to go to a CNC shop in order to replace their doorhandle ("Don't forget to bring the CAD file on a USB stick, and they'll get it machined for you in no-time!"). The CAD shop is not at fault - infact they may be a very good CNC shop - but the user should not have gone there in the first place.
I think that when he says "it's archaic", he wasn't saying that it was useless and should be thrown out. I believe by that example he was more baffled at people expecting you to know things that you don't have the general need of knowing. The professor shouldn't act so high and mighty if students don't know about folder structure because till that point in their life, things had worked in a way that they didn't have need of knowing that. His point probably being that Linux expects you to, and is very surprised and acts elitist when you don't have, very specific knowledge of certains things because not everyone is an expert of enthusiast. Sometimes they just want their things to run and they don't have the know-how or aptitude to tinker it till it works.
Linus walks into a CNC shop, “man this UX sucks, I can’t even play doom on it”
Archaic doesn't mean bad. It means that new ways of operating have replaced that thing for most people and that most people don't remember (or never learned) how to operate that way.
A lot of Linus' rants sound similar to my parents rants when they use their (Windows) PCs 🤣
This comment needs to be pinned to the top!
Where pin
sounds to me like a spoiled little brat who doesn't want to have to learn how to use his new toys...
You are very right about that, I think my mom have used the same argument, that she just want to read her work email (in Linus case it was play games and not read email) and she is on a mac that is supposed to be user friendly.
I find this a kind of strange issue and something I would think linus would understand. This is the same process on windows you'll download an HTML version of the website unless you go to the raw page which is exactly why there's a button to make it available. There's no need to copy paste the content of the file
jeeez. i wish there was anthony in these linux conversations to clear things up
Why not just clone the repo? Cloning is a thing across all git providers.
You are 6th btw. :-) POG
because he wanted a single file, simple as that
Yep
@@joelchrono but the platform just bc it's open doesn't mean it's for non-dev folk, it was for devs by devs, what did you expect ? For us devs it's totally fine & it works.
@@EverydayOrdeals devs in the livestream and in real life disagree.
Git works, dont get me wrong, I use it too.
Github not having a "download file" button is still dumb
Arguably, the file extension problem is a problem with the browser just using the file name part of the url to save the content it gets at that url. The interesting part is that if you follow the link and do "save as" there rather than "save link as", it uses the page title and adds an html extension (and saves other resources too). So even that is not consistent and confusing.
You're totally wrong... The URL has nothing to do with it. GitHub serves the raw code with HTML as the content-type, so the browser assumes it's html content. This is to prevent people from using GitHub to serve files from.
The thing is, the html page that contains html and the content of "script.sh" is a file named "script.sh", and it's linked to with a link that is displayed as "script.sh". So even if you mouse over to see where the link points to, the browser says it points to "script.sh", _not_ to a html page.
It's perfectly fine that github is displaying the whole folder's content and has the file listed as "script.sh", but the actual file that this links to should be "script.sh.html" - so when you mouse over the link, you can see that it is not the script file itself, but a html page containing the content of the script.
in fairness, most developers can *very easily tell* if a script is doing extra stuff.
now, obviously, one shouldn't expect one's users to *be* developers, but then, there are definitely distros aimed entirely at non-developers (I'm thinking of manjaro)
It seems like the problem is Linus wanting/needing to do things that aren't covered by these distros. For instance, something like GPU passthrough is so niche/hardware-specific that user-friendly distros won't really help.
Can you elaborate on what "basic stuff" requires you to download scripts of the internet and run them as superuser?
Seems the guy doesn't understand the concept of video card drivers. Or maybe he thinks all of us average users get sent all our cutting edge basic stuff free of charge from our average cutting edge hardware sponsors.
@@fotnite_ what the hell are you talking about?..
In linux all basic stuff requires you to do that, Installers are a rare commodity over there
@@TheJakeblake When was the last time you used a Linux based OS, and which OS was it?
ig no one taught linus about the package managers
It's not that you need to be a security professional to review a shell script, but you do need to some idea of what is and isn't dangerous to run.
And how would someone like my grandma know what to look for? The instant you have to review any kind of code, you are instantly shutting out a portion of the community who might otherwise use your product. You are then saying, "You have to be technical to be secure".
@@InflatableFriend87 wtf, why grandma?????, use something else then bro
and having knowledge is just a another layer of shield that will protect ya from shady scam-pop-ups
@@ncb4_69 Here is the problem. Everyone wants Linux to be the gaming platform the finally gives Windows users an alternative. For Linux to gain support from all kinds of developers, it needs to justify that there are enough users on the platform to put in the time to be worthy of developing against. I'm talking gaming, but I am sure there are vast areas where this applies. Barley anyone coming from a pure windows environment is going to know what they are doing, so it would behoove Linux distro a to be more user friendly in the ways that really matter. The issue is that existing Linux users and devs are so elitist that they are blind to what user friendly means in the reality that everyone else lives in, so users are scared away and Linux sits on the sidelines on the user desktop market, overshadowed by systems that have any kind of clue to what makes a good user experience.
I want NOTHING more than to live in a world where Linux is a first class citizen in the desktop/workstation market, but that will not happen without a culture shift.
@@InflatableFriend87 your grandma ain't downloading random scripts of the internet
@@flyingmonkeys96 No, but she might want to use Linux as her platform of choice for her competitive gaming experience. If she needs to accomplish something, it should be supported in the GUI and it should not need to be accomplished via someone giving her a script or code on the internet.
Isn't the biggest button on a GitHub repository a green download button?
Usually that's not the download you want though. That usually downloads source code. Half of the time you actually want to go to the releases page to download the binary
It downloads a snapshot of master which is almost never what you want. End users want a release (source or binary), and devs want to clone the whole repository.
Also a software dev here, Linus is right. There should be a download button for single files. Github provides a download as zip link for the whole repo. There are many times I just want a file, and not the whole bloody repository (e.g. editor themes). Since the "raw" version is also made accessible via the browser, should just allow it to be downloaded and save the user a few extra steps.
Issue is, you don't actually know how to download a file via a browser
Hey, it's the guy that bricked his PopOS install, of all things
What?! How the hell do you manage to brick a PopOS install? LOLOL
@@cgme9535 i mean i bricked a manjaro install, arch install, garuda install, but not popOS. How in the fucking hell do you brick a popOS install?
@@imgladnotu9527 he did a fresh install of popOS and tried to download steam from the popshop which came up with an error so he did it through the terminal and it did in fact install steam but it also erased his DE. It's not entirely his fault if you actually watch what he did in the linux challenge video.
@@branflake6048 ive just watched it yesterday yea, its either apt's or popOS' devs fault for allowing such a stupid dependency "solution" happen at all.
@@imgladnotu9527 They did fix it, all you have to do is run apt-get update before trying to install packages. He went straight from install to download steam, it's understandable why the mistake was made but if he was following linux best practice it wouldn't.
11:20 probably its cuz most of the repos have licenses... so downloading a single file would be kinda sketchy for them to allow. U must download the whole repo
that's a good point
I'm surprised about the folder thing, I have a mac and I still use folders all the time for my different music production files and projects!
It has nothing to do with "kids these days" every major OS has index folders "optimized" for specific files. Phones do this as well but even simpler. It is a lot easier to have one folder optimized for picture files and their extensions to be stored in a specific folder for searching later this includes apps who default a subfolder in such. Finder/Spotlight does this and so doesn't Windows Search/Windows Explorer. It isn't just a personal choice of organization or not.
12:10 so running compiled non readable exe files is saver than a clear text script?
As a software and web dev, both front-end and back-end I find this video very cringe. I have never had the issues Linus describes as you can download the entire repo in a zipfile if you really wanted the files. GitHub isn't made for single file downloads.
And the fact that he talks about the scripts that way is just wrong and is going to hurt peoples security more than help it. Most of the time scripts are just meant to save time, and you can clearly see what they do. However with closed encrypted software, there is no way of telling what is going on. If he just learn't the basics in Linux he could probably read the script and be very sure of what it did and on his own verify wether it's safe or not.
Instead he starts blaming everyone for not including "newbies" when it seems like he hadn't even made a try to learn...
@@Rismose I can definitely see how Linus made the mistake he did downloading the file and I completely agree that github (and a lot of other git front-ends) should have a more obvious way to download individual files (it's one of the few things azure dev-ops does right imo). Yes, the most common use-case for git is downloading an entire repository (either cloning or as an archive file), but there are a lot of instances where grabbing an individual file is extremely useful. It's a rather trivial UI change, I don't really why some of y'all are so up in arms about Linus pointing it out.
In regard to scripts - I also kinda agree with him there, but with few massive caveats. I agree that asking an end user, even an experienced on, to download and run a random script is far from ideal. And if you aren't an experienced user, it's a bad idea to do so. But it's extremely rare that an average new user is going to run into an issue that people are going to want them to download and run a random script. Most common configuration stuff is handled by your package manager, and the rest might require running a few individual commands. And at it's worst, this is still better than the experience of needing to download random third party unreadable .exe files to install almost anything in Windows. I don't know what specifically Linus was trying to fix, but I'd bet money on it being one of the many non-standard hardware/system setups he's got - in which case, I would be surprised if his experience setting it up in Windows was substantially better. At best he probably had to install one of those random third-party binary executables.
Their aversion to wikis is fucking weird though. Like, yeah - people need to stop telling folks to RTFM and instead link to relevant pages with a quick explanation on how to find the relevant bit (if the page is long), but that information belongs on a wiki page, not in two dozen conflicting and out of date forum posts (a valid issue that I expect Linus to *also* complain about in the coming days given what he's had to say thus far).
If your OS scans downloaded EXEs for malware, as afaik windows now does by default, then yes, it absolutely is.
@@notnullnotvoid if you would build a tool that can scan shell scripts for malicous stuff before you execute them than the Linux way would be way better. The algorithm would go through the entire code because it can actually see what it does, compared to the sandbox way windows does it. Then it could rank the code in safe, unsave, and malicous. The unsave would be code that maybe downloads stuff from the web and then execute it where you don’t know what the downloaded stuff does. While malicous stuff is what actually 100% is malicous. And maybe use a database of malicous and non malicous scripts and create a algorithm out of this. And when new common malicous scripts are out there, add them to a blacklist. This way is way safer than compiled shit.
Then you just prompt the user if the script is save or not and then let the user decide to maybe run the script anyway.
@@Rismose this. Ive been looking for this. Holy fuck lmao.
All Products are Solutions; not all Solutions are Products
The author of that script had a problem, fixed it, and used a free service to make that fix available to anyone else with the same problem. The script author and the free service aren't obligated to put the LABOR into making their FREELY DISTRIBUTED Solution available to anyone else as a Product with an "Intuitive user experience"
As software engineers we spend fair amount of time learning git/github. It's built for a specific need which is version controlling, downloading a single file might not be what they had in mind while building the platform / any other git based hosting server. So I guess that requirement is there now, they can add it as a new feature, which I think Microsoft will have no issues implementing because they have done amazing new features after acquiring, again might go unnoticed for someone who would only consider github as some file hosting service.
I prefer MIME check of actual file "extension" that just defined by letters of the filename. An image which is actual JPEG, renamed as "PNG", will be treated as a JPEG, and not PNG is a good thing.
it should throw a warning though because it'll cause an error when you upload it to and try to preview it in google drive
@@samsawesomeminecraft "google drive" ?
**but it works that way on windows why cant it work that way everywhere? that's obviously the more intuitive way for my brain that grew on win 95!** /s
Does it actually do MIME check? If you click on PNG file that is actually JPEG, it opens an image viewer and tells it to open that specific file, but most image views don't really care for the extension. They'll just start reading and parsing the file and trying to convert its contents into pixel data that can be displayed to the user.
@@etodemerzel2627 it was just an example, but rename that image file to no extension at all, and it read the actual image file. Regardless, I don't understand their problem, as it isn't any..
Developers: documentation is king.
Linus: nah, don't wanna read.
A User Experience is like a Joke,
If you have to explain it, it's not a good User Experience
Devs are routinely wrong about anything on the user end. That's why there is an entire progression around the user end. UX/UI because developers are 9 times out of 10 too far up in their own heads to not be wrong.
It just comes with the territory. It's hard to be a subject matter expert and understand a non experts pov. This goes for basically everything in life.
@@wii166 Wow I didn't know how to use an editor. It has documentation? It must be so bad if it needs documentation. Why is documentation even a thing when our boy JD Gaming knows it all.
Thinking it was probably a poorly made repo. I don't recall ever having this issue before
From what I understand he tried to curl it instead of cloning it
Same
@@5h4d you can just download a cs file or whatever from the site itself
Yeah he was probably also downloading the page that the code is on, not the raw file itself
As someone with a degree in and experience doing UX UI, a big issue I see with the Linux community is the lack of recognition that a huge part of good software design is error prevention. If users are constantly making user errors in the software environment you made, that’s your fault as the developer.
"People don't want to read the manual", though people coming to windows will find the same issues (and have to read up how)
most modern software will use file headers, not extensions, to decide what to do with them once you open these, no matter the OS
yep - magic numbers and the "file" command are a lot better at determining what you're looking at than an arbitrary extension someone put on their filename
I can't wait to see what Linus is using because of the 3 years of dual booting with Linux and Windows. I never had to download a script to fix something. Then again, I just don't follow articles that say that.
I suspect the issue is that he's got a lot of unusual systems to configure, not the specific distro/DE he's using. My guess is the script was to set up/configure one of those unusual things, not to handle an issue a typical new user would run into.
I never considered downloading a script. Unless it's huge, you want to copy and paste it; you want to understand and see what you're running.
It's good that Linux is clever enough to recognise that a file with html in it is html and doesn't just execute it as a script.
If you saved the page with a browser button, the file extension was decided by the browser probably based on the end of the url.
He showed in a short clip that he is using popOS
@@KBateman231 Hold up then how is he using KDE? Since he was talking about using Kate which is the default text editor for KDE?
@@SaltyNotSweat correct me if I'm wrong but can't you run KDE apps under gnome?
FYI, this happened because the link you saved was a link to the Github UI displaying the file, not the actual file. So you did just save a webpage. If you save the link that says "view raw", then you would get the actual file. Hoped this helped!
Also, when you're viewing the file through the UI, you can see in the address bar format is .../blob/...
If you change blob to raw, you'll get the actual file.
I feel like Linus is misunderstanding how file-extensions works in windows. The only thing file extensions does in windows is telling windows which program it should use per default to open it. But you could in theory change a .html file to a .mp3 file and that would make it open it up in a program that has no understanding how to process HTML. This behavior is exactly the same in most linux DE's, but in the terminal the file-extension does not really mean anything.
In other words. There is no real difference between how file extensions work in windows and linux. The difference is GUI vs Command prompt.
For the one who really want to understand how linux knows what to do with a file, check out magic numbers, which is the first bits on the file that will tell linux what file type it is.
Regarding the HTML file not being treated as a shell script when it has a .sh extension, you wouldn’t want to run it as a script; the content has the wrong syntax.
Btw, you can Ctrl+S after clicking the “Raw” button to save it as a script directly.
From a developer's viewpoint it truly is a challenge to design a UI for computer illiterate people as much as it is for a computer illiterate person to use something designed for developers, it's a double edged sword. And really you do start asking yourself at what point does simplicity start to harm practicality, in this case the software is for developers and the regular user should adapt rather than complain the same way as a dev should adapt to a simple impractical interface. GitHub devs just didn't see the reason in adding the download button since that's in no way more practical than using curl (since a lot of devs still hang out in the command line).
you say - since a lot of devs still hang out in the command line
and what about the leftover peep's?
@@ncb4_69 It is considered a bad practice the use of the browser to manage a git project. The only thing you should do is: Download as zip or Clone or View or Pull requests etc. but never modify or manage the project from the browser UI, usually you use the IDE integrated UI ( with cloned one )
@@ncb4_69 Sadly at the end decisions will still be made based on the majority.
@@ncb4_69 1% or 2% of those leftover don't trump the 98% who use github for it's intended purpose.
There's always someone who will be left out when you have a target audience. Github is a tool for developers. It's a specialized tool targeted at a specific demographic.
An airplane cockpit is designed to be efficient and intuitive to pilots. Leftover peeps are not, and should not, be a consideration in the design process.
@@iraqigeek8363 If linux was more friendly normal people who use it wouldn't have to use github to get something as simple as game mode working or a effing overlay for their games.
Simple truth is on Linux you basically have to be a developer or a total noob who lives in a browser all day like a grandma the rest of the world is left out
"in linux, file extensions don't mean file extensions, file extenios are a little hint of what It might be inside of them" sorry to break the news, but it windows, in fact, don't mean file extension, file extensions themselves are as far as the os knows, meaningless, file extensions _are_ hints of the contents inside the file, example: remane a random.docx file to random.rar and open it, it will open with no problem at all, because .docx files are just bundles of .xml files and other things like images that you placed on your document,and the extension just means "this file contains the files needed to be read as a word document"
"I want to drive this 5 speed car, but I refuse to learn what a clutch does! This car sucks!"
Exactly this!
When something that's being actively used for production settings seems "dumb" to you then maybe it isn't what's dumb...
You seem like the type to call everything "dumb" when you don't yet understand it.
Hot take: If you don't know how to download a shell file, you should not be running shell files.
Lmao very true
well the "user intended" way is to git pull or download as zip. Downloading files is a additional feature
Yep.
Just FYI, in Linux file extensions are for users' convenience alone. Linux, being smarter than Windows, autodetects the file type by its content, assigns the right icon automatically, and launches the program based on file content, not an arbitrary extension anyone can change. This has the added benefit of preventing executables from being renamed to .jpg or .pdf and run by unwitting users.
But sometimes this can be useful when you want to switch the file format on the fly...
I suppose the idea is that if a malicious executable was renamed to .jpg on Windows (e.g.) then the OS would try to load the file inside a photo editor, which would often reject the executable as a corrupted image file instead of running it. Of course that’s not always the case, and caution should be used regardless when downloading any unknown files. It’s also an issue when moving to Linux that the vast majority of Windows users understand file extensions to be a guaranteed declaration of file type, and that Mac users often see files in the File Explorer with no extensions at all.
That sounds like dumbest thing ever. No one changes extensions, not even normie windows users. But having extension really helps in identifying file type
What is smart about that ? Besides not being true.
"The safest car is the one you build yourself. Most people shouldn't build a car." Linux is exactly like that. If you can't assess security, then you delegate that task to someone else. I agree there should be levels of noob-friendly distros, but the problem with Linux is that usually it doesn't 'just work'. So you need a level of technical knowledge to begin. And that knowledge should be more widespread, because the more people perceive computers as magic, the more exclusive 'simple' things become. E.g. folder structures
Part of the issue with computers is no one deals with matrixes in math until college. But week 4 of computer code is dealing with multivariable arrays. We have to teach math more effectively in school. No one needs to know about ferris wheels, everyone should understand how to find monthly payments for their mortgage.
"A label is not a label" because what you're talking about is the name, there's an actual label called a MIME type(or media type), that's the label you want
For this particular use case, any difficulty you have when directed to github is mute as per the service github provides you are out of scope of a new user friendly approach to Linux. I am a bit shocked at the reactions you guys have to this and wonder what actual distributions that claims to be new user friendly per the gaming perspective and look forward to see which ones you've tested.
As others have stated correctly github or any other source repository are not ment for end users or non super admins, there is already at the gate an expectation that you are not an average user. If distros claims to be new user friendly and redirect you to a source repository the fault of assumption lies with distro/guide, not with the repository.
That line, about average user finding a photo on iPhone. I'm senior software engineer, hardware geek, car enthusiasts, tinkerer.... using linux for personal servers/desktop, macOS on work rig, and android phones. I can't find a freaking picture on my wife's iPhone, eventually when I figure out where it is, I'm having hard time going back to camera. IPhone OS is shameful, in comparison macOs is at the same time new user friendly and powerful for advanced users. Being unix based is really helpful and time saving for daily productivity work, especially when you switch across platforms. Windows is by far worse desktop OS.
Developers absolutely do get to pick how users interact with their product.
They absolutely do not this is a similar issue in engineering people will misuse your product if you make something idiot proof they invent a better idiot there is no way around it.
@@shawno8253 If someone gives you in your hand, a medical suergery machine, would you be able to use It? Would you be able to perform a surgery with It? Do the developer of the machine make an intuitive design intuitive enough to do complex operations for general users?
I find usage of colors instead of symbols unintuitive in Apple's os, but i don't see anyone complaining with Apple, instead everyone likes It couse they know how to use it
You are deliberately ignoring the context of argument. Here, it is more about first impressions and intuitiveness of product, since we are talking about how 'open' and 'beginner-friendly' a product is.
One of the main features of Github, apart from collaboration and remote vc, is downloading of files, scripts etc. And frankly it is miserable at it. I don't want to copy whole repo just because I want a folder
Really? So if a person used a knife or a chain saw to kill people with it’s the developers/inventors of the knife or chain saw fault for the killings?
You seem to underestimate the ingenuity of complete fools. Like me. I is complete fool. We all are. You cant honestly tell me youve never gone outside of the intended use of anything, both on purpose and accidentally.
A lot of tech people don't think enough about UX design. Good UX design makes a program easy to work with for all users of the target audience, including the new users of that target audience.
tech people do, managers don't
"..including the new users of that target audience."
The thing is, non developers are not the target audience for git. Should they be? Debetable. Must they be? Nope.
@@s3rit661
It should be accessible by non-developers too. Nobody is born a programmer, everyone starts at non-developer.
But in this case, the user is literally the “Developer”.
GitHub really have a great UX/UI for “Developer”.
I don’t see how this is really the problem about how tech people ignore some UX/UI aspect.
@@csaratakij6339 Cause they really want Linux to be usable by everyone, thing is, that's not its purpose and that's not the reason why Unix was made, but anyone who says the truth about it it's just a toxic gatekeeper Kappa
Apple allies with the idiocy of not showing file extensions. For instance, photos are not files. However, if it is taken through the camera lens, it actually is a .jpeg, while a screenshot is a .png file. The Files app does not actually contain image file or the music file that one wants to use. Apple's Files app is so ungodly awful and pointless! Thankfully, I use Android which is far more intuitive.
I'm baffled that there are people not understanding a folder structure, seems like the most intuitive thing out there. Then again if someone as intelligent as Linus can't figure out what raw does it doesn't really surprise me much anymore.
Dude seriously