Recently, I created a playlist of songs on a certain online subscription service. I chose to shuffle the tunes, but found that one song in particular played more often than the others. My immediate thought was, “Why can’t the programmers design a shuffled playlist that doesn’t overplay the same song”? Rather than email the programmers, I thought I’d present the puzzle as this month’s Exercise.
Continue reading
Category Archives: Exercise
Duplicated Letters
I’ve been working on a program that counts unique words in a text file. It’s an interesting exercise and explores the larger realm of pattern matching. You can try such scanning on a smaller scale by coding a program that counts the frequency of letters within a string. And that task is presented as this month’s Exercise.
Continue reading
Fill My Grid

I’m fascinated by grids. Consider the chessboard, which is a grid. Or think about the most basic game grid, a 3-by-3 array for a game of tic-tac-toe. Programming a grid is a common thing, so your best hope is that this month’s Exercise is yet another super cinchy silly grid program.
Continue reading
The Leap Year Function
My brain’s algorithm for determining whether the current year is a leap year is based on US Presidential elections. They always happen on a leap year. Or do they?
Continue reading
Translating a Timestamp
A timestamp is one of those tricky chunks of data that’s not really a single value. Often it’s a clutch of integers or — worse — it’s a string. To do time calculations on the timestamp, you must translate it into a more useful form.
Continue reading
Highlight a Chunk of Text
Most of the common data formats, such as CSV, XML, and JSON, use plain text to store complex data or somehow interpret that plain text as something it’s not. The programmer’s job is to translate the plain text and generate the proper type of complex data.
Continue reading
Increasing Brightness
Recently, I did some graphics programming. The task I gave myself was to highlight a JPEG by drawing a box around an interesting part of the image. The puzzle was which color to make the box so that it would stand out.
Continue reading
Oscillation
Going back and forth happens frequently in the real world, and not just when you forget to pick up something at the store. Pendulums swing back and forth. The tide rises and falls. Politicians waffle.
Continue reading
Swapping Strings
Last month’s Exercise was rather silly: Rarely do you need to swap elements between two integer arrays. As Chris pointed out in the Exercise’s comments, “Would it not be easier to just use the array which contains the values you need?” Indeed, it is, which leads up to this month’s Exercise.
Continue reading
Swapping Arrays
I’m amazed, and a bit envious, when I look at other programming languages to discover a rich variety of functions, or “methods,” that do specific tasks the C language lacks. One of these tasks deals with arrays.
Continue reading