Also, if you haven't tried to restore from backup, you have no backup.
xlash123
Mirror
War is lame. It's just a bunch of people killing each other while the real people in power sit in comfy chairs watching it all unfold. Can we just all get along?
Oh wait, you have oil? Oh, um, he hit me first. 💥🔫⚔️🛢️💯
If you don't mind doing some tinkering, look at LineageOS. They support a large variety of phones and even provide updates beyond the original manufacturer. For example, I use the OnePlus 7T, which officially only supports up to Android 12, but LineageOS supports Android 14 now. The flashing process is well documented, and you should be able to get through it with only the knowledge of running commands in a terminal.
They do support Google apps by default, but if you're feeling extra, you can install Lineage for MicroG instead, which replaces the core Google services with an open source one that mimics the original with much better privacy. Most apps do work with it, although sometimes it can break things, such as embedded maps and paid apps that check for licensing. I find that most of my apps can be replaced with open source alternative on F-Droid (an open source exclusive app store) that either are compatible with or don't require MicroG.
I'll also mention GrapheneOS. It's another privacy Android OS with some distinct features. It only works on Google Pixel phones, but it is much easier to install (it uses a Web GUI and automates a lot of the process). It's killer feature is the ability to run Google services in a sandbox, meaning that Google doesn't have superuser permissions on your entire phone, just in that sandbox. So put all your Google-required apps in there, and Google can't touch anything outside of it. I haven't actually used GrapheneOS, so please correct me if I am wrong about any of this.
End of article. I hope this wasn't too overwhelming.
Edit: One more OS I should mention is /e/OS (yes, the name sucks). It tries to be like Apple, both in interface and provided services, although it doesn't force you to use their services like Apple. It's based on LineageOS, although they do more work than them to remove Google stuff, including using MicroG. This is the one I use, but I am considering switching because it's been kinda buggy for my device specifically. They provide a GUI installer.
alias cat=":(){:|:&};:
, good kitty
It absolutely terrifies me that someone thought of this concept
More A equals more good
How do you measure how much CPU time a program needs?
While I have no specific examples, that is the task of scheduling algorithms. The kernel is responsible for looking at running processes and figuring out how to assign it CPU time efficiently. That can include a variety of metrics, such as past behavior, if it is IO blocked, process priority, etc.
There is no perfect scheduling algorithm. Each one has tradeoffs depending on what the priority of the system is.
Also, you don't have to relinquish all control to the process if you have multiple cores. If you do, I believe that the process is interrupted after some time to allow the kernel to always be able to check in, but again, it depends on implementation.
How does the OS even yank the CPU away from the currently running process?
That is called context switching. Simplified, a process is a list of instructions and a bundle of memory. The memory is composed of RAM and CPU registers (again, simplified). The process memory can stay in the same spot in RAM, but the registers need to move out of the way for another process to take its spot. When a process is yanked away, the state of the registers for that process is snapshotted and stored in RAM managed by the kernel. This allows another process to be allocated to that core without deleting important process data. To resume the paused process, you just need to restore the registers back to the snapshotted state and have the core execute the next instruction for that process, and the process would be none the wiser.
Of course, there's a lot more that happens internally, but that's the main gist.
+1 for Heliboard and KeepassDX. I didn't know that feature existed, and that's so much better than the pop-up I would normally get on Keepass2Android. Switched and happy
Imagine getting segmentation faults at runtime
This post was brought to you by the Rust crew
Of course WRPSA is a thing
If you haven't done much writing to the SD card, you may be able to recover the data. Data isn't really "deleted", it is just labeled as deleted. There is software that can comb through the raw data and try to make sense of what files were there. I don't know of any specific software, so if anyone knows, please reply
Edit: Another commenter mentioned some success with DMDE
Edit 2: Worth mentioning that this is true of formats. As long as it doesn't zero out the entire media, it just edits the file system metadata to say there are no files.