Archive for the ‘Learning’ Category

One of the reasons that I’ve been a bit quiet here lately is that I had some grand idea forming in my head that I would start a tradition of an annual report on my reboot process by going back and pulling up my initial objectives and examining progress on each one(*).  Well, not only did that stop me cold in my tracks, but I suspect that it would have been about as interesting to read as the phone book.  So I will spare you that.  You may thank me later .

In the process of killing off the annual report idea though, I did keep coming back to what I feel is the single biggest thing that I have learned over the last two years.  It may not sound particularly profound.  I think it may be like some of those Buddhist concepts where  the act of putting the idea into words robs the idea of its power.  But I’m going to try anyway.

The three word summary is in the title of this post:  Enjoy the Process.

And for some reason I feel compelled to break this down by introducing (or possibly recycling) a series of aphorisms.  This may end up being even more self-indulgent than my original idea of an annual report, but hopefully it will at least be a bit entertaining.

Don’t obsess over becoming an expert, enjoy the time spent on the journey.

This is mostly deeply rooted in the Growth vs. Fixed Mindset idea that came as part of my informal teacher training.  One of the most frustrating students I taught last year was convinced that he was a natural expert programmer and did a pretty darn good job in general.  But he kept hitting a wall in his experience and rather than treating that as an opportunity to learn he would just thrash away in frustration.  Some of my greatest triumphs were when I got him to plow through and figure out the solution himself.  I see too much of myself in that behavior, but now I have that very clear image of that student to pull on when I find myself hitting my head against a wall.  I hope I helped him half as much as he helped me.

Treasure feedback from any source as if it is a rare gift.

Because it is.  It is always harder to give feedback than not.  I have a deeply ingrained impulse to take constructive feedback as a negative commentary on my abilities and I believe it still shows on my face, even in very relaxed environments like a yoga studio.  And of course that treats the absolutely wrong feedback loop with people I am trying to learn from.  I think I’m doing better in the moment and hopefully that will continue to improve over time.   Habits aren’t hard to break (says the ex-smoker), you just have to keep trying.  And making sure that I express appreciation after the fact  to the people that teach me things is, I hope, an effective way of counteracting the in the moment reaction that still happens more often than I would like.

Things that are worth mastering are rarely things that can be mastered.

So one had better enjoy the learning process, because there is no end.  I set out to learn to speak Spanish and learned that I haven’t really ‘mastered’ English yet.  I set out to teach computer science to high school students and I’m pretty sure I ended up learning more from them than they did from me.  I could go on ad nauseum with this list, but I’ll spare you for now.

Be wary of spending too much time doing something that you don’t enjoy.

This is often an attempt to attain some grand future goal, like a title at work, a retirement fund or some kind of recognition.  I’ve achieved a bunch of these things, but if I regret anything (and I really try not to have regrets) it’s the hours spent doing things that I really hated to get to goals.  They really aren’t worth that price.  So I am going to try to make sure that whatever I do in the future the day to day work on balance is both fulfilling and enjoyable in and of itself.

Some part of everyday routine basis makes the world better place

This is the one that I struggle with the most.  Is the world a better place because I helped build better technology relatively early on in the PC revolution?  I like to think so, but it’s pretty impossible to prove.  Do some kids have a slightly better outlook on programming and technology because of the time I spent last year volunteering.  I think that’s a much clearer yes, but that was a much larger commitment than I can manage on a regular basis.  Hopefully I will manage to find on the clearly good + clearly sustainable list in the near future as a volunteer activity.  But the thing I am really trying to figure out is how to get my career Venn diagram to include an unambiguous “make the world a better place” component.

Overall, Enjoy the Process really is a pretty good summary of what I’ve learned so far.  With any luck that will include enjoying the process of writing and you’ll hear more from me in the coming months and years.

(*)The other reason is that I’ve diving into my start-up project which also involves some writing  and so I am (so far not very successfully)  trying to integrate the reboot writing into my ‘non-work’ time.

Venn diagrams are such fun tools.  I wrote a post a while back about the career planning Venn diagram that I ran across.

Career Options

And that is still what’s driving me.  Where to find that intersection between Enjoyment, Skill Set, and a Paycheck.

So let’s talk about another Venn diagram (I promise I’ll loop back around to careers in a moment).  Two of the things that I enjoy most are programming and dancing.  Can I make them intersect?  The default diagram appears to look like this.

Programming - Dance

But wait, dance is heavily influenced by music, there is a mathematical aspect to music (especially the way I think about it) and programming bears a striking resemblance to mathematics.  So here is my intersection model for programming and math.  Pretty, twisted, no?

Programming + Dance - Simple

In any case that leads to the core point of this post, which is that I’m taking a new turn in my reboot process and investing some significant amount of time into a project that really is an intersection between programming and dance.  I’m building a web site and suite of web (and possibly *phone apps) to help dancers find music.   Along with that I’m spinning up a new blog to help shape the ideas that go into the site.  So if music and dancing are things that interest you, please hop on over to my new blog.

And as promised, back to careers.  This lands me squarely on this version of the career diagram.


If the stars align I hope to bring the paycheck circle back into an overlapping state.


Being middle aged and not always remembering that at critical times I am prone to small injuries and other consequences of over-exerting myself.   And of course sitting in front of a computer for many hours doesn’t tend to help even when I do my best to stand and stretch regularly.  I’m also still ‘just’ middle aged and will prove that by not boring you with the details, but it’s pretty common for me to walk into yoga and let the teacher know that this or that has been strained so I’ll be “taking it easy” today.

I recently strained my back enough that I actually took a couple of weeks off from yoga (which is a pretty high bar for me).  So the first day back I used my normal line on the teacher and she said okay and everything was fine.  I suspect she kept a slightly closer eye on me during back bends and whatnot, and I did in fact take it easy on such poses.  But that was pretty much the end of it.  This morning, for whatever reason, I went a step further and asked the teacher what I could do to help with the specific issue I was having (new chair, more sitting in front of a computer, one particular muscle in my back was strained).   And  I received some wonderful advice about specific poses as well as the more general (and always useful) advice to keep my core tight and think about those muscles throughout the class – make that my intention for the day, so to speak.  And she helped with some hands on corrections during class.

That’s a pretty big bonus for just asking a polite question.  So why don’t I do that habitually?   Especially because I just spent 10 months feeling like a broken record.  Telling my high school students to please, please, please ask if they don’t understand something.  And using every technique I could come up with to re-enforce that message.  One might think that I would be better about taking my own advice.   It’s pretty darn good advice after all.

Well in this particular kind of circumstance hopefully I will in the future.  After all, I have proven that I can learn (if a bit more slowly than I would like).

But in the more general case, I think it comes back to the combination of mindset and general introversion – it takes a lot of energy for me to engage in that kind of conversation, so I need to keep in mind how pleasant it can be when it goes right.  And how much I can learn by asking questions.

Señora reboot and I just returned from La Paz, where we spent a week studying Spanish in an immersion environment.  It was a really incredible experience and I intend to write a post about it in more detail sometime in the near future.  But I seem to be blocking on that for now, so here’s a quick juxtaposition of one of my biggest meta-learnings from that trip and something that popped up in yoga today.

Perfection is the enemy of good enough.  Or in the context of this trip – grammar (not even perfect grammar, just any grammar) is the enemy of staying afloat.  I’m just not at the point where I have enough vocabulary to be functional no matter how many grammar rules I may memorize.  As I spent time with my teacher we had to stop so frequently to define (or redefine) words that it really didn’t make sense to try to obsess over grammar or really over correctness at all.  By the middle of the week his mantra for me was “SVO” (subject, verb object).  Breaking my thoughts down into that size chunk is really, really, really hard, as I’m sure you know  by now.  But frankly I am just going to have to learn to live with that for a while.  And I’m going to spend my Spanish study time for a while doing as much as I can to just internalize a decent set of vocabulary.

So what does this have to do with yoga?  Well.  Coincidently, two different teachers at two different schools have mentioned in the last month that I am overly dependent on my joints.  What does that mean?  Well I hyperextend my knees.  I have lordosis of the spine.  I have perhaps a bit more flexibility than is actually healthy in a number of other joints.  So rather than using core strength and finesse to achieve some postures I just bend.  Now since I started yoga when I was forty and couldn’t touch my toes without bending my knees at the time, I didn’t have this level of flexibility in my joints then.  Which means to me that by trying to take as straight a line as I could to the ‘perfect’ versions of postures I muscled through some things in a less than healthy way.  So now my joints are a bit looser than they should be an I get to spend time trying to keep core strength whilst relaxing into postures.  So in the case of yoga, perfection may be even worse than the enemy of good enough, it’s the enemy of a healthy body.  Which kind of defeats the purpose of doing yoga in the first place.

That said, does anyone have suggestions for Spanish vocabulary building websites, programs or books (that don’t pollute the experience with trying to teach grammar at the same time)?

One of the things that started me thinking along the lines of “Reconcilable Differences” was a pretty firm case of “Context Matters” with a sprinkling of “Language is Hard”. I was working on Triangle Pose (Trikanasana) in yoga and the teacher kept telling me to isolate my upper body. Well in the competition dancing that I did as a youngster, the phrase “upper body isolation” was almost always used to refer to making your ribs go in the opposite direction from your hips. This is of course different in different kinds of dances, but for the kind of dancing that I did, it was a core enough concept that this kind of upper body isolation was part of my routine warm-up.

So when I heard a very similar phrase in yoga I immediately started moving my chest away from my upward hip, which body-feel-wise was amazingly close to the Latin dancing upper body isolation that I’ve done a million times. And of course, that was the exact opposite of what the teacher intended. In order to achieve Trikanasana, the chest has to be aligned with the upward hip and by moving it away I was making the problem worse. After several repetitions and a physical correction from a very patient teacher, I figured out my mistake. And since I have spent a lot of time doing “upper body isolations” I was able to make a good deal of progress quickly once I understood the issue, although this is still really hard. And dealing with nuances of language that have been heavily skewed by years of dance while trying to hold yoga poses is still really hard too, but it is really cool when something filters through my excessively think skull.

And while I’m thinking about dance and “Context Matters,” I have to relay my very favorite example. It is in the different ways that one “Partners” in ballroom dancing and Kung Fu. In Ballroom, the lead (which is the role I danced nearly exclusively) does everything possible to project to his partner where he is going. This is very very important to avoid foot trampling and other unfortunate incidents. But when sparring, you want to do everything possible to prevent your partner from knowing what you are about to do. This is very very important to avoid injury and humiliation even in a ‘friendly’ sparring situation. So I guess it’s a measure of my insanity that I actually went back and forth between doing these two kinds of partnering for years. Perhaps I should have switch to following in dance?

So while drawing on past (or even present) experience that seems relevant to what I’m currently working on is useful, understanding where they are different is equally important.  And of course language always matters!

Note: If you just stumbled upon this post, it’s part of a loose series. There is no need to read the whole thing, but you might want to scan this post for context.

One of the things that I value most about teachers of physical skills is where they are able to translate their knowledge to the context of my body. I’m a middle aged man who did nothing at all resembling physical activity from for my teens and early twenties, I’ll never have the same kind of physique as even a middle aged man who kept in shape his entire life.

So what are some of the differences in body type that have affected my practice of Kung Fu, Yoga, Dance, etc.?

