March 10, 2010

Here’s a simple paint program I made using canvas. It’s a pretty blatent ripoff of another one that a friend showed me today, but unfortunately I don’t have the URL handy. (Sorry, I’ll update in the morning!) The framework makes it pretty simple for you to add your own tools. Click on for source.

JPLT.Class.create("JPLT.PaintTool", JPLT.Object,
	function() {
		this.isPainting = false;
		this.x = 0;
		this.y = 0;
		this.d = 0;
		this.a = 0;
		this.isPainting = false;
	},
 
	{
		mouseMoved: function(e) {
			var x2 = e.clientX;
			var y2 = e.clientY;
			this.oldx = this.x;
			this.oldy = this.y;
			this.dy = y2-this.y;
			this.dx = x2-this.x;
			this.d = Math.sqrt(Math.pow(this.dx,2)+Math.pow(this.dy,2));		
			this.a = Math.atan2(this.dy,this.dx);
			this.x = x2;
			this.y = y2;
		},
 
		mousePressed: function() {
			this.isPainting = true;
		},
 
		mouseReleased: function() {
			this.isPainting = false;
		},
 
		paint: function(ctx) {
		}
	}
);
 
JPLT.Class.create("JPLT.PaintTool.InkBlob", JPLT.PaintTool,
	function() {
		this.superConstruct()
		this.radius = 1;
	},
	{
		mouseMoved:function(e) {
			this.superCall("mouseMoved",e);
 
			if (this.radius > 1) {
				this.radius = Math.max(this.radius-this.d/5,1);				
			}
		},
 
		mouseReleased:function(e) {
			this.superCall("mouseReleased",e);
 
			this.radius = 1;
		},
 
		paint: function(ctx) {
			if (this.isPainting) {
				ctx.fillStyle = "rgba(0,0,0,0.3)";
				ctx.beginPath();
				ctx.arc(this.x, this.y, this.radius, 0, 2*Math.PI, false);
				ctx.fill();
				this.radius += 0.5;
			}
		}
	}
);
 
JPLT.Class.create("JPLT.PaintTool.Ribbon", JPLT.PaintTool,
	function() {
		this.superConstruct();
	},
	{	
		paint: function(ctx) {
			if (this.isPainting) {
				ctx.save();
				ctx.strokeStyle = "rgba(0,0,0,0.3)";
				ctx.translate(this.x,this.y);
				ctx.rotate(this.a);
				ctx.beginPath();
				ctx.moveTo(-10,-10);
				ctx.lineTo(10,10);
				ctx.stroke();
				ctx.restore();
			}
		}
	}
);
 
JPLT.Class.create("JPLT.PaintTool.Slinky", JPLT.PaintTool,
	function() {
		this.superConstruct();
	},
	{
		paint:function(ctx) {
			if (this.isPainting) {
				ctx.save();
				ctx.strokeStyle = "rgba(0,0,0,0.3)";
				ctx.beginPath();
				ctx.arc(this.x,this.y,10,this.a,this.a+Math.PI,true);
				ctx.stroke();
				ctx.restore();				
			}
		}
	}
);
 
JPLT.Class.create("JPLT.PaintTool.Line", JPLT.PaintTool,
	function() {
		this.superConstruct();
	},
	{
		paint:function(ctx) {
			if (this.isPainting) {
				ctx.save();
				ctx.strokeStyle = "rgba(0,0,0,0.3)";
				ctx.beginPath();
				ctx.moveTo(this.x-this.dx,this.y-this.dy);
				ctx.lineTo(this.x,this.y);
				ctx.stroke();
				ctx.restore();
			}
		}
	}
);
 
JPLT.Class.create("JPLT.Paint", JPLT.Object,
	function() {
		this.width = window.innerWidth;
		this.height = window.innerHeight;
 
		this.currentTool = new JPLT.PaintTool.InkBlob();
 
		this.createElement();
		this.run();
	},
	{
		tools: {
			'inkblob': new JPLT.PaintTool.InkBlob(),
			'ribbon': new JPLT.PaintTool.Ribbon(),
			'slinky': new JPLT.PaintTool.Slinky(),
			'line': new JPLT.PaintTool.Line()
		},
 
		createElement: function() {
			var body = document.documentElement || document.body;
 
			this.element = document.createElement("canvas");
			this.element.width = this.width;
			this.element.height = this.height;
			this.element.style.position = "absolute";
			this.element.addEventListener("mousemove", this.delegate(this.mouseMoved), true);
			this.element.addEventListener("mousedown", this.delegate(this.mousePressed), true);
			this.element.addEventListener("mouseup", this.delegate(this.mouseReleased), true);			
			body.appendChild(this.element);
 
			var div = document.createElement("div");
			div.style.textAlign = "center";
			div.style.position = "absolute";
			div.style.zIndex = 1;
			div.style.width = this.width;
 
			var select = document.createElement("select");
			select.addEventListener("change", this.delegate(this.changeTool), true);
 
			for (var tool in this.tools) {
				var option = document.createElement("option");
				option.value = tool;
				option.text = tool;
				select.add(option,null);
			}
			div.appendChild(select);
 
			var clearButton = document.createElement("button");
			clearButton.innerHTML = "clear";
			clearButton.addEventListener("click", this.delegate(this.clear), true);
			div.appendChild(clearButton);
 
			var saveButton = document.createElement("button");
			saveButton.innerHTML = "save";
			saveButton.addEventListener("click", this.delegate(this.save), true);
			div.appendChild(saveButton);
 
			body.appendChild(div);
		},
 
		mouseMoved: function(e) {
			this.currentTool.mouseMoved(e);
		},
 
		mousePressed: function(e) {
			this.currentTool.mousePressed(e);
		},
 
		mouseReleased: function(e) {
			this.currentTool.mouseReleased(e);
		},
 
		context: function() {
			return this.element.getContext("2d");
		},
 
		run: function() {
			if (!this.timer) {
				this.timer = window.setInterval(this.delegate(this.paint), this.delay);	
			}
		},
 
		stop: function() {
			window.clearInterval(this.timer);			
			this.timer = null;
		},
 
		changeTool: function(e) {
			var newTool = e.target.value;
 
			this.log("Changed tool to " + newTool);
			this.currentTool = this.tools[newTool];
		},
 
		clear: function() {
			var ctx = this.context();
			ctx.clearRect(0,0,this.width,this.height);
		},
 
		save: function() {
			window.open(this.element.toDataURL());
		},
 
		paint: function() {
			try {
				var ctx = this.context();
				this.currentTool.paint(ctx);
			}
			catch (e) {
				this.stop();
				throw(e);
			}
		}
	}
);

potatono | NYC Resistor | March 10, 2010 05:47 AM

March 09, 2010

For today’s March Madness program I made a visualization of Tumblr quotes from a few friends I follow. I turn the text into a tumbleweed and let it ramble on by across the screen. It could definitely use some optimization as canvas doesn’t seem to handle lots of text rendering too well. Source is after the break.

