We need to normalize declaring software as finished. Not everything needs continuous updates to function. In fact, a minority of software needs this. Most software works as it is written. The code does not run out of date. I want more projects that are actually just finished, without the need to be continuously mutated and complexified ad infinitum.
@millie was just talking to someone about this!
@millie @jrdepriest My program is finished. It is still running in a few small businesses :) https://circumstances.run/@Szescstopni/115674340411961779
Szescstopni (@[email protected])

Attached: 1 image @[email protected] @[email protected] Maybe I should call the pub that's still using the program I wrote almost 30 years ago to sell stuff and tell them upgrades are possible :)

GSV Sleeper Service
@millie yes please. I want more software which is just being updated due to bugs and flaws and maybe for better user experience and not because "we need more features to have new features and grow bigger and bigger."

This way, we just got enshittified products with no viable alternatives, with terrible support, more flaws and unreasonable pricing.
@millie unfortunately even if you do write a program that is feature complete, the sentiment towards backwards compatibility in the current landscape seems to be "lol who cares" so there's no guarantee it'll work in a year or two

@haematophage @millie

Kernel APIs and ABIs are pretty stable on all relevant platforms. Just link statically, where applicable. Yes, graphics APIs are an issue due GPU drivers depending on dynamic linkage. However, if you can live without modern GPU, good old X11 depends on stable socket API only, and that's kernel.

@datenwolf @millie well yeah I mean I still use Athena- and Motif-based software when it's feasible and usually the biggest obstacle is GCC being a bitch. but everything else changes constantly ;p.
@haematophage @millie one of my off-time at-work projects is building a comprehensive suite of GCC, Clang, glibc and musl versions for a reasonably broad set of targets.
It's actually quite a challenge if you start from a recent version of GCC and glibc. Building an old version, like GCC-4.8 with GCC-12 is running into quite a few obstacles.
@millie
That would be nice. I maintain only a few obscure open source programs I've written, and I seem to have to deal with "bit rot" from time to time. Recently, libxml2 did away with an API I've used for a long time.

@millie i have a couple of small utilities that i use quite often that i haven't touched in forever because there's no reason to.

Others are definitely not finished though.

@millie @sinvega Just seeing this played "it really whips the llama's ass" in my brain immediately x3
@millie I can't really be called a programmer, but I have written a few nice bash scripts, and they haven't needed any updates to keep doing what they have done since their creation.
@millie insecure software go brr
@millie only if the underlying OS and platform is stable. That is almost never the case of commercial ones like Windows, iOS, Android or macOS where API churn for churn's sake is the rule. Raymond Chen may still work at Microsoft, but his philosophy of backwards compatibility at all costs is long gone.
@fazalmajid @millie use this post’s sentiment for the OS for starters.
@gikiski @millie the only OS I can see that for is seL4, because it has been formally proved correct.
@fazalmajid @gikiski @millie an OS is an edge while talking of programs. Furthermore, also on OS, people need housing, but no one needs a new floor twice a year

@millie @Heliograph Back when I was studying and they’d just turned it from Applied Science into Science, there was a lot of grim consternation that ours was the only β€œprofession” without ancient (or medieval) guidelines for integrity and reliability

Or airlines β€” they’re just a teenager at 1 century and a bit. They sorted their shit out.

Yukari Hafner :v_lesbian: (@[email protected])

@[email protected] Have you heard the good news of common lisp

TyNET
@millie And what should all the Scrum Masters and POs do then? Look for a proper occupation? :)
@millie I'm okay with programs being updated to accommodate for dependencies but otherwise not changing how the core program works. Especially if some of those dependencies are paramount for security. For example, version 4.2.0-69, where 69 is how many times dependency updates were applied to this version.

@RachaelAva1024 @millie
I agree that zero updates are an illusion, security is a good example.

However, you just said that we must update because the dependencies had updates.
Let that sink for a moment.

@Richerpacker @millie …Fair enough. Still though, some common ground needs to be made in the case of security and bug fixes in the dependencies. For example, not updating the program anytime a dependency is updated, but maybe once every few months or when a critical security bug fix is available.
@Richerpacker @RachaelAva1024 @millie I don’t quite understand the point you’re making. Yes, when there’s security updates to your dependencies, one must update. What is the alternative?

@paula @RachaelAva1024 @millie
As I said, security updates shouldn't be avoided.

But dependency can be updated for non-security/bugfix reasons. If you update your own software to accommodate, you impose updates onto all software that depends on yours.
Soon, everybody updates because everybody updates.

