Posts Tagged ‘code’

Let me open with a quick slightly off topic note.  I received a back channel compliment about my last post from my favorite teacher that was a bit unexpected.  She took it as a success story.  Which I guess it is, but that wasn’t really the way I had intended it.  While trying the “teaching thing” as a volunteer has a lot of drawbacks that I won’t enumerate here, it has the major advantage of ample resources and domain knowledge.  We had three volunteers working the classroom all of whom had planned, implement and shipped software recently.  So we could use something of a brute force solution to get the kids through an overly ambitious final project.  I can’t even begin to imagine how a classroom teacher with six or seven classes would recover from a similar goof.

But on the subject of success, here is one that I am particularly proud of in a slightly twisted  way.

I have what can most charitably called a dry wit.  Bone dry, like the middle of the desert in the heat of summer.  So much so that most of the time people that don’t know me very well tend to just stare at me blankly when I try to be funny.  Well, that’s when I don’t stoop to pre-teen level potty humor (but that’s another story).

I really try to curb my humor in the classroom.  I’m sure neither the blank stares nor any level appreciation if the kids actually get what I mean will help them learn to program.  Besides, I need to be able to register the blank stares as not understanding a technical point rather than conflating that reaction with incomprehension of humor.

So when we had our feature design exercise,  I walked by our most difficult team of students and overheard them talking about what they got for Christmas.  This was a pair where one of the kids had answered “I don’t care” for all three game ideas before the holidays and the other one seems almost incapable of keeping his eyes on the screen for more than about thirty seconds at a time.

Anyway, I stopped and asked them if their game was about presents.  Voice dripping sarcasm.  I felt really bad as the words were coming out of my mouth, it was definitely not a kind statement.  But then one of them said “yes.”  And I said “cool, let’s talk about how that works.”  And they really got into designing a questions answer game were the reward (score) was counted in presents.  It’s probably the most enthusiastic I’d seem them all semester.  And they did it.  It wasn’t’ the most complicated game in the class, but with some help from us they got a complete trivia game up and running with a presents theme woven in.

So either the student thought he had me fooled with his response to my original question or didn’t get the sarcasm at all (which I find very hard to believe – I’m pretty sure most of the students in my class think they invented sarcasm).  But in any case, there was another stumble that turned into success.  And I’m willing to accept credit or that one 🙂

Now time to learn python…

By the most strict definition, it’s been 9 months since I started this reboot project.  But for various reasons I’m going to write off about three months of that time and call this my six month check-in.  Not the least of which is that I hadn’t really gotten to the point where I felt like a top down check in made sense in April…

Here is a paragraph from my very first post which I need to keep coming back to as it is way too easy to get lost in the details:

I’m taking a minimum of a year off of full time employment to dive into this experiment, if this ends up being a year of self-improvement and self-discovery, I’ll count it as a success but not be thrilled with the outcome.  My overall objective is to accomplish the brain reboot and in the process discover my next big thing, which I hope will be a project/career that will both improve the world around me and provide a sustainable living.

And to do this I developed a what I can only describe as a self-directed curriculum.  I’m going to just blatantly cut and paste my original ‘curriculum’ post from October here, as I didn’t really remember it in detail and I’ve been living it…

—–Begin Excerpt—–

Because I am fundamentally a reductionist, I am going to divide my efforts into three broad categories.  One is large goals that I intend to spend something measurable in hours per week over the course of the year to achieve a specific objective.  Another is what I’m thinking of as tools and techniques – experimenting with different methods of learning on small things or specifically aiming at acquiring a particular skill that I believe will help my ability to execute on my larger goals.  The final category is the scatter-shot learning of anything that strikes my fancy.

Well that’s completely amorphous, you say?  Let’s dig a bit deeper.

I’ve already mentioned the top four big things:

  1. Learn a language – there are two major questions to answer here. The first is the language, I’m leaning towards Spanish, but some of the other contenders are Mandarin Chinese, Japanese, French, Latin, Gaelic, and Ancient Icelandic.  This certainly deserves at least one blog post of its own, so stay tuned. The second is technique. I’m not even sure where to start with a discussion on how to learn a language (although I’ve been accumulating ideas from various sources) so again, stay tuned.
  2. Music – While my initial measurable goal is to learn an instrument to some level of mastery, I’d also like to dig more into music theory and develop sight reading skills. Contenders here are piano, guitar, violin, clarinet, saxophone, ukulele, harmonica, vocals and upright bass.
  3. Programming – I’m not even going to try to attack this in a small paragraph.
  4. Writing – Well, let’s start with blogging, perhaps more will come of it.  Although I did just notice that nanowrimo is next month. Hmmm…

