<article>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#article10_02_28_1837223</id>
	<title>Schooling Microsoft On Random Browser Selection</title>
	<author>kdawson</author>
	<datestamp>1267385580000</datestamp>
	<htmltext>Rob Weir got wind that a Slovakian tech site had been discussing the non-randomness of Microsoft's intended-to-be-<a href="//tech.slashdot.org/story/09/10/10/1218202/Why-Microsofts-EU-Ballot-Screen-Doesnt-Measure-Up">random</a> <a href="//slashdot.org/story/09/12/16/1418242/EU-Accepts-Microsofts-Browser-Choice-Promise">browser</a> <a href="//yro.slashdot.org/story/09/12/18/0210240/How-Europes-Mandated-Browser-Ballot-Screen-Works">choice</a> <a href="//tech.slashdot.org/story/10/02/19/2135254/Details-Emerge-On-EU-Only-Browser-Choice-Screen-For-Windows">screen</a>, which went into effect on European Windows 7 systems last week. He did some testing and found that indeed the order in which the five browser choices appear on the selection screen is far from random &mdash; though probably not intentionally slanted. He then proceeds to give Microsoft a <a href="http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html">lesson in random-shuffle algorithms</a>. <i>"This computational problem has been known since the earliest days of computing. There are 5 well-known approaches: 3 good solutions, 1 acceptable solution that is slower than necessary and 1 bad approach that doesn&rsquo;t really work. Microsoft appears to have picked the bad approach. But I do not believe there is some nefarious intent to this bug. It is more in the nature of a 'naive algorithm,' like the bubble sort, that inexperienced programmers inevitably will fall upon when solving a given problem. I bet if we gave this same problem to 100 freshmen computer science majors, at least 1 of them would make the same mistake. But with education and experience, one learns about these things. And one of the things one learns early on is to reach for Knuth. ... The lesson here is that getting randomness on a computer cannot be left to chance. You cannot just throw Math.random() at a problem and stir the pot and expect good results."</i></htmltext>
<tokenext>Rob Weir got wind that a Slovakian tech site had been discussing the non-randomness of Microsoft 's intended-to-be-random browser choice screen , which went into effect on European Windows 7 systems last week .
He did some testing and found that indeed the order in which the five browser choices appear on the selection screen is far from random    though probably not intentionally slanted .
He then proceeds to give Microsoft a lesson in random-shuffle algorithms .
" This computational problem has been known since the earliest days of computing .
There are 5 well-known approaches : 3 good solutions , 1 acceptable solution that is slower than necessary and 1 bad approach that doesn    t really work .
Microsoft appears to have picked the bad approach .
But I do not believe there is some nefarious intent to this bug .
It is more in the nature of a 'naive algorithm, ' like the bubble sort , that inexperienced programmers inevitably will fall upon when solving a given problem .
I bet if we gave this same problem to 100 freshmen computer science majors , at least 1 of them would make the same mistake .
But with education and experience , one learns about these things .
And one of the things one learns early on is to reach for Knuth .
... The lesson here is that getting randomness on a computer can not be left to chance .
You can not just throw Math.random ( ) at a problem and stir the pot and expect good results .
"</tokentext>
<sentencetext>Rob Weir got wind that a Slovakian tech site had been discussing the non-randomness of Microsoft's intended-to-be-random browser choice screen, which went into effect on European Windows 7 systems last week.
He did some testing and found that indeed the order in which the five browser choices appear on the selection screen is far from random — though probably not intentionally slanted.
He then proceeds to give Microsoft a lesson in random-shuffle algorithms.
"This computational problem has been known since the earliest days of computing.
There are 5 well-known approaches: 3 good solutions, 1 acceptable solution that is slower than necessary and 1 bad approach that doesn’t really work.
Microsoft appears to have picked the bad approach.
But I do not believe there is some nefarious intent to this bug.
It is more in the nature of a 'naive algorithm,' like the bubble sort, that inexperienced programmers inevitably will fall upon when solving a given problem.
I bet if we gave this same problem to 100 freshmen computer science majors, at least 1 of them would make the same mistake.
But with education and experience, one learns about these things.
And one of the things one learns early on is to reach for Knuth.
... The lesson here is that getting randomness on a computer cannot be left to chance.
You cannot just throw Math.random() at a problem and stir the pot and expect good results.
"</sentencetext>
</article>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310740</id>
	<title>Re:Seems like the right solution to me</title>
	<author>Graff</author>
	<datestamp>1267366380000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>One solutions takes 3 seconds, can be done by an intern, and makes the company no money. The other solution takes a little bit of time, maybe some reading or prior knowledge and still makes the company no money. The results yielded for each solution are acceptable for the situation. Given the cost to profit it seems like Microsoft chose EXACTLY the right solution.</p></div><p>I dunno, a quick Google for "javascript shuffle array" brings up this <a href="http://snippets.dzone.com/posts/show/849" title="dzone.com">simple function</a> [dzone.com] as the first result:</p><blockquote><div><p><nobr> <wbr></nobr><tt>//+ Jonas Raoni Soares Silva<br>//@ http://jsfromhell.com/array/shuffle [v1.0]<br>
&nbsp; <br>shuffle = function(o){<nobr> <wbr></nobr>//v1.0<br>
&nbsp; &nbsp; for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);<br>
&nbsp; &nbsp; return o;<br>};</tt></p></div> </blockquote><p>It didn't take much time at all to do the search, probably just as much time as it took to come up with the wrong function that Microsoft used.</p></div>
	</htmltext>
<tokenext>One solutions takes 3 seconds , can be done by an intern , and makes the company no money .
The other solution takes a little bit of time , maybe some reading or prior knowledge and still makes the company no money .
The results yielded for each solution are acceptable for the situation .
Given the cost to profit it seems like Microsoft chose EXACTLY the right solution.I dunno , a quick Google for " javascript shuffle array " brings up this simple function [ dzone.com ] as the first result : // + Jonas Raoni Soares Silva// @ http : //jsfromhell.com/array/shuffle [ v1.0 ]   shuffle = function ( o ) { //v1.0     for ( var j , x , i = o.length ; i ; j = parseInt ( Math.random ( ) * i ) , x = o [ --i ] , o [ i ] = o [ j ] , o [ j ] = x ) ;     return o ; } ; It did n't take much time at all to do the search , probably just as much time as it took to come up with the wrong function that Microsoft used .</tokentext>
<sentencetext>One solutions takes 3 seconds, can be done by an intern, and makes the company no money.
The other solution takes a little bit of time, maybe some reading or prior knowledge and still makes the company no money.
The results yielded for each solution are acceptable for the situation.
Given the cost to profit it seems like Microsoft chose EXACTLY the right solution.I dunno, a quick Google for "javascript shuffle array" brings up this simple function [dzone.com] as the first result: //+ Jonas Raoni Soares Silva//@ http://jsfromhell.com/array/shuffle [v1.0]
  shuffle = function(o){ //v1.0
    for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
    return o;}; It didn't take much time at all to do the search, probably just as much time as it took to come up with the wrong function that Microsoft used.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308490</id>
	<title>Re:Yeah right</title>
	<author>girlintraining</author>
	<datestamp>1267349160000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Showing a browser selection has been imposed on them and these geeks think MS is going to select the best approach possible for randomness.</p></div><p>I don't believe many of them think that, judging by the comments so far. I think they're incredulous that a multibillion dollar company that has been developing software since the dawn of the information era managed to screw up a rather basic computer science problem. Given a lack of indication as to motive, they've decided to jump to whatever conclusion fits their personal biases best, which is what happens in every argument when there aren't enough facts to conduct a proper analysis.</p><p>Just because you've got a forum full of people who spend their days working with machines that answer everything with either 1 or 0, doesn't mean they've learned anything from the interaction and incorporated it into their own thought processes.</p></div>
	</htmltext>
<tokenext>Showing a browser selection has been imposed on them and these geeks think MS is going to select the best approach possible for randomness.I do n't believe many of them think that , judging by the comments so far .
I think they 're incredulous that a multibillion dollar company that has been developing software since the dawn of the information era managed to screw up a rather basic computer science problem .
Given a lack of indication as to motive , they 've decided to jump to whatever conclusion fits their personal biases best , which is what happens in every argument when there are n't enough facts to conduct a proper analysis.Just because you 've got a forum full of people who spend their days working with machines that answer everything with either 1 or 0 , does n't mean they 've learned anything from the interaction and incorporated it into their own thought processes .</tokentext>
<sentencetext>Showing a browser selection has been imposed on them and these geeks think MS is going to select the best approach possible for randomness.I don't believe many of them think that, judging by the comments so far.
I think they're incredulous that a multibillion dollar company that has been developing software since the dawn of the information era managed to screw up a rather basic computer science problem.
Given a lack of indication as to motive, they've decided to jump to whatever conclusion fits their personal biases best, which is what happens in every argument when there aren't enough facts to conduct a proper analysis.Just because you've got a forum full of people who spend their days working with machines that answer everything with either 1 or 0, doesn't mean they've learned anything from the interaction and incorporated it into their own thought processes.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308184</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308458</id>
	<title>Re:What's the problem?</title>
	<author>Anonymous</author>
	<datestamp>1267348800000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Can it really?  I can't come up with an example where this would occur with nonzero probability...</htmltext>
<tokenext>Can it really ?
I ca n't come up with an example where this would occur with nonzero probability.. .</tokentext>
<sentencetext>Can it really?
I can't come up with an example where this would occur with nonzero probability...</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366</id>
	<title>Re:Good enough</title>
	<author>Anonymous</author>
	<datestamp>1267348080000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>4</modscore>
	<htmltext><blockquote><div><p>Given that each user is only going to see this screen once per computer</p></div></blockquote><p>Given that each person will only lose one cent per lifetime, I propose to move $0.01 from each bank account in the world to my own account.</p></div>
	</htmltext>
<tokenext>Given that each user is only going to see this screen once per computerGiven that each person will only lose one cent per lifetime , I propose to move $ 0.01 from each bank account in the world to my own account .</tokentext>
<sentencetext>Given that each user is only going to see this screen once per computerGiven that each person will only lose one cent per lifetime, I propose to move $0.01 from each bank account in the world to my own account.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309420</id>
	<title>Genuine question..</title>
	<author>Anonymous</author>
	<datestamp>1267356480000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>This is the result of a government mandate.</p><p>Why on earth did said mandate not specify what method was being used to sort the browsers?   Surely it gave parameters for inclusion in the list...</p></htmltext>
<tokenext>This is the result of a government mandate.Why on earth did said mandate not specify what method was being used to sort the browsers ?
Surely it gave parameters for inclusion in the list.. .</tokentext>
<sentencetext>This is the result of a government mandate.Why on earth did said mandate not specify what method was being used to sort the browsers?
Surely it gave parameters for inclusion in the list...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312186</id>
	<title>Re:Malice?</title>
	<author>Anonymous</author>
	<datestamp>1267381320000</datestamp>
	<modclass>Funny</modclass>
	<modscore>1</modscore>
	<htmltext><p>I tried that, and IE appeared in the first slot -every- time.  Then I realized that I had javascript off.  You might try it in Chrome to get an idea of how much faster their javascript engine is on your system.</p></htmltext>
<tokenext>I tried that , and IE appeared in the first slot -every- time .
Then I realized that I had javascript off .
You might try it in Chrome to get an idea of how much faster their javascript engine is on your system .</tokentext>
<sentencetext>I tried that, and IE appeared in the first slot -every- time.
Then I realized that I had javascript off.
You might try it in Chrome to get an idea of how much faster their javascript engine is on your system.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311036</id>
	<title>Re:LAST</title>
	<author>VennData</author>
	<datestamp>1267368960000</datestamp>
	<modclass>Troll</modclass>
	<modscore>-1</modscore>
	<htmltext>I could suggest a random algo, but oh wait... I've got bad Karma from the right wingers who don't approve of my politics on Slashdot.

Hit me again boys.</htmltext>
<tokenext>I could suggest a random algo , but oh wait... I 've got bad Karma from the right wingers who do n't approve of my politics on Slashdot .
Hit me again boys .</tokentext>
<sentencetext>I could suggest a random algo, but oh wait... I've got bad Karma from the right wingers who don't approve of my politics on Slashdot.
Hit me again boys.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308718</id>
	<title>Is it really about 1-5?</title>
	<author>A Friendly Troll</author>
	<datestamp>1267350900000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Isn't the *middle* choice going to be more important than the leftmost one?</p><p>We have a screen-centred dialog here that shows five browsers. One is going to end up smack-middle on the screen - and guess what - Windows centres the mouse pointer when it boots, which is when the screen will appear.</p><p>People often go for middle ground. Then they go to the direction they read... So in my mind, the 3rd choice is going to be the most important, followed by 4 for LTR cultures, and 2 for RTL.</p><p>But I'm talking out of my ass here... Any research into the importance of elements in a short horizontal list?</p></htmltext>
<tokenext>Is n't the * middle * choice going to be more important than the leftmost one ? We have a screen-centred dialog here that shows five browsers .
One is going to end up smack-middle on the screen - and guess what - Windows centres the mouse pointer when it boots , which is when the screen will appear.People often go for middle ground .
Then they go to the direction they read... So in my mind , the 3rd choice is going to be the most important , followed by 4 for LTR cultures , and 2 for RTL.But I 'm talking out of my ass here... Any research into the importance of elements in a short horizontal list ?</tokentext>
<sentencetext>Isn't the *middle* choice going to be more important than the leftmost one?We have a screen-centred dialog here that shows five browsers.
One is going to end up smack-middle on the screen - and guess what - Windows centres the mouse pointer when it boots, which is when the screen will appear.People often go for middle ground.
Then they go to the direction they read... So in my mind, the 3rd choice is going to be the most important, followed by 4 for LTR cultures, and 2 for RTL.But I'm talking out of my ass here... Any research into the importance of elements in a short horizontal list?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312674</id>
	<title>Re:Malice?</title>
	<author>Anonymous</author>
	<datestamp>1267473720000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>That's for all java script disabled browsers... no randomness there.<br>And perhaps it drills right into your subconsciousness.</p></htmltext>
<tokenext>That 's for all java script disabled browsers... no randomness there.And perhaps it drills right into your subconsciousness .</tokentext>
<sentencetext>That's for all java script disabled browsers... no randomness there.And perhaps it drills right into your subconsciousness.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308270</id>
	<title>Microsoft problem solving</title>
	<author>Anonymous</author>
	<datestamp>1267390500000</datestamp>
	<modclass>Funny</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>There are 5 well-known approaches: 3 good solutions, 1 acceptable solution that is slower than necessary and 1 bad approach that doesn&rsquo;t really work.  Microsoft appears to have picked the bad approach.</p> </div><p>We are still talking here about the random selection of browsers, or something more broad?</p></div>
	</htmltext>
<tokenext>There are 5 well-known approaches : 3 good solutions , 1 acceptable solution that is slower than necessary and 1 bad approach that doesn    t really work .
Microsoft appears to have picked the bad approach .
We are still talking here about the random selection of browsers , or something more broad ?</tokentext>
<sentencetext>There are 5 well-known approaches: 3 good solutions, 1 acceptable solution that is slower than necessary and 1 bad approach that doesn’t really work.
Microsoft appears to have picked the bad approach.
We are still talking here about the random selection of browsers, or something more broad?
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308792</id>
	<title>Re:You can't artificially put down competition</title>
	<author>CajunArson</author>
	<datestamp>1267351440000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Wow... the bottom 2 elements out of a possible 5 ALMOST 50\% of the time.. talk about a massive skew by those evil MS guys....</p><p>BTW... did you ever see the Dilbert cartoon with the PHB complaining that a full 40\% of employee sick days were taken on Mondays and Fridays?  You weren't possibly the same PHB were you?</p></htmltext>
<tokenext>Wow... the bottom 2 elements out of a possible 5 ALMOST 50 \ % of the time.. talk about a massive skew by those evil MS guys....BTW... did you ever see the Dilbert cartoon with the PHB complaining that a full 40 \ % of employee sick days were taken on Mondays and Fridays ?
You were n't possibly the same PHB were you ?</tokentext>
<sentencetext>Wow... the bottom 2 elements out of a possible 5 ALMOST 50\% of the time.. talk about a massive skew by those evil MS guys....BTW... did you ever see the Dilbert cartoon with the PHB complaining that a full 40\% of employee sick days were taken on Mondays and Fridays?
You weren't possibly the same PHB were you?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311474</id>
	<title>Re:Seems like the right solution to me</title>
	<author>Anonymous</author>
	<datestamp>1267373160000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>You forgot the cost of failing compliance with EU directives.</p></htmltext>
<tokenext>You forgot the cost of failing compliance with EU directives .</tokentext>
<sentencetext>You forgot the cost of failing compliance with EU directives.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311300</id>
	<title>Re:What's the problem?</title>
	<author>skelterjohn</author>
	<datestamp>1267371120000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>If the probability of an algorithm going into an infinite loop is zero, then it can't go into an infinite loop.</p></htmltext>
<tokenext>If the probability of an algorithm going into an infinite loop is zero , then it ca n't go into an infinite loop .</tokentext>
<sentencetext>If the probability of an algorithm going into an infinite loop is zero, then it can't go into an infinite loop.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31314722</id>
	<title>Re:He's just bitching</title>
	<author>Jedi Alec</author>
	<datestamp>1267452900000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><i>So they didn't use a shuffle that would pass muster for a licensed video poker system</i></p><p>Now that you mention it...why didn't they just use the shuffle code from bloody solitaire?</p></htmltext>
<tokenext>So they did n't use a shuffle that would pass muster for a licensed video poker systemNow that you mention it...why did n't they just use the shuffle code from bloody solitaire ?</tokentext>
<sentencetext>So they didn't use a shuffle that would pass muster for a licensed video poker systemNow that you mention it...why didn't they just use the shuffle code from bloody solitaire?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308732</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309362</id>
	<title>what exactly is the problem anyway?</title>
	<author>Golden\_Rider</author>
	<datestamp>1267355880000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I do not understand the problem. Why is it "bad" if one of the browsers appears on the far right side instead of the far left side? I know it would not influence my choice, what WOULD influence my choice is if I had heard from friends/colleagues etc about one or more of the browsers before. Whether Firefox is on position 2 or 3 or 4 is totally irrelevant. Maybe they could just present the browser choices in a big circle instead of a horizontal list<nobr> <wbr></nobr>...</p></htmltext>
<tokenext>I do not understand the problem .
Why is it " bad " if one of the browsers appears on the far right side instead of the far left side ?
I know it would not influence my choice , what WOULD influence my choice is if I had heard from friends/colleagues etc about one or more of the browsers before .
Whether Firefox is on position 2 or 3 or 4 is totally irrelevant .
Maybe they could just present the browser choices in a big circle instead of a horizontal list .. .</tokentext>
<sentencetext>I do not understand the problem.
Why is it "bad" if one of the browsers appears on the far right side instead of the far left side?
I know it would not influence my choice, what WOULD influence my choice is if I had heard from friends/colleagues etc about one or more of the browsers before.
Whether Firefox is on position 2 or 3 or 4 is totally irrelevant.
Maybe they could just present the browser choices in a big circle instead of a horizontal list ...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308894</id>
	<title>Re:Naive Solution? Inexeperienced? Whaaaat?</title>
	<author>Anonymous</author>
	<datestamp>1267352220000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>&gt; And the naive solution to a shuffling an array is similar to bubblesort, traverse through<br>&gt; the array and generate a random number up to array size to swap the element with.</p><p>While this is not in fact perfectly random (the right way would be to generate a number up to remaining elements, then add the offset), it's a lot more random than what Microsoft did here.  Did you read the article?</p><p>Note that the article author is 40 years old.  Dunno whether you consider that "young".</p></htmltext>
<tokenext>&gt; And the naive solution to a shuffling an array is similar to bubblesort , traverse through &gt; the array and generate a random number up to array size to swap the element with.While this is not in fact perfectly random ( the right way would be to generate a number up to remaining elements , then add the offset ) , it 's a lot more random than what Microsoft did here .
Did you read the article ? Note that the article author is 40 years old .
Dunno whether you consider that " young " .</tokentext>
<sentencetext>&gt; And the naive solution to a shuffling an array is similar to bubblesort, traverse through&gt; the array and generate a random number up to array size to swap the element with.While this is not in fact perfectly random (the right way would be to generate a number up to remaining elements, then add the offset), it's a lot more random than what Microsoft did here.
Did you read the article?Note that the article author is 40 years old.
Dunno whether you consider that "young".</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308724</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308290</id>
	<title>random number generator</title>
	<author>Anonymous</author>
	<datestamp>1267390740000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>... nine nine nine nine nine nine<nobr> <wbr></nobr>...</p><p>http://dilbert.com/strips/comic/2001-10-25/</p></htmltext>
<tokenext>... nine nine nine nine nine nine ...http : //dilbert.com/strips/comic/2001-10-25/</tokentext>
<sentencetext>... nine nine nine nine nine nine ...http://dilbert.com/strips/comic/2001-10-25/</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309978</id>
	<title>Re:Modulo</title>
	<author>UBfusion</author>
	<datestamp>1267360500000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>It's not modulo 5, it's modulo 5! (the number of possible permutations of N items is N!=1.2.3...N)</p></htmltext>
<tokenext>It 's not modulo 5 , it 's modulo 5 !
( the number of possible permutations of N items is N ! = 1.2.3...N )</tokentext>
<sentencetext>It's not modulo 5, it's modulo 5!
(the number of possible permutations of N items is N!=1.2.3...N)</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308540</id>
	<title>Re:I have no problem with this at all</title>
	<author>jonbryce</author>
	<datestamp>1267349460000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Those who prefer another browser to IE will have already installed one, and they won't see this screen.</p></htmltext>
<tokenext>Those who prefer another browser to IE will have already installed one , and they wo n't see this screen .</tokentext>
<sentencetext>Those who prefer another browser to IE will have already installed one, and they won't see this screen.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308348</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310414</id>
	<title>Re:Milliseconds</title>
	<author>Anonymous</author>
	<datestamp>1267363500000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Good idea. There are 5! == 120 permutations, which is not a fatal flaw.</p><p>See my equivalent comments from Feb 24th in the "fast comments" section of http://motls.blogspot.com/2010/02/microsoft-browser-lottery-do-js-random.html</p><p>- Shawn</p></htmltext>
<tokenext>Good idea .
There are 5 !
= = 120 permutations , which is not a fatal flaw.See my equivalent comments from Feb 24th in the " fast comments " section of http : //motls.blogspot.com/2010/02/microsoft-browser-lottery-do-js-random.html- Shawn</tokentext>
<sentencetext>Good idea.
There are 5!
== 120 permutations, which is not a fatal flaw.See my equivalent comments from Feb 24th in the "fast comments" section of http://motls.blogspot.com/2010/02/microsoft-browser-lottery-do-js-random.html- Shawn</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310650</id>
	<title>Even less random</title>
	<author>shird</author>
	<datestamp>1267365540000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>What I find even worse than the 'non-randomness' of the choice screen, is that the choices are shown in a fixed order as the page is downloaded and prior to the script being run. This can take several seconds, depending on your connection speed etc. This is more than enough to read the first couple of entries and make your choice.</p><p>Internet explorer 8 is the first choice in the fixed order that you see while the page is downloading.</p><p><a href="http://www.browserchoice.eu/BrowserChoice/browserchoice\_en.htm" title="browserchoice.eu">http://www.browserchoice.eu/BrowserChoice/browserchoice\_en.htm</a> [browserchoice.eu]</p><p>They should have the options as 'visible=false' until they are randomly sorted, then make them visible.</p></htmltext>
<tokenext>What I find even worse than the 'non-randomness ' of the choice screen , is that the choices are shown in a fixed order as the page is downloaded and prior to the script being run .
This can take several seconds , depending on your connection speed etc .
This is more than enough to read the first couple of entries and make your choice.Internet explorer 8 is the first choice in the fixed order that you see while the page is downloading.http : //www.browserchoice.eu/BrowserChoice/browserchoice \ _en.htm [ browserchoice.eu ] They should have the options as 'visible = false ' until they are randomly sorted , then make them visible .</tokentext>
<sentencetext>What I find even worse than the 'non-randomness' of the choice screen, is that the choices are shown in a fixed order as the page is downloaded and prior to the script being run.
This can take several seconds, depending on your connection speed etc.
This is more than enough to read the first couple of entries and make your choice.Internet explorer 8 is the first choice in the fixed order that you see while the page is downloading.http://www.browserchoice.eu/BrowserChoice/browserchoice\_en.htm [browserchoice.eu]They should have the options as 'visible=false' until they are randomly sorted, then make them visible.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308656</id>
	<title>Re:Milliseconds</title>
	<author>Jorl17</author>
	<datestamp>1267350420000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>That'd be the same problem! The thing is not the randomness of the number but how they use it!</htmltext>
