boredsquirrel

joined 2 years ago
[–] boredsquirrel@slrpnk.net 2 points 1 day ago (1 children)

That depends on your preferences

https://slrpnk.net/post/21305064

[–] boredsquirrel@slrpnk.net 5 points 5 days ago (2 children)

Yes for sure. But well the border between science and religion should always be updated and moved

[–] boredsquirrel@slrpnk.net 3 points 6 days ago

Also checkout StirlingPDF

[–] boredsquirrel@slrpnk.net 21 points 6 days ago (9 children)

Not eating random animals because of religion is such a stupid concept

Like, there is no big difference between a camel and a cow

I say that as a vegan, which is a choice that makes sense in comparison ;)

[–] boredsquirrel@slrpnk.net 3 points 1 week ago (1 children)

Oh lol I assumed they are green

[–] boredsquirrel@slrpnk.net 16 points 1 week ago

Or that code is not cleaned up

Knowing codebases, literally always it is simply messy code they dont want judged

[–] boredsquirrel@slrpnk.net 1 points 1 week ago (1 children)

Nix, portage?

[–] boredsquirrel@slrpnk.net 1 points 1 week ago

Try oniux for that, exactly what you need

Otherwise look into oniux and how to replace arti with wireguare/shadowsocks/xray/amneziawg

[–] boredsquirrel@slrpnk.net 2 points 1 week ago

No it is not lol

I have no idea of the experiences of new users. The biggest issue is that PopOS has no KDE Plasma spin, so users can either use GNOME or their thing

I will give the desktop another try. Their apps are all very minimal. Cosmic files has network shares though which is nice!

I installed it in a VM to get the repo files as I found no better way. Now I use some cosmic apps on Debian GNOME

[–] boredsquirrel@slrpnk.net 1 points 2 weeks ago (1 children)

Well warmth is flowing from the food to the cooling object via conduction

 

Ok this is a physical one.

Temperature is just the total speed of molecule vibrations in an object.

Vibrations are movement. Movement needs energy. All things thrive to be in an energy neutral state, energy always disperses, disbalances are always balanced out.

This means that the natural state of objects is 0°K, the lowest temperature possible, no movement.

That is why you should fill up your fridge and freezer! The only energy you need is for removing heat that comes into the thing and would in turn transfer to cooler objects and warm them up.

But keeping things cool itself doesnt need any energy 🤯

And if you heat it up then less air comes in, and the incoming air will be cooled down faster (energy balanced out between low density air and high density things). So the overall temperature doesnt spike as much and less needs to be transported off.

20
submitted 2 weeks ago* (last edited 2 weeks ago) by boredsquirrel@slrpnk.net to c/linux@programming.dev
 

I have this TV which has terribly off colors.

They are very dark, oversaturated and the contrast is too high.

KDE Plasma supports applying custom color profiles, but what I could find is more than a bit intransparent.

Anyone made some on Linux?

Edit: nice that DisplayCal is free software and available on Linux!

 

Since Debian 13 (Trixie), when using the default FDE which uses grub to decrypt the luks partition, I have a single attempt

When the password is mistyped there is a long pause (over 10 seconds) and then the error appears.

I already tried increasing the max tries, which seems to be set to 1 when a keyfile is used.

The config/script seems to be in /usr/share/initramfs-tools/scripts/local-top/cryptroot.

I copied that to /etc/initramfs-tools/scripts/local-top/cryptroot and replaced the value CRYPTTAB_OPTION_tries=1 with 10 using find/replace (ansible stuff).

I think this has no effect though and doing so (might be a different issue) breaks boot entirely 💀

More info:

  • by default when legacy boot (BIOS) is available, Debian will install grub to the MBR. This is where it happens
  • when forcing or prioritizing legacy boot and using GPT, debian somehow boots from a 300MB efi partition, the same happens though, one attempt
 

The Post

Very slight woodworking to fit the frame to the tabletop involved ;)

I love this standing desk, can highly recommend!

(Cannot remove the URL lol)

 

I had a pretty sturdy wooden desk, top just polished and waxed, nice drawers too... but I wanted it to be a standing/sitting desk.