And some of the skills that I’m hoping to develop:

  • Speed reading
  • Memorization techniques
  • Analysis/Critique – If nothing else I am going to start reviewing books and teaching company courses that I read and listen to.
  • Math – there is certainly room for a ‘big’ learning subject here as well, but my initial interest is in exercising basic math skills to see if that help stretch my brain and make some other activities easier.
  • Physical skills – Keep doing yoga and dance and perhaps re-introduce an eastern martial art of some kind – I am certainly strongly planted in the strong body helps a strong mind camp.
  • Typing?

I’m not sure that the last category is actually a separate thing, but I’m including it as a reminder to myself to  strike a balance between a disciplined approach and making sure that I have a blast in the process.

—–End Excerpt—–

And of course I gave myself full permissions to morph the curriculum as I went (including calling 9 months 6 months, just because).  So where am I now?

At a very high level, I feel both very good about what I’ve accomplished and pretty frustrated at the pacing.  But a large part of the point of this whole exercise is to get better at learning in general and while it’s very hard to measure that explicitly, I feel some movement in the old noggin’ so that has to count for something…

At the next level, I have stuck with my top four major objectives but would say that physical skills which I had originally placed as a minor player actually ended up getting elevated to top tier status.

And for a quick brain-dump style status report, here’s what I’ve got:

  1. Language: I landed on Spanish and spent some time listening to Pimsleur audio + their minimal reading writing accompaniment.   It was slow progress at best.  I certainly wasn’t able to absorb this information without reviewing multiple times per lesson.  So I broke down and signed up for a small class size Spanish 1 at a local school.  This seemed to get me over a bit of a hump.   I’m just starting level II and fell like I’m making real progress.  I think there is some chance that I will hit at least minimal functionality sometime in the foreseeable future which is definitely further than I’ve ever gotten before with a language other than English.
  2. Music:  I landed on Piano + some ear training supplemented with a bit of music theory.  I made it through a level one piano book quickly as it was mostly review.  I stalled out a bit on the level two stuff but can see myself getting back to that soon.  I am pushing hard on the ear training as it feels like a breakthrough on that would be more fundamental in my general brain training than incremental improvement of keyboard skills.  I am also having a lot of fun going through the Billy Joel songbook (and will add Brubeck as well) – this is definitely not an example of deliberate learning, but may start slopping into flow.
  3. Programming:  I’ve some thoughts on branching into iOs and Android programming, but for now I’m playing with some ideas that have been floating in my head for years for some dance music tools, and I can do initial implementation of that nicely in the Microsoft universe.   In fact as I’ve started spending a bit more time on this it’s pretty easy to get lost in it and not want to do anything else, which is great.  Also, I signed up for a volunteer gig to teach intro to computer science to high school students, so I’m busily training to teach this stuff.  There will definitely be more on that here shortly.
  4. Writing:  Most of my writing has been in the context of this blog.  Alicia and I took part of an online fiction writing class, but stalled on it as we both manage grammar pretty well and there was a bit too much emphasis on basics in that class.  But one of these days some fiction may escape me…
  5. Physical Skills: I’ve had a blast starting to learn to tap dance, which is something I’ve never tried before.  Learning a new physical skill has definitely been a key part of helping me think about how I learn in general.  I’ve also dug deeper into yoga, adding a vinyasa (or flow) style to my practice and spending more time working with poses on my own rather than just pushing through them in class.  This is definitely a place where I’m playing with deliberate practice, but I certainly have a long way to go.

For the small random things, I’ve spent considerable time on speed reading as I think that’s the biggest bang for my buck.  And of course I upgraded physical skills to a major skill.  I haven’t been great about attacking small projects though and that’s a little disappointing.  Although if we were to add cooking and canning into the mix, they might count.

And of course my progress on the top level of what I want to do when I grow up is on the slow side.  But re-awakening my joy in programming and taking a stab at passing that on to others in a new way has to count as a good start, right?

As I immerse myself further into this process of trying to improve the way that I learn, I keep finding ways that learning primarily physical skills and primarily mental skills are deeply related.  I think I have some resistance to this idea, having spent my teens and early adulthood deeply entrenched in brain exercise and shunning physical exercise.  But when it comes right down to it the brain is driving the muscles in any physical skill so I guess it shouldn’t be surprising that the line I was attempting to draw between physical skills and mental skills is certainly fuzzy and probably completely artificial.  Perhaps the only way to really place them on a spectrum is how many calories they burn.

I first encountered the term chunking with respect to memory techniques.  The idea being that it’s pretty hard to remember a number sequence like one nine four two two zero six one seven eight nine three one four one five nine, but if you chunk it into the year Columbus sailed the ocean blue, Seattle area code, year the bill of rights was signed and the first six digits of PI (assuming those are things that you already have referents for), it’s perfectly easy.  This and similar mechanisms are what allow us to think about more information than what our 7 +/- 2 slots of working memory will hold.  Another classic example is master level chess players who chunk the layout of the whole chess board as on ‘piece’ of information.