JPLT.Class.create("JPLT.TextTumbleweed", JPLT.Object,
	function(str) {
		this.str = str;
		this.reset();
		this.createPhrases();
	},
	{
		reset: function() {
			this.active = false;
			this.x = -50 + Math.random() * -200;
			this.y = 267 + 133 * Math.random();
			this.baseY = this.y;
			this.speed = Math.random() * 5 + 1;
			this.r = Math.random() * Math.PI/8 - Math.PI/16;
			this.size = 10 + Math.random()*10;
			this.color = "rgb(" + Math.floor(Math.random()*50) + "," + 
				Math.floor(Math.random()*50) + "," + 
				Math.floor(Math.random()*50) + ")";
		},
 
		run: function() {
			if (this.active) {
				this.r += this.speed/5 * Math.PI/16;
				if (this.r > Math.PI*2) {
					this.r -= Math.PI*2;
				}
 
				this.x += this.speed;
				this.y = this.baseY + Math.abs(Math.cos(this.r)) * this.speed * 5;
 
				if (this.x > window.innerWidth + 200) {
					this.reset();
					this.fireEvent("weedInactive");
				}
			}
		},
 
		createPhrases: function() {
			var phrase;
			var words = this.str.split(/\s+/);
 
			this.phrases = [];
 
			while(words.length) {
				phrase = "";
				while(words.length && phrase.length < 25) {
					phrase = phrase + words.shift() + " ";
				}
 
				this.phrases.push({ 'phrase': phrase, 'random': Math.random() });
			}
		},
 
		paint: function(ctx) {
			try {
				if (this.active) {
					var random;
					var phrase;
					var r = this.r;
 
					ctx.save();
 
					ctx.fillStyle = this.color;
					ctx.translate(this.x,this.y);
 
					for (var i=0; i<this.phrases.length; i++) {
						phrase = this.phrases[i].phrase;
						random = this.phrases[i].random;
 
						ctx.rotate(r);
						ctx.font = this.size + "px sans-serif";
						var size = ctx.measureText(phrase);
						ctx.fillText(phrase,-size.width/2,0);
 
						r = Math.PI + Math.PI/(5 + -random*3);
					}
 
					ctx.restore();
				}
			}
			catch (e) {
				throw(e);
			}
		}
	}
);
 
