Web Paint-by-Number
FAQ
Topics on This Page: Other Useful Information:

Solving Puzzles on This Site

What does it mean if some of the clue numbers are in color?

Then you are looking at a multi-colored puzzle. A red three means three consecutive red cells. For multi-colored puzzles, it's is important to note that if you have a red three followed by a black four, then there don't have to be any background white cells between them.

What do solid square blots among the clue numbers mean?

In some puzzles the designer will have censored some of the clue numbers to make the puzzle more challenging to solve, so instead of seeing a clue number, you just see a square blot, like or . You can tell the color of the clue number that was blotted out from the color of the blot, but you don't know it's value, except that it must have been at least a one.

Sometimes my browser gets stuck for a while after I click on a square, or sometimes my browser reports that the script is not responding. What is that about?

In some circumstances (especially on large puzzles with lots of small numbered clues) the error checking can get astonishingly slow. It doesn't get stuck permanently, but it sometimes takes so long to come back that you might have time to go out for lunch.

I haven't yet found a full fix to this problem, but there are strategies for working around it, that you might consider when working on large puzzles:

Is there an easy way to fill in a whole bunch of cells without clicking on each one?

Several. In most browsers you can just move the mouse while holding the button down, and all the cells you pass over will be painted the same color as the first one. See the browser page for information about certain browser-dependent glitches in this.

You can also use the horizontal and vertical fill commands described below.

What keyboard shortcuts are there?

Another way to paint is to press one of the following keys while the mouse is over a square. One might call this technique "painting by numbers".
KEYACTION
SPACE or 0 Mark square UNKNOWN (blank)
1 Mark square WHITE (dot)
2 Mark square BLACK
3 Mark square RED
4 Mark square GREEN
5 Mark square BLUE
If a given color is not used in a puzzle, that key won't do anything.

On Windows and Unix systems, you can paint multiple squares by moving the mouse while holding the key down. On Macintoshs, the mouse stops working if you hold a key down for very long, so you can't paint that way, unless you turn off key repeat. (On the keyboard system preferences panel, set "Delay Until Repeat" to "Off".)

There are a few other keyboard shortcuts that duplicate the functions of some of the buttons on the screen:

KEYACTION
u or U Undo the last change
r or R Redo the last change
s or S Save the current board
l or L give a hint
c or C check your current solution
arrow keys Change the placement/alignment of the clues
There are also two commands that can be used to quickly fill in parts of a row or column.
KEYACTION
h or H or _ or - horizontal row fill
v or V or | or \ vertical column fill
These "fill" commands only work if the mouse is over an empty square and if the nearest non-empty squares in the row or column are the same color. If these conditions are met, it fills the empty section of that row or column with that color. So if you want to set a long line of cells some color, you can set the two end squares to the desired color, then use the "h" or "v" keys anyplace between them to fill in the space between them.

They also work between a filled cell and the edge of the board. Just mark one end, then use the "h" or "v" key anywhere between the marked cell and the edge of the board, and it will fill to the edge of the board.

If a row or column has no clue numbers, then "h" or "v" will fill it in all blank. If a row or column has a single clue equal to its length, then the "h" or "v" key will fill in the whole row or column.

What does the weird button with the three icons on it do?

Web paint-by-number lets you customize the functions assigned to three different mouse buttons.

Mice with three actual buttons are getting more common these days. The middle button is often a scroll wheel between the two mouse buttons. You can click it like a regular mouse button. However many browsers don't support the middle mouse button. IE, Safari, Chrome and Konqueror do. Firefox and Opera do not.

So in most cases the three different mouse buttons that you have are "Click", "Shift-Click" and "Control-Click", the latter two being accomplished by holding the shift key or control key down while clicking the mouse. "Alt-Click" is an alternative to "Control-Click", which is useful for those browers where that doesn't work.

In any case, the three icons on the mouse function button represent the functions for the three mouse buttons. Clicking on the icons changes them.

  1. Cycle - Each click changes the color of the cell, cycling through all the possible colors, changing unknown cells to white, then black, then whatever other colors are in the puzzle, then back to unknown again. This is the default for the left button.
  2. Cycle Backwards - Same as cycling, only in reverse order. This is the default for the right button.
  3. Paint This Color - If you click on a cell, paint it the current color, except that when you click on a cell that is already that color, it will switch it back to unknown.
  4. Reset to Unknown - Represented by a white circle, this resets the clicked on puzzle to the unknown state.
  5. Color Picker - The eyedropper can be assigned to the middle or right buttons, not the first. If you click on something, a cell, or a clue number, it assigns the first mouse button to paint that color. Clicking on an unknown cell or on a blank space from among the clue numbers sets it to paint white, not unknown.
  6. Color Menu - This is another function lets you use the right or middle mouse button to assign a paint color to the first mouse button, except the button pops up a menu of colors to choose from instead of picking whatever color you click on.

