Hi, I am Philip Grabenhorst.   I am a musician and computer programmer who believes that skill and ability in any given field are the product of a simple formula: time, effort, and interest.   Furthermore, once that valuable thing has been acquired, the holder is obligated to use it to benefit those around them.  This blog chronicles what I am learning now.  It is my hope that some small gem I uncover will be useful to another human being in their search. Moreover, I hope that my own enthusiasm for learning will rub off on someone who feels like they have been needing it, as a gentle reminder that we should all, always, be learning.


The title says it all.  I have been playing the violin since the age of 12 and programming since the age of 15.  An instructor once told me, "at the end of the day, every musician is self taught."  That has been my attitude toward learning, since.   This is not to devalue learning institutions, but to say that if a student has access to information and really wants to learn, they will learn and grow.   Likewise, the lackadaisical student with the same opportunity will not learn — regardless of their background, predisposition, or "giftedness."  This website chronicles just such a continued education.


When asked how often one should practice, Suzuki famously quipped: "only on those days that you eat."  I will be studying and working through a little bit of this curriculum, every day.  I will have the material organized roughly into semesters, as noted on the "Curriculum" page.  Most of what I am working on now and have upcoming is recommended on the website TeachYourselfCS, created by  Oz Nova and Myles Byrne.  There are a few other books and guides I have picked up along the way, which I will post about as I finish them.  The point should be made: this curriculum is not just about Computer Science.   More will be posted as I finish projects.