JPLT.Class.create("JPLT.TumblrTumbleweeds", JPLT.Object,
	function() {
		// We need a global reference to call back.
		JPLT.TumblrTumbleweeds.instance = this;
 
		this.width = 800;
		this.height = 534;
		this.delay = 10;
		this.quoteLength = 200;
		this.activeWeeds = 2;
		this.weeds = [];
 
		this.addEventListener("weedInactive", this.delegate(this.activateWeed));
		this.createElements();
		this.load('soupsoup');
		this.load('justinday');
		this.load('ericmortensen');
		this.load('jacobjoaquin');
		this.load('mikehudack');
	},
 
	{
		getUrl:function(user) {
 
			var url = "http://" + escape(user) + 
				".tumblr.com/api/read/json?type=quote&" +
				"callback=JPLT.TumblrTumbleweeds.instance.loaded";
 
			return url;
		},
 
		load:function(user) {
			var script = document.createElement('script');
			script.type = "text/javascript";
			script.src = this.getUrl(user);
 
			var body = document.documentElement || document.body;
			body.appendChild(script);
		},
 
		stripHtml: function(str) {
			return str.replace(/<.+?>/,"").replace(/&#\d+;/,"");
		},
 
		excerptize: function(str) {
			if (str.length > this.quoteLength) {
				str = str.substr(0,this.quoteLength-3) + "...";
			}
 
			return str;
		},
 
		createTumbleweed: function(str) {
			var weed = new JPLT.TextTumbleweed(str);
			this.weeds.push(weed);
		},
 
		activateWeed: function() {
			var weed;
 
			for (var i=0; i<10; i++) {
				weed = this.weeds[Math.floor(Math.random() * this.weeds.length)];
				if (!weed.active) {
					this.log("Activating " + weed.str);
					weed.active = true;
					return;
				}
			}
 
			window.setTimeout(this.delegate(this.activateWeed), 5000);
		},
 
		loaded:function(data) {
			var posts = data.posts;
			for (var i=0; i<posts.length; i++) {
				this.createTumbleweed(this.excerptize(this.stripHtml(posts[i]['quote-text'])));
			}
 
			this.run();
		},
 
		createElements: function() {
			this.background = document.createElement("img");
			this.background.src = "image.jpg";
			this.background.style.position = "absolute";
			this.background.style.top = window.innerHeight/2 - this.height/2 + "px";
			this.background.style.left = window.innerWidth/2 - this.width/2 + "px";
 
			this.element = document.createElement("canvas");
 
			this.element.width = this.width;
			this.element.height = this.height;
			this.element.style.position = "absolute";
			this.element.style.top = window.innerHeight/2 - this.height/2 + "px";
			this.element.style.left = window.innerWidth/2 - this.width/2 + "px";
			this.element.style.zIndex = 1;
 
			var body = document.documentElement || document.body;
			body.appendChild(this.background);
			body.appendChild(this.element);
		},
 
		context: function() {
			return this.element.getContext("2d");
		},
 
		run: function() {
			if (!this.timer) {
				for (var i=0; i<this.activeWeeds; i++) {
					this.activateWeed();
				}
 
				this.timer = window.setInterval(this.delegate(this.paint), this.delay);	
			}
		},
 
		stop: function() {
			window.clearInterval(this.timer);
 
			for (var i=0; i<this.weeds.length; i++) {
				this.weeds[i].reset();
			}
 
			this.timer = null;
		},
 
		clear: function() {
			var ctx = this.context();
			ctx.clearRect(0,0,this.width,this.height);			
		},
 
		paint: function() {
			var weed;
			var ctx = this.context();
 
			try {
				this.clear();
 
				for (var i=0; i<this.weeds.length; i++) {
					weed = this.weeds[i];
					weed.run();
					weed.paint(ctx);
				}
			}
			catch (e) {
				stop();
				throw(e);
			}
		}
	}
);

potatono | NYC Resistor | March 09, 2010 06:46 AM

March 04, 2010

I couldn’t find any Free Software to back up my Android phone contacts list. After some stumbling around and reading a ton of instructions (none of which got me where I needed to go), I came up with a simple way to do it by hand.

Use adb shell to get to the phone, then do “su” followed by “dd if=/data/data/com.android.providers.contacts/databases/contacts.db of=/sdcard/contacts.db”.

That will put your contacts on your sdcard, where you can adb pull it with “adb pull /sdcard/contacts.db”.

Replace ‘pull’ with ‘push’ to put contacts on the sdcard, then replace if and of in the dd command to put the db back in the dir where the phone expects it.

The whole thing should be rather easily scriptable if you’re so inclined.

James Vasile | Hacker Visions | March 04, 2010 04:18 PM

So I'm pretty obsessed with sharing. I used to be in the cult of beautiful objects and I would take photographs and go into a color darkroom and make giant c-prints.

Then I found flickr and my grandpa gave me his old digital camera and I started taking lots of pictures and sharing them. That was when I joined the legions of sharers. I got a major buzz when people left comments. I was hooked. I discovered Creative Commons and Open Source culture and the EFF became my personal heroes.

I shared video too, first it was personal stuff, like video tours around my Seattle apartment. Later I started sharing infrastructure for people to make things and that was really fun.

Now at MakerBot we're sharing a machine that you put together that is an object enabler. We share all the plans for it and set up a website called Thingiverse where folks can share their own digital designs for physical objects. It's my favorite thing to look at in the morning and see what new designs have been shared!

As a culture, we're figuring out that sharing is great. We're communicating and developing infrastructure like wildfire to find new ways to share our thoughts, ideas, designs, photos, videos, and pretty much anything you can think of.

I see sharing as the future of education. It used to be that in order to learn something you had to go to an institution. Now, because people are sharing how they do things and their knowledge on things, learning is often as easy as googling something.

As a former schoolteacher, I know just how broken education is and how far away it is from hitting the mark of supporting the development and exploring personal potential for young people. One thing you can do for the next generation of young people is share what you know on the internet. If you lay down the breadcrumbs as you live and you share what you know, it will live on and help others stand on your shoulders and build past what you have done. There are lots of benefits to going to school, but it doesn't have a monopoly on knowledge or hold the only keys to a great job.

I see sharing as the future of business too. By sharing our designs with the MakeBot community, we've found a fantastic community of passionate people who are willing to tell us what we're doing right and support us in figuring out how to improve. The examples go on and on.

What are you sharing? What frontiers do you see for sharing. Are there things that you're not sharing that you could?

Bre | Bre Pettis Blog | March 04, 2010 04:49 AM

This is just a reminder (or a notice) that this Friday, March 5, we will be screening the new documentary “Copyright Criminals” in room 109 of Warren Weaver Hall. This screening is free and open to the public, and – according to FC @ NYU’s president Parker – “the movie is really great. You may know it as a follow-up of sorts to the fantastic film “Freedom of Expression” which we screened a while back, which was also made by Kembrew McCleod.”

There will be a Q&A session after the screening with Mr. McCleod and the legendary remixer Steve “Steinski” Stein.

Once more with the details:
Free public screening of Copyright Criminals by Kembrew McCleod, with Q&A with McCleod and Steinski
7pm, Friday, March 5
Warren Weaver Hall, rm 109
251 Mercer Street (at 4th)

And for more information about the film: http://www.copyrightcriminals.com/

Hope to see you all there!

Aditi | Free Culture @ NYU | March 04, 2010 04:06 AM

March 03, 2010

In the wake of recent disasters in both Haiti and Chile, the lack of working telecoms infrastructure has greatly hindered local communication. The first relief workers to hit the ground had trouble talking to each other (let alone the outside world), and that was very bad for the relief effort. Inefficiencies that retard relief efforts result in more death and suffering in times of crisis.

There are two problems that contribute to broken local telecom systems. First, there wasn’t much infrastructure to begin with. Haiti is a poor nation with political risk, and like many such nations, the environment doesn’t easily support investment in large ISP infrastructure. So Haiti had some slow access, but even before the devastation, local infrastructure could not easily handle the increased demand presented by the people flooding in to help.

Second, what little access existed was not designed to withstand natural disasters. Service providers in Haiti are like commercial ISPs everywhere. They favor centralized networks that are easily maintained and controlled (and thus easily monetized). But all those profitable choke points are also centralized failure points, And those
central points of failure are tragically vulnerable at times of natural disaster.

That’s not to say the ISPs are malicious. Various telecoms companies and charities rose to the challenge and poured a lot of effort into rebuilding the local infrastructure. Their approach, though, is to do what they do best: construct big, expensive, centralized investment that will fall over quickly when stressed.

The better solution is for people to use mesh networks (ideally, to be using them even before disaster strikes), in which computers network directly with each other instead of going through the centralized ISP intermediary. Mesh networks are ad-hoc and self-healing, hop out to the world wherever a connection is found, and don’t depend on centralized choke points. If mesh networks were in place in Haiti and Chile, everybody’s laptop would be part of the communications infrastructure, and at the very least people on the ground could talk to each other. Mesh networking is a technology that could save lives.

What’s more, meshes are cheap to deploy and they don’t require centralized ISP investments. That makes them perfect for markets that aren’t supporting the investment necessary to provide the more usual centralized broadband access.

Mesh networking is maturing (see this Ars Technica state-of-the-industry piece on the subject). It’s time to make mesh capability a standard part of everybody’s setup, both to bring access to under-resourced areas and more importantly because doing so will save lives at times of crisis.

James Vasile | Hacker Visions | March 03, 2010 05:18 PM

Last night, in two different instances I read the claim that the England’s first copyright act, the statute of Anne passed in 1710 was never intended to protect authors but to protect the reproducers like printing houses and presses investing in authors implying that printing houses loved the act.

After pouring through hundreds of pages of Adrian John’s history of piracy, that statement is pretty off and in fact I don’t think the Statute was really about printers/booksellers or authors but the public.

While licensing had all together lapsed for a period before this statute was passed, and the printing houses and book sellers were indeed clamoring loudly for an official recognition of property in literary works, they wanted a perpetuall right in literary property rooted in common and natural law. Like I am talking here about forever, not like a measly, paltry 14 years.

They were not exactly thrilled at this statute (in fact, they were downright pissssssssed off) for it severely limited how long they held a property right over books. In fact, so pissed were they, they challenged the statute, went to court in 1769 (Millar v Taylor) and got what they wanted: a perpetual right to literary work.

It took s a fiery Scot and bookseller by the name of Alexander Donaldson (I kind of think of him as the RMS of booksellers; he was quite a rabble rouser) to challenge Millar and he finally got his day in the highest court of the land in 1774 in Donaldson v Beckett and the outcome was that a perpetual right in books was tossed out the window. The court ruled that copyright was a limited statute. One of the lords in the case even stated “”Knowledge has no value or use for the solitary owner: to be enjoyed it must be communicated.” Adrian John’s explains the significance of this case in the following way:

““Copyright, they decided, was not a right of man at all. Indeed, it was almost the very opposite: an artifact, and one that replaced a prior right established by an author’s work of creation. . . In terms of revolution principles, liberty won out over property”

Again the printers booksellers (minus the “pirate” ones) were not happy a bunch. Unfortunately the subsequent history is one we all know well, one in which booksellers and others with vested interests in copyrights pushed to extend property rights in all sorts of ways to get to where we are today (obviously with a lot of different historical developments), a land, time, period where perpetuity may not be forever but it is long enough to nullify the very public domain envisioned by the first copyright act.

However, I think it is nonetheless important to recognize how radical in many respects the first copyright act was: given what the book printers and sellers wanted (and they were a powerful bunch).

For those interested in learning more about Alexander Donaldson, I would check out his Some Thoughts on the State of Literary Property, where he rails against the London booksellers for being monopolistic and calling for a limited property right in books.

Biella | Interprete | March 03, 2010 11:17 AM

March 02, 2010

I just finished an excellent biography of Ayn Rand and her philosophy in the context of American political culture. While reading, I couldn't help think of Wales' expressed interest in Objectivism and the next to the last page actually comments on this issue:

One of the many ironies of Rand's career is her latter-day popularity among entrepreneurs who are pioneering new forms of community. Among her high-profile fans as Wikipedia's founder Jimmy Wales, once an active participant in the listserv controversies of the Objectivist Center. A nonprofit that depends on charitable donations, Wikipedia may ultimately put its rival encyclopedias out of business. At the root of Wikipedia are warring sensibilities that seemed to both embody and defy Rand's beliefs. The website's emphasis on individual empowerment, the value of knowledge, and its own risky organizational model reflects Rand's sensibility. But its trust in the wisdom of crowds, celebration of the social nature of knowledge, and faith that many working together will produce something of enduring value contradict Rand's adage "all creation is individual." (Burns 2009, p. 284)

Joseph Reagle | March 02, 2010 10:10 PM

Readers in New York may be interested in attending a presentation of “Collaborative Futures”, a text composed over a week in January by six writers, myself included, and published as book for the Transmediale festival in Berlin. Mushon Zer Aviv and Michael Mandiberg will present the book, and Stephen Kovats, who commissioned the work for Transmediale, will also be present. The event is hosted by Upgrade! New York and will take place at Eyebeam (540 W21st Street) this Thursday at 7.30 pm There’s even a live video stream!

Given the result has attracted a bit of attention, I’d like to add a couple of impressions about both the process of working together, and the future (if any) of the resulting book.

Booksprinting

Much has been made of the accelerated pace of  the books production. When I arrived on the monday morning, the only participant known to me was the facilitator, Adam Hyde. Thus the first day was spent introducing ourselves and making notes – basically teasing out a shared language and framework within which to work. Although we had assembled a basic outline by late that night, in reality the structure was revised right to the end. The following morning we sat down to write but the patter of the keyboard was constantly punctuated by conversation, negotiation and clarification.

Negotiation in this context requires willingness and good faith, qualities which were happily in plentiful supply. I wondered also if the freshness of our acquaintance may have been a help: sometimes working with people we know well can elicit competitiveness and oversensitivity. Amidst all of this there is a physical aspect: long days spent together nourishes trust, while the shadow of an imminent deadline instills an urgency that encourages compromise for the sake of completing the task.

The irony of being asked to sign the book was not lost on Marta Peirano and I...

This obviously modified what we would have otherwise written individually, but also enabled each person to work on the others’ outputs sensitively. Most sections were initially drafted by one person, others would then edit, add and rephrase where necessary. Being able to discuss and tease points out together provided a means to grasp the acceptable extent to which one could revise other people’s contributions – to refine for clarity, whilst leaving the ‘thrust’ of their sense intact. Here we encounter an issue that arises repeatedly in collaboration: the need for a framework which functions at the level of the collective whilst enabling individual initiative within its own boundaries.

The result entailed an interesting modification to the relationship with the act of writing. The romantic theory of authorship places enormous weight on the concept of expression as inhering to the personality of the writer, insisting that from their inherent subjectivity comes forth a uniqueness which makes it uniquely their property. Whilst I never adhered to this school of thought, it was nonetheless interesting to live its practical contradiction. Writing together in this manner displaces the connection between the individual and the text, as some ‘pure product of the self’, but relocates it to an identification with the subject matter and the methodology employed to elaborate it – peculiarly appropriate for a book about collaboration. On this point it’s safe to say that none of those involved in writing the book would stand 100% behind its contents, whilst nonetheless insisting on the value of the endeavour.

Overall I think what we ended up with is useful overview with some good insights. Those expert in the areas won’t find much that is really fresh, but writing like this leaves no time for original research, but rather leveraging what we already know and trying to fit it into a coherent framework. Regarding its deficiencies: if you care enough to be bothered, please help to remedy them, sign up to booki.cc and get cracking!

Possible Futures…
Other books written under the auspices of FlossManuals focus on technical subject matter, making the question of their upkeep relatively straightforward: as the field progresses, or new functionalities are added to a software, the book can be updated to reflect that. Given the conceptual nature of our subject, a roadmap for revision and maintenance seems trickier, but the chance to solicit new contributions makes me think it worthwhile.

1. The opening section outlines some assumptions and sets out the limitations of the subject we address. Collaboration is an infinitely extendible concept, and we ended up focussing on mostly large online collaborations. How it pertains to art, political movements and a more traditionally conceived notion of economic activity were put aside. Training the gaze on these areas, examining their specificities and distinguishing them from one another might be one worthwhile approach.

The rest of this section is  dedicated to the motivations of participants and how the decision-making process is structured. Given the wide variety of collaborations out there, this is just a fragment and much could be added and/or qualified. We were not fully satisfied with the placing of process here in terms of the overall structure, but couldn’t come up with a convincing alternative either…

2. Next we attempted to distinguish collaboration from apparently similar phenomena such as sharing or aggregation. We also propose a set of criteria to place interactions on a continuum corresponding to degrees of participation, and offer some examples.

3. Following this, there is a section titled ‘Edge Cases’. For my money, this is the part most amenable to expansion. First of all because it needs it: there are too few case studies! Secondly because anyone interested in this subject has their pet examples, and there isn’t just one way of dealing with knotty topics like ‘ownership’, ‘attribution’ and ‘decision-making’. Additional descriptions of communities together with a problem they faced, or successfully overcome, would fit very neatly here. ultimately I think this section could function as a form of scrapbook, where snapshots of positive and negative experiences can be memorized.

4. We closed with ‘Futures’, where we speculate on how these forms of production may transform realms so far less affected, and on the wider issue of what forms of individual and group identify may be prefigured in what we observe at the moment online. This would be the place to let oneself go with futurology, utopian projects and experimental proposals.


nonrival | kNOw Future Inc. | March 02, 2010 06:21 PM

Londoners or those that know the city well: if you had to pick your favorite thing to do in London (in March) what would that be? I have 1.5 days there of mostly free time and would love to gather some intel.

Biella | Interprete | March 02, 2010 02:55 AM

March 01, 2010
NYLUG Announcements: [nylug-announce] NYLUG Workshop / Hacking Society, (Smalltalk, C++, Python) TOMORROW March 2 6:00PM-8:00PM: This is a reminder for the event detailed below. <br /> WORKSHOP / HACKFEST Date: Tuesday, March 2, 2010 Time: 6:00pm Duration: 2 hours Location: NY Public Library Hudson Park Branch, 66 Leroy St., NY NY 10014 <br /> Topics: This week, we&#39;re going to continue looking at Smalltalk via Squeak. [...]

nylug-announce March 2010 Archive | March 01, 2010 02:45 PM

February 28, 2010

Sita_iPhone_FREE

Sita Sings the Blues is now available FREE for the iPhone, rather than for $3.99. The former price was required because for every copy of Sita “sold,” I had to pay almost $2 to extortionate corporate licensors. That’s a flat fee; doesn’t matter what the sale price is. So selling Sita apps for the customary $.99 would result in a huge loss for me, since I’d be paying far more than that to the licensors.

The solution of course was to make it FREE (gratis). They’re all Promotional Copies. No sale, no license fee. To support Mars Yau, who created the app, and me, who created the movie, you can buy the Sita Wallpaper App for $.99. And of course you can always donate to the Sita Distribution Project.

I'm especially gratified by app develope Mars Yau's correct use if the Creator Endorsed Mark. It's displayed prominently on the free app, indicating my authentic endorsement of this particulr distribution. On the $.99 Wallpaper app, he applied the "50% supports the artist" version:

 

read more

ninapaley | QuestionCopyright.org | February 28, 2010 05:17 PM

February 26, 2010
NYLUG Announcements: [nylug-announce] NYLUG Workshop / Hacking Society (Smalltalk, C++, Python) Tuesday March 2 6:00PM-8:00PM: This is a reminder for the event detailed below. <br /> WORKSHOP / HACKFEST Date: Tuesday, March 2, 2010 Time: 6:00pm Duration: 2 hours Location: NY Public Library Hudson Park Branch, 66 Leroy St., NY NY 10014 <br /> Topics: This week, we&#39;re going to continue looking at Smalltalk via Squeak. [...]

nylug-announce February 2010 Archive | February 26, 2010 02:41 PM

February 21, 2010

Question Copyright welcomes two new members: legal interns Kat Walsh and Victor Cohen, who will be working with our counsel Karen Sandler.

Victor is a third-year student at Brooklyn Law School, and has worked with the Brooklyn Law Incubator and Policy (BLIP) Clinic helping to defend artists against copyright infringement suits. Kat is in her last semester at the George Mason University law school, focusing on copyrights, patents, and trademarks, and is currently the Executive Secretary of the Wikimedia Foundation, where she has been a board member since 2006.

You'll see their names appear more and more here in the coming months, as they take a hand in current and upcoming projects. Welcome, Kat and Victor!

read more

admin | QuestionCopyright.org | February 21, 2010 07:21 AM

February 16, 2010

For the most part, I wrote my dissertation and book manuscript using a simplified version of markdown complemented with biblatex citations. Because it was a simple text file, it made managing the edits to the manuscript very easy. I could do global textual replacements trivially. Also, obviously, it was trivial to generate PDFs, HTML, etc. Using Mercurial, I could take advantage of some nice features like the "attic" extension which allows me to keep change sets on the side to be applied only when appropriate. So, for example, the changes necessary generate HTML were kept in the attic and would only be applied when I wanted that.

Unfortunately, once the manuscript went into the MIT Press system, I had to use Microsoft Word. As much as much as the Word document format annoys me, I understand it is widely used, and I can't think of an easy alternative that also provides the capability for editorial annotations. Nonetheless, I had a difficult time seeing changes in Microsoft Word, and want to backport the changes into my source files. And, there does not appear to be a nice textual difference tool for Word documents.

I have posted a small Python script that makes use of antiword and dwdiff but also gives me context on either side of the change. It, of course, doesn't work well with formatting, but is useful and will generate output like the following:

   reflects {-the-} [+a+] stabilization
   a {-number of pragmatic questions: it-} [+project was conceived. It+] would
   there {-will-} [+would+] be
   article {-will-} [+would+] be
   linked {-to from-} [+via+] a

Joseph Reagle | February 16, 2010 05:06 PM

If you were following our twitter feed (or @aditix, @thisisparker, @wachen, or others) you may already know that we had a great time. A more detailed post to follow, but feel free to peruse the #fcx hashtag on twitter or any of our twitter feeds to get a sense of the conference!

To everyone we met there — it was wonderful meeting you!

Aditi | Free Culture @ NYU | February 16, 2010 04:44 PM

February 15, 2010

Photogamer 100 Steps

Photogamer has had it's problems and mostly they've been because of time. In the beginning I really thought it was important that the challenges come out regularly which of course failed.

Now I'm thinking about putting together a little book of some Photogamer challenges, so I'm making up some new ones and formalizing them a bit more. You're invited to play along!

Bre | Bre Pettis Blog | February 15, 2010 12:34 AM

February 12, 2010

I’ve been following the Health Care debate since about the middle of the Democratic presidential primary, when all the candidates first announced their plans for how to change things if elected. In that almost two years, I’ve heard a lot about these things: the public option, town hall meetings, teabaggers, Stephen Hawkings, and endless coverage of the National government as if the whole thing were a sports competition about number of Red or Blue votes rather than an important public discussion.

What I didn’t know, until I watched the Daily Show from Feb, 11, 2010, is anything about Hawaii’s health care system, which apparently has achieved almost universal health care coverage via government mandate and has been using this system for the last 40 years. Until that minute I thought there was nothing in the debate that could surprise me anymore.

When Dog the Bounty Hunter, one of the Hawaiians interviewed on the Daily Show’s Hawaii coverage, has a better ability to express the need for health care than the politicians and media personalities whose job it has been to talk about it for the last 18 months, we need to start listening to different people.

I would suggest we start listening to each other.

Here’s the idea. Take $30 but, rather than giving it to a political group or non-profit, go to the store and buy a webcam. Set it up at your computer and record a video on why you care about health care. It can be 30 seconds, 60 seconds, or however long it takes to tell your story.

Public Voices

I’m lucky, my office really cares about making sure we have great health care coverage, but I still have a couple stories to tell about issues my coworkers are having with insurance right now. And then there are all the stories of my friends in their 20’s who are trapped in jobs they would otherwise leave for more rewarding work but can’t for fear of losing health insurance. I have almost as many of those stories as I have friends in their 20’s.

So I’m going to go get a webcam and record a couple minutes worth of video and post it online. Maybe we put the videos on YouTube and tag them “healthcarestories” or maybe one of those non-profits that care about health care will come forward and we can put them all there. Then we watch each other, listen to each other, and vote for the best videos. Find the ones that make you remember why you care.

If we want to influence the “public voices” in broadcast media, we could all throw in a couple dollars and buy some air time for the videos with the most votes. Or maybe that media is hopeless and we run some ads telling people where to come for the sane discussion, like throwing a lifeline to pull people back onto dry land.

Either way, if we can get a million of these video messages in a bottle together, a million people engaged in actually talking about health care rather than screaming about it, we can convince a lot of politicians that their interests lie in listening rather than talking for once.

ian | offkey » planet | February 12, 2010 10:14 PM

February 11, 2010

Aaron Williamson, one of my friends and colleagues at the SFLC, put up a great piece yesterday running through the various panoptic services that google offers. It is well put and worth reading in full. Unfortunately, Aaron’s site requires registration in order to leave comments so I’m going to respond here instead and let Planet NYC’s feed pull together the discussion.

Aaron makes reference to a couple of points that are key, both in critiquing Google’s specific practices, and in picking up the discussion from last time.

The first, Paul Ohm’s piece “Broken Promises of Privacy: Responding to the Surprising Failure of Anonymization “, does the same thing to the field of information sharing that an expose that condoms don’t work at stopping STDs would do to the field of Sexual health medicine.

Professor Ohm documents the field of “Information reidentification”, and that field’s success in countering so called “anonymization” techniques used to remove the personally identifying bits of information (name, address, SSN, etc.) from things like your medical history or web search history before releasing that information to the public.

In a nutshell, “anonymization” is really just obfuscation; the data we are collecting about people is so rich and precise that we can take supposedly anonymous records and fill in all the missing information by fitting the record into all the rest of what we know. This should be a basic piece in discussions of our digital lives and public policy, but it has gotten almost no coverage since the initial publication.

The second point I want to talk about is that this is not about Google. This is not personal. It is not fueled by some thought-less hatred. We talk about Google and Facebook in these discussions, just as we talk about Apple in discussions of closed vs. free software, not because we have fanboyish love for a different team but because they are the most successful at popularizing practices we are concerned about.

This is a structural critique, just as arguing that banks shouldn’t be allowed to gamble with other people’s money is a structural critique. If you want to talk about whether particular organizations, whether that is Goldman Sachs or Facebook have been malfeasant, or behaved with a lack of respect for the interests of their customers, that is a different discussion.

I spent a year trying to write these posts around the theme of “Towards a Free Facebook” before realizing that the biggest problem with Facebook is how much they have popularized unsafe data systems. That’s what this is actually about.

ian | offkey » planet | February 11, 2010 09:39 PM

February 10, 2010

I’ve been working on developing a free software application market for Android.1 The obvious place to start was the SlideME Community Edition code, which as far as I know is the only existing free software project that does even part of the job. Unfortunately, SlideME’s Community Edition was abandoned due to “lack of community interest” in April 2008, several months before the first Android phones were even available. So most of the work I’ve done so far was to update the code to work with the current SDK, rework the interface to behave in a more standard way, and rewrite portions that relied on now-unavailable API elements.

FLOSS Dispenser (like SlideME) works in conjunction with a J2EE server application called JVending. JVending’s public repository was also abandoned by SlideME some time ago, so I’m maintaining a fork of JVending along with my fork of FLOSS Dispenser as a part of the Replicant project.

I put up build instructions for FLOSS Dispenser as well as for JVending; using these, you should be able to build both and have them work together. However, neither one is ready, which is why I’m not hosting an application store already. The FLOSS Dispenser code in particular is pretty buggy (most of them aren’t mine, but only because I haven’t written much of it), for one thing. For another, the system doesn’t yet facilitate GPL compliance — you can download and install apk binaries, but they don’t come with source code and license text. Until at least this feature exists, I don’t recommend anyone serve GPL’d apks to the public using JVending.

I wanted to have this and some other issues hammered out before I put the code up, but I was motivated by Jonathan Corbet’s recent LWN article on Android to just put up what I had and try to get some help. I know other people are interested in something like this, and though I’m hardly proud of the little coding I’ve done on this, it’s the best start we have for a free market.

So by all means, take a look and help me kick this thing out the door.

  1. The quick rationale for this is that the Android Market 1) is not itself free software, and 2) doesn’t enable you to search for applications by their license.

