« | » Main « | »

Flip turns and five balls

Thursday 31 December 2015

When I look back on 2015, I'm happy about a number of things, but two that stand out have nothing to do with software or the virtual world.

Twelve years ago, I wrote about learning to juggle five balls, and then an an update on how it was going. In the years since, I occasionally tried to improve, but wasn't getting anywhere.

This past year, partly inspired by watching co-workers learning to juggle three balls, I made a new concerted effort. I've made significant progress. Now I can routinely make ten throws, and cleanly catch all five balls. 15 or 20 throws is not unusual, and my record has increased to 30. More importantly, now every day that I practice for even 10 minutes feels like I'm getting slightly better.

This video by Niels Duinker helped to give me drills. The four-ball tosses were especially helpful, because they enabled me to hear how my throws were lop-sided. Practicing those until they evened out really opened up the way to move forward. Now it no longer feels like a crisis to have five balls in motion.

My old feeling when trying five balls was frustration. Now I feel the improvement, and it's encouraging and make it enjoyable to practice, which leads to more improvement. I'm looking forward to more progress in 2016.

My other physical activity is swimming. I set a goal for myself to swim a total of 150 miles in 2015. After a slow start to the year due to blizzards and colds, I caught up in the fall, and ended with a total of 154.02 miles. (The precision is illusory: I counted the distance of summer swims at the beach as very rough guesses.)

This year in the pool I figured out flip turns. I used to think I got dizzy trying to do them. That wasn't the problem, the problem was water up the nose, being too far from the wall, end up too deep, not breathing enough, etc. But I watched others, and practiced, and now they feel natural and easy. I like feeling confident in this new skill.

In the coming year, I want to add dolphin kicks to the repertoire, and then maybe consider the butterfly.

I spend a lot of time online, and writing software. That involves many kinds of abstract mental activities. It's great to be able to learn new skills and techniques in that world, and there's no shortage of things to learn. But having physical world challenges is satisfying in a very different way.

Advent of Code

Saturday 19 December 2015

Combining traditional Christmas advent calendars with online programming exercises: Advent of Code is a nicely made collection of programming problems.

One of the things I like about these problems is there are always two parts, and you don't see the second part of the problem until you have solved the first part. This usually leads to refactorings or repurposing of your code, which is a valuable exercise in and of itself.

For many of the problems, there are interesting follow-on questions. One common one would be, "Write the code that generates the sample inputs to be sure there's a single answer." For some of the problems, any random input would do, but for some, there's a constraint that has to be met.

I have a collection of approachable problems at Kindling projects. If Advent of Code will stay up after Christmas, I'll definitely add it to that page.

Today's is the first where a simple brute force approach isn't going to work, and I'll need a cleverer algorithm... Hmmm...

« | » Main « | »