<tokenext>That 'd be the same problem !
The thing is not the randomness of the number but how they use it !</tokentext>
<sentencetext>That'd be the same problem!
The thing is not the randomness of the number but how they use it!</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308108</id>
	<title>Adding randomness...</title>
	<author>Anonymous</author>
	<datestamp>1267389540000</datestamp>
	<modclass>Funny</modclass>
	<modscore>3</modscore>
	<htmltext>just requires something like:<br>
pickabrowser() {<br>
 if (rand()&gt;0.05) {<br>
   use IE <br>
 } else {<br>
  pickabrowser()<br>
 }<br>
}<br> <br>
Nobody said anything about bias.</htmltext>
<tokenext>just requires something like : pickabrowser ( ) { if ( rand ( ) &gt; 0.05 ) { use IE } else { pickabrowser ( ) } } Nobody said anything about bias .</tokentext>
<sentencetext>just requires something like:
pickabrowser() {
 if (rand()&gt;0.05) {
   use IE 
 } else {
  pickabrowser()
 }
} 
Nobody said anything about bias.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308912</id>
	<title>Re:Naive Solution? Inexeperienced? Whaaaat?</title>
	<author>Anonymous</author>
	<datestamp>1267352400000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p><div class="quote"><p>Ok in all fairness, bubblesort is arguably the best sorting algorithm because in today's modern computing power it will do the job sufficiently for 99\% of your problems</p></div><p>Um... no.  Just no.  We're not talking about bubble sort being two or three times slower than the good algorithms, it can be hundreds, thousands, millions,<nobr> <wbr></nobr>..., of times slower, depending on how big your data set is.  Unless of course you think that 99\% of problems use tiny data sets.</p></div>
	</htmltext>
<tokenext>Ok in all fairness , bubblesort is arguably the best sorting algorithm because in today 's modern computing power it will do the job sufficiently for 99 \ % of your problemsUm... no. Just no .
We 're not talking about bubble sort being two or three times slower than the good algorithms , it can be hundreds , thousands , millions , ... , of times slower , depending on how big your data set is .
Unless of course you think that 99 \ % of problems use tiny data sets .</tokentext>
<sentencetext>Ok in all fairness, bubblesort is arguably the best sorting algorithm because in today's modern computing power it will do the job sufficiently for 99\% of your problemsUm... no.  Just no.
We're not talking about bubble sort being two or three times slower than the good algorithms, it can be hundreds, thousands, millions, ..., of times slower, depending on how big your data set is.
Unless of course you think that 99\% of problems use tiny data sets.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308724</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308380</id>
	<title>Read the results, not good enough</title>
	<author>SuperKendall</author>
	<datestamp>1267348260000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p><i>Given that each user is only going to see this screen once per computer, I'd say simply using the seconds of the current minute as a random seed should be OK.</i></p><p>A) That was not the problem.</p><p>B) Consider the result instead of the algorithm  is it OK to have your "random" list just about always present any one choice in the bottom two elements?  Because that is what happened for Safari.</p><p>If you aren't going to insist on a list that's even close to random then you should not make randomness a requirement.</p></htmltext>
<tokenext>Given that each user is only going to see this screen once per computer , I 'd say simply using the seconds of the current minute as a random seed should be OK.A ) That was not the problem.B ) Consider the result instead of the algorithm is it OK to have your " random " list just about always present any one choice in the bottom two elements ?
Because that is what happened for Safari.If you are n't going to insist on a list that 's even close to random then you should not make randomness a requirement .</tokentext>
<sentencetext>Given that each user is only going to see this screen once per computer, I'd say simply using the seconds of the current minute as a random seed should be OK.A) That was not the problem.B) Consider the result instead of the algorithm  is it OK to have your "random" list just about always present any one choice in the bottom two elements?
Because that is what happened for Safari.If you aren't going to insist on a list that's even close to random then you should not make randomness a requirement.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310262</id>
	<title>Re:Malice?</title>
	<author>CAIMLAS</author>
	<datestamp>1267362120000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>It does the same in Chrome (well, Chromium nightly), and, I'd assume, all browsers based on Webkit. Chromium/webkit appears to display elements before running of the script elements.</p></htmltext>
<tokenext>It does the same in Chrome ( well , Chromium nightly ) , and , I 'd assume , all browsers based on Webkit .
Chromium/webkit appears to display elements before running of the script elements .</tokentext>
<sentencetext>It does the same in Chrome (well, Chromium nightly), and, I'd assume, all browsers based on Webkit.
Chromium/webkit appears to display elements before running of the script elements.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308348</id>
	<title>I have no problem with this at all</title>
	<author>Zocalo</author>
	<datestamp>1267347960000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>1</modscore>
	<htmltext>Frankly, I have no problem with this result.  Quite the opposite in fact, since I think you can probably group the users into three sets, only one of which really matters in connection with the Browser Selection Screen:

<ol>
<li>Those that equate "Internet" with a blue "e" and as such will pick IE regardless of its position</li>
<li>Those that prefer another browser to IE and will pick another option regardless of positioning</li>
<li>Those that have no clue about browsers and pick essentially at random, or belong to one of the above groups and click in error.</li>
</ol><p>

The only people where the selection and any possible bias inherent in the implementation of the random() function are the last group, which is also quite possibly the smallest of the three sets.  In an ideal world, you are going to get a bellcurve with the optimum position being in the middle and the least favourable at the sides, so if Microsoft wants to implement random() so that IE is more likely to end up in the position that is joint least likely to be picked of the big five browsers, that's fine by me.<br> <br>

It's also apparently fine for Google's Chrome as well, so if you are anywhere near Ballmer's office in the next few days then I'd keep an eye out for any flying chairs, just in case...</p></htmltext>
<tokenext>Frankly , I have no problem with this result .
Quite the opposite in fact , since I think you can probably group the users into three sets , only one of which really matters in connection with the Browser Selection Screen : Those that equate " Internet " with a blue " e " and as such will pick IE regardless of its position Those that prefer another browser to IE and will pick another option regardless of positioning Those that have no clue about browsers and pick essentially at random , or belong to one of the above groups and click in error .
The only people where the selection and any possible bias inherent in the implementation of the random ( ) function are the last group , which is also quite possibly the smallest of the three sets .
In an ideal world , you are going to get a bellcurve with the optimum position being in the middle and the least favourable at the sides , so if Microsoft wants to implement random ( ) so that IE is more likely to end up in the position that is joint least likely to be picked of the big five browsers , that 's fine by me .
It 's also apparently fine for Google 's Chrome as well , so if you are anywhere near Ballmer 's office in the next few days then I 'd keep an eye out for any flying chairs , just in case.. .</tokentext>
<sentencetext>Frankly, I have no problem with this result.
Quite the opposite in fact, since I think you can probably group the users into three sets, only one of which really matters in connection with the Browser Selection Screen:


Those that equate "Internet" with a blue "e" and as such will pick IE regardless of its position
Those that prefer another browser to IE and will pick another option regardless of positioning
Those that have no clue about browsers and pick essentially at random, or belong to one of the above groups and click in error.
The only people where the selection and any possible bias inherent in the implementation of the random() function are the last group, which is also quite possibly the smallest of the three sets.
In an ideal world, you are going to get a bellcurve with the optimum position being in the middle and the least favourable at the sides, so if Microsoft wants to implement random() so that IE is more likely to end up in the position that is joint least likely to be picked of the big five browsers, that's fine by me.
It's also apparently fine for Google's Chrome as well, so if you are anywhere near Ballmer's office in the next few days then I'd keep an eye out for any flying chairs, just in case...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310524</id>
	<title>Re:Good enough</title>
	<author>drawfour</author>
	<datestamp>1267364400000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I have more than one bank account, you insensitive clod!</htmltext>
<tokenext>I have more than one bank account , you insensitive clod !</tokentext>
<sentencetext>I have more than one bank account, you insensitive clod!</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308150</id>
	<title>Re:Adding randomness...</title>
	<author>DamonHD</author>
	<datestamp>1267389780000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I think that the EU *might* take a view about that algorithm...  \%-P</p><p>Rgds</p><p>Damon</p></htmltext>
<tokenext>I think that the EU * might * take a view about that algorithm... \ % -PRgdsDamon</tokentext>
<sentencetext>I think that the EU *might* take a view about that algorithm...  \%-PRgdsDamon</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308108</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308922</id>
	<title>Re:What's the problem?</title>
	<author>jim\_v2000</author>
	<datestamp>1267352460000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>An infinite loop of what?</htmltext>
<tokenext>An infinite loop of what ?</tokentext>
<sentencetext>An infinite loop of what?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312008</id>
	<title>Re:What? Why not?</title>
	<author>darkshadow88</author>
	<datestamp>1267379040000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Out of curiosity - why would they need to seed the random number generator?</p><p>Wouldn't -not- seeding it be better?  That way MS don't have to include some seed number in their script and have everybody thinking they're manipulating the results by using seed numbers that they know would generate a certain ordering in various versions of IE.</p></div><p>If you don't seed a random number generator, you get the same sequence of values every time.  As it happens, the Javascript random function seeds based on the current system time, which is usually sufficient when you don't need your randomization to be cryptographically secure.  So you're right that the programmer should not need to specify a seed <i>in this case</i>, but the fact is that the RNG is seeded behind the scenes (by necessity).  Also no competent programmer would ever hard code a "seed number" in their script, as you suggest, as it would be just as bad as having no seed--you'd get the same sequence each time. Ordinarily, if you're manually seeding (and, once again, not doing cryptography), you use the system time just as Javascript automatically does.</p><p><div class="quote"><p>That said.. odd method of getting random results out of an array.. I'm sure it's more efficient...</p></div><p>Efficiency doesn't matter when you're doing it wrong.</p></div>
	</htmltext>
<tokenext>Out of curiosity - why would they need to seed the random number generator ? Would n't -not- seeding it be better ?
That way MS do n't have to include some seed number in their script and have everybody thinking they 're manipulating the results by using seed numbers that they know would generate a certain ordering in various versions of IE.If you do n't seed a random number generator , you get the same sequence of values every time .
As it happens , the Javascript random function seeds based on the current system time , which is usually sufficient when you do n't need your randomization to be cryptographically secure .
So you 're right that the programmer should not need to specify a seed in this case , but the fact is that the RNG is seeded behind the scenes ( by necessity ) .
Also no competent programmer would ever hard code a " seed number " in their script , as you suggest , as it would be just as bad as having no seed--you 'd get the same sequence each time .
Ordinarily , if you 're manually seeding ( and , once again , not doing cryptography ) , you use the system time just as Javascript automatically does.That said.. odd method of getting random results out of an array.. I 'm sure it 's more efficient...Efficiency does n't matter when you 're doing it wrong .</tokentext>
<sentencetext>Out of curiosity - why would they need to seed the random number generator?Wouldn't -not- seeding it be better?
That way MS don't have to include some seed number in their script and have everybody thinking they're manipulating the results by using seed numbers that they know would generate a certain ordering in various versions of IE.If you don't seed a random number generator, you get the same sequence of values every time.
As it happens, the Javascript random function seeds based on the current system time, which is usually sufficient when you don't need your randomization to be cryptographically secure.
So you're right that the programmer should not need to specify a seed in this case, but the fact is that the RNG is seeded behind the scenes (by necessity).
Also no competent programmer would ever hard code a "seed number" in their script, as you suggest, as it would be just as bad as having no seed--you'd get the same sequence each time.
Ordinarily, if you're manually seeding (and, once again, not doing cryptography), you use the system time just as Javascript automatically does.That said.. odd method of getting random results out of an array.. I'm sure it's more efficient...Efficiency doesn't matter when you're doing it wrong.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308438</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31320512</id>
	<title>Re:Bad Article, Bad Summary</title>
	<author>Simetrical</author>
	<datestamp>1267475580000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Both the article and the summary mixes up the concepts. Randomness and bias are related but different things. Think of a biased coin loaded in favor of heads - the heads may appear twice as often as the tails, but the distribution is still random. Here too, contrary to the summary's claim of "far from random", the results are random, just biased</p></div><p>Could people please realize that there are multiple valid definitions of <i>random</i> out there?  It's very clear from context that the relevant definition here is "uniformly distributed, unpredictable", not "obeying a probability distribution".</p></div>
	</htmltext>
<tokenext>Both the article and the summary mixes up the concepts .
Randomness and bias are related but different things .
Think of a biased coin loaded in favor of heads - the heads may appear twice as often as the tails , but the distribution is still random .
Here too , contrary to the summary 's claim of " far from random " , the results are random , just biasedCould people please realize that there are multiple valid definitions of random out there ?
It 's very clear from context that the relevant definition here is " uniformly distributed , unpredictable " , not " obeying a probability distribution " .</tokentext>
<sentencetext>Both the article and the summary mixes up the concepts.
Randomness and bias are related but different things.
Think of a biased coin loaded in favor of heads - the heads may appear twice as often as the tails, but the distribution is still random.
Here too, contrary to the summary's claim of "far from random", the results are random, just biasedCould people please realize that there are multiple valid definitions of random out there?
It's very clear from context that the relevant definition here is "uniformly distributed, unpredictable", not "obeying a probability distribution".
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308174</id>
	<title>Cheating at online poker</title>
	<author>EvanED</author>
	<datestamp>1267389960000</datestamp>
	<modclass>Offtopic</modclass>
	<modscore>0</modscore>
	<htmltext><p>There were some folks a while ago who wrote up <a href="http://www.cigital.com/papers/download/developer\_gambling.php" title="cigital.com" rel="nofollow">a security investigation</a> [cigital.com] they did of Party Poker's site.</p><p>One of the problems they had was a terrible, non-uniform shuffling algorithm. Completely different problem than what MS did, but interesting nonetheless. (I actually guessed that this is what MS did, but that's not the case.)</p></htmltext>
<tokenext>There were some folks a while ago who wrote up a security investigation [ cigital.com ] they did of Party Poker 's site.One of the problems they had was a terrible , non-uniform shuffling algorithm .
Completely different problem than what MS did , but interesting nonetheless .
( I actually guessed that this is what MS did , but that 's not the case .
)</tokentext>
<sentencetext>There were some folks a while ago who wrote up a security investigation [cigital.com] they did of Party Poker's site.One of the problems they had was a terrible, non-uniform shuffling algorithm.
Completely different problem than what MS did, but interesting nonetheless.
(I actually guessed that this is what MS did, but that's not the case.
)</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309270</id>
	<title>Re:Malice?</title>
	<author>Anonymous</author>
	<datestamp>1267355160000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>And with JavaScript disabled on http://www.browserchoice.eu/, the list is always as follow: "Windows&#174; Internet Explorer&#174; 8"; "Mozilla Firefox"; "Opera Web browser"; "Google Chrome"; "Safari for Windows from Apple"; "Maxthon Browser"; "K-Meleon"; "Flock"; "Avant Browser"; "Sleipnir"; "FlashPeak SlimBrowser"; "GreenBrowser"</p></htmltext>
<tokenext>And with JavaScript disabled on http : //www.browserchoice.eu/ , the list is always as follow : " Windows   Internet Explorer   8 " ; " Mozilla Firefox " ; " Opera Web browser " ; " Google Chrome " ; " Safari for Windows from Apple " ; " Maxthon Browser " ; " K-Meleon " ; " Flock " ; " Avant Browser " ; " Sleipnir " ; " FlashPeak SlimBrowser " ; " GreenBrowser "</tokentext>
<sentencetext>And with JavaScript disabled on http://www.browserchoice.eu/, the list is always as follow: "Windows® Internet Explorer® 8"; "Mozilla Firefox"; "Opera Web browser"; "Google Chrome"; "Safari for Windows from Apple"; "Maxthon Browser"; "K-Meleon"; "Flock"; "Avant Browser"; "Sleipnir"; "FlashPeak SlimBrowser"; "GreenBrowser"</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31321936</id>
	<title>Re:What? Why not?</title>
	<author>Anonymous</author>
	<datestamp>1267437600000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p><div class="quote"><p>If they had assigned a random value to each element and sorted by that value the result would have been truly random as the value associated with each element would have been consistent.</p></div><p> <a href="http://okmij.org/ftp/Haskell/perfect-shuffle.txt" title="okmij.org" rel="nofollow">As another poster above pointed out</a> [okmij.org], that only works if your "random values" are unique.</p><p>
&nbsp; -AC</p></div>
	</htmltext>
<tokenext>If they had assigned a random value to each element and sorted by that value the result would have been truly random as the value associated with each element would have been consistent .
As another poster above pointed out [ okmij.org ] , that only works if your " random values " are unique .
  -AC</tokentext>
<sentencetext>If they had assigned a random value to each element and sorted by that value the result would have been truly random as the value associated with each element would have been consistent.
As another poster above pointed out [okmij.org], that only works if your "random values" are unique.
  -AC
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308354</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308184</id>
	<title>Yeah right</title>
	<author>CSHARP123</author>
	<datestamp>1267389960000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext>Showing a browser selection has been imposed on them and these geeks think MS is going to select the best approach possible for randomness. No wonder none of you are sucess in business.</htmltext>
<tokenext>Showing a browser selection has been imposed on them and these geeks think MS is going to select the best approach possible for randomness .
No wonder none of you are sucess in business .</tokentext>
<sentencetext>Showing a browser selection has been imposed on them and these geeks think MS is going to select the best approach possible for randomness.
No wonder none of you are sucess in business.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194</id>
	<title>Good enough</title>
	<author>Anonymous</author>
	<datestamp>1267390020000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>1</modscore>
	<htmltext>Given that each user is only going to see this screen once per computer, I'd say simply using the seconds of the current minute as a random seed should be OK. Can't see why you would need more randomness that that in this particular situation. Just make sure that the distribution of browsers evens out for all seeds...</htmltext>
<tokenext>Given that each user is only going to see this screen once per computer , I 'd say simply using the seconds of the current minute as a random seed should be OK. Ca n't see why you would need more randomness that that in this particular situation .
Just make sure that the distribution of browsers evens out for all seeds.. .</tokentext>
<sentencetext>Given that each user is only going to see this screen once per computer, I'd say simply using the seconds of the current minute as a random seed should be OK. Can't see why you would need more randomness that that in this particular situation.
Just make sure that the distribution of browsers evens out for all seeds...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309910</id>
	<title>Re:Seems like the right solution to me</title>
	<author>Anonymous</author>
	<datestamp>1267360140000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Bad analogy.</p><p>And the premise is exactly the sort of micro-cost-management that is ailing most of the economic sectors in the US today.</p><p>Putting up a stronger-than-necessary fence takes more materials besides needing to more work.  And if in the future one no longer has the dog and now wants to get rid of the fence, there's more work to tear it down, incurring yet more costs.</p><p>Whereas the algorithm issue is only a matter of "work smarter, not harder".</p><p>The bad algorithm takes no less time to code than the good algorithm, and quite possibly longer if done by an inexperienced programmer who is flailing around instead of knowing when to ask a question of their colleagues.</p><p>And even if the programmer didn't know better at first, there's plenty of opportunities at lunch or around the water-cooler for smalltalk along the lines of, "Hey I had this problem come up today<nobr> <wbr></nobr>... how would you have solved it?"</p><p>The net result is it costs the programmer and company hardly any more time and money, but in the latter case, the programmer learns something.  They become a little bit better at what they do, and by extension, are worth more to the company.</p></htmltext>
<tokenext>Bad analogy.And the premise is exactly the sort of micro-cost-management that is ailing most of the economic sectors in the US today.Putting up a stronger-than-necessary fence takes more materials besides needing to more work .
And if in the future one no longer has the dog and now wants to get rid of the fence , there 's more work to tear it down , incurring yet more costs.Whereas the algorithm issue is only a matter of " work smarter , not harder " .The bad algorithm takes no less time to code than the good algorithm , and quite possibly longer if done by an inexperienced programmer who is flailing around instead of knowing when to ask a question of their colleagues.And even if the programmer did n't know better at first , there 's plenty of opportunities at lunch or around the water-cooler for smalltalk along the lines of , " Hey I had this problem come up today ... how would you have solved it ?
" The net result is it costs the programmer and company hardly any more time and money , but in the latter case , the programmer learns something .
They become a little bit better at what they do , and by extension , are worth more to the company .</tokentext>
<sentencetext>Bad analogy.And the premise is exactly the sort of micro-cost-management that is ailing most of the economic sectors in the US today.Putting up a stronger-than-necessary fence takes more materials besides needing to more work.
And if in the future one no longer has the dog and now wants to get rid of the fence, there's more work to tear it down, incurring yet more costs.Whereas the algorithm issue is only a matter of "work smarter, not harder".The bad algorithm takes no less time to code than the good algorithm, and quite possibly longer if done by an inexperienced programmer who is flailing around instead of knowing when to ask a question of their colleagues.And even if the programmer didn't know better at first, there's plenty of opportunities at lunch or around the water-cooler for smalltalk along the lines of, "Hey I had this problem come up today ... how would you have solved it?
"The net result is it costs the programmer and company hardly any more time and money, but in the latter case, the programmer learns something.
They become a little bit better at what they do, and by extension, are worth more to the company.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308628</id>
	<title>Re:He's just bitching</title>
	<author>Anonymous</author>
	<datestamp>1267350240000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><blockquote><div><p>2) General geek pedantry.</p></div></blockquote><p>I'm all for it. Just could we <i>also</i> go after silly coding in popular Linux distros? Not just to be evenhanded, but to improve the breed.</p><p>Given: MS is under a lot of righteous suspicion when it comes to playing fair, and putting this article on<nobr> <wbr></nobr>/. quashes what would have been heavy rumours that the browser selection was not random. That's good.</p><p>Let's just shine the light further. Maybe every other Sunday run a<nobr> <wbr></nobr>/. post like "What's your current face-palm about distro \_\_\_\_?"</p></div>
	</htmltext>
<tokenext>2 ) General geek pedantry.I 'm all for it .
Just could we also go after silly coding in popular Linux distros ?
Not just to be evenhanded , but to improve the breed.Given : MS is under a lot of righteous suspicion when it comes to playing fair , and putting this article on / .
quashes what would have been heavy rumours that the browser selection was not random .
That 's good.Let 's just shine the light further .
Maybe every other Sunday run a / .
post like " What 's your current face-palm about distro \ _ \ _ \ _ \ _ ?
"</tokentext>
<sentencetext>2) General geek pedantry.I'm all for it.
Just could we also go after silly coding in popular Linux distros?
Not just to be evenhanded, but to improve the breed.Given: MS is under a lot of righteous suspicion when it comes to playing fair, and putting this article on /.
quashes what would have been heavy rumours that the browser selection was not random.
That's good.Let's just shine the light further.
Maybe every other Sunday run a /.
post like "What's your current face-palm about distro \_\_\_\_?
"
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309040</id>
	<title>Re:He's just bitching</title>
	<author>Teun</author>
	<datestamp>1267353420000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>During one of their many GUI studies MS discovered that humans tend to prefer a certain place when asked to pick from a list.<p>
That knowledge has now been implemented and apparently in a line of five the last one was favourite number.</p></htmltext>
<tokenext>During one of their many GUI studies MS discovered that humans tend to prefer a certain place when asked to pick from a list .
That knowledge has now been implemented and apparently in a line of five the last one was favourite number .</tokentext>
<sentencetext>During one of their many GUI studies MS discovered that humans tend to prefer a certain place when asked to pick from a list.
That knowledge has now been implemented and apparently in a line of five the last one was favourite number.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308566</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308602</id>
	<title>Re:do not fix!</title>
	<author>Anonymous</author>
	<datestamp>1267349940000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>looking at the outcome IE comes off the worst with the current algorithm, please keep it that way. Thanks from all the Web Developers.</p></div><p>Exactly. And the Apple people here managing to interpret this as a plot against Safari are just amazing. MS would represent IE the worst, and Chrome and Firefox the best, just to get Safari. Yeah, right. Talk about delusions of grandeur.</p></div>
	</htmltext>
