

It’s a different piece of software. It makes no sense for them to adopt the Firefox Terms of Use, no matter how they might think of them.
It’s a different piece of software. It makes no sense for them to adopt the Firefox Terms of Use, no matter how they might think of them.
I’m currently at the other end of this, in that I’m trying to implement caching for a build tool. And yeah, I do expect to be in for a world of pain.
Biggest problem is that you cannot do caching correctly, unless you know all the inputs upfront. If the user decides they’ll use the CPU temperature while building their distribution artifact without telling you about it, you’re fucked.
Or well, the user is fucked. Because their CPU temp will not update and they’ll never be told about it.
So, the user needs to tell you about every single input, which makes it extremely verbose. I guess, that’s why so many build tools have their own custom APIs rather than using file APIs from the stdlib, because it allows you to register e.g. paths as an input, wherever they’re created…
I like the idea, but I wouldn’t really know how to put it into practice. It works quite well, if you’re using Python to automate, but if you’re using more dedicated tooling for CI/CD automation (à la Ansible, Puppet etc.) then those tend to not really have a way to pause execution until a user input happens. It’s kind of anti-thetical to their end goal…
I guess, you could have a Python or Bash script, where each function just calls an Ansible task and once you’ve automated a chunk, you replace that with an Ansible playbook. But yeah, really not sure, if that’s terribly sexy in practice.
Yeah, I’m really wondering why they thought this was a good idea. My best guess is that they want to keep everything within one file, since it makes the script easier to deal with. But when automation actually starts being implemented, they want the functions for each task to be grouped (and I believe, Python doesn’t support inline modules), so they abuse classes for that…?
Well, and I guess, it allows them to have pseudo-constants within each task, which don’t need to be explicitly passed around between functions.
But yeah, really not a fan of needing this much boilerplate to start out with. In my opinion, the activation energy required to use this pattern instead of slapping down documentation needs to be as minimal as possible, otherwise folks will slap down documentation instead.
I would very much argue that you shouldn’t add complexity unless you actually make us of it. Them all using a uniform structure doesn’t help readability nearly as much as just not having the complexity…
To point it out for folks unfamiliar with Rust, I consider this comment borderline misinformation.
I don’t know in what world the Rust compiler is considered unreliable. In my experience, it is one of the most reliable toolchains across all programming languages.
The Rust compiler is slow, because it does so many more checks than the C compiler, which is what these devs want. This is also barely relevant while actually developing, because then incremental compilation kicks in, which makes subsequent builds rather quick.
And Rust binaries are primarily larger than C binaries, because it does not use dynamic linking of dependencies. In the kernel, you cannot use dynamic linking anyways, because you need a running kernel to have a filesystem from which to dynamically load these.
Honestly, kind of most excited about std::env::home_dir()
being fixed/undeprecated. That’s the kind of thing that some languages would leave unfixed for eternity, until half the community recommends not using the stdlib even for basic uses.
Linus has also declared Rust as basically inevitable before, since more and more kernel maintainers retire and not many young devs learn C anymore, at least not to a proficiency where you can handle kernel development.
You mean Gitea? Forgejo is a fork from it, maintained by a non-profit, so preferrable to most folks.
I want a programming language that supports German style composite words
Java
Yeah, one time I helped out an HR person with an Excel formula. It took like 5 minutes to write the formula on my laptop. Then I sent it to them and it took another 5 minutes to translate it into the local language…
At $DAYJOB, we’re currently setting up basically a way to bridge an interface over the internet, so it transports everything that enters on an interface across the aether. Well, and you already guessed it, I accidentally configured it for eth0
and couldn’t SSH in anymore.
Where it becomes fun, is that I actually was at work. I was setting it up on two raspis, which were connected to a router, everything placed right next to me. So, I figured, I’d just hook up another Ethernet cable, pick out the IP from the router’s management interface and SSH in that way.
Except I couldn’t reach the management interface anymore. Nothing in that network would respond.
Eventually, I saw that the router’s activity lights were blinking like Christmas decoration. I’m guessing, I had built a loop and therefore something akin to a broadcast storm was overloading the router. Thankfully, the solution was then relatively straightforward, in that I had to unplug one of the raspis, SSH in via the second port, nuke our configuration and then repeat for the other raspi.
They are working on a new touch keyboard: https://invent.kde.org/plasma/plasma-keyboard
But yeah, no idea when it’ll be ready.
Well, I happen to be lucky enough that this particular project is actually developed as part of my dayjob. And the other projects, if I’m honest, are just projects I developed to scratch my own itch and then uploaded onto Codeberg with a libre license. I haven’t really announced them anywhere, except to a few colleagues, so I basically never get suggestions there.
But yeah, this project being part of my dayjob kind of makes it even more clear-cut that I’m not going to put in extra time to develop features that no one currently sponsors…
Got a comment last week on one of the open-source projects I’m contributing to. We have an issue open, documenting that we’d like to support a certain feature, and this person clearly took quite a bit of time to pull together information, which gets us over the first major hurdle for this feature.
But also, this feature is really not the highest priority to us right now. Really had to stop myself from promising that we’d look into it in my response, because it is still quite a bit of work to actually make it a reality. I’m still new to all this, so I still have to learn to not feel bad about it. If they want to scratch their own itch, they’ll have to scratch it in full. That I’d review their code before merging, is honestly already quite a bit of effort put in by me for something that I don’t care to solve right now. That I take time to respond is basic decency, but still also uses up time. Really, I had not understood before, how much work it has to be for maintainers with an actually active community.
They’ve posted on Mastodon, that it is a (D)DoS: https://linuxrocks.online/@[email protected]/113995906036180301
(Other than things like locked down smart phone bootloaders, but that’s got nothing to do with the FOSS part of this discussion.)
See, I disagree on that. If I know something I could (help to) build will only ever be used by a few folks and can never help most people, then my motivation is significantly lowered. Well, unless I’m truly just scratching my own itch, but even then I might choose to not scratch my itch, because I’d rather quit using the platform, if possible.
And then, yeah, what the other person said about financing.
For Android, there are various small efforts in terms of forks, with the biggest being LineageOS. There are even some commercial efforts, like /e/OS. I think, Huawei also wanted to do a fork or something. No idea what happened with that.
But yeah, none of these efforts are hard forks, which can change more than superficial stuff. And it’s not for a lack of desire, but because it’s just such a ridiculous uphill battle to try to get anything noteworthy changed. Many times, LineageOS (and its predecessor CyanogenMod) had some cool features, which they later had to scrap, because they needed to follow what Google was doing and their features wouldn’t work with that anymore. If they would’ve seen any chance of a hard fork working out, they probably would’ve tried to go that route.
Personally, I’m at the point where I try to only use community-developed software. I’ve seen it too often that even projects which are nominally open-source start becoming cunts…
If you’d like something LaTeX-like (best for transscribing rather than composing), then there’s LilyPond.