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.
deleted by creator
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…deleted by creator
Congrats on expressing that in the most passive-agressive and gatekeepery way you could’ve. I’ve been using Linux for the better part of a decade now, and know my way around the
usr
dir - however things work a bit different on NixOS, whose package manager doesn’t involve installation steps beyond adding the word “helix” to my packages list. I’m not great at reading though, so I absolutely would’ve missed something as obvious as the Installation page 😅 As for your beliefs about postmodern Vim clones, what’s the point (and fun) in the freedom of choice Linux offers if I can’t install and try out the latest fun spin on an old fave from time to time?deleted by creator
Who pissed in your muesli?
deleted by creator
Devs who make the -h command actually useful are modern day saints.
I think they meant you don’t know what the binary is called because it doesn’t match the package name. I usually list the package files to see what it put in
/use/bin
in such cases.
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
your distro has it prepackaged 1 version out of date
found the ubuntu user :D
Close, but not quite!
debian?
Right, so Ubuntu
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.
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!
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.
If your distro was arch, you most likely have the nightly build available on the AUR
Aur and pacman are 90% of why I use arch.
Also fyi to OP: never install software system-wide without your package manager. No
sudo make install
, nocurl .. | sudo bash
or whatever the readme calls for. Not because it’s unsafe, but because eventually you’re likely to end up with a broken system, and then you’ll blame your distro for it, or just Linux in general.My desktop install is about a decade old now, and never broke because I only ever use the package manager.
Of course in your home folder anything goes.
Also fyi to OP: never install software system-wide without your package manager. No
sudo make install
, nocurl .. | sudo bash
or whatever the readme calls for.And that is why Linux isn’t ready for mass adoption.
I had to fuck around for hours to make my wifi adapter work and everyone was referencing this one project on GitHub and the way to install it and what actually worked was to sudo make install.
You’re the first person I see that’s saying not to do that, I had to use instructions from the Linux Mint forum to try and get it installed the first time and no one mentioned that, I found alternative projects but none of them had clear instructions “You must have installed X, Y, Z first” without any explanation how to do it.
So, for new users, Linux is all about blind trust in strangers to make stuff work and if you have no interest in learning programming that’s what your experience will continue to be.
I guess you had to install lwfinger’s rtw88 backport? If true, then the problem was the outdated kernel used in mint (I guess 1.15.y at the time) should work now out of box with the new kernel update ubuntu (and therefore mint as downstream as well) released some months ago.
I think, it is 6.2.y now and in 6.2 rtw88 got a massive update.
I’m running Mint 22 (the one that just came out) so the kernel shouldn’t have been an issue and it worked with Bazzite (but I had GPU issue with that distro) 🤷
😮I see
Parsing poorly documented c spaghetti code is not a good vehicle to learn programming anyway though. The root issue here is the fact that interop between open source software and other oss, closed source software, and firmware is a headless beast where each user has to take on the project manager role.
Absolutely. Funky installs go in ~/bin. (Ok, plus the valve directory)
Everything else comes from standard repositories.
never install software system-wide without your package manager.
What’s the alternative of
sudo make install
andcurl | sudo bash
if a package is not available in AUR? I am unfamiliar withmake install
.Well personally if a package is not on aur I first check if there’s an appimage available, or if there’s a flatpak. If neither exist, I generally make a package for myself.
It sounds intimidating, but for most software the package description is just gonna be a single file of maybe 10-15 lines. It’s a useful skill to learn and there’s lots of tutorials explaining how to get into it, as well as the arch wiki serving as documentation. Not to mention, every aur or arch package can be looked at as an example, just click the “view PKGBUILD” link on the side on the package view. You can even simply download an existing package with git clone and just change some bits.
Alternatively you can just make it locally and use it like that, i.e. just run make without install.
😁I prefer yay to search and install stuff from AUR using a single command 🥰 and if you choose the endeavour flavour of arch, then you have yay preinstalled 😋👌🏻
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😁
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.
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. :(
Is it because they can’t run their spyware on a Linux machine ?
Of course.
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.
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!
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.
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 😄
People ask for money from Mac users.
They bought the hardware… So they’ll buy the software too!