<tokenext>looking at the outcome IE comes off the worst with the current algorithm , please keep it that way .
Thanks from all the Web Developers.Exactly .
And the Apple people here managing to interpret this as a plot against Safari are just amazing .
MS would represent IE the worst , and Chrome and Firefox the best , just to get Safari .
Yeah , right .
Talk about delusions of grandeur .</tokentext>
<sentencetext>looking at the outcome IE comes off the worst with the current algorithm, please keep it that way.
Thanks from all the Web Developers.Exactly.
And the Apple people here managing to interpret this as a plot against Safari are just amazing.
MS would represent IE the worst, and Chrome and Firefox the best, just to get Safari.
Yeah, right.
Talk about delusions of grandeur.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308330</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311306</id>
	<title>Yes, that's the initial ordering</title>
	<author>imtheguru</author>
	<datestamp>1267371180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>One thing I couldn't help but notice though, is that Microsoft always pops IE in the number one spot for a moment *before* shuffling the browsers and showing them in randomized order... Very visible if you visit the ballot manually in IE and hit F5 a few times: <a href="http://www.browserchoice.eu/" title="browserchoice.eu">http://www.browserchoice.eu/</a> [browserchoice.eu]</p> </div><p>Yes, that's the initial ordering and very visible if one turns off Javascript (NoScript).</p><p>Internet Explorer 8<br>Mozilla Firefox<br>Opera Browser<br>Google Chrome<br>Safari<br>Maxthon<br>K-Meleon<br>Flock<br>Avant Browser<br>Sleipnir<br>FlashPeak SlimBrowser<br>GreenBrowser</p></div>
	</htmltext>
<tokenext>One thing I could n't help but notice though , is that Microsoft always pops IE in the number one spot for a moment * before * shuffling the browsers and showing them in randomized order... Very visible if you visit the ballot manually in IE and hit F5 a few times : http : //www.browserchoice.eu/ [ browserchoice.eu ] Yes , that 's the initial ordering and very visible if one turns off Javascript ( NoScript ) .Internet Explorer 8Mozilla FirefoxOpera BrowserGoogle ChromeSafariMaxthonK-MeleonFlockAvant BrowserSleipnirFlashPeak SlimBrowserGreenBrowser</tokentext>
<sentencetext>One thing I couldn't help but notice though, is that Microsoft always pops IE in the number one spot for a moment *before* shuffling the browsers and showing them in randomized order... Very visible if you visit the ballot manually in IE and hit F5 a few times: http://www.browserchoice.eu/ [browserchoice.eu] Yes, that's the initial ordering and very visible if one turns off Javascript (NoScript).Internet Explorer 8Mozilla FirefoxOpera BrowserGoogle ChromeSafariMaxthonK-MeleonFlockAvant BrowserSleipnirFlashPeak SlimBrowserGreenBrowser
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260</id>
	<title>Re:What's the problem?</title>
	<author>Anonymous</author>
	<datestamp>1267390440000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>1</modscore>
	<htmltext><p>You are missing the point.</p><p>As the author of the article pointed out, this technique can cause an infinite loop.</p></htmltext>
<tokenext>You are missing the point.As the author of the article pointed out , this technique can cause an infinite loop .</tokentext>
<sentencetext>You are missing the point.As the author of the article pointed out, this technique can cause an infinite loop.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31317846</id>
	<title>Re:What? Why not?</title>
	<author>Anonymous</author>
	<datestamp>1267465500000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p><div class="quote"><p>Or if you're really unlucky it could sit there sorting them forever.</p></div><p>No, qsort will always abort, no matter how bad you chose your random comparisons. It may need N^2 comparisons and produce an order that is unexpected and non-uniformly distributed, but otherwise it's a pretty safe bet.</p></div>
	</htmltext>
<tokenext>Or if you 're really unlucky it could sit there sorting them forever.No , qsort will always abort , no matter how bad you chose your random comparisons .
It may need N ^ 2 comparisons and produce an order that is unexpected and non-uniformly distributed , but otherwise it 's a pretty safe bet .</tokentext>
<sentencetext>Or if you're really unlucky it could sit there sorting them forever.No, qsort will always abort, no matter how bad you chose your random comparisons.
It may need N^2 comparisons and produce an order that is unexpected and non-uniformly distributed, but otherwise it's a pretty safe bet.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309008</id>
	<title>Re:Good enough</title>
	<author>Anonymous</author>
	<datestamp>1267353120000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Okay, but you're going to have to pay for the shipping.</p></htmltext>
<tokenext>Okay , but you 're going to have to pay for the shipping .</tokentext>
<sentencetext>Okay, but you're going to have to pay for the shipping.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309854</id>
	<title>To me it is exactly what MS is about</title>
	<author>SmallFurryCreature</author>
	<datestamp>1267359780000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>This ain't hard and MS has got (or should have with the salaries they are paying) plenty of smart people. And yet they continue to screw things up time and after time. And this is not a compatibility issue were MS has to ensure its software runs on a billion different configurations with users disabling critical stuff because they think they know better. This is just a random selection, a text-book case and they get it wrong...
</p><p>And those who claim about MS not wanting to spend countless resources on this. Sorry, but any decent dev would have knocked this out in a day. Give a week of testing and we are still talking peanuts in development cost for MS. That they still didn't get it right. Well that says a lot about MS. It always seems to be a race towards the bottom for them. With every product, everything they do, you got to wonder, what did they screw up this time.
</p><p>IE5 mobile browser without CSS. X-box that is underpowered. New music store for the zune so that existing stores and music don't work. New x-box with a failure rate that you couldn't get if you dropped half the boxes during transport.
</p><p>And if they can't even get the right random algorithm, how can we be sure they get anything else in their code right? Would you buy a car if the car radio fell out whenever you turned it on? No, because it says something about quality. If the things you can see, don't work, then what about the things you can't see?</p></htmltext>
<tokenext>This ai n't hard and MS has got ( or should have with the salaries they are paying ) plenty of smart people .
And yet they continue to screw things up time and after time .
And this is not a compatibility issue were MS has to ensure its software runs on a billion different configurations with users disabling critical stuff because they think they know better .
This is just a random selection , a text-book case and they get it wrong.. . And those who claim about MS not wanting to spend countless resources on this .
Sorry , but any decent dev would have knocked this out in a day .
Give a week of testing and we are still talking peanuts in development cost for MS. That they still did n't get it right .
Well that says a lot about MS. It always seems to be a race towards the bottom for them .
With every product , everything they do , you got to wonder , what did they screw up this time .
IE5 mobile browser without CSS .
X-box that is underpowered .
New music store for the zune so that existing stores and music do n't work .
New x-box with a failure rate that you could n't get if you dropped half the boxes during transport .
And if they ca n't even get the right random algorithm , how can we be sure they get anything else in their code right ?
Would you buy a car if the car radio fell out whenever you turned it on ?
No , because it says something about quality .
If the things you can see , do n't work , then what about the things you ca n't see ?</tokentext>
<sentencetext>This ain't hard and MS has got (or should have with the salaries they are paying) plenty of smart people.
And yet they continue to screw things up time and after time.
And this is not a compatibility issue were MS has to ensure its software runs on a billion different configurations with users disabling critical stuff because they think they know better.
This is just a random selection, a text-book case and they get it wrong...
And those who claim about MS not wanting to spend countless resources on this.
Sorry, but any decent dev would have knocked this out in a day.
Give a week of testing and we are still talking peanuts in development cost for MS. That they still didn't get it right.
Well that says a lot about MS. It always seems to be a race towards the bottom for them.
With every product, everything they do, you got to wonder, what did they screw up this time.
IE5 mobile browser without CSS.
X-box that is underpowered.
New music store for the zune so that existing stores and music don't work.
New x-box with a failure rate that you couldn't get if you dropped half the boxes during transport.
And if they can't even get the right random algorithm, how can we be sure they get anything else in their code right?
Would you buy a car if the car radio fell out whenever you turned it on?
No, because it says something about quality.
If the things you can see, don't work, then what about the things you can't see?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308566</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308960</id>
	<title>Re:You can't artificially put down competition</title>
	<author>Anonymous</author>
	<datestamp>1267352640000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>"That is not what the legal injunction against them says they can do"
<br> <br>
How do you know?</htmltext>
<tokenext>" That is not what the legal injunction against them says they can do " How do you know ?</tokentext>
<sentencetext>"That is not what the legal injunction against them says they can do"
 
How do you know?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308814</id>
	<title>Re:Good enough</title>
	<author>MSesow</author>
	<datestamp>1267351620000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I am all for this, so long as you are fair about it.  To be fair, we need to do this for every account on the planet, though.

Also, I have to agree that using the current second seems random enough, given that each person's arrival at the choice should be random for the value of the second.  Since there are 120 permutations, you could store it in an array on a server, and then the client, when ready to look at the choice, takes the current second, plus sixty if the minute is odd, and does a look-up of that location in the array.  The cost of doing this for everyone would be pretty light - one mod, one addition and one request across a network; server has only a single look-up per request to do.  I think this works under the assumptions that people will randomly arrive at the choice over a two minute period (I can't see why they wouldn't).  I also wondered if you need to randomize the array, but if the people's requests are timed at random I don't think you do.  This should even pass the test the author uses if there is two-, four-, etc. minute run time; if there is a large run time, like an hour; probably not for short, odd minute run times, and not if the assumption about random arrival times is wrong.</htmltext>
<tokenext>I am all for this , so long as you are fair about it .
To be fair , we need to do this for every account on the planet , though .
Also , I have to agree that using the current second seems random enough , given that each person 's arrival at the choice should be random for the value of the second .
Since there are 120 permutations , you could store it in an array on a server , and then the client , when ready to look at the choice , takes the current second , plus sixty if the minute is odd , and does a look-up of that location in the array .
The cost of doing this for everyone would be pretty light - one mod , one addition and one request across a network ; server has only a single look-up per request to do .
I think this works under the assumptions that people will randomly arrive at the choice over a two minute period ( I ca n't see why they would n't ) .
I also wondered if you need to randomize the array , but if the people 's requests are timed at random I do n't think you do .
This should even pass the test the author uses if there is two- , four- , etc .
minute run time ; if there is a large run time , like an hour ; probably not for short , odd minute run times , and not if the assumption about random arrival times is wrong .</tokentext>
<sentencetext>I am all for this, so long as you are fair about it.
To be fair, we need to do this for every account on the planet, though.
Also, I have to agree that using the current second seems random enough, given that each person's arrival at the choice should be random for the value of the second.
Since there are 120 permutations, you could store it in an array on a server, and then the client, when ready to look at the choice, takes the current second, plus sixty if the minute is odd, and does a look-up of that location in the array.
The cost of doing this for everyone would be pretty light - one mod, one addition and one request across a network; server has only a single look-up per request to do.
I think this works under the assumptions that people will randomly arrive at the choice over a two minute period (I can't see why they wouldn't).
I also wondered if you need to randomize the array, but if the people's requests are timed at random I don't think you do.
This should even pass the test the author uses if there is two-, four-, etc.
minute run time; if there is a large run time, like an hour; probably not for short, odd minute run times, and not if the assumption about random arrival times is wrong.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312344</id>
	<title>And what about apple? google</title>
	<author>Anonymous</author>
	<datestamp>1267383720000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Maybe Im wrong,, but do Apple offer a choice of browser, with a random selection on a new os? Im sure that they don't.</p><p>It seems half the things MS are criticized for, actually the competition do also.<br>Choice of Browser on default install<br>Backwards compatibility (try getting the latest mac os on a mac mini...)<br>Sharing drives (NTFS shared portable drive on a MAC / With a PC.</p><p>Pot calling the kettle black..http://developers.slashdot.org/comments.pl?sid=1566166&amp;op=reply&amp;threshold=1&amp;commentsort=0&amp;mode=thread&amp;pid=</p></htmltext>
<tokenext>Maybe Im wrong, , but do Apple offer a choice of browser , with a random selection on a new os ?
Im sure that they do n't.It seems half the things MS are criticized for , actually the competition do also.Choice of Browser on default installBackwards compatibility ( try getting the latest mac os on a mac mini... ) Sharing drives ( NTFS shared portable drive on a MAC / With a PC.Pot calling the kettle black..http : //developers.slashdot.org/comments.pl ? sid = 1566166&amp;op = reply&amp;threshold = 1&amp;commentsort = 0&amp;mode = thread&amp;pid =</tokentext>
<sentencetext>Maybe Im wrong,, but do Apple offer a choice of browser, with a random selection on a new os?
Im sure that they don't.It seems half the things MS are criticized for, actually the competition do also.Choice of Browser on default installBackwards compatibility (try getting the latest mac os on a mac mini...)Sharing drives (NTFS shared portable drive on a MAC / With a PC.Pot calling the kettle black..http://developers.slashdot.org/comments.pl?sid=1566166&amp;op=reply&amp;threshold=1&amp;commentsort=0&amp;mode=thread&amp;pid=</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309174</id>
	<title>Re:Yeah right</title>
	<author>Anonymous</author>
	<datestamp>1267354500000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>"I think they're incredulous that a multibillion dollar company that has been developing software since the dawn of the information era managed to screw up a rather basic computer science problem."</p><p>Companies don't write software, people do.</p></htmltext>
<tokenext>" I think they 're incredulous that a multibillion dollar company that has been developing software since the dawn of the information era managed to screw up a rather basic computer science problem .
" Companies do n't write software , people do .</tokentext>
<sentencetext>"I think they're incredulous that a multibillion dollar company that has been developing software since the dawn of the information era managed to screw up a rather basic computer science problem.
"Companies don't write software, people do.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308490</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916</id>
	<title>Bad Article, Bad Summary</title>
	<author>alphabetsoup</author>
	<datestamp>1267352400000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>4</modscore>
	<htmltext><p>Both the article and the summary mixes up the concepts. Randomness and bias are related but different things. Think of a biased coin loaded in favor of heads - the heads may appear twice as often as the tails, but the distribution is still random. Here too, contrary to the summary's claim of "far from random", the results are random, just biased, and biased against IE, if I may add, which is an important fact the summary omitted.</p></htmltext>
<tokenext>Both the article and the summary mixes up the concepts .
Randomness and bias are related but different things .
Think of a biased coin loaded in favor of heads - the heads may appear twice as often as the tails , but the distribution is still random .
Here too , contrary to the summary 's claim of " far from random " , the results are random , just biased , and biased against IE , if I may add , which is an important fact the summary omitted .</tokentext>
<sentencetext>Both the article and the summary mixes up the concepts.
Randomness and bias are related but different things.
Think of a biased coin loaded in favor of heads - the heads may appear twice as often as the tails, but the distribution is still random.
Here too, contrary to the summary's claim of "far from random", the results are random, just biased, and biased against IE, if I may add, which is an important fact the summary omitted.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312200</id>
	<title>Oblig</title>
	<author>LtGordon</author>
	<datestamp>1267381560000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><tt>int placeInternetExplorer()<br>{<br>&nbsp; &nbsp; return 1;&nbsp;<nobr> <wbr></nobr>//chosen by fair dice roll<br>}</tt></htmltext>
<tokenext>int placeInternetExplorer ( ) {     return 1 ;   //chosen by fair dice roll }</tokentext>
<sentencetext>int placeInternetExplorer(){    return 1;  //chosen by fair dice roll}</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308108</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312898</id>
	<title>MS's other venture into JS:</title>
	<author>dushkin</author>
	<datestamp>1267476060000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>SourceGuard: whenever you right-click, a message pops up. Enterprise level source-code protection for commercial websites. Compatible with their IRM(TM) technology (Education discounts available)</p><p>tons of R&amp;D, you guys!</p></htmltext>
<tokenext>SourceGuard : whenever you right-click , a message pops up .
Enterprise level source-code protection for commercial websites .
Compatible with their IRM ( TM ) technology ( Education discounts available ) tons of R&amp;D , you guys !</tokentext>
<sentencetext>SourceGuard: whenever you right-click, a message pops up.
Enterprise level source-code protection for commercial websites.
Compatible with their IRM(TM) technology (Education discounts available)tons of R&amp;D, you guys!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308858</id>
	<title>Re:You can't artificially put down competition</title>
	<author>Aladrin</author>
	<datestamp>1267351920000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p>I don't know how you managed to get 'insightful' mods for this.</p><p>For a completely random algorithm:  Out of 5 slots, EACH item has a 20\% chance to be put in any single slot.  For any 2 slots, that's 40\%.</p><p>Let's look at your statement again:  "Safari will almost always (almost 50\% of the time) be put in the bottom two elements. In fact depending on the algorithm used it's 40-50\% chance of being put in one exact slot (either choice four or five)."</p><p>Wow.  So you're saying that it's working perfectly.</p></htmltext>
<tokenext>I do n't know how you managed to get 'insightful ' mods for this.For a completely random algorithm : Out of 5 slots , EACH item has a 20 \ % chance to be put in any single slot .
For any 2 slots , that 's 40 \ % .Let 's look at your statement again : " Safari will almost always ( almost 50 \ % of the time ) be put in the bottom two elements .
In fact depending on the algorithm used it 's 40-50 \ % chance of being put in one exact slot ( either choice four or five ) . " Wow .
So you 're saying that it 's working perfectly .</tokentext>
<sentencetext>I don't know how you managed to get 'insightful' mods for this.For a completely random algorithm:  Out of 5 slots, EACH item has a 20\% chance to be put in any single slot.
For any 2 slots, that's 40\%.Let's look at your statement again:  "Safari will almost always (almost 50\% of the time) be put in the bottom two elements.
In fact depending on the algorithm used it's 40-50\% chance of being put in one exact slot (either choice four or five)."Wow.
So you're saying that it's working perfectly.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31313602</id>
	<title>Re:Bad Article, Bad Summary</title>
	<author>Solandri</author>
	<datestamp>1267441200000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><blockquote><div><p>the results are random, just biased, and biased against IE, if I may add, which is an important fact the summary omitted.</p></div></blockquote><p>
Actually, studies have shown that when people are presented with a list of items, the first and last are most likely to be remembered.  So I would hazard a guess that if all choices are equal, the first spot would be most picked, and the last spot would be second-most picked.</p></div>
	</htmltext>
<tokenext>the results are random , just biased , and biased against IE , if I may add , which is an important fact the summary omitted .
Actually , studies have shown that when people are presented with a list of items , the first and last are most likely to be remembered .
So I would hazard a guess that if all choices are equal , the first spot would be most picked , and the last spot would be second-most picked .</tokentext>
<sentencetext>the results are random, just biased, and biased against IE, if I may add, which is an important fact the summary omitted.
Actually, studies have shown that when people are presented with a list of items, the first and last are most likely to be remembered.
So I would hazard a guess that if all choices are equal, the first spot would be most picked, and the last spot would be second-most picked.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309550</id>
	<title>So what?</title>
	<author>Anonymous</author>
	<datestamp>1267357680000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Is it just me, or does everyone find this extremely irrelevant...seeing as I've already made my browser choice. This only affects "first-time computer users," really....which should be less than 1\% of the European population by now. Is Europe so short on teenagers to set up their (gran)parents' new computers that we need to worry about the noobs?</p></htmltext>
<tokenext>Is it just me , or does everyone find this extremely irrelevant...seeing as I 've already made my browser choice .
This only affects " first-time computer users , " really....which should be less than 1 \ % of the European population by now .
Is Europe so short on teenagers to set up their ( gran ) parents ' new computers that we need to worry about the noobs ?</tokentext>
<sentencetext>Is it just me, or does everyone find this extremely irrelevant...seeing as I've already made my browser choice.
This only affects "first-time computer users," really....which should be less than 1\% of the European population by now.
Is Europe so short on teenagers to set up their (gran)parents' new computers that we need to worry about the noobs?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308560</id>
	<title>On the up side: it's a webpage.  On the down side:</title>
	<author>Animaether</author>
	<datestamp>1267349640000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>On the down side.. it's a webpage.</p><p>To cover the first bit.. it's a webpage - if a potential problem has been found, it can be fixed.   I.e. this random selection thing?  They can implement a better one.</p><p>Though I do wish they would start by fixing the page's use of javascript to sort the results -after- their display.<br>Turn off Javascript.. the order appears to always be: IE, FF, Opera, Chrome, Safari.</p><p>In fact - if you have a slow machine like I do.. leave javascript on, and just refresh the page.. look closely, and you'll find that -that- is the order of display *before* it gets shuffled by the javascript.</p><p>On the down side... if they were to detect the user not using javascript, and would switch server side-shuffled results instead, people would wonder how fair -those- are.. and since they can't peek inside the server, there's no way to tell.</p><p>Which leads to another down side... it's on a server out of our control - it's entirely possible, albeit unlikely, that one out of N hits favors browser X by design.</p><p>note: I don't really care much.. I don't think this should have been pushed through at all.  But if they -have- to do it, I'd rather they do it well, just because it would have prevented the flurry of articles on this and other issues (such as the rollout not being instant, but stretched out through April(?) - probably to keep media attention / panicked users calling their tech support to a minimum), even in times to come.</p></htmltext>
<tokenext>On the down side.. it 's a webpage.To cover the first bit.. it 's a webpage - if a potential problem has been found , it can be fixed .
I.e. this random selection thing ?
They can implement a better one.Though I do wish they would start by fixing the page 's use of javascript to sort the results -after- their display.Turn off Javascript.. the order appears to always be : IE , FF , Opera , Chrome , Safari.In fact - if you have a slow machine like I do.. leave javascript on , and just refresh the page.. look closely , and you 'll find that -that- is the order of display * before * it gets shuffled by the javascript.On the down side... if they were to detect the user not using javascript , and would switch server side-shuffled results instead , people would wonder how fair -those- are.. and since they ca n't peek inside the server , there 's no way to tell.Which leads to another down side... it 's on a server out of our control - it 's entirely possible , albeit unlikely , that one out of N hits favors browser X by design.note : I do n't really care much.. I do n't think this should have been pushed through at all .
But if they -have- to do it , I 'd rather they do it well , just because it would have prevented the flurry of articles on this and other issues ( such as the rollout not being instant , but stretched out through April ( ?
) - probably to keep media attention / panicked users calling their tech support to a minimum ) , even in times to come .</tokentext>
<sentencetext>On the down side.. it's a webpage.To cover the first bit.. it's a webpage - if a potential problem has been found, it can be fixed.
I.e. this random selection thing?
They can implement a better one.Though I do wish they would start by fixing the page's use of javascript to sort the results -after- their display.Turn off Javascript.. the order appears to always be: IE, FF, Opera, Chrome, Safari.In fact - if you have a slow machine like I do.. leave javascript on, and just refresh the page.. look closely, and you'll find that -that- is the order of display *before* it gets shuffled by the javascript.On the down side... if they were to detect the user not using javascript, and would switch server side-shuffled results instead, people would wonder how fair -those- are.. and since they can't peek inside the server, there's no way to tell.Which leads to another down side... it's on a server out of our control - it's entirely possible, albeit unlikely, that one out of N hits favors browser X by design.note: I don't really care much.. I don't think this should have been pushed through at all.
But if they -have- to do it, I'd rather they do it well, just because it would have prevented the flurry of articles on this and other issues (such as the rollout not being instant, but stretched out through April(?
) - probably to keep media attention / panicked users calling their tech support to a minimum), even in times to come.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309504</id>
	<title>Re:The top hit on Google...</title>
	<author>VoltageX</author>
	<datestamp>1267357260000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I wonder if it's worth it in this case to let the top site know that their information isn't great.</htmltext>
<tokenext>I wonder if it 's worth it in this case to let the top site know that their information is n't great .</tokentext>
<sentencetext>I wonder if it's worth it in this case to let the top site know that their information isn't great.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308258</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31376940</id>
	<title>Good Enough</title>
	<author>JobyOne</author>
	<datestamp>1267791900000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>You cannot just throw Math.random() at a problem and stir the pot and expect good results</p></div><p>You can expect <i>good enough</i> results though. This particular application isn't exactly rocket science or cryptography, slightly non-random is good enough for me.</p><p>Granted, it's a silly mistake to make. I would imagine they didn't put their best and brightest on this one though. Interns, anyone?</p></div>
	</htmltext>
<tokenext>You can not just throw Math.random ( ) at a problem and stir the pot and expect good resultsYou can expect good enough results though .
This particular application is n't exactly rocket science or cryptography , slightly non-random is good enough for me.Granted , it 's a silly mistake to make .
I would imagine they did n't put their best and brightest on this one though .
Interns , anyone ?</tokentext>
<sentencetext>You cannot just throw Math.random() at a problem and stir the pot and expect good resultsYou can expect good enough results though.
This particular application isn't exactly rocket science or cryptography, slightly non-random is good enough for me.Granted, it's a silly mistake to make.
I would imagine they didn't put their best and brightest on this one though.
Interns, anyone?
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308252</id>
	<title>I have been fired for less.</title>
	<author>bezenek</author>
	<datestamp>1267390380000</datestamp>
	<modclass>Troll</modclass>
	<modscore>0</modscore>
	<htmltext>People like the higher-ups at Microsoft (or most companies, I believe) do not care or want to hear about these issues.<br> <br>
