Hey, I'm new to GitHub!

LinearArray@programming.dev to Programmer Humor@programming.dev – 1226 points –
300

TBF, they could probably make the "releases" page more prominent rather than having it buried in all the "code" stuff.

GitHub has bad UX for people who just wanna download and use the programs

I'd agree, but the caveat is that github is primarily about an interface for source control and collaboration between developers for projects. The release page is really just an also-ran in terms of importance.

Imo they aren't even trying, because it's not that hard to make it better. Doesn't even have to be a compromise. Most people just need a visible download button for the programs, that's all.

If that's a concern for the project maintainers, they should create a homepage for the project with download links.

Or make a shortcut/link in the readme to the newest release of the most popular OS's.

A decent release page tends to contain all kinds of files for different OS, so 'regular' people who just want the .deb or .exe would likely become confused regardless.

I mean, if you don't even know what OS you're on...

Next you're going to tell me cars need boosters so babies can reach the pedals... At a certain point, it becomes irresponsible to enable ignorance.

Imagine how many download buttons would be if Github had ads.

There is, it's literally right there on the home page of the project. You can either copy a URL and download it by cloning the git repo, or you can download the whole project as a zip file. Then you just have to compile it!

GitHub is for developers, not end users.

It's not a compromise to make another download button for the last release as well. No one looses.

That's not a download button for the program. But there is indeed a link to the release page right on the home page of the project, so you're still correct.

SourceForge had a better UX for those who just want to download software.

And SF is horrible, so this says a lot.

Excel has a bad UX for people who want to use it to make art

Do most people who use Excel also make art with it? Because sometimes devs also just download exe files on GitHub :D

They don't just always copy code from there.

Do MOST people who use GitHub download .exes? In my experience the VAST majority of people are using it for source and version control, not external releases. The overwhelming majority. FOSS and OSS is a small portion of the overall GitHub user base compared to, say, enterprise companies.

So you never downloaded a program on GitHub?

No one everever said you need to compromise its focus on developers. There is no compromise to be made. It's just a stupid button. Stop arguing lol.

No, you shouldn't really be downloading exe's from github. It is widely being used to spread malware and to pretend that the software is open source when it is not. At least look for a link to the store page(including microsoft store), a distro-specific package or build instructions. Those usually have an AV scan or at least harder to fake.

Yeah a dude I know got hacked by downloading some random github program, the hacker even started taunting him via discord lol.

But I downloaded plenty of shit from github, like prusaslicer, my 3d printer's firmware and plugins for octoprint. Always stuff that is verified via another page though. Almost never stuff that comes up during a random search, and if I do, I look it up first to see if it's safe.

The github project page is for developers, and Github already gives you tons of ways to make a user website. Don't ask your users to visit github.com/group/project, make them visit group.github.io/project, like any sane person.

Same with Gitlab, BTW.

And if you don't like the full static site, use the wiki, or guide your users in the first paragraphs of the README so they find the user information if they must.

you never downloaded a program on GitHub

Precompiled binaries?!? Not even once. It's a security risk akin to picking up gum on the sidewalk for a fun tasty treat.

So when you just needed software to run on your machinr, you built it yourself. But first read every single line of code to ensure that it's safe. Did I get that right?

Because if you don't trust the developer to provide safe binaries then you wouldn't trust the same developer to provide safe code either.

Cool, I'm not surprised as we are on Lemmy. Welcome to the 1%.

We’re talking about how to design one of the biggest platforms on the internet. Of course there is a compromise. No one is advocating for removing the button, but arguing that the UI is somehow deficient for people wanting to download binaries is really missing the purpose of GitHub.

It's an additional feature of GitHub that literally everyone uses. Therefore it has purpose. I think it's ridiculous to argue against it.

Explain to me how developers or the UI would suffer from easier access to releases?

Literally everyone? I’ve been a software engineer for ten years. My company doesn’t use it, and no company I’ve worked for has. I guess they are not part of “literally everyone?”

Explain to me how GitHub working on one product feature (releases) has no impact on how much they can work on others. Apparently in your rich enterprise software career you’ve found that resources and time are limitless? Or maybe you think it’s trivial for a platform like GitHub to change their UI.

This smacks of lots junior software engineers I’ve worked with who think problems are simple and solutions are easy because they’ve never actually DONE anything. I get that you’re very convinced that this is easy and cost less but it’s pretty clear to me you have no idea what you’re talking about.

Again. I've said before that release downloads are an additional feature. But it's a feature most people use. Neither did I say it was easy, nor it was cheap. Just that it makes sense and that it doesn't take anything away from the professionals regarding UI quality or focus.

No, what you mean is YOU use it and you’re assuming most people use GitHub the way you do. GitHub is first and foremost a platform for GIT. Git has nothing to do with releases or file downloads per se. Time spent improving the releases UI is time not spent doing other UI improvements. If you need more proof that it’s not worth it to spend time on the release UI, just take note of the fact that GitHub is not spending time on the release UI. If everyone was using it and it was deficient, do you really think that would be the case?

It makes sense from a pure UX perspective. But of course the real goal of GitHub is to make money, and their paying customers are mostly corporate entities using it for enterprise development. Unless those companies decide that a download button/better release feature is desirable, it's not likely to happen.

Most corporations tie GitHub into their own build system so such a feature isn't likely to be considered useful. They pay for GitHub to reduce development costs, which is why GitHub spends so much effort on analytics and the dev experience instead of open source/public users.

Thanks for understanding what I was getting at and your well written 'realistic' addition to it. There's not much I can add besides saying you're absolutely right.

Why would your company use that? Did they use github for public applications targeted to non-techincal users? Because that's what that page is for and what a huge chunk of Github users do.

A huge chunk of GitHub users? Citation needed. Sounds like what you mean is you and your communities use it that way.

I use it both ways. As a software engineer I use it for various packages, which don't even need a releases page. But also as an end-user of open source software, I use it to download pre-built binaries of said software. Idk if you know, but there's a lot of open-source software out there. And github is the most popular platform for hosting it. And when I say software, I mean the kind where you don't expect your users to know how to build it from code themselves.

If somebody doesn't have an idea of what they're talking about (allegedly) then it would be far more productive to explain it than to keep arguing about it without actually solving anything.

But if you want to put a some text and pictures in very specific locations and never worry about them suddenly jumping into random places, Excel is actually better than Word. That’s why people tend to use Excel for all sorts of weird purposes like that. Unlike with Word, things actually stay where you put them.

Yes and there are definitely people who use excel for art. Just like there are people who use GitHub for its releases page. It’s just not the primary use of either program.

I’ve seen some of the impressive pixel artworks people have made in Excel. However, I prefer to do Excel art by writing a bunch of wild functions and drawing a stacked line chart from the resulting data. The graph itself is the artwork, while the cells behind it are just a necessary part of the process.

not only the ux, some devs make it absurdly confusing to find a binary.

I don't want to throw anyone under the bus, but there's this one niche app.

their github releases at one point were YEARS out of date, they only linked to the current version in seemingly random issue reports' comments. And the current versions were some daily build artefacts you could find in a navigation tree many clicks deep in some unrelated website. And you'd better be savvy enough to download a successfully built artefact too. And even then the downloaded .zip contained all kinds of fluff unnescessary for using the app.

The app worked fine, sure, but actually obtaining it was fairly tricky, tbh.

These build artefacts probably weren’t meant for end users, that’s why they contained the “unnecessary fluff”.

absolutely, but they were in general (IIRC) suggesting them for the main downloads, but just not telling anyone outside the comments, which was the weird part

GitHub has bad UX for a lot of things

The Github UX is amazing if you ever had to use gitlab or bitbucket

Comparing bad to bad doesn't make any of them better lol

I've gone nuts trying to download a single file from the git website on my first interactions with it (because somehow adding a download file button when you're viewing a file on the site is just too much to handle)

It's not black and white. I actually liked a few things better about bit buckets UI. It's been too long to remember specifics though I think it was concerning PRs and diffs. I still think GitHubs review UI is too complicated. It took me literally years to fully understand it.

i really enjoy the lack of dark mode and the way it doesn't work on a tablet

My bad. It indeed is black and white. There can be no redeeming aspect of bitbucket. Fair point

It does actually have a dark mode now! Still not great otherwise.

I'm not so sure. I seem to be able to find my way around a GitLab project in much fewer moves than a GitHub project. But maybe I'm biased because I use it all the time at work. I know they change the sidebar a lot, though.

The worst part about Bitbucket is the horrible, godawful, practically useless search

That's not really what it's designed for though

It doesn't have to be a compromise imo. Most people just need a visible download button on the front pages. Wouldn't hurt devs at all. I mean, even devs sometimes struggle with this lol.

It doesn't have to be a compromise

You keep using that word. I don't think it means what you think it means.

Any change to appease you would be a compromise, you understand this, yes?

I've bounced off GitHub more than once trying to figure out how to download the .exe file that I assumed must be somewhere. Honestly I still don't understand the interface and I've submitted bug reports for Jeroba on there. I might have even used GitHub for a project once? Every time I look at it it's overwhelming and confusing and none of it is self-explanatory. But, that's fairly true for a lot of stuff in programming.

If there is an exe, it's under the releases link. On desktop it's on the right sidebar below "About". On mobile it's at the bottom after the readme blurb.

It's not obvious because the code is the main focus and GitHub would much rather people host their releases somewhere else.

And even if releases are hosted on github, there should ideally be a download links page somewhere that presents the different binaries or installation files in an easier to understand format, especially if the software is designed for non-developers.

That's where it is? I've been sneaking my way in by clicking tags and then the releases toggle!

I swear they move the link to release page every few months.

They purposely hide it, because they don't wanna tend to normies

I fixed it for them

What about up by the name of the repo? Your suggestion still looks almost reasonable, I like it!

Yeah actually that could work as well. Would be a really easy greasemonkey script

And then just push it to the main branch of GitHub, I'm sure they'll accept it ;)

Worst part is that this used to be a separate tab in the repo navigation. I still cannot conceive of a reason why they would move it from there to some random heading in the middle of the screen, except maybe so they can sell more GitHub trainings.

I've been using github for what, 10 years now? And I had no idea there even was a releases page.

A lot of projects don't use it or forget to update it for multiple versions so you probably aren't missing much.

If you use it as a developer you don't care about the releases page. You want to see the code and for latest version you just need the git tags. But I've also used it for stuff I just needed to run on my machine as an end-user. And for those you turn to the Releases page. That's where pre-built binaries go.

But it also depends on the target audience. Some projects, even if meant more as software to run than code to import, still target mainly developers or tech users in general and will not have more than just instructions on how to build them. Others, say a Minecraft launcher, or some console emulator, will target a wider audience and provide a good Releases page with binaries for multiple platforms.

This is really bad on mobile too. I usually flip to desktop mode to get to releases page quickly.

TRUE. the first time I used GitHub, the releases tab being all the way at the bottom in the mobile view confused me for a good while

I agree. Whenever I link someone I try to make sure to link directly to the release page.

