As far as legal liability goes, you should be able to get a short low-cost consultation with an attorney through the local Bar Association, or (since you're in a Fortune 500 company) possibly an Employee Assistance Plan. The time and money are likely to be well spent if you are worried you might be in legal trouble. Either you'll feel a lot better about your personal situation, or you'll know better what to do.
Journalists are overwhelmingly Democrats, and owners of media outlets are generally Republicans. This results in lots of stories being at best de-emphasized, regardless of which party they favor. It also means that lots of people blast the mass media for biased coverage, but they don't actually agree on the bias. Beware confirmation bias.
Comparing the UK and US: while I consider the Iraq invasion of 2003 to be illegal as well as a mistake, the UK joined in. Moreover, Snowden, given what he did, did violate the law big-time (whether his actions were moral - and I think they are - is another question entirely). The UK has been giving the journalists who collaborated with Snowden a hard time, while the US government has not bothered those who published information Manning leaked (despite some unsupported suspicion from Assange supporters and some loudmouth politicians pandering to their constituents).
When I was growing up, Stalin was dead, and we still talked about the Soviet Union in those terms. Later Soviet rulers were unpleasant and totalitarian, but they didn't commit that sort of mass murder.
C++'s template system is roughly equivalent to Lisp macros, which are elegant and incredibly powerful but hard to work with, in a much more awkward form. The STL, on the other hand, looks generally well designed to me. It takes a few basic concepts (containers, iterators, algorithms) and puts them together in very useful ways. What problems do you see with it?
Market saturation and maturity. It used to be that, if you upgraded your three-year-old machine, you could do new and interesting things with it, if only playing more computationally demanding games. Given market saturation, if people in general go from a three-year to a five-year* replacement cycle, that's a fairly dramatic drop in sales.
*Wash hands after handling these numbers. You know where they've been.
I had one of those early Macs, and the black-and-white display was very clear and sharp. I also tried to work on a MS-DOS computer with color monitor and CGA card, and couldn't stand it. What Apple probably meant at the time is that they couldn't give a display sharp enough by their standards that had color and wasn't prohibitively expensive. Apple has a tradition of not including things unless they feel they can do them right, and of announcing that any feature they don't have (yet) is not all that important.
Thing is, my laptop is clunkier at fitting into my pocket. My Nexus 7 fits nicely into a jacket pocket, and my iPhone into my shirt pocket. This means I usually use my iPhone for browsing etc. when I'm out and about (no data plan for the Nexus). This means I'm used to it, and use it at home when my laptop is not actually within reach, or when there isn't a good spot to set up my laptop, or when it wouldn't be worth getting the laptop out for a quick search. There's things that are annoying to do on the iPhone, but lots of things work just fine, and some of the annoying things are a lot better on my Nexus (when I've got wifi).
Of course, I can always get a keyboard for a tablet, and then some of those difficulties go away. What I've got then is much like a netbook with a tablet-based OS. Despite what Microsoft wants you to believe, optional keyboards aren't just a feature of the Surface. In other words, the tactile touch-based text input devices are readily available to any tablet user that wants one, and you can get an idea of how generally useful people perceive them by looking around.
Moreover, I paid a fair amount of money for my laptop, despite the fact that it's not nearly as handy as my iPhone. There's enough stuff I want to do on my laptop or desktop, and not on my phone or tablet, to make that expenditure worthwhile for me. That isn't the case for everybody.
So, you're deluding yourself. The modern tablet has been around for over 3.5 years, and has shown no signs of being a fad. Indeed, it's been expanding into more roles, and showing no signs of slackening.
It may well not be a good fit for you. It is for many millions of people. They're here to stay.
Whether four programmers is too much or too little depends on what the company is doing with them. If they're working on the usual manufacturing stuff, it's too many. If they're working on stuff that brings strategic advantages, innovative stuff that brings a competitive advantage, four might be too few.
There was the time back in grad school where I had to interface a Fortran linear programming package from Lisp, working on my Mac. I converted the package to compilable C using f2c, compiled the C version (probably not as optimized as it would have been with a real Fortran compiler) into a shared library, and linked it using MCL's linkage. A bit weird, but it worked with the tools I had, did not require trying to hand-translate that Fortran, and did not require changing my Lisp code to another language that would be harder to work with.
Not quite. First, "nothrow" is something you use for a constructor, indicating that a constructor failure will return NULL (or, now, nullptr) rather than throwing if it fails. You're looking for "throw" or (with C++11) "noexcept".
Second, anything checked will have some baggage, and having an abort when an exception is thrown does require checking. This is why the old throw() wasn't what it looked like: it needed an exception block and a catch block that called std::terminate() or std::unexpected().
Third, there is no "the compiler" in C++. I generally use g++ or clang or Visual C++ myself. The compiler is required to do some checking of exception specifications, and may do as much as it wants. It isn't possible to do full static verification, though, since it is in general impossible to tell whether a given throw will be executed, and it is legit for a function to call another function that might possibly throw an exception it won't accept.
Don't forget the template system. While it can be very tricky to write for, and error messages are often bad, it's dead easy to use. std::sort is not only easier to use than C's qsort(), it's very often more efficient because it doesn't require as much indirection. The STL idea is very powerful.
Special Relativity: you can get an intuitive understanding of this. I did. It takes a lot of unlearning of basic concepts. Simultaneity is a killer, and creeps in everywhere.
General Relativity: every description I've ever seen either includes a lot of handwaving and generality, or is based on tensors, which I personally just don't get intuitively. I know what they are, and something of how to use them, and what they represent, but the intuition just isn't there.
Higher level dimensions: the only possible intuitive experience I've got with that was doing some odd mind exercises as a teenager, in which I have a distinct memory of imagining four mutually perpendicular lines simultaneously for a very short time. I couldn't hold the imagination long enough to verify it, and I'm not sure I'd trust my memory completely when doing weird stuff like that.
Note that infinities and singularities can be a feature of the mathematical description rather than reality. For example, any mapping of a sphere to a plane will have at least one singularity (the usual latitude and longitude has singularities at the 180th meridian, including North and South Poles), but the ground or water or ice or whatever there doesn't have any special properties).
No, that's not how it works.
Your model would allow FTL communication, which quantum entanglement by itself does not. (Note that "instantly", as used to describe events separated by space, really doesn't have a meaning, and IMNSHO simultaneity is the first thing you need to unlearn when studying Special Relativity.)
A better analogy is two envelopes, and when you open one you get A or B, depending on the direction you opened the envelope in. If you opened it up-down or left-right, that tells you that somebody opening the other envelope the same way would see B or A, respectively. If you open the envelopes diagonally, things get more complicated, and the connection can only be verified statistically by having a lot of those envelopes, particularly if the other guy uses a different angle to open the envelope at. However, no matter what you do, you can't control what the other guy sees. You can only know what he sees, or probably sees, not influence it. No FTL communication allowed here.