Quote of the day

The language of a captive community acquires certain durable habits; whole zones of reality cease to exist simply because they have no name

Syndicate content

Columns

Paul Rogers

Global security


Li Datong

China from the inside


Fred Halliday

Global politics


Mary Kaldor

Human security


Daniele Archibugi

Cosmopolitan democracy

Email & RSS

Sign up to oD's editorial summaries email:


Enter your Email


Powered by FeedBlitz


Follow oD on Twitter:


Join our Facebook group:
Add oD to your Netvibes: Add to Netvibes

Demotix witness*upload*share

Recent comments

Navigation


Random

Bill Thompson, 21 - 10 - 2004
Computer programmers aren’t quite a different species – many of them breed successfully – but they do speak a different language, one which overlaps only contingently with English.

coding

If you work for Microsoft – and many people are happy to do so – 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.

But if Gates really wants to show his anger he will simply look at you with disgust and mutter: “that is so random”. In the world of the geek – and Gates remains a geek despite his great wealth and business achievements – there are few worse insults.

Randomness, or “gratuitous inelegance”, is one of the worst jibes to throw at a programmer because it implies an inability to order the world in one’s own intellectual image. It is a disorder that brooks no sympathy – “maybe he’s ill, or maybe it’s just randomness” – and one that causes intense frustration.

Random 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 random way then working with that programme is harder than it needs to be. To a geek, randomness increases coding entropy, and this is a bad thing.

For random to have meaning, the world must be organised and predictable, expressible in code, and it must be clear what “simple” and “straightforward” mean. A serious programmer will tell you, in all seriousness, that “reality is 50,000 polygons a second”, 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 algorithm then there is no world. To be random is to defy the fundamental organising principle of the universe, to be removed from the godhead. Only the devil could wish such a thing.

Yet random can also be turned around and used as a term of approval. Sometimes a great hack involves clearly random behaviour – 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 “that is so random!” from a fellow geek.

And don’t worry if you understood none of the previous sentence – the point of most hacker jargon is precisely to exclude unbelievers (email me at bill@andfinally.com if you want an explanation). There are, of course, times where random 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 random number, for use in cryptography or gambling, may in fact be “pseudo-random”, aspiring to but not quite achieving true randomness. Or it may be too random to be dealt with, as in the famous – though perhaps apocryphal – notice pinned to the console of a mainframe computer in the 1970s, which warned unwitting users:

“The random number generator may behave unpredictably.”

Average rating
(0 votes)

Please support openDemocracy's "Needed: more democracy!" campaign.

We need more of our readers to support the work of helping spread democratic understanding and influence.

If you read openDemocracy and value it please DONATE:

Donate from the UK with Gift Aid

Donate from any other country

Donate via PayPal

 
This article is published by Bill Thompson, and openDemocracy.net under a Creative Commons licence. You may republish it without needing further permission, with attribution for non-commercial purposes following these guidelines. These rules apply to one-off or infrequent use. For all re-print, syndication and educational use please see read our republishing guidelines or contact us. Some articles on this site are published under different terms. No images on the site or in articles may be re-used without permission unless specifically licensed under Creative Commons.
NewsCredit This article adheres to the openDemocracy.net principles.

Comments


Demotix

Democracy Support

The openDemocracy / International IDEA debate

Read Democracy on the ground by Keith Brown

International Institute for Democracy and Electoral Assistance