These "laptop hight adjusters" didnt do it for me, also I wonder how it would work as for me the difference is pretty big.

I searched for a matching frame and made a post in !kaufempfehlungen@feddit.org.

1. Cleanup

I removed the legs and drawes from the table, made space in the area

2. Frame

I got a 160kg one from Flexispot, which sounds overkill but this should hold me + the table + some stuff. You never stand on your desk to do stuff?

The package was heavy, poor delivery guy. Should have gotten him a snack to go.

Assembly wasn't hard, maybe 40min? The rest was way more

3. Issues

The screws connecting legs and top frame didn't really match, as the holes on the inside were shorter. I swapped the 4 with 4 shorter screws used to screw the "feet" onto the legs, which could only use the longer ones. No big deal but an oversight.

The frame was also too long to tightly match my tabletop, so I disassembled one part and shortened the metal tubes just the right amount so they fit exactly next to the boards on the outside of the drawers (you will see).

4. Tabletop adapter

This frame is made for flat tabletops, so I took one leg of the table, shortened it as much as possible and sawed it in half (Less useless weight at the tabletop is always good).

This is why the frame needed to be shortened to tightly match.

I attached the "adapters" to the outside of the "drawer holders", with 2 screws into them, and 2 short brackets to the tabletop.

Of course, for each hole I pre-drilled with a smaller drill to reduce force on the wood and avoid ruptures.

Looking at it, a few more brackets could be good. But on the other hand, I dont really apply horizontal force?

5. Assembly

I screwed the frame onto the adapter, which made a tight connection to the tabletop.

Now the 2 motors at the top of the frame needed their cables connected to a controller, which was connected to a charging brick.

The manual meant them to be inside the frame, screwed onto the tabletop, but this didnt work with the drawers. So instead I used the nice fiber-enhanced tape (used in packaging of the cables on the motors) and guided the cables to the back of the tabletop, screwed the controller on there.

The charging brick is held with a velcro strap for some reason, which was glued to the tabletop as well.

