March 2013 (2)
December 2012 (1)
November 2012 (3)
September 2012 (2)
August 2012 (2)
October 2011 (1)
September 2011 (2)
August 2011 (1)
July 2011 (2)
June 2011 (1)
May 2011 (1)
April 2011 (4)
March 2011 (3)
February 2011 (2)
January 2011 (3)
December 2010 (3)
November 2010 (3)
October 2010 (1)
September 2010 (2)
August 2010 (1)
July 2010 (2)
June 2010 (2)
May 2010 (2)
April 2010 (2)
March 2010 (2)
February 2010 (5)
January 2010 (3)
December 2009 (4)
November 2009 (5)
September 2009 (2)
July 2009 (3)
June 2009 (1)
May 2009 (3)
April 2009 (6)
March 2009 (4)
February 2009 (2)
December 2008 (1)
November 2008 (4)
October 2008 (1)
September 2008 (1)
August 2008 (3)
July 2008 (4)
June 2008 (3)
April 2008 (3)
March 2008 (3)
February 2008 (2)
January 2008 (5)
December 2007 (1)
November 2007 (4)
October 2007 (6)
September 2007 (6)
August 2007 (6)
July 2007 (5)
June 2007 (2)
May 2007 (2)
April 2007 (6)
March 2007 (3)
February 2007 (3)
January 2007 (4)
December 2006 (3)
November 2006 (2)
September 2006 (1)
August 2006 (1)




agalmics (13)
art (24)
art wank (1)
bad science (9)
bollocks (4)
bullets (19)
comics (17)
computers ate my brain (11)
criminal justice (12)
culture (73)
cycle24 (3)
digital rights (7)
eschatology (3)
evolution (11)
fatherhood (14)
film (15)
flash (7)
fotb (3)
fragments (2)
games (5)
generative art (48)
generative art book (12)
interactive (3)
introspection (20)
literature (20)
modern romance (1)
music (17)
old media (7)
open source (15)
philosophy (67)
readers wives (1)
retro (10)
society (33)
tech (55)
universal automatism (8)
video (28)
web (24)
work (32)
writing (7)
wtf (9)
zen (13)





If Everyone Spoke Code

March 12th, 2013

“I think the craziest idea I have heard in the last few years is that everyone should learn to code. That is the most bizarre and regressive idea. There are good reasons why we don’t want everyone to learn nuclear physics, medicine or how financial markets work. Our entire modern project has been about delegating power over us to skilled people who want to do the work and be rewarded accordingly.”

- Evgeny Morozov, The Observer Sun 9th March 2013

Is it wrong to nurture a future where everyone can code? Is this really the craziest idea you’ve heard recently Mr Morozov? Yes, a workforce consisting of nothing but expert coders would be an unhelpful distribution of talent in a complex society, but is it really “bizarre and regressive” to argue for every citizen being given a rudimentary understanding of the 21st Century’s defining skill?

Self-Medicating Societies

There is a grain of sense in Morozov’s position, a society doesn’t need everyone to study nuclear physics, medicine or finance. Nor gardening, burger-flipping or governance. But there are very good reasons for educating our children to a certain standard in all the above.

Take one of Morozov’s parallels, medicine: could a society function if it’s masses knew nothing of the workings of their own bodies. If they were blissfully oblivious to how sugar and carbohydrate consumption might effect their long-term health, or how smoking could potentially reduce their lifespan. If they all thought they were dying the day they experienced their first nosebleed.

This is not too far from how a digital society might behave with a mass citizenship of code-illiterates. A world where everything is touched by code, from algorithmically-generated shopping recommendations to the timer on their cooker, but it’s people don’t understand the underlying logic. This is not a future scenario, it is the present. It is the past. It is the world which panicked over the Y2K bug, to the hilarity of the techno-literate, as they invoiced their equally hilarious consultancy fees. You want bizarre and regressive, look no further.

