
It’s Christmas time, nerds rejoice! Welcome this festive season with a bit of programming acumen to festoon your old CRT monitor with some yuletide cheer.
Continue reading
Author Archives: dgookin
Tick Separators
No, a tick separator isn’t something you use on your dog during the summer. Instead, you find it in the upcoming C23 standard. A tick separator helps visually split up a long number, making it easier to read your code.
Continue reading
Which C Version?
One thing I take for granted is which C standard I’m using. The differences between the versions are subtle, and the compiler chooses its standard by default. But this choice can be altered for compatibility or historical reasons.
Continue reading
Quick Sorting Structures – Solution
The task for this month’s Exercise is to extract a structure member from a void pointer for use in the quick-sort compare() function. This isn’t a solution you can readily find on the Interwebs.
Continue reading
The Knight’s Tour
The task is truly complex: Navigating a knight around a chessboard, visiting each square but never the same square twice. It took me a while to code, and I don’t think my solution is particularly elegant, but it works.
Continue reading
Quick Sorting Structures
Difficulty: ★ ★ ★ ★
I’ve covered the miraculous qsort() function elsewhere in this blog. It’s nifty, allowing you to sort all kinds of data with your only job being to code a compare() function. Most coders these days just copy-paste this function and call it good. But for sorting an array of structures, more brain muscle is required.
Continue reading
Setting Up the Knight’s Tour

I first read about the Knight’s Tour when I was a kid. My mom bought the Time Life series of books on computers. It it, the Knight’s Tour program is presented, which fascinated me. After all this time, I finally set out to code the tour myself.
Continue reading
Plotting the Knight’s Next Move

The next step in hopping a knight around a chessboard is determining which squares from its current position represent valid moves. Code must be combined from last week’s lesson (setting the knight on the chessboard at a random spot) with the movement code presented a few lessons back.
Continue reading
Why, There’s the Knight!

Continuing from last week’s Lesson, the task is now to combine the chessboard output from this month’s Exercise solution with the knight’s random location. This step is the next one leading to the result, which is to plot how a knight moves on a chessboard.
Continue reading
Output a Colorful Chessboard – Solution
This month’s Exercise may not seem that difficult, especially given the variety of grid challenges and dimensional array lessons I’ve posted on this blog. Obviously, you need a nested loop. The tough part, however, is generating the grid of alternating colors.
Continue reading