Now the little control interface (which looks nice and pretty high quality (but plastic of course) needs to be placed somewhere in front of the tabletop. It is connected to the controller via ethernet and a power cable. The power cables look similar to the ones on a PC.

I guided it alonside one side, tied the cable down with some tape, used a hook and a screw to hold it in place nicely, used the metal plastic-covered-wire thingy from packaging to attach the cable to the hook gently.

6. Result

Even though the cutting of the leg wasn't perfectly clean, it works and is very sturdy but not too heavy.

I turned it around, connected the power, and it worked!

ℹ️ Note

Always test the motors and stuff before sawing off random parts XD

The control is easy, I was able to set a sitting and a standing hight which can be switched with a button press now.

The controller seems to go into sleep mode when not used, meaning a low power draw. I could test this further though.

It is rock stable, which tells me it was a good idea to get the powerful variant (2 motors, 2 moving elements instead of 1).

The motors are reasonably silent, I already assembled everything, glued my plug strip onto the table (to leave room to the wall while preventing it from falling down). Noice!

I also need to find a solution for the corners (where the legs were). I may not care anough to put something there though.

Easter eggsOn the table you can see my pen holder made from a cool piece of log.

On the bottom there is also my bin with 3 segments for paper, plastic and litter, made with cardboard and tape.

7. Oversights

The screws didnt match the actual length, luckily I could just switch them without needing to manually shorten them.

There is a metal sheet meant to be a cover of the frame. But while the frame is adjustable, the sheet only has 2 holes and only fits in a very wide position, not even the minimum without me shortening it.

I may shorten it or may not, it is kinda useless.

 

I got 2 Stadia controllers and they are pretty nice!

They work well, but also have issues

  • they appear in lsusb and I have installed the official udev rules (using the NixOS option), but do not appear in Yuzu (the only working Switch emulator, using an archived Flatpak from 2024)
  • they constantly go into some form of suspend mode, I think pressing the Stadia button takes them back? But not sure. As there are no configs, there seems to be no way to disable that, unless one would customize the bluetooth firmware image
  • when they are below 40% or so they disconnect all the time. When they are charging too I think, so they are unusable in that state
  • somehow yuzu loses the configs for them all the time, so I need to configure them again and again. Not that bad as Switches support "pro controllers", but I am planning more games that would require more setup.

I guess using them over bluetooth could work.

Here are the used udev rules to flash, but they didnt work so I used Windows💀

services.udev.extraRules = ''
### Google Stadia Controllers
KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", MODE="0666"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1fc9", MODE="0666"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", MODE="0666"
# Flashloader
KERNEL=="hidraw*", ATTRS{idVendor}=="15a2", MODE="0666"
# Controller
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9400", MODE="0660", TAG+="uaccess"
'';

Maybe I need to disable those udev rules to use them over USB? Bluetooth is just a bit unreliable, that I just want USB.

 

It is not easy to recommend a distro, even though many people are quick to recommend one.

This is because they may not think of all the things that make up a Linux experience.

expand

ℹ️ A Linux Distribution (short Distro) is a bundle of Linux together with many different components that make an operating system. These components include a package manager and a desktop environment. The package manager is important to guarantee that your system will work and be secure in many years. The desktop environment (short DE) is what you interact with daily. They are very different, and most DE's work on most distros.

There are many factors, and balancing between them is the only way to get the right distro for you.

After having tried a lot of them, these are the main factors I would think of, when looking for the right one for you.

🌌 Do not hesitate to try Linux! Many Distributions can be tested on a LiveUSB without installing. Depending on the amount of switching and work want to risk in the future, your decision is more or less important. Many people will try a bunch of different distros and like the experience. But if you install one for other people or a company, a good decision may be more important.

1. Desktop Environment

expandMost common distributions will ship software that you commonly use.

But the desktop environments that you use to interact with the PC are less or more supported, some distros may not offer some of them at all.

Generally, KDE Plasma and GNOME are the best, most modern, biggest communities, quickest maintenance, most features etc.

Here is how GNOME looks like:

laptop with gnome desktop

And here is KDE Plasma:

laptop with KDE Plasma

Some distros have specific support for an environment. GNOME had the reputation of being more stable than KDE Plasma, but this improved a lot. Due to this reason (and because GNOME is simpler) many distros have GNOME as "main variant"

  • Ubuntu, Debian
  • Fedora, RedHat Enterprise Linux, CentOS Stream, AlmaLinux

There are distros with KDE Plasma as main too

  • Manjaro (Arch based)
  • OpenSUSE
  • TuxedoOS (Ubuntu based)
  • SteamOS (Arch based)
  • Bazzite, Nobara (Fedora based)

KDE and GNOME are generally well supported on all bigger distros. Other desktops might differ. Fedora has a Cinnamon variant, but Linux Mint likely has better integration, presets etc.

So as a beginner, decide between GNOME and KDE, they are both nice but different.

2. Release cadence

expandThis is a big difference. On Windows you have each software release on it's own, and the desktop and OS being extremely stable, barely releasing any changes.

On Linux, traditionally you install your software from the same repositories as your main system (including kernel, core tools and desktop environment).

Though, with things like Flatpak it is possible to get all the recent apps, independently from your system).

Quick Updates

If you want up-to-date software, you often need to choose a distro with fast or rolling releases. These typically have a shorter support span, so version upgrades every 6 months or year are common.

Downsides are potentially more bugs, as the software you use is newer and less tested. But if bugs are fixed, you get those fixes faster too! You get way quicker features and many security updates not arriving in "stable/stale" distros.

Examples:

  • Arch
  • NixOS unstable
  • OpenSUSE Tumbleweed
  • Debian testing

Semi-fast:

  • Ubuntu
  • Fedora
  • OpenSUSE Slowroll

Slow, "Stable" Updates

If you prefer stability and reliable software (so that you dont need to update often, or change scripts or tools if software changes features), you should use something with long support and slow upgrades.

Note that stability is not natural to most software. Most is "released when it is ready".

  • Only very few projects release on tight schedules (like GNOME, Firefox, Thunderbird).
  • Way fewer developers "backport" all security fixes to old versions. This means they apply only the security changes to older versions, while leaving out feature changes (which could break compatibility).
  • The issue is that most developers dont have the time to adapt to adapt their software to all the different release cycles of different distributions
  • So you have potentially broken or insecure software until there is a distro upgrade

