<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
	>
<channel>
	<title>Comments on: Doing the Microsoft Shuffle: Algorithm Fail in Browser Ballot</title>
	<atom:link href="http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=microsoft-random-browser-ballot</link>
	<description>Thinking the unthinkable, pondering the imponderable, effing the ineffable and scruting the inscrutable</description>
	<lastBuildDate>Tue, 07 Feb 2012 11:20:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: sjp</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-41850</link>
		<dc:creator>sjp</dc:creator>
		<pubDate>Sat, 28 Jan 2012 02:06:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-41850</guid>
		<description>http://www.javascriptkit.com/javatutors/arraysort.shtml is still wrong!!!</description>
		<content:encoded><![CDATA[<p><a href="http://www.javascriptkit.com/javatutors/arraysort.shtml" rel="nofollow">http://www.javascriptkit.com/javatutors/arraysort.shtml</a> is still wrong!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek O'Connor</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-27108</link>
		<dc:creator>Derek O'Connor</dc:creator>
		<pubDate>Fri, 09 Sep 2011 19:01:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-27108</guid>
		<description>Algorithm P in Knuth Vol 2, is Durstenfeld&#039;s Random Permutation algorithm (1964), which is optimal in time and space, i.e., O(n).

The Fisher-Yates Shuffle algorithm (1938?) is not optimal. It is O(n^2).

I believe Knuth is wrong to attribute Durstenfeld&#039;s algorithm to Fisher-Yates. See my argument here:

http://www.scribd.com/doc/64349616/O-Connor-A-Historical-Note-on-the-Fisher-Yates-Durstenfeld-Shuffle-Algorithms</description>
		<content:encoded><![CDATA[<p>Algorithm P in Knuth Vol 2, is Durstenfeld&#8217;s Random Permutation algorithm (1964), which is optimal in time and space, i.e., O(n).</p>
<p>The Fisher-Yates Shuffle algorithm (1938?) is not optimal. It is O(n^2).</p>
<p>I believe Knuth is wrong to attribute Durstenfeld&#8217;s algorithm to Fisher-Yates. See my argument here:</p>
<p><a href="http://www.scribd.com/doc/64349616/O-Connor-A-Historical-Note-on-the-Fisher-Yates-Durstenfeld-Shuffle-Algorithms" rel="nofollow">http://www.scribd.com/doc/64349616/O-Connor-A-Historical-Note-on-the-Fisher-Yates-Durstenfeld-Shuffle-Algorithms</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tibetus</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-19295</link>
		<dc:creator>tibetus</dc:creator>
		<pubDate>Tue, 07 Jun 2011 18:31:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-19295</guid>
		<description>To randomize the order of the elements within an array, what we need is the body of our sortfunction to return a number that is randomly 0, irrespective to the relationship between &quot;a&quot; and &quot;b&quot;.</description>
		<content:encoded><![CDATA[<p>To randomize the order of the elements within an array, what we need is the body of our sortfunction to return a number that is randomly 0, irrespective to the relationship between &#8220;a&#8221; and &#8220;b&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Intermediaware &#187; Hack of the day: Random sort</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-17511</link>
		<dc:creator>Intermediaware &#187; Hack of the day: Random sort</dc:creator>
		<pubDate>Fri, 20 May 2011 23:23:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-17511</guid>
		<description>[...] While this seems like a very easy solution with only a few lines of code, Pimm Hogeling and @43ryn pointed out, that it isn&#8217;t a good idea to use it, because in the worst case it could end in an infinite loop. You can read about the details here. [...]</description>
		<content:encoded><![CDATA[<p>[...] While this seems like a very easy solution with only a few lines of code, Pimm Hogeling and @43ryn pointed out, that it isn&#8217;t a good idea to use it, because in the worst case it could end in an infinite loop. You can read about the details here. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Intermediaware &#187; Hack of the day: Random sort</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-8832</link>
		<dc:creator>Intermediaware &#187; Hack of the day: Random sort</dc:creator>
		<pubDate>Wed, 02 Feb 2011 08:38:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-8832</guid>
		<description>[...] While this seems like a very easy solution with only a few lines of code, Pimm Hogeling pointed out, that it isn&#8217;t a good idea to use it, because it the worst case it could end in an endless loop. You can read about the details here. [...]</description>
		<content:encoded><![CDATA[<p>[...] While this seems like a very easy solution with only a few lines of code, Pimm Hogeling pointed out, that it isn&#8217;t a good idea to use it, because it the worst case it could end in an endless loop. You can read about the details here. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Microsofts browser ballot &#124; hexdump /dev/random</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-4081</link>
		<dc:creator>Microsofts browser ballot &#124; hexdump /dev/random</dc:creator>
		<pubDate>Sun, 12 Dec 2010 13:47:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-4081</guid>
		<description>[...] finde bestimmt wenn ich ein bisschen suche auch eine Distro die Opera mitliefert), aber das hier setzt dem ganzen ja die Krone auf. Nicht zufällig genug! Wenn das stimmt, ist eh der IE am meisten [...]</description>
		<content:encoded><![CDATA[<p>[...] finde bestimmt wenn ich ein bisschen suche auch eine Distro die Opera mitliefert), aber das hier setzt dem ganzen ja die Krone auf. Nicht zufällig genug! Wenn das stimmt, ist eh der IE am meisten [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: How would you design the browser ballot? &#171; mike.williamson</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3271</link>
		<dc:creator>How would you design the browser ballot? &#171; mike.williamson</dc:creator>
		<pubDate>Fri, 16 Apr 2010 04:53:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3271</guid>
		<description>[...] but in the end a web page was created that would display the major browsers to the user in random(ish) order. The user would decide what to install from [...]</description>
		<content:encoded><![CDATA[<p>[...] but in the end a web page was created that would display the major browsers to the user in random(ish) order. The user would decide what to install from [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan W.</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3270</link>
		<dc:creator>Stefan W.</dc:creator>
		<pubDate>Thu, 15 Apr 2010 20:59:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3270</guid>
		<description>Well - the idea didn&#039;t let me sleep, how to enumerat a permutation in such a way, that you needn&#039;t do all permutations, to get a reproduceable element. 
If you have 3 browsers, we have 3*2=6 possible combinations, with 4 browsers 4*6, with 5 browsers 5! permutations. If we have a way to enumerate those, we can choose a x=random.nextInt (n!) and generate the appropriate Permutation.  (again, scala-code)
[code] object Code2Perm {
  
	val r = new java.util.Random 
	
	def code2perm (code: Int, set: List[String]) : List [String] = {
		val len = set.size
  		val pos = code % len 
		if (len &gt; 1) {
			val rest = code2perm (code / len, set.tail)
			rest.take (pos) ::: (set.head :: rest.drop (pos))
		} else
			set
	}
	
	// just for Input &gt; 0, and not too big :)
	def fak (n: Int) : Int = if (n  
		  	println (code2perm (i, set)))  
	}
}
[/code]
The proof of the algorithm is, that you can produce every permutation with (0 to fak(n)-1) like demonstratet in &#039;permuatateAll&#039;. 
It works by constructing a list (ab) for (0) and (ba) for (1), n=2 elements: n=2! permutations. For more elements the sublist for 2 elements is  generated first. Then the sublist for n+1 elements is generated like this: 
The index is the code % (n+1), so for 3 elements and a given sublist (xy), if code=4 then code%3 = 1, so the Position for a in aXY is 1. =&gt; XaY.
The code / (n+1) is the number used to generate the ordering for the last two elements, so 4/3 = 1 (Integer-division) and bc from abc mens, that b is put to position 1, which leads to ba (little endian). 
With 5 elements, max=5!=120. Let&#039;s assume 93 to be our random-number. 
[code] 
source	rest	index	character	mod i	div i		
fcsoi	93	0	f	3	18	iscfo
fcsoi	18	1	c	2	4	isco
fcsoi	4	2	s	1	1	iso
fcsoi	1	3	o	1	0	io
fcsoi	0	4	i	0	0	i
[/code]
Ignore the last column until you reach the bottom. 
93 % 5 is 3 rest 18. 3 will be the final position for character &#039;f&#039;. 18 is the rest-value for the next line.
18 % 4 is 2 rest 1.    2 will be the temporary position of &#039;c&#039;. 18/4=4, 4 goes to the next line. 
 4% 3 is 1 rest 1. 1 will be temp. pos. of &#039;s&#039; and so on. The modulo-value will be the position of that character. 

To construct the final result we start at the bottom, i at Index 0. (from left to right). o at Position 1 =&gt; io. But then s occupies Position 1 and pushes the o to the right: iso. C at position 2  =&gt; isco, and f at pos. 3 =&gt; iscfo. 

The algorithm works in linear time to the size n of permutation, O(n).</description>
		<content:encoded><![CDATA[<p>Well &#8211; the idea didn&#8217;t let me sleep, how to enumerat a permutation in such a way, that you needn&#8217;t do all permutations, to get a reproduceable element.<br />
If you have 3 browsers, we have 3*2=6 possible combinations, with 4 browsers 4*6, with 5 browsers 5! permutations. If we have a way to enumerate those, we can choose a x=random.nextInt (n!) and generate the appropriate Permutation.  (again, scala-code)</p>
<pre class="brush: plain; title: ; notranslate"> object Code2Perm {

	val r = new java.util.Random 

	def code2perm (code: Int, set: List[String]) : List [String] = {
		val len = set.size
  		val pos = code % len
		if (len &gt; 1) {
			val rest = code2perm (code / len, set.tail)
			rest.take (pos) ::: (set.head :: rest.drop (pos))
		} else
			set
	}

	// just for Input &gt; 0, and not too big :)
	def fak (n: Int) : Int = if (n
		  	println (code2perm (i, set)))
	}
}
</pre>
<p>The proof of the algorithm is, that you can produce every permutation with (0 to fak(n)-1) like demonstratet in &#8216;permuatateAll&#8217;.<br />
It works by constructing a list (ab) for (0) and (ba) for (1), n=2 elements: n=2! permutations. For more elements the sublist for 2 elements is  generated first. Then the sublist for n+1 elements is generated like this:<br />
The index is the code % (n+1), so for 3 elements and a given sublist (xy), if code=4 then code%3 = 1, so the Position for a in aXY is 1. =&gt; XaY.<br />
The code / (n+1) is the number used to generate the ordering for the last two elements, so 4/3 = 1 (Integer-division) and bc from abc mens, that b is put to position 1, which leads to ba (little endian).<br />
With 5 elements, max=5!=120. Let&#8217;s assume 93 to be our random-number. </p>
<pre class="brush: plain; title: ; notranslate">
source	rest	index	character	mod i	div i
fcsoi	93	0	f	3	18	iscfo
fcsoi	18	1	c	2	4	isco
fcsoi	4	2	s	1	1	iso
fcsoi	1	3	o	1	0	io
fcsoi	0	4	i	0	0	i
</pre>
<p>Ignore the last column until you reach the bottom.<br />
93 % 5 is 3 rest 18. 3 will be the final position for character &#8216;f&#8217;. 18 is the rest-value for the next line.<br />
18 % 4 is 2 rest 1.    2 will be the temporary position of &#8216;c&#8217;. 18/4=4, 4 goes to the next line.<br />
 4% 3 is 1 rest 1. 1 will be temp. pos. of &#8216;s&#8217; and so on. The modulo-value will be the position of that character. </p>
<p>To construct the final result we start at the bottom, i at Index 0. (from left to right). o at Position 1 =&gt; io. But then s occupies Position 1 and pushes the o to the right: iso. C at position 2  =&gt; isco, and f at pos. 3 =&gt; iscfo. </p>
<p>The algorithm works in linear time to the size n of permutation, O(n).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan W.</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3269</link>
		<dc:creator>Stefan W.</dc:creator>
		<pubDate>Thu, 15 Apr 2010 15:30:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3269</guid>
		<description>I&#039;m not sure whether I understood all comments from Jose_X especially. I guess I&#039;m just repeating in my own words. 

Rob, if you have two browsers AB and choose from ABAB with index 0 to 2, the possibilities are AB, BA and AB again. 
So it should just be ABA with index (0,1) =&gt; AB, BA.

Now with 3 Browsers 
ABC, 
-BCA, 
--CAB 
 we could form ABCAB wiht index (0 to 2). This would contain every browser at every position, but not every permutation. Maybe Icon B looks pretty inviting if placed left to C? This is a very academical question, but let&#039;s try to solve it:
We need ACB, CBA and BAC - right? 

So let&#039;s choose a digit from 0 to 2 to find a startindex in [ABC], and a direction (0,1) which means left-or-right.
We multiply 3*2 choices and get 6. So we need an Int from 0 to 5 and take - for example 4. 4/3 &gt;= 1 so we walk to the right in the array. 
4%3 == 1 so startindex is 1.. We proceed over the border in [ABC] from B to C and reenter the set to A. 

Unfortunately a set of 3 elements is the last one where this works. For 4 elements we would need another approach. 
The idea of crossing the border could be used for every number of browsers (lynx, elinks come to mind :) ).

We could enumerate every possible combination, and just choose the enumerated combination. 
e browsers numbered map
0  ABC  012
1  ACB  021
2  BAC  102
3  BCA  120
4  CAB  201
5  CBA  210
you see, the numbering is increasing, RAND=&gt; 2 would lead to choice CAB.  I can&#039;t give an adhoc Implementation of how to produce such an enumeration in 2 or 3 lines of code. The number of possibilities is n!, which is for 5, 5!=120 Possibilities.

My solution from above could do the work in place too, but scala is a mixed approach, functional and OOP, and the functional idea is more about immutability. It would be possible to switch a choosen value from the current position with that at the current position, and increase the current position by 1 per step. Possible, but not elegant. 

Apropos browser: In firefox (linux) this page is rendered hardly readable - the text is vanishing at the right, while I increased the font size. Can there something be done, please?</description>
		<content:encoded><![CDATA[<p>I&#8217;m not sure whether I understood all comments from Jose_X especially. I guess I&#8217;m just repeating in my own words. </p>
<p>Rob, if you have two browsers AB and choose from ABAB with index 0 to 2, the possibilities are AB, BA and AB again.<br />
So it should just be ABA with index (0,1) =&gt; AB, BA.</p>
<p>Now with 3 Browsers<br />
ABC,<br />
-BCA,<br />
&#8211;CAB<br />
 we could form ABCAB wiht index (0 to 2). This would contain every browser at every position, but not every permutation. Maybe Icon B looks pretty inviting if placed left to C? This is a very academical question, but let&#8217;s try to solve it:<br />
We need ACB, CBA and BAC &#8211; right? </p>
<p>So let&#8217;s choose a digit from 0 to 2 to find a startindex in [ABC], and a direction (0,1) which means left-or-right.<br />
We multiply 3*2 choices and get 6. So we need an Int from 0 to 5 and take &#8211; for example 4. 4/3 &gt;= 1 so we walk to the right in the array.<br />
4%3 == 1 so startindex is 1.. We proceed over the border in [ABC] from B to C and reenter the set to A. </p>
<p>Unfortunately a set of 3 elements is the last one where this works. For 4 elements we would need another approach.<br />
The idea of crossing the border could be used for every number of browsers (lynx, elinks come to mind :) ).</p>
<p>We could enumerate every possible combination, and just choose the enumerated combination.<br />
e browsers numbered map<br />
0  ABC  012<br />
1  ACB  021<br />
2  BAC  102<br />
3  BCA  120<br />
4  CAB  201<br />
5  CBA  210<br />
you see, the numbering is increasing, RAND=&gt; 2 would lead to choice CAB.  I can&#8217;t give an adhoc Implementation of how to produce such an enumeration in 2 or 3 lines of code. The number of possibilities is n!, which is for 5, 5!=120 Possibilities.</p>
<p>My solution from above could do the work in place too, but scala is a mixed approach, functional and OOP, and the functional idea is more about immutability. It would be possible to switch a choosen value from the current position with that at the current position, and increase the current position by 1 per step. Possible, but not elegant. </p>
<p>Apropos browser: In firefox (linux) this page is rendered hardly readable &#8211; the text is vanishing at the right, while I increased the font size. Can there something be done, please?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Microsofts browser ballot &#171; linopolus&#39; blog</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3259</link>
		<dc:creator>Microsofts browser ballot &#171; linopolus&#39; blog</dc:creator>
		<pubDate>Mon, 05 Apr 2010 15:18:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3259</guid>
		<description>[...] finde bestimmt wenn ich ein bisschen suche auch eine Distro die Opera mitliefert), aber das hier setzt dem ganzen ja die Krone auf. Nicht zufällig genug! Wenn das stimmt, ist eh der IE am meisten [...]</description>
		<content:encoded><![CDATA[<p>[...] finde bestimmt wenn ich ein bisschen suche auch eine Distro die Opera mitliefert), aber das hier setzt dem ganzen ja die Krone auf. Nicht zufällig genug! Wenn das stimmt, ist eh der IE am meisten [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3258</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Mon, 05 Apr 2010 14:50:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3258</guid>
		<description>@My name,  I like the way you put it better.  Thanks. </description>
		<content:encoded><![CDATA[<p>@My name,  I like the way you put it better.  Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Microsofts browser ballot - Linopolus' Weblog</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3257</link>
		<dc:creator>Microsofts browser ballot - Linopolus' Weblog</dc:creator>
		<pubDate>Mon, 05 Apr 2010 11:11:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3257</guid>
		<description>[...] finde bestimmt wenn ich ein bisschen suche auch eine Distro die Opera mitliefert), aber das hier setzt dem ganzen ja die Krone auf. Nicht zufällig genug! Wenn das stimmt, ist eh der IE am meisten [...]</description>
		<content:encoded><![CDATA[<p>[...] finde bestimmt wenn ich ein bisschen suche auch eine Distro die Opera mitliefert), aber das hier setzt dem ganzen ja die Krone auf. Nicht zufällig genug! Wenn das stimmt, ist eh der IE am meisten [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: My name</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3256</link>
		<dc:creator>My name</dc:creator>
		<pubDate>Fri, 02 Apr 2010 23:17:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3256</guid>
		<description>Rob February 28, 2010 at 1:46 pm : Good find! Just to be nitpicking a bit now that we are talking statistics ;) But you write:

&quot; The p-value itself showed that the distribution was so uneven that the chances were 1 in 50,000,000,000,000,000 that these results were drawn from a process that was actually producing random orderings&quot;.

I think that statement is wrong. What you probably meant was:

&quot;The p-value itself showed that the distribution was so uneven that IF the results were drawn from a random process, the chances you would get something deviating at least as much from the most likely distribution is 1 in 50,000,000,000,000,000&quot;.

See the difference? You can&#039;t say &quot;The results show that the probability is x% their algorithm is correct [i.e. null hypothesis true]&quot; (which is essentially what your statement is saying). Maybe if you had some a priori idea on what the probability the algorithm was correct to begin with is, and took that into account in the calculation, you could say something like that. The intuition is that if the a priori probability that Microsoft could such an embarassing mistake is only 10^-42 then clearly it is still very likely to be correct even after your observation what you did. ;-) There&#039;s also some more technical correction in the 2nd part of the statement but you can&#039;t really untie it from the overall error in the statement ;-)</description>
		<content:encoded><![CDATA[<p>Rob February 28, 2010 at 1:46 pm : Good find! Just to be nitpicking a bit now that we are talking statistics ;) But you write:</p>
<p>&#8221; The p-value itself showed that the distribution was so uneven that the chances were 1 in 50,000,000,000,000,000 that these results were drawn from a process that was actually producing random orderings&#8221;.</p>
<p>I think that statement is wrong. What you probably meant was:</p>
<p>&#8220;The p-value itself showed that the distribution was so uneven that IF the results were drawn from a random process, the chances you would get something deviating at least as much from the most likely distribution is 1 in 50,000,000,000,000,000&#8243;.</p>
<p>See the difference? You can&#8217;t say &#8220;The results show that the probability is x% their algorithm is correct [i.e. null hypothesis true]&#8221; (which is essentially what your statement is saying). Maybe if you had some a priori idea on what the probability the algorithm was correct to begin with is, and took that into account in the calculation, you could say something like that. The intuition is that if the a priori probability that Microsoft could such an embarassing mistake is only 10^-42 then clearly it is still very likely to be correct even after your observation what you did. ;-) There&#8217;s also some more technical correction in the 2nd part of the statement but you can&#8217;t really untie it from the overall error in the statement ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3245</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Sun, 28 Mar 2010 13:42:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3245</guid>
		<description>@Charles (from 131.107.0.87),

A word to the wise.  If you are going to submit a comment that: 1) contains spelling errors, 2) contains profanity, 3) insults your users,  4) insults your competitors and 5) shows general ignorance of the topic, then you might want to avoid posting it from a Microsoft.com IP address.</description>
		<content:encoded><![CDATA[<p>@Charles (from 131.107.0.87),</p>
<p>A word to the wise.  If you are going to submit a comment that: 1) contains spelling errors, 2) contains profanity, 3) insults your users,  4) insults your competitors and 5) shows general ignorance of the topic, then you might want to avoid posting it from a Microsoft.com IP address.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Microsoft Fix Their Non-Random Browser Choice Screen &#124; allphp.com</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3244</link>
		<dc:creator>Microsoft Fix Their Non-Random Browser Choice Screen &#124; allphp.com</dc:creator>
		<pubDate>Sun, 28 Mar 2010 05:07:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3244</guid>
		<description>[...] engineer Rob Weir has produced one of the better reports about the browser ordering on browserchoice.eu. The non-randomness is quite complex and it [...]</description>
		<content:encoded><![CDATA[<p>[...] engineer Rob Weir has produced one of the better reports about the browser ordering on browserchoice.eu. The non-randomness is quite complex and it [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3242</link>
		<dc:creator>Charles</dc:creator>
		<pubDate>Wed, 24 Mar 2010 22:07:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3242</guid>
		<description>Ummm... Who cares.

That was 45min of my life I will never get back. Who cares the positioning of the browsers? If people are to stupid to choose the browser that they want to use then f**k them.

I hit refresh about 5 times and i got a bunch of random positions. Did it make me want to install Opera or Safari? No. Why? Because they basically suck.</description>
		<content:encoded><![CDATA[<p>Ummm&#8230; Who cares.</p>
<p>That was 45min of my life I will never get back. Who cares the positioning of the browsers? If people are to stupid to choose the browser that they want to use then f**k them.</p>
<p>I hit refresh about 5 times and i got a bunch of random positions. Did it make me want to install Opera or Safari? No. Why? Because they basically suck.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ora che c&#8217;è scelta evidente, Explorer perde terreno &#171; Macworld Online</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3240</link>
		<dc:creator>Ora che c&#8217;è scelta evidente, Explorer perde terreno &#171; Macworld Online</dc:creator>
		<pubDate>Mon, 22 Mar 2010 13:38:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3240</guid>
		<description>[...] stata al centro di polemiche perch&#233; in prima battuta Microsoft l&#8217;aveva realizzata sbagliando algoritmo e la sequenza dei browser, che dovrebbe cambiare ogni volta in modo casuale, in realt&#224; [...]</description>
		<content:encoded><![CDATA[<p>[...] stata al centro di polemiche perch&#233; in prima battuta Microsoft l&#8217;aveva realizzata sbagliando algoritmo e la sequenza dei browser, che dovrebbe cambiare ogni volta in modo casuale, in realt&#224; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: YouTube drops IE6 support &#171; Rabidgremlin&#39;s Soapbox</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3228</link>
		<dc:creator>YouTube drops IE6 support &#171; Rabidgremlin&#39;s Soapbox</dc:creator>
		<pubDate>Tue, 16 Mar 2010 23:56:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3228</guid>
		<description>[...] The order of the browsers appears to be random, refreshing on each load. Hopefully they used a better random algorithm then Microsoft recently used for their EU browser choice site. [...]</description>
		<content:encoded><![CDATA[<p>[...] The order of the browsers appears to be random, refreshing on each load. Hopefully they used a better random algorithm then Microsoft recently used for their EU browser choice site. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Microsoft tweaks browser ballot code &#124; Easybranches.com&#8482;</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3215</link>
		<dc:creator>Microsoft tweaks browser ballot code &#124; Easybranches.com&#8482;</dc:creator>
		<pubDate>Tue, 09 Mar 2010 20:05:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3215</guid>
		<description>[...] Rob Weir, an IBM software architect, picked up on the story and discussed the details on his blog page. Weir blamed the problem on a sloppy algorithm and expressed astonishment that the flaw made it out [...]</description>
		<content:encoded><![CDATA[<p>[...] Rob Weir, an IBM software architect, picked up on the story and discussed the details on his blog page. Weir blamed the problem on a sloppy algorithm and expressed astonishment that the flaw made it out [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kruador</title>
		<link>http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html#comment-3213</link>
		<dc:creator>kruador</dc:creator>
		<pubDate>Tue, 09 Mar 2010 18:19:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.robweir.com/blog/?p=766#comment-3213</guid>
		<description>There&#039;s a lot of conspiracy on here about fifth place. To those I would pose the question: if fifth place was so attractive, why did Opera spend so much effort getting the EU to require it to be done randomly rather than taking the fifth place that was rightfully theirs through usage share? 

Microsoft&#039;s own research for Office 2007 suggests that second place would attract most eyes. This is why the most frequently-used commands are not at the far left-hand end of the Ribbon but in the second group from the left. http://blogs.msdn.com/jensenh/archive/2005/09/29/475296.aspx.</description>
		<content:encoded><![CDATA[<p>There&#8217;s a lot of conspiracy on here about fifth place. To those I would pose the question: if fifth place was so attractive, why did Opera spend so much effort getting the EU to require it to be done randomly rather than taking the fifth place that was rightfully theirs through usage share? </p>
<p>Microsoft&#8217;s own research for Office 2007 suggests that second place would attract most eyes. This is why the most frequently-used commands are not at the far left-hand end of the Ribbon but in the second group from the left. <a href="http://blogs.msdn.com/jensenh/archive/2005/09/29/475296.aspx" rel="nofollow">http://blogs.msdn.com/jensenh/archive/2005/09/29/475296.aspx</a>.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.595 seconds -->

