Containers are like virtual machines, except rather than each application needing its own individual VM (and the resource usage that brings along with it), it shares an OS host without giving up the isolation benenfits, and without introducing redundant resource use due to running many Operating Systems. This is important because one of the ways admins might reduce resource usage is to combine applications inside a single traditional VM, and then you start loosing all those isolation benefits and the thing becomes more brittle and difficult to manage. Containers mean that you can isolate individual apps and their specific environment without much overhead at all, which encourages this good practice -- of course you're free, actually, to install multiple apps inside a single container if you choose (I've seen people set up entire desktop environments and remote into them), but for running a web-service, smaller and more isolated is better.
My suggestion is that your role here is to compile a list of facts, pros, and cons to US citizenship, and prepare to have a frank and earnest conversation with your kids about it when they become 16 or so, and tell them that you'll help them begin the process when they're 17 if they choose to go through with it. Your role here is facilitator, not dictator.
If money is no object an AMD firepro 9100 is the workstation version of the 290x, and does double-precision at 1/2 single precision rate, and is the current best-of-both worlds, and will probably remain so for the remainder of the year, but its a 3-grand price tag or so.
However, one thing I had forgotten about the PPU in the Xbox360 is that it wasn't just that the SIMD Altivec units were given a larger register file and some tweaked instructions -- There's actually two full, independent SIMDs per core, one for each thread. The one in the Cell only had one SIMD and its register file wasn't extended, AFAIK.
The trade-off of GDDR5 vs DDR3 is that GDDR5 has higher bandwidth, but it also has higher latency. For graphics and for accessing large swaths of data linearly, GDDR amortizes latency effectively, but the latency becomes apparent for more random access patterns, complex data structures, and indirection (As in general application code, and in game control logic). I believe this is the reason that Microsoft went with DDR3 as main memory, because it makes it easier for non-games developers to bring apps to XBox One.
All that said, when I was guessing at what this generation's specs would be about 5 years ago (I work in games, so it wasn't mearly a 'what if' game), I was right about GPU size and performance, right about the size of main memory, right about unified memory architectures, and right about price all within a relatively small margin. The CPU I was split on -- I figured we'd see 8-16 "thin" cores, or 4-6 "fat" cores, or maybe a heterogenous system with 2 fat cores and 4-8 thin cores; we got 8 "thin" cores running slower than the 2.4Ghz I'd have guessed at, but my money was on 4 fat cores precisely because fat cores do much better with AI, general logic, and other branchy or latency-sensitive code. The choice of CPU this generation surprised me.
In the PS4, you don't have cell, but instead you have 4 GPU cores dedicated for compute tasks (they don't have the back end necessary to perform rendering, although they can participate in compute tasks that aid the rendering pipeline.) Like Cell, these cores work for the CPU, have generally the same programming model (load them up with code and data and set them to running), and also have the exact same theoretical throughput as Cell had.
Variety and competition are great, but Cell was nothing special in the sense that what was good and unique about it has been subsumed by GPU compute -- it was ahead of its time, but it hasn't aged nearly as well. Game consoles are a commodity business though, its hard to justify custom or obscure hardware unless its the only way to get the architecture you want, but then you have to teach everyone to use it effectively.
But life expectancy is not really the point here -- health and quality of life is far more apropos -- In that measure, these people "outlive" the average Westerner in spades, regardless of how old they are when they kick the bucket.
In all cases, the value is strongly typed. The type of a value is set in stone the moment the program is compiled, although multi-types are supported through various library implementations (e.g. Boost::variant, I think is the name of one).
At the end of the day, your users have a business goal, and you've sold them on the idea that your software package will help them achieve it better and more easily than other solutions. You sell solutions and solution components, but you also sell 'better' and 'more-easily'. Documentation is necessary, no amount of UI will take you from splash screen to solution whilst navigating a large set of outcomes and a series of interdependent choices.
DO provide UI reference, but scenario-driven documentation is your users' greatest need.
DO automate common, simple tasks to the extent possible.
DO make doing the right thing easy, and wrong or dangerous things hard.
DO bring the most relevant information into the app in abbreviated form (apply the 90/10 rule)
DO link the UI to relevant documentation.
DON'T get hung up on covering every possible scenario (again, 90/10 rule)
DON'T believe that a perfect UI avoids the need for documentation.
DON'T try to bring all the documentation into the UI.
DON'T rely on your own intuition about what's common or difficult for users, ask them or collect the data.
Do yourself a favor and order a Shuttle DS437, I bought one myself and cannot think of a better little box for playing with embedded systems. Here's why:
- Its small -- about the size of a 5.25" disk drive.
- Its low-power -- not as low as you'd like -- but less than 20watts under load for the system. Its passively cooled.
- It takes a 12v barrel-plug from a standard 65watt laptop power adapter (included) -- easy to replace anywhere in the world. Also good if the impetus for your low-power requirement is an exotic wish, like being able to run the system from battery or solar.
- Its relatively inexpensive -- about $200 from Amazon.com, and qualifies for Prime shipping. You'll need to add storage and RAM, but maybet have some DDR3 so-dimms and a spare 2.5" drive kicking around from an old laptop.
- Its got two DB9 Serial ports, right on the front. Handy!
- Its a modern system: 64bit, dual-core, Ivy Bridge, SSE 4.2, supports up to 16GB ram.
- Connectivity: VGA/HDMI, USB 3.0, USB 2.0, dual gigabit NICs, Wireless N WiFi
- Storage options: you've got one mSata slot and one 2.5" sata drive. I've got a 128GB SSD in the mSata slot, and a 500GB magnetic drive installed
- It took Ubuntu 14.04 without any significant fuss. Most things worked out of the box. I'm not a linux super expert, but got the rest working within an hour or so.
It's "only" 1.8Ghz, but we're talking Ivy Bridge here, not some wimpy Atom or ARM core. Plus, in my experience you really want x86 for your host machine. Not every compiler or tool you might want to use is going to be supported on, say, a lower-powered ARM system.
I considered a lot of exotic ARM boards as my development host, including BeagleBone, Jetson-K1, and a handful of others. I think the D437 leads by a wide margin, but for what its worth I considered the Jetson-K1 board a distant runner-up.
I'm not one to roll over to this sort of fraud myself, but I have little faith that identity wouldn't simply shift the solution to the 'problem' of the people's will in a different, and likely violent, direction.
But I think there's another way that doesn't necessitate full-on-disillusion. Its not just that government interests are spread so widely, its that they have *so many* (sometimes localized) interests spread far and wide. The government is like four bakers stretching a pizza dough overhead at arms length from each other, then insisting that the pizza *needs* 50lbs of toppings to make everyone happy. One could give up and have the four bakers each make their own pizza for a different demographic. Or, one might simply not put 50lbs of shit on one big-ass pizza.
A federal government with a much lighter footprint than what we have today could serve the *actual* common interest of the 50 states well. That was the original idea, after all, and it did reasonably well for approaching 200 years. Then the feds started seizing more power from the states, and the states did nothing about it because they're dependent on big-daddy government's pocket-book. I agree wholeheartedly that a return of power to the states, with a corresponding shrink in the size of the federal government is needed. I think if that happens, it actually would solve the problems we see today, obviating the need to dissolve the federation, and leave the federation of states (Remember people, that's what "Federal Government" means: A federation of the states!) to perform the functions it was meant to.