Rudimentary biology, unlike coding, is taught in both schools and the home, so every citizen has at least an entry-level knowledge of the field of medicine. This means that if you suffer a headache, you have the confidence to risk self-medication. You do not need to hire a specialist to make the diagnosis. And you do not need to spend your recovery contemplating why the cost of those specialists is so extortionate.

This is how we coders make a living. We have an un-general knowledge. We don’t panic when an automated system misbehaves. We understand the problems, because we understand the language. It is a language too few speak, but on which too much depends. Which is why our day-rates are so high. We do very well out of it, but even coders don’t argue that this is a good model for the future.

Bastard Over-Specialists

If you think medicine might be a slightly extreme analogy, lets try another of Morozov’s three comparisons: the financial market. We are currently suffering the fallout of a banking crisis. Every western working-class man, woman and child is feeling the consequences of the misuse and exploitation of a financial system few fully understand. This is a perfect example of what can happen when the complexity of a subject evolves too far beyond what the averagely-educated can digest. The main reason the bankers have been able to act with such an unhealthy self-interest for so long is because there aren’t enough non-bankers to review their actions. A nation of armchair-financial-analysts may be a fantasy, but such a scenario would have created pressure for regulation much more effectively than any of our world governments have.

No, we don’t need everyone to be a financial expert, doctor or programmer. But we also should not promote a future where we over-specialise these skills. The coders need to be kept in check just as much as the bankers, the doctors and the nuclear physicists.

Fortunately the coders, with their adorable geeky iconoclasm, tend to be better self-regulators than most. Coders open-source. They teach, and they share. The good ones do anyway. By these self-initiated peer(and non-peer)-review mechanisms they are subconsciously ensuring they do not go unchecked. They aren’t cocaine-fueled city-boys. They don’t want to become an all-powerful über-class. They’re they ones who read all those distopian sci-fi novels remember.

But are we going to rely on their beatitude forever? It’s still breakfast-time in the long summers day of our logic-based future. And the world is full of bastards. Who’s to say if the open-source philosophy will survive?

How The 21st Century Works

Ultimately, your feelings on this matter will depend upon your politics. If you have utter faith in top-down hierarchies, where “better” men (usually men), however they earned their positions, are trusted to make the decisions that effect your life, then you are probably more sympathetic to Morozov’s position than I am. A super-class of hyper-skilled über-nerds taking care of all that math stuff you don’t want to think about sounds fine to you. And if our society became perverted by the coders being more self-interested than intended, that is an acceptable side effect.

But if you believe society is better governed by and for the people, you will see the appeal in an evenly distributed future. The irony is that having an understanding of coding may make it easier to grasp concepts like emergence; this grass-roots, self-organised, “wisdom of crowds” type stuff; as it can be beautifully demonstrated in code.

Yes – learning to code may change your politics. I could see the conspiracy theorists seizing upon this as a reason for the patriarchy’s lack of enthusiasm for curriculum coding, for fear of undermining their archaic power structures. I wouldn’t go that far, but I wholeheartedly disagree with Morozov’s opinion that the modern project is reliant on “delegating power over us to skilled people who want to do the work and be rewarded accordingly”. To progress we need to move forward together, en-masse. It’s neither prudent, practical, nor morally acceptable, to leave stragglers trailing behind while strivers push hard at the forefront. Try walking your human-centipede that way and see how far you get.

As William Gibson, one of the patron saints of hackers, famously said, “The future is already here — it’s just not very evenly distributed”. It is the distribution of these skills that is the essential next stage in our stumble toward an enlightened, democratic, technological future. Everyone should learn to code. Just as everyone should learn mathematics. Or their native tongue. Not to become mathematicians, or novelists, but in order to understand how the 21st Century works.



Fun with Computers 1981-1987

October 27th, 2011

1981 – Developing motor-reflex skills by playing two colour Donkey Kong on a TRS-80 Model III.

1982 – Talking to bearded nerds on Prestel Bulletin Boards, trying to pretend I wasn’t nine.

