April 28, 2025 12:10 PM

This Week in "Side Projects That Inspire and Amuse"

a photo of a small hourglass timer next to a 4x4 grid of cubes, each of which has a letter on its face
Source: Wikipedia

Earlier this week, someone boosted Dan Vanderkam's After 20 Years, the Globally Optimal Boggle Board into my Mastodon feed. Thank you to whoever did. (*)

This article makes me happy. I have not played Boggle all that often, but it's a fun game, and I certainly understand the obsession. Vanderkam has spent a couple of decades studying a pet problem, applying any tool from CS that would help, including ideas from data structures, algorithms, and parallel computation, to finally answer the question that has been propelling him forward.

Even better, he has been blogging about his efforts all these years, keeping his readers informed of the fits and starts he faced along the way. I only wish I had discovered his blog sooner so that I could have been one those those readers sooner!

Even though I'm not much of a Boggle player, I love pretty much all such games. They are fun for personal diversion when I encounter them in the wild, and they make for great source material when teaching. Games like Boggle are great projects in an OO programming class, especially one that includes simple graphics. The technical elements of the author's project offer fun ways to introduce concepts and challenges in courses on data structures, algorithms, and classical AI.

The article also inspires me as a computer scientist. Now I want to go back to some work I did on progressive chess with a student a few years ago. Progressive chess is a variant in which players make increasing sequences of moves: White moves once, then Black moves twice, then White moves three times, etc. One would think that, as each player's turn gets longer, it would become increasingly easy to deliver checkmate. However, a player can also use their sequence of moves to weaken the opponent's forces and to defend their own king.

I have all kinds of questions about the game, including the first question researcher usually have about two-person adversarial games: Is there a forced win for either side? Techniques from state space search offer a starting point for trying to answer the question, but how much will they have to be adapted in order to the scale the depth and breadth of the search tree?

Reading Vanderkam's article has me wanting to revisit the topic. I'll also be reading some of his older posts to see what other lessons he learned along the way.

~~~~

(*) I really have to do a better job keeping track of where I get the articles I write about, so that I can properly thank the person responsible for me seeing them. That would be easier if I knew immediately which articles I want to write about — or if I kept track of the source of every link I set aside for later!


Posted by Eugene Wallingford | Permalink | Categories: Computing, General, Teaching and Learning

April 10, 2025 4:20 PM

Set Phasers to Stun

a photo of Captain Picard from Star Trek: The Next Generation sitting in his chair on the bridge
Captain Picard says: "Make it so."

In the notes for my class Tuesday, I made a reference to Jean-Luc Picard, commander of the Enterprise in Star Trek: The Next Generation.

I described a function that I would like to have. "Make it so", says Picard from the flight deck.

Then it struck me. Star Trek: The Next Generation is nearly two decades older for my students than the original Star Trek was for me and my classmates.

Sigh.

My only hope for not sounding to my students like a dinosaur walking the Earth is that the Star Trek universe is still reasonably popular in American culture. Young people today may think of Paul Wesley or Chris Pine when they think Captain Kirk, rather than William Shatner (*), but if they think of Picard, they think of Patrick Stewart.

(*) the one true Kirk, with no disrespect to Messrs. Wesley or Pine

Time moves on.

I'm not the only one these days noticing the disjunction between how we perceive time and age. Daniel Steinberg reminisced in a recent essay about a job he held whe he was 24 years old:

One of my closest friends was an older woman named Rachel (actually it's funny, she was thirty years older than me but I'm now more than ten years older than she was then and I always thought of her a nice old lady).

Daniel and I are now the nice old people that twenty-somethings know and like today. Back then, I never considered what it would feel like when I was that age.

To be honest, now that I am that age, I feel pretty much the same as I did then. And I'm okay with that.


Posted by Eugene Wallingford | Permalink | Categories: Personal, Teaching and Learning