User:Eleanorg/Journal 1.3: Difference between revisions
(→9 June) |
|||
(31 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | |||
==1 Aug== | |||
===later=== | |||
Did a html5 canvas tutorial. I like how it has imagemagick-like functionality (programmable drawing) straight in the browser, without x thousand img tags. It still lacks the poetry - and default instant feedback - of actual embedding, though. And the really neat thing about embedding images is that you can include them in the html, and if they're missing remotely then they just won't show up. This means you don't need to create the html document on the fly every time someone views it in order to get up-to-date information. | |||
Could it be possible to use Canvas in a way that would allow for instant feedback without interminable page-load? I don't want to be scraping URLs as the page loads, I want to do it beforehand, in the background. So that what the user sees is ready-made, with out-of-date pixels simply not showing up. | |||
====Canvas==== | |||
PROs: | |||
* Lighter page-load | |||
* Potentially more flexible output | |||
CONs: | |||
* no default instant feedback - needs to be told whether to draw pixel or not | |||
====Embedded images==== | |||
PROs: | |||
* Conceptually strong | |||
* Default instant feedback | |||
* easy to display source URL | |||
CONs: | |||
* page-load needs to be managed by jQuery | |||
* old fashioned/clunky? | |||
===Dissolute Image=== | |||
Working model of dissolute image was shown at WORM, but the conceptual problems with having an image composed from my own database need sorting out. I think there can be a compromise between 'embedding' & 'endorsing' as opposed below - that is, I embed things from remote websites (Rendering it vulnerable to them taking stuff offline, and with an 'instant feedback' that you don't get from building periodically from a db), but only when I've verified that it's the same thing I've given out. | |||
So I'll be rewriting how the pixels are actually composed on the page, changing it from an image made with imagemagick to an html doc with lots of embedded images. I dismissed this idea initially because of client-side heaviness, but it's conceptually nicer and hopefully with a bit of jQuery should be able to make incremental page-load manageable. | |||
====What next==== | |||
* investigate using HTML5 canvas as a possible alternative to embedding image files | |||
* Investigate how to extract data from facebook | |||
* Sketch out conceptually how the allocation, verification and composition parts will work together | |||
==19 June== | |||
===hosting & embedding vs. 'Liking'/endorsing=== | |||
I've been struggling to chose between these two options in my research this trimester. Both are conceptually similar: democratic consensus as production. But the mechanics, I can't decide on. | |||
====Embedding==== | |||
Making yourself vulnerable, being composed of content from Others. | |||
====Endorsing==== | |||
Having to, as it were, 'click the like button' - but only to endorse something on my own server. To 'Like' is to produce. | |||
This has expressed itself in the pixel project: do I scrape their data to compose the image, or only verify it against my own db? | |||
I now also need to firm up my proposal for a Radical X project which will try to develop models for curating-together. | |||
===Radical X zine project=== | |||
I've got Multitude and immaterial labour floating around in my brain. The idea that immaterial labourers produce social relationships, thus can produce new forms of resistance. And multitude: how does democracy work in a plurality of singularities? This is the question Radical X asks. It's all about consent; how do we negotiate. So actually 'consent' would be a good name for the project. Broadening out the debate around consent to censorship and how we support each other - how does the insistence on consent (filled with liberal individualistic undertones) map onto the imperative for solidarity? Hardt and Negri say the Multitude converges on the points where singularities are in agreement, leaving differences intact. | |||
So along these lines I want to produce a tool that can be used to curate consensually, offering the option of solidarity. Somewhere between voting and consensus, like Freenet, where the most hosted are the most visible. But most hosted doesn't necessarily mean hosted by the most people - hence, the politics of hardware come in (who has most server space). | |||
It uses the logic of social networking sites - user endorsement promotes items, produces memes - but tries to find a radical application, where we produce both content and hosting ourselves. | |||
The proposal has been roughly sketched out but needs to be refined: | |||
* final product is a zine which reflects the popularity of various items | |||
* PROCESS? | |||
* items are submitted and must be adopted by at least 3 people in order to appear in the magazine. Their opacity will relate to their popularity. (This involves design decisions, eg the overlapping I've been experimenting with) | |||
eg, do I make a layout and ppl submit things to this layout? I think it does need an online prototype where there are blanks if the thing hasn't been adopted. | |||
==Where to start== | |||
I want this to be an ongoing project involving dialogue as well as a technical tool - not least, because the techincal tool will take me a long time to make, and be very difficult! So the problem I have is, where to start? Aymeric suggested just making flyers at this point. Do I arrange events over the summer, but then only put the documentation online when it's gone through this 'voting'/hosting process? It needs to be strictly timed. | |||
A model for curating-together based on donation of hosting. | |||
Yes, it makes sense that the theme would be consent. A zine on consent, exploring what it means to curate together in a consensual fashion. Starting with consent in its more familiar, sexual context, and fanning out to talk about the role of consent in radical cultures. | |||
==18 June PM== | |||
I think i've changed my mind about wanting to stop people changing the data I give them for each pixel (thus stopping them corrupting the image with noise). The idea of 'putting words in people's mouths' using strict regular expressions belongs, I think, to a subtly diverging new project. The whole point of the pixel hosting is the vulnerability of the single object to the many; to take data from other people's sites is done precisely to make myself/ my image vulnerable to them. They can faithfully reproduce it, or they can destroy it. This actually highlights the dilemmas in a more interesting way than forcing people to parrot me exactly, or opt out. | |||
I could use the database simply to keep track of which pixels have been adopted and what their position is, but scrape the actual colour information from the user. | |||
The other project that grows from this, then, is a stricter one where people must post something I specify, or claim to endorse something in some way - and I make up the object/image/text from those endorsements. | |||
===pixel scraping code=== | |||
Turns out that we can't figure out how to grab a hash using the db's own ObjectId because of its weird type attributes. So I'll have to make my own Id numbers. This makes it easier for ppl to make them up, thus getting a pixel other than the one they've been given. But this is ok - they can change the color, but not the position. So: I grab their id number, check to see if it exists in db, then use the color they've given to draw on a pixel at the x and y position taken from the db. Or, I don't even bother with id numbers and identify the pixel in the db from its x and y position. No, actually that would introduce unnecessary difficulty. | |||
So string will look like: | |||
I'm adopting pixel:999;xpos:9;ypos:23;col:rgb(blabla) | |||
I like the fact that allowing user corruption of the image creates an incentive for ppl who want to preserve it to 'grab' more pixels, like activists buying shares in companies. | |||
So, when I check the db I will check to see if pixel 999 really does have xpos and ypos as given (and pass these to the draw command), but the color I pass will be scraped from the user's website. | |||
==18 June== | |||
Struggling with Python. And it's not just formal or syntactical struggles but conceptual ones. Because, the question of how to deal with user input and how to sanitize it is the central issue. | |||
I asked a programmer about the string that I'll give the user to identify their pixel. And I said that I wanted to write my regular expression such that in order to be valid, they must also include my website address in the string. He said - don't do that; only insist that the essential parts (color, position) be pasted exactly, and let them link to my site (or not) however they like. But conceptually, the idea of 'putting words in their mouth' is one of the most interesting things. | |||
So, if I'm not directly embedding images from other sites but merely scraping their data to ensure it conforms to that in my own database, then actually the string I insist they paste could be anything. It could be a sentence, which corresponds to a pixel in the database which is then printed. It is much more like building something out of a number of 'Likes' than directly drawing content from them. Perhaps this is a different project, then? | |||
==16 june== | |||
pixel strings will be in format thus: I'm adopting a pixel at dissoluteimage.com! x=123;y=345;col=(255,255,255);id=678 | |||
What next: | |||
* in ScrapeAndVerify.py - write funcs to check user's hash against db hash | |||
==15 June== | |||
if i compose image from pixel attributes in my database: | |||
* more efficient, but not really getting data from them | |||
* i can only do it IF the data on their site is the same... | |||
* ...but i'm still self-sufficient, simply requiring their endorsement | |||
if i scrape from other ppl's sites: | |||
* it's more poetic: relying on others / vulnerability | |||
* BUT I'm still validating their input, so I have all the data in reserve anyway | |||
is the only way to make a statement about vulnerability to recieve any, unsanitized input? | |||
or could there be an intermediate way, where I'm sanitising as far as is necessary for safety, but basically letting ppl do what they like? (like open sauce). problem is, the content tends towards noise when this is done, or falls back on cliches. it's all about boundaries. | |||
The embedding zine is a way of resolving this question: it's semi-sanitized by the fact that community needs to endorse it, but the embedding is 'live' (unlike the pixels, stored in an img file from data in my own db). | |||
==12 June== | |||
More thinking about how the various things I'm doing link up & relate. | |||
Hosting/distribution as production. There is a broader theme here, an interest in curation as the curious half-way between production and dissemination. Production-through-constraint. The application of constraint as productive tool. And I'm interested in how the conflicts between people are resolved; what happens when you try to work democratically. Play!Fight! was about looking for common ground between conflicting communities or sets of interest; Open Sauce zoomed in a bit more on the points at which people differ, and how they deal with those differences. (Add? Edit? Erase?) So the next Radical X project will continue in that vein but this time trying to find some real-world applicable method of curating-together. | |||
Questions: | |||
* who decides what is 'publishable'? | |||
* how far am i (participant) willing to extend solidarity in the name of free speech? | |||
* what are the implications of infrastucture? (ie, dealing w/ ppl with server space + skills able to host more, ie decide more) | |||
===planning for WORM &c=== | |||
What to show at this stage? Been working on some prototypes of how an overlapped image-hosted online magazine could work. This is the proposal: | |||
===embedded magazine proposal=== | |||
* Advertise for submissions on [insert topic here], encouraging content which has been censored elsewhere. | |||
* Assemble all submitted items into a web/print layout. | |||
* All items will be replaced by grey placeholders, with minimal metadata (given by sumbittor), and a link to adopt that item | |||
* When adopted, the item will be embedded from wherever it's being hosted, appearing in the layout. | |||
* When the project cut-off date is reached, the current layout will be printed. | |||
<br /> | |||
[[File:EmbedSketch1-page1.png]]<br /> | |||
Mocked-up this magazine page today. | |||
Thoughts... | |||
* look & feel of eventual article? Newspaper/magazine feel makes it look provisional which I like - temporary. Different versions could be printed throughout the project. But then, is it the most appropriate form for the content? Some kind of smaller, more intimate format might work better. | |||
* Topic/content: not so important. It would be good to develop this as a 'factory' or tool that could be used on contentious topics. A partially-functional but mostly-artistic working method for collaborative curation. Two topics I'd like to use it for are a theoretical one - getting various warring feminist groups to host each others' polemical pieces on porn &c; and a visual/prefigurative one as I've been thinking about below - making/disseminating prefigurative sexual/cultural content. | |||
What next - mock-up a zine page with the overlapping technique. | |||
==10 june== | ==10 june== | ||
What to do next: | What to do next: |
Latest revision as of 15:44, 1 August 2012
1 Aug
later
Did a html5 canvas tutorial. I like how it has imagemagick-like functionality (programmable drawing) straight in the browser, without x thousand img tags. It still lacks the poetry - and default instant feedback - of actual embedding, though. And the really neat thing about embedding images is that you can include them in the html, and if they're missing remotely then they just won't show up. This means you don't need to create the html document on the fly every time someone views it in order to get up-to-date information.
Could it be possible to use Canvas in a way that would allow for instant feedback without interminable page-load? I don't want to be scraping URLs as the page loads, I want to do it beforehand, in the background. So that what the user sees is ready-made, with out-of-date pixels simply not showing up.
Canvas
PROs:
- Lighter page-load
- Potentially more flexible output
CONs:
- no default instant feedback - needs to be told whether to draw pixel or not
Embedded images
PROs:
- Conceptually strong
- Default instant feedback
- easy to display source URL
CONs:
- page-load needs to be managed by jQuery
- old fashioned/clunky?
Dissolute Image
Working model of dissolute image was shown at WORM, but the conceptual problems with having an image composed from my own database need sorting out. I think there can be a compromise between 'embedding' & 'endorsing' as opposed below - that is, I embed things from remote websites (Rendering it vulnerable to them taking stuff offline, and with an 'instant feedback' that you don't get from building periodically from a db), but only when I've verified that it's the same thing I've given out.
So I'll be rewriting how the pixels are actually composed on the page, changing it from an image made with imagemagick to an html doc with lots of embedded images. I dismissed this idea initially because of client-side heaviness, but it's conceptually nicer and hopefully with a bit of jQuery should be able to make incremental page-load manageable.
What next
- investigate using HTML5 canvas as a possible alternative to embedding image files
- Investigate how to extract data from facebook
- Sketch out conceptually how the allocation, verification and composition parts will work together
19 June
hosting & embedding vs. 'Liking'/endorsing
I've been struggling to chose between these two options in my research this trimester. Both are conceptually similar: democratic consensus as production. But the mechanics, I can't decide on.
Embedding
Making yourself vulnerable, being composed of content from Others.
Endorsing
Having to, as it were, 'click the like button' - but only to endorse something on my own server. To 'Like' is to produce.
This has expressed itself in the pixel project: do I scrape their data to compose the image, or only verify it against my own db? I now also need to firm up my proposal for a Radical X project which will try to develop models for curating-together.
Radical X zine project
I've got Multitude and immaterial labour floating around in my brain. The idea that immaterial labourers produce social relationships, thus can produce new forms of resistance. And multitude: how does democracy work in a plurality of singularities? This is the question Radical X asks. It's all about consent; how do we negotiate. So actually 'consent' would be a good name for the project. Broadening out the debate around consent to censorship and how we support each other - how does the insistence on consent (filled with liberal individualistic undertones) map onto the imperative for solidarity? Hardt and Negri say the Multitude converges on the points where singularities are in agreement, leaving differences intact.
So along these lines I want to produce a tool that can be used to curate consensually, offering the option of solidarity. Somewhere between voting and consensus, like Freenet, where the most hosted are the most visible. But most hosted doesn't necessarily mean hosted by the most people - hence, the politics of hardware come in (who has most server space).
It uses the logic of social networking sites - user endorsement promotes items, produces memes - but tries to find a radical application, where we produce both content and hosting ourselves.
The proposal has been roughly sketched out but needs to be refined:
- final product is a zine which reflects the popularity of various items
- PROCESS?
- items are submitted and must be adopted by at least 3 people in order to appear in the magazine. Their opacity will relate to their popularity. (This involves design decisions, eg the overlapping I've been experimenting with)
eg, do I make a layout and ppl submit things to this layout? I think it does need an online prototype where there are blanks if the thing hasn't been adopted.
Where to start
I want this to be an ongoing project involving dialogue as well as a technical tool - not least, because the techincal tool will take me a long time to make, and be very difficult! So the problem I have is, where to start? Aymeric suggested just making flyers at this point. Do I arrange events over the summer, but then only put the documentation online when it's gone through this 'voting'/hosting process? It needs to be strictly timed.
A model for curating-together based on donation of hosting.
Yes, it makes sense that the theme would be consent. A zine on consent, exploring what it means to curate together in a consensual fashion. Starting with consent in its more familiar, sexual context, and fanning out to talk about the role of consent in radical cultures.
18 June PM
I think i've changed my mind about wanting to stop people changing the data I give them for each pixel (thus stopping them corrupting the image with noise). The idea of 'putting words in people's mouths' using strict regular expressions belongs, I think, to a subtly diverging new project. The whole point of the pixel hosting is the vulnerability of the single object to the many; to take data from other people's sites is done precisely to make myself/ my image vulnerable to them. They can faithfully reproduce it, or they can destroy it. This actually highlights the dilemmas in a more interesting way than forcing people to parrot me exactly, or opt out.
I could use the database simply to keep track of which pixels have been adopted and what their position is, but scrape the actual colour information from the user.
The other project that grows from this, then, is a stricter one where people must post something I specify, or claim to endorse something in some way - and I make up the object/image/text from those endorsements.
pixel scraping code
Turns out that we can't figure out how to grab a hash using the db's own ObjectId because of its weird type attributes. So I'll have to make my own Id numbers. This makes it easier for ppl to make them up, thus getting a pixel other than the one they've been given. But this is ok - they can change the color, but not the position. So: I grab their id number, check to see if it exists in db, then use the color they've given to draw on a pixel at the x and y position taken from the db. Or, I don't even bother with id numbers and identify the pixel in the db from its x and y position. No, actually that would introduce unnecessary difficulty. So string will look like:
I'm adopting pixel:999;xpos:9;ypos:23;col:rgb(blabla)
I like the fact that allowing user corruption of the image creates an incentive for ppl who want to preserve it to 'grab' more pixels, like activists buying shares in companies.
So, when I check the db I will check to see if pixel 999 really does have xpos and ypos as given (and pass these to the draw command), but the color I pass will be scraped from the user's website.
18 June
Struggling with Python. And it's not just formal or syntactical struggles but conceptual ones. Because, the question of how to deal with user input and how to sanitize it is the central issue.
I asked a programmer about the string that I'll give the user to identify their pixel. And I said that I wanted to write my regular expression such that in order to be valid, they must also include my website address in the string. He said - don't do that; only insist that the essential parts (color, position) be pasted exactly, and let them link to my site (or not) however they like. But conceptually, the idea of 'putting words in their mouth' is one of the most interesting things.
So, if I'm not directly embedding images from other sites but merely scraping their data to ensure it conforms to that in my own database, then actually the string I insist they paste could be anything. It could be a sentence, which corresponds to a pixel in the database which is then printed. It is much more like building something out of a number of 'Likes' than directly drawing content from them. Perhaps this is a different project, then?
16 june
pixel strings will be in format thus: I'm adopting a pixel at dissoluteimage.com! x=123;y=345;col=(255,255,255);id=678
What next:
- in ScrapeAndVerify.py - write funcs to check user's hash against db hash
15 June
if i compose image from pixel attributes in my database:
- more efficient, but not really getting data from them
- i can only do it IF the data on their site is the same...
- ...but i'm still self-sufficient, simply requiring their endorsement
if i scrape from other ppl's sites:
- it's more poetic: relying on others / vulnerability
- BUT I'm still validating their input, so I have all the data in reserve anyway
is the only way to make a statement about vulnerability to recieve any, unsanitized input? or could there be an intermediate way, where I'm sanitising as far as is necessary for safety, but basically letting ppl do what they like? (like open sauce). problem is, the content tends towards noise when this is done, or falls back on cliches. it's all about boundaries.
The embedding zine is a way of resolving this question: it's semi-sanitized by the fact that community needs to endorse it, but the embedding is 'live' (unlike the pixels, stored in an img file from data in my own db).
12 June
More thinking about how the various things I'm doing link up & relate.
Hosting/distribution as production. There is a broader theme here, an interest in curation as the curious half-way between production and dissemination. Production-through-constraint. The application of constraint as productive tool. And I'm interested in how the conflicts between people are resolved; what happens when you try to work democratically. Play!Fight! was about looking for common ground between conflicting communities or sets of interest; Open Sauce zoomed in a bit more on the points at which people differ, and how they deal with those differences. (Add? Edit? Erase?) So the next Radical X project will continue in that vein but this time trying to find some real-world applicable method of curating-together. Questions:
- who decides what is 'publishable'?
- how far am i (participant) willing to extend solidarity in the name of free speech?
- what are the implications of infrastucture? (ie, dealing w/ ppl with server space + skills able to host more, ie decide more)
planning for WORM &c
What to show at this stage? Been working on some prototypes of how an overlapped image-hosted online magazine could work. This is the proposal:
embedded magazine proposal
- Advertise for submissions on [insert topic here], encouraging content which has been censored elsewhere.
- Assemble all submitted items into a web/print layout.
- All items will be replaced by grey placeholders, with minimal metadata (given by sumbittor), and a link to adopt that item
- When adopted, the item will be embedded from wherever it's being hosted, appearing in the layout.
- When the project cut-off date is reached, the current layout will be printed.
Mocked-up this magazine page today.
Thoughts...
- look & feel of eventual article? Newspaper/magazine feel makes it look provisional which I like - temporary. Different versions could be printed throughout the project. But then, is it the most appropriate form for the content? Some kind of smaller, more intimate format might work better.
- Topic/content: not so important. It would be good to develop this as a 'factory' or tool that could be used on contentious topics. A partially-functional but mostly-artistic working method for collaborative curation. Two topics I'd like to use it for are a theoretical one - getting various warring feminist groups to host each others' polemical pieces on porn &c; and a visual/prefigurative one as I've been thinking about below - making/disseminating prefigurative sexual/cultural content.
What next - mock-up a zine page with the overlapping technique.
10 june
What to do next:
- Dissolute Image
- * get mongoBD insertion working
- Image embedding
- * Work on script to automatically split images into simple sections, re-combined with css positioning.
9 June
Mind-silt settling. Why Networked Media, why am i here in Rotterdam. An answer at last maybe. Because: mode of publishing/circulation implicated in mode of relating/negotiating. Thus Radical X obsession is: building sex-positive culture BUT not only content BECAUSE form + distribution are equally important and this is where internets comes in, this is where pro-copyright DRM'd "radical" alternatives fail.
the embedded magazine
...will be the first aimed-towards in the Radical X project. I want to use the imagemagick overlapping thing so that each image to be printed will need to be adopted by several people. This needs a significant amount of coding from where I currently am.
- Automate the splitting of images into overlapping sections positioned with css.
- Generate html placeholders for each section, of the right size/shape/absolute position.
- Each placeholder needs an 'adopt me' link.
- same problem as pixels: how to associate a unique id with each section so it can be adopted + embedded in the right place?
Puzzling logical problem. Imagemagick spits out split-up sections, but they must then be hidden until adopted, replaced with an empty div of fixed width + height, identical to that of corresponding image section. Do I just have to do this manually, so someone emails me the section id they've adopted and I check it's the right one, then insert it into the html? Maybe it has to be done this way, otherwise you get the nightmare of verifying user-input data bla bla.
authorship
i was thinking, my research/writing on authorship and the spiritual practice of abandoning autonomous claims - i was thinking, this is some hangover from my BA unrelated to my other work. But actually no, authorship-as-communion has the same underlying logic as the pixel project, as the image overlapping. There is no being-aloneness and there is certainly no creating-alone.
Here is the documentation from my LiWoLi workshop:
We were deconstructing this image of the autonomous (male) individual enclosed in his protective circle. People were adding more figures to the image - creating umbilical cords out of the circle connected to fantastical beasts; suggesting a row of them holding hands or a pyramid of authors standing 'on the shoulders of'... So we have multiplication and the refusal of singularity. And now i am 24 and it's time to read H&N, really i can't be 24 and not have read Multitude, it's not on. one for the weekend, a change from phillipa gregory, w00t.
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.
Some kind of conception of autonomy here maybe coming from background in pro-choice activism, where you have the paradox that "bodily autonomy" relies on a funded infrastructure of medical care. To be autonomous we need others.
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.