If it does not involve a bonus (for the executive) or making them look good (the executive), engineers have to shut up and smile.<br> <br>
-Todd
<br> <br>
p.s. Of course, this is my opinion--not what I would do, and it goes against good ethics.  But, who in Silicon Valley cares about ethics?<nobr> <wbr></nobr>:-|</htmltext>
<tokenext>People like the higher-ups at Microsoft ( or most companies , I believe ) do not care or want to hear about these issues .
If it does not involve a bonus ( for the executive ) or making them look good ( the executive ) , engineers have to shut up and smile .
-Todd p.s .
Of course , this is my opinion--not what I would do , and it goes against good ethics .
But , who in Silicon Valley cares about ethics ?
: - |</tokentext>
<sentencetext>People like the higher-ups at Microsoft (or most companies, I believe) do not care or want to hear about these issues.
If it does not involve a bonus (for the executive) or making them look good (the executive), engineers have to shut up and smile.
-Todd
 
p.s.
Of course, this is my opinion--not what I would do, and it goes against good ethics.
But, who in Silicon Valley cares about ethics?
:-|</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308358</id>
	<title>Interesting that random compare is not random...</title>
	<author>SuperKendall</author>
	<datestamp>1267348020000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><i>What they essentially did was use something like qsort() to sort the list, but in their comparator function, instead of returning which of the two strings comes first, they return some random crap instead.</i></p><p>That algorithm seems really wrong, for the reason you mentioned - that potentially you get an infinite loop.</p><p>However after further thought, I don't think that result is possible, and I find it more interesting to think about why this does not work as intended.  After all, if you are randomly comparing random numbers why is the end result not still random?</p><p>First, why it is not going to ever result in an infinite loop - because pretty much any sorting algorithm is not going to engage in an infinite number of comparisons.  Pretty much any technique I can think of is always going to be left with an assumption about a growing number of elements and where they fit into place, so even though the comparison result is totally random the sort will always complete (the results will just always be wrong, if you can call any ordering based on a broken comparator wrong).</p><p>I think that the non-randomness of the result is related, in that that assumption is made as to where a value falls and then the remaining elements fall into line after that result...  which might explain how one element like Safari was so out of whack when the others were also out of balance but to a lesser degree, as the initial list is probably always fed in the same order and the algorithm works on one particular element first to start the sort (which might also explain the browser variation, having slightly different sorting algorithms).</p></htmltext>
<tokenext>What they essentially did was use something like qsort ( ) to sort the list , but in their comparator function , instead of returning which of the two strings comes first , they return some random crap instead.That algorithm seems really wrong , for the reason you mentioned - that potentially you get an infinite loop.However after further thought , I do n't think that result is possible , and I find it more interesting to think about why this does not work as intended .
After all , if you are randomly comparing random numbers why is the end result not still random ? First , why it is not going to ever result in an infinite loop - because pretty much any sorting algorithm is not going to engage in an infinite number of comparisons .
Pretty much any technique I can think of is always going to be left with an assumption about a growing number of elements and where they fit into place , so even though the comparison result is totally random the sort will always complete ( the results will just always be wrong , if you can call any ordering based on a broken comparator wrong ) .I think that the non-randomness of the result is related , in that that assumption is made as to where a value falls and then the remaining elements fall into line after that result... which might explain how one element like Safari was so out of whack when the others were also out of balance but to a lesser degree , as the initial list is probably always fed in the same order and the algorithm works on one particular element first to start the sort ( which might also explain the browser variation , having slightly different sorting algorithms ) .</tokentext>
<sentencetext>What they essentially did was use something like qsort() to sort the list, but in their comparator function, instead of returning which of the two strings comes first, they return some random crap instead.That algorithm seems really wrong, for the reason you mentioned - that potentially you get an infinite loop.However after further thought, I don't think that result is possible, and I find it more interesting to think about why this does not work as intended.
After all, if you are randomly comparing random numbers why is the end result not still random?First, why it is not going to ever result in an infinite loop - because pretty much any sorting algorithm is not going to engage in an infinite number of comparisons.
Pretty much any technique I can think of is always going to be left with an assumption about a growing number of elements and where they fit into place, so even though the comparison result is totally random the sort will always complete (the results will just always be wrong, if you can call any ordering based on a broken comparator wrong).I think that the non-randomness of the result is related, in that that assumption is made as to where a value falls and then the remaining elements fall into line after that result...  which might explain how one element like Safari was so out of whack when the others were also out of balance but to a lesser degree, as the initial list is probably always fed in the same order and the algorithm works on one particular element first to start the sort (which might also explain the browser variation, having slightly different sorting algorithms).</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309514</id>
	<title>Well, MS may as well change it anyway.</title>
	<author>I'm Don Giovanni</author>
	<datestamp>1267357320000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Simply assign each browser a random number, then sort them by each corresponding number.  The current solution is over-engineered.  It's till random, but lacks an even distribution of probability.  They should make the very simple change to "fix" that, if for no other reason than just to be beyond reproach.</p></htmltext>
<tokenext>Simply assign each browser a random number , then sort them by each corresponding number .
The current solution is over-engineered .
It 's till random , but lacks an even distribution of probability .
They should make the very simple change to " fix " that , if for no other reason than just to be beyond reproach .</tokentext>
<sentencetext>Simply assign each browser a random number, then sort them by each corresponding number.
The current solution is over-engineered.
It's till random, but lacks an even distribution of probability.
They should make the very simple change to "fix" that, if for no other reason than just to be beyond reproach.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308958</id>
	<title>Random, or fair?</title>
	<author>straponego</author>
	<datestamp>1267352640000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Why does it have to be random?  If they're not taking into account market share or other factors, evenly dividing the possible permutations of browser order should be more "fair" than a "random" order.  So you could cycle the permutations in order based on serial number.  The only way this wouldn't work would be if you do multiple installs/selections per OS.  In that case, make every install go to the next permutation in the list.  You'd have to phone home to track this, but Windows phones home constantly anyway.<br><br>Of course, they'd screw up the implementation of this approach too.</htmltext>
<tokenext>Why does it have to be random ?
If they 're not taking into account market share or other factors , evenly dividing the possible permutations of browser order should be more " fair " than a " random " order .
So you could cycle the permutations in order based on serial number .
The only way this would n't work would be if you do multiple installs/selections per OS .
In that case , make every install go to the next permutation in the list .
You 'd have to phone home to track this , but Windows phones home constantly anyway.Of course , they 'd screw up the implementation of this approach too .</tokentext>
<sentencetext>Why does it have to be random?
If they're not taking into account market share or other factors, evenly dividing the possible permutations of browser order should be more "fair" than a "random" order.
So you could cycle the permutations in order based on serial number.
The only way this wouldn't work would be if you do multiple installs/selections per OS.
In that case, make every install go to the next permutation in the list.
You'd have to phone home to track this, but Windows phones home constantly anyway.Of course, they'd screw up the implementation of this approach too.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310180</id>
	<title>Randomness vs Uniformity</title>
	<author>UBfusion</author>
	<datestamp>1267361640000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>3</modscore>
	<htmltext><p>Those of you that are computer scientists should take a moment to consider that randomness is not the same as uniformity (as an insightful reader commented in TFA and triggered me to respond there).</p><p>Just because the only way to produce an algorithm for uniformity is via a random number generator, this does not mean that there aren't other non-statistical approaches. Here's one:</p><p>"The computer upon Windows installation contacts a MS  site that uses a global installation counter - each new installation would increase the counter from N to (N+1) and then present a browser order according to (N modulo 5!). This is a totally deterministic process, with no randomness at all (statistical tests for randomness would fail because of the autocorrelation), which however would lead to perfect uniformity:  at any given time instant, each browser would have been placed in each of the 5 positions with a percentage of precisely 20\%, as required. The same kind of uniformity could be produced by using the installation serial number (licence) of Windows:  since the licence key space is well-defined, the order of browsers could be also well (uniformly) defined from the serial number itself.  There might be a problem with volume licences, but VLKs are a small percentage of total installations.</p><p>However, on a  single offline computer, with no knowledge of history (what ballot was presented globally) or without a licence key, programmers have to resort to mathematics in order to produce<br>uniform (not necessarily random) distributions.  This is an application of the law of large numbers: if the ballot is uniform on the same computer, it will be uniform globally." (using quotes because I'm quoting myself).</p><p>In conclusion, we should not care if the distribution is not "random" but whether it is uniform (i.e. all possible permutations of 5 browsers appear with equal frequencies).</p></htmltext>
<tokenext>Those of you that are computer scientists should take a moment to consider that randomness is not the same as uniformity ( as an insightful reader commented in TFA and triggered me to respond there ) .Just because the only way to produce an algorithm for uniformity is via a random number generator , this does not mean that there are n't other non-statistical approaches .
Here 's one : " The computer upon Windows installation contacts a MS site that uses a global installation counter - each new installation would increase the counter from N to ( N + 1 ) and then present a browser order according to ( N modulo 5 ! ) .
This is a totally deterministic process , with no randomness at all ( statistical tests for randomness would fail because of the autocorrelation ) , which however would lead to perfect uniformity : at any given time instant , each browser would have been placed in each of the 5 positions with a percentage of precisely 20 \ % , as required .
The same kind of uniformity could be produced by using the installation serial number ( licence ) of Windows : since the licence key space is well-defined , the order of browsers could be also well ( uniformly ) defined from the serial number itself .
There might be a problem with volume licences , but VLKs are a small percentage of total installations.However , on a single offline computer , with no knowledge of history ( what ballot was presented globally ) or without a licence key , programmers have to resort to mathematics in order to produceuniform ( not necessarily random ) distributions .
This is an application of the law of large numbers : if the ballot is uniform on the same computer , it will be uniform globally .
" ( using quotes because I 'm quoting myself ) .In conclusion , we should not care if the distribution is not " random " but whether it is uniform ( i.e .
all possible permutations of 5 browsers appear with equal frequencies ) .</tokentext>
<sentencetext>Those of you that are computer scientists should take a moment to consider that randomness is not the same as uniformity (as an insightful reader commented in TFA and triggered me to respond there).Just because the only way to produce an algorithm for uniformity is via a random number generator, this does not mean that there aren't other non-statistical approaches.
Here's one:"The computer upon Windows installation contacts a MS  site that uses a global installation counter - each new installation would increase the counter from N to (N+1) and then present a browser order according to (N modulo 5!).
This is a totally deterministic process, with no randomness at all (statistical tests for randomness would fail because of the autocorrelation), which however would lead to perfect uniformity:  at any given time instant, each browser would have been placed in each of the 5 positions with a percentage of precisely 20\%, as required.
The same kind of uniformity could be produced by using the installation serial number (licence) of Windows:  since the licence key space is well-defined, the order of browsers could be also well (uniformly) defined from the serial number itself.
There might be a problem with volume licences, but VLKs are a small percentage of total installations.However, on a  single offline computer, with no knowledge of history (what ballot was presented globally) or without a licence key, programmers have to resort to mathematics in order to produceuniform (not necessarily random) distributions.
This is an application of the law of large numbers: if the ballot is uniform on the same computer, it will be uniform globally.
" (using quotes because I'm quoting myself).In conclusion, we should not care if the distribution is not "random" but whether it is uniform (i.e.
all possible permutations of 5 browsers appear with equal frequencies).</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312932</id>
	<title>Re:You can't artificially put down competition</title>
	<author>Otis\_INF</author>
	<datestamp>1267476360000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>So, considering it's not entirely random, which browser is likely to land in the spot where most users will look first (in the middle) ?</p><p>As 5 choices are offered, in which order they are presented is not really that interesting. What's interesting is how users will pick their choice: if the vast majority will pick the 3rd one (middle) because they don't have time / want to read all the choices' options, it's more interesting which browser that will be.</p><p>Unfortunately, unless we know what kind of user patterns are likely, we can't really judge the numbers. For example if it was the most less likely that a user would pick the most right one from a set of 5 characters on screen, MS would put its biggest competitor there. And they don't see FF as their competitor, but google.</p></htmltext>
<tokenext>So , considering it 's not entirely random , which browser is likely to land in the spot where most users will look first ( in the middle ) ? As 5 choices are offered , in which order they are presented is not really that interesting .
What 's interesting is how users will pick their choice : if the vast majority will pick the 3rd one ( middle ) because they do n't have time / want to read all the choices ' options , it 's more interesting which browser that will be.Unfortunately , unless we know what kind of user patterns are likely , we ca n't really judge the numbers .
For example if it was the most less likely that a user would pick the most right one from a set of 5 characters on screen , MS would put its biggest competitor there .
And they do n't see FF as their competitor , but google .</tokentext>
<sentencetext>So, considering it's not entirely random, which browser is likely to land in the spot where most users will look first (in the middle) ?As 5 choices are offered, in which order they are presented is not really that interesting.
What's interesting is how users will pick their choice: if the vast majority will pick the 3rd one (middle) because they don't have time / want to read all the choices' options, it's more interesting which browser that will be.Unfortunately, unless we know what kind of user patterns are likely, we can't really judge the numbers.
For example if it was the most less likely that a user would pick the most right one from a set of 5 characters on screen, MS would put its biggest competitor there.
And they don't see FF as their competitor, but google.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312174</id>
	<title>Quality Standards</title>
	<author>LtGordon</author>
	<datestamp>1267381200000</datestamp>
	<modclass>Funny</modclass>
	<modscore>2</modscore>
	<htmltext><p><div class="quote"><p> I bet if we gave this same problem to 100 freshmen computer science majors, at least 1 of them would make the same mistake.</p></div><p>Well, that seems an awfully high standard for Microsoft to hold itself to.</p><p> <i>Microsoft: Ranked 1st percentile with Freshmen CS Majors</i> </p></div>
	</htmltext>
<tokenext>I bet if we gave this same problem to 100 freshmen computer science majors , at least 1 of them would make the same mistake.Well , that seems an awfully high standard for Microsoft to hold itself to .
Microsoft : Ranked 1st percentile with Freshmen CS Majors</tokentext>
<sentencetext> I bet if we gave this same problem to 100 freshmen computer science majors, at least 1 of them would make the same mistake.Well, that seems an awfully high standard for Microsoft to hold itself to.
Microsoft: Ranked 1st percentile with Freshmen CS Majors 
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311288</id>
	<title>Re:Bad Article, Bad Summary</title>
	<author>skelterjohn</author>
	<datestamp>1267371000000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>1</modscore>
	<htmltext><p>Statisticians tend to draw a distinction between "random" and "stochastic". Random means from a uniform distribution - every possibility is as likely as every other. Stochastic just means drawn from a distribution.</p></htmltext>
<tokenext>Statisticians tend to draw a distinction between " random " and " stochastic " .
Random means from a uniform distribution - every possibility is as likely as every other .
Stochastic just means drawn from a distribution .</tokentext>
<sentencetext>Statisticians tend to draw a distinction between "random" and "stochastic".
Random means from a uniform distribution - every possibility is as likely as every other.
Stochastic just means drawn from a distribution.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308296</id>
	<title>Um, yeah</title>
	<author>oldhack</author>
	<datestamp>1267347600000</datestamp>
	<modclass>Troll</modclass>
	<modscore>0</modscore>
	<htmltext>Microsoft was so grateful, because Microsoft cares.</htmltext>
<tokenext>Microsoft was so grateful , because Microsoft cares .</tokentext>
<sentencetext>Microsoft was so grateful, because Microsoft cares.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312512</id>
	<title>Browser selection</title>
	<author>Rammed Earth</author>
	<datestamp>1267385820000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Why Microsoft is required to put a browser selection list at all is beyond me- do we require Toyota to offer GM, Ford, or Chrysler wheels when selling new cars? I see it as the same issue.</htmltext>
<tokenext>Why Microsoft is required to put a browser selection list at all is beyond me- do we require Toyota to offer GM , Ford , or Chrysler wheels when selling new cars ?
I see it as the same issue .</tokentext>
<sentencetext>Why Microsoft is required to put a browser selection list at all is beyond me- do we require Toyota to offer GM, Ford, or Chrysler wheels when selling new cars?
I see it as the same issue.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311046</id>
	<title>The root of the problem...</title>
	<author>zill</author>
	<datestamp>1267369020000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>3</modscore>
	<htmltext>This error can be easily traced back to the <a href="http://www.google.ca/search?q=how+to+randomly+sort+an+array+in+javascript" title="google.ca">first google result</a> [google.ca] (Actually it should be the first <a href="http://www.bing.ca/search?q=how+to+randomly+sort+an+array+in+javascript" title="www.bing.ca">bing result</a> [www.bing.ca] in this case).<br> <br>

To be perfectly honest, this is exactly what I would have done too. <br>
It takes 5 minutes to dig out my copy of Knuth. <br>
It takes 1 minute to pirate Knuth and search through the pdf.<br>
But it only takes 10 seconds to copy and paste this one-liner from the first google hit.<br> <br>

That probably explains my lack of success in the job market for the past decade...</htmltext>
<tokenext>This error can be easily traced back to the first google result [ google.ca ] ( Actually it should be the first bing result [ www.bing.ca ] in this case ) .
To be perfectly honest , this is exactly what I would have done too .
It takes 5 minutes to dig out my copy of Knuth .
It takes 1 minute to pirate Knuth and search through the pdf .
But it only takes 10 seconds to copy and paste this one-liner from the first google hit .
That probably explains my lack of success in the job market for the past decade.. .</tokentext>
<sentencetext>This error can be easily traced back to the first google result [google.ca] (Actually it should be the first bing result [www.bing.ca] in this case).
To be perfectly honest, this is exactly what I would have done too.
It takes 5 minutes to dig out my copy of Knuth.
It takes 1 minute to pirate Knuth and search through the pdf.
But it only takes 10 seconds to copy and paste this one-liner from the first google hit.
That probably explains my lack of success in the job market for the past decade...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309610</id>
	<title>You think that's bad?</title>
	<author>Anonymous</author>
	<datestamp>1267358100000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Try visiting the page with javascript disabled. You'd expect to see a message along the lines of "this page requires javascript to display correctly", right? But of course, that's not what you get in this case...</p></htmltext>
<tokenext>Try visiting the page with javascript disabled .
You 'd expect to see a message along the lines of " this page requires javascript to display correctly " , right ?
But of course , that 's not what you get in this case.. .</tokentext>
<sentencetext>Try visiting the page with javascript disabled.
You'd expect to see a message along the lines of "this page requires javascript to display correctly", right?
But of course, that's not what you get in this case...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308622</id>
	<title>Re:Good enough</title>
	<author>mattack2</author>
	<datestamp>1267350180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><blockquote><div><p>Given that each user is only going to see this screen once per computer,</p></div></blockquote><p>Tangential question (not nitpicking) - isn't it really once per user?  Those of us that actually use multiple users may have to answer it multiple times. (I'm on OS X, but I'm still curious.)</p></div>
	</htmltext>
<tokenext>Given that each user is only going to see this screen once per computer,Tangential question ( not nitpicking ) - is n't it really once per user ?
Those of us that actually use multiple users may have to answer it multiple times .
( I 'm on OS X , but I 'm still curious .
)</tokentext>
<sentencetext>Given that each user is only going to see this screen once per computer,Tangential question (not nitpicking) - isn't it really once per user?
Those of us that actually use multiple users may have to answer it multiple times.
(I'm on OS X, but I'm still curious.
)
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311872</id>
	<title>Weird</title>
	<author>Evelas</author>
	<datestamp>1267377480000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>So people keep saying press F5 to see the unsorted order, and I went to try it (after allowing javascript), and when I refreshed I got:

Google Chrome image - Google Chrome
Firefox image - Safari
Firefox image - Firefox
IE - IE
Opera - Opera

and after about a 2-3 second pause, staring at that, the first Firefox image changed to the correct Safari one</htmltext>
<tokenext>So people keep saying press F5 to see the unsorted order , and I went to try it ( after allowing javascript ) , and when I refreshed I got : Google Chrome image - Google Chrome Firefox image - Safari Firefox image - Firefox IE - IE Opera - Opera and after about a 2-3 second pause , staring at that , the first Firefox image changed to the correct Safari one</tokentext>
<sentencetext>So people keep saying press F5 to see the unsorted order, and I went to try it (after allowing javascript), and when I refreshed I got:

Google Chrome image - Google Chrome
Firefox image - Safari
Firefox image - Firefox
IE - IE
Opera - Opera

and after about a 2-3 second pause, staring at that, the first Firefox image changed to the correct Safari one</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308690</id>
	<title>Re:Seems like the right solution to me</title>
	<author>Anonymous</author>
	<datestamp>1267350660000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>If they're instructed by a governing body to implement random selection, it might be in their best business interest to do it well even if they make no money either way.</p></htmltext>
<tokenext>If they 're instructed by a governing body to implement random selection , it might be in their best business interest to do it well even if they make no money either way .</tokentext>
<sentencetext>If they're instructed by a governing body to implement random selection, it might be in their best business interest to do it well even if they make no money either way.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309084</id>
	<title>highschool students can get this right!</title>
	<author>AlgorithMan</author>
	<datestamp>1267353840000</datestamp>
	<modclass>Troll</modclass>
	<modscore>0</modscore>
	<htmltext>I developed one of <i>the good</i> implementations in school... god, Microsoft is such a pile of tinkerers! Is there anything they can get right, that a highschool student could not? No, I don't mean marketing, bribing politicians and blocking competition! They exist for 35 years and - heck - they still have problems with leap years!<br> <br>

sometimes I get the impression that they are trying the "a thousand monkeys on a thousand typewriters" approach...</htmltext>
<tokenext>I developed one of the good implementations in school... god , Microsoft is such a pile of tinkerers !
Is there anything they can get right , that a highschool student could not ?
No , I do n't mean marketing , bribing politicians and blocking competition !
They exist for 35 years and - heck - they still have problems with leap years !
sometimes I get the impression that they are trying the " a thousand monkeys on a thousand typewriters " approach.. .</tokentext>
<sentencetext>I developed one of the good implementations in school... god, Microsoft is such a pile of tinkerers!
Is there anything they can get right, that a highschool student could not?
No, I don't mean marketing, bribing politicians and blocking competition!
They exist for 35 years and - heck - they still have problems with leap years!
sometimes I get the impression that they are trying the "a thousand monkeys on a thousand typewriters" approach...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308658</id>
	<title>I am amazed...</title>
	<author>ei4anb</author>
	<datestamp>1267350480000</datestamp>
	<modclass>Troll</modclass>
	<modscore>-1</modscore>
	<htmltext>by the number of people who say the MS solution was "good enough". MS has been making "good enough" software for many years and that is what has given us an unending series of vulnerabilities.</htmltext>
<tokenext>by the number of people who say the MS solution was " good enough " .
MS has been making " good enough " software for many years and that is what has given us an unending series of vulnerabilities .</tokentext>
<sentencetext>by the number of people who say the MS solution was "good enough".
MS has been making "good enough" software for many years and that is what has given us an unending series of vulnerabilities.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308566</id>
	<title>Re:He's just bitching</title>
	<author>DavidShor</author>
	<datestamp>1267349700000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext>Did you read the god-damn article? The results are insanely non-uniform. With a sample-size of 10,000 , IE ends up in 5th place 50\% of the time. I mean, it's not evil, it doesn't benefit them. But it makes them look insanely dumb.</htmltext>
<tokenext>Did you read the god-damn article ?
The results are insanely non-uniform .
With a sample-size of 10,000 , IE ends up in 5th place 50 \ % of the time .
I mean , it 's not evil , it does n't benefit them .
But it makes them look insanely dumb .</tokentext>
<sentencetext>Did you read the god-damn article?
The results are insanely non-uniform.
With a sample-size of 10,000 , IE ends up in 5th place 50\% of the time.
I mean, it's not evil, it doesn't benefit them.
But it makes them look insanely dumb.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311212</id>
	<title>Re:You can't artificially put down competition</title>
	<author>Anonymous</author>
	<datestamp>1267370340000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Bull shit-It is because of Safari that this happened. When you cannot compete-litigate.Safari deserves nothing in terms of choice. I personally use FireFox  more than IE, but I will never use Safari not Chrome due to their practices. So there!!!! Personally, I feel that if MS has to open up browsers, then so should Linux Distros and Mac. Where is the heartburn about Mac or Ubuntu with all of the stuff they load onto their systems and then prevent one from loading outside stuff?? Fairness of competition? Sure if skewed against MSFT and in favor of anyone else. Hateful, spiteful little people who need to get lives. In fact, I think that is what I will do-go on a run with a friend before dark</p></htmltext>
