<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.opendemocracy.net" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>open Democracy News Analysis - Random, Bill Thompson  - Comments</title>
 <link>http://www.opendemocracy.net/arts/article_2174.jsp</link>
 <description>Comments for &quot;Random, Bill Thompson &quot;</description>
 <language>en</language>
<item>
 <title>Random, Bill Thompson </title>
 <link>http://www.opendemocracy.net/arts/article_2174.jsp</link>
 <description>&lt;div class=&quot;pull_quote_article&quot;&gt;&lt;div class=&quot;pull_quote_image&quot;&gt;&lt;img src=&quot;http://www.opendemocracy.net/content/articles/2174/images/hacker1.jpg&quot; alt=&quot;coding&quot; border=&quot;0&quot; /&gt; &lt;/div&gt;&lt;p&gt;
If you work for Microsoft &amp;#150; and many people are happy to do so &amp;#150; then one of the things you fear is a critical email from Bill Gates, company founder and now chief software architect.  And if you work at a high enough level in Microsoft, then you may even be in the presence when you are told that your code sucks, your ideas are inadequate and your insights are shallow.
&lt;p&gt;
But if Gates really wants to show his anger he will simply look at you with disgust and mutter: &amp;#147;that is so &lt;em&gt;random&lt;/em&gt;&amp;#148;. In the world of the geek &amp;#150; and Gates remains a geek despite his great wealth and business achievements &amp;#150; there are few worse insults.
&lt;p&gt;
Randomness, or &amp;#147;gratuitous inelegance&amp;#148;, is one of the worst jibes to throw at a programmer because it implies an inability to order the world in one&amp;#146;s own intellectual &lt;a href=http://www.andfinally.com/ target=_blank&gt;image&lt;/a&gt;. It is a disorder that brooks no sympathy &amp;#150; &amp;#147;maybe he&amp;#146;s ill, or maybe it&amp;#146;s just randomness&amp;#148; &amp;#150; and one that causes intense frustration. 
&lt;p&gt;
&lt;em&gt;Random&lt;/em&gt; code is not necessarily unpredictable. It is code which does not seem sensible, or work in the obvious or simplest way.  If a programmer has written code that works in a &lt;em&gt;random&lt;/em&gt; way then working with that programme is harder than it needs to be. To a geek, &lt;a href=http://en.wikipedia.org/wiki/Randomness target=_blank&gt;randomness&lt;/a&gt; increases coding entropy, and this is a bad thing.
&lt;p&gt;
For &lt;em&gt;random&lt;/em&gt; to have meaning, the world must be organised and predictable, expressible in code, and it must be clear what &amp;#147;simple&amp;#148; and &amp;#147;straightforward&amp;#148; mean. A serious programmer will tell you, in all seriousness, that &amp;#147;reality is 50,000 polygons a second&amp;#148;, because geeks have a fundamentally Newtonian view of reality, one in which all numbers can be calculated and all values can be known. (If the human eye was a video game then 50,000 is the number of different shapes, or polygons, it would be sending up the optic nerve every second.) If a variable is given a value, it keeps that value. If there is no &lt;a href= http://en.wikipedia.org/wiki/Algorithm target=_blank&gt;algorithm&lt;/a&gt; then there is no world. To be &lt;em&gt;random&lt;/em&gt; is to defy the fundamental organising principle of the universe, to be removed from the godhead.  Only the devil could wish such a thing.
&lt;p&gt;
Yet &lt;em&gt;random&lt;/em&gt; can also be turned around and used as a term of approval. Sometimes a great &lt;a href= http://en.wikipedia.org/wiki/Hack target=_blank&gt;hack&lt;/a&gt; involves clearly &lt;em&gt;random&lt;/em&gt; behaviour &amp;#150; a four-dimensional array of pointers to functions that is indexed by treating the ASCII code of the third letter of an input string as a four-tuple might provoke an admiring &amp;#147;that is so &lt;em&gt;random&lt;/em&gt;!&amp;#148; from a fellow geek.  
&lt;p&gt;
And don&amp;#146;t worry if you understood none of the previous sentence &amp;#150; the point of most hacker &lt;a href=http://catb.org/~esr/jargon/html/index.html target=_blank&gt;jargon&lt;/a&gt; is precisely to exclude unbelievers (email me at &lt;a href=mailto:bill@andfinally.com &gt;bill@andfinally.com&lt;/a&gt; if you want an explanation).
There are, of course, times where &lt;em&gt;random&lt;/em&gt; is simply what the dictionary would have you believe it means: unpredictable. Even then programmers like to play with the meaning in ways that can disconcert the non-geek.  A programme routine that generates a &lt;em&gt;random&lt;/em&gt; number, for use in &lt;a href=http://www.ssh.fi/support/cryptography/introduction/ target=_blank&gt;cryptography&lt;/a&gt; or gambling, may in fact be &amp;#147;pseudo-random&amp;#148;, aspiring to but not quite achieving true randomness.  Or it may be too &lt;em&gt;random&lt;/em&gt; to be dealt with, as in the famous &amp;#150; though perhaps apocryphal &amp;#150; notice pinned to the console of a mainframe computer in the 1970s, which warned unwitting users: &lt;p&gt;
&amp;#147;The random number generator may behave unpredictably.&amp;#148;
&lt;p&gt;&lt;/div&gt;&lt;div class=&quot;rating-item&quot;&gt;&lt;div class=&quot;rating&quot; id=&quot;rating_mean_2174&quot;&gt;&lt;div class=&quot;rating-intro&quot;&gt;&lt;span class=&quot;rating-intro-text&quot;&gt;Average rating&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;star avg&quot;&gt;&lt;a style=&quot;width: 100%;&quot; onclick=&quot;return false;&quot;&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;star avg&quot;&gt;&lt;a style=&quot;width: 100%;&quot; onclick=&quot;return false;&quot;&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;star avg&quot;&gt;&lt;a style=&quot;width: 100%;&quot; onclick=&quot;return false;&quot;&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;star avg&quot;&gt;&lt;a style=&quot;width: 100%;&quot; onclick=&quot;return false;&quot;&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;star avg&quot;&gt;&lt;a style=&quot;width: 100%;&quot; onclick=&quot;return false;&quot;&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;num-votes&quot;&gt;(&lt;span id=&quot;rating_num_votes_2174&quot;&gt;0&lt;/span&gt; votes)&lt;/div&gt;&lt;/div&gt;&lt;form action=&quot;/crss/node/2174&quot;  method=&quot;post&quot; id=&quot;rating_form_2174&quot; class=&quot;rating&quot; title=&quot;Rating: 0.0&quot;&gt;
&lt;div&gt;&lt;div class=&quot;form-item&quot;&gt;
 &lt;label for=&quot;rating_options_2174&quot;&gt;Rate this: &lt;/label&gt;
 &lt;select name=&quot;edit[rating]&quot; class=&quot;form-select rating-options&quot; title=&quot;Rate this&quot; id=&quot;rating_options_2174&quot; &gt;&lt;option value=&quot;0&quot; selected=&quot;selected&quot;&gt;---&lt;/option&gt;&lt;option value=&quot;100&quot;&gt;Excellent!&lt;/option&gt;&lt;option value=&quot;80&quot;&gt;Great!&lt;/option&gt;&lt;option value=&quot;60&quot;&gt;Good&lt;/option&gt;&lt;option value=&quot;40&quot;&gt;Quite good&lt;/option&gt;&lt;option value=&quot;20&quot;&gt;Not so great&lt;/option&gt;&lt;/select&gt;