Honestly, releases and the readme could be the first page on their own, you can push the code to another tab as long as the clone button is there. There's at most a 5% chance I'm just gonna raw dog the code straight from the browser anyways.

After downloading code from GitHub for years I can still take over a minute finding the file I want to download at times. Now that’s not long, but it’s why I’m there 90% of the time.

On mobile, they hide the code by default. Though the releases are still hidden underneath the readme.

He eventually found the executable by Googling for it online and is now part of a botnet.

Then created a GitHub account to post three separate issues complaining about how the project's executable is an obvious Trojan, patting themself on the back for keeping the community safe with their expert sleuthing.

about how the project's executable is an obvious Trojan

Which I bet was only obvious to him when Norton Antivirus told him

The next generation of script kiddies is going to be iPad babies. It’ll be interesting to see, since the majority can’t use anything in tech unless it’s an app.

We built computer labs in schools, to teach kids how to use computers. Then we decided computers are ubiquitous enough that we didn’t need computer labs anymore. And now we have an entire generation that doesn’t know how to use computers, because they use their phones and tablets for everything instead.

I saw a tweet that said something like "It's amazing that somehow we were only able to produce a single generation that knows how to properly use computers" and now it lives rent-free in my head.

Meh, maybe 10% of a single generation at most know how to use computers. Technically savvy millenials vastly overestimate how technically savvy other millenials are.

Even if it's just 10% of millennials, that still feels higher than both the older and younger generations. I'm in my 30s and a lot of people I went to school with can at least do basic things on the computer, since we had computer classes in primary (elementary) school and high school.

I think there was a golden 20 year era for learning basic computing. If you were a kid somewhere between 1985 and 2005 you had to figure out some slightly more technical things to use a computer. I'm late Gen X and so was exposed early on to the Commodore 64 and MS-DOS, but kids working with Windows 3, 95 and 98 would have developed similar skills.

The iMac was the herald of the end.

Genuinely curious: what made you think that? The iMac itself doesn't really strike me as a "simplified" computer, but I might be missing something.

Meh, lots of Dino gaming, not a lot of computer tinkering as I recollect.

fr, whenever i open the terminal on my school pc everyone immediately thinks im 'hacking'

sir that is just how i update my programs

Eegh, even in high school (thirty-something Millennial here) I got that. "Woooaaahh, is that code there?!?" "Uhh... it's an article? It's in plain English. You know, your own native language? There's even a class at this school called that. I know you know this because you were in that class last period. What I'm saying is, I don't understand how the same language you just read out loud an hour ago suddenly looks like arcana on a computer screen."

... It's extra weird because no one ever just happened to go shoulder-surfing when I was actually programming. 🤷

I'm a millenial who does tech support in a school and I see this every day. Older people and young kids generally are pretty clueless about doing anything in a computer.

I always thought the generations after the millennials would use a computer as second nature as they would be born when computers were already everywhere. Instead, they are just as useless as boomers.

But millenials always manage the basics. And learn stuff quick when they have too. I doesn't matter if it's a teacher or a janitor. It's a different mindset.

I am my companies best employee, and am now a manager for the sole reason i know how to concatenate and use find and replace in excel.

I don't think the percentage for gen X is much lower. But those people simply engaged with a kind of computer technology in their youth that is irrelevant today, and had to keep up with a lot of new things since then.

Whenever one of my closest friends (early 30s) needs help it's like helping my grandparents.

Every millennial I know, knows how to use a computer.

I graduated high school class of 2005 in a random rural high school in North Carolina. Everyone in my graduating class knows how to navigate a file system, ie knows how to find homework.txt in My Documents/Homework, can type an essay in MS Word and could do a simple invoice or something in Excel. I don't think they even offered programming classes, and I don't think I met anyone who took CAD drafting or whatever, not until college.

If you mean "point and click" level of proficiency, sure.

I have no idea what level of proficiency you had in mind.

I also blame Apple and their walled garden approach to software

A lot of schools have Chromebooks too. You're not doing any serious business, CAD, Photoshop, or programming there.

I have a feeling that the OS in question here is Windows. Not as bad as Apple's walled garden, but similar results.

I grew up with windows and it's sloppy implementation of a lot of things is a big reason why I got into computers because it let me fuck around with things under the hood easily. I remember messing around with the registry to do things that you couldn't edit in the settings guis.

Have you tried Linux or the BSDs? Having spent a lot of time on Linux and Windows, the former feels like a well oiled machine with many fine tuning screws, while the latter feels like a rusted old trunk that needs a crowbar to get anything done.

Of course, Windows being so janky for power user stuff made Linux a lot easier for me to pick up in comparison

I don't want to hear that Apple was right. "What's a computer?" What isn't these days?

I forgot how much I hated that commercial. And I hate even more that it was ahead of its time.

I wonder who is going to write the apps in the future.

Chatgpt, of course..

Ugh. You’re probably right. Finally all those idiots who come up to me going “I’ve got a great idea for an app” will actually be able to release their great idea :)

I used to be able to say “ideas are easy, work is hard”. Now we won’t be.

I'm yet to hear anyone saying that chatGPT can navigate the complex series of design decisions needed to create a cohesive app (unless of course, it was trained on something exactly the same). Many people report spending an inordinate amount of time rectifying the mistakes these LLMs make. It sounds like a glorified autofill (I haven't used them yet). I shudder to think about the future of the software ecosystem if an entire generation is trained to rely entirely on them to create code.

LLM is great for writing code in small snippets. I’ve used it for quickly writing batch files, for instance. I couldn’t be bothered to look up how to format something obscure. So I use an LLM like ChatGPT to do the bulk work, then I just double check what it gave me.

