Tag Archives: Christmas

Repeat: Christmas, Until …

Sorry folks, I haven’t had time to write a CS-based Christmas story this year so here’s one from a few years ago!

Merry Christmas!

(Ghosts of) Christmases Past, Present and Future

There’s no CS-based Christmas story this year (boooooo!) because most of the year has been spent finishing, publishing and promoting the (CS-based) novel (hooooray? – maybe not!).  So instead, here are some links to previous years’ offerings and an entirely unsubtle suggestion for a Christmas present!


In 2014, we first encountered the Travelling Santa Problem, in which Father Christmas was introduced, by his ‘decision elf’, Boz, to the magic (non-deterministic) reindeer, Rudolph.  Together they figured out the best way to deliver presents to all the children in the world.

Then the following year, 2015, Father Christmas was given a whole load more (in fact, an infinite number of) planets to deliver to and he needed the help of Rudolf’s ‘countable’ Russian cousin, Nureyev, in Santa in the Continuum.

If you haven’t read them before, or you fancy a bit of light relief, give them a (re)read!

On the other hand, if you’re looking for the perfect Christmas present for that certain someone who likes their science fiction with a bit of substance (and a touch of ethics, social awareness, environmentalism, politics and spirituality too), then perhaps the book itself is what you need?  (Which is, itself, set over the Christmas and New Year period, by the way!)

There are various places to get it from, depending on personal principles and requirements.  It can be ordered:

But whatever you choose to read or not read, MERRY CHRISTMAS!

A Christmas Cracker Algorithm!

T’is the season to be jolly … and silly.  So here’s a seasonal and jolly silly example of why it’s hard to implement high-level languages efficiently.  Liberties are taken with the hardware/software relationship in some parts of the analogy but, hey, it’s Christmas!

Let’s write an algorithm for pulling a Christmas cracker …

  • Buy a box of crackers and bring home
  • Take a cracker out of the box
  • Get two people to hold an end each
  • Pull in opposite directions
  • Have fun with what’s inside
  • Clear up the mess

That’s probably going to be enough detail for most people (and more than enough for some).  However, if you’re the one that’s been entrusted with the initial purchase or the child told to do the clearing up, you might want a bit more to go on; what’s actually involved in that bit?  And who are the ‘two people’ anyway?  OK then, if needed, we can easily expand this a touch …

Continue reading