Very different approach: emulating a full x86 machine and booting an OS into it, vs recompiling applications to run in the browser and providing kernel APIs. The latter should be a lot more faster and integrate better with other web tech, but of course can't run arbitrary application binaries.
However, assume it did. Then ocean acidification is still a first world problem. If you're the government of a developing country (India, China, Brazil, ...) where most people don't even have reliable electricity, and you get to choose between washing machines for your people and a more basic ocean, you go for the washing machines. And you will burn gigatons of coal to enable those washing machines.
Globally speaking, government action will not work, because most governments don't care (for good reasons, arguably). On top of that, international agreements are mostly concerned with non-solutions like a reduction of carbon emission by some irrelevant fraction by a time when it's too late (like 50% by 2050 or some such nonsense). Even if the first world managed to do that, the growth of the developing countries annihilates any such progress within a decade. And even if the whole world was on board and reduced global emissions by 50%, we'd just fuck up the planet half as quickly, but every bit as reliably. The reality is that if global climate change really is such a big problem, we need to get to zero carbon emissions, actually negative carbon emissions, fairly quickly.
Your dream of a world police enforcing zero carbon emissions collides with the reality that they (the UN or whoever else is closest to a "world government") aren't even trying, and that they don't actually have an alternative plan.
That's never going to happen. Americans will never give up their trucks. The Chinese won't give up their coal fired power plants. Developing nations won't give up slash and burn forestry programs. Why? Because we're all motivated by greed. Instead I think the solution is to make pollution expensive: some have proposed a carbon tax as one way of dealing with this. Perhaps there are other ways involving behavioral economics or something that could also be attempted.
There are some encouraging trends, but the progress they've made to date is still very small compared to the size of the problem.
Perhaps the most encouraging trend is the exponential growth of the photovoltaic solar panel industry. If that continues, it will certainly be a huge help. But you have to weigh that against the fact that there are still a couple of billion people with no access to power at all. All together, world carbon emissions are not likely to fall anytime soon.
A 40% decline in licenses is not "very small". It's enormous.
Likewise China realized it couldn't double down on coal indefinitely, they had to back off. When your pollution becomes so bad planes can't take off you have to re-think your strategy.
China used coal because it was cost-effective, but now the costs of coal are too high to sustain its use. They're just going where the money is, and right now that's solar.
China itself doesn't have a lot of fossil fuels other than oil so naturally they're interested in something that makes them energy independent. Energy is, after all, power.
I agree: taxing of pollution will change behavior of polluters while also will gather money for ecological programs. European Union is already doing that:
The total revenue from environmental taxes in the EU-28 in 2014 was EUR 343.6 billion; this figure equates to 2.5 % of gross domestic product (GDP) and to 6.3 % of the total revenues derived from all taxes and social contributions (see Table 1).
I think you're right in that any lasting solution must come about because it's in our best short term economic interests - because, by and large, it's how we make our decisions
There is a valid criticism at the core here, that the JS community jumped a bit too quick on Redux/Flux. Even the author of Redux said quite a few times now that you should not blindly use Redux, but only if you see an actual need for it.
I liked Redux when I experimented with it, but it is not a panacea, the advantages you gain are not entirely for free, and it might not be worth the boilerplate and complexity if you don't have a very complex application.
You can use React vanilla if you want, but you will spend a lot of time keeping props in sync and making sure changes are invoked up the chain.
So cool, you nailed that down vanilla - you're awesome.
Or you can just Mobx and not worry about it.
It's not like you're forced to use Mobx. Even when I worked with Windows Forms in .NET 2.0 you still had to have some way to keep values in sync, and instead of "Mobx" you had some home-grown monstrosity.