Just an anecdote. I'm currently living in China and me and the other expats were always kinda amused that local Chinese are willing to spend the equivalent of 2 months of their salary on an iPhone. Apple's grip on the market is absolute here
At first, like some high brow NYT journalist, I thought it must be a cultural thing. People looking for a status thing, a vanity thing in a image conscious society. Or a the very least they're willing to fork over tons of cash to get a good quality device bc they don't trust their own phone makers. But the local phones are actually hardware-wise okay. And they have decent warranty support (not Apple level.. but still)
But after watching a friend struggle with an Android phone, I realized that the problem is the apps. There is no GooglePlay store, just crappy 3rd party stores like the Xiaomi Store. These stores have basically no standards when it comes to app quality and Chinese apps are horrible bloated virus-like monstrosities that slowly cripple your phone till it barely works and the battery dies after half a day. All the permissions managers and security features in the world don't stop the system from being a complete disaster here.
If anyone wants to free Android - they need to make a good play-store alternative that only allows high quality apps. They you can make your Android fork and whatever else you want
One thing that needs to be stressed is that realistically there is a rather limited amount of Uranium than can be extracted from the earth for nuclear power. That if we could magically convert to 100% nuclear power - it wouldn't last that long.
from wikipedia
"Still, the world's present measured resources of uranium, economically recoverable at the arbitrary price ceiling of 130 USD/kg, are enough to last for between 70 and 100 years"
reactors have a life of around 60 years I think. So maybe you could double the amount of nuclear power? But it's not like the world can magically go to 100% nuclear indefinitely.
I'm not really fully involved in the ecosystem too much, but has open source hardware really paid off? Like I see that you can get cheap knockoff Arduinos - but that's not really moving things forward. Are people forking board designs and selling their own twists? (honest question..)
The problem is immature tooling. There is no feedback loop from the compiler's generated assembly back to the IDE. We finally have libclang which sorta does some stuff (I'm not entirely sure how far it can go) - but I'm honestly not seeing any work being done in this direction on the IDE level. After all these years of C++ development, why doesn't the IDE do something as simple as tell me if a function is being inline or not is beyond me (that's the tip of the iceberg in terms of what I want to know).
When I asked people at CppCon about it I just got some shrugs and was told "just go look at the assembly".
Another solution is profiling - but that's got a slow turn around, and it can be hard to narrow down problem areas.
uhhh, well I'm sure the space race didn't help in reducing tensions.. but you know all the proxy wars and thousands of soldiers dieing prolly played a bigger role.
There really shouldn't be an use vs. them with China. That's incredibly toxic thinking (trying to create an new Cold War)
I think this is only true when you look at political speech (where the sacred phrase "founding fathers" can justify most things)
But ultimately at this point the US is culturally on a completely different level compared to backward nationalist countries like Russia. Maybe you're not familiar with American education, but a good portion of what we learn at a young age is actually national self criticism. In my personal experience I'd estimate almost half of my history education up to high school was on
- the terrible things we did to the Native Americas
- the terrible things we did to Slaves
- the terrible way we oppressed African Americans
Even when we learn about the founding fathers, time is always take out to point out the hypocrisies that happened at the time. I think the fact that a bunch of intelligent men were able to found a national structure that has lasted this long and has managed to regulate itself away from tyranny is truly magical and a great historical achievement. The more I learn about it, the more improbably it all seems - there were so many chances for it to go wrong. What are they on in France, their fifth republic? Or is it their 6th?
The rational for killing the local population is fundamentally different
Nanking was massacred as punitive action for resistance, not as a means of creating space for the Japanese. They Japanese did have "colonists" in Manchuria, but if you know any geography that's nowhere close to Nanking.
At least when it comes to startups this makes total sense. Work is increasingly both your work and your life. Your friends are increasingly your colleagues.
Traditionally you don't cuss in the work place b/c you have to stay professional - ie. you have to not be emotional about your work. Cussing is a form of injecting emotion into your speech. If you are at the office 12 hours a day with your friends, then the lines get blurred.
Personally I don't like the trend, but to each his own. There are pluses and minuses to each type of workplace
I saw plenty of domesticated elephants in Thailand (and I assume all of South East Asia). Are African elephant some how different when it comes to this?
I really like this workflow, but my major grip is that the autogenerated merge commits are terribly ugly and uninformative. I'm sure you can override them, but no one seems to every do it. The workflow is awesome at visually segregating your logically separate pieces of work, but you never actually end up giving it a proper label like "Added feature" (which took a refactor and 10 commits)
Okay, but at that point you're talking about things that are way beyond the capabilities of an iterative loop. I think my point still stands - that implementing a tail recursion in place of a loop is not something you will have to pay for. Both structures will map to the same instructions.
this is outside my field of expertise. Can you give an example of a tail call that needs "trickery"?
I'm not 100% on this, but when you have a tail call I don't think you have to remember the state of the stack frame. "function prologue, epilogue, and the maintenance of the various pointers" aren't god given rules - they're things dictated by something like the C ABI so you can resume the caller. So if you're thinking in terms of C ABI then yes, it's a compiler optimization, but in principle I think it's a zero cost abstraction (though I'd argue that the iterative loop is the actual abstraction)
In tail call recursion you're ensured the caller will never resume!
When you enter a tail-recursive function you save (as you normally would) a return pointer for the program counter and allocate registers/memory for your function arguments. At the end of the function you've done all the computation that that frame will ever do, so you are free to overwrite the argument variables when calling the next iteration/recursive-step. The return pointer doesn't need to be touched at all. Where is the complexity you're talking about?
the CPU is just doing a jump to an instruction at the end of each iteration.
When you do tail call recursion you are doing just that. The assembly jumps to a tag and in recursion you jump to a function name, which is also effectively a tag.
So it's not really about mapping better to the CPU instructions or anything like that
The added benefit is that with tail call recursion you can have mutually recursive function (function A calls function B at the end and function B calls function A at the end), which isn't possible with a simple iterative loop, so the functional style is actually more powerful than an iterative approach and still maps directly to "the way the CPU works"
Just an anecdote. I'm currently living in China and me and the other expats were always kinda amused that local Chinese are willing to spend the equivalent of 2 months of their salary on an iPhone. Apple's grip on the market is absolute here
At first, like some high brow NYT journalist, I thought it must be a cultural thing. People looking for a status thing, a vanity thing in a image conscious society. Or a the very least they're willing to fork over tons of cash to get a good quality device bc they don't trust their own phone makers. But the local phones are actually hardware-wise okay. And they have decent warranty support (not Apple level.. but still)
But after watching a friend struggle with an Android phone, I realized that the problem is the apps. There is no GooglePlay store, just crappy 3rd party stores like the Xiaomi Store. These stores have basically no standards when it comes to app quality and Chinese apps are horrible bloated virus-like monstrosities that slowly cripple your phone till it barely works and the battery dies after half a day. All the permissions managers and security features in the world don't stop the system from being a complete disaster here.
If anyone wants to free Android - they need to make a good play-store alternative that only allows high quality apps. They you can make your Android fork and whatever else you want