aaron | copiesofcopies :: webl | February 10, 2010 10:07 PM

I just read an interesting post on Gabriella Coleman’s blog: The Hacker as Troller and Trickster, in which she points out that the “trickster” character of myth is increasingly embodied — non-mythically, non-allegorically, but in glorious corporeality — by the hackers around us, and by the trolls and all the other anonymity-encouraged occasional pranksters that make the Internet what it is.

In Lewis Hyde’s “Trickster Makes this World”, Coleman says, he asks if there are tricksters in modern industrial societies, and concludes (surprisingly, for 1998) not. The trickster needs a polytheistic system “or lacking that, he needs at least a relationship to other powers, to people, to instructions, and traditions that can manage the odd double attitude of both insisting that boundaries be respected and recognizing that in the long run their liveliness depends on having those boundaries regularly distributed” (p. 13)

Double attitude? Boundary redistribution? Sound anything like people you’ve been met on the Net?

I was kind of surprised by Hyde’s thesis in general (though I haven’t read his book (yet), so you’re now hearing the thesis third-hand, and I could be mangling it). I think there’s sometimes a temptation to assume that modern society is such a sharp break from our tribal, hunter-gatherer past that there are entire categories of human behavior no longer accessible to us. And that may be partly true… it’s just probably not as true as we think it is. Trickster is an impulse deep in human nature; it hasn’t gone away, and if anything, modern industrial society — which was heavily anonymized even before the Net came along — offers more opportunities for people to try out deviant or odd behaviors temporarily, safe in the knowledge that they are not necessarily asserting a permanent identity.