I wouldn’t use it for anything over ~100 lines at a time. Just like with long conversations, it will have a tendency to “lose the plot” and start forgetting things that it said early on. Because as things get added to the conversation it has to parse more and more data. So it’ll start to drift off topic as conversations get longer.

It can also be handy for debugging sections of code. Because programming is just a form of language with strict grammar/diction/spelling rules. And a LLM will be really really good at spotting stupid grammar mistakes. It’ll instantly notice your missing semicolon and point it out to you, which can save you a ton of frustration.

Just like with any tool, how well it works is entirely up to the user. It will likely progress to the point of being able to manage longer code eventually. But right now it’s still incredibly useful as long as you accept its limitations and work within them.

I think you’re right at the minute. Whether you’ll be right in the future I’m less certain.

and they're going to be precisely as nonsensical as those AI articles are

sure, you can get good output from LLMs, but companies are absolutely not going to bother putting in the effort to do so, as not putting in effort is the entire point.

it's at least nice to know that corporations will enshittify themselves out of existence, while one guy living in a basement will silently release something they poured their soul into and it sells 5 billion copies in the hour

AI for the heavy lifting, some poor overworked freelancer overseas fixes issues and refines, and then maybe, mayyyybe a domestic review team of senior coders for pen/security testing.

!remindme 2030

People wrote software before there's was computers for them to grow up with. They'll be able to develop these skills in university's, colleges, coding courses or online.

I grew up prior to the app world. My exposure to computing during highschool was word, excel, access and once we used PowerPoint. Nothings changed, people are only taught what the teachers know.

I started from a similar background in school. Learning from books in the library and coding on a sheet of paper. Opportunities to get that in a real computer was hard to come by. Some teachers helped by pitching in to get me a few hours in the school lab. Those who like it start learning well before the resources become available. You don't need to wait till UG to gain those skills.

That said, how often do you see kids these days using a real general purpose computer suitable for coding? Like a desktop or laptop? Not phones, Chromebooks or tablets. In fact, it's bewildering these days to see programming tutorials start with a statement saying that you need such a device. It was a given, back in the day. And the other stories here don't paint a good picture.

It's probably the same amount as before. More phones and tablets haven't had a big effect on the amount of general purpose computers. There's devices today like raspberry pi and Arduino that fill the same niche as older general-purpose computers.

Your assume things are different and must be worse. This is a take old as time. Socrates complained about the youth no longer taking the studies as serious as his generation did. The world would have fallen into complete chaos if it were ever true. It's the conservative myth that things were better and can only get worse.

These kids accessing websites that tell you that a general purpose computer is needed, would have to rely on textbooks and magazines to get the same information in the past. A much bigger barrier, even identifying which ones you need.

To be fair, there has been a lot of complicated stuff to know/fiddle/find out to compile even a hello world, especially on windows (I guess?).

Skillsets skillsets, when the darn thing needs jre older than the one you have installed or tiger.dll is missing, what do you do ... ?

It's always easy until it isn't, and todays youth is probably more tech savy than what my peers was back in the nineties.

Skillsets skillsets, when the darn thing needs jre older than the one you have installed or tiger.dll is missing, what do you do … ?

where's waldo.dll when you need them?

Sherlock is command line only too...

Follow up post.

"I don't want to write a fucking essay nerds! Just make a GUI and put it in an .EXE!!!!!!1111111111 spittle sp[pzpzzzzzzzqawjpoidqweiofrjowqefj"

If they pay me more, I'll make them one in Visual Basic and trace an IP address.

Also, it's literally a script for stalking people on social media. So it's pretty clear why they want this script so bad.

Oh absolutely, anyone in a red team position is more than capable of running a few command lines. The guy is without a doubt trying to stalk someone

Why would you even need a script for that? Like, what functionality is it actually providing that can't be done through the app / web UI

It’s only a script. The software is command line. There is no native or web UI. The script isn’t some additional interface, the script is the software

https://github.com/sherlock-project/sherlock

I meant the app / web UI for whichever social media lol

Like, if you wanna stalk someone on Instagram, what can you get out of a script that you can't get by just opening their page the normal way

"why doesn't this python command line script have an executable ui?"

Why is this executable web UI distributed as a python script?

Why do I have to have python installed in order to use it? Why don't you bundle all the dependencies with the download?

Closed as resolved

five years later

i found this through google search and it says it's resolved but there's no information what the problem was and all of the links don't work anymore

links to 11 year old thread for tangentially related Windows Vista problem, locks current thread

Why don't you bundle all the dependencies with the download?

This is one reason I like statically compiled apps. You can just give users one executable and it'll work. This is common with apps written in Go, but it's doable (with some caveats) in C# now with AoT in .NET 8.

Assuming the user uses the same OS that the developer runs, and that they release a statically compiled app for. In this example, I see the project is python and docker is mentioned in thrbdocs, while not 100% my bet is that the output would still not be the .exe file that thhis entitled asshole is demanding.

This whole thread makes me feel so much better about my struggles with github as a non-developer. I thought it was just me being an idiot

If it helps, even devs have problems following the install instructions.

It could be for a lot of reasons. Usually it's because it's open source and we can't test it for every possible configuration. Or we are just trying to code, not deal with the dozen other setups.

Me in particular, all my application projects don't include node versions, and assume Linux. Even I forget that sometimes if I'm loading a old project and suddenly it doesn't build, and I have to futz around for an hour eupdating packages.