Examples:

  • Debian stable
  • Ubuntu LTS
  • OpenSUSE Leap
  • RHEL, AlmaLinux, CentOS Stream

3. Project Size And Structure

expand

Size

  1. Bigger projects (like Ubuntu, Debian, Fedora, Arch, OpenSUSE, Gentoo, NixOS) have the most software support. This becomes less relevant through technologies like Flatpak (a unified packaging format for all distros)
  2. Smaller projects (while nearly always being based on bigger ones) will often add more quality-of-life changes, customizations and features. Take Nobara, CachyOS, Garuda, Pop!_OS or Bazzite, which contain many improvements for gaming (more or less at the cost of stability).

Bigger projects are often more conservative, with a focus on stability and not changing software a lot. Depending on the distribution, you may also be able to do many changes yourself, while using a bigger one as the base.

Structure

Most Linux Distros come from a "community". This is fundamentally different from Windows, MacOS, ChromeOS or Android, which are sold products without much or any community involvement.

The projects differ in how you interact with developers, contributors and how people in the community help each other.

The "communty" is mostly never equally distributed, as most users will not contribute to the project.

Often the developers communicate on Matrix, IRC or even mailing lists, users might interact with them through bug reports.

Forums are mostly used for users to help each other, with mostly little interaction with developers due to their time being scarce.

Many free "community" distros are backed by companies, as making a distro costs a lot of money and benefits from a stable base of employed people

  • RedHat does their stable distro RHEL.
  • The "upstream" (the newer stuff that is not as tested and arrives later in RHEL) is CentOS Stream, which technically is already a community project, together with Oracle, AlmaLinux and RockyLinux contributors.
  • The upstream of that is Fedora, which is a known, free and up-to-date "community" distro. But also Fedora is built and maintained in part by RedHat employees, so this is a mix.

Other examples

  • Canonical - Ubuntu
  • SUSE - OpenSUSE, SUSE enterprise Linux
  • System76 - Pop!_OS
  • ZorinOS, EndlessOS: payment models
  • TuxedoOS - Tuxedo
  • SteamOS - Valve

Many distributions are entirely community based, like Debian, Arch or Gentoo.

Some have slight company involvement, like NixOS.

4. Software Modifications and Additions

expandDistros differ in how the projects modify the software they ship.

Some may focus on fast updates and little modifications, like Fedora, Arch or others.

Others like Ubuntu might add a completely custom theme, font, iconset and other extensions (they do that to the main Ubuntu variant, but Kubuntu, Xubuntu, Lubuntu are also all customized).

Some distros might change software, like Fedora or Debian who only ship free software (software that respects users freedoms).

ℹ️ Example: Debian modified Firefox in the past, to remove antifeatures, which resulted in a ban to use the name. They used "Icecat" instead, but nowadays they ship regular Firefox again.