Well, there are my deep thoughts for the day. Biella’s whole post is very much worth reading.

Karl Fogel | rants.org | February 10, 2010 05:43 AM

February 09, 2010

Managing your life online isn’t easy.  You use email, IM, and other social tools.  You create, manage, and share documents.  You search for things you’re interested in and research things you’re working on.  You track your finances to the penny and buy everything you need.  You store your private medical records and access information about your health.

To do all of this, you maintain countless passwords, chase your friends across an ever-increasing variety of social networks, and constantly move documents and data between your personal computer and various web services.  But often there’s no good way to get data from here to there — the sites you use may not accept the data format you have or communicate with the other sites holding your data.  Sometimes, the sites you use stop offering the features you need, or are bought by larger companies and shut down to quash competition in a key market.

Google Labs is changing all that with Goolog.  Now, when your life is stored in Google’s services, we keep track of it for you. No more separate identities. No more wondering where all of your friends went. No more moving from place to place.

Take a look at some of the things Goolog takes over for you:

Single point of entry

Remember all of those usernames and passwords you used before?  Now, you don’t have to.  There’s only one way into Goolog: the Google Account login and password you already have!  You won’t need to remember how to log in anywhere else, because you won’t need to go anywhere else.  That’s because, as we like to say at Google Labs…

