Month: November 2010

Meaning of Hack

This post dedicated to Olga, who went missing a few days ago. (she came back, after three weeks out in the snow, much thinner but very happy.) ((sadly Olga never really recovered her mental and physical health, and is now at rest in our garden))

At some point in my youth I got very interested in programming, really interested, much more so than my peers.  When I got to University, with access to the Internet (back when it was a largely text based affair) I met like minded people, and started identifying myself as a hacker.  In the media hacking was exclusively illegal activity, but real hackers knew it was just about exploring possibilities with technologies.  I read the alt.hackers usenet group.  I bought a copy of the hackers’ dictionary, I read Stephen Levy’s book about the MIT hackers, and ran a telnet BBS.  I felt some sense of belonging..

It’s frustrating then that the word has been hijacked by some strange characters with, from my perspective, uncomfortably right-wing agendas.  Paul Graham wrote a piece nominally about Hackers and Painters, but actually about himself.  It contains the following passage on computer science: “The way to create something beautiful is often to make subtle tweaks to something that already exists, or to combine existing ideas in a slightly new way. This kind of work is hard to convey in a research paper.”  Clearly Paul Graham doesn’t know much about the nature of computer science research (most certainly nothing about MIR), but he knows a lot about startups, indeed the thrust of his Hackers and Painters essay is actually to evangelise hacker startups.  Paul Graham has a venture captial company, y-combinator, funding tech startups.  Once, he ran a social news website called `startup news‘, which he one day decided to rename to `hacker news’.  It’s become one of the more popular websites among programmers, but still carries a large proportion of news items about startups.  I’d guess that among these people, hacking has come to mean being as much about becoming a millionaire as enjoying programming for the sake of it.

Eric S. Raymond is perhaps more of a right wing nutcase.  ESR is the self-proclaimed editor of the jargon file, AKA the hacker’s dictionary.  In 2003 he took it upon himself to make a number of edits to the jargon file to recast the hacker in his own image.  The typical political position of a hacker was edited from “vaguely liberal-moderate” to “moderate to neo-conservative”, and the anti-war journalist Robert Fisk was given his own special entry in order to dismiss his opinions.

So I began to feel that the word ‘Hacker’ had been stolen by right wing entrepreneurs.  But I’ve realised, that’s really not true.  Considering those original hackers at MIT that Stephen Levy wrote about.  They were privileged young white male model railway enthusiasts and phone phreakers, leading hidden lives working for the military while the Vietnam war flared, with a war game among their greatest accomplishments.  Are they really great role models?  There are some amazing groups of hackers around Europe doing wildly creative things.  I feel totally inspired by these people, but unfortunately they don’t own the word Hacker any more than Paul Graham or ESR does…

It seems this word means nothing outside a specific community.  So, for what it’s worth, these days, if anyone asks, I’m a dork..

Some videos

First a quick screencast of my new live coding environment called Text, which is I think a good proof of concept but crashes quite often (including at the end of this video).

It’s basically Haskell but with syntax based on proximity in 2D space, rather than adjacency. Type compatible things connect automatically, made possible though Haskell’s strong types and currying. I implemented the interface in C, using clutter, and ended up implementing a lot of Haskell’s type system. Whenever something changes it compiles the graph into Haskell code, which gets piped to ghci. The different colours are the different types. Lots more to do, but I think this could be a really useful system for live performance.

Secondly here’s some nice video from an event at access space, including live coding from a duet by Scott Hewitt and I, and beatbox livecoding from MCLD:

Thirdly here’s video from a slub performance at piksel fest.

The sound and video are out of sync at some points, and I think the camera falls over and cuts out towards the end because the camerawoman was off dancing to our code… Was a fun night! An ogg file is also available here.

New text editor

I stopped using, a self-modifying live code editor written in Perl, some time ago, in favour of editing Haskell in emacs.  It’s about time I made a specialised editor for the pattern stuff I’ve been doing with Haskell.  Actually I have been dreaming of a visual programming language editor for some time, which for the moment I’m just calling `Text’.  Here’s a screen shot of its current state:

I’ve noticed that Visual Programming Languages like Max and PD are still based around text, using e.g. distance as secondary notation, not actually part of the language syntax.  In Text, words that are closest together are automatically connected if their types are compatible.  You can see that I haven’t quite got the ‘closest together’ algorithm nailed yet, I’ve no idea why its decided to parse this as three separate, overlapping statements.  However I have got currying working, which I’m happy with.  At the moment it’s written in C using the clutter library, which I’m finding fun.  Anyway just a quick update, I’ve got a lot more ideas to implement before I know whether this idea has legs or not…