Age, sex, muscle mass, stretchiness (there’s got to be a better word for this one), proportion of length of arm to length of leg, difference in core strength, proportion of torso to limbs, lots of other internal proportions, nimbleness of ankles, proportion of my height to my partner’s in partner dancing, proportion of my everything to my partner’s when sparring. Okay, I’m getting the bit off more than I can chew sensation again. But let’s see if I can take a couple of these to illustrate and I may have to come back to this list later.

The incident that spurred this line of thought was in yoga class. The (female) teacher was taking the class through a pose that was fairly new to the series that the school is putting together – the finger stand pose – (if anyone can tell me what the sanskrit name for that pose, I’d appreciate it). The way this teacher had been teaching the pose previously was to advise people to work their hips up and back between their hands until they could kind of fall into their hands an lift their legs. The last time she taught it though, she gave an alternative of thrusting your hips back and using the momentum to pull your legs up. When I asked her about it after class, she said that she added the alternative because a male student noted that he was incapable of doing the particular hip contortion that was necessary to manage the first variation.

But I do worry that male/female differences in yoga practice in particular can be overlearned. My favorite counter-example is Urdhva Dhanurasana (upward bow pose) – my sister used to do this all the time when we were growing up. I tried it a couple of times and failed (when I was 5 or 6) and assumed that it was something that was just easier for girls so just gave up. But that particular pose was introduced recently in a class and not only could I do it, but it feels really good. Beware of overlearning.

Another body type of difference that has been top of mind recently is the proportion of heights when partner dancing. Mrs. Reboot and I have been taking various forms of beginning swing lessons recently (East Coast, West Coast, Lindy) where holds are relatively loose and substantial height difference can pretty easily accommodated. We’re taking group classes where you might end up dancing with twenty partners of radically different heights during the course of the class. It is amazing to see the number of leads who lift their hands the same amount (or at least try to)when turning a sub five foot tall follow as a six foot tall follow. And then the worst variation of that is when they blame the follows on the extreme end of the height spectrum for not doing something right (I’m not quite sure what the “something right” is in their heads). But one of the great things about taking a group class like that is being able to quickly go through the various adjustments one can make to accommodate partners of different heights.

An alternative for a specific activity might be to find a coach who is as close to my type as possible. That’s never worked very well for me. Possibly in part because that tends to poke at my competitive instincts, but also the matrix of differences is so big that I’m not sure it’s really feasible to find that kind of match in all dimensions. So that brings me back to valuing coaches who can do the translation from their type to mine. And where partners/fellow students are involved both observing and learning from what they can do differently based on their physical differences.

I am going to start my first content post of the “Reconcilable Differences” series that is only marginally fits and adds a whole new category to my original taxonomy. But it so top of mind right now that I can’t resist.

Yesterday I was working with a student one on one. I was trying to get him to realize that in order to change the direction of a counter variable’s movement within a loop he could add a direction or speed variable in place of the constant 1 that he was currently adding to the counter. And then change the variable. The problem was I didn’t want to use the word ‘variable’ because I felt like that would just give him the answer. We had done similar problems earlier in the week (and had explicitly used a variable for something not too dis-similar in our opening exercise that day).

So after I spent several minutes trying to get him to figure out that he needed a variable, he politely turned to me and said “I think you think you’re telling me something useful, but I just don’t understand.” Ouch. Then I asked him to read the hint that I had provided for that question on the worksheet – verbatim it was “Think about using a speed or direction variable that can be positive or negative depending on which direction your counter is counting.” He still didn’t get it. So that is the point when I had to realize that whether he hadn’t heard it or hadn’t remembered it, he certainly didn’t have access to the information about what a variable is and how it is used. Ouch, again.

In any case, the teaching lesson is probably that more repetition is a good thing. And that repeating what you just repeated is essential. Although I keep hoping for the magic bullet to get the kids engaged enough that they actually care to remember, which is frustrating to say the least.

But before I get too depressed, let’s think about the learning side of this. I think the reason that I think I missed it in my original taxonomy was that as a learner it’s hard to know what you didn’t hear. Or what you misunderstood. And as you are learning a new skill, if you do it without feedback from others it’s really easy to go down some crazy rabbit hole of wrong learning (but maybe this has some chance of resulting in creating something new).

One way to combat this that I have noticed most recently in yoga class is that there are other learners around you, so there is some immediate feedback. And although I try to keep focus on myself while I’m taking class, there is certainly a different kind of feedback loop in this kind of physical activity than when you have a class of students sitting at individual computers. For instance, I’m taking a new (to me) series of poses at a studio which was recently only teaching the standard Bikram 26 pose series. And I’ve caught myself any number of times moving through the sequence I know so well without hearing the teacher’s instructions to do something different. But having the feedback of the students around me do the ‘right’ poses helps me to quickly get back on track.

How can I apply that to the programming classroom? Maybe take another run at pair programming? Or have the students that are ‘getting it’ help those that aren’t?   And how do I apply this to my own learning?

And for my own learning I definitely need to figure out tighter feedback loops for many of the things I’m working on.

In any case, when I revisit my initial taxonomy (hopefully after getting a few more related posts under my belt) I suspect I’ll have to add a “Simple Student Error” below the “Simple Expert Error” category.

I’m going to try something a bit different.  I started a “Reconcilable Differences” blog in my usual style.  Which I would describe as a (hopefully) humorous observation about something related to learning, often inspired by something that happened in one context that shook something loose that I’ve been picking at in a different context.  Since I am doing a decent amount of breadth right now I have enough different contexts (teaching high school computer science, doing three kinds of yoga, taking several kinds of dance, learning a language, etc.) that I can generally at least keep myself interested with the combinations and juxtapositions between my activities.

However, I had a blog fail on this post.  And then another one.  And I realized that part of the problem was that I was pulling off a bigger chunk than I could handle in a single post.  And then I realized that there are several topics that are very much top of mind that I haven’t dug into since they don’t really fit into my usual format.

So I’m going to try something a bit different this time.  Oh, I already mentioned that, didn’t I?

This is the first post in a series.  I will most likely interleave other posts in my more traditional style with the series.  And if I get really ambitious I’ll start other series on some of the other subjects that I’ve been stuck on.  But I am going to try to get my words wrapped around a slightly larger idea than the ones I’ve been attacking recently.

The seed of the “Reconcilable Differences” thread was planted in computer science class recently.  We had an incident where I said something and one of the other volunteer teachers said the exact opposite a few minutes later.  Was one of us wrong?  Were we both right in different contexts? Were both of us wrong?   Are there other reasons why the experts in the room might contradict each other?  Or your teacher contradict your textbook?  What do you do when your teacher or coach tells you to do something exactly the opposite way from some other expert?

Well, I think my first pass at that is that you ask or use other means to figure out why there is an apparent contradiction.  And I think this feeds into a very important part of learning, at least for me.  It is one means of becoming  an expert even if it’s on some micro-subject or small slice of what one is trying to learn.

Then as I started to blog about that incident I started popping out way too many examples to fit into a single post.  And I also realized that my rapidly piling up set of anecdotes might fit into a taxonomy.  And that taxonomy might be a useful tool to help me learn.  Possibly even useful to decide when it’s most useful to ask an expert, to worry at a solution myself, or to just forget the issue.  And really, for myself, being able to do the last of those would probably represent a massive boost in efficiency of learning if I could do that quickly and in the right circumstances.  Perhaps it will also be useful to others.

