Paul's Crosswords Blog

Times Online Clue Challenge compilation puzzle

The Times’ Crossword Club site runs a monthly clue-writing challenge, where competitors submit a cryptic clue for a provided word, and the clue judged as best wins a prize. A few years ago, the then-judge Richard Rogan decided to set a sequence of words that could be put together into a standard crossword grid. The crossword produced by the winning clues was published on 1 October 2014, as Times Crossword 25906.

I was lucky enough to have three winning clues over the relevant period, which therefore appeared in the puzzle. But as a regular competitor I also submitted clues that weren’t picked as winners for all the other words (well, all but one). That means I can construct a sort of egocentric version of Times Crossword 25906, consisting entirely of the clues I submitted to the competition. Two-and-a-half short years after the original puzzle was published, I’ve finally got round to doing that, and it can be played here.

Obviously I didn’t write the clues intending for them to form a single puzzle (apart from 27ac which I added in now as I didn’t enter at the time), so as with the official version it’s not exactly balanced, with a preponderance of the clue types that lend themselves to punchy competition entries (ie anagrams). Also it represents my clue-writing abilities circa 2011-2014, which hopefully have improved at least a little since then. For the sake of accuracy I’ve not edited the clues at all – they’re pasted directly from my outbox – so you might find a few which are a little sketchy. I’ve certainly spotted a couple I wouldn’t have written today (though as far as I’m aware there are no outright errors).

Playfair code gadget

The Playfair cipher is a perennial feature of thematic crosswords, so I’ve put together a little gadget to speed up encoding and decoding using it.

What’s the Playfair cipher?

Unlike simple substitution ciphers, which encode one letter at a time according to a certain rule, a Playfair cipher encodes pairs of letters. So a message to be encoded is broken up into letter pairs


and each pair is encoded using a code square, which looks like this:

You’ll notice that the codeword consists of a keyword or phrase, followed by the rest of the alphabet in order. Since nobody had the foresight to arrange for the alphabet to have a number of letters conducive to being arranged in a grid, we treat the letters I and J as if they were the same. To encode a pair of letters you find them in the grid, and then imagine them as the corners of a rectangle. Each letter encodes to the letter at the other corner on the same row. So our first pair SO encodes as MC. The nice thing about this is that to decode a letter pair, you do exactly the same thing.

Slightly less elegant is the case where the two letters are in the same row or column. In this case to the letters are simply shifted to the right one place (of they’re in the same row) or down one place (if they’re in the same column). Letters shifted off the end of a row or column go back to the start. So for instance our pair GL encodes as HF. The whole message encodes as


There are a few niggles that actual spies probably had to deal with when using Playfair, but the artificial world of a crossword tends to be designed so they don’t come up:

  • If the message has an odd number of letters: just stick an X on the end.
  • If the code word or phrase has a letter in it more than once: all occurences after the first are ignored. So SUPER SECRET KEYWORD would be put in the grid as SUPERCTKYWOD.
  • If one of the letter pairs is the same letter twice: I think you’re supposed to put an X between them. This will defnitely never come up in a crossword.

Playfair in crosswords

A typical Playfair-based crossword will require the solver to encode some answers before entering them in the grid, using an unknown keyphrase. While proper codebreakers would have to do fancy frequency analysis on pairs of letter in English to break a Playfair cipher, for crossword solvers what this means is using the letters from crossing answers to make deductions about what the code-square must look like, until you can make a guess at the keyphrase. (For example, if you can see from the crossing answers that AB has to encode as BC, you know that ABC occur together in a row or column, since corners-of-rectangle decoding can never give you the same letter in the encoded and decoded forms of a pair.) The setter ought to have arranged it so there’ll be just enough information to make this possible – and hopefully the clues that lead to the answers to be encoded will have been made not-too-tricky, as you effectively get no help with them from the crossing letters. The keyphrase will normally be related to the theme of the puzzle, or at least be a satisfyingly long word with no repeated letters. Azed regularly sets Playfair crosswords for his monthly competition puzzles, in which four answers have to be encoded in the grid, and competitors write a clue for the keyword.