Everything you do is right here

We already kept your email and your documents for you, and showed you how easy it was to communicate and work with other people in Goolog (though of course we didn’t call it Goolog at the time).  You didn’t have to track your communications and personal documents across folders, hard drives, and websites, because we were tracking them all for you.

Now, we can track everything else too.  You can keep your whole life — the books you read, the things you buy, all your creativity, all the news you get, everything you say, see, and hear, everything you know, your time, your work, your wellbeing, and your money — all right here in Goolog.  What this means is that you don’t ever have to worry about getting it back out again, because all of our services integrate with one another.  Your Health and Finance records are Docs, your Docs move through GMail and Groups, and on to your Sites or your Blog(ger).  Your GMail messages generate Calendar entries and when you Talk we listen, and figure out what you’re trying to do.

Starting to see how much less you need to think about when Goolog is in control?  It gets better.

Goolog is social

Not only is everything you do in Goolog, but everyone you know is here too.  (Ok, maybe not everyone just yet.)  So it’s as easy for you to share everything you do with others as it is to move your data between our services.  And it’s easy for us too!  Now, we can tell the people you know what you’re doing even when you don’t ask us to.

Goolog is exactly what it sounds like

But the social features don’t end there.  The best part of communicating in Goolog is that we hear everything you say, whether you’re emailing, IMing, blogging, or even talking on the phone.  And just like our name implies, we log all of it.

This enables us to make our services more useful to you, because when we keep track of everything you do, we can relate what you’re doing now to what you did months ago, and better understand what you’re trying to do.  It also enables us to make useful data about what people do online available to the public (we anonymize all of the data first, of course).  And finally, it enables us to better serve our partners, by providing them with access to better information about their target markets.

No need to sign up

The best part is that you don’t need to hound your friends for an invite to Goolog. You don’t have to opt in. If you have a Google Account, you’re already in Goolog. So relax… everything you do is right here.

aaron | copiesofcopies :: webl | February 09, 2010 03:54 PM

February 04, 2010

San Francisco Collage from 'Sita Sings the Blues'

I will always revere the Red Vic movie house because I saw my first Bruce Lee movie there. Now, an event almost as important is about to take place:

Nina Paley’s beautiful animated film Sita Sings the Blues will be playing at the Red Vic for three nights next week:

     Tues, Feb.  9  -  7:15pm, 9:15pm
      Wed, Feb. 10  -  2:00pm, 7:15pm, 9:15pm
    Thurs, Feb. 11  -  7:15pm, 9:15pm

If you haven’t seen it, go see it! If you have seen it, go see it! (Did I leave anyone out?)

You can also buy the DVD or donate to the filmmaker, who released the film under a free license because she wanted people to see it and share it.

Directions to The Red Vic:

The Red Vic Movie House is located on 1727 Haight Street (map),between Cole and Shrader, just a block and a half east from Golden Gate Park. The Red Vic is also served directly by MUNI routes: 7,33,37,43, & 71. MUNI route 6 & N-Judah come within a few blocks.

Karl Fogel | rants.org | February 04, 2010 11:40 PM

February 02, 2010

 Biella passed this flyer around on the Debian-NYC mailing list. If you are in New York City this Friday, you won't want to miss this Eben Moglen's talk.

If you can't see the embedded object, go here or to this post's permalink.

David Moreno | Stereonaut! » nyc | February 02, 2010 05:55 PM

January 31, 2010

Last week I participated in an extreme booksprint on the theme ‘Collaborative Futures’, commissioned by Transmediale for their festival which begins in Berlin on tuesday.

For five days I saw almost no-one other than my collaborators, Adam Hyde, Marta Peirano, Mushon Zer-Aviv, Michael Mandiberg, Mike Linksvayer and Aleksandar Erkalovic.

Twelve to fourteen hour days were standard, as we drove ourselves to establish some common ground. The result is a 140 page book which will be ready for distribution at the festival this week.

Lots more on this later, but the photo above was taken during the initial organization of our ideas at the end of the first day.


nonrival | kNOw Future Inc. | January 31, 2010 09:21 PM

January 28, 2010

The Book Liberator got a writeup in Good magazine! I sent in hundreds of rambling words about the project, and Theo distilled them into a few pithy quotes. Thanks, Theo, for making me seem clever!

James | Book Liberator Blog | January 28, 2010 06:06 PM

January 17, 2010

emergency.broadcast.Today I attended a barcamp-style CrisisCamp in NYC  where volunteers from around the world  gathered physically and virtually to brainstorm, organize, coordinate, and work to help alleviate the suffering in Haiti (CNN CrisisCamp coverage). When people talk about crowdsourcing relief to this disaster, CrisisCamps around the country helped assemble the the sources (and faces) in these mysterious crowds.

Self-Organized Collaborative Production and Action

It was amazing to see these strangers converge, congregating around the familiar communication modalities of wikis, mailing lists, irc, and now twitter and google wave. While these torrential rivers of information are overwhelming, some subcultures are developing strategies for managing and synthesizing these flows. A main organizing hub is http://crisiscommons.org/ , and the hashtags #cchaiti and #haiti are being used to ‘tag’ disparate social media around these efforts.

Today’s NYC event drew over a dozen people, techies, community organizers, students, Hatians, UN reps, librarians, union workers, journalists, and beyond. I have been closely following ushahidi/swiftapp project, and their http://haiti.ushahidi.com collaborative filtering curation strategy is in full swing. Open Street Maps is proving to be an essential piece of infrastructure  around mapping data, and the New York Public Library has rescheduled the launch of their amazing new map rectifying tool to help make sense of Hatian geography – shockingly, there are very few maps of Haiti, and their collection might significantly help when overlaid on satellite imagery. This can assist relief workers who need to  know what neighborhoods are called, and which buildings were where, etc. If you are familiar with Hatian geography, you can help rectify maps here.

The Sahana Disaster Management Project is also looking for python developers to help scale their software.

Strategic Communication Flows

Strategically, I was struck by the asymmetry of information flows. Many of the efforts seemed to focused on collecting Hatian data, and representing it to Americans and NGOs working on the ground in Haiti. But, not too many Hatians have iphones…

