That's a complete non-sequitur. If you cut off your feet and get shorter, it doesn't mean the human species has physiologically changed. And if you eat more calories and get taller, it doesn't mean the human species has physiologically changed.
That isn't a change of physiology, it's a change of our external environment. AFAIK there's no evidence to show humans living 100 years ago would respond any differently to modern nutrition than we do.
If the cause of being taller were internal, such as genetic changes: that would be a change in physiology.
They're probably doing the same thing humans on our earth were doing for centuries until ~1600. Surviving. Given how cruel nature is I think we're lucky to have the resources to do more than just survive, to build up all this crazy technology we don't strictly need to live, just for fun/profit.
Of course there is. If someone hits their spending limit, asynchronously shut off the services (using the same API call that your customers can use, so no need to alter the system).
Then apply the hard limit in the billing code. If it took a minute or two to shut off all the instances, maybe the customer's bill should have been $1.001M instead of $1M, but cap the bill to $1M anyway. Given their profit margins of x,000% I think they can afford the lost pennies.
The reason Apple and Google continually patch and change their rules is because they have been playing a cat and mouse game with bad actors who, for decades, have continued to find ways to siphon personal data off devices despite the technical restrictions in place.
You seem to have an awful lot of confidence that "iPhone" and "Kansas" are the only pieces of data any app can get from a device.
So can we say that you agree with #1: after decades of playing cat and mouse with advertisers and spyware authors, these latest updates from Apple and Google are the magical updates that finally completely solved privacy once and for all, and there will never be any bugs or mistakes or security holes ever again?
You completely ignored the substantive part of my post, so I'll restate without distractions.
1. Do you believe that with these latest round of updates, our benevolent corporate overloads Google and Apple (both advertising companies to some extent) have at long last fully solved privacy, plugging every possible information leak and fixing every possible software bug, both present and future?
2. If you do, then do you think it's desirable that we expect every participant in modern society to enter into one-sided, legally-binding contracts with companies they've never heard of with every small action they take on a daily basis, and then use complicated technical measures to avoid fulfilling their end of those contracts?
The crackdown was fairly recent, right? Do you think we should trust that both companies have at long last perfectly solved all privacy problems with this latest crackdown and now everything is perfect and we'll never have any privacy mistakes or side channel leaks ever again?
I don't know about iOS, but here's the situation on Android:
> The QUERY_ALL_PACKAGES permission only takes effect when your app targets Android API level 30 or later on devices running Android 11 or later.
So I guess end users should just check which SDK level their weather app was compiled for! Simple, right?
And if the parking app was compiled for SDK level 29, people should just go find another parking lot with a more recent app?
You're suggest technical solutions to social problems, and those rarely work out in the long term, especially with adversarial parties. Better to solve the problem at the source.
We're talking T&Cs here. How would typing in your location invalidate you agreeing to (what a company would like to believe is legally binding) clickwrap T&Cs? Even if you deny individual permissions, apps will still slurp up your app list/hardware specs/any metadata they can get their grimy hands on, directly and indirectly through side channels. You're saying to give them 999 data points instead of 1000 and you think that's a solution?
It sounds like you're advocating for a world where ordinary people need to choose between:
- not knowing the weather this weekend
- knowing the weather and signing away their firstborn child in the T&C
- becoming an amateur lawyer and spending dozens of hours reading and comparing T&Cs between apps to choose which one to use (until they change the T&Cs again of course, which they'll do without notifying you)
1. Why would you ever login to youtube in the first place?
2. There's strength in numbers. Between adblockers, foss clients, and youtube-dl/yt-dlp, there are probably tens to hundreds of millions of people watching youtube this way. If YT banhammers everyone for that they would end up banning a sizable fraction of the earth's population all in one day. Even Google isn't stupid enough to do that.
I don't know where you got the idea that MS doesn't have copies of their own source code. They aren't just blindly shipping binaries from decades ago with unknown provenance. They keep meticulous archives, and even employ full-time digital archivists. Some of their source has leaked in fact*, spanning all the way from the 1980s to the 2020s, so you can see for yourself if you really want to. If you can download a torrent, you can bet MS has a copy too. And if you search on YT, you'll find people who have built working copies of the OS with these leaks. It's all there.
> That said, linux is in a way like processed foods, and windows is organic.
I would have said the opposite.
Linux is organic - you get the bare essentials (whatever grew from the ground), and little more.
Windows is highly processed - you get the food, but also the chemicals and sugars and additives (AI in your taskbar! Candy Crush and political clickbait in your start menu!) designed to keep you addicted and coming back for more.
It's an interesting pattern, but it's a shame there's no way to efficiently use one of those OptionalXIndex with zig's actual null syntax, `?` and `orelse` and etc. It would be smoother if you could constraint the nonexhaustive range, and let the compiler use an unused value as the niche for null. Maybe something like `enum(u32) { _ = 1...std.math.maxInt(u32) }`
fwiw you can mix git and jj commands on the same repo and everything will work fine. If you want to stick with 99% git commands, and use jj only as a replacement for git-absorb, you can. For this particular use case, jj will handle merges/tags descended from the fixed commit gracefully, and I don't think git-absorb handles that.