This is why I was told to always write instructions or documentation for dummies, because we never know who is going to use them and it might come back to bite us in the ass. Seems to be a rare thing, since most of the tutorials or instructions I've seen during my life (real and Internet) assume people know or omit important details that seem minor or the formatting is terrible (use screencaps if possible, make it easier for everyone).

Seems to be a rare thing,

Didn't you know? All the cool kids these days skip documentation and just hang out on discord, where you can get a laggy response to your query about build dependencies in 2-3 business days.

Reminds me how many years ago I was complaining that people would go ask questions on irc instead of reading docs or posting on a forum so it could be indexed. Looks like nothing changed

You took that phrase wrong, I meant about people doing tutorials or documentation for dummies, that’s the rare thing, most are done assuming everybody knows everything and as such are poorly written/detailed/explained.

I try to write documentation/instructions for dummies, because often, I'm the dummy when I have to dig back into the code again after not touching or thinking about it in months or years.

my application projects don’t include node versions

Well, that's just a better security stance against supply-chain attack right there.

I am a full-time software developer and everytime I need to merge or rebase, I Google the commands... just in case

If it makes you feel even better, I'm a software engineer and I had lots of trouble learning to use GitHub and git, it's embarrassing to admit it but I'm super glad I learned!

Git isn't properly taught. I've studied programming both in college and in a boot camp, and both times they rushed right over git, showing only the bare essentials. This left me unprepared for the real world. I didn't know how to do basic stuff like exclude files or even undo changes.

It's so complex, they really should have a separate class for it.

Do you have a proper good tutorial to recommend?

I like the git katas which go along with Johan Abildskov's book Practical Git. I recommend the book, but you don't need it in order to do the katas.