Playfair also makes semi-frequent appearances in the Listener, including one puzzle about how dispiriting it can be to discover that week’s crossword includes a Playfair element. (That particular puzzle incorporated a code-square in the grid, and gave full instructions on how the code works in the instructions, but never actually required any encoding or decoding).

The best use of the code in a puzzle was Listener No 4147, OZ and WR by Theod.

Great controversies in cryptic cluing #1: the definition-by-example

Here is 22ac from Times crossword No 25109:

Shout aloud, crippled in cricket (4,4)

Like most clues, this one consists of a definition and some wordplay. The wordplay here is “shout aloud, crippled”, indicating the sound of the a word meaning “shout”, followed a (somewhat obscure) word meaning “crippled”. That’s relatively straightforward, but the definition in this clue is controversial in crosswording circles. It’s “cricket”, pointing to the answer BALL GAME, and it constitutes a so-called “definition by example”. That is to say, “cricket” is a particular instance of a ball game. Seems fair enough; why would anyone object to that? Well, if you think about it, that’s not how a definition usually works. A definition tells you what the thing it’s defining is, not what it merely might be. For some reason, it seems to be traditional to illustrate the distinction with the terms dog and Alsatian. So here is Collins’ definition of the latter:

a large wolflike breed of dog often used as a guard or guide dog and by the police

If we stripped all the qualifiers away, this would simply read “dog”. An Alsatian is a dog. Needless to say, the definition of dog does not begin “An Alsatian…”.

That’s the crux of the case against the ‘DBE’: it simply doesn’t tell the solver the truth about what the answer they’re looking for is.

Of course, insisting on a precise dictionary definition is pretty restrictive. Lots of cryptic clues have whimsical or otherwise oblique definitions – crosswords would be pretty dry without them. And even for a dictionary writer, going a bit more specific can help. Here’s Collins’ definition for business:

a commercial or industrial establishment, such as a firm or factory

Giving examples can help to firm up the definition. This is also how you might define a word informally. “What’s a reptile?” “Oh you know, like a snake or an iguana.” It’s certainly more helpful than diving straight into the Linnaean classification system. And if this is a valid way of defining things for dictionaries and in everyday speech, how can it possibly be wrong in a crossword clue? Indeed, many wholly uncontroversial clues have example-based definitions. But crucially, they include qualifying words: “such as a firm or factory”, “like a snake or an iguana”. If someone asks you what a reptile is and you flatly answer “a snake or an iguana”, that’s not helpful at all. It’s just wrong, and will cause all sorts of trouble when that person finds themselves in the herpetology department trying to classify a gecko. So if you want to define a word in a cryptic clue by giving an example of it, it’s the done thing to include a “such as” or a “perhaps” or at least a question mark. Nobody disagrees with a definition like that. The argument is about the unindicated DBE, like the one in the clue at the start of this post.

And yet that clue is surely perfectly solvable. Thousands of people will have got it when it was published, and few of them will have looked at “cricket” in the clue and BALL GAME written in the boxes and considered anything much was up. And there’s the debate. Formal correctness versus pragmatic solvability. Crossword titan Don Manley in Chambers Crossword Manual callse the DBE ‘false generalization’, and flatly describes it as an inaccurate definition, comparable to one indicating the wrong part of speech. But Sunday Times crossword editor Peter Biddlecombe (who allows unindicated DBEs in the paper’s clue-writing competition) as quoted at at Crossword Unclued, says

The insistence that “definition by example” must be indicated is, as far as I know, just a crossword convention. I can’t see external logic to support it […].

As I guess I’ve given away by now, I don’t agree with this. I think the external logic is pretty clear. The point of cryptic clues is to decieve the solver with ambiguous syntax, misleading context pointing to the wrong meanings of words, all the other tricks up the setter’s sleeve. But being tricked is no fun if the person doing the tricking isn’t playing fair. The least satisfying bits of cryptic clues are always the times when it feels like the setter isn’t relying on a normal use of language (albeit heavily disguised). It’s the abbreviations that no normal person has ever used. The references to obscure fish that are better known by crossword-solvers because of their helpful spelling than by biologists. And the definitions that fail to define the thing they’re defining.

