Well, finally, it's my turn to write something for Masochuticon. A taster:
I got this thing and kept it in my pocket; it let me pretend I had friends. You still have it, but haven't used it recently. It is called a MyPeopleGalaxy. A stupid name, it doesn't matter. They're made in China because plastic is cheap there, and programmed by a fella who does neural networks and natural language something-or-other. Who knows, I just read the box. It is blue. It comes with a radio controlled glove. Two gloves, sorry.
I'm sad to say that it seems I haven't discovered any new themes in the 2 years I haven't be writing regular, public fiction (you'll see). Alas! I shall be limbering up to dazzling ideas slowly, it seems. And I'm also sad to say that today's story is a little silly and contains some naughty words. Also the title is a Michael Jackson reference, which isn't terribly fashionable. Anyway. It's a joy to be writing again.
Masochuticon #7 is They follow each other on the wind. Read.
Mashed potato concepts: A spider-shaped piece of metal that you place on a potato, which weaves mashed potato and ejects it in a river from its middle. Or: A straw, or upside-down spoon with a hole in it, which is used like an additional piece of cutlery, which mashes whatever food it is placed against. The straw would have nanojaws at one end, and mechanical cilia to propel the food up the pipe. Also: A cotton candy machine that takes a mixture of potato, butter and cheese to produce a light mash-on-a-stick snack.
Other food concepts include a meat marinade propelling pencil, the paint-on sauce being the consistency of Marmite, and a saucepan with sensor pins and a base that can abruptly shut off the heat, so that, with a browning knob, it can act as a meat toaster.
Today's Masochuticon comes from Esther, who gets extra points for mentioning marmalade:
When Eleanor had established that I really was Uncle Tim, I asked her to join us for ice-cream. She had a big cardigan the colour of marmalade. I wanted to like her. (This extract tells you nothing about the store, but it tickled me.)
Masochuticon #6 is Across the Wasteland Beyond the Glittering City. Read.
favcol is reborn, finding Flickr's favourite colour, courtesy of Paul Hammond. You may remember that I launched a hunt for the web's favourite colour in July 2003, using email and MMS picture messaging, and favcol subsequently reached BBC News Online, a couple of newspapers, a radio show, and prompted someone online to comment (I wish I could remember who) that it was like finding the world's favourite food by getting everyone's top meal and pulping them together. Happy days. Then my server died in an unrelated accident and favcol was no more.
Paul IM'd me, not very long ago at all, and suggested rebuilding favcol to use Flickr tags and photos with a Creative Commons license. He whipped it up and - I have to be honest - it's a ton better in looks and how it works than my attempt. I just pointed the domain name. Good stuff Paul.
Reading about archaeologists hunting for Egyptian Pharaoh tombs, I came across this phrase:
Despite the advance of science, discoveries like this are often a variable combination of luck and serendipity.
What? (I thought) How is that meaningful or useful statement? What does it mean to be more lucky than serendipitous, or vice-versa? Then I thought about it some more, and it made a ton of sense, in ways that I mostly don't need in my everyday life.
I guess, when what you do is look for exceptionally rare fragments of ancient civilisations that may or may not be buried somewhere, you end up with a very nuanced version of thinking about what the universe fortuitously throws you. Like a musician needs to discern qualities in sound that I can't even hear, you would need to finely slice types of fortune, and have a precisely defined vocabulary to discuss it.
Archaeologists have 60 words for "luck".
For a summary of what the playsh code does (including some vaguely technical details), read about what playsh is.
The current state: playsh is so totally a prototype right now. It's a buggy bundle of Python code that, by default, opens interfaces to your computer and makes it insecure. Players can interfere with each other's objects. And so on. This is a proper prototype - one to test the interaction design and the concept - rather than the "we only call it beta to cut down on support costs" kind of prototype. The code was good enough for me to get to a rough demo, and includes a ton of bugs where verbs got broken while I was hacking on the plane (notably: dig). It was also good enough for me to figure out what I did and didn't like about the way verbs bind to objects.
(Why have a prototype like this? It's because I find it easier to figure things out with my fingers, by typing and using code, than in my head. With playsh, where it's an objective that multiple layers are equivalent, it's necessary to rush ahead to the high-level verb layer even before everything else is stable.)
What's the roadmap? There are a couple more things I want to try out on the current codebase, particularly getting rid of the hierarchy of actualizers (that's the way verbs get bound to the properties that lie at the heart of objects) and replacing them with some flatter system. I also want to have a pluggable way of adding new ID types, so that new objects (like rooms and exits) can be generated on-the-fly, without actually creating them. That's the short-term.
In the longer-term, I want to break playsh up into a more solid server (to hold the properties) and per-player clients (to actually run the Python code). This should increase security between players. Ideally, for performance, I want to take some lessons from the functional programming road and apply them here (geographically local namespaces, perhaps).
Of course, why does playsh even exist? This is what Ben Cerveny and I went into at the ETech session on playsh. I'll just speak briefly for myself here. I gave a talk about the future of programming last year, and I wanted to put some of the ideas (about what objects are) into practice. I wanted to have a bash at something that Matt Jones called blog-o,
a next generation language, allowing people to combine communication, media and automation in unlimited ways, but that easy to get into and understand like Basic or Logo. I wanted to show that that the server and client of the www shouldn't be as coupled as the Ajax-world wants them to be, and take advantage of the best bits of the semantic web. I wanted to build on a couple of things that our brain does really well - geography and narrative - that are sidelined in our current "direct manipulation" paradigm (distance and locality are really powerful metaphors to build representations of knowledge and social structure on. Note that people have PhDs in geography, but not in picking shit up). I wanted something that was social from the ground up, as much as View Source is part of the browser, but also let people see the world in their own way, and experiment and share these different ways. MOOs fit the bill in so many ways.
But mostly I wanted to build something absurd that would, as I say in this essay on modernity and protest, make people look at the status quo a little differently.
Crikey, that got a bit heavy there, sorry about that. I use playsh personally and will keep developing it. Watch if you like, join in if you fancy. The playsh project on sourceforge has the code.
Neil brings us Masochuticon Wednesday:
And when our gazes meet I don't flush and look away as I used to, the awkward schoolboy caught staring, openly or playing the window/reflection game, by rowdy college kids or taciturn commuters, but force myself to fix my eyes for one blink, two, and, my heart quickening at the brazen novelty, relax my lips to suggest a smile.
Masochuticon #5 is Neil with This is the city. Read.
In other news, I now have a LiveJournal, which means I'm not just late to the party but have arrived when the sun has been up for hours already and at the point where people have run out of supplies and are drunkenly asking each other whether they should head home yet. I hadn't realised that you can have multiple friends groups, but danah put me straight. Let me know if, uh, you know what happens next.
Wednesday means new Masochuticon, today from Rod:
'Let the water do the work', he said, as the hot water covered the dishes in the stainless steel sink. He thought this was an efficient way to do the hard bits of the washing up, but often they just sat there, a stack of oysters, the water losing heat until the forgotten crockery lay in a stone-cold sinkful. Then he'd have to empty and refill it, because everyone knows you shouldn't wash up in cold water.
Masochuticon #4 is Rod with Let the water do the work. Read.
2d presentation: Some people noticed in the playsh presentation that the slides transitioned to each other in an unusual way. They didn't just slide forward to the next one, but would slide left if we stepped back, and we occasionally stepped up and down by accident and moved around.
As it happens, the presentation slides were arranged on a 2d grid to allow us to move around them in any direction we chose. The presentation itself was given in custom-written slideshow software written for my company, and controlled by a hand-help accelerometer connected to my laptop. Tilting the accelerometer board left moved left across the presentation, tilting up moved up, and so on.
There wasn't any particular reason to do this, only that the geographic layout of the slides reflected the geographic notions in the playsh code, and that it seemed like a good idea last Thursday, when I thought of it.
Here's what comes in this download:
playsh is a MOO-like text environment that runs on your local computer. The basic object types and verbs are based on LambdaMOO. It's organised geographically, so you can walk north and south and so on. You have a player, so you can take and drop items. You can create new things and dig to new rooms, and there are verbs attached to all of these. There are ssh interfaces so you can connect to playsh from other computers, and other folks can connect to your playsh instance from their own.
playsh is written in Python. The verbs in the game are also written in Python. There's a kernel, which is relatively small, and most of the game (including the sentence parser) exists as in-game verbs. In-game verbs have editable source, or if they're altered on disk they can be reloaded without rebooting the game. To allow this, the player can drop from the game environment into a Python interactive interpreter.
The Python interactive interpreter is a lower-level interface to playsh. Objects have a dictionary interface for their key-value properties, and methods appear to be verbs. Because playsh is social, the Python interpreter is also social. That is, two players can live in the same interpreter: One player can write a function, and the second player can both see the first player typing, and make use of that function. This means playsh can be a good teaching and learning environment. Of course, anything that can be done on your computer in Python can be done in a verb, so verbs can interact with desktop applications or work with serial interfaces.
How objects are represented in the playsh code is a novel feature. An object (whether it be an item, or a place, or a player) has two parts: properties and verbs. The properties are the underlying reality of the object--these are key-value parts like a list of object IDs named 'contents', which represents what is inside this object. When interacting with an object, all players share these properties. The verbs, on the other hand, are player specific. Each player maintains a list of special objects, called 'actualizers'. Actualizers are pattern-matching machines. When a player resolves an object, all the actualizers they have try to bind to the properties. If one recognises a particular pattern (say, it notices that there are two lists called 'exits' and 'entrances'), it wraps the properties in a collection of verbs. This is now a complete object.
Because the view of objects is subjective, different players can play different games, while using the same underlying reality. One player may see playsh as a geographic layout of rooms; another may see it as a card game where they play the 'north' card and the dealer puts a 'place' card on the table, and deals out more directional cards.
The final feature of playsh, and where this all comes together, is that properties may be loaded from a number of sources. Object IDs of the regular form load from files on disk; IDs that look like web addresses load from that particular website. The HTML (or XML) source-code is parsed, and actualizers bind to the patterns seen in the source and give it appropriate verbs. Thus an RSS feed manifests as a room with many doors, and the RSS items are written labels on the doors. An upcoming.org events feed is a room with a special verb that says what's on right now. bleb.org TV listings may manifest as a television item. And, with a little more work, you could have a walk-through version of your desktop calendar.
Verbs, to make use of web APIs and HTML scraping, can be written in-game, and then combined with one-another. Different players may experiment with different verbs, and then share the best ones. playsh is a shell to experiment, playfully and socially, with these kind of recombinant uses of the web.
Double-click to edit.
One thing that Marshall Berman does really well in All That Is Solid Melts Into Air is map out the dialectic that comprises the city and the people in it:
Throughout this book I have tried to show a dialectical interplay between unfolding modernization of the environment--particularly the urban environment--and the development of modernist art and thought. [p309]
I'd like to recast this as intrinsically political. The city is the forces of conservatism, by which I don't mean it must manifest some kind of right-wing, highly moral, or libertarian attitude. I mean that when you see a housing estate of tower-blocks, you're seeing an urban cathedral. A thousand bureaucrats worked a thousand man-years to make that happen; it was given life with the power passed down to them by the city-planner king, and given time by the obstinate, slow-to-change system of institutions, habits and legal frameworks that support them.
The physical city is the cross-section of a single, terrifically co-ordinated human process. It is that process that is the thing that persists and bulldozers forward; it has its own rhythms, and demands all debate and discussion happens on its own terms. The buildings, roads, infrastructure, taxes, residents and shops are just its leading edge, and upset citizens in planning committees are just its bow-wave. We meet this force of co-ordination and organisation - which must, by its nature, be conservative - head on. We live in it.
The antithesis to this is the radical left. These people engage in a dialectic process with the right - the forces of conservatism - to fight over the built environment, that which shapes and channels us. But you can't engage the process itself, because you then become part of the system, you get co-opted. You have the engage the leading edge instead, because only at the point where the process becomes present - in time and space - is it vulnerable, and able to be subverted. You have to find ways to hack the system: You write books and make art which change the perceptions of the city, changing the very human foundations on which it is built; You reinterpret the physical fabric, picking up the cobblestones, bought with your taxes, used by the police, and throwing them back in the face of the city.
You must, as I've heard pataphysics described, make a parasite map, present in every moment of the city, one that finds the exceptions of the city--an un-map which exerts force on that which is mapped.
This dialectic, crucial all through the nineteenth century, remained vital to the modernist of the 1920s and 1930s; [...]. By the 1950s, however, in the wake of Auschwitz and Hiroshima, this process of dialogue had stopped dead.
It is not that culture itself stagnated or regressed: there were plenty of brilliant artists and writers around, working at or near the peak of their powers. The difference is that the modernists of the 1950s drew no energy or inspiration from the modern environment around them. [...] the most exciting work of this era is marked by radical distance from any shared environment. The environment is not attacked, as it was in so many previous modernisms: it is simply not there. [p309]
I think what happened - and this is the world we live in still - is that the left won. In the urban space, they woke up one day, pushed at the door and found it open. Berman shows how reinterpretation of the city was suddenly allowed to influence the urban environment and development, in the 1960s:
This new intimacy between the life of the dance and the life of the street was only one aspect of a great upheaval that was going on through the 1960s in nearly every genre of American art.
[...] They experimented with a fascinating array of art forms: forms that incorporated and transformed non-art materials, junk, debris, and objects picked up on the street;
[...] The essential thing, Oldenburg said, was to "look for beauty where it is not supposed to be found."
[...] this was a New York whose whole fabric was beginning to decay. But this very transformation that made the city appear rundown and archaic, especially when compared to its more "modern" suburban and Sunbelt competitors, gave it a special poignancy and radiance for the emerging makers of modern art.
This I find especially provoking:
"I am for an art," Oldenburg wrote in 1961, "that is political-erotical-mystical, that does something other than sit on its ass in a museum. I am for an art that embroils itself with the everyday crap and comes out on top. I am for an art that tells you the time of day, or where such and such a street it. I am for an art that helps old ladies across the street." [pp319-320]
It sounds great, but it's too practical, and too pragmatic. If it's everyday once, it can be art. If it's everyday twice, then I'm not so sure. As much as I'd like to think that the functional systems of government and control of human process had been dominated and re-channeled by revolutionaries, it seems more likely that the forces (the conservatism, the institutions, the glacier of progress) just moved elsewhere.
They abandoned the city to the left, and while the left thought it was making a difference, it was simply occupying a management position, running the machine just as it should always have been run: keeping the going smooth, and keeping people happy. Now we have public art, street theatre, free buses for kids, tower-blocks torn down, suburbia broken up with mixed living, and all the rest. There is no battle and there is no protest--because none is needed. The battleground is no longer the city.
Now collections of humans are organised in corporations, on the internet, in the military, in entertainment. London's Canary Wharf stands in for the dark, satanic mills. The water there carries away karmic sweat and blood. I'm not saying that there are individuals who run the world, and who actually are the capital-R Right. Instead, it's systemic: In our history, there will always be a self-defending, self-creating, self-enriching, self-empowering, self-organising system of forces that commands and controls process, developing production lines for human process to create its inhuman self. And there will always be a way to undermine this system, to rehumanise and deproductise the way and what the system becomes.
The thing is that we've forgotten the rhetoric of protest. Sure there are groups that encounter marketing - the culture-jammers - and people who engage the various industries (like open source, and free music), but the people who are closest to protest now are the ones not doing it: the spammers, and the virus writers. These are the people who have really understood what the system provides, and can throw it in the face of the controllers.
[Counter-examples: What about punk fighting the National Front in the 1980s with their fists and music, or the miners, or the Poll Tax riots?]
Protest means, like dadaism, standing up in-front of people as if you have authority and have something important to say, then saying "blah blah blah" and doing that for the very first time--hacking the system and the people whose lives expect to operate in that system. From then on, every person who stands up is saying "blah blah blah," whatever words they come out their mouths.
To protest, you have to take the present, and construct a new present with the tools provided, and put it in-front of the people. And you have to win, because the modern world, as Marx understood, is popular. You have to win by marketing.
I want to create something that is of our time, and outside the terms of reference for our time. I don't want to resist anything, but instead have what I create speak on every level of another way. And I want it to be popular.
Trustsurance: There are a ton of websites starting up now that do useful things with my personal data (calendars, todo lists, links, whatever). I wouldn't call them web applications; they're too lightweight for that. They're utils. If we were on Amigas, they'd be distributed on Fred Fish disks, that kind of thing.
Only... if I have a utility on my computer and the developer disappears, I'm fine, but if the developer of one of these websites goes, I'm screwed. I know they don't mean to disappear, but if they don't get enough users then they won't get acquired and they won't be able to stick around. And after the first site vanishes, no users will sign up to the others either, so nobody gets acquired. What these sites need is a guaranteed "your data's safe" clause.
Business concept: User data insurance. This insurance company offers its services to all independent Web 2.0 outfits. The outfit pays $$ for insurance. In return they can guarantee their users that, should they go under, the insurance company will host the user data for 1 year in a downloadable format, plus a minimal read-only browsing tool. The website can put a little badge and reassuring message on its front page. In the spirit of neologism and the times, I call this Trustsurance 2.0.
O'Reilly Emerging Technology Conference 2006: Tomorrow, I get on a plane and head for San Diego. I was a bit nervous that, with the new bubble, it'd just be me, a dozen Yahoo! employees, and 450 VCs--but actually the attendee list looks pretty good. I'm presenting, with Ben, my new project: playsh, the Playful Shell.
It turns out the date of the presentation is 6 months, to the day, from when I had The Idea. It was called "calcify" then, and arrived fully formed half-way on the Northern Line between Euston to Kentish Town, a ylem-crusted crystal of modernity, protest, human process, the absurd, and code.
Over the following 13 days I wrote 3 prototypes to check different technical aspects, and talked to Ben who was naturally (at least) 4 years ahead of me. Given that, he had to be in on the whole thing. Without his experience and ideas, I'd still be stumbling around in twisty little passages (it's kinda hard, designing metaphysics one or two levels down from where I want to be). By the end of that time, I was sure I'd could get something working, and we had our proposal to submit. And now here we are.
Okay, okay, okay. Here's the pitch: I made a thing. You should come see. You will be underwhelmed, I assure you. But the presentation will be fun; there will conversation about both code and philosophy (as if there's even a distinction!), and you have my promise that I will do at least 1 thing in public that I have never done before.
Wednesday brings new Masochuticon, today from Holgate:
A flimsy curtain filtered the morning light into the room. The bed was bare, the floor carpeted with open packages, layers deep. An area had been cleared in the middle, a few feet wide, like a rodent’s nest. Within that space, stacks of compact discs surrounded an open laptop, its hard drive softly whirring over the hush, a pair of headphones plugged into the side. No sign of life.
Masochuticon #3 is Holgate with The fifth to break your heart. Read.