Microsoft maakt programmeerfout in keuzescherm webbrowsers
Sinds enkele dagen is Microsofts browserkeuzescherm online beschikbaar. Microsoft werd door Europa verplicht om zijn gebruikers te laten kiezen met welke browser ze op het net willen. Op de website www.browserchoice.eu kan je kiezen uit een aantal webbrowsers, die in willekeurige volgorde gepresenteerd worden.
Nu ja, willekeurig. Een zekere Rob Weir ontdekte namelijk dat de volgorde van de browsers helemaal niet zo willekeurig is. En dat heeft niets te maken met duistere complotten, maar wel met een domme programmeerfout.
Het willekeurig sorteren van de browsers gebeurt in Javascript. Wat Microsoft deed, was JavaScript laten sorteren op basis van een ‘custom’ totale orderelatie, met deze implementatie:
function RandomSort (a,b) { return (0.5 - Math.random()); }
Omdat dit helemaal geen orderelatie definieert, kan het - afhankelijk van het gebruikte sorteeralgoritme - een beetje tot volledig mislopen. (In het slechtste geval krijg je zelfs een oneindige lus.)