<tokenext>Bull shit-It is because of Safari that this happened .
When you can not compete-litigate.Safari deserves nothing in terms of choice .
I personally use FireFox more than IE , but I will never use Safari not Chrome due to their practices .
So there ! ! ! !
Personally , I feel that if MS has to open up browsers , then so should Linux Distros and Mac .
Where is the heartburn about Mac or Ubuntu with all of the stuff they load onto their systems and then prevent one from loading outside stuff ? ?
Fairness of competition ?
Sure if skewed against MSFT and in favor of anyone else .
Hateful , spiteful little people who need to get lives .
In fact , I think that is what I will do-go on a run with a friend before dark</tokentext>
<sentencetext>Bull shit-It is because of Safari that this happened.
When you cannot compete-litigate.Safari deserves nothing in terms of choice.
I personally use FireFox  more than IE, but I will never use Safari not Chrome due to their practices.
So there!!!!
Personally, I feel that if MS has to open up browsers, then so should Linux Distros and Mac.
Where is the heartburn about Mac or Ubuntu with all of the stuff they load onto their systems and then prevent one from loading outside stuff??
Fairness of competition?
Sure if skewed against MSFT and in favor of anyone else.
Hateful, spiteful little people who need to get lives.
In fact, I think that is what I will do-go on a run with a friend before dark</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308450</id>
	<title>Jesus Fucking Christ</title>
	<author>Anonymous</author>
	<datestamp>1267348740000</datestamp>
	<modclass>Flamebait</modclass>
	<modscore>-1</modscore>
	<htmltext><p>Who gives a flying fuck?  This isn't dealing with nuclear missile codes or quantum cryptography; it's a fucking browser selection screen.  If a naive random selection implementation is the best criticism you can come up with then they must have done a good job.  This is why people don't take you freetards seriously.</p></htmltext>
<tokenext>Who gives a flying fuck ?
This is n't dealing with nuclear missile codes or quantum cryptography ; it 's a fucking browser selection screen .
If a naive random selection implementation is the best criticism you can come up with then they must have done a good job .
This is why people do n't take you freetards seriously .</tokentext>
<sentencetext>Who gives a flying fuck?
This isn't dealing with nuclear missile codes or quantum cryptography; it's a fucking browser selection screen.
If a naive random selection implementation is the best criticism you can come up with then they must have done a good job.
This is why people don't take you freetards seriously.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309726</id>
	<title>This is javascript code?</title>
	<author>jmbtsang</author>
	<datestamp>1267359000000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>One particular web developer is less intelligent than your average CS major.  News at 11!</p></htmltext>
<tokenext>One particular web developer is less intelligent than your average CS major .
News at 11 !</tokentext>
<sentencetext>One particular web developer is less intelligent than your average CS major.
News at 11!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308258</id>
	<title>The top hit on Google...</title>
	<author>Anonymous</author>
	<datestamp>1267390440000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>5</modscore>
	<htmltext><p>A Google search on:</p><blockquote><div><p>javascript array sort</p></div></blockquote><p>gives exactly the bogus answer that Microsoft used <a href="http://www.javascriptkit.com/javatutors/arraysort.shtml" title="javascriptkit.com" rel="nofollow">in the top hit.</a> [javascriptkit.com]<br>Unfortunately for Microsoft, a bing search gives the same top hit.</p></div>
	</htmltext>
<tokenext>A Google search on : javascript array sortgives exactly the bogus answer that Microsoft used in the top hit .
[ javascriptkit.com ] Unfortunately for Microsoft , a bing search gives the same top hit .</tokentext>
<sentencetext>A Google search on:javascript array sortgives exactly the bogus answer that Microsoft used in the top hit.
[javascriptkit.com]Unfortunately for Microsoft, a bing search gives the same top hit.
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308404</id>
	<title>Re:He's just bitching</title>
	<author>Anonymous</author>
	<datestamp>1267348440000</datestamp>
	<modclass>Troll</modclass>
	<modscore>-1</modscore>
	<htmltext><p><div class="quote"><p>2) General geek pedantry. Many geeks seem to love to be exceedingly pedantic about every little thing. If a definition isn't 100\% perfect, at least in their mind, they jump all over it. I think it is a "Look at how smart I am!" kind of move. They want to show that they noticed that it wasn't 100\% perfect and thus show how clever they are.</p></div><p>It's because their pathetic little egos are based upon how "smart" they are. Of course there's <i>always</i> someone smarter than you. And even if there isn't someone smarter than you , at least in your field, you're probably a moron in some other. Aside from a couple of groundbreaking physics papers, Einstein was failure - he was a shitty father, husbands and a complete moron when it came to finance.</p><p>Also, the moderators here reward pedantry. Wanna a quick karma hit? Post a pedantic comment and +5 Insightful.</p></div>
	</htmltext>
<tokenext>2 ) General geek pedantry .
Many geeks seem to love to be exceedingly pedantic about every little thing .
If a definition is n't 100 \ % perfect , at least in their mind , they jump all over it .
I think it is a " Look at how smart I am !
" kind of move .
They want to show that they noticed that it was n't 100 \ % perfect and thus show how clever they are.It 's because their pathetic little egos are based upon how " smart " they are .
Of course there 's always someone smarter than you .
And even if there is n't someone smarter than you , at least in your field , you 're probably a moron in some other .
Aside from a couple of groundbreaking physics papers , Einstein was failure - he was a shitty father , husbands and a complete moron when it came to finance.Also , the moderators here reward pedantry .
Wan na a quick karma hit ?
Post a pedantic comment and + 5 Insightful .</tokentext>
<sentencetext>2) General geek pedantry.
Many geeks seem to love to be exceedingly pedantic about every little thing.
If a definition isn't 100\% perfect, at least in their mind, they jump all over it.
I think it is a "Look at how smart I am!
" kind of move.
They want to show that they noticed that it wasn't 100\% perfect and thus show how clever they are.It's because their pathetic little egos are based upon how "smart" they are.
Of course there's always someone smarter than you.
And even if there isn't someone smarter than you , at least in your field, you're probably a moron in some other.
Aside from a couple of groundbreaking physics papers, Einstein was failure - he was a shitty father, husbands and a complete moron when it came to finance.Also, the moderators here reward pedantry.
Wanna a quick karma hit?
Post a pedantic comment and +5 Insightful.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308732</id>
	<title>Re:He's just bitching</title>
	<author>Anonymous</author>
	<datestamp>1267350960000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><i>2) General geek pedantry. Many geeks seem to love to be exceedingly pedantic about every little thing. If a definition isn't 100\% perfect, at least in their mind, they jump all over it. I think it is a "Look at how smart I am!" kind of move. They want to show that they noticed that it wasn't 100\% perfect and thus show how clever they are.</i> <br>
<br>
First of all, let me say that I fall in on Microsoft's side on this one - So they didn't use a shuffle that would
pass muster for a licensed video poker system - So what?  Totally irrelevant, they satisfied the obligation to
randomize the list, end of story.<br>
<br>
However, as to your comment about geek pedantry - I often get accused of doing exactly what you say, and can
say comfortably that I <b>don't</b> do it to "look smart".  I do it because if you bother defining a term,
then immediately contradict yourself, we have a real problem.  To a lesser degree, if you use a normally
well-defined term incorrectly, then again, we have a problem.<br>
<br>
I think geeks pick nits about such matters more for clarity than for self gratification.  And I defend that
stance by the fact that I demand similar precision <b>from myself</b>... If, in a conversation, I start down
a path that leads to a contradiction, I will apologize, see if my intended point still holds despite the
misstart, and proceed from there.<br>
<br>
The fact that this habit tends to annoy others, I attribute to the fact that, <i>in</i>
demanding such rigor from ourselves, we get fairly good at not making such errors all that often - Thus we seem
to pick nits about others, but not ourselves.</htmltext>
<tokenext>2 ) General geek pedantry .
Many geeks seem to love to be exceedingly pedantic about every little thing .
If a definition is n't 100 \ % perfect , at least in their mind , they jump all over it .
I think it is a " Look at how smart I am !
" kind of move .
They want to show that they noticed that it was n't 100 \ % perfect and thus show how clever they are .
First of all , let me say that I fall in on Microsoft 's side on this one - So they did n't use a shuffle that would pass muster for a licensed video poker system - So what ?
Totally irrelevant , they satisfied the obligation to randomize the list , end of story .
However , as to your comment about geek pedantry - I often get accused of doing exactly what you say , and can say comfortably that I do n't do it to " look smart " .
I do it because if you bother defining a term , then immediately contradict yourself , we have a real problem .
To a lesser degree , if you use a normally well-defined term incorrectly , then again , we have a problem .
I think geeks pick nits about such matters more for clarity than for self gratification .
And I defend that stance by the fact that I demand similar precision from myself... If , in a conversation , I start down a path that leads to a contradiction , I will apologize , see if my intended point still holds despite the misstart , and proceed from there .
The fact that this habit tends to annoy others , I attribute to the fact that , in demanding such rigor from ourselves , we get fairly good at not making such errors all that often - Thus we seem to pick nits about others , but not ourselves .</tokentext>
<sentencetext>2) General geek pedantry.
Many geeks seem to love to be exceedingly pedantic about every little thing.
If a definition isn't 100\% perfect, at least in their mind, they jump all over it.
I think it is a "Look at how smart I am!
" kind of move.
They want to show that they noticed that it wasn't 100\% perfect and thus show how clever they are.
First of all, let me say that I fall in on Microsoft's side on this one - So they didn't use a shuffle that would
pass muster for a licensed video poker system - So what?
Totally irrelevant, they satisfied the obligation to
randomize the list, end of story.
However, as to your comment about geek pedantry - I often get accused of doing exactly what you say, and can
say comfortably that I don't do it to "look smart".
I do it because if you bother defining a term,
then immediately contradict yourself, we have a real problem.
To a lesser degree, if you use a normally
well-defined term incorrectly, then again, we have a problem.
I think geeks pick nits about such matters more for clarity than for self gratification.
And I defend that
stance by the fact that I demand similar precision from myself... If, in a conversation, I start down
a path that leads to a contradiction, I will apologize, see if my intended point still holds despite the
misstart, and proceed from there.
The fact that this habit tends to annoy others, I attribute to the fact that, in
demanding such rigor from ourselves, we get fairly good at not making such errors all that often - Thus we seem
to pick nits about others, but not ourselves.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308086</id>
	<title>BROWZAAAAZ!!</title>
	<author>Anonymous</author>
	<datestamp>1267389360000</datestamp>
	<modclass>Offtopic</modclass>
	<modscore>-1</modscore>
	<htmltext><p>EU RULEZ !!!!!</p></htmltext>
<tokenext>EU RULEZ ! ! ! !
!</tokentext>
<sentencetext>EU RULEZ !!!!
!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428</id>
	<title>You can't artificially put down competition</title>
	<author>SuperKendall</author>
	<datestamp>1267348560000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>5</modscore>
	<htmltext><p>Here's the problem - consider the results again.  Safari will almost always (almost 50\% of the time) be put in the bottom two elements.  In fact depending on the algorithm used it's 40-50\% chance of being put in one exact slot (either choice four or five).</p><p>When the whole point of the list is promote browser competition, it makes no sense to accept a list which is that skewed for ANY browser result from the list.  You need to have it properly shuffled so that no one browser has a statistical advantage or disadvantage - if you are going to claim it doesn't matter then why not let Microsoft set an arbitrary fixed order for the list?</p><p>That is not what the legal injunction against them says they can do, therefore the randomness of the results DO matter.  Just as in most things in life, correctness of results is actually important.</p></htmltext>
<tokenext>Here 's the problem - consider the results again .
Safari will almost always ( almost 50 \ % of the time ) be put in the bottom two elements .
In fact depending on the algorithm used it 's 40-50 \ % chance of being put in one exact slot ( either choice four or five ) .When the whole point of the list is promote browser competition , it makes no sense to accept a list which is that skewed for ANY browser result from the list .
You need to have it properly shuffled so that no one browser has a statistical advantage or disadvantage - if you are going to claim it does n't matter then why not let Microsoft set an arbitrary fixed order for the list ? That is not what the legal injunction against them says they can do , therefore the randomness of the results DO matter .
Just as in most things in life , correctness of results is actually important .</tokentext>
<sentencetext>Here's the problem - consider the results again.
Safari will almost always (almost 50\% of the time) be put in the bottom two elements.
In fact depending on the algorithm used it's 40-50\% chance of being put in one exact slot (either choice four or five).When the whole point of the list is promote browser competition, it makes no sense to accept a list which is that skewed for ANY browser result from the list.
You need to have it properly shuffled so that no one browser has a statistical advantage or disadvantage - if you are going to claim it doesn't matter then why not let Microsoft set an arbitrary fixed order for the list?That is not what the legal injunction against them says they can do, therefore the randomness of the results DO matter.
Just as in most things in life, correctness of results is actually important.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176</id>
	<title>What? Why not?</title>
	<author>bogaboga</author>
	<datestamp>1267389960000</datestamp>
	<modclass>None</modclass>
	<modscore>-1</modscore>
	<htmltext><p><div class="quote"><p>You cannot just throw Math.random() at a problem and stir the pot and expect good results."</p></div><p>Let me ask:</p><p>Why not? Is the author suggesting that random functions in use today are somewhat deficient? What is his solution?</p></div>
	</htmltext>
<tokenext>You can not just throw Math.random ( ) at a problem and stir the pot and expect good results .
" Let me ask : Why not ?
Is the author suggesting that random functions in use today are somewhat deficient ?
What is his solution ?</tokentext>
<sentencetext>You cannot just throw Math.random() at a problem and stir the pot and expect good results.
"Let me ask:Why not?
Is the author suggesting that random functions in use today are somewhat deficient?
What is his solution?
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308762</id>
	<title>Re:Milliseconds</title>
	<author>ejtttje</author>
	<datestamp>1267351200000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>The task requires more than picking a single random number, the task is to generate a random ordering of elements.  Doing this correctly is not simply a matter of choosing a seed for the PRNG, if that is what you are referring to.  Where Microsoft has screwed up is applying a randomized comparison function to a sort operation.  This does not yield anything close to a uniform distribution depending on the sorting algorithm being used.  (Thus the test results showing 50\% probability of IE in slot 5!)<br>
<br>
Instead, FTFA one of the good solutions is to iterate backwards through the list, swapping the current element with a randomly chosen element earlier in the list.</htmltext>
<tokenext>The task requires more than picking a single random number , the task is to generate a random ordering of elements .
Doing this correctly is not simply a matter of choosing a seed for the PRNG , if that is what you are referring to .
Where Microsoft has screwed up is applying a randomized comparison function to a sort operation .
This does not yield anything close to a uniform distribution depending on the sorting algorithm being used .
( Thus the test results showing 50 \ % probability of IE in slot 5 !
) Instead , FTFA one of the good solutions is to iterate backwards through the list , swapping the current element with a randomly chosen element earlier in the list .</tokentext>
<sentencetext>The task requires more than picking a single random number, the task is to generate a random ordering of elements.
Doing this correctly is not simply a matter of choosing a seed for the PRNG, if that is what you are referring to.
Where Microsoft has screwed up is applying a randomized comparison function to a sort operation.
This does not yield anything close to a uniform distribution depending on the sorting algorithm being used.
(Thus the test results showing 50\% probability of IE in slot 5!
)

Instead, FTFA one of the good solutions is to iterate backwards through the list, swapping the current element with a randomly chosen element earlier in the list.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308438</id>
	<title>Re:What? Why not?</title>
	<author>Animaether</author>
	<datestamp>1267348620000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><blockquote><div><p>I thought it was originally going to be that they forgot to seed the random number generator or something.</p></div></blockquote><p>Out of curiosity - why would they need to seed the random number generator?</p><p>Wouldn't -not- seeding it be better?  That way MS don't have to include some seed number in their script and have everybody thinking they're manipulating the results by using seed numbers that they know would generate a certain ordering in various versions of IE.</p><p>I actually found this bit...</p><blockquote><div><p>Repeating the same test on Firefox is also non-random, but in a different way:</p></div></blockquote><p><nobr> <wbr></nobr>...rather interesting.  How are two browsers using the same script resulting in different ways of being non-random; presuming that, in itself, was not by chance?</p><p>Although I can't verify this, as the test page provided... <a href="http://www.robweir.com/blog/shuffle.html" title="robweir.com">http://www.robweir.com/blog/shuffle.html</a> [robweir.com]<nobr> <wbr></nobr>...won't actually run in IE8 here<nobr> <wbr></nobr>:D</p><p>That said.. odd method of getting random results out of an array.. I'm sure it's more efficient but KISS would dictate you grab one random result out of the array, delete the one you chose, pick a new one, delete, etc. until the array is down to 1 and you stick that last one at the end.  Can't really go wrong with that unless the random number generator itself is hosed, and even non-mathematicians can understand how that one works. It's not like it's a high-performance application.</p></div>
	</htmltext>
<tokenext>I thought it was originally going to be that they forgot to seed the random number generator or something.Out of curiosity - why would they need to seed the random number generator ? Would n't -not- seeding it be better ?
That way MS do n't have to include some seed number in their script and have everybody thinking they 're manipulating the results by using seed numbers that they know would generate a certain ordering in various versions of IE.I actually found this bit...Repeating the same test on Firefox is also non-random , but in a different way : ...rather interesting .
How are two browsers using the same script resulting in different ways of being non-random ; presuming that , in itself , was not by chance ? Although I ca n't verify this , as the test page provided... http : //www.robweir.com/blog/shuffle.html [ robweir.com ] ...wo n't actually run in IE8 here : DThat said.. odd method of getting random results out of an array.. I 'm sure it 's more efficient but KISS would dictate you grab one random result out of the array , delete the one you chose , pick a new one , delete , etc .
until the array is down to 1 and you stick that last one at the end .
Ca n't really go wrong with that unless the random number generator itself is hosed , and even non-mathematicians can understand how that one works .
It 's not like it 's a high-performance application .</tokentext>
<sentencetext>I thought it was originally going to be that they forgot to seed the random number generator or something.Out of curiosity - why would they need to seed the random number generator?Wouldn't -not- seeding it be better?
That way MS don't have to include some seed number in their script and have everybody thinking they're manipulating the results by using seed numbers that they know would generate a certain ordering in various versions of IE.I actually found this bit...Repeating the same test on Firefox is also non-random, but in a different way: ...rather interesting.
How are two browsers using the same script resulting in different ways of being non-random; presuming that, in itself, was not by chance?Although I can't verify this, as the test page provided... http://www.robweir.com/blog/shuffle.html [robweir.com] ...won't actually run in IE8 here :DThat said.. odd method of getting random results out of an array.. I'm sure it's more efficient but KISS would dictate you grab one random result out of the array, delete the one you chose, pick a new one, delete, etc.
until the array is down to 1 and you stick that last one at the end.
Can't really go wrong with that unless the random number generator itself is hosed, and even non-mathematicians can understand how that one works.
It's not like it's a high-performance application.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310982</id>
	<title>I Hate Garbage, MS Included</title>
	<author>Anonymous</author>
	<datestamp>1267368600000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Can't we go ONE WEEK without a Microsoft story hitting the front page? Seriously, how many shills do they have working here?</p></htmltext>
<tokenext>Ca n't we go ONE WEEK without a Microsoft story hitting the front page ?
Seriously , how many shills do they have working here ?</tokentext>
<sentencetext>Can't we go ONE WEEK without a Microsoft story hitting the front page?
Seriously, how many shills do they have working here?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310580</id>
	<title>Corporate Randomness</title>
	<author>NicknamesAreStupid</author>
	<datestamp>1267364880000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Microsoft was one a start-up, where asking for forgiveness was the rule and the best results trumped the right way.  Now it is a Fortune 100 multinational corporation, a'la Exxon.  The rule is "ask for permission," and performance reviews are managed by an HR department the size of Twitter.  I suspect that someone from Legal now approves the "randomness routine."  Lest you think I jest, I bet they have a patent pending on this infamous algorithm.</htmltext>
<tokenext>Microsoft was one a start-up , where asking for forgiveness was the rule and the best results trumped the right way .
Now it is a Fortune 100 multinational corporation , a'la Exxon .
The rule is " ask for permission , " and performance reviews are managed by an HR department the size of Twitter .
I suspect that someone from Legal now approves the " randomness routine .
" Lest you think I jest , I bet they have a patent pending on this infamous algorithm .</tokentext>
<sentencetext>Microsoft was one a start-up, where asking for forgiveness was the rule and the best results trumped the right way.
Now it is a Fortune 100 multinational corporation, a'la Exxon.
The rule is "ask for permission," and performance reviews are managed by an HR department the size of Twitter.
I suspect that someone from Legal now approves the "randomness routine.
"  Lest you think I jest, I bet they have a patent pending on this infamous algorithm.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308662</id>
	<title>The only true random function</title>
	<author>Jorl17</author>
	<datestamp>1267350540000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>There's only ONE trully random-compliant function: <a href="http://xkcd.com/221/" title="xkcd.com" rel="nofollow">http://xkcd.com/221/</a> [xkcd.com] <br> <br>
I use it everyday. Funny, though, 4 turned out to be my good-luck number since I started using it...</htmltext>
<tokenext>There 's only ONE trully random-compliant function : http : //xkcd.com/221/ [ xkcd.com ] I use it everyday .
Funny , though , 4 turned out to be my good-luck number since I started using it.. .</tokentext>
<sentencetext>There's only ONE trully random-compliant function: http://xkcd.com/221/ [xkcd.com]  
I use it everyday.
Funny, though, 4 turned out to be my good-luck number since I started using it...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309042</id>
	<title>ummm, just how many times</title>
	<author>Stan92057</author>
	<datestamp>1267353420000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext>Ummm, just how many times does this man think people will register there new copy of Windows or are people going to be given a browser choice every day/Everytime they bootup?? Sometimes people just take things that don't matter way too far.</htmltext>
<tokenext>Ummm , just how many times does this man think people will register there new copy of Windows or are people going to be given a browser choice every day/Everytime they bootup ? ?
Sometimes people just take things that do n't matter way too far .</tokentext>
<sentencetext>Ummm, just how many times does this man think people will register there new copy of Windows or are people going to be given a browser choice every day/Everytime they bootup??
Sometimes people just take things that don't matter way too far.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31332708</id>
	<title>Wikipedia page for shuffling</title>
	<author>Anonymous</author>
	<datestamp>1267556880000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I just put a better Python implementation in the wikipedia page for fisher-yates shuffle, adapted from the Python standard library. Can I get a code review?</p><p>http://en.wikipedia.org/wiki/Fisher&ndash;Yates\_shuffle</p></htmltext>
<tokenext>I just put a better Python implementation in the wikipedia page for fisher-yates shuffle , adapted from the Python standard library .
Can I get a code review ? http : //en.wikipedia.org/wiki/Fisher    Yates \ _shuffle</tokentext>
<sentencetext>I just put a better Python implementation in the wikipedia page for fisher-yates shuffle, adapted from the Python standard library.
Can I get a code review?http://en.wikipedia.org/wiki/Fisher–Yates\_shuffle</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308330</id>
	<title>do not fix!</title>
	<author>Anonymous</author>
	<datestamp>1267347840000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>looking at the outcome IE comes off the worst with the current algorithm, please keep it that way. Thanks from all the Web Developers.</htmltext>
<tokenext>looking at the outcome IE comes off the worst with the current algorithm , please keep it that way .
Thanks from all the Web Developers .</tokentext>
<sentencetext>looking at the outcome IE comes off the worst with the current algorithm, please keep it that way.
Thanks from all the Web Developers.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308604</id>
	<title>Might be a mistake but not where Rob is pointing</title>
	<author>ma\_luen</author>
	<datestamp>1267349940000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Well unless there is something else going on Rob needs to go back to school too. A simple quicksort algorithm with the comparator replaced with a random choice becomes a recursive random partition of the array. A simple inductive argument shows that this will not produce the unbalanced results he found. So the problem is elsewhere (most likely in the RNG seeding or a bias in the pivot selection, if he is running it in a tight loop and the seed is something like, current second, then the same seed may appear several times).</p></htmltext>
<tokenext>Well unless there is something else going on Rob needs to go back to school too .
A simple quicksort algorithm with the comparator replaced with a random choice becomes a recursive random partition of the array .
A simple inductive argument shows that this will not produce the unbalanced results he found .
So the problem is elsewhere ( most likely in the RNG seeding or a bias in the pivot selection , if he is running it in a tight loop and the seed is something like , current second , then the same seed may appear several times ) .</tokentext>
<sentencetext>Well unless there is something else going on Rob needs to go back to school too.
A simple quicksort algorithm with the comparator replaced with a random choice becomes a recursive random partition of the array.
A simple inductive argument shows that this will not produce the unbalanced results he found.
So the problem is elsewhere (most likely in the RNG seeding or a bias in the pivot selection, if he is running it in a tight loop and the seed is something like, current second, then the same seed may appear several times).</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309480</id>
	<title>Re:Might be a mistake but not where Rob is pointin</title>
	<author>IWannaBeAnAC</author>
	<datestamp>1267357020000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>