Same. I learned about the 'releases' section only recently thanks to some kind Lemmy user (kinder than some I've seen on Lemmy and reddit discussing this same image, some people are openly supporting gatekeeping of software).

It's a command line tool. If you don't know how to install it despite having the instructions, you don't know how to use it too.

We've all felt this at least once be honest with yourself.

Yeah I was like yes why isn't there an obvious download binaries tab easily found (there is sometimes right?)

Gold goes to Qt though, hell to just download and decompress it...

there is, it's called "releases" and it's like 2 clicks to download an executable, it's not a github issue at all, and github isn't meant to be where you get your executables anyways

I still do sometimes. Wish they release a build so I don't have to download all the dependencies and learn how to use a new program to build the damn thing

If you're talking about the repo in the screenshot, it's a python script, so a binary release is going to be fun.

If you're talking about GitHub in general, you can download binaries from releases, if they're provided.

It is a lot easier now that even Windows has a decent package manager tbf.

Git gud.

git: 'gud.' is not a git command. See 'git --help'.

Does “got clone *” work or anything that would?

It ain't called git-hub for nothing. The social network for gits. How else are they supposed to behave?

I'm pretty sure this is aimed at websites that have a "download" or "get x now" link on their website that just takes you to a git hub page with no obvious download section. It isn't uncommon, and it can be frustrating. At the very least, it's a bad user experience.

The medium internet user doesn't even know what git is, so I think it is very likely that a lot of people don't understand the way github works and are very upset by how "difficult" it can be to get an installer from it.

From someone in computer networking classes: "I don't use GitHub. This is too complicated" Like bruh. The instructions are right there in the readme.

There's also the time where we were asked to read temperature from a sensor, and everyone went straight to chatgpt. Meanwhile, first search result, full repo with full noob instructions.

Is chatgpt the default starting point for inexperienced / early career/ students now?

As a CS student, yes absolutely. These people then complain about paper exams and when the code gets complex enough for the AI to make mistakes. I've seen a few people drop out in programming 2, and my web 1 class was decimated because we were doing more than leetcode exercises. It's a real problem that so many people are using it as a crutch.

I'm not a developer but I write a lot of code for network infrastructure automation... when I started learning I was already a network engineer so I figured it would be a cakewalk. I think it takes a certain type of person (patience, persistence, tenacity, etc) to excel in a computer science field. I'd reckon a lot of young people think the jobs are all pretty sweet and cushy

Why are you surprised?

I'm neither surprised nor unsurprised. I'm middle aged and don't have much insight into what university students are doing day to day.

Computer networking was the most complicated class I took. How can GitHub be too complicated compared to the class? Or is it a non low level computer networking class?

This is literally the third year of the diploma. This is not even source control. This is literally installing the software provided with the instructions provided

But as I seen both, networking is easier than programming IMO. Networking is mostly knowing a lot of things to be able to reuse that knowledge Programming is actually creating things and solutions to problems, and is more complicated, at least for me. But I still prefer it as I actually feel mentally challenged (pun intended)

My personal issue with github is more the placement of the actual download links, sometimes its harder to find than the real download button on a dodgy pirate site without ad-block.

The chair OOP posted from

WTF is this?! Who uses this stuff? How can you treat children like that?

It's to prevent a small child from falling arse-first into the crapper and causing a blockage.

Not required. There are seat size adapters using 80% less plastic to do the same thing. Without strapping your kid to the toilet.

Look at that grin. Those straps are for YOUR protection

The problem with github isn't really a problem. It's just accessible enough to borderline tech people who want a one click solution to a problem. They can find it, but using it requires more skill than they have. It's a code repository, not an app store. The most useful things I find on github aren't from some massive app developer, they're from some guy who happened to have the same problem as me. Rather than screaming at that guy for an executable, level up. Learn something.

Or head over to the releases page (just saying, it can be an app store too).

Basically, if there's no exe ready and you don't want to learn to make it, that means it doesn't exist for you. The github page might as well just say "Coming eventually!".

Tbf the released page can be hard to notice/find, a lot of projects who use it simply have links on the main page to it because a portion of users will fail to navigate there

I mean I code extensively and it still pisses me off they kind of don't make the "download zip" more prominent or explain to noobs that this isn't compiled/ plug n play....nor are most of the apps for Windows users, really.

This isn't the job of a Git repository nor is it for GitHub, this is an issue for developers which shouldn't use it as their main download way.

The download zip is not meant for the average person and frankly useless for most projects. I don't know why you expect a Git repository to explain to you that bare code isn't compiled or plug and play? How would GitHub know other than you informing them that the app isn't for Windows?

I don't think you understand the concept of what Git and GitHub even are and their intentions.

There's no qualification to be a developer to access github though, I think is what the person you responded to is saying. It's entirely possible for a user to end up at github without a true understanding of its purpose. Therefore, it would be helpful if it was more clear to the average non-developer user that what they're looking at is a code repository and is not meant for general consumption.

And that's the problem with modern internet and consumerism. I get your point, but the "I'm here, so I should be made comfortable and tended to" mentality really has no place in some situations. If you end up on a car parts website and have no idea what's going on, you don't just comment "Hey, this is really complicated, and no one warned me. Please consider making it more noob-friendly" because people usually know better, and understand that some things are outside their grasp, and that's ok. This can be applied to academia sources as well. You would rarely see "What the hell is this all about?" below a rocket science article. So, my point is, GitHub is for people who at least know how to open the command prompt on windows. Maybe they should use this as a warning next to any GitHub link, idk.

I agree with most of what you said but it wouldn't hurt to create a watered down version of the site and put it on a subdomain like noobs.github.com .... There can be separate UIs for different kinds of users.

They could ask when you register an account what you intend to use GitHub for and what your familiarity is.

Blaming bad usability/lack of features on the user is just what it: a bad excuse.

I see you you've decided to take the road of not reading anything that has been said. There's no bad usability OR lack of features for literally anyone relevant to these platforms.

GitHub adding releases was the real UX mistake.

Anything outside of code repository stuff is outside their lane.

Start a new startup or something to solve that problem. Too late now that it's under Microsoft.

Gatekeeping OSS is a thing now?

Maybe I'm misunderstanding.. but are you saying GitHub, the corporate entity acquired by Microsoft for 7.8 billion dollars 6 years ago, is a champion of the free and open software movement and that needs some rando on the Internet to stand up for it?

People have lived through many cycles of Microsoft doing this shit. They don't deserve defending.

Maybe I misunderstood your comment. I'm talking from the layman's perspective looking for a stable build of whatever the software is.

"

Anything outside of code repository stuff is outside their lane

" sounds like you're talking about non-technical users when that was the context of the original comment. I understand what you mean now though, and I somewhat agree.

The machine spirit requires that you submit the correct incantations

The thingmabob that does the job is bippity-boppity-boo.

like this?

# Let Git take a rest with some yummy awk chocolate logs with delicious nuts and seeds, and don't be pushy!
git reset --hard $(git log --reverse | sed -n 1p | awk -F "[ ]" '{print $2}') && git push -f

EDIT: Don't actually run it.

Can you explain what this does? I’m thinking something along the lines of reverting all commits except the very first one?

You are correct! It sets HEAD to the first commit and then force pushes, deleting everything after HEAD.

Though, it only affects the currently selected branch.

I have to say that I absolutely love the title this man chose to share his anger.

You guys realize this was on a joke community, right? Most of the original comments missed it too...

r/github is a joke community?

The original text was not on github.

Saw it on copypasta yesterday. It's possible this is an old screenshot and I could've seen the repost.

EDIT : seems I'm wrong and this is just an old picture.

Yes, I think that most of us realized from some of the self-aware wording that this is a parody. But like many parodies it's a real trope taken to a silly extreme, so we're talking about users who fit that trope (including ourselves, sometimes!).

Of course this guy wants to use sherlock

I hadn't heard of it, but it looks like it wouldn't have much use outside of stalking or doxing.

pyinstaller and py2exe would've been helpful for this person

It's more helpful if the developer configures a CI system to produce an executable. Stops people asking about how to do it.

I think the entire point is that this stops people from filing a bunch of stupid tickets saying the .exe didn't work on their iPhone or some shit.

That guy is not asking, is demanding. I use lots of open source software and am aware that the developer is often stretched thin. If I can't help with the project (can't say I have in the past two decades) I want them focused on what is important and what probably keeps them motivated, writing code and adding cool features. If they have time, fix bugs. If there is more bandwidth, write documentation.

Not wasting time making an executable for every OS out there because some ingrateful asshole is too lazy to figure out how to read instructions in plain English.

That's the generation that doesn't understand computers at all. FFS.

Theres a sweet spot before like 2010 where computer skills are still prevalent enough to be taught en masse, but the upcoming generation seem to be learning touchscreen keyboards and app stores long before they ever use a mouse or try to download off a website. The older generation has had time to adjust but a lot still struggle with tech.

Apparently UK universities need to teach how directories work to first year Computer Science students. They've grown up with polished, closed devices and many only know apps and the basics of using the internet.

Man these comments are fun. The patricians defending the (admittedly) bad UI/UX as the skill-hurdle it is, while the rest are finding inventive ways to rephrase “gib button plz”

The UI is fine.

It's just that Github is a code sharing and collaboration platform for developers, not a software package distribution platform for end users.

While it may have begun that way (and may still be the overwhelming use case, idk the breakdown) devs are using it for FOSS releases, and that’s where the ‘less literate’ crowd enters. Sourceforge was very simple to use, and had a consistent layout. GitHub wasn’t meat to be a SF replacement, but here we are having this discussion

