Crosswords used to be constructed entirely by hand. Watch Garson Hampfield reminisce about the old days. I love this guy.
Some constructors still use graph paper, but almost all published crosswords now benefit from some computer assistance. The Auto-Amazing-Theme-Generator™ has yet to be invented, but software such as Crossword Compiler for PCs or Crossfire for Macs is helpful for filling that awkward corner or just as important, showing where you’ve painted yourself into an impossibility and you need to rethink your theme arrangement or your block placements.
Computers make it easier for you to generate better fill, but also easier for other constructors, so puzzle expectations are higher than ever. The software arms race has led to more ambitious crosswords, generally higher quality, and a huge increase in the number of people trying their hand at constructing. Many succeed. A typical week might see one or two debut constructor bylines at the New York Times.
Construction apps aren’t the biggest factor, though. The internet was made for puzzle builders, who can now research great words or clever clues just by clicking. Google and Wikipedia help with fun facts, and there are various sites on the web that help you find words that fit specific patterns or clues for well-worn answer words.
You know, we ought to plug our own solutions here. Fill software needs a great wordlist and we have an excellent one to get you started. Words there are scored to help you (and your software) make good decisions about which options to choose.
There are several useful word finders on the internet. We’ve tried to optimize our Finder specifically for constructor needs. We’ll have more to say about that in an upcoming post.
Fillers and Finders and tricks like RegEx can only take you so far, though. Some theme ideas like this one require you to write code. Fortunately, you only need a tiny bit of programming background to make significant progress.
Python has become a popular programming language because it’s powerful and elegant, but mostly because it’s simple to set up and easy-ish to learn. It’s a scripting language, which means it’s handy for quick tasks like, say, scanning your word list for entries that might fit your genius theme idea.
Programming has limits too, of course. Computers can understand word lists, but they’re shaky on word meaning. Those more sophisticated themes need an even more advanced tool – human ingenuity.
I’m not a Python expert. You don’t have to be to accomplish useful tasks. I copied some sample scripts here to get you started. If you need more help, the internet is lousy with Python tutorials.
You can set up Python at python.org. If you’re on Windows, just type python in a command line prompt and you’ll get a button to click on to install everything you need.
Programming is just another puzzle. You like puzzles. Give it a shot.