I will continue to kick & scream at every project that thinks free software is the way to go with their software, but not good enough for the tooling around their project. Fuck Discord. Fuck MS GitHub.
Wat. You are saying you can’t package Python application on a system level? That means the language’s package managament is broken. Nix unlike most package managers can do a reasonable job juggling multiple version of packages at the same time & stuff still breaks, & more frequently than anything in any other language other than Haskell.
There was also the SolarWind attack, Colorama, JarkaStealer, Cobo, pywx, Dropbox, PyTorch 2023. Zero-days galore.
Meant to be glue but is used in all sorts of places it probably shouldn’t. The way libraries are handled & pinned leads to lots of breakage—a couple applications I have overlays to disable testing since stuff gets merged into Nixpkgs with failing tests so frequently that I is better to just turn it off & deal with failures at runtime.
I would at least agree Lua is a better place to start—at least for a dynamic scripting language. It is not a complicated language & it even supports tail recursion which you can’t say about far too many languages.
Yes, you can do the fundamentals & professional design work in these applications—there is no reason to be spending money just to “get into” graphic arts. Hugin + Darktable are great for photography too.
It is slow. Syntax & community idioms suck. The package ecosystem is a giant mess—constant dependency breakage, many supply-side attacks, quality is all over the place with many packages with failing tests or build that isn’t reproducible—& can largely be an effect of too many places saying this is the first language you should learn first. When it comes to running Python software on my machine, it always is the buggiest, breaks the most shipping new software, & uses more resources than other things.
When I used to program in it, I thought Python was so versatile that it was the 2nd best language at everything. I learned more languages & thought it was 3rd best… then 4th… then realized it isn’t good at anything. The only reason it has things going for it is all the effort put into the big C libraries powering the math, AI, etc. libraries.
What I like about this is that I could theorhetically install a non-QWERTY keyboard instead of being locked to such an inefficient layout. Yes, eventually you can learn to touch type, but learning it would be nice to have the keys since it will be a nonstandard layout at that size & when you hand it off to other folks, it’d be completely unexpected to hit q & get a '.
FYI for the other commenters, UnifiedPush can work thru the Prosody mod_unified_push or any server with a up where Conversations (& its forks like Cheogram, Monocles, Blabber) can be a distributor. This has the added bonus of coming with an awesome decentralized XMPP chat server getting to reuse a single connection & single app to server instead of separate ones. Conversations is the most efficient chat client on Android in terms of resources (battery, network, RAM) so might as well keep it lightweight—which you are probably trying to get push notifications from the likes of Signal or Element, but what is the point when you have an efficient XMPP server for your chat needs?
However, I think UnifiedPush might be a bit flawed—as if the startup that created ntfy is pushing others to try to adopt their standard instead of getting folks on board with the older & capable MQTT (which also can be ran thru mod_mqtt on your XMPP server). I am not yet sure if this is a tinfoil take or not.
Fundamentally anything with a snapshot-based model is reliant on patch order mattering. As such you always end up with some centralized server. Pijul & Darcs are based on Patch Theory that says if Patch B is applied before or after Patch A assuming there is no conflict or dependence, it should not matter in a communicative way—that is to say the 1 + 2 ≡ 2 + 1. You can avoid a series of conflicts & better support a distibuted/decentralized development model if the order doesn’t matter.
It’s still quite immature & I have my reservations that a big Haskell project can be maintained for the long-term seeing a lot of Haskell failings even in the short-term. It is a promising idea, but I am not ready yet to try it.
I will continue to kick & scream at every project that thinks free software is the way to go with their software, but not good enough for the tooling around their project. Fuck Discord. Fuck MS GitHub.