Syncthing or unison might be what you want
talkingpumpkin
I've not looked into Zig yet (just like you must not have looked very closely into rust, since most of the stuff you mention as a Zig highlight is present in Rust too), so I'm not gonna argue which one may be "better" (if I had to bet, I'd say both are great in their own way - OP's question is IMHO kinda dumb to begin with).
I want, however, to point out a misconception: "unsafe" rust code is not code that is bugged or in any way inferior to "regular" code, it's just code (usually small pieces) whose safety is checked and guaranteed by the developer rather than the compiler. Yeah, they really should have picked a different name for it... possibly one that isn't literally the contrary of "safe".
Your system will appeal to the intersection between people who like gambling and people who like donating to charities.
Even among them, I don't see why anyone would prefer putting 100$ in your web3 thingie instead of just donating 50$, gambling with 45$, and buying a beer with the 5$ they would lose to you... well, there are a lot of ~~stupid~~ peculiar people (especially among crypto bros), so you might actually be ok.
About the implementation, the 50% to charities should be transferred automatically... what's the point of a smart contract if people must trust you to "check the total donations and create a donation on The Giving Block"?
PS:
IDK about the US, but where I live gambling is regulated very strictly: make sure to double check with a lawyer before getting into trouble.
2 more cents :)
I've been using syncthing for a while now, on different devices, and the only unreliability I've run into is with android killing syncthing to save battery life, which is kinda hilarious, considering all the vendor- and google-provided crap they happily waste battery on (I don't use it, but for what I've heard iOS is even worse in this regard).
Specifically, I have a samsung tablet where, no matter how much I tinkered with system settings, synchthing would only run if I manually launched the app or while the tablet was charging (BTW I still use that same tablet, but it now runs LineageOS and syncthing works flawlessly).
All this is to say, you should probably look into system settings and research ways to convince your OS to do what it's supposed to rather than tinkering with syncthing itself.
I don't see the ethics implications of sharing that? What would happen if you did disclose your discoveries/techniques?
I don't know much about LLMs, but doesn't removing these safeguards just make the model as a whole less useful?
I fear it was nothing that entertaining: it was just my "normal" dark panel at the top of the screen and a second "default" white one at the bottom (this last one partially covered the windows I had open). I didn't try triggering notifications or otherwise causing some kind of mayhem.
I'm just messing around with testing/configuring different desktop environment/window managers and I'm looking for a quick way to preview them (running the new session as my user would be fine too - I just thought it would be simpler as a different user)
Wow, that's so neat!
On my machine it opens a fullscreen plasma spash and then it shows the new session intermixed/overlayed with my current one instead of in a new window... basically, it's a mess :D
If I may abuse your patience:
- what distro/plasma version are you running? (here it's opensuse slowroll w/ plasma 6.1.4)
- what happens if you just run
startplasma-wayland
from a terminal as your user? (I see the plasma splash screen and then I'm back to my old session)
Yes, XML is different than JSON and YAML, but it's not particularly easier or harder to manually read/edit than JSON or YAML are (IMO the are all a pain, each in its own way).
If you want to look at it from the programmer's side (which is not what OP was talking about)... marshalling/unmarshalling has been a solved issue for at least 20yrs now :) just have a library do it for you (do map json/yaml properties to you objects manually?).
You don't need to worry about attributes/child elements: <person name="jack" />
and <person><name>jack</name></person>
will work the same (ok, this may depend on what language/library you pick - the lib I used back in the day worked either way).
If anything, the issue with XML is all the unnecessarily complicated stuff they added to its "core" (eg. CDATA, namespaces, non-standalone documents, ...) and all the unnecessarily complicated technologies/standards they developed around XML (from Xinclude to SOAP and many others)... but just ignore that BS (like the rest of the world does) and you'll mostly be fine :)
Yaml is fundamentally the same as the json and xml it has mostly replaced (and the toml that didn't manage to replace yaml)... it's a data serialization format and just doesn't have any facility for making abstractions, which are the main tool we human use to deal with complexity.
For those kind of issues I'd recommend snapshots instead of backups