Wow, did you 'graduate' from the same school as the Microsoft programmer who wrote this code?
</p><p>
The sort function requires that the comparison function defines a strict weak ordering.  Anything else violates the precondition, and the result of calling sort with a bad comparitor is completely unspecified.  Not long ago on comp.lang.c++.moderated there was a query from someone complaining about what appeared to be a bug in their standard library sort() function, which was consistently crashing.  It turned out their comparitor was faulty, and the sort function was rolling off the end of the array and accessing beyond the array bound.</p></htmltext>
<tokenext>Wow , did you 'graduate ' from the same school as the Microsoft programmer who wrote this code ?
The sort function requires that the comparison function defines a strict weak ordering .
Anything else violates the precondition , and the result of calling sort with a bad comparitor is completely unspecified .
Not long ago on comp.lang.c + + .moderated there was a query from someone complaining about what appeared to be a bug in their standard library sort ( ) function , which was consistently crashing .
It turned out their comparitor was faulty , and the sort function was rolling off the end of the array and accessing beyond the array bound .</tokentext>
<sentencetext>
Wow, did you 'graduate' from the same school as the Microsoft programmer who wrote this code?
The sort function requires that the comparison function defines a strict weak ordering.
Anything else violates the precondition, and the result of calling sort with a bad comparitor is completely unspecified.
Not long ago on comp.lang.c++.moderated there was a query from someone complaining about what appeared to be a bug in their standard library sort() function, which was consistently crashing.
It turned out their comparitor was faulty, and the sort function was rolling off the end of the array and accessing beyond the array bound.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308604</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308876</id>
	<title>Re:I have been fired for less.</title>
	<author>omfgnosis</author>
	<datestamp>1267352040000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Or Redmond for that matter? 9\_9</p></htmltext>
<tokenext>Or Redmond for that matter ?
9 \ _9</tokentext>
<sentencetext>Or Redmond for that matter?
9\_9</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308252</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308354</id>
	<title>Re:What? Why not?</title>
	<author>Anonymous</author>
	<datestamp>1267348020000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>5</modscore>
	<htmltext>No, Math.random is not the problem, the problem is how it is used. They used it as random input to a sorting algorithm without considering how the sorting algorithm works. The assumption that any sorting algorithm with inconsistently random input = random order is wrong. If they had assigned a random value to each element and sorted by that value the result would have been truly random as the value associated with each element would have been consistent.</htmltext>
<tokenext>No , Math.random is not the problem , the problem is how it is used .
They used it as random input to a sorting algorithm without considering how the sorting algorithm works .
The assumption that any sorting algorithm with inconsistently random input = random order is wrong .
If they had assigned a random value to each element and sorted by that value the result would have been truly random as the value associated with each element would have been consistent .</tokentext>
<sentencetext>No, Math.random is not the problem, the problem is how it is used.
They used it as random input to a sorting algorithm without considering how the sorting algorithm works.
The assumption that any sorting algorithm with inconsistently random input = random order is wrong.
If they had assigned a random value to each element and sorted by that value the result would have been truly random as the value associated with each element would have been consistent.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308806</id>
	<title>laziness and feature lists</title>
	<author>tyme</author>
	<datestamp>1267351500000</datestamp>
	<modclass>Troll</modclass>
	<modscore>-1</modscore>
	<htmltext><p>given that most Microsoft software is designed to deliver a bulleted list of features (regardless of how well those features actually work in real use) I don't think that it should be surprising that for the feature "randomly ordered ballot for browser selection" they managed to deliver "browser selection ballot whose choices are not always in the same order."</p><p>That they have opened the company to a couple more rounds of expensive and pointless litigation (wasting millions of dollars/euros/whatever for both Microsoft and for EU tax payers) in order to save several thousand dollars of programmer time shouldn't come as any surprise, either.</p><p>Yeah, the boys in Redmond sure are geniuses.</p></htmltext>
<tokenext>given that most Microsoft software is designed to deliver a bulleted list of features ( regardless of how well those features actually work in real use ) I do n't think that it should be surprising that for the feature " randomly ordered ballot for browser selection " they managed to deliver " browser selection ballot whose choices are not always in the same order .
" That they have opened the company to a couple more rounds of expensive and pointless litigation ( wasting millions of dollars/euros/whatever for both Microsoft and for EU tax payers ) in order to save several thousand dollars of programmer time should n't come as any surprise , either.Yeah , the boys in Redmond sure are geniuses .</tokentext>
<sentencetext>given that most Microsoft software is designed to deliver a bulleted list of features (regardless of how well those features actually work in real use) I don't think that it should be surprising that for the feature "randomly ordered ballot for browser selection" they managed to deliver "browser selection ballot whose choices are not always in the same order.
"That they have opened the company to a couple more rounds of expensive and pointless litigation (wasting millions of dollars/euros/whatever for both Microsoft and for EU tax payers) in order to save several thousand dollars of programmer time shouldn't come as any surprise, either.Yeah, the boys in Redmond sure are geniuses.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308700</id>
	<title>Real summary: (Skip TFA, /. style)</title>
	<author>Mashdar</author>
	<datestamp>1267350720000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Microsoft used bogus, non-static, comparisons of random numbers to "sort" the list, but they generated new, meaningless random numbers for every comparison. IE must have been the last entry, and had a 50\% chance of the sort loop exiting the first time it was encountered (leaving it in the last position). IANAProgrammer and this is an obvious error to me. I thought TFA was going to be about a poorly seeded random number generator.</htmltext>
<tokenext>Microsoft used bogus , non-static , comparisons of random numbers to " sort " the list , but they generated new , meaningless random numbers for every comparison .
IE must have been the last entry , and had a 50 \ % chance of the sort loop exiting the first time it was encountered ( leaving it in the last position ) .
IANAProgrammer and this is an obvious error to me .
I thought TFA was going to be about a poorly seeded random number generator .</tokentext>
<sentencetext>Microsoft used bogus, non-static, comparisons of random numbers to "sort" the list, but they generated new, meaningless random numbers for every comparison.
IE must have been the last entry, and had a 50\% chance of the sort loop exiting the first time it was encountered (leaving it in the last position).
IANAProgrammer and this is an obvious error to me.
I thought TFA was going to be about a poorly seeded random number generator.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308442</id>
	<title>Bug in the story</title>
	<author>tomhudson</author>
	<datestamp>1267348680000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><blockquote><div><p>Microsoft used none of these well-known solutions in their random solution.  Instead they fell for the well-known trap.  What they did is sort the array, but with a custom-defined comparison function.  JavaScript, like many other programming languages, allows a custom comparator function to be specified.  In the case of JavaScript, this function takes two indexes into the value array and returns a value which is:
</p><ul>
<li> &lt; 0 if the value at the first index should be sorted before the value at the second index</li>
<li>0 if the values at the first index and the second index are equal, which is to say you are indifferent as to what order they are sorted</li>
<li> &lt; 0 if the value at the first index should be sorted after the value at the second index</li>
</ul></div>
</blockquote><p>

According to the description, it returns either 0 or &lt; 0.

</p><p>
That's not the way the comparator function works in any implementation I've seen. Hopefully, the test code the author wrote wasn't as random as the documentation.</p></div>
	</htmltext>
<tokenext>Microsoft used none of these well-known solutions in their random solution .
Instead they fell for the well-known trap .
What they did is sort the array , but with a custom-defined comparison function .
JavaScript , like many other programming languages , allows a custom comparator function to be specified .
In the case of JavaScript , this function takes two indexes into the value array and returns a value which is : 0 if the values at the first index and the second index are equal , which is to say you are indifferent as to what order they are sorted According to the description , it returns either 0 or That 's not the way the comparator function works in any implementation I 've seen .
Hopefully , the test code the author wrote was n't as random as the documentation .</tokentext>
<sentencetext>Microsoft used none of these well-known solutions in their random solution.
Instead they fell for the well-known trap.
What they did is sort the array, but with a custom-defined comparison function.
JavaScript, like many other programming languages, allows a custom comparator function to be specified.
In the case of JavaScript, this function takes two indexes into the value array and returns a value which is:

 
0 if the values at the first index and the second index are equal, which is to say you are indifferent as to what order they are sorted
 



According to the description, it returns either 0 or 
That's not the way the comparator function works in any implementation I've seen.
Hopefully, the test code the author wrote wasn't as random as the documentation.
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</id>
	<title>Seems like the right solution to me</title>
	<author>kevinNCSU</author>
	<datestamp>1267348320000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p>One solutions takes 3 seconds, can be done by an intern, and makes the company no money.  The other solution takes a little bit of time, maybe some reading or prior knowledge and still makes the company no money.  The results yielded for each solution are acceptable for the situation.  Given the cost to profit it seems like Microsoft chose EXACTLY the right solution.</p><p>This is like your community telling you that you must have a fenced in yard for your dog to be off the leash and then setting up a cheap 6-foot standard wooden fence and then the local anti government militia guy laughing at your ignorance because everyone who knows anything about fences knows you choose the solution that's 12 feet high with curved top to prevent climbing and a sunken base of 3 feet to prevent dog-tunneling.</p></htmltext>
<tokenext>One solutions takes 3 seconds , can be done by an intern , and makes the company no money .
The other solution takes a little bit of time , maybe some reading or prior knowledge and still makes the company no money .
The results yielded for each solution are acceptable for the situation .
Given the cost to profit it seems like Microsoft chose EXACTLY the right solution.This is like your community telling you that you must have a fenced in yard for your dog to be off the leash and then setting up a cheap 6-foot standard wooden fence and then the local anti government militia guy laughing at your ignorance because everyone who knows anything about fences knows you choose the solution that 's 12 feet high with curved top to prevent climbing and a sunken base of 3 feet to prevent dog-tunneling .</tokentext>
<sentencetext>One solutions takes 3 seconds, can be done by an intern, and makes the company no money.
The other solution takes a little bit of time, maybe some reading or prior knowledge and still makes the company no money.
The results yielded for each solution are acceptable for the situation.
Given the cost to profit it seems like Microsoft chose EXACTLY the right solution.This is like your community telling you that you must have a fenced in yard for your dog to be off the leash and then setting up a cheap 6-foot standard wooden fence and then the local anti government militia guy laughing at your ignorance because everyone who knows anything about fences knows you choose the solution that's 12 feet high with curved top to prevent climbing and a sunken base of 3 feet to prevent dog-tunneling.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309258</id>
	<title>The author provides another lesson as well</title>
	<author>Anonymous</author>
	<datestamp>1267355100000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>At least based on the summary, I'd say the author also provides a really good demonstration of "how to be a smug condescending twit".</p></htmltext>
<tokenext>At least based on the summary , I 'd say the author also provides a really good demonstration of " how to be a smug condescending twit " .</tokentext>
<sentencetext>At least based on the summary, I'd say the author also provides a really good demonstration of "how to be a smug condescending twit".</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310062</id>
	<title>Re:Malice?</title>
	<author>Anonymous</author>
	<datestamp>1267360980000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Or if you disable JS, you could clearly notice that the browser order always is IE-&gt;Firefox-&gt;Opera-&gt;Chrome and some other insignificant browsers.</p></htmltext>
<tokenext>Or if you disable JS , you could clearly notice that the browser order always is IE- &gt; Firefox- &gt; Opera- &gt; Chrome and some other insignificant browsers .</tokentext>
<sentencetext>Or if you disable JS, you could clearly notice that the browser order always is IE-&gt;Firefox-&gt;Opera-&gt;Chrome and some other insignificant browsers.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308724</id>
	<title>Naive Solution? Inexeperienced? Whaaaat?</title>
	<author>JimboFBX</author>
	<datestamp>1267350900000</datestamp>
	<modclass>Troll</modclass>
	<modscore>0</modscore>
	<htmltext>Ok in all fairness, bubblesort is arguably the best sorting algorithm because in today's modern computing power it will do the job sufficiently for 99\% of your problems and is easy to implement and verify. Its especially efficient when appending an already sorted array to another already sorted array, which some other popular algorithms can't claim.<br> <br>

And the naive solution to a shuffling an array is similar to bubblesort, traverse through the array and generate a random number up to array size to swap the element with. If current position + number &gt; array size then deduct the array size from the number to get the position to swap with. Maybe I should patent that because it apparently isn't obvious.<br> <br>

I think I have to agree that this looks like a situation where an author, likely a young one, is trying to nerd off when they dont understand how Microsoft operates. My question is why would you go through this kind of effort in the first place...</htmltext>
<tokenext>Ok in all fairness , bubblesort is arguably the best sorting algorithm because in today 's modern computing power it will do the job sufficiently for 99 \ % of your problems and is easy to implement and verify .
Its especially efficient when appending an already sorted array to another already sorted array , which some other popular algorithms ca n't claim .
And the naive solution to a shuffling an array is similar to bubblesort , traverse through the array and generate a random number up to array size to swap the element with .
If current position + number &gt; array size then deduct the array size from the number to get the position to swap with .
Maybe I should patent that because it apparently is n't obvious .
I think I have to agree that this looks like a situation where an author , likely a young one , is trying to nerd off when they dont understand how Microsoft operates .
My question is why would you go through this kind of effort in the first place.. .</tokentext>
<sentencetext>Ok in all fairness, bubblesort is arguably the best sorting algorithm because in today's modern computing power it will do the job sufficiently for 99\% of your problems and is easy to implement and verify.
Its especially efficient when appending an already sorted array to another already sorted array, which some other popular algorithms can't claim.
And the naive solution to a shuffling an array is similar to bubblesort, traverse through the array and generate a random number up to array size to swap the element with.
If current position + number &gt; array size then deduct the array size from the number to get the position to swap with.
Maybe I should patent that because it apparently isn't obvious.
I think I have to agree that this looks like a situation where an author, likely a young one, is trying to nerd off when they dont understand how Microsoft operates.
My question is why would you go through this kind of effort in the first place...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311042</id>
	<title>Re:Good enough</title>
	<author>kramerd</author>
	<datestamp>1267368960000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><blockquote><div><p>Given that each user is only going to see this screen once per computer</p></div></blockquote><p>Given that each person will only lose one cent per lifetime, I propose to move $0.01 from each bank account in the world to my own account.</p></div><p>Sorry, that solution isn't random (even if it does solve the issue of uniformity).</p></div>
	</htmltext>
<tokenext>Given that each user is only going to see this screen once per computerGiven that each person will only lose one cent per lifetime , I propose to move $ 0.01 from each bank account in the world to my own account.Sorry , that solution is n't random ( even if it does solve the issue of uniformity ) .</tokentext>
<sentencetext>Given that each user is only going to see this screen once per computerGiven that each person will only lose one cent per lifetime, I propose to move $0.01 from each bank account in the world to my own account.Sorry, that solution isn't random (even if it does solve the issue of uniformity).
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31375600</id>
	<title>Random seed to fix?</title>
	<author>moeng</author>
	<datestamp>1267783680000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>From the article:<p><div class="quote"><p>Sorting requires a self-consistent definition of ordering.</p></div><p>The article implies the root of the problem is because it introduces inconsistency in comparisons.
Could this be fixed by generating a random seed, then replacing all calls to Math.random() with Math.random(seed)?</p></div>
	</htmltext>
<tokenext>From the article : Sorting requires a self-consistent definition of ordering.The article implies the root of the problem is because it introduces inconsistency in comparisons .
Could this be fixed by generating a random seed , then replacing all calls to Math.random ( ) with Math.random ( seed ) ?</tokentext>
<sentencetext>From the article:Sorting requires a self-consistent definition of ordering.The article implies the root of the problem is because it introduces inconsistency in comparisons.
Could this be fixed by generating a random seed, then replacing all calls to Math.random() with Math.random(seed)?
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309070</id>
	<title>Re:Might be a mistake but not where Rob is pointin</title>
	<author>Setsquare</author>
	<datestamp>1267353780000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Well unless there is something else going on Rob needs to go back to school too. A simple quicksort algorithm with the comparator replaced with a random choice becomes a recursive random partition of the array. A simple inductive argument shows that this will not produce the unbalanced results he found. So the problem is elsewhere (most likely in the RNG seeding or a bias in the pivot selection, if he is running it in a tight loop and the seed is something like, current second, then the same seed may appear several times).</p></div><p>You do realise that quicksort is whole family of algorithms? Most library routine writers consider it a bug if you sort the same data twice and it comes up in a different order, so they tend to avoid random pivot and use median of 3 or 9 pivot instead. These will give biased shuffling. They also also switch to insertion sort for small subarrays which will lead to biased shuffling.</p><p>Closing the walls partitioning takes 1/2 to 1/3 times as many swaps as the
Lomuto partitioning (which is a simple left to right for loop) so it's usually the preferred method to partition. Lomuto also goes quadratic for equal valued elements. Most closing the walls partitions use the pivot as a sentinal, but with a random comparison the indexes can walk right past the end the subarray and generate an array index error.</p></div>
	</htmltext>
<tokenext>Well unless there is something else going on Rob needs to go back to school too .
A simple quicksort algorithm with the comparator replaced with a random choice becomes a recursive random partition of the array .
A simple inductive argument shows that this will not produce the unbalanced results he found .
So the problem is elsewhere ( most likely in the RNG seeding or a bias in the pivot selection , if he is running it in a tight loop and the seed is something like , current second , then the same seed may appear several times ) .You do realise that quicksort is whole family of algorithms ?
Most library routine writers consider it a bug if you sort the same data twice and it comes up in a different order , so they tend to avoid random pivot and use median of 3 or 9 pivot instead .
These will give biased shuffling .
They also also switch to insertion sort for small subarrays which will lead to biased shuffling.Closing the walls partitioning takes 1/2 to 1/3 times as many swaps as the Lomuto partitioning ( which is a simple left to right for loop ) so it 's usually the preferred method to partition .
Lomuto also goes quadratic for equal valued elements .
Most closing the walls partitions use the pivot as a sentinal , but with a random comparison the indexes can walk right past the end the subarray and generate an array index error .</tokentext>
<sentencetext>Well unless there is something else going on Rob needs to go back to school too.
A simple quicksort algorithm with the comparator replaced with a random choice becomes a recursive random partition of the array.
A simple inductive argument shows that this will not produce the unbalanced results he found.
So the problem is elsewhere (most likely in the RNG seeding or a bias in the pivot selection, if he is running it in a tight loop and the seed is something like, current second, then the same seed may appear several times).You do realise that quicksort is whole family of algorithms?
Most library routine writers consider it a bug if you sort the same data twice and it comes up in a different order, so they tend to avoid random pivot and use median of 3 or 9 pivot instead.
These will give biased shuffling.
They also also switch to insertion sort for small subarrays which will lead to biased shuffling.Closing the walls partitioning takes 1/2 to 1/3 times as many swaps as the
Lomuto partitioning (which is a simple left to right for loop) so it's usually the preferred method to partition.
Lomuto also goes quadratic for equal valued elements.
Most closing the walls partitions use the pivot as a sentinal, but with a random comparison the indexes can walk right past the end the subarray and generate an array index error.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308604</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308552</id>
	<title>Random</title>
	<author>Greyfox</author>
	<datestamp>1267349580000</datestamp>
	<modclass>Funny</modclass>
	<modscore>3</modscore>
	<htmltext>I like <a href="http://xkcd.com/221/" title="xkcd.com">this</a> [xkcd.com] one.
<p>
Anywhoo... So what you're telling me is that Microsoft's programmers made a mistake for a production system that 99\% of freshmen CS students wouldn't make? In this case, I think you're actually giving too much credit to Freshman CS students...</p></htmltext>
<tokenext>I like this [ xkcd.com ] one .
Anywhoo... So what you 're telling me is that Microsoft 's programmers made a mistake for a production system that 99 \ % of freshmen CS students would n't make ?
In this case , I think you 're actually giving too much credit to Freshman CS students.. .</tokentext>
<sentencetext>I like this [xkcd.com] one.
Anywhoo... So what you're telling me is that Microsoft's programmers made a mistake for a production system that 99\% of freshmen CS students wouldn't make?
In this case, I think you're actually giving too much credit to Freshman CS students...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220</id>
	<title>Milliseconds</title>
	<author>Lord Lode</author>
	<datestamp>1267390200000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>2</modscore>
	<htmltext><p>They could as well just have used the last millisecond to show the browser. I mean, it's a screen shown only once to a user. What's more random, and uniform, than the time the screen appears in milliseconds modulo 5?</p></htmltext>
<tokenext>They could as well just have used the last millisecond to show the browser .
I mean , it 's a screen shown only once to a user .
What 's more random , and uniform , than the time the screen appears in milliseconds modulo 5 ?</tokentext>
<sentencetext>They could as well just have used the last millisecond to show the browser.
I mean, it's a screen shown only once to a user.
What's more random, and uniform, than the time the screen appears in milliseconds modulo 5?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311310</id>
	<title>Who Cares? Get A Mac...</title>
	<author>Udigs</author>
	<datestamp>1267371180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Or at least download a copy of Linux. There. Problem solved. Time for lunch.</htmltext>
<tokenext>Or at least download a copy of Linux .
There. Problem solved .
Time for lunch .</tokentext>
<sentencetext>Or at least download a copy of Linux.
There. Problem solved.
Time for lunch.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308460</id>
	<title>Simple solution</title>
	<author>Anonymous</author>
	<datestamp>1267348800000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Excel formula:</p><p>=ROUND(RAND(),1)*10 .<br>This works for up to 11 different browsers (yes, 0 is a number).</p></htmltext>
<tokenext>Excel formula : = ROUND ( RAND ( ) ,1 ) * 10 .This works for up to 11 different browsers ( yes , 0 is a number ) .</tokentext>
<sentencetext>Excel formula:=ROUND(RAND(),1)*10 .This works for up to 11 different browsers (yes, 0 is a number).</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322</id>
	<title>He's just bitching</title>
	<author>Sycraft-fu</author>
	<datestamp>1267347720000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>4</modscore>
	<htmltext><p>It is probably a combination of two things:</p><p>1) Hate for MS. MS is doing what some have said they've needed to do in giving users browser choice, and they've done so as to try not to promote any given one. While that makes proponents of choice happy, it makes MS haters mad. The more MS does to try and accommodate users and play fair, the less there is to hate on them for legitimately. As such haters are going to try and find nit picks to bitch about.</p><p>2) General geek pedantry. Many geeks seem to love to be exceedingly pedantic about every little thing. If a definition isn't 100\% perfect, at least in their mind, they jump all over it. I think it is a "Look at how smart I am!" kind of move. They want to show that they noticed that it wasn't 100\% perfect and thus show how clever they are.</p><p>Doesn't matter, it is what it is and as you said, random enough. This guy can whine all he likes.</p></htmltext>
<tokenext>It is probably a combination of two things : 1 ) Hate for MS. MS is doing what some have said they 've needed to do in giving users browser choice , and they 've done so as to try not to promote any given one .
While that makes proponents of choice happy , it makes MS haters mad .
The more MS does to try and accommodate users and play fair , the less there is to hate on them for legitimately .
As such haters are going to try and find nit picks to bitch about.2 ) General geek pedantry .
Many geeks seem to love to be exceedingly pedantic about every little thing .
If a definition is n't 100 \ % perfect , at least in their mind , they jump all over it .
I think it is a " Look at how smart I am !
" kind of move .
They want to show that they noticed that it was n't 100 \ % perfect and thus show how clever they are.Does n't matter , it is what it is and as you said , random enough .
This guy can whine all he likes .</tokentext>
<sentencetext>It is probably a combination of two things:1) Hate for MS. MS is doing what some have said they've needed to do in giving users browser choice, and they've done so as to try not to promote any given one.
While that makes proponents of choice happy, it makes MS haters mad.
The more MS does to try and accommodate users and play fair, the less there is to hate on them for legitimately.
As such haters are going to try and find nit picks to bitch about.2) General geek pedantry.
Many geeks seem to love to be exceedingly pedantic about every little thing.
If a definition isn't 100\% perfect, at least in their mind, they jump all over it.
I think it is a "Look at how smart I am!
" kind of move.
They want to show that they noticed that it wasn't 100\% perfect and thus show how clever they are.Doesn't matter, it is what it is and as you said, random enough.
This guy can whine all he likes.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309640</id>
	<title>Knuth's Quote Re: Random Number Generators</title>
	<author>wintermute3</author>
	<datestamp>1267358340000</datestamp>
	<modclass>Funny</modclass>
	<modscore>2</modscore>
	<htmltext><p>I always liked Knuth's choice quote from John von Neumann on the subject:</p><p>
&nbsp; &nbsp; &nbsp; &nbsp; "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin."</p><p>- Michael</p></div>
	</htmltext>
<tokenext>I always liked Knuth 's choice quote from John von Neumann on the subject :         " Anyone who considers arithmetical methods of producing random digits is , of course , in a state of sin .
" - Michael</tokentext>
<sentencetext>I always liked Knuth's choice quote from John von Neumann on the subject:
        "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin.