But what struck me as equally obvious (in retrospect) chunking behavior was the patterns that the tap teacher was using to warm up in class the other day.  He started with a broad pattern that obviously no-one in the class had learned before .  Everyone was able to get the pattern and even do a reasonable job of keeping up even when done pretty fast, this includes yours truly who is taking tap II for the first time along with a bunch of people who obviously have a deeper background in tap.  But then he threw in a heel step between every step in the broader pattern.  So if we started with A, B, C, D where each of those is a different step, the pattern then becomes A heel, B heel, C heel, D heel and there is something going on twice as often.  So for anyone who had enough experience to throw in that extra heel step there was just a little extra information and not a whole lot of additional difficulty.  But for myself, who has only done heel steps in a couple of very limited circumstances, it pretty much doubled the information and the difficulty.  The point being, that’s very close to the same situation as the memory exercise above.  This is also probably related to the multi-tasking post from a while back (if you haven’t caught the comments on that post it’s worth a [re]visit).

Then just as I was thinking about chunking and physical skills, I had the opportunity to take a back to basics version of the vinyasa yoga class that I’ve been working on for the last few months.  A large part of the class is structured around variations on the Dancing Warrior sequence.  The idea being that you have a small series of poses A, B, C, D and then you add extra stuff in between (sound familiar?).  The thing that was neat about going back to basics is that we did the series a dozen times during the class where in a normal class you do it only a few times and enough extra stuff gets thrown in the middle that you don’t necessarily even see the overarching patterns sometimes.  So learning the pattern by getting the basic sequence down and then being able repeat the pattern as one chunk is useful as a student and probably essential to the teacher.  One of the reasons that this popped for me was that we had a back to basics class because it was one of the first times this particular teacher had taught this type of yoga.

And then I have been playing with a new (to me ) code library to do some scraping of information off of web sites for one of my other reboot projects.  It took me a little while to get spun up on the library.  But once I did, I had the chunks in my head for how to use it and my ability to code the scraping of the tenth site was literally ten times faster than the code for the first site.  While some of this was because I ended up extending the library for my own particular needs, much of it was that once enough of the system in in my head I definitely get into a flow state while coding.

So I can obviously chunk information in a domain that I’ve lived in on and off since I was thirteen (programming).  I think I am starting to chunk a physical skill that I’ve been practicing for three months, but I’m obviously much less effective at that.  So it seems to me that part of what I need to do is get better at chunking in new domains.  I can see how that’s done in specific domains.  For instance, when playing the piano, there are many defined exercises like scales and chord progressions.  For tap, there are basic technique exercises.  Are there more fundamental chunking exercises that would help in all of these domains and the many more that I would like to explore?


Alicia and I spent an afternoon in The International Spy Museum and I failed the spy test.  She passed.  Hmmm.  This is a great museum with lots of fun interactive stuff, cool artifacts, and of course plenty of Bond, James Bond.  My favorite part of the museum was being able to see the actual devices that spies used, some of which were absolutely Bondesque.

But the thing that struck a chord from a personal perspective was the skills that a successful spy must develop and how incredibly bad I am at most of them.  Since a large part of what I’m trying to do this year is get better at learning in general it seems like this may be a hotbed of uncharted skills to play with.

Here are just a few of the things that a spy must be able to do well:

  •  add convincing details to a cover story on the fly and then be able to regurgitate them quickly under pressure
  •  massively impressive observation and memory skills (was that piece of tape on that pole yesterday, if not could it be marking a dead-drop?)
  • make decisions on the fly with sparse data
  • write and read coded messages (this could be really fun)
  • recognize people that you’ve only seen once even when they’re in disguise
  • Change the way you look, walk, speak, and hold yourself with or without the assistance of a physical disguise
  • Combat skills (or combat avoidance skills)

Now of course I could go on and on with this list just from what I saw in the museum, but I think there are a couple of interesting patterns here.  One is that some of the creativity around being a spy overlaps pretty heavily with writing fiction.  Another is that there seem to be several underlying ‘core’ skills – memory, creativity, and quick twitch decision making.  It seems to me that  developing any or all of these would be pretty useful in general, even if I never land another (oops I mean a) job as a spy.   And on the flip side, there are some concrete aspects to spy skills that seem like they might be quick tests of skill acquisition.

One of the things that I intended to do when I started my reboot year was to build a list of crazy fun small skills to knock off as interesting both in themselves and as a way of learning how to learn.   This is even more interesting as I learn more about learning, because I keep seeing that attacking smaller tasks so that one can make mistakes and learn to correct them quickly is a much more effective way to learn than taking on the big tasks first.  The classic example is that if you want to be a writer, you should start with short stories rather than novels (even if you think your natural length is a novel) because your cycle time is measured in days or weeks rather than months or years.

But I got involved enough in larger things that I didn’t manage to start attacking any of the small ones.  One of the first things I’d like to attack is a small memory task.  Another thing might be to learn Morse code.  Oh, and then I could tap dance Morse code, hmmm.  Anyone have suggestions for small fun skills to attempt to acquire?  Spy related or not?

—– —– –···