

any change to shell scripts that isn’t posix compatible brings opinionated people out the woodwork.
Yo. Did I hear someone breaking POSIX-compatability over here?
any change to shell scripts that isn’t posix compatible brings opinionated people out the woodwork.
Yo. Did I hear someone breaking POSIX-compatability over here?
First, I would like to give you some major props. Installing Arch, in itself, is a big deal. It is not a beginner-friendly distro. It is a very power-user friendly distro and has an incredible wiki that is helpful, at least to some degree, for many distros.
For a beginner distro, I would recommend Linux Mint for its easy transition and great focus on user experiences or Bazzite if you really want to install and get gaming.
When taking drivers in Linux, most are provided as either kernel modules (integrated into the kernel, so you don’t have to worry about installing anything) or packaged for the distro, in which case, once installed via package manager, they’ll auto-update whenever you update system packages. They are so much easier to deal with than Windows drivers (for the end user). For example, to use a Wacom drawing tablet, all one has to do is plug it in.
IIRC, there was a recent case of a malware being discovered and quickly taken down.
Oh right! You are indeed correct. It is effectively just seeing a pointer there. What Python considers that to be is a shallow copy. But this only applies to “primitive” types. If you change the value of either, it will cease to act as a pointer to the same object but instead allocate a new one. It’s a bit weird if one isn’t used to all of that abstraction between oneself and the memory.
It is a way to go but there are still cons there. Guaranteeing memory safety isn’t free. You have to pay for it somewhere, either at compilation time, like Rust, or during runtime like in Go. Both are solid approaches but GC will cause problems in cases where the extra runtime overhead is not acceptable.
I was meaning how they behave in when copying and similar behavior. One basically just needs to remember that assignment of a Python primitives var to another will copy the value, whereas doing the same thing with a collection will generally make a reference instead.
As for this:
>>> b = 65535
>>> a is b
False
I’d expect that behavior in must programming languages. It effectively translates to:
Allocate a variable "a" and assign it the value 65535
Allocate a variable "b" and assign it the value 65536
Is variable "a" literally the variable "b"? No
One could test with ==
to see if the values are equivalent but, unless “b” is assigned as “a”, a is b
should evaluate as false
because they are two different variables.
True. Since it’s all interpreted, it doesn’t act like primitives in things like C and everything is an object, that is a ref of some sort. However, there is a difference between how Python “primitives” and Python collections work within the language syntax.
This. Collections (lists, dicts, tuples) behave a little differently than primitives.
sudo systemctl stop sawtrapd
Thank you!
Question: Can you suggest resources or tips for picking colors that are friendly for color-blind people? Is it easier to differentiate based upon saturation?
Life long windows user. I switched to Arch
Fuck. That’s like going straight from English breakfast tea to hash oil.
I’ve been using Linux almost exclusively both in my personal and professional life for a decade and a half. I only installed Arch a month or two ago.
That’s a great idea. Thank you!
Upon further reading, this proposal appears to have thoroughly been in bad faith with right-wing, socio-political virtue-signalling and/or advertising the X11Libre project as the actual goal.
Some highlights:
XOR
and exponents in the C syntax.Sidenote: The two above make me suspect that AI slop may be prominent, beyond the general code quality issues.
Extra double-bonus Metux has history of being problematic enough that Linus roasted him for speading anti-vax disinformation.
EDIT: I remembered that there was something else that I found reading through that thread that makes it pretty clear that the change request was in bad faith.
The user “harsh noise” that admitted to creating their account just to post in the thread has some very antisemitic (actual hatred of Jewish people, not anti-zionism) posts on xitter:
I wanted to understand the reasoning, so, here’s the summary section of the README (with my commentary):
Xlibre is a fork of the Xorg Xserver with lots of code cleanups and enhanced functionality.
Ok. That sounds reasonable. A little long for an initial README/manpage line but not bad.
This fork was necessary since toxic elements within Xorg projects, moles from BigTech, are boycotting any substantial work on Xorg, in order to destroy the project, to eliminate competition of their own products. Classic “embrace, extend, extinguish” tactics.
Hrm…seems a bit historically inaccurate, as Wayland was created by an X.org dev and the reasons for deprecating are related to performance, security, and moving away from dated architecture. Also a bit intense and opinion-based for technical writing. Maybe the guy is just passionate and hyper-focused on X11?
Right after journalists first began covering the planned fork Xlibre, on June 6th 2025, Redhat employees started a purge on the Xlibre founder’s GitLab account on freedesktop.org: deleted the git repo, tickets, merge requests, etc, and so fired the shot that the whole world heard.
That…sounds even more weird to put in a README or manpage because it has nothing to do with usage or development instructions and seems like the guy is taking it very personally.
This is an independent project, not at all affiliated with BigTech or any of their subsidiaries or tax evasion tools, nor any political activists groups, state actors, etc. It’s explicitly free of any “DEI” or similar discriminatory policies.
Why is he writing “Big Tech” in upper-camel case? That’s kinda weird. And the dev is treating "Big Tech".replace(" ", "")
as a singular corporate entity with subsidiaries?
“Political activists groups”
…?..Ok that’s a bit weird and the pluralizing of “activist” looks grammatically problematic.Going in a pretty weird direction.
state actors, etc
I’ve not been aware of any xz-like issue being found in Wayland but, maybe I missed something.
It’s explicitly free of any “DEI” or similar discriminatory policies.
Oh. This is a racist. Things make a lot more sense now.
… Anybody who’s treating others nicely is welcomed.
It doesn’t matter which country you’re coming from, your political views, your race, your sex, your age, your food menu, whether you wear boots or heels, whether you’re furry or fairy, Conan or McKay, comic character, a small furry creature from Alpha Centauri, or just a boring average person. Anybody who’s interested in bringing X forward is welcome.
Conspicuously missing LGBTQ+ people but, maybe that’s what they mean when using the derogatory “fairy”?
a small furry creature from Alpha Centauri
DO NOT USE WORDS FROM OUR SACRED BOOK IN YOUR UNHINGED PRO-DISCRIMINATORY RANT MASQUERADING AS A README.
Together we’ll make X great again!
Repurposed neo-nazi rhetoric. Gross.
Significant mention in the thread of freedesktop.org Code of Conduct violations. I can likely guess but, let’s see what that’s about.
Code of Conduct freedesktop.org has adopted the Contributor Covenant for all the services we host. Please conduct yourself in an appropriate manner, avoiding abusive, bullying, and/or discriminatory behaviour. For more information, including where to report any inappropriate behaviour, please consult the full Code of Conduct.
Ok. That seems to be pretty thoroughly reasonable for anyone who does not have strongly held discriminatory feelings. What did he (git blame for the changes shows that it was metux ) do/say?
Looking through the thread, there’s a Mastodon post showing
Digging deeper, it appears that the freedesktop.org CoC Committee is not very open in its decision making so, it’s not clear what part of the CoC was broken.
Version control integration
Almost always garbage, in my experience. Except for merge conflict resolution. That’s unbelievably nice. But git command lines have always been more reliable and less likely to end up with broken local branches.
Seriously though. The merge conflict resolution in three panes is super nice.
TIL. Thanks for that!
Yeah. I like using main()
that way too. It’s usually just a high-level function that handles globals relevant to running in standalone and calling other functions to do work.
This is exactly why the conditional is used. It allows the script to function both as a standalone application and a library.
ETA: Probably would make sense to just treat it as default behavior in the interpreter and only require the conditional to overwrite in cases where main
is not the main function and/or pre-processing is needed.
JFC. What is wrong with people? I just want to write code that works, is interesting, and doesn’t have memory problems.