Fucking category theorists thinking they’re doing “math” when it’s clearly cocaine.
The only question is: What is a caine?
Hi!
My previous/alt account is yetAnotherUser@feddit.de which will be abandoned soon.
Fucking category theorists thinking they’re doing “math” when it’s clearly cocaine.
The only question is: What is a caine?

I don’t know enough about Windows app development to answer this. Maybe it replaces the old .exe and the now replaced .exe is just continuing to run from RAM? Maybe there is some restarter.exe program in the same folder that does all the work. In any case, this depends far too much on the Windows update process and how to launch applications.
I just know when I used Windows applications in the past, they were able to restart themselves after updating somehow.

I meant the old .exe would check the signatures before initializing the official Windows way to update. Effectively have this run whenever you start the application:
main() {
if (update_available()) {
exe_path = download_update()
if (signature(exe_path) == SIGNATURE) {
install_update(exe_path)
restart()
} else {
put_up_a_warning_or_something()
delete(exe_path)
}
}
# Rest of the application
# ...
}
The only thing I have no idea how to implement would be the install_update(path) function. But surely this is one way to install updates without signatures recognized by Microsoft, right?
And if for some reason you aren’t allowed to sign the .exe because this breaks something, then place an unsigned .exe in a signed zip folder.

Yes, but from what I understand this refers to the automatic update functionality and not Microsoft’s own .exe signature verification thing.
Couldn’t you do it like this:
That should work, shouldn’t it?

It’s astounding this wasn’t done years sooner to be honest. I mean, signing software with keys is not something invented recently. Not doing so is akin to storing passwords in plain text.
Only thing I can recommend (as well as for literally any script) is using set -u. Only because it’s awful to debug unset variables and there’s never a use case for using unset variables.
Even though this isn’t C, but if we take from the C11 draft §6.8.5 point 6 (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf):
An iteration statement whose controlling expression is not a constant expression, that performs no input/output operations, does not access volatile objects, and performs no synchronization or atomic operations in its body, controlling expression, or (in the case of a for statement) its expression-3, may be assumed by the implementation to terminate
“new Random().nextInt()” might perform I/O though so it could still be defined behavior. Or the compiler does not assume this assumption.
But an aggressive compiler could realize the loop would not terminate if x does not become 10 so x must be 10 because the loop can be assumed to terminate.
Infinite loops are often weird though. They could be seen as undefined behavior and the compiler may do whatever it feels like.
Not sure about the last one though. The other two are trivial to optimize away.
Huh, I couldn’t find anything about that anywhere online. Are you sure that’s the norm in Latin America? Because Microsoft says that key is the normal apostrophe (U+0027): https://learn.microsoft.com/en-us/globalization/keyboards/kbdla
Don’t they have an apostrophe somewhere?
According to Wikipedia their apostrophe should be located where the US-ANSI dash - is located.
Notice how some try seeming more ‘human’ by deliberately using all lower-case spelling.
Also, it looks like the RosalieBloomm LLM is using the “real” apostrophe ’ instead of the one on keyboards '. Nobody does that
I really like bash when dealing with even somewhat advanced scripting. Like the 300 LOC scraper I have written over the past two days which horribly parses HTML files using grep | sed.
It’s genuinely so much more fun to do this with Bash than, say, Python. I have once written a scraper using Beautifulsoup and I have no desire to do so ever again.
Honestly, only Haskell manages to beat Bash in how satisfying it feels when you manage to get something working well.

Laws are often purposefully vague to account for loopholes and changing circumstances/public attitudes though. It’s the task of courts to define the exact boundaries – and since jury trials aren’t a thing, the interpretations of any higher court will basically ammend the law for lower courts.

Fortunately not too bad.
It’s just:
SUSE Linux Enterprise 16 supports the Model Context Protocol (MCP) standard and can bridge to any LLM provider.
So it doesn’t include AI but you can connect it to AI. Also openSUSE is seemingly unaffected.
If enterprise customers want to continue – and pay for – their AI circlejerk then let them.

You can also be spied on by me if you’d like to.
Just send your search queries to me.
For extra espionage, I’ll even make sure to use non-privacy respecting search engines (like Google, Yandex, Baidu) and AI for your queries.

Das ist K&R C, du Banause!

*dooppelvookaalen
I think it can apply to the most general workflow with branches as well, where branches are used to develop features and then later merge them.
After all, any new branch is basically a “remaster” until merged back in, which is when the original master becomes the remaster.
Sure, the analogy isn’t perfect because in music the original master isn’t supposed to change – but the entire purpose of a version control system is to change the “master record”, i.e. what’s deployed to production.
More than I expected to be honest, Germany has a rate of 75€ per day which would result in a whopping 400,000€. Austria has between 20€-50€ per day for instance.