Jacob is doing quite a bit more programming these days. In addition to some of his self-study of Ruby he is enrolled in a game programming class at Sherwood High School where he is refining his skills with GameMaker and learning how to write simple games using VB.Net.
A few weeks back we were working on a small programming problems together - how to detect if a given string is a palindrome (i.e., reads the same both forwards and backwards). I start by walking Jacob through some simple string operations whereby you can walk through a string character by character forwards and backwards, then showing him how to loop and walk his way into the middle, testing for equivalence along the way.
Jacob then says something to the effect of "Dad, why don't you just call reverse on the string and see if it is the same as the original."
Oh. I guess that could work. If you were into that sort of elegance and time-saving. Whatever floats your boat I guess.