So here is my initial taxonomy of “Reconcilable Differences” in roughly increasing order of interest.

  1. Simple Expert Error
    • One of the experts is just wrong.
    • Both of the experts are wrong.
    • One of them is answering a different question.
    • You just misheard one of the experts.
  2. External Context Issues
    • You’re tying to apply something that an expert said in one domain to a different domain and it doesn’t translate.
    • One source is significantly older than another and the ‘right’ answer has changed in the intervening time.
  3. Personal Differences/Internal Context Issues
    • The ‘right’ answer is different for different levels of expertise and you are attempting to reconcile advice given to a beginner with advice given to the current you who is more advanced.
    • You overcompensated between the time you got the original advice and the time that you got the follow up advice – so you really do need to do the opposite (just less).
    • Bodies are different – even experts don’t always do the translation from their body type to yours accurately.
    • Minds are different – it’s easy for a teacher to have an inaccurate representation of what you know and give advice based on that.
  4. Language issues
    • Experts have slightly different definitions of words.
    • Language is just ambiguous.

Over the next few posts I’m going to make an attempt to pull of my favorites of these and expand on them in something closer to my usual style, but tied back to the more general theme.  In the process I’m giving myself permission to modify or even outright rewrite the above list.  So this is a good time for comments if you’ve got ideas for an altered taxonomy.


One of my favorite yoga teachers opened class the other day with an exercise that I had never seen done before although I think it’s more common in ‘softer’ yoga practices.  She asked everyone to turn to a neighbor and share a way that they use their yoga practice outside of class.  Well, since I’m an off the charts introvert (I am going to get around to writing that post one of these days), I managed to pause just long enough that as I turned to each of the people around me, they had already engaged with someone on their other side.  So no big deal, I sat and enjoyed a few minutes of meditation.

But near the end of the sharing time the teacher looked up from her conversation and commented on how relaxed I looked sitting by myself in the middle of the chatty room.  And of course she then put me on the spot to share with the entire class.  An introvert’s nightmare.  But I sucked it up and took the opportunity to very briefly share that I was volunteering to teach High School students Computer Science and since Yoga was one of the skills that was newest to me, I frequently took things I learned in Yoga to help me teach in that entirely different environment.

And this is why I find Yoga so much fun.  The response wasn’t a blank stare or a nervous laugh (either of which would be completely reasonable and somewhat expected when I allow myself to geek out in public), it was “Oh yeah, I use a programming example to help teach yoga sometimes.”  And went on to describe how she talks about how computer code reduces down to a series of zeroes and ones, each of which has meaning.  Which means that if one of those bits gets flipped for whatever reason your program may do something entirely different than what you expected.   And doing yoga is kind of like this kind of program – every instruction you send to your body is important at the most exacting level – crossing wires or flipping one bit can make your program crash or do something different than you wanted.  I particularly take this to heart in things like Chataranga (Yoga Pushups) where a very healthy exercise can quickly degrade into a shoulder injuring anti-exercise.

In any case, you should all be proud of me.  I  did not respond by breaking down the argument on the spot and trying to open a discussion about how this analogy may or may not be applicable and where it might break down.  I answered with something that I hope came out as a slightly more engaged version of “Thank You” and we went on with the class.

But since you’re here, let’s break this down a little bit.  Especially because I just reviewed binary numbers with my class and we’re going to do a check on error detection soon.  With my old Apple II which had no parity bit for its memory and had a dense enough instruction set that flipping a bit in an instruction almost certainly did something valid but different than intended I think the analogy is pretty accurate.  Especially because it wasn’t uncommon to have an occasion to program directly in machine code.  In the current world almost no-one including the deepest level system programmers write machine code directly (and yes, I know quite a few such creatures, was one myself not too long ago).  Further, with a modern computer almost all memory is error checked in some way or another so a single ‘bad bit’ will either be automatically corrected or something will error out rather than continuing to execute the error.

And now I am thinking about exceptions like Black Hat Hackers that probably do write machine code directly and certainly look for places where changing a single bit will make a program behave differently than intended.  But of course I could get myself stuck in an infinite loop here so I will stop and allow you to get back to something more important.  Like going to a good yoga class of participating in your favorite form of healthy exercise.

Or take a moment to add your thoughts on why programming and yoga (or your favorite form of exercise) are related. I bet my yoga teacher and I don’t have a corner on that market…