&lt;/div&gt;
&lt;input type=&quot;hidden&quot; name=&quot;edit[nid]&quot; id=&quot;edit-nid&quot; value=&quot;2174&quot;  /&gt;
&lt;input type=&quot;submit&quot; name=&quot;op&quot; value=&quot;Submit&quot;  class=&quot;form-submit&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;edit[form_id]&quot; id=&quot;edit-rating-form-2174&quot; value=&quot;rating_form_2174&quot;  /&gt;

&lt;/div&gt;&lt;/form&gt;
&lt;/div&gt;</description>
 <comments>http://www.opendemocracy.net/arts/article_2174.jsp#comment</comments>
 <category domain="http://www.opendemocracy.net/editorial_tags/arts_cultures">arts &amp;amp; cultures</category>
 <category domain="http://www.opendemocracy.net/taxonomy/term/532">Bill Thompson</category>
 <category domain="http://www.opendemocracy.net/taxonomy/term/51">Creative Commons normal</category>
 <category domain="http://www.opendemocracy.net/columns/untranslatable.jsp">untranslatable words</category>
 <pubDate>Wed, 20 Oct 2004 23:00:00 +0000</pubDate>
 <dc:creator />
 <guid isPermaLink="false">2174 at http://www.opendemocracy.net</guid>
</item>
</channel>
</rss>