@Richerpacker @RachaelAva1024 @millie ah, sorry, I understood that Rachael was specifically talking about security updates and bug fixes, not updating just because of updating. So your comment to me read like β€œyes, but also no”.
@millie especially true for programming languages and core libraries. python2 vs python3 was so exhausting and took so long, and what did we win from it, as a species?
@fabiosantoscode Had they kept the print keyword as opposed to migrating entirely to it being a built-in function and also kept the binascii library working with unicode string types, then like 90% if the python2-python3 compatibility issues would nonexistent. Most of the language remained completely the same but those two changes made it so the vast majority of python2 scripts straight up were not compatible with a python3 interpreter.
@fabiosantoscode @millie Better Unicode support?
@art_codesmith I assume you're talking about how encode and decode methods are more strict now. I think that's great. But I don't think it had to be a breaking change.
@fabiosantoscode No, I'm saying that before str was a strictly ASCII string (or maybe Latin-1), and if you wanted anything else you'd have to use the unicode type. And if your program/library didn't think of using the unicode type, then tough luck, you will only be able to work with Latin letters.
@art_codesmith okay, we did win that as a species. It's pretty good that there's one, obvious way to do strings now.
@fabiosantoscode
We invalidated an xkcd comic (353)! Take that, Randall Munroe...
@millie
@SvenGeier what do you mean? antigravity still works on my machine.
@fabiosantoscode Well, sure, but πš™πš›πš’πš—πš "π™·πšŽπš•πš•πš˜ πš†πš˜πš›πš•πš" doesn't any more ...
@SvenGeier Oh no 😒 I didn't notice before

@millie but how will we charge our users forever then? /s

I really miss when we could buy a software and use it forever, only upgrading if we need it and can afford to

@millie That was the upside of distributing software on shiny pieces of plastic.
@millie Tell that to the security auditors and regulators.
@millie software guy here, the problem is that the platforms constantly mutate. I am responsible for an android app and like 5 times a year google emails me and says that it needs to be updated to use some new library or api or it will be removed from the store. These changes take a little bit of time and attention.
@millie that's unfortunately something that gets lost with flatpaks as you eventually need to update the runtime used when the old version is no longer supported and receiving security patches. I've also had plenty of older software stop working outside of that, most infamously k4dirstat crashing for me across distros.

@millie Please don't use "finished" when talking to management. That suggests a zero budget going forward. You'll need maintenance.

"Feature-complete" may work better, if that's what you meant. In that case, I agree.

@millie

Openbox or Dzen2 are good examples of finished software.

For real, OpenBox is just done. I 100% support having finished software. I laughed so hard when people had a come apart when the main developer for neofetch quit. Like, the software is done, why are you pulling it from repos?

CC: @[email protected]

@thedaemon @vermaden @millie

Linux corpbros reinventing the wheel every five minutes have entered the chat...

@rl_dane @thedaemon @vermaden @millie Sorry, I have a funny #meme about this:

@evgandr @rl_dane @thedaemon @vermaden @millie

Sounds a lot like "I want to play a game." :)

@evgandr @rl_dane @thedaemon @vermaden @millie

I see a lot of this with small shell utilities, duplicating POSIX tool functionality like sed/awk/grep but dragging in huge dependencies like Node.js or Python or Ruby, as well as dozens of libraries from multiple authors/sources. πŸ˜‘

@gumnos @evgandr @thedaemon @vermaden @millie

DUDE, I remember the first time I tried a *top-style utility written in node.js, and the utility itself was hogging like 5-10% of a CPU the whole time.

What the flip is even the point of that?

...

And I'm sure Rust is a wonderful language with tons of advantages, but the build process could blow up Alderaan all by itself.  

I do use some Python-based stuff happily, though. sncli (TUI for SimpleNote) and edir (manage files/dirs in $EDITOR) are pretty fly.
Oh, and of course, toot for tooting and doing things like looking up fedi threads and stats on users, yt-dlp, obviously, and rokucli for controlling my TV from my laptop.

Their dependencies aren't anywhere near as labyrinthine as JS or Rust, and pipx does a very reasonable job of managing them.

@rl_dane

Yeah, there was some whole-system top-like utility that caught my eye a while back (I think it might have been "glances", but could be mistaken and it was something similar), but when I went to install it, the package manager informed me of its hundreds of MB of dependencies for something that could likely have instead been a single C/Go/Rust binary. I opted to answer "No, don't bother proceeding" 🀷

@kabel42 @gumnos

That's impressive, considering how heavy the new KDE system monitor is.
I miss the one from KDE 5. It was crazy lightweight.

@rl_dane @gumnos KDE6 runs very well for me, but its also 0.3% of a "AMD Ryzen 9 7900 12-Core Processor"
I like having disk io and network io in there, otherwise htop would just do the same with fewer resources

@kabel42 @gumnos

Wait, is it 0.3% of a single cpu or all of them?

That's a pretty beefy machine. XD

On my 12-gen intel i7, system monitor runs at about 0.8% to 1.3%, which is a little high for my liking. That's even after I configured all of the monitors to only update once per second.

@rl_dane

meanwhile, my baseline is systat/top both of which use a minuscule amount of RAM & CPU, even on my almost-15yo laptop πŸ˜†

@kabel42

@gumnos @kabel42

I've been pretty happy with htop. It's got a nice balance of features/rice and efficiency.

I miss #OpenBSD's systat when I'm on #FreeBSD. FreeBSD's is ok, but OpenBSD's is a little nicer (not that I even barely know how to use it ;).