Strange code made of hand sign and number

I came around a website recently and I noticed these strange hand illustrations, followed by a number.

You can see hundreds of different snapshots of the website using the archive.org wayback machine feature:

https://web.archive.org/web/20141218121548/http://young.com/

(Use top page slider to navigate through website history)

Does anyone have any idea what it means?

• I'm voting to close this question as off-topic because this doesn't seem to be a 'puzzle' (in the sense that we use it here). – A E Sep 27 '15 at 15:15
• @AE I disagree, This is a perfect example of a real-life puzzle related question. Granted, it is not presented as a puzzle. But it can certainly thought to be so (and can easily be presented as one). In fact, I would argue that we should encourage more of this type of real life questions along with created puzzles. – Rohcana Sep 27 '15 at 22:58

The hand signs are ASL (American Sign Language) numbers.

The author of the site implemented the page counter by calling two PHP scripts for each page:

http://www.young.com/count/count.php?page=young
http://www.young.com/count/small.php?page=young


Each one of these scripts contains Javascript to insert the correct images for the corresponding number.

However, the implementation is quite buggy. In particular, one of the numbers will always be higher than the other, since (apparently) each script independently increments the page counter. Which one will be higher depends on the order that the browser sends the requests, and the order the server processes them.

Additionally, if two or more people try to access the page at the same time, their requests may interleave, resulting in the apparent count increasing more than once.

For example, for the images you gave we can translate the hand signs into Arabic numerals:

count.php   small.php
---------------------
183         130
2           3
29          10
390         389


The Wayback machine seems to be loading the script files in reverse order, and seems to be waiting some time between subsequent accesses.

When I accessed the page, I got 30/27, 35/36, and 39/40.

This has been an example of how not to implement a page counter.

Update

I've been calling one of the scripts in a loop, and the count doesn't seem to wrap around at 1000. It's probably a daily/weekly/monthly count.

The count has decreased back to zero, although it briefly went above 1000.

After some further tests, it looks like the counter is resetting randomly, with more frequent resets under higher server load. Looking at the quality of the code, I'm assuming this is some sort of race condition in the PHP script that wipes out the counter if two or more threads try to modify it at once. (I once had a small website that stored some persistent data in a flat file, and struggled with this problem for some time. The solution is to use a real database.)

• A database seems like overkill if all you need is one little counter… – Blacklight Shining Sep 26 '15 at 5:21
• @BlacklightShining But you have a counter for each page, plus any other complexity you want to implement... Plus the author already has (had) a database, as evidenced by the error messages on the main page ("Create Database Failed \\ Connect to Database Failed.."). The question isn't "is using a database overkill," it's "is designing, coding, and debugging my own database overkill?" – 2012rcampion Sep 26 '15 at 5:26