There seems to be very little focus on creating flows of information back into Haiti – information from the outside world directed to Haitians, or, on creating infrastructure for Hatians to communicate with each other.  Beyond that, I am not aware of any coordinated efforts to establish non-corporate-mediated, 2-or-more-way channels of information between Hatians and Hatians in the diaspora.

I was reminded of the recent Iranian uprising. A wonderful moment of microblogging glory, although few Americans appreciated how the Iranians were able to receive lifelines of information from outside of Iran (like where to find proxy servers), and were also using the platform to communicate with each other, within Iran.

I was struck by what an important role traditional mass broadcast media might play in a crisis situation. People on the ground need information, desperately.  They need to know which symbols indicate that a house has already been searched, where the next food/water/medicine drop will be, and that the biscuits are good, and not expired.  They also need entertainment, and news -

à la Good Morning Vietnam.  And messages of consolation, emotional support, solidarity, and even song and laughter. Maybe even Bryant Park style movie nights.

Hybrid Networks

Electricity and ISPs are largely down. There are trickles of bandwidth available, and some Hatians have made it onto facebook and cellphones.

So, what could a hybrid, analog-digital network look like?  Low-power FM? High-speed copy machines? Blackboards?

It’s actually not that hard to imagine a hybrid network, composed of people, FM radio, blackboards, printing presses, portable video projectors, cell phones, SMS,  and Internet.  Really, whatever is available.

The Earth Institute and UNICEF Innovation has been deploying RapidSMS on the ground in Africa, and they are working in villages where a single cell phone operator brokers vital information to a blackboard in the town square, transforming a cell phone into a mass broadcast device.  Reminiscent of the Wall Newspapers in communist russia.

And if there were a low power FM Radio station set up, the DJ could presumably retransmit messages coming in over the Internet or the cell phones (kinda the reverse of the activist who retransmitted police scanner transmissions over Twitter at the G20 summit protests).

Hatians would know that if they needed to get a message out to a loved one in Haiti, they could get to the radio station and it might be transmitted, back into local community. Messages would travel over human and technological networks, routed intelligently by humans where technology leaves off.

What would the programming on this radio station look like?  They could have hourly news and announcements, read out community messages submitted by listeners, convey messages of condolences and support from the outside world, play music, pray, talk radio, “call in” shows, anything really. Most importantly, this radio would be locally produced, with  the local community deciding what to play.  There was a precedent for local radio, KAMP, in the astrodome stadium after Katrina. The station was set up with the help of the fantastic Prometheus Radio Project volunteers, though authorities tried to shut down the “pirate” lifeline.

Turning Messages in Bottles into Skywriting

Today I met someone who is working with local Haitian communities in NYC.  We are both very concerned with CNN dominated the coverage, frittering away their 24/7 news coverage on looping segments, and circling like vultures waiting for violence to erupt. We have to understand the danger of a single story.

We were both very interested in creating alternate channels of communication for Hatians to speak for themselves, and engage in dialogue with their relatives in the diaspora.

Here is one project we could run over the kind of hybrid analog-digital/human-machine sneakernet described above.

Hatians could send video messages in a bottle.  The community here could gather to watch and reply to those videos.  Say the videos and the replies were limited to 3 minutes each. The original message and the reply could be bundled and sent back to Haiti – not unlike sending a letter before the postage service – you would give it to someone heading to the recipient’s town.

Initially, a few flip cameras on the ground in Haiti, with the video transmitted home over the Internet, or even back to the states by sending the memory cards home with a courier. Eventually, when bandwidth begins to open up, we might be able to imagine a live, synchronous, stream. But, before then, we can imagine ansynchronous video messages being sent back and forth, between Haiti an Haitian communities in the diaspora.

On the Hatian end, the replies could be projected and played back to groups gathered around projectors at night. On our end, distribution is trivial, but the message might easily get to the precise person it was intended for through community social networks.  A Haitian could send a video message in a bottle to Brooklyn, and it would not take long for their relatives to know they were safe.  Replies could include message of hope, compassion, and support.

Most importantly, independent lines of communications could be opened. As a secondary benefit, if the messages were disseminated publicly (say, on you tube), secondary waves of help could create journalistic highlights, extract crucial data to feed the informatics systems (sourced to the originating testimony), and we could start hearing each others voices.

At the moment, our aid feels like we are tossing a homeless person a few dollars while averting our gaze, when what they really need is for us to look them in the eye, recognize their humanity, and have a conversation with them. We are electronically strip searching the people of Haiti, when (forgive the Avatar reference) we need to see each other.

Theory and Practice

A few closing thoughts to this already rambling post.

I attended the event for many reasons including:

  • My research interests in the politics of memory, information flux,  distributed cognition, collaborative production, and collective action.
  • A seminar I am participating in this Spring that is taking up the themes of collective memory, pedagogy, digital media, and trauma (using a the 9/11 Project Rebirth as a point of departure, but conceptualizing responses to collective trauma ranging from Katrina, to evironmental refugees, and beyond).
  • Because the situation is horrifying and desperate, and I have the sinking feeling that no one has a handle on how to help the Hatians.  Worse, I fear that many are already beginning to view this event as a rhetorical chip, and angling to advance their own agendas on the wave of this shock.

The importance of mass media in creating a sense of (imagined) community is well theorized in communications studies.  Haiti’s physical infrastructure is shattered, but we can very quickly reconstruct its communications infrastructure and help them reconstitute their sense of identity and community.

Cultural theorists have criticized the pacifying power of mass media – but the UN is forecasting a sharp increase in violence, riots and rape – if ever there was a time to distract and pacify the populace – or should I say, provide them with a constructive channel for them to express and vent their energies?

If we want to turn this disaster porn on its head, we should just give Hatians the IP rights to all the images pouring out of their country now. The profits would be enough to rebuild the country 10-times over.

The life saving importance of information should not be underestimated – The only thing more important than food, water, or medicine is hope.

Update: This brain[storm/dump] has now been transformed into an actual project proposal at the Crisis Commons wiki – The Open Solace Haiti Project , whose first priority is the Haitian Video Postcard Exchange Network.

[Special thanks to Mar Cabra and Rasmus Nielen for being a sounding board for some of these scattered ideas, John Durham Peters, whose brilliant thought broadcasts on Broadcasting and Schizophrenia induced my thinking, and Levanah and Stan Tenen and the work of the Meru Foundation whose spiritual teachings helped shape these ideas.]

jonah | Alchemical Musings » freeculture | January 17, 2010 06:07 AM

Last year I posted on Google modifying representations of reality (Streetview) and hypothesized about the potential problems. Now we have a potential real world test case as Google might be selling advertisements inside Google Maps:

This patent, which was originally filed on July 7, 2008, describes a new system for promoting ads in online mapping applications. In this patent, Google describes how it plans to identify buildings, posters, signs and billboards in these images and give advertisers the ability to replace these images with more up-to-date ads. In addition, Google also seems to plan an advertising auction for unclaimed properties.

Read more at RWW.

Fred | Fred Benenson's Blog | January 17, 2010 01:30 AM

January 11, 2010

You could say that I’m partial to Lessig’s maxim that “code is law.”

I also think it goes a long way to explaining some decisions James Cameron made while making Avatar. More specifically, the code and technology responsible for the majority of the movie’s (we can’t very well go on calling them films much longer, can we?) visual experience actively constrained the choices of the production team and thereby the choices of the Avatar characters themselves. Neytiri couldn’t have had voluminous hair even if she wanted to, because James Cameron’s hardware and software wasn’t good enough.

If you haven’t followed computer graphics closely you might not know that certain textures and materials, like hair, are incredibly difficult to get right. Though there has been quite a lot of progress in the realm of still CG, capturing the motion and flow of humanoid hair is still very difficult if not virtually impossible. Cameron’s Avatar didn’t significantly advance the state of the art, but he was able to creatively sidestep the issue by giving his characters thick braids and dreadlocks which he could motion capture.

