> get bogged down typing the best possible ways to do it but it's a moving target
As someone who is still learning this is a huge reason why I've come to love dynamic languages. Any project I do involves a lot of rewriting as the code evolves, I found that trying to predict ahead of time what the structures and types will be is mostly a waste of time.
The best middle ground for me so far has been using python with type hints. It allows for quick iteration, I can experiment and only then update the types to match what I have, so that I can still get LSP help and all that.
But I could see this being less relevant with more experience
Several other people have commiserated, so rather than do the same maybe we can help.
Are you quite sure you understand the atomic primitives you're working with? Mara's book https://marabos.nl/atomics/ is pretty good, it's written in Rust but like, if you thought you needed a Memory Ordering that doesn't cover you're boned because your tools don't support that order (and probably in an appendix or footnote somewhere they admit that) either.
Reach for tooling to diagnose ordering problems. Loom and Shuttle are where I'd start in Rust, hopefully you have equivalents in any language you're using. Those are: A thorough tool which tries every possible correct interleaving and tells you what happens, and, a probabilistic approach which just picks at random and figures on average it should find the problem cases (but we can't prove it does).
When in doubt, steal: There is often a published, correct, algorithm for whatever you're doing. It might take an hour to convince yourself that algorithm is correct, but hey, you're planning to spend four hours on your algorithm which isn't correct, that's a bad trade.
Rubber Ducks are invaluable. If you feel awkward addressing an inanimate object I don't recommend using pets or livestock as both have no reason to be attentive, try a human who likes you. The important property of the rubber duck is not that they understand what you mean, after all a plastic bath toy can't understand anything, but that you will feel the need to make whatever you're saying make sense and in doing so may uncover a place where your algorithm is inconsistent.
Maybe you implied it, but adding to the 'going up' case, there is bullet ricochet -- also reffered to as skipping or bouncing bullets -- that makes it so that bullets will ricochet out at a shallow angle and ride out the wall or floor, making your head hittable without even aiming at it.
Here is a instructional FBI video talking about it.[0] And a more modern take.[1]
rclone is not a proper backup tool. It's like an rsync that integrates with all the clouds.
You can kinda use it as one though. I had Borg in my todo for a long time too -- experimented with it and restic which are proper backup tools -- they are a little more involved than rclone (and scary, as they can get corrupted and you are essentially reliant on the software to get your files back).
I found rclone much simpler to work with. As they always say, any backup is better than no backup!
The simplest thing you can probably do is use rclone to copy your most important files to a B2 bucket. Enable Object-lock on the B2 bucket to ensure no deletion just to be safe. You can then run rclone on server and from your devices with cron jobs to archive your important stuff. This is not a proper backup as I said, if you rename files or delete unwanted stuff it wont leave on the backup bucket but it's usable for stuff like photos and the like, anything you don't want to lose.
(I lied, simplest thing is actually probably just copying to an external hard drive, but I find having rclone cron jobs much more practical)
Thank you so much! It really helps. My data is on a Synology NAS. It seems B2 buckets support is built into the Hyper Backup Synology software (the one whose purpose it to perform backups), I'm not sure if I am going to chose that or Rclone. But I already found some resources (https://www.reddit.com/r/synology/comments/hsy29y/hyper_back...), I'll investigate that. Do you, by chance, also perform your backups from a Synology NAS?
[1] https://www.youtube.com/watch?v=Mmdxs_0yYwc
[2] https://www.youtube.com/playlist?list=PLocRYksAqGOJnr-Y0eyP8...