User:Eleanorg/Journal 1.3
8 June
Dissolute image (pixel hosting) - thoughts on implications of using a database
I've now started making the code that stores all the pixels in a database, so that when somone 'adopts' a pixel and I scrape their url for that pixel, I can keep track of which ones have been adopted, and which not. The thing is, for each pixel there is a db entry thus:
- {'id': 99 , 'xpos': 5 , 'ypos': 6 , 'color': 'red', 'url': ""}
The url is initially blank, so the script composing the image will skip over it. When a url is entered into the db, the script composing the image will then scrape that url for the pixel details - xpos, ypos & color. BUT. As you see above, it makes sense to have this data in the pixel's hash in the db anyway. So why scrape the webpage for the full details - why not just scrape for the ID, then get the other details from the hash?
It's a philosophical question because it raises the issue of who is hosting what. If all a 'host' is doing is providing a number which indexes data already in my db, in what sense are they really hosting anything? But can't really get round this technically. I need to generate these details for each pixel in order to give them to the users in the first place. So the logic here is more of a, "show me yours & I'll show you mine" - it's a gesture of commitment, which I quite like. I have the data, but only reveal it when ppl make a commitment to the project at their end. So it's a mirror image, a reflection of ppl's interest - even though all the data is already on my server.
Production models 2.0 / promotion as creation
...which of course all links in with what we've been discussing w/Florian vis a vis production models, immaterial factories +c. In web 2 headspace as Mr lovely Tromel of course points out, you bring something into being by endorsing it:
- "...the Like function itself being explicitly designed as a binary function between total consensus and total lack of response."
- "If we are to accept the previously stated logic that “individuals promote one another until those very promotions materialize into their names being shown side by side one another, categorized by a curator and legitimated by a gallery.” then we should also accept that to a lesser or greater extent it is Facebook’s implicit populist algorithms that form the foundations for an outcome on the aforementioned trajectory."
obv in the case of the hosted pixels the alogrithm is my own and the question i face as factory boss is: what will count as the production of a pixel? What will a user have to do to bring it into being, and how will it appear? My Regular expression can mandate that they, for example, post my URL alongside the pixel data. Or say something nice about me. I could automatically retweet them. I can put words in their mouth. I could scrape, say, for a string thus:
- "I am adopting pixel number %d - down with censorship, up the kittens!"
And Florian said: how to introduce some kind of exchange/incentive so that it really is a factory? Similar thought to Dmytri Kleiner's when he slags off free cultural production:
- "If producers get nothing in return for such production, then this form of 'production' has no right to be called a mode of production at all." - telekommunist manifesto p.22
Of course this is a strict communist spin on the problem, tho it does raise the interesting question of what "production" technically is - or could be. Especially in this immaterial realm where production is moving bits around. (Although meatspace production is the same, on an atomic level I guess - recombining, never making new...). What does it mean to bring-into-being. OR - maybe more interesting - to banish-from-being? For hip kids like Mr Tromel, to sink into obscurity is to cease (or never start) existing. Can we exist without other people.
7 June
Pixel hosting + Radical X
In WORM I'll show the pixels; visitors can be my pixel-bots, slowly building up an image. But tutorial with Renee yesterday helped me realize, this hosting aesthetic is only one jigsaw-piece in the larger puzzle; the puzzle Rad X is piecing together, the puzzle of "what is radical?" and: "what is XXX?". Ie what is sexual culture, how do we make it (better), how do we host/distribute/support/curate it?
And I shared with Renee my idea of a published work which borrows from the logic of hosting: it starts online, ppl 'adopt' bits they want to support, and those which have been adopted get printed. She suggested this can be part of a bigger, ongoing research project. Don't fetishize "final outcomes". The fundraising for printing is part of the work; why not physical events also? Yes Rad X needs to get offline and into meetspace to fully figure out, why is it online and how can the potential of an online space best be used - esp. alongside a RL community?
Factories & business models
It's taken the whole trimester for all this business of business models/industries/working methods to sink in and form some kind of fine silt of a coherent idea-set on the bed of my brain. Was reading Louis Theroux on the decline of trad porn industry, supposedly because of piracy:
http://www.guardian.co.uk/culture/2012/jun/05/how-internet-killed-porn
And it's interesting to watch the porn-specific variants of the changes happening across the publishing industry now. You get small indie sites aiming to replace outdated sexist industry with DIY/ethical/feminist bla bla, BUT look at their business model. DRM and paysites. And the factory model? Porn as video/as fucking/as 20-minute-naked-ppl-come-shot is unchanged.
(what is) radical pornography
So I plan a Rad X project spanning a year, maybe/maybe not will be a graduation, who knows. Ongoing research/space for events/screenings/interviews/blogs/videos leading to publication/s. And the questions are:
- PRODUCTION
- /who makes it/how is it made
- CONTENT
- /what is radical/what is XXX
- PUBLISHING
- /how to distribute/host/resist censorship/curate
- MONEY
- /what is business model/how to resist copyright
13 May
I was asking myself the question about hosts, do they get to chose what they host or not? And I think the answer is yes for a Rad X project they must chose, or they are just my art proj pawns - appropriate for another project like the pure pixel hosting, but not for Rad X where the point is to somehow feature ppl's own work & views. But this can be tempered somewhat by incomplete metadata, not knowing exactly what you're getting, inviting ppl to take a risk.And increasingly I'm more interested in the beauty of this aesthetic, the bringing-into-being-together, not the content. So it jarrs a bit with Rad X in that this project is specifically focussed on sexual politics, although not completely incompatible. And what worked nicely with Play!Fight! was the promise of an outcome, of which you could be part, and so some kind of publication is important I think. I like the idea of making a book together, in which only those things which are hosted get featured - along with the metadata for each image, ie the description or story submitted by its original owner - maybe next to a blank, if no one wants to host it.
10 May
Tutorial with Timo re: using gratuitous jQuery effects in my image overlapping project. He suggested:
- Using mouseover/mouseout methods along with fading effects, to only show images as the mouse moves over them.
- Looking into 'most/least significant bits' and pixel-swapping as a way of concealing content.
We also chatted about Ajax as a nice way of retrieving content from other pages, scripts etc. Think for now I will just carry on doing the tutorials I started as ajax is coming up soon.
least significant bits
- FF0000
Here the second, fourth and sixth numbers are the least important - you can take them out without changing the colour value much. Hence you can 'hide' alternate colours within these three values. This is because RGB values are made up of 3 8-bit values. In an 8-bit value like 11010010, the first four digits are the most important and the second four are the least important. This is pretty geeky for now but maybe ask Michael to explain it as he will get over excited and it's probably interesting.
Maybe thing to do next is to consolidate existing jQuery knowledge by writing something interesting with simple methods combined.
9 May - later
imagemagick experiments
Trying to experiment with ways of cutting up images into pieces larger than 1 pixel, for a Radical X project that would let people see parts of the images so it wasn't completely abstract. Trying out ImageMagick crop commands.From http://www.imagemagick.org/Usage/crop/#crop_tile :
Tile Cropping, sub-dividing one image into multiple images
One of the more useful aspects of crop is when you don't give a specific position to the crop command. That is you give a size, and not a position within the image to crop. In this case instead of generating just one image, crop generates a whole series of images..
convert rose: -shave 12x0 -repage 64x64+9+9 paged.gif convert paged.gif +gravity -crop 32x32 tiles_%d.gif identify paged.gif tiles_?.gif
If you just want to extract a specific number of tiles from an image have a look at Cropping into roughly Equally Sized Divisions below. It is a good idea to make sure gravity is turned off using "+gravity". This is because in one special case (centered percentage crop) the gravity setting can turn off tile cropping. Other effects of gravity on tiled cropping is also undefined. By using "-mosaic" or "-flatten" image layering operators, (see Layer Flatten) you can layer these images all on top of each other, restoring the original image.
convert tiles_[0-3].gif -background white -mosaic tiles_mosaic.gif
Fucking around with this image in Imagemagick. Gives surprisingly nice results.
This:
convert censoredSuck.JPG -crop 20%x+0+0 cropped.JPG
crops to 20% of the original size, starting at an offset from top left of image of 0 x 0 pixels, saving to a new filename:
... while this crops the area offset from top left of 100 pixels across, 100 pixels down:
convert censoredSuck.JPG -crop 20%x+100+100 cropped2.JPG
The offset can only be given in pixels, not percentage. So to automate this, you'd need to calculate image size and do the division in your script before giving these values to the bash command.
I'm thinking about whether this is the nicest way to split up an image for communal 'adoption'. It's simple & clear - and the zoomed-in details provoke curiosity - but isn't it a bit basic? Like those close-up images in magazines where you have to guess what it is. (Builder's bum or boobs? Or a peach?) Try out other, more poetic ways of doing it that don't become too abstract, where you retain some sense of the image.
overlapping images
I love the effect of images appearing by being layered over one another at low opacity. Here is a way I figured out to get a montage effect with different overlapping sections of an image.
First, crop out a variety of sections of the image, using different (but overlapping) offsets each time. Here I've created 3 different cropped sections, taken from the top left (0,0), 20 pixels in and down (20,20), and 40 pixels in, 60 pixels down (40,60). The image is sufficiently large that 40% size crops taken from these points will overlap in their content:
$ convert photo3.JPG -crop 40%x+0+0 overlap1.JPG
$ convert photo3.JPG -crop 40%x+20+20 overlap2.JPG
$ convert photo3.JPG -crop 40%x+60+40 overlap3.JPG
Now, to align them in an html doc such that they overlap to re-form the original intersection, set each one's left margin to the same as the x position of the crop, and the top margin to the y position - essentially shifting them the appropriate distance into the 'frame', to their original position within the image:
<html>
<head>
<title></title>
<style type="text/css">
img {
position: absolute;
opacity: 0.3;
}
.one {
margin-top:0px;
margin-left: 0px;
}
.two {
margin-top:20px;
margin-left: 20px;}
.three {
margin-top:40px;
margin-left: 60px;
}
</style>
</head>
<body>
<img class="one" src="overlap1.JPG" />
<img class="two" src="overlap2.JPG" />
<img class="three" src="overlap3.JPG" />
...
So next thing is to automate this with a script that splits image into sections, then reassembles them as html. embedding them comes later!
9 May
Freenet
- Langley, A. (2001) 'Freenet' in Oram, A. (ed.) Peer-to-Peer: Harnessing the Power of Disruptive Technologies (Sebastopol: O'Reilly).
Read an essay about Freenet. My questions were:
- How does this project differ from me in its intentions?
- How is sharing coordinated? Is it a model I could use?
- What aspects of this project could I adopt?
- What is users' relationship to the data they host? How much choice/power do they have?
Notes from the essay:
- Requests for data sent from node to node in search of desired document
- As replies are passed back through nodes they can be cached locally, so popular files are hosted in more places.
- Nodes passing requests only know which previous node the request came through, not the original sender. Hence anonymous.
- Upon recieving a request, node will first look for the requested document locally. If not, will forward request to the node with the closest match to the requested document's key.
- Nodes can't choose what they host, and all documents are encrypted before insertion. However they would be able to recognise a document if it became notorious, and block it.
- Node forwarding makes search quick & efficient. Don't ask one central server, or every server, but get referred in a chain.
- Least requested documents fall down the stack on each node, being deleted if not requested often enough. But its key and address are retained, allowing it to be requested in future. To keep a document 'alive' you just have to request it every so often.
- Integrity of documnets is checked by comparing its hash (Content Hash Key, CHK) to its content - do they match?
- Users can have their own key pairs which allow them to edit their own documents and adopt pseudonyms - allowing for anonymous trust network.
- There is an unsolved conflict between the searchers' need for useful metadata and the need for nodes not to know what they're hosting.
It's interesting that some of the compromises and dilemmas described here are ones I've come up against thinking how you would do a metaphorical enactment of a similar process. Eg, how much metadata should be visible by hosts? Should they be allowed to choose what they host, or is blind solidarity asked of them? Things I could use include the deletion of data not often requested. This makes a clear link between 'production' and 'dissemination' as I was discussing the other day - the opposite of production is surely destruction. I like the idea of keeping a document alive by requesting it - reminds me now of the various electronic toys you have to 'feed' etc.
Florian said it would be fine to carry on with hosting project thankfully. And said how do you introduce some kind of incentive? And/or how to introduce ambivalence of the kind you get in freenet, where people are thinking - shit, what have I just helped to create? So for example they think they're bringing back online some kind of censored LGBT image but actually something darker. I like the idea of using small sections of images, an abstract blur of pixels, which you can choose between. So you have to guess what exactly it is, maybe choose the one you like the look of.
I think this is a separate thing from a Radical X project. I think for that, users must contribute their own images and users must somehow be empowered by it to make something together. But at the same time, be challenged. Not just like in the pixel project where they are basically the pawns of a conceptual art piece where the decisions have already been made. Where they get to make decisions about each others images, they get to curate it. Maybe with the promise that the images eventually chosen will be displayed in a gallery, or some publication? So I'm shifting the curatorial power onto them, while still facilitating. And not just doing this in a happy-clappy 'crowd sourcing = empowerment and joy' way, but continuing the project that Open Sauce started of saying, well, how DO we regulate ourselves or curate or decide what is valuable? How do we deal with disagreements in the contentious realm of sexual politics? So it's a critical look at what it means to hand power to an online community, or is it even a community? Maybe that's the question.
5 May
Hosting/distribution as production. Blurry lines between hosting, promoting, endorsing, producing.
Met with folks from Oxford Feminist Network/Reclaim the Night. Talking about how to get beyond defensive polarized positions. Mentioned cross-hosting idea; hosting as solidarity. D liked it; said - great possibilities. But the concern is, how to avoid polarizing even more by assuming that there are even two distinct camps? And/or encouraging people to write/post something more extreme than they otherwise would have written, just to provoke the other side?
But it's clearer now how it relates to factories. Thinking about 'the like economy'; sharing as an economic activity - there is the shit capitalist side to this (social connections become products), but there is also the positive possibility of a collective bringing-into-being. And so the pixel project is a kind of factory. It's just unclear where Radical X fits in. Maybe do something simple for that, provoking discussions about hosting and censorship and solidarity. It all relates.
3 May
Extended life/project crisis joy. Trying to stay with the not-knowing.
Barbara Hammer, Hammer!
Points out the long history of censorship faced by LGBT communities; trying to articulate some kind of distinctive 'feminine'(?) language of filmmkaing. Not trying to just do DIY porn but to articulate a different language, nice - challenging the dominant narratives in a broader sense; the eroticism of surfaces and moods. To find something new.
where am i
Building the distributed pixel project thing. Feel happy with it, just need to write the code. And original plan was for a Radical X project that paralleled this; physical hosting.
Then Florian bless him was saying the obvious, like er, figure out the problem before the solution! Oh yeh. So what problem was I trying to find a solution to there?
- How to highlight our reliance on the physical guardianship of hardware?
- How to prototype (or at least metaphorically enact) a decentralized, solidarity model of hosting?
And now the factories. And I've been trying to carry this project over into the factory module, bit of square peg in round hole situation. Feeling like I should abandon this and start something new, something factory-like, to make the most of the module. But frustrated that I haven't finished anything yet. There are links though. So for example this:
- How to prototype (or at least metaphorically enact) a decentralized, solidarity model of hosting?
becomes this:
- How to prototype (or at least metaphorically enact) a decentralized, solidarity model of production?
I went to London and chatted to Myles Jackman and Lola about this project - decentralized hosting. And what struck me was how un-bothered they were about this issue, which to geeks like us seems so pressing, and how their priorities were strikingly similar. Eg, the problem that activist communities are splitting over these contentious issues - falling into pro/anti positions that polarize us, and the question is how do you find a space for sensible dialogue? And this was what Radical X initially set out to do, finding common ground, it's why I set it up separately to my own website. To be a space that people felt some ownership of, or at least a semi-neutral space for meeting in the middle maybe. And can it do that again? Can it stimulate some kind of exchange around the issues of pornography for example, or sex work activism which is still so contentious?
But I think the hosting problem could be linked in here. For example, the interesting 'mic check' exercise Alex Brew did at Sex on Trial, where OWS-style we had to repeat phrases from both sides of the debate. Speaking to people after, many of them felt really uncomfortable with it and refused to repeat phrases they disagreed with. Could there be an equivalent in hosting? And actually yes, it reminds me of the video I did for my application to PZI, on the politics of aggregation:
Some quotes I liked that are totally relevant again here:
"Aggregation gives us another chance to get out of our own, heavily conditioned, capitalist headspace. Which is, "this is MY website, this is OUR project, this is OUR collective - and that's what we're promoting. As opposed to linking everybody up, and making sure that everybody grows. Including people you don't necessarily agree with."
And therein lies the rub. Here is the crucial opposition, the crucial contention, I want to address. The key anarchist dilemma: how far does solidarity extend?
So I'm creating models where people have to take a part, have to show solidarity, for the thing to exist at all. And this isn't so far removed from the factories really. Like in my dissertation, the idea is that authorship is never solo because even if the idea is a germ of autonomous genius (which is never), you need other people's eyeballs and speech to bring the work into being. So production isn't different from hosting, is it? To "bring something into being" could mean to create OR to publish. Is this a contemporary phenomenon? The web collapsing boundaries between making & disseminating, a la Mr. Troemel? This is an interesting question. There you go. And so you get into these debates about the speech/act, where does speaking end and action start - the exact problem you have in hosting, no? What does it imply to host something?- as I saw with the interviews I did with hosting providers, where there was disagreement about whether hosting implied endorsement. What does it mean to 'produce' something?
Read this commentary on Butler's treatment of porn censorship: http://flexner.blogs.brynmawr.edu/2011/11/03/perversion-prohibition-and-abercrombie-and-fitch/
And so I was moving towards some kind of halfway hosting/factory/production project proposal for Radical x, where I invite people from different sides of the debate to HOST each other's arguments, like the OWS exercise. Would OBJECT host some porn that had fallen foul of censorship? (My friend said: good luck with that!) They are currently campaigning to ban page 3 'porn' from UK newspapers: http://www.object.org.uk/home/3-news/135-press-misconduct-page-3-is-a-part-of-it
So what next nor? Bash out a rough proposal of what I could try to do.
22 April
Construction of the archive
Proposal for BodyBook
WHAT IS IT? BodyBook is a living, distributed archive of unpublishable works - created and maintained by you. You are invited to:
A. Send in an image, text or other file that has been censored. For example: a photo taken down from your Facebook page by admins. and/or: B: Volunteer to host somebody else's image or file.
HOW DOES IT WORK? All files sent in will be temporarily stored by Radical X while they await adoption by a host. Each file will have a short description, which potential hosts will use to decide whether or not they wish to host it. Until an image is adopted by a host, only this description will be visible.
When a host has found an image they want to host, they will send in a photo of themselves holding the machine they propose to host it on, along with an email address. The image is then sent to them. (Not sure about the following part: They will then make it available online: either hosting it on their server, or seeding it on a file-sharing service such as Pirate Bay.)
Radical X will act as an index to this distributed archive, with links to all of the files that have been hosted. Next to the description of each file will be the host's photo of the computer on which that file is stored.
Question: do the images actually need to be online? Isn't it enough that they are stored on ppl's computers?
And actually, it's more interesting if it's offline because then you have to email the host to get a copy of the image.
Though I can't control whether ppl put it online I guess. Though having the mystery would be good.
Q2: Should I limit invitations to work that's ALREADY been censored? Or could I invite new work that falls foul of some kind of guidelines - eg, facebook? A kind of Oulipo constraint. Fits more in with the factory theme as well. And it would help to generate more content; give ppl a motivation to participate.
I like the idea of encouraging conversations between participants by maintaining the mystery of what the files actually are. Creating a kind of social network. Should I actually use Diaspora or something for this, rather than Radical X being the central node? But don't want ppl to have to get accounts.
20 April
Gathering relevant projects. Question: do I want to facilitate a one-off, or design a protocol?
{{#ev:vimeo|38786165}}
http://www.v2.nl/events/dead-drops-masterclass/leadImage_preview
Guardian book swap. Books left out in the open for people to find and re-circulate.
http://www.deadswap.net/
How is what I'm doing different from these 'offline file sharing' projects? Based more on holding and less on circulation. More stationary and personal. Asking for individual commitment rather than finding a solution for networking.
Projects based on the idea of 'adoption'?
14 April
So here we are at 1.3. Too many ideas for projects and not enough time.
In prototyping I'll be developing the 'adopt a pixel' project and hope to have it actually working by the end of term, with a database.
Now I have to think about Radical X and where I want to take it. Came up with a rough proposal for a project to do this Trimester, on hosting - the distributed, physical archive of censored works. Realised that if I go with this, there is a clear theme developing in Radical X. All projects will have explored the question of solidarity vs consent; how people with conflicting interests accommodate one another.
So the proposal I wrote was this:
Proposal: BodyBook will facilitate the creation of a distributed archive of images censored from Facebook because of their 'bodily' content (nudity, breastfeeding etc). Participants will be invited to contribute images that they have had removed from their pages by Facebook admins, and the BodyBook website will match them with other participants who are willing to "host" the image for them. Participants will be encouraged to interpret "hosting" in a broad sense: from hosting the image literally on their own server, to physically carrying it with them - provided that the host have bodily guardianship of their chosen image. The BodyBook website will provide an index of this physical archive.
And that leaves me with a list of questions that need answering:
- Why Facebook specifically, and could attention be drawn to the problems of censorship/hosting by widening the net somewhat?
- Do hosts get to see the images they're adopting, or is it a surprise/ blind promise?
- How to make it interesting/rewarding for participants? How to invite their creative input - designing the storage devices; making images specially for it (in which case need to adjust original specs for images)?
Actually funnily enough, I just took a pause to download some music and had to move to yet another pirate bay mirror, as each one seems to get blocked. I find this whole process fascinating - how the 'taken down' page then links to alternate mirrors. How could I make this Rad X project relevant to this more scary form of censorship, instead of just highlighting the obvious fact that FB doesn't like breasts? Is it even relevant to sexuality and if so, how? Or does it fall outside the scope of Rad X? Is it an entirely separate project?
Thinking about physical location. I started off last trimester thinking about actual servers and how they are vulnerable to the 'laws of the land'. But there is something very bodiless and conceptual about all these pirate bay sites and how the same content is served up in a slightly different wrapping with a different URL each time; one gets blocked, and you move to the next one.
a small idea
So we're doing factories right, ie working processes, ie methods. And the most relevant bit for me is I think the question of what it means to facilitate a project - are you just the new boss?. But anyway I had the idea to combine the factory project with the hosting project. So, one the one hand you have 'producers' who make some kind of illicit content. And on the other, 'hosts' who agree to take care of it. And somehow make the argument that 'radical' porn isn't worthy of the name if it colludes with the censorship that's going on now - like Kink.com doing DMCA takedown notices. Not that they ever claimed to be radical.
so continuing in the vein of Open Sauce where the basic idea being advanced is - don't start from scratch; we exist in a world saturated with pornographic imagery and what is interesting is the way that imagery is privately appropriated and made use of by those it isn't intended for.
but how this fits in with censorship and hosting i don't know. Maybe keep it separate. And then what of the factory?
later
Just been reading about http://www.dontmakemesteal.com/en/
I'm not down with the politics but I'm surprised something like this hasn't come along sooner. Sign of the times.
So what do I do next? Get a tutorial and unload my brain. Make notes on that Gondry text - thinking about the role of the project facilitator. Chat to Florian about how to fit the factory in with other project ideas on hosting.