This alleviated the chore of trying to artificially generate the realistic movement of millions of individual hairs: if all the Na’avi had braids or dreadlocks, then all of that movement could be motion captured by actors in reality.

Much has been made of Cameron’s innovation to accurately develop motion capture for individual facial movements, and it is my strong feeling that the team also took this approach for the hair of their characters. As Wired pointed out in their features on the movie, this is an evolution in the modern director relationship to computer graphics: instead of trying to *simulate* real world phenomena using procedural software, directors opt to direct a close enough analog in the physical world whose motion could be captured at a very high resolution using camera-like devices.

Don’t believe me? Check out these screen grabs from the Avatar making of video floating around:

Look closely at Zoe’s head and it doesn’t require a lot of imagination to believe that her dreadlocks have individual motion capture devices embedded in them. It’s also probably true that motion capture systems of this type can not be scaled small enough for individual hairs. This might change in the future, but for now it is a real technological constraint in the world of Pandora. There are a couple other examples of technology constraining creative choice: why don’t any animals in the Pandora jungle have fur? Might it be because Cameron couldn’t get CG fur to look right?

So Cameron’s technological constraints and innovation drove choices that would have have otherwise been purely creative. Code became law on Pandora. Sometimes the origins of code’s constraints are artificial (such as copyright law) but sometimes they’re just practical constraints like software and CPU horsepower, and I think that’s what happened here.

Let me know if you agree or have any evidence to the contrary.

Fred | Fred Benenson's Blog | January 11, 2010 12:56 AM

December 22, 2009

ex10_03-04I had a fun idea for a new Free Culture campaign last spring, but I haven’t gotten around to blogging about it until now.

LET MY CULTURE GO!



  • Walt Disney: Let my cartoons go!
  • Jack Valenti: Let my music go!
  • Rupert Murdoch: Let my news go!
  • Steve Jobs: Let my iPhone go!
  • Jeff Bezos: Let my Kindle go!
  • etc, etc.

I know it would be more consistent to substitute ‘our’ for ‘my’, but I really want to evoke the biblical/mythological imagery around freedom and liberation, while simultaneously calling these CEOs out for the pharoahs/slavemasters that they are (we used to have another term for 360 deals…). The campaign simultaneously inverts the framing of copying as piracy, and takes up the mantle of liberators.

As Nina Paley rigorously demonstrates, there are many parallels between the struggles against Human Property and Intellectual Property. Just as we once thought it was morally acceptable to own humans, can we imagine a future where the ownership of ideas is viewed with similar disgust and incredulity? What are the best ways to remind people that Copying is Not Theft?

Anyway, the signal to noise ratio is quite high, and it will definitely
fit on bumper stickers and T-Shirts…

Any graphic designers want to donate some skillz?

jonah | Alchemical Musings » freeculture | December 22, 2009 06:33 AM

December 14, 2009

I spent last Thursday and Friday in Brussels, attending the European Commission’s Oral Hearing in the competition investigation of the acquisition of Sun Microsystems by Oracle. The proceedings at the Oral Hearing were confidential; I cannot write about the presentations made there by others. I can, however, summarize the three points I made during my brief presentation on Friday; my previous written submission to the commission is already available. I want to explain what I said and where I think we stand now that the Oral Hearing is over.

See more ...

Freedom Now | December 14, 2009 07:08 AM

December 12, 2009

Last week, Ian and Winnie got all heroic with some tools, wood and plexi. The result is a couple sweet prototypes, which we’ll be sending to the Decapod folks so they can hack software to process BookLib images.

In other news, I put a prototype design of the camera mount on thingiverse. Ian’s original washer-and-bolt design was a little janky, and when we get the parameters right on the mount, we should be able to print them quite cheaply.

We’re moving quite quickly towards a shippable kit. The cradle design is stable. We have dimensions for the plexi and the cube. We’re down to exploring two basic design paths (bent plexi vs. two flat sheets). Everything else about the prototype is in the detail stage.

There are photos of the wood hackery around, and I’ll try to post some soon.

James | Book Liberator Blog | December 12, 2009 01:42 PM

November 16, 2009

Our tenth season continues next Tuesday night:

Perl Seminar New York
Tuesday Nov 17 2009
6:15 – 8:15 pm
NYPC User Group
481 8th Ave (Ramada New Yorker Hotel, West 34 St)
Suite 550

Main Topic: Perrin Harkins: "Choosing a Web Architecture for Perl"

Perl Seminar NY is once again pleased to welcome Apache expert and veteran Open Source contributor Perrin Harkins to speak at our meeting.

In the past few years, many new web proxy servers have come onto the scene with new performance promises and features. Servers based on non-blocking I/O bring claims of greatly improved performance. At the same time, FastCGI has become more widely used, giving people a possible alternative to mod_perl. Perrin's talk will help you choose the right architecture for your project by presenting a useful set of benchmarks and a comparison of strong points and key features.

Hope to see you on Tuesday November 17.

Jim Keenan
Moderator

David Moreno | Stereonaut! » nyc | November 16, 2009 07:32 PM

November 03, 2009

SFLC and I recently filed a brief in Bilski v. Kappos, along with plenty of other lawyers, and I gave a talk about the case, and the future of patent law, at Cardozo Law School yesterday. The outpouring of amicus briefs in this case, which will be heard by the Court on November 9, must be particularly noticeable to the Justices and their law clerks: a stack of dozens of third-party briefs seeking attention would have been the lunchtime talk of that inner core of the Court back when I worked there, and I’m pretty sure that hasn’t changed. A high stack of amicus briefs—which we called “greens,” for the color of the cover in which the Court requires they be bound—means people outside the Supreme Court think the case is important. Bilski is very important indeed. The Supreme Court and Congress must soon begin shaping patent law for the 21st century. In Bilski, the Supreme Court has an excellent place to start.

See more ...

Freedom Now | November 03, 2009 12:18 PM

October 19, 2009

Welcome to GNOME Blogs. If you are the owner of this brand new blog, you can start posting right now!

| October 19, 2009 05:31 AM

October 04, 2009
Going to # at 6pm tonight. For details or to register, see http://hackervisions.org/?p=523 . # #

Notices tagged with sfdnyc | October 04, 2009 06:28 AM

September 20, 2009
Nina Paley just sang to us about how copying isn't theft. Cutest thing ever! That's why she's a rockstar. #

Notices tagged with sfdnyc | September 20, 2009 01:42 AM

September 08, 2009

A quantum computer is, roughly, a device that can prepare a quantum system in a known state, manipulate it in a way that maintains its quantum coherence, and extract some useful information.

What makes a quantum computer so different from a classical computer?

After all, the computer on my desk operates according to the laws of quantum mechanics, doesn't it? Indeed, the entire world operates according to the laws of quantum mechanics, and a classical computer is no exception. And semiconductors, the materials that computer processors are made of, can only be understood with the help of quantum mechanics.

So what really does it mean to say that a certain type of machine is a quantum computer, while the computer on my desk is not?

A quantum computer's means of storing and processing information must be in quantum states.

Jim Garrison (jim@jimgarrison.org) | jimgarrison.org thoughts | September 08, 2009 09:00 PM

May 07, 2009

...to my new blog.

Throughout the next several posts, I plan to consider a seemingly simple question: If at some point in the future we are able to build one or more quantum computers, how might our individual freedoms be affected?

Given my background working with the free software movement, it should come as no surprise that I believe that we, as human beings, ought to be in control of the technology we allow into our personal lives. And I optimistically believe that in time, the vast majority of people will come to understand that our ability to control our collective destiny rests on our ability to keep the power of technology in the hands of the people who use it, not the corporations who develop and distribute it.

I expect that most readers of this blog will already be familiar with these ideas, so I will take them as a starting point for the coming discussion, as we jump right in to the idea of quantum computing.

Jim Garrison (jim@jimgarrison.org) | jimgarrison.org thoughts | May 07, 2009 07:30 AM