Or, you put it another way, the most expensive wishful thinking on the planet.
When people say 'first strike' in this context, they mean 'nuclear first strike', as in 'launch enough nuclear missiles to take out your enemy's ability to fire back'. The reason for nuclear submarines is to largely eliminate this possibility: even if you completely destroy every military installation in the USA, there is going to be at least one submarine hidden somewhere that will be able to flatten a few of your cities.
MAD only works as a deterrent if there is a very small chance of getting away with a first strike. If you can shoot down incoming ballistic missiles, then you might be tempted to launch first and just shoot down the retaliatory strike. If you can fire missiles that are fast enough that the enemy doesn't have time to order a retaliatory strike, then you might be willing to live with a couple of submarines shooting at you, especially if you have a good idea of where they are and can have aircraft ready to launch interceptors flying above them.
Aircraft carriers completely suck for launching nuclear missiles (and the USA has not confirmed that they even bother putting them on board), because they're a big obvious target. If, for example, the USA put a nuclear-armed aircraft carrier near Russia, then you can bet that the Russian second-strike capability would be on alert and ready to launch unless they got regular confirmation that the US carrier hadn't launched. Aircraft carriers also suck for second-strike, because they're too big to easily dodge a nuclear strike and so will be on the list for first-strike targets.
They're good for a conventional (non-nuclear) first strike, because they give you a staging post that you can put right next to someone else's country, but that's less of a problem for global stability. A non-nuclear first strike commits you to an expensive war. Aircraft carriers aren't also specifically first-strike weapons. They have support roles and are even occasionally used for disaster relief (a big portable nuclear reactor turns out to be quite handy sometimes).
There is, but it's to coarse grained. For example, I'd be happy for an IM application to use mobile data, because it's likely to be very low traffic. I'd like my web browser to use mobile data sometimes: when I'm away from WiFi and need to look something up urgently. I want everything else to be restricted to WiFi. I want these settings to vary slightly between when I'm at home and when I'm roaming, as data charges can vary by a couple of orders of magnitude.
Android actually does provide an interface for doing this, but everything defaults to being able to be used all of the time. Within some applications (e.g. web browser) I want something like the old 'show images' button from the MODEM days, so that images, videos, and anything else large will not be downloaded unless I opt in on a specific page.
For comparison, the USA is #1, Germany, France and the UK are 6-8. Now, if you're the worlds second-largest economy, would you prefer to have the worlds eighth-largest economy as a trading partner, or the world first, third, fourth, fifth and sixth? Now, if rational choices aren't enough, keep in mind that (in the scenario under discussion), the current President of #8 is someone who fondly recalls the days when you were a junior partner in an alliance and has demonstrated a willingness to use nuclear weapons.
I use OSMAnd on my phone[1], but my girlfriend recently bought a Windows Phone and I've been very impressed with Nokia's mapping app (I actually like a lot of what Microsoft's done with Windows Phone 8, but it's a strange mix of very polished and well-designed UI parts and completely unfinished parts with missing features). It's good to see more competition with Google maps, which is becoming increasingly entrenched in spite of the fact that the UI is pretty poor in many regards and the mapping data is terrible. For example, here they're missing (or have in the wrong places) most of the cycle paths, which ends up with people regularly getting lost if they rely on Google, in spite of the fact that all of this data is in OpenStreetMap.
[1] For me, it's the killer app for Android. Offline maps, offline routing, and open source backed by high-quality mapping data from OpenStreetMap. I use the version from the F-Droid store, which doesn't have the limitations of the free version from Google Play and it's one of the few open source apps that I've donated money to.
Just curious, what's so wrong with branch with delay slot and isn't that more native way to look at branch ?
They're a pain for people on both sides of the ISA.
The compiler has to find an instruction that can run after the branch. This is normally trivial for calls, but for conditional branches within a function it's often difficult to find an instruction that you can put there. It has to be one that is either from before the jump (or in both basic blocks after the jump), but that the branch doesn't depend on (because it's executed after the branch instruction). This means that you quite often end up padding the delay slots with nops, which bloats your instruction cache usage. On a superscalar implementation this is the only cost, but on a simple in-order pipeline it's also a completely wasted cycle.
On the other side, it's a pain to implement. It made sense for a three-stage pipeline in the original MIPS, because you always knew the next instruction to fetch. A modern simple pipeline is 5-7 stages though, so your branch is still in register fetch (if there) by the time the delay slot is needed. It doesn't buy anything and it means that, if you're doing any kind of speculative execution (even simple branch prediction, which you really need to do to get moderately good performance) then you have an extra dependency to track - you can't just use the branch as the marker and flush everything after it, you need to do some reordering. In a superscalar implementation, you need to do even more complex things in register renaming to make it work.
Real Users know your home telephone number.