"- Michael
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31321858</id>
	<title>Re:I have been fired for less.</title>
	<author>bezenek</author>
	<datestamp>1267437300000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>People like the higher-ups at Microsoft (or most companies, I believe) do not care or want to hear about these issues.<br> <br>


If it does not involve a bonus (for the executive) or making them look good (the executive), engineers have to shut up and smile.<br> <br>


-Todd
<br> <br>


p.s. Of course, this is my opinion--not what I would do, and it goes against good ethics.  But, who in Silicon Valley cares about ethics?<nobr> <wbr></nobr>:-|</p></div><p>Why are people marking this as a troll?<br> <br>
As far as I know, it is true.<br> <br>
I suppose my comment, "But, who in Silicon Valley cares about ethics?" is a bit of a troll, but based on reality.  For example:<br> <br>
I was offered a job.  The HR department at the company pressed me to make a decision about taking the job.  As a result, I lost the opportunity to play-out the interview process for a much better position.<br> <br>
When I described this tough problem to a well-known Silicon Valley CEO, he said I should have taken the job (as I did), kept up the interview process with the other company (I told them I was taking another job), and then quit the job I took if the better one panned out.  He specifically said he had done the same thing, which involved working at a company for 1.5 weeks and then quitting for a better offer.<br> <br>
Maybe it is just me, but this seems wrong.  But, in Silicon Valley, it appears to be business-as-usual.<br> <br>
-Todd</p></div>
	</htmltext>
<tokenext>People like the higher-ups at Microsoft ( or most companies , I believe ) do not care or want to hear about these issues .
If it does not involve a bonus ( for the executive ) or making them look good ( the executive ) , engineers have to shut up and smile .
-Todd p.s .
Of course , this is my opinion--not what I would do , and it goes against good ethics .
But , who in Silicon Valley cares about ethics ?
: - | Why are people marking this as a troll ?
As far as I know , it is true .
I suppose my comment , " But , who in Silicon Valley cares about ethics ?
" is a bit of a troll , but based on reality .
For example : I was offered a job .
The HR department at the company pressed me to make a decision about taking the job .
As a result , I lost the opportunity to play-out the interview process for a much better position .
When I described this tough problem to a well-known Silicon Valley CEO , he said I should have taken the job ( as I did ) , kept up the interview process with the other company ( I told them I was taking another job ) , and then quit the job I took if the better one panned out .
He specifically said he had done the same thing , which involved working at a company for 1.5 weeks and then quitting for a better offer .
Maybe it is just me , but this seems wrong .
But , in Silicon Valley , it appears to be business-as-usual .
-Todd</tokentext>
<sentencetext>People like the higher-ups at Microsoft (or most companies, I believe) do not care or want to hear about these issues.
If it does not involve a bonus (for the executive) or making them look good (the executive), engineers have to shut up and smile.
-Todd
 


p.s.
Of course, this is my opinion--not what I would do, and it goes against good ethics.
But, who in Silicon Valley cares about ethics?
:-|Why are people marking this as a troll?
As far as I know, it is true.
I suppose my comment, "But, who in Silicon Valley cares about ethics?
" is a bit of a troll, but based on reality.
For example: 
I was offered a job.
The HR department at the company pressed me to make a decision about taking the job.
As a result, I lost the opportunity to play-out the interview process for a much better position.
When I described this tough problem to a well-known Silicon Valley CEO, he said I should have taken the job (as I did), kept up the interview process with the other company (I told them I was taking another job), and then quit the job I took if the better one panned out.
He specifically said he had done the same thing, which involved working at a company for 1.5 weeks and then quitting for a better offer.
Maybe it is just me, but this seems wrong.
But, in Silicon Valley, it appears to be business-as-usual.
-Todd
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308252</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308930</id>
	<title>Re:do not fix!</title>
	<author>omfgnosis</author>
	<datestamp>1267352520000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>And lest I be biased, I'll offer my browser preferences for full disclosure.</p><p>I use Safari as my primary browser, but only as I wait for Chrome to meet my needs (note the first position is biased toward Chrome). I prefer WebKit as a renderer; Chrome is a better browser than Safari overall, but doesn't (yet?) support certain aspects of my workflow.</p></htmltext>
<tokenext>And lest I be biased , I 'll offer my browser preferences for full disclosure.I use Safari as my primary browser , but only as I wait for Chrome to meet my needs ( note the first position is biased toward Chrome ) .
I prefer WebKit as a renderer ; Chrome is a better browser than Safari overall , but does n't ( yet ?
) support certain aspects of my workflow .</tokentext>
<sentencetext>And lest I be biased, I'll offer my browser preferences for full disclosure.I use Safari as my primary browser, but only as I wait for Chrome to meet my needs (note the first position is biased toward Chrome).
I prefer WebKit as a renderer; Chrome is a better browser than Safari overall, but doesn't (yet?
) support certain aspects of my workflow.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308602</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310592</id>
	<title>Re:Malice?</title>
	<author>Bigjeff5</author>
	<datestamp>1267364940000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>2</modscore>
	<htmltext><p>It starts off as a list dumbass, the browsers to sort have to come from somewhere.</p><p>Would you be upset if the first item on the list were FireFox, so FF popped up first momentarily?</p><p>Seriously, get a life.</p></htmltext>
<tokenext>It starts off as a list dumbass , the browsers to sort have to come from somewhere.Would you be upset if the first item on the list were FireFox , so FF popped up first momentarily ? Seriously , get a life .</tokentext>
<sentencetext>It starts off as a list dumbass, the browsers to sort have to come from somewhere.Would you be upset if the first item on the list were FireFox, so FF popped up first momentarily?Seriously, get a life.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31313096</id>
	<title>Re:Bad Article, Bad Summary</title>
	<author>Anonymous</author>
	<datestamp>1267435200000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>@alphabetsoup: Aren't you being unnecessarily pedantic here? What most people assume by randomness is random *and* unbiased. In layman terms your loaded coin isn't giving "random" results. (btw eating Fisher-Yates here for breakfast since many moons).</p></htmltext>
<tokenext>@ alphabetsoup : Are n't you being unnecessarily pedantic here ?
What most people assume by randomness is random * and * unbiased .
In layman terms your loaded coin is n't giving " random " results .
( btw eating Fisher-Yates here for breakfast since many moons ) .</tokentext>
<sentencetext>@alphabetsoup: Aren't you being unnecessarily pedantic here?
What most people assume by randomness is random *and* unbiased.
In layman terms your loaded coin isn't giving "random" results.
(btw eating Fisher-Yates here for breakfast since many moons).</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308946</id>
	<title>Re:What? Why not?</title>
	<author>cgenman</author>
	<datestamp>1267352580000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Leaving the random number generator unseeded can sometimes produce skewed results.  It used to be that you were almost guaranteed to get the same output sequence, especially in optimized languages, as the default seed was some fixed value.  This isn't as much of an issue these days, as most get properly pre-seeded with the time or some other variable.  But it is still good practice to properly pre-seed your code, especially for old systems / guaranteed randomness / stodgy old manness.</p></htmltext>
<tokenext>Leaving the random number generator unseeded can sometimes produce skewed results .
It used to be that you were almost guaranteed to get the same output sequence , especially in optimized languages , as the default seed was some fixed value .
This is n't as much of an issue these days , as most get properly pre-seeded with the time or some other variable .
But it is still good practice to properly pre-seed your code , especially for old systems / guaranteed randomness / stodgy old manness .</tokentext>
<sentencetext>Leaving the random number generator unseeded can sometimes produce skewed results.
It used to be that you were almost guaranteed to get the same output sequence, especially in optimized languages, as the default seed was some fixed value.
This isn't as much of an issue these days, as most get properly pre-seeded with the time or some other variable.
But it is still good practice to properly pre-seed your code, especially for old systems / guaranteed randomness / stodgy old manness.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308438</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31316434</id>
	<title>Re:Bad Article, Bad Summary</title>
	<author>Anonymous</author>
	<datestamp>1267460100000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Actually, no. Random means that given a function that returns a bit, the probability that bit will be 0 is equal to the probability that bit will be 1. This is basic computer science. If the result is biased, it is not random.</p></htmltext>
<tokenext>Actually , no .
Random means that given a function that returns a bit , the probability that bit will be 0 is equal to the probability that bit will be 1 .
This is basic computer science .
If the result is biased , it is not random .</tokentext>
<sentencetext>Actually, no.
Random means that given a function that returns a bit, the probability that bit will be 0 is equal to the probability that bit will be 1.
This is basic computer science.
If the result is biased, it is not random.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172</id>
	<title>What's the problem?</title>
	<author>Anonymous</author>
	<datestamp>1267389960000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>3</modscore>
	<htmltext><p>What's the problem? It's random enough for a browser selection screen.</p><p>This isn't an application where a statistically random shuffle is required.</p></htmltext>
<tokenext>What 's the problem ?
It 's random enough for a browser selection screen.This is n't an application where a statistically random shuffle is required .</tokentext>
<sentencetext>What's the problem?
It's random enough for a browser selection screen.This isn't an application where a statistically random shuffle is required.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092</id>
	<title>LAST</title>
	<author>Anonymous</author>
	<datestamp>1267389360000</datestamp>
	<modclass>Funny</modclass>
	<modscore>5</modscore>
	<htmltext><p>Hmm, there's a nice shuffle implementation in Java that Microsoft could use... Oh, wait...</p><p>Rgds</p><p>Damon</p></htmltext>
<tokenext>Hmm , there 's a nice shuffle implementation in Java that Microsoft could use... Oh , wait...RgdsDamon</tokentext>
<sentencetext>Hmm, there's a nice shuffle implementation in Java that Microsoft could use... Oh, wait...RgdsDamon</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31324996</id>
	<title>Re:Reach for Knuth?</title>
	<author>Anonymous</author>
	<datestamp>1267452180000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Yup, that's why I get to so much dumb code, written by people who can't even do a proper job of using the libraries!  Keep in mind that in this case the buggy code didn't try to implement its own random number generator, it was trying to use the library function for that, along with the library-supplied sort.  BUT this poor soul couldn't even combine those two things in a sensible way to produce correct results, and lacking a "shuffle" function in the library he found himself out of plausible solutions. And that's why some people should really abstain from programming: it's not that every problem requires an engineer, it's that some 'simple' problems are more complicated than what is evident at first sight, and if you don't have either the trained eye or trained help you're very soon way over your head!</p></htmltext>
<tokenext>Yup , that 's why I get to so much dumb code , written by people who ca n't even do a proper job of using the libraries !
Keep in mind that in this case the buggy code did n't try to implement its own random number generator , it was trying to use the library function for that , along with the library-supplied sort .
BUT this poor soul could n't even combine those two things in a sensible way to produce correct results , and lacking a " shuffle " function in the library he found himself out of plausible solutions .
And that 's why some people should really abstain from programming : it 's not that every problem requires an engineer , it 's that some 'simple ' problems are more complicated than what is evident at first sight , and if you do n't have either the trained eye or trained help you 're very soon way over your head !</tokentext>
<sentencetext>Yup, that's why I get to so much dumb code, written by people who can't even do a proper job of using the libraries!
Keep in mind that in this case the buggy code didn't try to implement its own random number generator, it was trying to use the library function for that, along with the library-supplied sort.
BUT this poor soul couldn't even combine those two things in a sensible way to produce correct results, and lacking a "shuffle" function in the library he found himself out of plausible solutions.
And that's why some people should really abstain from programming: it's not that every problem requires an engineer, it's that some 'simple' problems are more complicated than what is evident at first sight, and if you don't have either the trained eye or trained help you're very soon way over your head!</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309202</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308580</id>
	<title>Re:Good enough</title>
	<author>maxume</author>
	<datestamp>1267349760000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>The interesting thing there is that it would only be a great deal of money, you wouldn't be particularly wealthy (in a relative sense).</p></htmltext>
<tokenext>The interesting thing there is that it would only be a great deal of money , you would n't be particularly wealthy ( in a relative sense ) .</tokentext>
<sentencetext>The interesting thing there is that it would only be a great deal of money, you wouldn't be particularly wealthy (in a relative sense).</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308274</id>
	<title>Amateurs...</title>
	<author>Anonymous</author>
	<datestamp>1267390560000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>...they should ask the Debian folks.</p></htmltext>
<tokenext>...they should ask the Debian folks .</tokentext>
<sentencetext>...they should ask the Debian folks.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898</id>
	<title>Malice?</title>
	<author>Anonymous</author>
	<datestamp>1267352280000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>3</modscore>
	<htmltext>"Never ascribe to malice that which is adequately explained by incompetence"

One thing I couldn't help but notice though, is that Microsoft always pops IE in the number one spot for a moment *before* shuffling the browsers and showing them in randomized order... Very visible if you visit the ballot manually in IE and hit F5 a few times: <a href="http://www.browserchoice.eu/" title="browserchoice.eu">http://www.browserchoice.eu/</a> [browserchoice.eu]</htmltext>
<tokenext>" Never ascribe to malice that which is adequately explained by incompetence " One thing I could n't help but notice though , is that Microsoft always pops IE in the number one spot for a moment * before * shuffling the browsers and showing them in randomized order... Very visible if you visit the ballot manually in IE and hit F5 a few times : http : //www.browserchoice.eu/ [ browserchoice.eu ]</tokentext>
<sentencetext>"Never ascribe to malice that which is adequately explained by incompetence"

One thing I couldn't help but notice though, is that Microsoft always pops IE in the number one spot for a moment *before* shuffling the browsers and showing them in randomized order... Very visible if you visit the ballot manually in IE and hit F5 a few times: http://www.browserchoice.eu/ [browserchoice.eu]</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309076</id>
	<title>Re:Naive Solution? Inexeperienced? Whaaaat?</title>
	<author>Anonymous</author>
	<datestamp>1267353840000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>You are a fucktard who doesn't understand big-O notation if you believe that, and have no business programming anything.</p></htmltext>
<tokenext>You are a fucktard who does n't understand big-O notation if you believe that , and have no business programming anything .</tokentext>
<sentencetext>You are a fucktard who doesn't understand big-O notation if you believe that, and have no business programming anything.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308724</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311022</id>
	<title>Strange</title>
	<author>PPH</author>
	<datestamp>1267368840000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Microsoft didn't seem to have this much trouble generating random numbers when they wrote Excel.</htmltext>
<tokenext>Microsoft did n't seem to have this much trouble generating random numbers when they wrote Excel .</tokentext>
<sentencetext>Microsoft didn't seem to have this much trouble generating random numbers when they wrote Excel.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309956</id>
	<title>Re:LAST</title>
	<author>Anonymous</author>
	<datestamp>1267360320000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>There are no random algorithms.</p><p>Nothing to see here but M$ bashing, move along.</p></htmltext>
<tokenext>There are no random algorithms.Nothing to see here but M $ bashing , move along .</tokentext>
<sentencetext>There are no random algorithms.Nothing to see here but M$ bashing, move along.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31315016</id>
	<title>Original research on Wikipedia ??</title>
	<author>RockDoctor</author>
	<datestamp>1267454640000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>FTFA:</p><blockquote><div><p>I tested with that algorithm, using a JavaScript implementation taken from the Fisher-Yates Wikpedia page,</p></div></blockquote><p>I'm just off to RTFWP, but why should that stop me from questioning - wouldn't the posting of an implementation of an algorithm in language-X onto a Wikipedia page constitute "original research", and therefore require to be taken back down. (If it's not original, then it must be a copy of something from somewhere, which then becomes a copyright problem)?</p><p>OK, off to RTFWP<nobr> <wbr></nobr>... and sure enough, the algorithm implementations are there, and no source is cited. So, surely this is original research and should be struck out (along with all other similar examples).</p></div>
	</htmltext>
<tokenext>FTFA : I tested with that algorithm , using a JavaScript implementation taken from the Fisher-Yates Wikpedia page,I 'm just off to RTFWP , but why should that stop me from questioning - would n't the posting of an implementation of an algorithm in language-X onto a Wikipedia page constitute " original research " , and therefore require to be taken back down .
( If it 's not original , then it must be a copy of something from somewhere , which then becomes a copyright problem ) ? OK , off to RTFWP ... and sure enough , the algorithm implementations are there , and no source is cited .
So , surely this is original research and should be struck out ( along with all other similar examples ) .</tokentext>
<sentencetext>FTFA:I tested with that algorithm, using a JavaScript implementation taken from the Fisher-Yates Wikpedia page,I'm just off to RTFWP, but why should that stop me from questioning - wouldn't the posting of an implementation of an algorithm in language-X onto a Wikipedia page constitute "original research", and therefore require to be taken back down.
(If it's not original, then it must be a copy of something from somewhere, which then becomes a copyright problem)?OK, off to RTFWP ... and sure enough, the algorithm implementations are there, and no source is cited.
So, surely this is original research and should be struck out (along with all other similar examples).
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308328</id>
	<title>I'm sure it's deliberate</title>
	<author>Anonymous</author>
	<datestamp>1267347780000</datestamp>
	<modclass>Flamebait</modclass>
	<modscore>0</modscore>
	<htmltext><p>"But I do not believe there is some nefarious intent to this bug"</p><p>The article states that IE is more likely than any other browser to appear at the bottom of the list.  To me, this is one of two optimal positions (top or bottom being easiest to pick out).</p><p>Microsoft is so well known for dirty tricks I'm sure that this is not an accident</p></htmltext>
<tokenext>" But I do not believe there is some nefarious intent to this bug " The article states that IE is more likely than any other browser to appear at the bottom of the list .
To me , this is one of two optimal positions ( top or bottom being easiest to pick out ) .Microsoft is so well known for dirty tricks I 'm sure that this is not an accident</tokentext>
<sentencetext>"But I do not believe there is some nefarious intent to this bug"The article states that IE is more likely than any other browser to appear at the bottom of the list.
To me, this is one of two optimal positions (top or bottom being easiest to pick out).Microsoft is so well known for dirty tricks I'm sure that this is not an accident</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309106</id>
	<title>Card shuffle algorithm</title>
	<author>1 a bee</author>
	<datestamp>1267354020000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>
Talking about random shuffles, does anyone know of a shuffle algorithm emulating a "real" dovetail shuffle of a deck of cards?
</p><p>
In the late 80's,  Dave Bayer and Persi Diaconis (Trailing the dovetail shuffle to its lair. <em>The Annals of Applied Probability</em>) showed that 7 shuffles of a deck of 52 was sufficiently random for most purposes. The <a href="http://www.nytimes.com/1990/01/09/science/in-shuffling-cards-7-is-winning-number.html" title="nytimes.com">
New York Times ran a story</a> [nytimes.com] and following a number of critiques showing that the results were <strong>not</strong> sufficiently random for every
kind of application (see <a href="http://itcs.tsinghua.edu.cn/~anke/NewAgeS.pdf" title="tsinghua.edu.cn">New Age Solitaire</a> [tsinghua.edu.cn]), I heard no more of this seemingly promising NlogN approach to shuffling.
</p></htmltext>
<tokenext>Talking about random shuffles , does anyone know of a shuffle algorithm emulating a " real " dovetail shuffle of a deck of cards ?
In the late 80 's , Dave Bayer and Persi Diaconis ( Trailing the dovetail shuffle to its lair .
The Annals of Applied Probability ) showed that 7 shuffles of a deck of 52 was sufficiently random for most purposes .
The New York Times ran a story [ nytimes.com ] and following a number of critiques showing that the results were not sufficiently random for every kind of application ( see New Age Solitaire [ tsinghua.edu.cn ] ) , I heard no more of this seemingly promising NlogN approach to shuffling .</tokentext>
<sentencetext>
Talking about random shuffles, does anyone know of a shuffle algorithm emulating a "real" dovetail shuffle of a deck of cards?
In the late 80's,  Dave Bayer and Persi Diaconis (Trailing the dovetail shuffle to its lair.
The Annals of Applied Probability) showed that 7 shuffles of a deck of 52 was sufficiently random for most purposes.
The 
New York Times ran a story [nytimes.com] and following a number of critiques showing that the results were not sufficiently random for every
kind of application (see New Age Solitaire [tsinghua.edu.cn]), I heard no more of this seemingly promising NlogN approach to shuffling.
</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308734</id>
	<title>Re:He's just bitching</title>
	<author>Anonymous</author>
	<datestamp>1267350960000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Funny thing, I've seen this exact bug in Apache Foundation's email server project. It caused DNS MX records to be used in far from the random order required by the RFC. Now that has some real network load-balancing implications. Anyone want to whine about the evilness of Apache, and their non-compliance with standards?</p><p>But still - it's an interesting bug to be aware of.</p></htmltext>
<tokenext>Funny thing , I 've seen this exact bug in Apache Foundation 's email server project .
It caused DNS MX records to be used in far from the random order required by the RFC .
Now that has some real network load-balancing implications .
Anyone want to whine about the evilness of Apache , and their non-compliance with standards ? But still - it 's an interesting bug to be aware of .</tokentext>
<sentencetext>Funny thing, I've seen this exact bug in Apache Foundation's email server project.
It caused DNS MX records to be used in far from the random order required by the RFC.
Now that has some real network load-balancing implications.
Anyone want to whine about the evilness of Apache, and their non-compliance with standards?But still - it's an interesting bug to be aware of.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31315430</id>
	<title>Without javascript</title>
	<author>shuperkiwi</author>
	<datestamp>1267456620000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>IE is #1 if you have javascript disabled. How random!</htmltext>
<tokenext>IE is # 1 if you have javascript disabled .
How random !</tokentext>
<sentencetext>IE is #1 if you have javascript disabled.
How random!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309116</id>
	<title>Re:Seems like the right solution to me</title>
	<author>Anonymous</author>
	<datestamp>1267354080000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Not necessarily. If the court deems they did this through negligence or intent, they could risk further fines. And those fines could cost considerably more than using the 5 second solution instead of the 3 second solution.</p><p>I can see it now:</p><p>Divisional manager: "Hey boss, we saved $5 dollars of coder time by using a junior guy that didn't know his arse from a uniform distribution shuffle algorithm."</p><p>Boss: "We know. Because of that mistake, the courts just imposed another $10000  dollars per day penalty over and above our current fine."</p></htmltext>
<tokenext>Not necessarily .
If the court deems they did this through negligence or intent , they could risk further fines .
And those fines could cost considerably more than using the 5 second solution instead of the 3 second solution.I can see it now : Divisional manager : " Hey boss , we saved $ 5 dollars of coder time by using a junior guy that did n't know his arse from a uniform distribution shuffle algorithm .
" Boss : " We know .
Because of that mistake , the courts just imposed another $ 10000 dollars per day penalty over and above our current fine .
"</tokentext>
<sentencetext>Not necessarily.
If the court deems they did this through negligence or intent, they could risk further fines.
And those fines could cost considerably more than using the 5 second solution instead of the 3 second solution.I can see it now:Divisional manager: "Hey boss, we saved $5 dollars of coder time by using a junior guy that didn't know his arse from a uniform distribution shuffle algorithm.
"Boss: "We know.
Because of that mistake, the courts just imposed another $10000  dollars per day penalty over and above our current fine.
"</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308744</id>
	<title>Eh?</title>
	<author>Anonymous</author>
	<datestamp>1267351080000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Still caring about which browser people are using?  Some people just can't let the fuck go.  </p><p>It falls right up there with what kind of toilet bowl cleaner I use on my list of things that concern me.</p></htmltext>
<tokenext>Still caring about which browser people are using ?
Some people just ca n't let the fuck go .
It falls right up there with what kind of toilet bowl cleaner I use on my list of things that concern me .</tokentext>
<sentencetext>Still caring about which browser people are using?
Some people just can't let the fuck go.
It falls right up there with what kind of toilet bowl cleaner I use on my list of things that concern me.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309038</id>
	<title>Slower than necessary?</title>
	<author>Anonymous</author>
	<datestamp>1267353420000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p><div class="quote"><p>1 acceptable solution that is slower than necessary</p></div><p>Good god, they're shuffling an array with 5 freakin elements.  The "slow" solution would have been more than adequate.  In fact, I would argue it is the best solution since the code would have been simpler and easier to maintain (and quicker to download).</p></div>
	</htmltext>
<tokenext>1 acceptable solution that is slower than necessaryGood god , they 're shuffling an array with 5 freakin elements .
The " slow " solution would have been more than adequate .
In fact , I would argue it is the best solution since the code would have been simpler and easier to maintain ( and quicker to download ) .</tokentext>
<sentencetext>1 acceptable solution that is slower than necessaryGood god, they're shuffling an array with 5 freakin elements.
The "slow" solution would have been more than adequate.
In fact, I would argue it is the best solution since the code would have been simpler and easier to maintain (and quicker to download).
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308164</id>
	<title>Worthless idea from government...</title>
	<author>Anonymous</author>
	<datestamp>1267389900000</datestamp>
	<modclass>Troll</modclass>
	<modscore>-1</modscore>
	<htmltext><p>This is an example of yet another worthless idea from the government.  Superficially it may do some good, but ultimately, it just gives another thing to bitch about.</p><p>Did they even mandate how the randomness would be implemented?  No?  What kind of retards were involved in that decision.</p><p>Then again, I'm going to bitch at how WOW keeps giving me the same random heroics.  Never the ones I want.  And the dailies tend to run in strings.   DAMN IT I DON'T WANT TO PICK FLOWERS FOR THAT TROLL BITCH!</p></htmltext>
<tokenext>This is an example of yet another worthless idea from the government .
Superficially it may do some good , but ultimately , it just gives another thing to bitch about.Did they even mandate how the randomness would be implemented ?
No ? What kind of retards were involved in that decision.Then again , I 'm going to bitch at how WOW keeps giving me the same random heroics .
Never the ones I want .
And the dailies tend to run in strings .
DAMN IT I DO N'T WANT TO PICK FLOWERS FOR THAT TROLL BITCH !</tokentext>
<sentencetext>This is an example of yet another worthless idea from the government.
Superficially it may do some good, but ultimately, it just gives another thing to bitch about.Did they even mandate how the randomness would be implemented?
No?  What kind of retards were involved in that decision.Then again, I'm going to bitch at how WOW keeps giving me the same random heroics.
Never the ones I want.
And the dailies tend to run in strings.
DAMN IT I DON'T WANT TO PICK FLOWERS FOR THAT TROLL BITCH!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309260</id>
	<title>Re:Seems like the right solution to me</title>
	<author>Anonymous</author>
	<datestamp>1267355100000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>It's not like you need a PhD in statistics to shuffle an array, you could just google it and copy paste the 3 lines of code that appear in most of the first results. It takes more effort to come up with the plainly wrong algorithm they implemented than to find out the right one.</p><p>This is like saying that you need to sort an array, an instead of using a well known algorithm, you make up your own, which is inefficient and wrong 50\% of the time, but hey, it's a non-critical task so who is going to notice anyway?</p><p>I don't care what the cost/benefit seems to you, it's not cheaper to write bad code, microsoft can afford to hire people with a minimum of quality standards.</p></htmltext>
<tokenext>It 's not like you need a PhD in statistics to shuffle an array , you could just google it and copy paste the 3 lines of code that appear in most of the first results .
It takes more effort to come up with the plainly wrong algorithm they implemented than to find out the right one.This is like saying that you need to sort an array , an instead of using a well known algorithm , you make up your own , which is inefficient and wrong 50 \ % of the time , but hey , it 's a non-critical task so who is going to notice anyway ? I do n't care what the cost/benefit seems to you , it 's not cheaper to write bad code , microsoft can afford to hire people with a minimum of quality standards .</tokentext>
<sentencetext>It's not like you need a PhD in statistics to shuffle an array, you could just google it and copy paste the 3 lines of code that appear in most of the first results.
It takes more effort to come up with the plainly wrong algorithm they implemented than to find out the right one.This is like saying that you need to sort an array, an instead of using a well known algorithm, you make up your own, which is inefficient and wrong 50\% of the time, but hey, it's a non-critical task so who is going to notice anyway?I don't care what the cost/benefit seems to you, it's not cheaper to write bad code, microsoft can afford to hire people with a minimum of quality standards.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309654</id>
	<title>Wow.  Good Find.</title>
	<author>I'm Don Giovanni</author>
	<datestamp>1267358400000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I wonder how many javascripts on the web are using this same flawed random sort implementation?  Probably lots.</p></htmltext>
<tokenext>I wonder how many javascripts on the web are using this same flawed random sort implementation ?
Probably lots .</tokentext>
<sentencetext>I wonder how many javascripts on the web are using this same flawed random sort implementation?
Probably lots.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308258</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311660</id>
	<title>Re:What? Why not?</title>
	<author>Anonymous</author>
	<datestamp>1267375140000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I, too, was amazed. Instead of choosing some easy, if slightly tedious, solution, which would be very trustable, they chose some idiotic solution that risks infinite loops at unpredictable times. I might be moved to finally admit there is some purpose to having math education in CS -- to try to avoid this kind of really dumb programming.</p></htmltext>
<tokenext>I , too , was amazed .
Instead of choosing some easy , if slightly tedious , solution , which would be very trustable , they chose some idiotic solution that risks infinite loops at unpredictable times .
I might be moved to finally admit there is some purpose to having math education in CS -- to try to avoid this kind of really dumb programming .</tokentext>
<sentencetext>I, too, was amazed.
Instead of choosing some easy, if slightly tedious, solution, which would be very trustable, they chose some idiotic solution that risks infinite loops at unpredictable times.
I might be moved to finally admit there is some purpose to having math education in CS -- to try to avoid this kind of really dumb programming.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309010</id>
	<title>Re:Seems like the right solution to me</title>
	<author>YourExperiment</author>
	<datestamp>1267353180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>You're saying that it makes no difference to Microsoft whether IE appears last on the list 50\% of the time (what is actually happening) as opposed to 20\% of the time (what should be happening)?</htmltext>
<tokenext>You 're saying that it makes no difference to Microsoft whether IE appears last on the list 50 \ % of the time ( what is actually happening ) as opposed to 20 \ % of the time ( what should be happening ) ?</tokentext>
<sentencetext>You're saying that it makes no difference to Microsoft whether IE appears last on the list 50\% of the time (what is actually happening) as opposed to 20\% of the time (what should be happening)?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31315020</id>
	<title>Re:LAST</title>
	<author>jez9999</author>
	<datestamp>1267454700000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><i>Hmm, there's a nice shuffle implementation in Java that Microsoft could use... Oh, wait...</i></p><p>They could, however, just copy/paste it into a C# sourcecode file and compile.<nobr> <wbr></nobr>;-)</p></htmltext>
<tokenext>Hmm , there 's a nice shuffle implementation in Java that Microsoft could use... Oh , wait...They could , however , just copy/paste it into a C # sourcecode file and compile .
; - )</tokentext>
<sentencetext>Hmm, there's a nice shuffle implementation in Java that Microsoft could use... Oh, wait...They could, however, just copy/paste it into a C# sourcecode file and compile.
;-)</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310970</id>
	<title>Re:Seems like the right solution to me</title>
	<author>asaz989</author>
	<datestamp>1267368480000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>What ever happened to a programmer's pride in the craft? Or (on a more self-interested level) checking what your interns do to make sure they don't learn bad coding practices?</htmltext>
