The Linux Thread - The Autist's OS of Choice

  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account
The thing I don't understand, is why we even need XLibre. Xorg just works. OS people have an obsession with "le improving" everything ad nauseam, some "apps" which should've been finished long time ago, still get updates every day or every week. It's taking the Xorg base and relinquishing it from saboteurs who don't have any interest in desktop BSD/Linux/Etc. and allowing the X11 stack to be maintained without corporate attrition. Code the Free Desktop gestapo refused to merge in pull requests for Xorg proper had been conveniently included with XWayland. That and coupled with the fact they tried to suppress someone for wrongthink of preserving invaluable resources instead of futurism-fagging for Gayland speaks volumes as to why the fork didn't just die out.
It proves that Wayland is unnecessary and evil, and that Wayland lovers should be raped to death.
Lunduke really lost me with his take on the abhorrent and perverse surveillance state introducing ID verification under the guise of '"protecting the children"; A lie televangelists use to prop up their fucktarded boomer base.
Lunduke is a jew. Of course he supports universal surveillance of the goyim.
 
When the easiest way to set up a service written in python is to make a docker and just root-install all the dependencies as a big blob because shit just breaks with venvs or --user, maybe your ecosystem is garbage and needs to be overhauled entirely.
michael-scott-the-office.gif

venvs are already semi-cancerous because of how they work. And they should be mandatory for anything installed with pip, with the increasing reliance on Python on core OS functions you run the ever-growing risk of fucking up your install without one.
You'd think people would have learned from RPM hell.

Also I think this will just get worse with people using LLMs to code shit pulling in libraries they don't really need until PyPI forms fucking Dante's Inferno with how many cross-dependencies there are.
I think most people experiencing this have never had to depsolve by hand. Let alone depsolve before package managers became ubiquitous. Last week I was troubleshooting with a vendor and they wanted to install some old software that wanted older dependencies that weren't available in the OS channel, but I was able to find on pkgs.org or the like. Since the system was already broke, no harm there. Problem is, you install one and then 3 more pop up...then each of those has a number of dependencies. The guy at the company was about 10 years younger than me (and primarily a Windows guy) so he'd never seen this before.
 
I liked running pip install --user yt-dlp, but apparently that's now outdated or insecure or some other shit and the system complains with an error. If I wanted to invoke yt-dlp or other Python programs the old fashioned way, I now need to add venvs to $PATH or set up shell scripts as aliases for them.


I hate every single one of these people.
The way I did it, is ran something like
Bash:
python3 -m venv ~/.local
source ~/.local/bin/activate
pip install yt-dlp

Should go without saying, but you need to have ~/.local/bin added to PATH.

