I think the most important thing at your son's age is for him to be able to write a small fragment of code & see its effect. Something as basic and accessible as an Arduino is perfect for this type of experimentation. To link you to a few resources, the main arduino site is http://arduino.cc./ You can find examples of some of the cool add-ons at http://sparkfun.com/
You might even have some fun with one of these things yourself!
I find this kind of interesting... While I haven't yet played with Android yet (or for that matter Windows on a netbook), this does seem to be an interesting development. I would *really* like to see a performance comparison between Android and Windows on the same netbook; both from a speed and resource consumption standpoint.
Overall, I really like the idea of Android, but think the platform is still too new for anyone to really pay it any serious attention. What really needs to happen is for cell phone manufacturers to have a compelling reason to use it on their cell phones.
That being said, I think Android is going to slowly whither away as a technological footnote over the next several years.
I guess Microsoft is trying to get people that don't understand C++ to program better in the language. IMHO, this will not solve fundamental problems with people programming C++, just cause them to learn the language slower by not having an experience working through a bastard of a bug. I think the world (and not just MS) needs to realize that writing a piece of complex software is difficult. Bugs like an errant memcpy of a subclass into a baseclass instance are *very* easy bugs to solve if you're looking for them. Memory overwrites are easy to detect if you are looking for them. Bad pointers are easy to detect if you're looking for them.
Such problems will always exist in software. I've found a fair number in my own code. What we *really* need to do is train a better caliber of programmer. OTOH, Microsoft seems hell-bent on trying to make writing software easy to do
A Black Swan is an event that is highly improbably, but statistically probable.
Yes, it is possible for a drive in a RAID 5 array to become absolutely inoperable, and for one of the other drives to have a read failure at the same time. This is highly unlikely though, and is not the Black Swan. The math use to calculate the likelihood of these two events occurring at the same time is faulty. The MTBF metric for hard drives is measured in 'soft failures'; this is very different from a 'hard failure'.
The difference between the two types of failures is that a soft failure, while a serious error, is something that the controlling operating system can work around if it detects it. It is extremely unlikely that a hard drive will exhibit a hard failure without having several soft failures first. It is even more unlikely that two drives in the same array will exhibit a hard failure within the length of time it takes to rebuild the array. In my experience, it is more likely that the software controlling the array will run into a bug rebuilding the array. I've seen this with several consumer-grade RAID controllers.
The true Black Swan is when a disk in the array catches fire, or does something equally as destructive to the entire array.
To echo other people's points, RAID increases availability, but only an off-site backup solves the data retention problem.
"Effective 16 October 2006, Psychological Operations was established as a basic branch of the Army, pursuant to the authority of Section 3063(a)(13), Title 10, United States Code."
That is the substance of General Order 30 (pdf) issued by Secretary of the Army Francis J. Harvey on January 12, 2007.
A businessman is a hybrid of a dancer and a calculator. -- Paul Valery