The Linux Desktop is only somewhat standardized through organizations like Freedesktop.org, who host

  • (flatpak](https://flatpak.org/), a technology to ship apps to all distros, while also using an Android-like sandboxing system.
  • portals that allow applications to access system components while asking users
  • Wayland, a display and input/output technology that all modern desktops and toolkits use

Examples of differences

  • Fedora and Ubuntu use different tools for power management.
  • Most distros use systemd, a useful system management tool. Some criticise it for being too big and doing too much. Very few distros do not use it, at the cost of missing features and requiring more experienced users.
  • Ubuntu uses Snap for their packages, most other distros use Flatpak.
  • All distros have their own native packages, but there are a ton of different package formats and rules.

5. Deployment Model

expand

This describes how a distribution is installed and updates.

Installation

Distros are mostly installed the same way: you flash an .iso to a pendrive, run a graphical installer, select between more or less options, and get the thing.

Some may not have a graphical (GUI) installer but a terminal based one.

Many advanced distros like Arch, Gentoo or NixOS direct you to a wiki, where you learn the steps you need to setup the system you want. This is a great learning opportunity, but may require some time.

If you want to install a more complex distro, maybe you find someone to help you with the setup!

Software installs and updates.

Keywords:

  • learning curve
  • stability over time

Unlike Windows, software shoulf always be done through package managers.

⚠️ Do not go in the browser and get random installers. These might exist, and there are "Appimages" which allow developers to package their software that way. But the install method is insecure!

While it may seem similar to Windows, MacOS or Android, those operating systems include verification checks, antivirus and permission systems that can stop a lot of malware. Linux does not have this, as repositories are the intended way to install things (where those checks exist).

There is a difference how the software is placed and managed on the system. Most distros are "chaotic" and imperative: You write...

sudo apt install libreoffice

...and the package manager searches the repositories, gets the files and places them somewhere.

Over time, "state" builds up. This is the amount of changes on your system compared with how it was at the beginning.

The graph from this master thesis describes this process, called "Divergent".

You enter that command, and the package manager not only installs Libreoffice but also many dependencies.

Convergent

There are many tools that try to tackle the resulting "chaos".

They try to make the setup of your system faster and more reliable.

What happens if your PC breaks down, or you needed to configure your exact setup on 10 different laptops?

The most common tool is Ansible, which is described as "Convergent" on the graph. The system is a chaos, but the more you configure and "fixate" through Ansible, the easier it gets to reproduce.

Image-based

There is a wave of new "immutable" distros, that try to solve this issue:

Oh when you open the app XYZ it crashes? Well, it works on my machine...

They do that by either preventing you to change the core system at all, or always keeping track of the default setup, where your changes are just an overlay on top of it.

This model works for many use cases, as with Flatpak, Homebrew and other ways you can install your softwate pretty normally.

You will not need to worry about the base system not being able to upgrade, or break in other ways.

Deterministic

Systems like NixOS are deterministic instead of imperative.

To install software, you write down what you want into a file, and the management tool reads it, checks it for errors and builds the system that way.

The graph describes this as "congruent". At the beginning your system is very simple. The more you configure, the more complex it gets.

These distros are perfect for more experienced users who want a stable and reproducible system (i.e. when it breaks they know where the error is and how to revert it).

Coming from regular chaotic distros and then an "immutable" distro, this is honestly pretty great.

While the learning curve might be a little bigger, you can easily check what you changed on the system, allowing you to fix breakages insteaf of reinstalling every year.

Everything is configured in a single – or a few – files. You can take these and recreate your system anywhere

If your PC breaks, and you have your data, it takes a few minutes and you have your system back!

You can find a lot of configs on the internet, here is mine, where I try to visualize the different levels of complexity, starting with a very simple system.

Conclusions

expandDone! So these are the points you need to keep in mind when choosing a distro. Yes it is a lot, but depending on your goal, it might be an important decision.

Do not just go to distrowatch or other random places and install what is hyped the most.

Examples for logical fallacies of "this distro is the best for beginners"

  • Ubuntu has a big community, good software support and is easy to install. But personally I had maany issues with it over time and upgrading it. They also have a lot of biased choices and modifications. Their snap store is not what any other distro uses (but they have flatpak support), they theme the desktop and break some functionality, ...
  • Fedora also has a big community (and a nice one!), an easy installation and stays with standards more. Their model of "immutable" (i.e. managed) systems is among the best. Meanwhile the traditional variants usinf the dnf package manager are a total mess. I had many extremely complicated and undocumented issues when upgrading and having issues. Also, if you want a congruent, long-time-stable system, it is kinda annoying.
  • "Linux Mint is userfriendly" is not completely true. They do good work, but the project is very small compared to it's userbase, they build their own desktop environment that struggles to be up-to-date. They dont use modern design choices like well working automatic upgrades, leading many people to never update their systems. While many users may use it for very simple tasks, it's package based nature doesn't make it very suited for simple "install and forget" installs.

The "most beginner friendly distro" is not always the one that is quickest to install and easiest to use.


There are some points missing which I plan to include

  • differentiation between desktop environments
  • security
  • update behavior
 

Ich habe eine Linux-Einsteigergruppe auf deutsch erstellt! Das Ziel ist, ohne Sprachbarriere ausschließlich bei Linux zu helfen und darüber auszutauschen.

Fortgeschrittene willkommen, um Wissen zu teilen!

 

Blog Post

The video is a commentary with examples

view more: next ›