About the crossword player

This site features its very own bespoke artisanal small-batch friendly crossword-solving interface. It’s been lovingly cobbled together by me, using the finest HTML/CSS/JavaScript that little experience and a dogged attitude to searching StackOverflow can buy. I thought here I’d explain a little more about how it works.

The Grid

The crossword grids themselves are made out of nothing more complicated that HTML tables. Each cell has a one-character text input box in it, and any combination of a black background, thick bar borders and a div with a little number in the corner as required.

The Puzzle

The grid layout, clues, title, preamble etc for each puzzle is stored in a JSON file. When the page is loaded or you click for a new puzzle, something I don’t fully understand called an XMLHttpRequest happens to pull the data in, and the grid and clues are populated on the page. I make the puzzles mostly in Crossword Compiler, but QXW has much easier-to-read salve files, so I make the grid in QXW too and a little script I wrote (in R, for some reason) converts it into the JSON format I use.


There’s a perhaps surprising number of things you probably want a crossword-solving interface to do. If you click a clue, you probably want its space in the grid to be selected, ready for you to start typing the answer – easy enough. Once you’ve typed the answer maybe you want the next clue to be selected. Maybe you also want to be able to tab to the next clue. Probably you want to be able to select a square in the grid and have a sensible clue be selected. Which clue is that? Well, if you’ve got a clue selected already I guess you just want to jump to a different bit of that clue (maybe you’ve worked out what the answer ends with). But if you select the square that’s already selected, it makes more sense you want to switch to the other clue that squares in – if there is one. If you select a fresh square that’s part of two clues, which are you after? If it’s the first square of one of the clues, probably that one. If it’s the first square of neither or both, try the across clue first? Across clues seem like the default position somehow: they’re first in the clue list, anyway. As far as I can see these behaviours are universal across various crosswording sites, and they’ve been painstakingly implemented here too.

One feature that’s available as an option on some sites (I don’t think anywhere is foolish enough to make it mandatory) is skip filled squares. This ‘useful’ feature is for when you’ve solved some of the crossing clues already. Say you’ve got I_I_T_C in the grid already. Who wants to waste keystrokes typing out an actual word that you’ve got in your head already, when you can squint at the screen for a minute and just press D O I? This option is for bad people and has not been implemented here.

Other Gubbins

Over time I’ve added in some requested1 features. You can save progress in puzzles: originally this was via save and load buttons that wrote to and read from your browser’s local storage, now you can sign in with a Google account and progress is saved automatically and can sync across your devices. One of the reasons I thought it would be good to program my own solver was so I could add embellishments like grid highlighting for the more complicated puzzles, and I’ve done this, though actually I’ve not written many crosswords that utilise any.


In the old days when this site was just a Blogger showing crosswords hosted in my Dropbox inside iframes, mobile solving was not going to work2. But on a dedicated site and with some amateur CSS shenanigans, the site works pretty well on a phone. Largely modelled on The Guardian‘s rather nice mobile site crosswords, the clue list appears below the grid in one long column, but the selected clue appears at the top, so you can solve the puzzle without ever really needing to scroll down there.

Powered By

The site is hosted using Google’s Firebase. I think it’s really designed for people who are making phone apps, but they’ll happily host non-fancy websites too. It has the principal advantage of being free as long as the site doesn’t get more traffic than could plausibly be an issue. And they offer a bit of database storage and a user authentication system that even I could understand that runs the saving system. After blindly muddling my way through setup, I now have a folder on my computer which I can browse to in Command Prompt and type firebase deploy, and some strange magic puts that folder on the internet as an actual website.

This blog bit is made using Hexo, which converts a bunch of Markdown files into a nice blog.

  1. 1.By me
  2. 2.You can thank Dropbox’s decision to drop HTML hosting from public folders for this site’s existence.