I’ve been transitioning to Linux recently and have been forced to use github a lot when I hadn’t much before. Here is my assessment.
Every github project is named something like dbutils, Jason’s cool photo picker, or jibbly, and was forked from an abandoned project called EHT-sh (acronym meaning unknown) originally made by frederick lumberg, forked and owned by boops_snoops and actively maintained by Xxweeb-lord69xX.
There are either 3 lines of documentation and no releases page, or a 15 page long readme with weekly releases for the last 15 years and nothing in between. It is either for linux, windows, or both. If it’s for windows, they will not specify what platforms it runs on. If it’s for Linux, there’s a 50% chance there are no releases and 2 lines of commands showing how to build it (which doesn’t work on your distro), but don’t worry because your distro has it prepackaged 1 version out of date and it magically appears on flatpak only after you’ve installed it by other means. Everything is written in python2. It is illegal to release anything for Mac OS on github.
Wait until you install some package and then scratch your head not knowing how to run it.
Then think “I’ll figure it out later” but you never do. Only to be reminded of it a month later when you happen to see it scroll by in an apt-or-whatever package upgrade.
“Oh yeah, I forgot about that. I should check that thing out again” you think to yourself. But you never do. Repeat for eternity.
Helix Editor did this to me. They have so much documentation on their site about how to use the editor, how to extend it, theme it, etc., etc. What they didn’t seem to document, though, is that the binary is named
hx
, nothelix
:/When I’m confused like that, I check https://packages.debian.org and open the file list for the package. That way I know what binaries are installed.
There is also a dpkg command for that. Grep it for /bin/ and you’ve got your executable.
Ooh, I’ll keep that in mind for next time, thanks!
The fun part is that as a dev, you don’t really know that either. It’s just the file name of the executable. Anyone can rename that.
And even if it’s not renamed, you still don’t know, if your users need to call it with justhx
or with./hx
or some other path.Obviously, you should mention somewhere that the executable is likely called
hx
, but because that requires an explanation, there’s certainly a tendency to not mention it very often…
Devs who make the -h command actually useful are modern day saints.
If I install a package, I don’t even know what it installed and/or where.
I can’t believe Linux can’t even tell you what it installed where - even Windows can do that.
Most package managers have a way to list all the files a package will install
Interesting how we live in different bubbles ✌️
Yes the world of github and linux is vast and I am like a newborn baby. I hope to visit your bubble one day my friend.
My bubble is mostly lm, which comes in two flavors:
(1) useless repo made up entirely of jupyter notebooks and 28363 requirements achieved via pip freeze
(2) simple, friendly, well documented, runs
Just a small (or maybe big?) tip for you 🙂
If it’s for Linux, there’s a 50% chance there are no releases and 2 lines of commands showing how to build it (which doesn’t work on your distro), but don’t worry because your distro has it prepackaged 1 version out of date
There’s a tool called Distrobox.
You can install it (via CLI I think?), and then manage it the easiest graphically way via BoxBuddy (available in your Software Center), or just the terminal if you prefer it.With it, you can screw all those “Doesn’t work on my distro” moments.
You’re on Linux Mint? No problems, here’s the AUR for you!
✨✨✨ BONUS: Your OS won’t break anymore randomly due to some AUR incompatibility, because everything is containerized! ✨✨✨
Even if you run Arch, use it to install AUR stuff. Or Debian/ Ubuntu, add PPAs only via Distrobox.
It’s absolutely no virtual machine. It basically only creates a small, lightweight container with all dependencies, but it runs on your host. Similar to Flatpaks.
You can also export the software, and then it’s just like you would have installed it natively!
Your distro choice doesn’t matter anymore. You now can run any software written only for Suse, an abandoned Debian version 10 years ago, Arch, Fedora, Void, whatever. It’s all the same.I hope that was helpful :)
That’s great, but it should still be possible and well documented for people to run things natively. Some people want less bloat for technical reasons (maintaining a product with very little storage or memory). Tinycore Linux is my go-to example of the benefit of keeping things lightweight for a purpose.
When you’re maintaining a product that is based on linux, you’re surely qualified to port that thing to your platform yourself.
Open source developers are thanklessly giving away their work for free already, and for the many things where there’s just a github page it is just a one man show run in spare time. Don’t demand them to give away even more of their time to cater for whatever distro you’re using, just because you are not willing to invest the time to learn how linux works and also not willing to give a way a few megabytes for the dependencies they’re developing against.
All the discussions about things like distrobox and flatpak where linux novices express their dissatisfaction due to increased disk space are laughable. In the linux universe sole users have no power in deciding what goes, they do not pay anything and at worst pollute the bug tracker. Developers are what make up the linux universe, and what appeals to them is what is going to happen. Flatpak is a much more pleasant experience to develop for than a gazillion distros, hence this is where it is going, end of story. As a user either be happy with wherever the linux rollercoaster goes, or - if you want to see change- step up and contribute.
Why Linux will never be mainstream ^
No… It’s the users that are wrong and stupid.
Next time, try to engage rationally and in good faith with the commenter you are responding to :)
I did. Linux zealots can’t handle the truth about regular users and they mostly do not and will not accommodate them. This conversation has been going on 40 years now.
Did you forget the part where everybody is getting it for free and devs aren’t getting paid to do this shit? If you want your hand held, use Windows or MacOS.
Status quo it is.
Each to their own. Linux is, in my opinion, about choice. If one prefers everything to be ultra minimalist, native and lightweight, then that’s fine.
I personally just find to be Linux’ most overlooked strength is containerization. It’s one of the main reasons why most servers run Linux, because of things like Docker. On the desktop, containers are way underutilized, but that’s now slowly changing with things like Flatpak or Distrobox.
A distrobox container is technically more bloated than a native install, sure, that’s correct.
But, in my opinion, it’s like saying “Drawers and closets are bloat for my apartment. I throw everything on the floor.” Yeah, now you have less things in your room, but it looks like shit, you can’t find anything and you fall over your tubberware that’s mixed with your underwear and shampoo.
Having everything collected in a container only costs me a few hundred MBs and a small amount of RAM if needed. But, literally every PC has more than 50 GB hard drive space and 8 GB RAM. If your system slows down because of one container, then your PC is the problem, not distrobox.
That absolutely doesn’t mean we should stop optimizing software of efficiency. But it can help us to spend our time on more important stuff, like fixing bugs or adding new cool features.
I really love Flatpak because of that. Sure, it has some drawbacks, but as soon as more devs support Flatpak officially, and iron out some issues we currently have, like misconfigured permissions, they’re (imo) the best package format. Why should a distro maintainer have to apply every software change to their package format? That’s needlessly duplicated work.
Oh cool, I’ll have to check it out! Thanks!
Be the change you want to see in the world.
I’m currently in the process of updating Slackware’s documentation, some of which hasn’t been touched in 12 years.
It’s completely out of date, so no one uses it anymore.
And because no one uses it, no one updates it.You’re doing “Bob’s” work son, thank you for your service!
As a devout SubGenius myself it is my destiny to use Slackware one day but alas I fear it is currently above my skill level, more documentation will help people like me greatly! PRABOB!
It’s easier to install and administer than Arch, and won’t break on updates.
But yeah, the current state of the documentation is discouraging.I’m more worried about package management I guess. Though I suppose now with flatpak that may be less of an issue. Still I use some weird shit, some of it is only packaged as a .deb or .rpm on their site, like the Brother printer drivers.
And yeah the documentation lol. I rely heavily on that or places like lemmy for linux help, which is why to start I picked a really popular distro with good documentation (fedora). It’s definitely something I’ll try one day though!
You can have a look at slackbuilds.org to see if what you need is available. It’s Slackware’s AUR equivalent.
You can install packages from there usingsbopkg
, which does handle dependencies.It does have the Brother drivers: https://slackbuilds.org/repository/15.0/system/brlaser/
Up-to-date documentation comes in the form of easy to understand text files written by Pat himself, that are installed with the distro. For questions, linuxquestions.org is the place to go. The main devs of the distro read and post there regularly.
That’s also what I love about Slackware. I wrote one of the main devs an e-mail and got a helpful, friendly reply half an hour later. That’s what Linux used to be like.Thanks! This inspires confidence! Seems like it won’t be so bad!
Look at the brightside: there’s no risk of an update resetting your progress
your distro has it prepackaged 1 version out of date
And the only reason you wanted to install the thing is because it’s a prerequisite for some other thing you wanted to install, which requires the latest version.
God, I hate that.
Then you do a clean up day and start removing shit you don’t know what is or even use. Then a few weeks later something doesn’t work and you don’t know why, but it was probably something you removed, so you go through the entire git journey again, throwing and taking the exact same punches to get things running.
The story of yt-dlp and ffmpeg on my raspberry pi.
When I first moved to linux I felt this same way. It gets better. Now days I fucking love those 15 page ReadMes and I’m not bothered if there’s no steps for my distro. The sheer volume of documentation surrounding linux packages is insane. There’s often a ton of ways to configure and manage the to fit your needs. That freedom is what I love so much about linux.
As for the ones with 2 lines, I don’t think I’ve seen that as much. I generally would avoid them unless the source was clear what the project did.
At any rate there will come a day when it starts to click. It’s just a marathon not a sprint.
Learning to read docs is basically learning how to learn. If good docs exist and you have the skill of reading them, your life will get significantly easier.
Just a reminder to https://sfconservancy.org/GiveUpGitHub/ and that GitHub is Microsoft.
One good alternative: codeberg.org
Tell this guy
The kernel repo on github is just a mirror. You probably knew, but they use just git.
I just wanted to make a joke, but tbh I really didn’t know so thanks for telling me
Torvalds actually hates GitHub
If your distro was arch, you most likely have the nightly build available on the AUR
Really love arch and the AUR. I’ve been tempted to get nix set up for the rare cases when there’s no AUR package or the AUR package is unmaintained. I figure if there’s no package in the AUR or nixpkgs, it’s probably not worth running.
I yet hope to find a unmaintained arch package to have a reason to write my own PKGBUILD file😁
Yeah. Pretty much.
The worst part about free Linux programs is that they have 0 visibility or marketing.
Almost everything I know of is from other people whom are far more passionate about keeping track of the foss landscape.
Sorry, guys I don’t check AUR every night before bedtime.
I release a lot of my software in GitHub and I’m offended at how accurate this is.
wait, does apple let users access github?
Yes, why would they block a website?
Well, they have blocked a mobile phones connection when you held it in your hand sooooo
“You’re browsing it wrong”
/s
Antennagate happened 14 years ago. A lot users are too young to remember that
I have never heard of that before
Iphone 4 had a shitty antenna design. This was the first iphone with a metal frame around, on the sides of the phone. If you holded it with your left hand you could easily accidentally short the two parts of the antenna, basically cutting all signals.
This was definetily a design fault, there was even class action lawsuit against Apple. When they asked Steve Jobs about this, he replied:
“You are holding it wrong.”
It’s a joke
Home brew is great!
As someone who works fairly extensively with all three major platforms… You’re definitely wrong about macOS here. Almost everything on GitHub that works on Linux also works on Mac, aside from GUI applications which are often more OS dependent. The readme pages often just lump Mac and Linux together as they can be pretty similar, especially for things written for interpreted languages (python) where it’s often literally the same.
I recently bought a MacBook Air M1 and I came at it from a classic “ThinkPad with Fedora on it” Linux nerd perspective. I got given a Mac at work a couple of years ago, and I warmed to it. I agree that Macs are great tools for DevOps work. I used to think they were just for posers but I’ve been converted.
Yep. I’m Linux at home but macOS all day at work. My employer won’t let us use Linux workstations (despite everything I work on being Linux…). Both are vastly superior to Windows.
Is it because they can’t run their spyware on a Linux machine ?
Of course.
My employer is the same and it drives me crazy. wInDoWs iS mOrE sEcUrE! Yet literally all of our software runs in Linux environments. We even tell people to build in Windows but target Linux. I had a M2 Max at one point because I finally convinced them to at least let me have that and was forced back to Windows because our stupid MDM software only really works properly on Windows. :(
Just home brew everything?
I home brew installed most stuff, yeah. I’m lucky in that I don’t need a whole lot of stuff installed. Just a couple of JetBrains IDE’s, a couple of browsers, iTerm2 and a handful of popular CLI utilities.
I really miss a consistent package manager on Windows when I have to use it for work. The website download and install method just grinds on me. I guess some of this is still prevalent on Mac and for CLI stuff I guess home-brew comes in.
Do you miss any customizability?
Came here to say this. Just get home brew up and running. One you have gcc and your other basic tools installed, there’s very few Linux guides that won’t work on a Mac. A couple shell tools have different names, but that’s about it.
Between homebrew and nix, the amount of foss macs can run out of the box is pretty close to some generic Ubuntu (nixpkgs is technically the largest repo out there, but not all of the nixpkgs are available on mac).
And that’s just regarding stuff that’s distributed pre-built with a package manager. Truth is, if you’re down to build stuff from source, you can just follow the Linux guide and everything will work right out of the box far more often than not.
GitHub is a place you can use to easily put a copy of your code online. Many people just want to build a working solution and move on. Building a useful GitHub project, with fancy stuff like releases, is work that isn’t really solving any issues. Many people don’t like doing it. Many people especially don’t want to invest time in proprietary solutions like GitHub. They might not even accept pull requests on GitHub.
Quality assessment though 😄
OP listened to some trolls and unironically picked Gentoo as their first distro.
It’s been a while since I’ve used Gentoo, but aren’t their repos fairly robust? I don’t remember having to use GitHub (or SourceForge back then) for much at all.