• 0 Posts
  • 100 Comments
Joined 3 years ago
cake
Cake day: June 6th, 2023

help-circle

  • Staying compatible with LTS releases should absolutely be the goal, but that takes work from both sides.

    If Debian is applying backported patches to old software (I think the oldest version I saw was 6 years out of support) that generates a nightmare to support for package maintainers. If there are features which are not supported since the version is so old, but there are backported security patches which change the API, the developers would essentially have to maintain a specific version for each LTS distro’s specific set of patches, and the number of versions you have to maintain and the length of time you need to maintain them for quickly becomes impossible to manage.

    Stable is nice, but you can have stability without being criminally outdated, as Trixie shows. The ideal is to have a stable and up to date distribution.

    And yes, most users would be fine due to just being in the browser, but thats true of literally any OS or distro, not specific to this.



  • Debian is nice & boring, but I have had issues with how old its kernel and software versions are. 6.12 isn’t too bad for Trixie, but previously it was really terrible. When I was running Bookworm, I ran into plenty of situations where software I was compiling or getting from outside the repos (for niche software), wasn’t backwards compatible to the library versions Debian provided.

    No hate for Debian, but it just doesn’t work for a lot of people. However, these days I would go for Debian over Ubuntu 10 times out of 10.



  • If you just want portability, then this could be useful. However, in my opinion a large part of why I use a shell script is to avoid compilation and just hack something together. If your goal is shell scripts that are easier to write you could also check out other shells:

    • fish is the easiest to use in my opinion, but is not POSIX compliant so you do have to learn the syntax.
    • zsh is a nice quality-of-life upgrade over BASH, tweaking the little things
    • There are also things like xonsh which use Python syntax for shell scripting, but I dont have personal experience with them.


  • Vanilla KDE on desktop, Niri WM+Noctalia shell on laptop. Firstly, because for some reason I cannot get any touchpad gestures to work on KDE, and secondly because the niri paradigm of horizontal tiling is just perfect for a laptop. I tried to use Gnome for a while before landing on Niri, but the lack of configurability and the reliance on extensions for basic functionality drove me nuts.



  • I’m certainly with you on repairing your own Äktas! Cytiva is useless.

    Unfortunately, all these scientific-industrial complex companies love to milk us for every penny. The only scenario I’ve seen open source software is in data processing, not collection. Things like spectral simulation, electron microscopy data processing, etc. Hell, I’ve built and contributed to several of them. Why is this? I think there are a few reasons:

    1. IP The big conglomerates buy up any smaller company which competes with them, and are more than happy to blatantly infringe one another’s patents and fight it out in court if they can sell more units. I find it very hard to believe they would even consider respecting the GPL. If a smaller company tries to make open software, the conglomerates will grab their software, ignore the license, and drive them out of business. Also, if you replicate functions of the proprietary software in anything but a cleanroom environment, they are fairly likely to sue you.
    2. Money: even if it comes in the instrument “bundle”, the software often carries its own significant fee. This is one more way to nickel and dime you, but it is also a way to fluff out the bundle. The more items are in the bundled price, the less obvious it is that the bundled price is significantly higher than the nominal cost of the instrument.
    3. Compute topology: providing an API on the instrument to talk to requires the bulk of the processing (especially the time-sensitve stuff) to be done on the instrument itself, or the exact timing of API requests becomes very important. This makes the API less useful as a general access surface, because very few scientists know how to write very precisely timed software. To do this on-instrument processing requires an additional microcontroller (or more often, because the basic structure of most instruments has not changed since the first version, an archaic CPU). [1] The proposition of “spend more money on hardware, to potentially make less money on software” is hard to sell to them.
    4. Motivation: It’s just hard to justify to a PI or a funding agency that you’re spending time duplicating the functionality of existing, working software you already have for the sake of opening it up. So, the people who have a good argument for open software are the ones who don’t have access to the proprietary software to work off of, and so are in the worst position to actually do it.

    These are the obstacles to open software on proprietary hardware, so I would argue that open hardware enables open software to be practical, and vice versa. And for basic things like the microscopes and bioreactors others have mentioned, that works out well.

    However, as I’m sure you know, the components in most instruments can’t exactly be found in a hardware store! So more complex open apparatus has its own challenges, especially the lifetime: when selecting parts, you dont have a contract with the manufacturer, so you have no idea when your components will change slightly, or the product line will be EOL’d by the manufacturer. This could happen while you’re building the first version, but more likely will happen once you publish your open spec. How do you help someone who can’t get an equivalent component?

    All of this leads to the status quo: instead of people taking the time to create a reproducible open piece of hardware and software, most home-built instruments are irrelplicable, poorly documented, 1-of-1 creations.

    Anyhow, in general I am of course in favor of open hardware and software, but I think its interesting to understand the complex set of factors surrounding them. As a result, I’ve focused a lot of my effort on those data processing packages – if you need one copy of proprietary software to collect the data that’s one thing, but anybody should be able to analyze it after the fact without having to buy that proprietary software. And of course, don’t write your open source software in a proprietary language, people! (ahem ahem, MATLAB)


    1. Often x86 on new instruments, but often a Motorola 68k derivative until surprisingly recently. ↩︎








  • You can’t run steam with no compositor whatsoever, but you can use the steam deck’s solution of using their gamescope micro compositor for everything. You should be able to install gamescope and just run gamescope -e {other CLI options} steam (assuming you’re using the native Arch package and not the flatpak).

    My experience using gamescope for steam has been very mixed, but I’ve seen a tutorial somewhere on doing exactly this.

    Gamescope isn’t necessarily the best option for every game, and having a normal compositor (which, for now, must support XWayland) is just a much more flexible solution.

    This may also be possible with something more general like xwayland-satellite, but frankly steam and all its games still run on the X11 protocol, so if you really don’t need a GUI you might be able to install a vanilla X11 instance and hook to that directly. I can’t speak to either of those options directly.

    But is this worth it, in a practical sense? No. You have a reasonably powerful system, and the only performance you’d be saving is a few percent of a single core on the CPU, which in your config is absolutely not worth it.