Thanks

This is a brief list of the numerous resources that have helped in the production of these programs. We are indebted to them all, though most won't know it. Of course the primary web resource is the search engine and we use startpage because of its respect for user's privacy.

Contents

Linux Mint

Having used a long list of different Linux distributions over many years we are currently using Linux Mint which, particularly as it includes MATE Desktop, provides an ideal and stable environment for programming and everything else we use a computer for.

Hardware

We use PCs and laptops from Chillblast who, apart from producing high quality, reliable machines, are one of the few companies who have the good sense to sell PCs without a pre-installed operating system. Why pay Microsoft for something we don't want.

We also have a range of Raspberry Pi machines.

Art Work

All the images, icons and buttons are from here and were created by the Axialis Team.

Dictionaries

When playing Boggle it would be frustrating if entered words were not recognised by the program so the boggle program uses a built-in dictionary representing the Collins Scrabble Word List 2012, which contains 270,163 words. It was downloaded from the zyzzyva site. Within the program the dictionary is represented as Directed Acyclic Word Graph. In converting the dictionary into a DAWG we were greatly helped by Steve Hanov's elegant method.

When playing codeword the words need to be recognisable and it was decided that there were too many obscure words in the Collins List so the words used to create the codeword grids were taken from Brian Kelk's UK English wordlist.

Programming

The programs are written in Python and Tk. We have benefitted enormously from online resources.

Obviously the Python.org Documentation is essential and for Tk the main reference used is that of John Shipman at New Mexico Tech. However, generally a startpage search is the first step, and some particular sites tend to come up more often and to be more helpful. For example Fredrik Lundh's effbot, Stephen Ferg's Thinking in Tkinter and the very helpful users of stackoverflow.

When trying to understand particular algorithms Wikipedia has been a good start point. An example is Dijkstra's algorithm which is used to find the best path for moving the man in sokoban.

For the flocking simulation in the jigsaw program we used the pseudocode provided by Conrad Parker

Games

We've obtained information about specific games from the following resources. For sudoku Wikipedia and then: Simple Sudoku, Sudoku Solver.

For Sokoban we thank David Skinner and Aymeric du Peloux for making their Sokoban maps available. We are also very grateful to George Petrov for allowing us to use Sokoban solutions from his web site. We downloaded map sets from the sites of: Scott Lindhurst and Erim Sever. Both of these sites have lots of useful additional Sokoban information.

HTML_CSS

The web site looks rather like Wikipedia but, except for the code used to realise the 2 column design, which is based on that of Matthew James Taylor, the CSS is home grown and the pages are constructed using a python program.

Numerous sites were used during the construction of the web site including w3schools and 1Keydata and pages were checked and corrected using the World Wide Web (w3c) Markup Validation Service.

The videos on the site were made using Maarten Baert's SimpleScreenRecorder.

The javascript enabling word lookup on web page words is from Paul Lutus.