Tuesday, August 28, 2012

The Core Foundation

I've been slapped around repeatedly by the lesson that you must have a core or base foundation of a skill before learning the more advanced skill associated with it.  The first realization or major slap in the face of this was University calculus.  I cruised through high school and as a result didn't have to work too hard or do too much extra studying in order to get A's.  This bit me in the proverbial ass during university abstract calculus.  Doesn't that sound like a fun class?  Abstract calculus?  I mean, WTF is that anyways?  Well, turns out I had no idea because I was weak in calculus basics I could not grasp the abstract concepts.  Funny how things haunt you; as an adult I purchased several books on calculus and always meant to go back and redeem myself in my own eyes.  I never did.  Besides ego and astro-physicists and perhaps the Mars Rover team, who really needs calculus let alone the abstract kind?

The strong foundation lesson continues to resonate and haunt me even today.  I'm one day away from starting my second class on virtualization.  This is what we would call a "disruptive technology".  The iPod was a disruptive technology for instance, a game changer, something that changes complete industries and destroys others.  Virtualization is the current technology of servers, the foundation of the cloud and the future of networking.  In a nutshell and in its simplest terms it allows you to put multiple computers/applications/operating systems on one computer but each computer/app/OS thinks its on its own piece of hardware.  The underlying virtualization software "fools" each of them. 

The strong foundation I seem to be missing is a deep understanding of CPUs and their advancements over the last few years.  I've pretty much ignored reading and keeping up with it as it didn't seem that important.  You always buy as much as you can afford and the rest will sort itself out.  Not true with virtualization.  Now there are dual core, quad core, terms such as Symmetrical processing (SMP), multi-core and hyper-threading.  It is necessary to understand all of this in order to understand vSMP, logical cores, virtual cores, etc.  Consider myself slapped....again. 

No comments: