Jump to page content

Bug of the moment 2007-08-10

Some time ago, and I forget how and why now, I came across a site called One Million Macs, whose curious goal is to show that there are a million Macintosh users on the planet. (The owner wants to answer the question “Just how many people use Macs anyway?” with, smugly, “One million.”) I have been a Mac user since about 1998, so I put myself down. I was Mac user number two. At this point in time, there are all of five people, and one of whom sent in a photo of his Mac kernel panicked. I am sure all the Mac lovers out there can do better than this! Come on people!

The site itself, though, uses a WordPress skin with a very peculiar bug. In Macintosh fashion, the palettes on the right can be re-ordered by dragging, and the surrounding palettes reshuffle accordingly:

View full-size screenshot

However, if you are deft enough with your cursor jiggery-pokery, the JavaScript code will temporarily duplicate one of the shifting palettes:

Normally, both the original palette and its clone act as independent objects, although both will head for the same location and merge back into one. Sometimes, the duplicates appear to finalise their positions separately and just sit there:

It is possible, if you’re lucky, to get two of the palettes to clone themselves:

The screenshots above are from Firefox and in Windows 2000 and XP respectively; the astute will notice that they’re not from the same computer. However, it is not a Firefox problem: the same bug occurs in Internet Explorer 6, only the JavaScript code runs a lot faster in Internet Explorer.

I also had a go in Opera 9, which so far has been the most co-operative, yielding a current personal best of four duplicate palettes:

Each palette <div> is defined exactly once in the HTML, but the JavaScript code seems to be able to duplicate them. Take a palette and drag it over another, causing it to start to slide into position, but don’t release the mouse. Now, move the one you are dragging into the space where the sliding one is headed, and a clone of it spawns at that point. That clone will now head in the opposite direction for the gap vacated by the first slider, so move the palette under the cursor into that gap and a new clone spawns at that point also.

The “finalised” palettes in the third screenshot are likely where two or more are stacked in a pile and the transparency adds up to solid. It’s hard to tell.

I have no idea why any of this happens, though.

The screenshots are also all saved as 32-bit PNG at the expense of extra file size. I don’t know whether I have enough dial-up readers for this to be a larger problem than all the horrible dithering seen in JPEG-format screenshot images on a flat screen.

Posted 10th August 2007 – Comments and questions?