1983 – Typing “10 Print ‘COCK ‘ / 20 Goto 10” into all the display model ZX-Spectrums in WH-Smiths, then running away. Repeating said act in every other shop in Wolverhampton Town Centre every Saturday.

1985 – A glorious hot summer spent not riding bikes with friends, but alone in a darkened room playing Elite.

1986 – My first published Digital Artwork. Crash Magazine printed a picture of the Pet Shop Boys I had created with OCP Art Studio. The ZX Spectrum allowed only two colours within any one 64 pixel square. “Attribute Clash” it was called, and it required creative workarounds. Music taste still under development.

1987 – Hacking, when it was still a dirty word, into the school’s BBC computer network and retrieving a plain text file containing all the teachers passwords. Their choice of words alone were enough ammunition to last me a term.

1988 – Noticed girls.



Generative Art in HTML5

September 23rd, 2011

If you’re interested in HTML5, I’ve written a brief tutorial for CreativeApplications.net which discusses porting ideas between languages, and steps through the making of the little JavaScript animation in the header of this site.



Steal My Book

June 30th, 2011

I’m very happy to say (you don’t know how happy) that my book, after many months in the makeup chair at my publishers being beautified, is finally out. Go get. Now. Go.

I’m going to quote you one of my favourite passages. It’s from the copyright page:

No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher, with the exception of the Introduction, Chapter 1, Chapter 6 and the source code throughout, which are available under a Creative Commons (Attribution-NonCommercial 3.0) license. See creativecommons.org/licenses/by-nc/3.0/. Note that Creative Commons distribution of the images in the Introduction and Chapter 1 is limited to those by Matt Pearson only.

In short, this means large chunks of the text, imagery and all of the source code is Creative Commons licensed. The total CC licensed content amounts to over 25% of the total page count. If it were entirely up to me I’d have CC’d the lot, but this is actually a very generous amount to have been granted by a publisher as traditional as Manning, and (as far as I know) a first for a book of this kind.

It is a mystery to me why all tech books don’t do this, especially regards the source code. I cannot understand the logic in a book demonstrating a technique to a reader, while elsewhere stating that the reader will be breaking the law if they were to copy it word for word? Copyright is a crazy dinosaur, and I am not a fan (as you will probably already know if you’ve been reading awhile). This small concession makes me feel just slightly less of a hypocrite in publishing under the “old media” model.

So, on both my page and Mannings, there are now a number of links to free content you can try before you buy. The Foreword (by Marius Watz), Preface, Intro and Chapter 1, introduce what the book is about, with lots of lovely imagery – which, I should make clear, looks much more gorgeous in print than it does on a screen. Chapter 6, is a slightly more advanced, but more typical, example of the “stealth learning” approach of the book.

Any CC licensed portions are free to be redistributed, repurposed, even re-published, if you want to. If anyone wants to make a free Kindle version, a Kinect based interpretive dance version, or a Commodore 64 text-based-adventure from this content, please feel free (and send me the link). Note that it is only my content that is covered by the CC license, any text or imagery credited to others is copyrighted to them in the usual way.

However you come to read it, I hope you like it.



The Night I Killed Tommy

April 8th, 2011

Read the rest of this entry »



The Shape Of A Song

April 1st, 2011

Another happy R&D day spend experimenting with audio visualisation using OpenFrameworks:

Everything in the video, even the edit, is audio reactive. You’ll have to excuse the slight delay due to the screen capture, and the loss of detail from web compression. It runs a smooth and crispy 300-400fps on my MacBook when it’s not being captured.

I allowed myself a slight cheat in building visuals that fit this particular song (the track is Linear by Monolake), rather than a generic system. I experimented with encoding the audio waveform into an image, so I could visualise it in non-real time if I needed to. I didn’t need to in the end, but that process itself produced some interesting aesthetics (below). You can quickly see that different styles of music have very different looks. Right-click “Save Link As..” on the images if you want to examine the (1M) full detail versions.

Radiohead – 15 Step:

Sleigh Bells – Infinity Guitars:

Autechre – rew(1):

Mogwai – Sine Wave: