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

help-circle

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







  • I do love my bangle.js 2. i was feeling some nostalgia for my Pebble Time 2, so I pulled it out to try it with the new app, but then I remembered that I hadn’t updated anything on my Bangle in ages (dont generally have chrome enabled ony phone) and the updates made everything so much smoother. No reason to switch back to pebble, especially in its current state.

    My only complaint is that there is no way for the watch to tell if it’s on your wrist, and the heart rate monitor and screen can’t be woken up separately. So it can be annoying at night, when unless it’s fully shut off the HRM and screen will light up the room every 10min.








  • Mi was trying out labplot yesterday, and as far as I can tell it can only really plot, not do any sort of transformation or data analysis. The plotting UI itself is pretty nice and the plots look good, but for most of my use cases its worth it to just spin up a Jupyter notebook and work with MatPlotLib directly.

    If it could become a general-purpose UI for matplotlib, thatd be fantastic, but its pretty limited in actual usability for me at the moment.