If you want to set different default functions for your mouse buttons, you can do that with the "Options" button.

What does the "Hint" button do?

The "Hint" button (or the "l" key) will show a purple arrow marking a row or column where more cells can be marked by line logic. It isn't actually super smart, and will often say "no hint available" on puzzles that are quite solvable, but you can generally take that as a hint that you will need to do some more subtle reasoning than usual.

What does the "Check" button do?

The "Check" button compares your current board to the intended solution for the puzzle and tells you if any cells are marked wrong. If there are cells marked wrong, it will usually give you the option of automatically undoing moves to put you back before you made the mistake. This is a bit more of a cheat than the even the "hint" button, but if you discover you've gone wrong three-quarters of the way through a giant puzzle, it can be a more pleasant option than dumping the whole thing and starting over.

Which browsers work best for this site?

This used to be a big deal, but it really isn't any more. Any recent version of any major browser should work well on webpbn. Perhaps Chrome is the best these days.

Pick your poison:

OSBrowserBugs
Firefox 1.5 or later OK, except that the middle mouse button cannot be used. Use "cntl-click" instead.
Camino 1.0 or later
SeaMonkey 1.0 or later
K-Meleon 1.0 or later
Internet Explorer version 6 through 8 OK, except after you double-click on a cell with the left mouse button, dragging the mouse to paint more cells generally doesn't work. Click slowly enough so it doesn't register as a double-click, or use one of the other mouse buttons.
Internet Explorer version 9 or later OK.
Safari 1.2 or later OK.
Chrome all versions
iCab 4.0 and later
Opera 10.50 or later OK, except the middle mouse buttons cannot be used. Use "control-click" instead.
Konqueror recent versions OK.

For full details on browser compatibility, see the browser page.

What other plugins/applications do I need?

You don't need anything except a browser to create and solve puzzles. Webpbn doesn't use Java or Flash plugins. It uses only Javascript, which is built into your browser.

However, to use the "Print Puzzles" button you will need the Adobe Acrobat Reader or some equivalent tool that can display and print PDF files (eg, Foxit Reader, Xpdf, or Okular).

I found a puzzle that does not have a solution.

I very, very strongly doubt it.

When I store a puzzle, I store the solution. The clues are generated from the solution by a very well tested program. So there is a pretty solid guarantee that every puzzle on this site has at least one solution.

Some puzzles on this site do not seem to have unique solutions.

It is certainly possible for users to create puzzles that have more than one solution. I personally consider this a serious defect, and take care to avoid it in the puzzles I create. Typically such puzzles will be flagged with a bold question mark on the puzzle list and a comment under the title on the puzzle page, but newer puzzles may not yet have been flagged.

In a way, the possibility of such puzzles adds to the challenge of other puzzles. There are unusual cases where knowing that a puzzle has a unique solution can make it vastly easier than it otherwise would be (see puzzle number 65 for an example). Not being sure means you have to work harder.

Some puzzles on this site do not seem to be solvable by ordinary means.

Some people believe that it should be possible to solve any good puzzle by looking at only one row at a time. In fact, I've seen web sites that will not allow you to post a puzzle unless it can be solved that way. I certainly agree that any puzzle you have to solve by trial and error is defective, and we usually flag such puzzles. Puzzles that require more than a modest amount of guessing to solve are usually removed from this site.

However, there are other logic tricks besides row solving. Puzzle number 23 is a demonstration of one of them, a method I call "edge work" because it most often is applied along the outer edges of the puzzle. In the case of puzzle 23, you should start by considering possible solutions of the bottom row. This trick is actually quite often useful, and is necessary for many puzzles on this site.

For an introduction to a variety of fancier puzzle solving techniques see the the Advanced Puzzle Solving Techniques page.

Why don't you delete some of the bad puzzles from this site?

I do delete some puzzles that are so bad that I feel there is no pleasure in solving them at all, mostly ones that prove hopelessly impossible to finish. But most puzzles are left on line.

I like to think that, in addition to being a fun place to solve paint-by-number puzzles, this site is also a fun place to learn to create paint-by-number puzzles. So we have many puzzles that are created by beginners, and sometimes it shows. I encourage you to post your thoughts and whatever constructive criticism you have to offer.

If you want to avoid puzzles with multiple solutions or ugly images, pay attention to the ratings other users have posted. They are a good guide. You may also want to avoid brand new puzzles by unknown authors, at least until others have reviewed them. But, really, it's more fun to dive in and be one of the reviewers yourself.

Why are some users are listed as having solved more puzzles than are actually available on the site?

It's possible for creaters of puzzles to withdraw them, and sometimes really bad puzzles are unpublished by the administrator. If people solved those puzzles before they were withdrawn, then they are still counted as having solved them, although those puzzles are no longer available on the site. For what it's worth, most withdrawn puzzles are really bad, so you haven't missed much.

Why am I sometimes, but not always asked to rate puzzles for their solvability and uniqueness?

If you are solving a new puzzle, you may be asked if you think it has more than one solution, and if you think guessing is required to solve it. The majority opinion will determine whether a question mark is displayed for the puzzle on the puzzle list. However, eventually, a ruling will be made on these questions, and people will not be asked anymore. It's usually fairly easy to determine if a puzzle is solvable or not, and we don't need to keep asking people forever. If you disagree with the ruling, post a comment.

Note also, that if you save a correct alternate solution to a puzzle not previously known to have multiple solutions, then webpbn will notice, and flag the puzzle as definitely having multiple solutions.

Creating Puzzles on This Site

What do the different controls on the puzzle editor do?

Under the board there are seven square buttons. The first one, showing a blank puzzle, will erase you entire puzzle.

The next two that look like paint pots can be used to fill in areas of the puzzle. The shaded one fills with the currently selected color, and the white one fills with white. After you click on the paint pot, you can then click on the screen, and all squares in the clicked on region will be changed to the new color. Normally the region fill function turns off after you do one fill. If you want to do multiple fills, do the click on the board with the shift key held down, or with the right mouse button

There are also four arrows. Clicking on these will shift your image in the direction selected.

The circular arrows are undo and redo buttons. Note that your undo history is not saved. If you leave the edit environment and come back, you won't be able to undo any more.

There are several differently colored blocks at the bottom of the page. You can click on one of these to select which color you are painting with.

There is an button showing square block over a number. This is used for blotting clue numbers. You can do this to make your puzzle harder to solve. Normally this would be the last step in creating a puzzle, if you choose to do it at all. Be careful though. It's easy to give the puzzle multiple solutions if you blot too many clue numbers.

You can also resize the board. Click on "Save" and you will be given an opportunity to change the board size before returning to the editor.

Got any advice for making good puzzles?

Hey, don't look at me. I'm no expert. I'd only made one before I wrote this program and I'm a much better programmer than artist. What I like to see in a puzzle is:
  1. A unique solution. It's very easy to create puzzles that can have more than one different solution. This is undesirable because such puzzles cannot be solved by pure logic, they require guessing. The only way to check a puzzle you design is to try it solving it. If you save the puzzle (without checking the "Publish" button) you'll be given a chance to try solving it. When you do so, the helper will be available to speed things up for you, but I recommend solving your puzzle manually at least once to see how it goes.

  2. A logical solution. I like puzzles that you can solve entirely without having to make guesses, or ones where you don't have to look too far ahead to be able to figure out if a guess is right or not.

  3. White Space. Occasionally people post puzzles where every square is filled in with one color or another, and no white spaces are left. This makes a trivial, boring puzzle. There should generally be quite a lot of white space to make a puzzle interesting.

  4. A cool picture. When I'm done, I like it if the puzzle actually looks like something. When creating puzzles, I often like to have a picture of the thing I'm drawing available to look at. Google image search is amazingly useful for finding pictures of whatever you have in mind.

  5. Size a multiple of five. This is kind of trivial, but the puzzle grid looks better if the size is a multiple of five, and counting squares is easier too. I don't consider this vital though. Sometimes the picture doesn't want to be that size. Most people seem to think that leaving a couple blank rows or columns is preferable to using an odd size.

  6. Few colors. Multicolor puzzles are neat, and make a nice change of pace, but I personally prefer the purity of a two color puzzle, so I usually try to use as few different colors as I can get away with.

  7. Small size. I try to keep most of my puzzles small. Admittedly, the fact that my software gets kind of slow on big puzzles is a major reason for this, but as you go to bigger and bigger grids, the challenge of making a recognizable image vanishes. I think it's extra cool when you can make a recognizable image on a small grid.
Of course, what you like may be different. By all means, make the puzzles you like.

My impression after some trial and error is that it generally works better if your puzzle has a lot of black on it. If you try to do drawings with thin black lines on a white background, they tend not to be solvable, especially if the lines are diagonal rather than vertical or horizontal. Silhouettes are more likely to be solvable.

For more details on creating puzzles, see my puzzle creation how-to.

What does the "Check" button Do?

The "Check" button on the puzzle creation site runs a program on the webserver that tests to see if your puzzle has a unique solution, and may also be able to tell if it is logically solvable. The program used is an open-source puzzle solver called pbnsolve. In addition to being run when you hit the "Check" button, it is also run whenever you publish a puzzle (that is, when you check the "publish" button and hit "Save").

If your puzzle has multiple solutions, it will find one and allow you to compare it to your intended solution. This can be helpful in identifying which parts of the puzzle need to be modified so there will be a unique solution.

If it is able to solve the entire puzzle using only line-solving, without having to do any trial and error search, then it will tell you that the puzzle is logically solvable. If it doesn't say this, then you shouldn't assume that the puzzle is solvable just because it has a unique solution. Many puzzles with unique solutions are quite hopeless to solve for mere humans. You should test solve your puzzle yourself to check it.

In some cases, you will get a message saying that the checker timed out. The timeout occurs because we simply can't afford to tie up the webserver for long periods of time trying to solve puzzles. If this happens, then your puzzle is almost certainly too hard for any human to solve.

What is the helper?

When you play a board you created yourself (or one that you have previously solved), you get a "helper" button. The helper is a simple little program that will try to solve the puzzle. It's much simpler and stupider than the program used to check puzzles. In fact, it's so dumb that it's a wonder to me that it solves as many boards as it does.

The advantage of a dumber program like this, is that it doesn't do anything that a human couldn't do if they took a little time. If it completely solves your puzzle, you can be assured that your puzzle has a unique solution and can be solved by ordinary humans.

If it does not fully solve the board, then this does not necessarily mean that the board is insolvable. If you examine the board, you will often find that, with your superior intelligence, you can find some other cells that can be marked black or white. After doing so, clicking the helper button again may solve some more of the puzzle for you.

When you run the helper, it always starts from whatever partial solution you have already entered. If that partial solution is incorrect, it will proceed until it find a contradition, and stop with some rows or columns marked with a red ball.

The helper tends to be less effective on puzzles with more colors.

Why can I use the helper only on my own puzzles?

Well, normally the point of a puzzle is to solve it yourself. When you are developing a puzzle, however, you often need to try solving it over and over again as you make small adjustments to it, until you are finally satisfied with the look and solvability of the puzzle. For large or difficult puzzles, this can be very time consuming. That's where the helper is a valuable tool.

However, once you have solved a puzzle, the helper button will be available. You can clear the board and then watch the helper try to solve it.

History

Why does this site exist?

Mostly just because I thought it'd be a fun programming project.

My partner subscribes to a magazine called Games World of Puzzles, which regularly publishes these puzzles. I used to occasionally copy puzzles from her magazine onto blank graph paper to play them, and kind of liked them.

I thought a computer program to play them would be nice. In 2002 I decided to try to implement one in JavaScript just to see if I could make it work. I got the Javascript part working pretty well, and thought it was pretty nifty. But I ran out of energy before I built all the infrastructure around the game that I'd need for a web site - login management tools, ways to save partial solutions to puzzles, rate puzzles, search for puzzles - all that kind of stuff isn't really much fun to program. It's the same kind of thing I've done on dozens of websites for clients.

In 2004 I resumed work on the project, basically as a break from working on my parents' tax returns. Even boring programming is more fun than that. That got me hooked again and now I've spent more time on it than I can properly afford.

Where else can I find puzzles like these?

Lots of places. These puzzles appear under many names, so if you do a web search, names to look for include "Paint-by-Number", "Nonogram", "Griddler","Hanjie", "CrossPix", "Descarte's Enigma", "FigurePic", "IllustLogic", "Oekaki-Logic", "Picross", "PictureLogic", "StarPic", "Japanolle" and "Tsunami". (Many of these names are trademarked by somebody. I call them "Paint-by-Number" because it's the name I first encountered the puzzles under, and I don't think it is a trademark.) The Sunday Telegraph apparantly publishes them regularly, and publishes books containing all of the year's puzzles every year. The magazine Games World of Puzzles publishes several in every issue. There are several different books of them available on Amazon.

And this is very far from the first web site devoted to these games and programs for solving them. Steve Simpson's Nonogram Site has a good list of links. I've only look at a few of these, but I notice the Play Tsunami site is a somewhat similar to this one.

Who invented these puzzles?

These puzzles seem to have two inventors, who got the idea and published puzzles in different Japanese puzzle magazines at about the same time.

Non Ishida got thinking about grid pictures after winning a contest to design pictures to be displayed by turning on and off lights in skyscraper windows. She created her first three paint-by-number puzzles in a Japanese magazine in 1988.

Japanese puzzle designer Tetsuya Nishio published the same kinds of puzzles in a different magazine at about the same time.

The credit for popularlizing these puzzles goes to James Dalgety. Non Ishida showed him her "Window Art Puzzles" in 1988, and he coined the name "Nonogram" in her honor and convinced The Sunday Telegraph, a major British newspaper, to start publishing them, mostly using designs by Non Ishida. Only long after they got popular in the UK did these puzzles really catch on in Japan and the rest of the world.

In 1995, Non Ishida informed The Sunday Telegraph that she wanted to reserve the name "nonogram" for puzzles she designed, so the Telegraph started calling them "griddlers" instead. That's why this site is not called "Web Nonograms". That attempt to withdraw the most widely known name of the puzzles from general usage, together with the original multiple parentage of the puzzles, probably accounts of the large number of names these puzzles are known under.

How the Software Works

How does this software work?

Most of this website is pretty conventional stuff. There is a MySQL database that stores all the puzzles, user data, saved solutions, and so forth. Most of the pages are generated by pretty conventional Perl CGI programs that access the database and generate the HTML for the pages sent to your browser.

The interesting parts are the puzzle solving environment and the puzzle editing environment. These are implemented in Javascript, a language that runs within your browser and that is normally used to do much simpler things - drop down menus, images that change when you move a mouse over them, etc. When this site was originally written, it was an unusually complex Javascript site. These days there are lots of sites of similar or greater complexity.

Most other puzzle sites on the web use Java applets. In spite of the similar names, Java and Javascript are entirely different languages. Probably implementing this in Java would have been easier and would have worked better, but it would also have been kind of boring.

JavaScript has historically been plagued by browser incompatibility issues, making it hard to write elaborate JavaScript code that works on all browsers. In recent years, all browsers have been making dramatic progress toward standards compliance, and many of the incompatibility issues have largely faded away.

I get around some of the worst of the compatibility problems by having my server detect what browser you are running, and sending different versions of the Javascript program to your browser depending on what type it is. This is generally a practice Javascript authors avoid, prefering to use only the features that work on all browsers, but to get things like multiple mouse buttons and painting with the mouse button held down to work would be impossible if I did that.

The board is drawn by tiling it out of many small images - typically one for each square of the puzzle. The black lines between the puzzle are actually a black background showing through the gaps between the tiled images. The clues are displayed using a large collection of little image tiles with different numbers in different colors on them. Typically boards may be made of thousands of small images, which is part of the reason why they load slowly.

In the original version of this site, we couldn't draw the board this way, because many browsers didn't have full CSS support and couldn't overlap images like this. So instead, the whole board was contained in a giant HTML table. Not only were there images for each cell, but the boundary lines are also pieced together from black images. This was always slower and clumsier than the CSS version, and the browsers that needed it are now hopelessly obsolete, so we no longer support this drawing mode.

There is a big hunk of JavaScript code embedded in the header of each page. It gets initialized when the page is loading (which is the other part of the reason that pages load slowly) and after that, it is all event driven - move the mouse over an image and some JavaScript runs to move the green dot. Click an image and some JavaScript gets run to change its color and check if the row and column are OK. It does all the changes to the board by replacing one or more of the little tile images, a standard Javascript technique called "image animation".

The only really clever part is how the error checking works. To check if your current pattern of blacks, whites and unknowns in a row matches the counts, the Perl CGI program generates a JavaScript regular expression for each line clue. For example, if we mark a white square with '0', black with '1' and unknown with 'x' then the clue for "3 5" would be

   /^[x0]*[x1]{3}[x0]+[x1]{5}[x0]*$/
That gobblety-gook means that the line must start with zero or more x's or 0's, followed by exactly three x's or 1's, followed by one or more x's or 0's, followed by exactly five x's or 1's, followed by zero or more x's or 1's. Javascript has some higly optimized built-in codes for doing regular expression checking. The expressions can be compiled once and used repeatedly. So every time you do a cell change, I run the regular expresssions for the row and column. If either one fails, we redball that row or column. Trying to do this by writing a line checker in Javascript would have resulted in a much more complex program that ran much slower.

For communications with the server, like when you save a game, save ratings, revert to a previously saved game, or run the checker, we use a Javascript methodology called "AJAX" (Asynchronouse JavaScript And XML). Traditional web pages communicate with the server between pages. In older versions of webpbn, the screen would blank and reload (a very slow process) whenever you saved your game. With AJAX the Javascript program running in your browser can talk to the webserver without doing a screen reload. This is vastly faster.

How does the helper work?

It uses regular expressions similar to those used for error checking (with parenthesis added around each interval). For each row and column it matches the standard regular expression against the current line. Then it matches the reverse of the regular expression against the reverse of the line. This gives two possible solutions - one is the solution with everything pushed as far to one end as possible, the other is the solution with everything pushed as far to the other end as possible. Any unknown cell that is part of the same interval in both solutions must be the color of that interval.

This trick is fast, but does not find all cells known to be black or white in a line. Sometimes you can tell a cell must be one particular color, even if you don't know which interval it is in. This test misses all such cases. For example, consider the partially solved row below:

You and I would have no trouble figuring out that the center cell has to be white. But the two possible solutions to this row put that center cell into two different intervals, so the helper doesn't figure this one out.

It keeps applying this same fast but dumb test to rows and columns alternately until no further changes are made or an error is encountered. Then it stops. What's surprising is how many puzzles the helper is actually able to solve entirely on its own. Puzzles that I use much more elaborate reasoning to solve, it manages to solve by sheer dumb persistance.

The helper's abililty to solve puzzles could be improved pretty easily. When it gets stuck, we could have it go through each unknown square and try painting it first black, then white, checking the correctness of it's row and column using the standard regular expressions. If either color leads to an error, then that cell must be the other color. Once this procedure paints a cell, we'd return to the other procedure. This would make the thing a bit more powerful, but not good enough to solve all solvable puzzles. There are puzzles that cannot be solved entirely by looking at one row or column at a time. I think you'd have to add depth-first search as a third layer to do that.

The helper is also rather dumb about puzzles with more than two colors. In a black/white/red puzzle it can only mark a cell as unknown, black, white or red. If it could mark a cell as being black or white, but not red, and other such combinations, it would be much more effective.

I'm not really inclined to improve it though. It's plenty good enough as it is to make testing new puzzles painless. The fact that it is fairly dumb actually helps the puzzle designer get a partial sense sense of how hard the puzzle actually is. How many tricky parts do you have to help the helper with, and how tricky are they?

As it stands, it a nice toy example of using computers in collaborative problem solving. The computer does what machines do well, and the human does what humans does well, and a good user-interface lets them work together.

How does the checker work?

The checker is a completely separate program from the helper. It is written in C instead of Javascript and runs on the webserver instead of in your browser. Information about how it works is available from the pbnsolve page.

Miscellaneous

What's next?

This site seems to be functioning pretty well now, and I don't expect major revisions, but I still plan to make many small improvements.

One plan is to implement an SVG version of the puzzle solving environment, which would probably run faster because it could just draw the puzzles instead of tiling them out of images. However browser support for SVG isn't too good just yet. This may have to wait on improvements.

Who created this site?

I'm Jan Wolter, a freelance computer programmer and father of three. I live in Ann Arbor, Michigan, USA. I work on other people's web sites on a contract basis, and do some open source software development in my free time. This site is just for fun. My web site is at unixpapa.com. To send me email, go to my email page.

I did all the programming for this site. Timo Frenay created the clue number images used when puzzles are displayed in their smallest size (standard fonts don't quite do the job, so a custom design was needed). Many people have contributed good ideas for improvements to the site.

Are any of these questions really frequently asked?

Honestly, no. I made all of them up myself. I've really only ever received a couple question about the paint-by-number site, and they aren't listed here. But then, why would anyone ask a question that is already answered on the FAQ?