This way, anytime I use pip install blahblah it installs into my user directory automatically. This just werks, BUT, with one significant exception: this will break LibreOffice (it's gonna crash right after launch), which now needs to be launched thus: PATH=/usr/bin /usr/bin/libreoffice "$@"

To make it clear, using python this way will completely ignore all python packages from your distro's package manager, which, other than the LibreOfifice example above, have not given me any problems. Apparently you can do something like this python3 -m venv --system-site-packages ~/.local but I haven't tested this.
 
Last edited:
The way I did it, is ran something like
python3 -m venv ~/.local source ~/.local/bin/activate pip install yt-dlp
Abhorrent if true, using ~/.local for venv. Should have put it as ~./local/venv making it easy to clean up when you inevitably need to unfuck yourself.
 
Abhorrent if true, using ~/.local for venv. Should have put it as ~./local/venv making it easy to clean up when you inevitably need to unfuck yourself.
As soon as I read it. Yeah, it sounds rought. But it does sound like it would actually solve some wierd edge cases that come up with running it in a normal venv. And integrate with the rest of the system better. Without fucking up /usr.

It definitely sounds like a manual cleanup is going to be a lot of work if it ever needs to be done.

I almost want to create a new user. So I can test it, and see what the end results of my .local directory are. I tend to take advantage of the .local directory and the xdg spec for a lot of stuff. So I will create, and use common .local versions of directories ones that don't get made automatically by applications. So I could see that being a problem if something goes wrong.
 
The way I did it, is ran something like
python3 -m venv ~/.local source ~/.local/bin/activate pip install yt-dlp
Should go without saying, but you need to have ~/.local/bin added to PATH.

ChatGPT prompt: make this a script called "install_python_horseshit.sh" with 1 param, add help text & error handling.

(ChatGPT tells me pipx pretty well does all this anyway but cleaner, I've never heard of pipx before ¯\_ (ツ)_/¯ )

this will break LibreOffice (it's gonna crash right after launch)
And nothing of value was lost.
 
Abhorrent if true, using ~/.local for venv. Should have put it as ~./local/venv making it easy to clean up when you inevitably need to unfuck yourself.
The way I did it, is ran something like
Bash:
python3 -m venv ~/.local
source ~/.local/bin/activate
pip install yt-dlp

Should go without saying, but you need to have ~/.local/bin added to PATH.

This way, anytime I use pip install blahblah it installs into my user directory automatically. This just werks, BUT, with one significant exception: this will break LibreOffice (it's gonna crash right after launch), which now needs to be launched thus: PATH=/usr/bin /usr/bin/libreoffice "$@"

To make it clear, using python this way will completely ignore all python packages from your distro's package manager, which, other than the LibreOfifice example above, have not given me any problems. Apparently you can do something like this python3 -m venv --system-site-packages ~/.local but I haven't tested this.

What the shit is wrong with you people? Is bash scripting a lost art or something? Why the hell are you using Python for something you can write a bash script for? I know PKGBUILDs, Slackbuilds, among other such things aren't inherently 1:1 transferable to any given Linux distro, but you can still modify it and tweak it so it does the thing. Alternatively... drop yt-dlp in /usr/bin via sudo and then sudo yt-dlp --update
 
I just hamfisted a Proxmox upgrade from 8 to 9 and it just werked, which is a pleasant surprise I guess. Even though I didn't have much of a reason to updoot. Guess I should yeet the Docker LXC and just install everything that's in it raw in separate LXC's like a normal person.
 
(ChatGPT tells me pipx pretty well does all this anyway but cleaner, I've never heard of pipx before ¯\_ (ツ)_/¯ )
pipx is very convenient, fucking with the system python is a recipe for disaster. Use pip/conda/poetry for libraries, (you ought to be doing this anyhow), but for CLI shit pipx is great. I honestly really dislike the fact that the system python installation intersects with userspace to such a degree. pipx also allows you to install CLI packages that have a python version that doesn't match the system one.

I use black with emacs for formatting, and I'm able to configure emacs to use the appropriate version that matches my python project's.
 
pipx is very convenient, fucking with the system python is a recipe for disaster. Use pip/conda/poetry for libraries, (you ought to be doing this anyhow), but for CLI shit pipx is great. I honestly really dislike the fact that the system python installation intersects with userspace to such a degree. pipx also allows you to install CLI packages that have a python version that doesn't match the system one.

I use black with emacs for formatting, and I'm able to configure emacs to use the appropriate version that matches my python project's.
I would rather not have to juggle all this junk. The second I'm interacting with pip as an end user at all there's a problem. It'd be like asking a user to install maven or rubygems or npm or cargo.
 
I would rather not have to juggle all this junk. The second I'm interacting with pip as an end user at all there's a problem. It'd be like asking a user to install maven or rubygems or npm or cargo.
pip works great

if you're developing python applications in a venv

or if you're using one single solitary python application as an end user

pipx honestly seems like a good way to allow end users to use python applications
 
What the shit is wrong with you people? Is bash scripting a lost art or something?
Increasingly so.
Why the hell are you using Python for something you can write a bash script for?
A lot of people learn general purpose programming and stick with it as much as possible for better or worse. I've had to convert personal shell scripts into Python before so others could get the same or similar functionality without it seeming arcane.
 
What the shit is wrong with you people? Is bash scripting a lost art or something? Why the hell are you using Python for something you can write a bash script for? I know PKGBUILDs, Slackbuilds, among other such things aren't inherently 1:1 transferable to any given Linux distro, but you can still modify it and tweak it so it does the thing. Alternatively... drop yt-dlp in /usr/bin via sudo and then sudo yt-dlp --update
Don't look up xonsh you're gonna have an aneurysm.
 
Increasingly so.

A lot of people learn general purpose programming and stick with it as much as possible for better or worse. I've had to convert personal shell scripts into Python before so others could get the same or similar functionality without it seeming arcane.

Dawg... I ain't even proficient in shell scripting but I'm pretty fucking sure the old adage of "do one thing and do it well" still justifies using a proper shell scripting language like bash, sh, or even zsh over hastily slapping Python over everything. What's next? Are we gonna somehow integrate JIT compilation as a MELPA package so that the Rustaceans can thrust their meme language into the domain of Emacs like it's some bonehurt TempleOS HolyC?

Don't look up xonsh you're gonna have an aneurysm.

Not an aneurysm... righteous fury over the fact that Python is being used over say... Guile Scheme like in Guix SD. At least Guix SD has the decency of leaning into the decades-old tradition of Lisp/Emacs workflows.
 
Not an aneurysm... righteous fury over the fact that Python is being used over say... Guile Scheme like in Guix SD. At least Guix SD has the decency of leaning into the decades-old tradition of Lisp/Emacs workflows.
Bash syntax is honestly unreadable and has a problem with everything that is not text (this is why powershell is object-oriented). Because I have xonsh as my default shell, I can just fire up a terminal and type stuff like (1 + 0.04)**30 - 1 and it will spit up the answer, no calculator app needed. You can have stuff like numpy, pandas, pyplot, csv, json, datetime, pprint, etc. imported at login, so your terminal becomes a full-fledged multitool with no jeetfaggotry like MS Excel or something. I even have yahooquery, yfinance imported so that I can check all kinds of stock parameters without launching anything, straight from my terminal. Example:

Python:
xyz@abc /home/xyz
 > yf.Ticker("AAPL").info["companyOfficers"][0]
{'maxAge': 1,
 'name': 'Mr. Timothy D. Cook',
 'age': 63,
 'title': 'CEO & Director',
 'yearBorn': 1961,
 'fiscalYear': 2024,
 'totalPay': 16520856,
 'exercisedValue': 0,
 'unexercisedValue': 0}

xyz@abc /home/xyz
 > yf.Ticker("AAPL").history(period="1y").head()
                                 Open        High  ...  Dividends  Stock Splits
Date                                               ...                         
2024-08-12 00:00:00-04:00  215.069080  218.493132  ...       0.25           0.0
2024-08-13 00:00:00-04:00  217.995439  220.862103  ...       0.00           0.0
2024-08-14 00:00:00-04:00  219.548235  221.996831  ...       0.00           0.0
2024-08-15 00:00:00-04:00  223.559562  224.306087  ...       0.00           0.0
2024-08-16 00:00:00-04:00  222.882700  225.779224  ...       0.00           0.0

[5 rows x 7 columns]

xyz@abc /home/xyz
 > for stock in ["SPY", "TLT"]: h = yf.Ticker(stock).history(start="2020-01-01", end="2020-12-31")["Close"]; plt.plot(h/h.iloc[0] - 1, label=stock)
[<matplotlib.lines.Line2D at 0x7f53fa396290>]
[<matplotlib.lines.Line2D at 0x7f5428c8a3d0>]

xyz@abc /home/xyz
 > plt.legend(); plt.show()
<matplotlib.legend.Legend at 0x7f53ff33c9d0>

stonks.webp

Of course you can write a bunch of helper functions to reduce boilerplate and put them in ~/.xonshrc. Honestly the possibilities are endless.
 
without launching anything
You can do all that more efficiently through a more performant shell using discreet processes such as bc for calculations. "Without launching anything" is essentially meaningless. I could have a faster shell experience in zsh with all your functionality as separate python scripts, I wouldn't because Python is trash, but I could.
 
You can do all that more efficiently through a more performant shell using discreet processes such as bc for calculations. "Without launching anything" is essentially meaningless. I could have a faster shell experience in zsh with all your functionality as separate python scripts, I wouldn't because Python is trash, but I could.
even just using bash you could do it. there is a lot you can do with bash.


That said. from what I know about python. Doing math, and calculations, algorithms, whatever, is actually one of it's strong suits. Sometimes python isn't a great option that get's crammed into spots it shouldn't be though.
I could be misremembering though.
 
Back
Top Bottom