• 0 Posts
  • 106 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. ↩︎