<tokenext>What ever happened to a programmer 's pride in the craft ?
Or ( on a more self-interested level ) checking what your interns do to make sure they do n't learn bad coding practices ?</tokentext>
<sentencetext>What ever happened to a programmer's pride in the craft?
Or (on a more self-interested level) checking what your interns do to make sure they don't learn bad coding practices?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308788</id>
	<title>This is why we get outsourced</title>
	<author>sohp</author>
	<datestamp>1267351380000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I'm a senior programmer, over 10 years experience. I don't think I would have EVER imagined a solution to randomizing that would involve a sort comparison function returning a random result. This is because I have an understanding of the implicit (and in some languages, <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Comparator.html" title="sun.com">explicitly documented</a> [sun.com]) total ordering contract imposed on the comparator function.</p><p>But you know what? If Microsoft doesn't care for nice things like correctness, why would any big software development company? Excepting cases like Wolfram Research's Mathematica and Autodesk's AutoCAD, of course. And yet they have the balls to call their people software engineers?</p><p>I'm not disagreeing with the conclusion that the quick and cheap way is sufficient and satisfactory from both the business standpoint and for this problem the technical standpoint. I'm simply saying that, as a profession, the field is so compromised with crap like that this that it's no wonder most software sucks. It's easy to see how an experienced and knowledgeable developer can be replaced by a couple of best-low-bid hacks.</p><p>Of course management rarely sees or understands the difference between throwing a hacked up function at an unimportant problem like this one, and doing the same thing when designing the firmware for a car, a risk calculation algorithm for derivative investments, or the math portion of a CPU. As a result, they'll promote the hack who spewed out this junk to a position working on something important, and the same bad algorithm will get used when it matters, and off we go with the people dying and the lawsuits and the congressional investigations.</p></htmltext>
<tokenext>I 'm a senior programmer , over 10 years experience .
I do n't think I would have EVER imagined a solution to randomizing that would involve a sort comparison function returning a random result .
This is because I have an understanding of the implicit ( and in some languages , explicitly documented [ sun.com ] ) total ordering contract imposed on the comparator function.But you know what ?
If Microsoft does n't care for nice things like correctness , why would any big software development company ?
Excepting cases like Wolfram Research 's Mathematica and Autodesk 's AutoCAD , of course .
And yet they have the balls to call their people software engineers ? I 'm not disagreeing with the conclusion that the quick and cheap way is sufficient and satisfactory from both the business standpoint and for this problem the technical standpoint .
I 'm simply saying that , as a profession , the field is so compromised with crap like that this that it 's no wonder most software sucks .
It 's easy to see how an experienced and knowledgeable developer can be replaced by a couple of best-low-bid hacks.Of course management rarely sees or understands the difference between throwing a hacked up function at an unimportant problem like this one , and doing the same thing when designing the firmware for a car , a risk calculation algorithm for derivative investments , or the math portion of a CPU .
As a result , they 'll promote the hack who spewed out this junk to a position working on something important , and the same bad algorithm will get used when it matters , and off we go with the people dying and the lawsuits and the congressional investigations .</tokentext>
<sentencetext>I'm a senior programmer, over 10 years experience.
I don't think I would have EVER imagined a solution to randomizing that would involve a sort comparison function returning a random result.
This is because I have an understanding of the implicit (and in some languages, explicitly documented [sun.com]) total ordering contract imposed on the comparator function.But you know what?
If Microsoft doesn't care for nice things like correctness, why would any big software development company?
Excepting cases like Wolfram Research's Mathematica and Autodesk's AutoCAD, of course.
And yet they have the balls to call their people software engineers?I'm not disagreeing with the conclusion that the quick and cheap way is sufficient and satisfactory from both the business standpoint and for this problem the technical standpoint.
I'm simply saying that, as a profession, the field is so compromised with crap like that this that it's no wonder most software sucks.
It's easy to see how an experienced and knowledgeable developer can be replaced by a couple of best-low-bid hacks.Of course management rarely sees or understands the difference between throwing a hacked up function at an unimportant problem like this one, and doing the same thing when designing the firmware for a car, a risk calculation algorithm for derivative investments, or the math portion of a CPU.
As a result, they'll promote the hack who spewed out this junk to a position working on something important, and the same bad algorithm will get used when it matters, and off we go with the people dying and the lawsuits and the congressional investigations.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309348</id>
	<title>KISS</title>
	<author>snevig</author>
	<datestamp>1267355700000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>An array can be easily randomized in JavaScript by simply assigning a fixed random number to each element of the array:<br>
<br>
<tt>function randomizeArray(a){var i,b=[];for(i=0;i&lt;a.length;i++)b.push([a[i],Math.random()]);b.sort(randomizeArraySort);for(i=0;i&lt;b.length;i++)b[i]=b[i][0];return b;}<br> <br>
function randomizeArraySort(a,b){return a[1]&lt;b[1]?-1:a[1]&gt;b[1]?1:0;}</tt> <br>
<br>
usage example:<br> <br>
<tt>alert(randomizeArray(["a","b","c","d","e"]));</tt></htmltext>
<tokenext>An array can be easily randomized in JavaScript by simply assigning a fixed random number to each element of the array : function randomizeArray ( a ) { var i,b = [ ] ; for ( i = 0 ; i function randomizeArraySort ( a,b ) { return a [ 1 ] b [ 1 ] ? 1 : 0 ; } usage example : alert ( randomizeArray ( [ " a " , " b " , " c " , " d " , " e " ] ) ) ;</tokentext>
<sentencetext>An array can be easily randomized in JavaScript by simply assigning a fixed random number to each element of the array:

function randomizeArray(a){var i,b=[];for(i=0;i 
function randomizeArraySort(a,b){return a[1]b[1]?1:0;} 

usage example: 
alert(randomizeArray(["a","b","c","d","e"]));</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309678</id>
	<title>Re:The top hit on Google...</title>
	<author>gargleblast</author>
	<datestamp>1267358760000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Its too bad the programmer didn't even know he was looking for a "shuffle".  The top two hits for <a href="http://www.google.com/#q=javascript+shuffle" title="google.com" rel="nofollow">javascript shuffle</a> [google.com] get it right and even refer to Fisher-Yates.</htmltext>
<tokenext>Its too bad the programmer did n't even know he was looking for a " shuffle " .
The top two hits for javascript shuffle [ google.com ] get it right and even refer to Fisher-Yates .</tokentext>
<sentencetext>Its too bad the programmer didn't even know he was looking for a "shuffle".
The top two hits for javascript shuffle [google.com] get it right and even refer to Fisher-Yates.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308258</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309606</id>
	<title>standards, never followed them, never will</title>
	<author>dltaylor</author>
	<datestamp>1267358100000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Three things would be needed for Microsoft to implement an effective random selection:</p><p>a spec' to follow the "standard"</p><p>a competent programmer</p><p>management willingness to let the programmer follow the spec'</p><p>Starting back with C-80 (a CP/M-80 attempt at a "C" compiler), Microsoft has consistently demonstrated that their organization lacks at lest one of those attributes.</p><p>int t\_array[16];<br>int *t\_pointer = &amp;t\_array[0];</p><p>however, in C-80 (t\_pointer != t\_array).</p><p>The Amiga programmers guide specified that addresses were 32-bit (68000), and not to store any data (flag bits, whatever) in the upper byte.  Microsoft stuffed flags into the upper byte when implementing Amiga Basic, which promptly broke everything when the 68020 bonded out the upper address byte.</p></htmltext>
<tokenext>Three things would be needed for Microsoft to implement an effective random selection : a spec ' to follow the " standard " a competent programmermanagement willingness to let the programmer follow the spec'Starting back with C-80 ( a CP/M-80 attempt at a " C " compiler ) , Microsoft has consistently demonstrated that their organization lacks at lest one of those attributes.int t \ _array [ 16 ] ; int * t \ _pointer = &amp;t \ _array [ 0 ] ; however , in C-80 ( t \ _pointer ! = t \ _array ) .The Amiga programmers guide specified that addresses were 32-bit ( 68000 ) , and not to store any data ( flag bits , whatever ) in the upper byte .
Microsoft stuffed flags into the upper byte when implementing Amiga Basic , which promptly broke everything when the 68020 bonded out the upper address byte .</tokentext>
<sentencetext>Three things would be needed for Microsoft to implement an effective random selection:a spec' to follow the "standard"a competent programmermanagement willingness to let the programmer follow the spec'Starting back with C-80 (a CP/M-80 attempt at a "C" compiler), Microsoft has consistently demonstrated that their organization lacks at lest one of those attributes.int t\_array[16];int *t\_pointer = &amp;t\_array[0];however, in C-80 (t\_pointer != t\_array).The Amiga programmers guide specified that addresses were 32-bit (68000), and not to store any data (flag bits, whatever) in the upper byte.
Microsoft stuffed flags into the upper byte when implementing Amiga Basic, which promptly broke everything when the 68020 bonded out the upper address byte.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309202</id>
	<title>Reach for Knuth?</title>
	<author>fm6</author>
	<datestamp>1267354800000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p><div class="quote"><p>And one of the things one learns early on is to reach for Knuth</p></div><p>Knuth is for computer scientists. Not everybody who writes code meets that definition. A lot of us (and I include myself) don't even qualify as "engineers".</p><p>For most programmers, the best way to write good "select random <i>x</i> from 1..<i>n</i> is not to brush up on our algorithmics. That's like fabricating a car part instead of going to the auto supply. (Hey, there's a good reason the car analogy keeps popping up!) You need to rely on standard, well-tested libraries. Josh Bloch even refers to this use case as an example of <a href="http://java.sun.com/docs/books/effective/excursion-random.html" title="sun.com">why you should rely on library code</a> [sun.com].</p></div>
	</htmltext>
<tokenext>And one of the things one learns early on is to reach for KnuthKnuth is for computer scientists .
Not everybody who writes code meets that definition .
A lot of us ( and I include myself ) do n't even qualify as " engineers " .For most programmers , the best way to write good " select random x from 1..n is not to brush up on our algorithmics .
That 's like fabricating a car part instead of going to the auto supply .
( Hey , there 's a good reason the car analogy keeps popping up !
) You need to rely on standard , well-tested libraries .
Josh Bloch even refers to this use case as an example of why you should rely on library code [ sun.com ] .</tokentext>
<sentencetext>And one of the things one learns early on is to reach for KnuthKnuth is for computer scientists.
Not everybody who writes code meets that definition.
A lot of us (and I include myself) don't even qualify as "engineers".For most programmers, the best way to write good "select random x from 1..n is not to brush up on our algorithmics.
That's like fabricating a car part instead of going to the auto supply.
(Hey, there's a good reason the car analogy keeps popping up!
) You need to rely on standard, well-tested libraries.
Josh Bloch even refers to this use case as an example of why you should rely on library code [sun.com].
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308526</id>
	<title>Re:What's the problem?</title>
	<author>EvanED</author>
	<datestamp>1267349340000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>3</modscore>
	<htmltext><p><i>As the author of the article pointed out, this technique can cause an infinite loop.</i></p><p>For certain, pretty crappy definitions of "can". First, you'll notice he also points out that that "depends on the sorting algorithm used". I <i>don't</i> think that the most likely choices (Quicksort in particular) fall victim to this. Second, the other poster is right: the probability that it's actually an infinite loop is 0.</p></htmltext>
<tokenext>As the author of the article pointed out , this technique can cause an infinite loop.For certain , pretty crappy definitions of " can " .
First , you 'll notice he also points out that that " depends on the sorting algorithm used " .
I do n't think that the most likely choices ( Quicksort in particular ) fall victim to this .
Second , the other poster is right : the probability that it 's actually an infinite loop is 0 .</tokentext>
<sentencetext>As the author of the article pointed out, this technique can cause an infinite loop.For certain, pretty crappy definitions of "can".
First, you'll notice he also points out that that "depends on the sorting algorithm used".
I don't think that the most likely choices (Quicksort in particular) fall victim to this.
Second, the other poster is right: the probability that it's actually an infinite loop is 0.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264</id>
	<title>Re:What? Why not?</title>
	<author>Anonymous</author>
	<datestamp>1267390500000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>5</modscore>
	<htmltext>I thought it was originally going to be that they forgot to seed the random number generator or something.<p>

What the problem actually seems to be is not that they're using random, but how they're using it.</p><p>

What they essentially did was use something like qsort() to sort the list, but in their comparator function, instead of returning which of the two strings comes first, they return some random crap instead.  qsort() or whatever they used was designed to have results that are <i>consistent</i>, and with input like that it could potentially abort and leave the list entirely unsorted.  Or if you're really unlucky it could sit there sorting them forever.</p></htmltext>
<tokenext>I thought it was originally going to be that they forgot to seed the random number generator or something .
What the problem actually seems to be is not that they 're using random , but how they 're using it .
What they essentially did was use something like qsort ( ) to sort the list , but in their comparator function , instead of returning which of the two strings comes first , they return some random crap instead .
qsort ( ) or whatever they used was designed to have results that are consistent , and with input like that it could potentially abort and leave the list entirely unsorted .
Or if you 're really unlucky it could sit there sorting them forever .</tokentext>
<sentencetext>I thought it was originally going to be that they forgot to seed the random number generator or something.
What the problem actually seems to be is not that they're using random, but how they're using it.
What they essentially did was use something like qsort() to sort the list, but in their comparator function, instead of returning which of the two strings comes first, they return some random crap instead.
qsort() or whatever they used was designed to have results that are consistent, and with input like that it could potentially abort and leave the list entirely unsorted.
Or if you're really unlucky it could sit there sorting them forever.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309030</id>
	<title>Re:Seems like the right solution to me</title>
	<author>noidentity</author>
	<datestamp>1267353360000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I'm not as bothered by the lack of randomness as the violation of the constraints for a comparison function, as covered in the blog entry. It's like the newbies who want to write a comparison for a structure with two integer members, and write the is\_less as (x.i  y.i) || (x.j  y.j) (or some such simplistic incorrect version).</htmltext>
<tokenext>I 'm not as bothered by the lack of randomness as the violation of the constraints for a comparison function , as covered in the blog entry .
It 's like the newbies who want to write a comparison for a structure with two integer members , and write the is \ _less as ( x.i y.i ) | | ( x.j y.j ) ( or some such simplistic incorrect version ) .</tokentext>
<sentencetext>I'm not as bothered by the lack of randomness as the violation of the constraints for a comparison function, as covered in the blog entry.
It's like the newbies who want to write a comparison for a structure with two integer members, and write the is\_less as (x.i  y.i) || (x.j  y.j) (or some such simplistic incorrect version).</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308878</id>
	<title>Re:Microsoft problem solving</title>
	<author>omfgnosis</author>
	<datestamp>1267352160000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I think that is actually describing the browsers themselves.</p></htmltext>
<tokenext>I think that is actually describing the browsers themselves .</tokentext>
<sentencetext>I think that is actually describing the browsers themselves.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308270</parent>
</comment>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_70</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31313602
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_66</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310062
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_1</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308108
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312200
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_43</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308108
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308150
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_71</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308960
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_34</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308724
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308912
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_10</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308526
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_33</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308732
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31314722
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_24</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312186
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_40</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308258
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309678
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_58</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311036
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_63</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308792
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_53</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308330
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308602
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308930
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_8</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308404
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_29</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308252
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31321858
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_32</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309956
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_60</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311288
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_46</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308252
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308876
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_19</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31317846
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_22</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308184
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308490
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309174
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_61</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308690
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_5</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309030
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_52</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308762
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_38</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308380
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_51</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309270
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_14</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309514
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_0</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308566
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309040
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_16</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309008
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_2</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308604
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309070
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_44</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308258
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309654
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_67</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309010
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_69</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309260
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_57</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308438
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308946
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_59</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308734
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_3</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309978
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_50</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308348
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308540
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_73</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308858
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_36</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311212
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_64</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312932
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_27</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312674
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_41</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311042
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_26</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310524
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_28</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308922
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_31</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311474
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_65</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308814
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_56</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308622
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_9</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31315020
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_72</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308358
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_55</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31313096
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_49</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311300
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_62</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310970
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_23</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309910
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_25</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310592
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_6</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308604
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309480
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_48</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308438
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312008
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_39</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310262
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_30</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308458
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_13</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309202
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31324996
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_15</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308628
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_17</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308656
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_20</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308724
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309076
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_7</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308354
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31321936
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_54</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31320512
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_68</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310740
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_45</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308724
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308894
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_47</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311660
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_18</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308258
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309504
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_21</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308566
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309854
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_4</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310414
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_12</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311306
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_35</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308270
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308878
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_37</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31316434
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_11</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308580
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_02_28_1837223_42</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309116
</commentlist>
</thread>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.7</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308442
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.18</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308258
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309678
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309504
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309654
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.1</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308724
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308912
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309076
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308894
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.19</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308450
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.8</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308220
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309978
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310414
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308762
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308656
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.25</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308174
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.5</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308172
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308260
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308458
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308526
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311300
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308922
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308322
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308732
---http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31314722
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308566
---http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309854
---http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309040
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308628
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309514
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308404
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308734
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308428
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308960
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311212
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312932
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308858
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308792
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.6</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309202
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31324996
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.16</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309258
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.3</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308184
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308490
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309174
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.14</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308330
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308602
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308930
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.0</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308086
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.17</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308270
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308878
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.12</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308552
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.23</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308176
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308354
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31321936
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308264
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308358
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308438
---http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308946
---http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312008
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31317846
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311660
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.15</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308348
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308540
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.10</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308194
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308380
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308622
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308366
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311042
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309008
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308814
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308580
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310524
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.21</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308328
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.24</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308092
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311036
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31315020
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309956
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308916
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31313096
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311288
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31316434
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31313602
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31320512
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.13</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308108
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308150
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312200
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.4</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308252
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31321858
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308876
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.22</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308658
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.2</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308604
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309070
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309480
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.11</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308662
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.26</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308898
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312674
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310062
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310592
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31312186
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309270
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310262
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311306
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.20</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308388
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31308690
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309030
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309260
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310970
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309910
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31310740
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309116
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31311474
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309010
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_02_28_1837223.9</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_02_28_1837223.31309106
</commentlist>
</conversation>