But it is often additionally used as a software package distribution platform, so it would be helpful for some developers to reach their users by having a clearer path to the most current release.

I can personally do without a special button, and the op is obviously making a joke, but why not improve the UX for some users? It's certainly possible to do this without impacting the smelly nerds who wouldn't use the button.

Plenty of developers also use GitHub for software distribution for end users, so that's where the problems lie. I'm not saying GitHub should change their UI to match something the site wasn't made for, but it's still an issue for people who choose to use it that way.

Me when I have to do anything other than copy and paste build, or package manager, commands /s

Nah but the dude has a point

"I went to the farmer's market but they didn't sell me a complete meal, only all these fucking plants. They think everyone's a cook, and expect to know cooking, but i'm not and I don't. Make a fucking meal and give it to me! Stupid fucking smelly farmers" -- that's how that sounds

That's on point. They should have a restaurant there at least. Smh. /S

I mean, there is at least one, it's called the releases page. Maybe what you want to eat hasn't been prepared there, though. That's not because they don't realise people can't all cook, but because they haven't done it yet.

Just put a link to the playstore or another store where normal human beings can get the software we are interested in trying or buying /s

I'll call my guy at Google and tell him to get right on that. I'm sure the my C++ code will run very well on Android. /s

(It looks like this specific application was written in Python, so better, I guess)

Snap store or windows store then. Just put the link and not commands for us to compile and do that evil hacker stuff.

To strain your metaphor, I think what most people are looking for is a sign that says "FOOD COURT THIS WAY ->"

If they just had a prominent link to "download latest stable version" in a consistent place, people wouldn't be so confused (and devs wouldn't have to do extra work to try and make it obvious).

The specific repo in question had (and still has) a USAGE section.

And again, I have to point out that it is a python script, not an executable - it's not standard, common or expected that python scripts be provided as a standalone executable. What makes you think even if there was a download link the guy would have gone down to find it?

Metaphors aside, the guy who originally posted this literally went on a source code-hosting website that primarily aims at making source sharing easier, yelling that he didn't want to see said source-code, only an executable for a product that literally does not compile to an executable, did not bother reading the instructions, but instead posted on a public forum, in full arrogance, insulting developers by calling them "SMELLY NERDS".

I'm astounded that there's still people defending this guy like that's a totally normal thing to do.

If you only want to download an executable, GitHub is NOT the best place to look for that. Yes, many developers do provide compiled versions of their code, and yes, it is often very convenient that they do so - but it is neither the intended purpose of GitHub, nor is it required that developers provide one.

But a lot of developers do do exactly that. They not only distribute binaries on their github, it is the only place where they distribute binaries. Github should probably recognize that it is a common use case and accommodate it better.

I'm also sure that a lot of people, like myself, took no notice of what specific package this user was complaining about, and are simply agreeing with the general sentiment that github could make things easier for non-technical users (which would, in turn, make it easier for developers since they would not need to field questions from users about how they download the software).

Not really, no. There's a releases section where the developer can upload an exe for example but it's really not easy to tell that that's where you need to go if you just want to use the program/script, etc and you're not a tech savvy person.

So yeah, the UI could be improved on that front.

It's more like going to a restaurant expecting them to make a recipe but instead they tell you to select this random list of things and then they cook it (like US Mongolian bbq places).

If you know what you're doing you get a good meal. If not? Ketchup on rice.

I know how to do it but I'm not selfish enough to forget how it was the first times. You won't convince me it's user friendly

The point, which you missed, is that going to github, a source code hosting service, to look for downloading executables for your specific platform - is like going to a farmer's market to try and get a ready made meal. You're at the wrong place, and it's not meant for you if that's what you're looking for.

Github is fairly user friendly, but it's users are developers.

I'm a developer and I hardly ever compile shit for my personal computer from source. I'd rather use a package manager, sure, but on Windows that's by far the exception to the rule and if you want regular users to use your app, it needs to be a downloadable EXE.

This. Building a random app from source and tracking down its many dependencies is a massive pain in the ass, doubly so on Windows where you have to jump through a ridiculous number of hoops just to install a C compiler.

This can be true and still irrelevant. It’s a free git repo host. Binaries are not its main purpose and random users complaints don’t matter.

But when consumers get in contact with Github - and they do get in contact at some point - it is to download executables, since a good number of consumer-facing software which isnt on an app store does simply release their executables on github. That twists people's understanding of what the platform is.

1 more...
1 more...
1 more...
1 more...

Absolutely. Github is a TERRIBLE way to publish software or computer files, in much the same way that oatmeal is a terrible bedroom lubricant.

What's the problem with github and what would you use to publish software or computer files instead?

Same thing that's wrong with oatmeal: Nothing, that's just not what it's for.

Github and tools like it are designed for codebase versioning. It's a great tool for developers who have a need to collaborate with others and manage releases/branches. But, it's really not great for distributing executable apps to end users because it's not for that. You shouldn't tell end users to clone a git repo and type make install, because that's not normally how people manage software.

If possible, the app should be packaged and in a software repository/app store typical of the platform. Chocalatey on Windows (Microsoft has their own Windows Store, but fuck that), Brew on MacOS...if we're talking about an end-user application for Linux, I'd recommend Flatpak because it's become the de facto one to rule them all; if you really must host something on your own website right next to a windows .exe I will say go with appimage.

You can get hosting for distributing end user apps, Github has a service called Github Pages for this purpose, for example. But especially in the Linux world, too many creators of little things like to just point you at their git repo and only accept user feedback in the form of pull requests.

Windows store, play store, snap store...many options for software publishing. GitHub should stay as a code repository

Not OP but many Linux project I follow, since they don't have many resources, publish their releases through Torrent, a seeebox is fairly cheap (something like €10 a month) and could be easily crowdfunded even for a small project, and isn't a huge expense anyway. And the site could just be a static page, or better yet the magnet link could be aviable on Github for people that want the precompliled binaries instead of the source.

E: did i say something controversial?

just go to the releases? yes it's slightly hidden but that's because github isn't supposed to be a way to publish release files, it's supposed to be a place to host and collaborate on source code.

but so long as the developer handles releases correctly it's just like 2 clicks to download an executable file..

That's just malicious compliance. They know they shouldn't provide easy access because it may increase accountability. It's silly

Yeah seriously, I don't understand why Github can't just have a dedicated download button. Instead you have to dig through the Readme to find it and it's in a different place every time.

1 more...

Sometimes I can understand this struggle. For example let's play a game. There is this app from e-foundation "Blisslauncher" it's the default of eOS. And since I like it but don't use eOS I want to download the apk from their gitlab page.

https://gitlab.e.foundation/e/os/BlissLauncher

So tell me, where is the latest release apk?

Is the only option to download build artifacts?

Yes, and they come in three variants, apiQ, apiS and apiR. And I don't understand the difference.

These are Android API levels: https://apilevels.com/

What's with the codenames? They're making me hungry lol

They actually call the android releases "cookies" because of this tradition for the code names. You can read phrases like "This will be fixed in the next cookie"

Ty, I thought something like that and this link explains it very well.

Can someone explain to me why github apparently has bad UX/UI? I always thought the UI has gotten really good over the years.

[Edit] Like there this huge argument in these comments about the release button being all wrong. ??? No clue what people have against it. I thought it was fine? You can use it or not. People link to it if they want it more prominent. Someone explain?

[Edit 2] Also what's up with the people who are vehemently against uploading bins to GitHub releases. This is literally what github is doing on their own repos. Not trying to say that anyone should feel obligated to release bins (CI/CD is a literal job title). People are releasing software for free because they want to. Let's not look a gift horse in the mouth.

Idk I'm gonna stop reading this thread. its driving me crazy.

Around last year or the year before that they changed the placement of that button, never really given much thought about it tbf. Just a minor annoyance.

But yeah it was like in the same top row as the code/issues/pull-requests/wiki pages. Now you can only access it from the code page inside a lateral panel. Before that you could just jump to the releases from the wiki page, as an example.

I find that when you know how to use Github, Github is pretty easy and close to perfect for what it is, a code repository.

I think that most people who stumble across a Github link through a Google search, probably like in the original post, want to treat it like an app store. The read.me is the description, so they can tell it kind of does what they need, but they're missing a big, green download and install button.

Let’s not look a gift Git horse in the mouth.

FTFY

I thought this was going to be a version of the penguin of doom copypasta.

That’s how it feels with alot of self-hosted AI stuff now. Even the youtube videos out there that start off with, “Hey guys, I’m gonna show you this super simple, easy way you can run your own self-hosted LLM. First pull up terminal…” and proceeds to spend a half-hour going over some kind of basic coding and cloning repos that’s still way above my head. Is it Git? Is it python? Is it both, what the fuck is going on? I just wanted an uncensored AI model that will generate My Little Pony furry porn, not a master-class in writing a bunch of seemingly random nonsensical commands.

Step 1) Download the LLM with git

Well, fuck we should have known that this requires a masters in computering. Dude these comands are easy, literally copy and paste. The instructions are literally handholding you to run it and thats still to complicated. Also who makes furry porn with a Large Language Model?

You made me chuckle. But let's all agree that learning to use git is a ball ache and isn't very intuitive. Throw repositories into the mix and lay people just aren't gonna get it. I think using git should be taught in highschool IT classes though, most people will never use it, but it will massively help those who do need to learn it.

Frequently repos say "git clone [repo url]" which i think is enough for most people to copy and paste. I'm a programmer and usually I just click things in my IDE to do git work for me so I'll agree its not an easy thing to use.

We NEED a rated R season 3 and that bitch will give me the script! ...

... /s

Just install stable diffusion via command line and download the models and Loras from civitai. It's really that simple.

I gotchu

LM studio

Thank me later. If you wanted the drawing shit then like that other guy said install Automatic1111

Yeah, I've been messing around with LM Studio for a few weeks/months now and compared to the alternatives, that's about the easiest thing out there. Setup through Command Line seems to be the norm outside of that. I was just messing around with trying to install the ChromaDB plugin for LM Studio and ran into that issue of the command line again. Like I don't know if they're talking about just the generic Windows Command Line program, if Git needs to be installed, is it in a python environment or does python need installed, and the guides I've tried going through seem to just skip over these basic steps and just assume you already know exactly what they're talking about, that seems like a regular thing, just not enough preliminary explanation.

Like, I've had some experience with coding over the years in various languages, but I'm used to a certain amount of hand-holding for basic guides, something like, "You'll need this installed from here, go ahead and load up this thing, blah blah blah." In most of the tutorials I've been seeing for anything related to LLMs or AI image generators or whatever, there's just rarely any acknowledgement of complete newbies to the process, it's just assumed you know everything they're talking about already. I realize it's alot of copy/pasting and it's pretty straight-forward, but it feels like many guides are just glossing over really basic need-to-know info.

That's cause it changes all the time, so it's very hard to maintain these things. Literally every day a new paradigm shift comes out kinda