Introducing Cryptstagram

[This is the long version of a post I wrote for The Barbarian Group’s tumblr.  We also got written up in Wired’s design blog, Laughing Squid, and PSFK, my first time getting such large coverage!]

Periodically at The Barbarian Group, a small team of new employees and veterans with varying skill-sets are brought together to work on Project Popcorn, a side project that embodies the inventiveness, technical skills, and values of the agency.

Within my first week as a developer for the agency, I was assigned to Project Popcorn, along with a senior art director, a senior copywriter, a creative director, and a technical director.

Cryptstagram is the resultant product of our teamwork. Cryptstagram is a web site that lets you steganographically encrypt a hidden message into any image, unlockable only with a specific password, and then apply glitchy Instagram-like filters to that image.

The National Security Agency whistleblowing story had just broken, and as a result we quickly became fixated on doing something involving cryptography and, to fulfill our artistic ambitions, on doing something involving the glitch aesthetic.

Cryptstagram-5

The glitch aesthetic is popular amongst our creatives and developers because it requires technical knowledge of formats and methods underpinning systems in order to then manipulate, pixel-push, and distort those systems towards the artist’s ambitions.

As a team we spent a lot of time discussing what tone we wanted to convey with Cryptstagram. How secure should it be end-to-end to pay respect to citizens’ cryptographic requirements and expectations of privacy? Should Cryptstagram’s filters create aesthetically-pleasing images or should they reflect entropy of input and interaction from the user? To what degree did we want Cryptstagram to be a statement about the NSA and privacy in general or just a reaction to the state of our relationship with technology?

In the end we decided on a reflective tone for Cryptstagram, emphasizing a common public desire to share stylized parts of ourselves in public but other parts of ourselves in private or semi-private. We should empower ourselves with stealth and style.

Cryptstagram-2

Cryptstagram-4

The Project Popcorn team also wanted to keep Cryptstagram open-ended, taking advantage of the fact that JavaScript is pervasive in users’ browsers and that most computation, SHA-1 encryption and decryption, and glitching can now be done with open source libraries, entirely on the client’s side, and using HTML5 Canvas. A JavaScript stack (Node.js/Express, MongoDB, and good ol’ jQuery) cached and served up via cloud services allows for rapid app development and easy deployment for a small creative team.

So, easily, a citizen could choose to encrypt her image with a message and save it without it ever touching an external server, then send that image via private means to intended recipients with a password that could be distributed in any number of ways. Or the citizen could share the image on Cryptstagram’s wall for others to see and even try to decrypt!

A perk of this open-ended design is that we can extend its utility: we (or you, via jsfiddle sandbox!) can add seasonally- or topically- themed filters for specific clients, a celebrity can release images with a password known only to fans, or people can use the Cryptstagram wall to create puzzles or scavenger hunts or just post encrypted messages publicly without drawing suspicion.

At The Barbarian Group, we’re invested in making things that are gonna be awesome, and in order to do so, we need to be just as able to wade through the technical limitations of CORS and CSRF as to create something people love to use and share online.

So, what creative uses can you come up with for Cryptstagram?

The Only Person Not Paying Attention is You

The Snowden leak has been immensely disappointing all around.  It makes me sick to my stomach to read different constituencies circling their wagons on it.  The outcome is almost certainly already written.

First of all, people are acting like it’s a major revelation that this stuff has been going on.  Really? It’s been in the news since post-9/11 took shape, and, among people in DC who care about this stuff, it flared up in 2006 and 2007 with the EFF and ACLU finding its scent.  Whistleblowers have been punished, military blogging has been pretty much extinguished, FISA silliness has made its way into Al-Qaeda propaganda, Hollywood movies, bad TV documentaries.

Technically speaking, with sheer processing speed and storage being rendered inexpensive with the advent of cloud computing and parallel processing across networks, along with massive amounts of investment by the NSA into equipment so much that it would affect local power stations, what did people really think was going on?  Room 641A was uncovered by Mark Klein, a whistleblower whose name no one knows, and showed how the FBI could tap into telecoms.  When did that happen? 2006!  How much more evidence did people need for the story to blow up?

nsa-phone-records-lawsuit.jpeg1-1280x960

Mark Klein, whistleblower

NYC

People I know in NYC are for the most part universal human rights-type liberals, which is to say they strongly believe that the notion of freedom has something to do with expecting freedom as a standard right for all, but not really having much idea how to implement or enforce it except through dreamy notions of Hans Zimmer-soundtracked Supreme Court victory films and through self-example (thus “hipster” stuff like gardening, eating healthier, being a smarter consumer, exotic hobbies, etc., but without a similar push into practicing politics).

I felt like I was a broken record in our flying robots class as people would worry about the impact of drones, while I saw drones as an eventuality of the future and cared more about the policy impacts of an unchecked and unnoticed NSA, both my allegiance and suspicion of its work coming during my time in service when all this stuff was basically being prototyped in Iraq (after years of research on systems such as Echelon).  Drones are a tool to gather intelligence for larger databases, and a technological replacement weapon for cruise missiles and gunships.  By themselves, Predators and Reapers will be footnotes in history.  The apparatus that collects, collates, targets, and scores potential enemies of the US will have a legacy that will lead us well into the end of this century.

DC

Many of the non-security people I follow on Twitter are mostly journalists or DC -based or -biased analysts, which means to say that they are indulging in the sauciness of the Snowden story while at the same time indignant at the idea that the government is spying on journalists as well as the American public.

The initial journo phase of giving Snowden a pass on reporting accuracies gave way to a more careful view of his story now (in other words distancing themselves from admiration of his courage), particularly as he’s had contact with countries considered non-friendly with the US and incompatible with the principles of freedom of speech and civil liberty.  There’s still a strong undercurrent among these people though of defending the whistleblower aspects of Snowden’s actions while downplaying his questionable behavior in other countries.

But look, here’s the thing with all this, and I’m sorry for all the setup to get to this.  The story’s going to keep morphing and Snowden supporters are going to continue to modify their lines to fit the current narrative.  There’s no accountability for such people giving half-baked opinions and mawkish support for a man who is for the most part inconsistent (see his IRC logs and personal work history) on the matter — no one will call them out later on it.

Journos will turn on or bail on this guy.  He’s just a tool to them.  Assange has turned into a punchline for the intelligentsia while Manning has turned into the equivalent of those ads on late night TV for abused pets that need healthy homes.  I saw one tweet suggest that Snowden is to Greenwald as Manning is to Assange.  A pawn in a larger dance.

Turning on Snowden is only slightly worse than ignoring him completely.  See Barrett Brown (corporate spying early on), Thomas Drake, William Binney and J. Kirk Wiebe, Mark Klein, and the rest of the whistleblowers and journalists no one has given a fuck about until now.  This doesn’t even cover the red flags raised after what happened to Joe Nacchio and the debate around National Security Letters (this link upped by the awesome writer Maria Bustillos).

large

Thomas Drake, whistleblower

Snowden reminds me of those LulzSec guys before they got caught.  Everyone likes the story of the fugitive — it plays well in the media.  FUGITIVE AT LARGE!  NEW DETAILS, NEXT!  In my opinion the LulzSec folks were far more compelling than Snowden’s story: they were directly challenging the international community to cooperate to find them and arrest them — they lived in multiple countries and they had a technical superiority edge at first that must have deeply concerned law enforcement, but they were ultimately undermined, most notably by their leader becoming an informant for the FBI!  I can only imagine that LulzSec was a wakeup call for building up more serious capability within intelligence to keep up with blackhats online.

Gizmodo LulzSec

What should be more scary is not how authorities are reacting to Snowden, but how they managed to thoroughly infiltrate Anonymous, WikiLeaks (Sigurdur Thordarson), and even LulzSec — people who were more capable of hiding their digital footprints than most people in society.  Given attempts to infiltrate Muslim communities in NYC, running operations to entrap potential jihadists throughout the US, and so on, virtually no organizations seem to be impenetrable to government operations.

Snowden, contrary to his depiction in the press, seems like your typical mixed bag type of person.  Contradictory views at different times, inconsistent motivations, full of character flaws.  It’s completely up in the air how his story plays out, but I think the easiest thing to conclude is that the guy has always wanted to be where the action is (a feeling I can relate to) and was seemingly raised to believe that nothing is impossible (see his 18X special forces attempt, et al) and that actions speak louder than words (being the figurehead of this NSA leak).  I’m interested in the guy too but I agree that the NSA news must be fully integrated into American citizens’ notions of what is going on behind the scenes.

As for Greenwald, the guy is fighting the good fight but is a super-douche (putting him in the panned-theon of Tom Friedman, Umair Haque, Evgeny Morozov, Paul Krugman, Jeff Jarvis) and so even if I’m harsh on him, for the most part it’s been good to watch him speak up for things over the years that people have ignored.  But seriously, why do these guys twitter-search their own names for any mentions and feel compelled to talk back?  It’s the number one reason I call them Morozlov and Greenlold — so they don’t throw a Twitter fit in a @mention.

It would be alright if this eavesdropping news was somehow a revelation but the bottom line is that people have not been paying attention for the last decade or so.  Most importantly, the NSA story has been decontextualized from post-9/11 security mission requirements and solely towards some happy fantasyland where America lives out some high school class teaching of freedom of speech and international role model-setting of a higher moral arc towards justice.

That is to say, there is next to zero intelligent balancing of the issues being discussed in the circles that should be setting the debate for everyone else.  The NSA has a pretty clear objective and it’s fairly good at executing that objective: monitoring communications and creating target packages for people who come up on its radar.  In an environment where potential enemies don’t line up in formation to attack, basic pragmatism and realistic world view would acknowledge the need for tactical and organizational ability to collect that kind of data.

Furthermore, it would be ludicrous for the US government to not pursue serious (fair trial) charges against Snowden, based solely on the current standing of the law.  It has to prevent leaks and it has to protect its intelligence.  Why do people act surprised that the US government would be seeking to detain and prosecute the man behind a massive breach of classified information and ensuing media controversy, all while passing through China and Russia?

At the same time, the networking of our data online not only increases the government’s ability to collect, it also increases the abilities of adversaries (say, China) and non-states (hacking groups, organized crime, etc.), so the public needs to be vigilant about its rights to protect its data from those groups.

All of this is within the perfectly rational and justified perception among caring Americans that the NSA’s eavesdropping programs have gone way out of control and pose a threat towards American citizens’ civil liberties.

But you don’t hear this.  The decontextualization makes it sound like the NSA is J. Edgar Hoover putting intel hits on everyday Americans for no reason, when in fact it’s more of an intelligence effort to adapt to today’s big data environment — and the NSA will do whatever it is allowed to by those who set policy (Congress), who set legal precedent (Supreme Court), and who actually have skin in the game (military, security, etc.).  9/11 was perceived as a massive failure to many professionals who dedicate their lives to ensuring that it never happens, and they will dedicate the rest of their careers to doing whatever is in their power to try to prevent 9/11 from happening again.

Do you begin to see that there are different interests at play here and that they all have varying degrees of legitimate concerns and readily apparent biases?

The bottom line is that hey, you just found out about this and it’s like reading Howard Zinn’s A People’s History of the United States in college and now you’re one of the few initiated who gets what’s really going on in the system man.  Enslavement, dude.

Do you know how frustrating it is to listen to people whose opinions came from a BuzzFeed blurb about a Mother Jones article (that cites news from years ago as breaking) and are all the sudden pro-disclosure rules and anti-intelligence apparatus?

Do you know what it’s like to read hit-and-run op-ed pieces about how intelligence agencies continue to fail to find viable targets from the same types of people who laughed at the crowdsourcing effort to find the Boston bombers?

Do you know what it feels like now, after having had my clearance revoked back in the day, during a deployment, because I was blogging honestly (but not giving away OPSEC) about what was going on in Iraq before the Surge and ethnic cleansing and before there were the chilling-effect blog rules in place now that have all but cut off most reports from servicemembers deployed abroad?  Let me please hear from kids who skipped out on our last decade of deployments which required leadership of smart, freedom-loving Americans who were lucky enough to not be too busy trying to save what was left of the lives they were clinging on to (which is how lower middle class, the poor, and victims of Katrina spent the last decade).  Let me please hear about speaking truth to power from kids who weren’t there, didn’t see it happening, and only found out about it years later because they’re always on the internet.  It’s easy to speak out in hindsight or when nothing is at stake for you.

Fallout

I’ll tell you who gets hurt in this.  First of all, the public will put up an outcry over this only so long as it’s in the paper.  For that reason I would think Wikileaks is the way it is: shilling for story, content, and control of the narrative.  They want to ensure that it stays on Page 1.  But really I don’t think much will change because there’s little check on the government to prevent electronic data snooping and very few people actually understand the mechanics behind how it works.  Also security concerns will still trump privacy concerns.  So the public is going to continue being spied against with few checks or even basic smell tests to see if the government should not be spying on this person or that person.  We’ll continue to see bizarre, brief fiascos like Stop and Frisk and CIA-NYPD collaboration to provoke, say, the Muslim community.

[the above is my ITP classmate Atif Ateeq’s thesis about bringing context back to Muslims and Arabs who were decontextualized after 9/11]

The behemoth which is the system that allows government and corporate spying will continue almost unabated against citizens around the world, regardless of their affinities.  The technical ease is too great and the will to put understandable limits on it by decision-makers is too weak.  It’s a cliche in the science fiction world but it’s an easy eventuality.  I can only see this disparity in interests increase as tactics, techniques, and procedures (TTPs) continue to get scaled down for easier use by lone wolves (see 3D printing, propagation of extremist material, biohacking, DIY energy devices).

The other people to get hurt will be security people.  The narrative of the post-9/11 story for intelligence has been that it took the rest of the blame for Iraq that Dubya didn’t soak up.  “The intel was bad,” people remember.  But Tenet went along with pushing for Iraq in the end, even though key intel analysts were advising the complete opposite.  After that was settled, recommendations were made, particularly in Congress, to boost the concept of fusion centers, which were supposed to prevent stovepiping of intelligence within agencies and to possibly allow for a layered effect of intel analysis where different types of data could be plotted against each other to build out networks of important terrorist individuals.  Well, fusion centers ended up costing a lot of money and were for the most part just okay but not terribly productive.  Where security is now is that data is now streaming in faster than it can be analyzed, and so systems need to be built to sift through it.  And after this scandal, it is likely that checks will be put back in place to make at least some of that data integration difficult again.

In short, I would think that it will be at least a bit more frustrating for analysts to do their jobs and to perhaps prevent another attack on American assets — maybe not even through figuring out a specific plot but by knowing the internal networks of highly capable groups.

To sum up: Americans weren’t paying attention and expect to be briefed on intelligence that they A) don’t care about, B) don’t know anything about, and C) don’t have time for.  Americans are acting like a nosy, shitty boss calling in from St. Maarten for a checkup.

Really the debate about NSA stuff should focus squarely on the test to allow for eavesdropping: the court order.  Instead of the rubber-stamping of FISA requests which has been standard operating procedure, there should be a stricter, more accountable, more quantifiable test for how analysts (who should be enabled to find oddball connections and sketchy hypotheses) go about getting further approval for eavesdropping. [As a note I should add that someone I respect on Twitter countered my rubber-stamping statement and said that there are stringent tests and quick retractions for requests that have errors in them or that are not valid.  So it’s not as easy as I made it out to be, but I do believe it’s telling as a trend that, according to judicial reports, the end result of rejected requests is near-zero.  I defer to an expert though.]

THIS is the fascinating part of the debate.  Yes, allow for eavesdropping, but ONLY if there’s a strong case for it that’s demonstrable through evidence.  The same it has ALWAYS been.  How do we do it?  Well, I don’t know, and we need to have very smart people think about solutions.  I could say that we allow citizens’ interest reps onto the board but that might give away tactical intelligence.  What about algorithms?  As I understand it the NSA had attempted to score potential targets using algorithms already.  I know people like Morozov would roll their eyes (which is about all they ever do) but algorithms, properly understood for the bias inherent in the creation of any algorithm, could provide a way for multiple interest groups to weigh in on what would constitute a threat or a viable target so that it could be non-specifically applied (read, programmatically) to actual targets so that it could be analyzed later.  Right now this system of judges approving anything that passes past their desks is not working, mostly because judges are always going to be supportive of law enforcement efforts, particularly with regard to terrorism.  Why would they get in the way of a dedicated law enforcement team?

If Only the Apple Store Sold iFreedom in Spotless White

I really want to go back to that part about the journos turning on Snowden.

I can’t tell you how frustrating it is to deal with the disloyalty and hypocrisy of people on that count.  Here are a bunch of people upset that the government is tracking them, even if they had security passwords and encryption and all that.  They were upset that an American has to leave his own country to whistleblow on it, which somehow turns the US into East Germany.  If only there were networks, projects, and technologies which might allow citizens to return their own privacy and security!

Transactions

If only there were something like bitcoin to circumvent large-scale banks and payment systems which can block your money from going to online poker, drugs, and anonymous bitcoin transactions!  Well, bitcoin did blow up in the news recently, and what did the twitterati and intelligentsia do with it?  They laughed at it, said it would never work and was unstable in comparison to the American dollar.  They felt it was like throwing your money down the drain.

Sharing

And okay.  If only there were some way to pass information, download movies, files, etc. easily, without having to pay some middleman extra money or to be subject to their licensing rules!  Oh, you mean like torrents or napster or whatever else?  No way dude, I’m not risking my clearance or well-being for being flagged as a pirate; that’s not as cool as using my walled garden App Store on my locked-in iPhone.  Torrents?  Peer-to-peer?  Well, it’s SLOW. :(  And I don’t have time to figure that stuff out.

Anonymous Connectivity

If only there were anonymized networks so we could use the web as it was originally intended again!  Yeah well isn’t Tor for people to sell guns and drugs and child porn?  It just sounds kind of shady lol.  How about mesh networks where people pool together their internet connections so you can connect to a network no matter where you are?  [check out my ITP classmate Sean McIntyre’s work on building mesh networks in Brooklyn]  Nah, I want my own connection!  I need blazing speed to stream my GoT.

Decentralized Social Networking

What is diaspora*?  Oh wait, that’s the one with the dead co-founder right?  Wow that was rough.  But hey diaspora* isn’t as nice as Facebook so I’m not going to switch right now.

The point is that for a community that claims to be for breaking down mechanisms for control by a government that is spying on it, thought-leaders have been shooting down all the grassroots, open source, hacker-built, decentralized products that have sprung up recently.

The contempt people have for all these technologies that would help free them from corporate or government interests?  Well, it just makes me think that people aren’t as desirous of freedom as they claim — it reduces technological interest among most people to just another coolness factor.  Do you have the latest iPhone?  Sorry, I only use Instagram after I deleted my Facebook account (a personal favorite considering Facebook owns Instagram).  Macs are for overpaying idiots.

The lowest level of Maslow’s Digital Needs Curve has shit like iPhone, cloud services, gawker, reddit, and whatever else people REALLY want to use daily.  I’ve seen fairly savvy journalists on Twitter railing against Obama on his policy against whistleblowers in one tweet while drooling over their new iPhone 5 in the next.

Remember Occupy?

It was all topped off for me seeing the utter contempt from the twitterati and most liberals with the Occupy movement.  From its very onset, people who constantly act like they’re for a more democratic and grassroots system, sticking it to the banker-politician complex, etc. would laugh in the face of Occupy while at the same time being drawn to it as some chic “fuck The Man” rebelliousness.  People would go visit Zuccotti but always with a curious detachment and ultimately a pointed, knowing critique of how Occupy had no leaders or had too broad a platform or whatever else they would claim as armchair protest organizers.  Protestourism.

Occupy had its own problems and the issues that Occupy folks would bring up were some of the most important of the day (money in politics, lack of prosecution for finance industry scammers, and so on) but really it failed because, despite everyone saying it’s a problem, it’s not THAT bad a problem.

It’s not as though the Occupy protesters were dying in the streets from police abuse, malnourishment, or invasion from foreign enemies.  We barely see the poor in our day-to-days, let alone see people from the poorer parts of the city protesting.  The iconic Occupy protester would be a fairly well-educated person who had life pretty good.  Is that person going to be there when the weather turns cold?  Or when Occupy gets too dangerous?  No.

(more on what I wrote about Occupy: http://blog.benturner.com/2011/10/19/on-occupywallstreet/ )

What has been telling to me as I’ve gotten older is spotting which people will stick up for what they believe and who will disappear when things get less convenient.  My main critique with my generation is that it stands up for nothing.  Maybe things are good enough that it doesn’t have to?  It’s a generation that is against most forms of patriotism (so passé!), against joining the military (don’t be a sheep), against religion (Hitchens and Dawkins are MY gods), against political affiliation (I don’t like boundaries, man), against pretty much any form of outright aligning yourself with any larger organization or cause.  Even joining that DC kickball league is a barely acceptable affiliation.  We are all lone boats out on the ocean, apparently.  Which is fine except the politics of my generation is largely based on liberal socialist ideals for collectivized Wilsonian whatever, health care or taxation etc.  I understand the folks who live out in the country and don’t want anyone to come near — but urban liberals are not those people.

I believe at some point in life you have to start standing for something.  Maybe it’s in some ways naive or dumb, but it’s important, particularly for men, to have a set of principles and values that are immutable.  Shapeshifting and adapting to whatever is hot is something that younger children do as they try to find themselves, and I just think that once you get old enough, you have to be the person defining what’s important in life.  Maybe there’s some truth to the argument that Americans in their 30s are the new infantile Americans in their 20s.  What does it mean to be American anymore, where borders cease to matter and people switch from city to city with the same standard of living, as part of some cosmopolitan elite ideal?  What does it mean when a whistleblower travels to a Chinese surrogate and then to Russia with America’s technical secret goldmine in tow and people are more concerned about the soap opera of a missing man than of a massive foreign policy disaster?

What it says to me is that most people don’t understand the gravity of situations across the world.  Poverty reduction has been reduced to feel-good slacktivism, foreign policy has been reduced to Hollywoodish notions of outmoded Cold War era spy games, homeland security has been reduced to comedic Paul Blart-quality bureaucracies.

It just makes me not want to pay attention to more and more people who don’t have experience, who have no skin in the game, who have no cause to stick their necks out for.  It increases my willingness to listen to those who are on the ground, who have hammered out any naive notions or ideals of how the world really works, leaving only hard-nosed pragmatism behind.

How Convenience is at Odds with Art

This brings me to a bigger subject: art.  I never thought I was going to be an art student, particularly after being in the Army and having a love for business.  The quality of the art students I’ve met in terms of their abilities to look past what is useful or what provides an immediate payoff or what seems possible at the time, along with their technical and ambitious abilities to actually carry through with them, I’ve just been so impressed.  I still associate most art with projects carried on for no reason in particular and which don’t really make much sense and which seem to take up a lot of unnecessary room.  That said, art school is just as expensive as other schools. (this artist wrote a post on why you SHOULDN’T go)

41DhwYxE2vL._SY346_

But what I’ve come to feel about art is that what I associate with art is only what has been successful art in the past.  The cutting edge art of now and in the future is not going to be seen as accepted, as cool, as mainstream.  To understand what the fringes of meaningful art are now is to look not at what will be cool (advertising and design have successfully co-opted that particular game) but to look at what is seen as obscene, weird, disconnected, and offensive.  Meaningful art now is not called art: it’s called some variation of the term hacking.  Experiment, play, prototype, tool around, whatever.

In school I learned the ITP hacker ethos.  The ITP hacker ethos revolves around the 80’s-based mystique contained in phreaking, War Games, Sneakers, Easter Eggs, sleight of hand, Max Headroom, Hackers, etc.  Now society seems to think geeks are cool, but the real geeks are the ones who stay glued to the computer, hacking away on some tech that may not even pan out or make sense to anyone outside of a handful of people.  The chaos behind the high latency of Tor, or the arms race of pirates and copyright holders through torrents, the idea of darknets: this is the uncomfortable edge of where art is.  It’s childish and naive in some areas, it’s foolish and illegal in others, and it’s unproductive and a dead end too.  It’s not polished, it’s not beautiful, but what it does is test legal limits, test technical limits, test ways of seeing the world.

Drones

Drones.  A touchy subject.  For ITPers, it’s a mix of unsurpassed American military might, combining speed, surveillance, technology, and intelligence, all of which are core advantages to American power.  But it also stands for death, particularly collateral death.  It stands for disposition matrices and hitlists and reaching out and touching someone and the disconnect of killer and victim and secret orders signed by the President.  Drones are one of the best examples of a conflict between liberal disgust with warfare and conservative Jacksonianism and exertion of power.

So it has been depressing to read about drones because few people fall somewhere between those two extremes.  But some people have begun making what I consider to be fine art, and it has not come in the usual form of something beautiful.

James Bridle has an exhibit at the Corcoran on drones.  Among other things, this was said about his work:

Bridle realizes that drones are more than the sum of their 3D parts; they are the capillaries of a network, the point at which lines of computer code, political power, and obscured decision-making appear in the physical world. “This is what I’m really interested in at the moment: trying to push this debate back from the fetishization of the drones themselves, back into the computational networks behind them,” he says of his piece “Disposition Matrix,” a computer monitor reeling through a software program Bridle wrote that searches public resources for people who have a connection to drones and a series of volumes printed from the findings of the program, conveniently accompanied by some gloves for museum visitors to don as they flip through the pages. The program is meant to evoke the system and variables that generates an official “kill list.”

This is the greatest form of art for me.  Technical understanding of something to the point that you can recontextualize it and link it back to the bigger themes involved.

dronestagram_0

You should also watch my ITP classmate Josh Begley’s thesis presentation on dronestre.am, his API for accessing info about deaths as a result of drone strikes.  Particularly interesting were his remarks on geography being an inescapable reality and thus the increasing importance on mapping blank spots in reality, his interest in that sparked by Trevor Paglen and his “experimental geography”.

Drones as peace advocates discuss them are boring things.  A drone today is just a gadget, but what lies behind it is sophisticated blending of GPS, radio comms, cheap parts, remote weaponization, integration of real-time video and control into the commander’s toolkit.  Beneath the drone debate was always the intelligence debate, which the public has only now decided it wants to take part in, despite Bradley Manning rotting away in jail and the NSA blooming in size and a witchhunt for whistleblowers within the government.  Way to ferret out the main story, armchair analysts.

tumblr_mamqiqKAdo1qzu6nxo1_500

UX

One of the quieter stories I read about in Wired a while ago was one that has stuck with me for a while.  It was a glimpse at UX, Urban eXperiment, a French hacker-collective.  Wrote Jon Lackman:

UX is sort of like an artist’s collective, but far from being avant-garde—confronting audiences by pushing the boundaries of the new—its only audience is itself. More surprising still, its work is often radically conservative, intemperate in its devotion to the old. Through meticulous infiltration, UX members have carried out shocking acts of cultural preservation and repair, with an ethos of “restoring those invisible parts of our patrimony that the government has abandoned or doesn’t have the means to maintain.” The group claims to have conducted 15 such covert restorations, often in centuries-old spaces, all over Paris.

Begley’s and Paglen’s interest in the unmapped spaces may coincide with UX’s wishes to find and protect that which has been forgotten.  Anonymity can provide security when everyone is too distracted to pay attention.

Why do they care about these places? Kunstmann answers this question with questions of his own. “Do you have plants in your home?” he asks impatiently. “Do you water them every day? Why do you water them? Because,” he goes on, “otherwise they’re ratty little dead things.” That’s why these forgotten cultural icons are important—”because we have access to them, we see them.” Their goal, he says, isn’t necessarily to make all these things function once again. “If we restore a bomb shelter, we’re certainly not hoping for new bombardments so people can go use it again. If we restore an early 20th-century subway station, we don’t imagine Electricité de France will ask us to transform 200,000 volts to 20,000. No, we just want to get as close as possible to a functioning state.”

UX has a simple reason for keeping the sites a secret even after it has finished restoring them: The same anonymity that originally deprived them of caretakers “is paradoxically what’s going to protect them afterward” from looters and graffiti, Kunstmann says. They know they’ll never get to the vast majority of interesting sites that need restoration. Yet, “despite all that, the satisfaction of knowing that some, maybe a tiny fraction, won’t disappear because we’ll have been able to restore them is an extremely great satisfaction.”

Art stolen by UX, on display out of public view, in tunnels

Art stolen by UX, on display out of public view, in tunnels

Ai Weiwei

Today’s cutting edge of art is also political, because expression vs. government is a tangible, dangerous battle that we witness daily in various forms.  I consider Ai Weiwei to be one of the most daring and genius artists of the day to reach widescale attention, but almost no one has heard of him.  I recommend you read this article about him.

All art is political in the sense that all art takes place in the public arena and engages with an already existing ideology. Yet there are times when art becomes dangerously political for both the artist and the viewers who engage with that art. Think of Jacques-Louis David’s involvement in the French Revolution—his individual investment in art following the bloodshed —and his imprisonment during the reign of terror. If it were not for certain sympathisers, David may well have ended up another victim of the guillotine. Goya is another example of an artist who fell foul of government power. There are instances in the 20th century when artists have faced down political power directly. Consider the photomontages of John Heartfield. Heartfield risked his life at times to produce covers for the magazine A/Z, which defied both Hitler and the Nazi Party.

Backpacks spelling out: “She lived happily for seven  years in this world”

Backpacks spelling out: “She lived happily for seven
years in this world”

 

As an idea of what he has done, he built a marvel, then disavowed it (the Bird’s Nest), he created a facade of backpacks outside a museum to represent the lost children who died in China’s major earthquake while back.  In his words:

The idea to use backpacks came from my visit to Sichuan after the earthquake in May 2008. During the earthquake many schools collapsed. Thousands of young students lost their lives, and you could see bags and study material everywhere. Then you realize individual life, media, and the lives of the students are serving very different purposes.  The lives of the students disappeared within the state propaganda, and very soon everybody will forget everything.

Most poignantly, he was detained and beaten by police in Chengdu after he had gone there to support a local activist Tan Zuoren (who was on trial for helping create a victim database for the aftermath of the earthquake) and snapped this photo of himself with cops in an elevator, which he shared across the internet:

weiwei

That photo tapped into elusive, seductive themes.  Social media, a joke to its trollish inhabitants like Evgeny Morozov (whose skin in the game involves finding a new fellowship at a university to bum around in while writing a book attacking all the people who provided material for it).  The Chinese police, a symbol of ham-fisted authority.  The artist as a threat (with multiple police surrounding one unarmed artist).  Surveillance, cleverly used by Ai Weiwei to take videos of the police who tried to threaten him with video and photos.

It wasn’t being arrested by police that was rebellious or artistic — any fool in the US can get arrested these days just for acting like a jackass, and Ai Weiwei wasn’t even doing anything at the time.  It wasn’t some artistic stunt — Ai Weiwei, already known for art, was seeking the truth in recording names of those killed in the earthquake.  He…just sought the truth.

The reaction: he survived the altercation and had a choice response for the police.

ai-weiwei-never-sorry_hospital

The tragedy: almost no one knew this had all happened!  Even fellow art students.  I can barely comprehend this.  The disconnect is glaring.  You know, I’ve served my time.  I’ve reinvented myself to fit in to various communities, to take up their rituals and make them my own, to become a part of those communities, to care for them and to be cared for by them.

Artistic Voice

Now that I’m out of school, I feel like I’m freed from that need to try to catch up with what other people have done, and instead I should begin to forge my own artistic path, to be okay with creating things that no one understands.  My own temptation to believe that I should be trying to convince others has long before died as I realized it is certainly not my talent.  My dreams of grandeur have been tempered by failure, by meeting people far more intelligent and wise and wonderful and humanistic and charismatic and insightful than me, and by realizing that the best I can do is get my own affairs enough in order that I will have time to be able to help others — a project I’m still working strenuously on.  To these ends, I feel as though my bullshit filters are honed (filtering out the day-to-day nonsense in different industries while selecting the genuinely new and game-changing events) and I’ve become very good at understanding the people who are really pushing things to the edge — and I want to promote and encourage them to continue to contribute the beauty to the world that they so wonderfully create.

I suppose I just wish that people would have a more understanding perspective of the world — understanding peoples’ motivations for doing things, understanding the reasons for why traditions or events came to pass, understanding the chaos as well as the order.  What I see is not a lot of understanding, compassion, or sympathy in the world, but a whole lot of laziness.  It’s toxic, and it leads to people being able and thinking it only natural to take advantage of others — in a world where we wish and idealize that people would help each other instead.

I also wish that people would understand that when they claim to want to know the truth — whether it’s about government spying or whatever — what they often only want is the drama behind popular exposure of the truth, when perhaps the truth was out there in the open for them to avoid and ignore for years beforehand.  A critical look at “truth” involves, most importantly, a critical look at oneself and how much one will put on the line in order to accept that truth.

Opening Up Galapag.us for Alpha

My thesis project for NYU-ITP has been Galapag.us, a tribe and ecosystem for promoting the idea that we should be radically open and transparent with our data so that we can form and share metrics to measure our progress and success in different areas of our lives.  More info at the front page of Galapag.us.

User Zero

I came up with the idea in 2006.  An email I sent to my Army buddy in April, 2006:

I sort of had an idea but it seems like it’ll be difficult to build out.  My idea would be for something similar to Xbox Live’s ranking system.  Except it’s for your life.  Privacy issues aside, people would volunteer to put in as much personal info as they want.  At first it might seem cumbersome putting in so much info but I think as myspace and other services have shown, people are willing to do it if it means it cultivates their identity.

So for instance you put in your income and number of kids and connect your accounts for online game rankings (like in Halo or Battlefield 2) and your exercise plan and your birthdate and your finances and investments and how many web sites you’re on (like myspace, digg, yahoo, etc.) and from all that data, the company would generate statistics that break down your life and give you info about how much time you spend on certain tasks, how efficient you are with your money, what your online reputation is.  Stuff like that.  The core would be statistics…anonymous statistics I think so people won’t have any incentive to forge their results.  The point would be to turn peoples’ lives into a numeric game where they can see how they rate in certain aspects of their lives.  Think of all those online quizzes people take about what kind of lover they are or what their personality is.  That could be tabulated into the statistics, which could be searchable or broke down any way the person wanted.

At the end of a year, we could look internally at our statistics and go visit the top overall people in person to go verify their data and videotape their lives, interview them.  Then a winner would be announced…like the best person award.  Heh…there’d be so much controversy and whining and competition if it caught on.  Then we could write a book about our experiences going out and discovering what makes someone “the best” compared to everyone else.

So…that’s my idea so far.  Sort of like a real-life RPG.  Perhaps we could offer points for real-world scavenger hunts or traveling to different countries around the globe.  What about having life coaches for certain segments, if someone was weak in an area like professional development?  I was thinking we could also offer points for accomplishing certain tasks like humanitarian work.

A lot of stuff happened in the meantime: I got out of the Army, went to study foreign policy in DC, worked for Homeland Security, moved to NYC for school.  And so now I’m wrapping up the thesis, which allowed me more than a semester to work just about full-time (including any waking moment) on trying to make Galapag.us a reality before I can either A) get funding or B) get an engineer/developer job after school.

So I present Galapag.us for thesis on May 15 at NYU.  I have two weeks still to work on it before then.  I think I’ve gotten it to a point where I can start letting alpha testers in to explore, and think about it.  My work log has been tracked on the thesis blog.

Beginning Alpha Testing with Thesis

Want to help alpha test or just look around?  Give it a try at https://galapag.us/login and see what you think!

Here’s the slide deck I’ll be presenting at thesis:

Stack

  • Amazon EC2 small instance with ubuntu
  • node.js/express.js: So easy to build a site using this framework.
  • varnish/nginx+ngx_pagespeed: Caching, run-time optimizations for faster page loads/downloads.  Routes to https and socket.io server too.
  • python scripts for maintaining server default state
  • celery for queuing
  • redis for temporary data dumps and lookups
  • mongodb for permanent data storage
  • angularjs for the comment system
  • mocha, unittest, qunit for unit testing in python and javascript

 

I know the site’s confusing — like an airplane pilot dashboard.  It’ll become more cohesive over time.  A lot of things aren’t quite working yet, or they have filler data to get them going.  Apologies for that.  For more familiarization, try the welcome demo.

But here are some features that are worth checking out:

Comment System

Comments will be available for tribe forums, formula critiques, peoples’ profiles.  I decided to use angularjs so I could learn how to build SPAs with it!

ss_comments

 

Tribes

By tracking individual data, one can also track internal company metrics and state-level happiness metrics too!

ss_graph

 

The Islands

Each island has its own weather, environment, and bonuses/penalties for certain user behavior, so it benefits you to live on the island that incorporates your style best.

ss_islands

 

Professions and Skills

What does it mean to be “good” at something? Are companies hiring the most qualified candidates? How do we standardize that?

ss_professions

 

Your Genome

A profile for your data.  You get reputation scores in different areas.  Those scores are determined by which formulas you choose to use.  You can also see your internet of things (devices, pets, objects) is on the bottom right, while you’ll also be able to create gaming characters using your own data.

ss_profile

 

Quests

You can complete quests within Galapag.us to gain experience.  Some tasks will be data-gardening for other people, some will be to introduce gaming elements, others will be to visit lesser-seen parts of the site.  But mostly the quests should be geared towards helping others.

ss_quests

 

Status Bar

I love github’s command bar. I want users to be able to do most everything through the search bar.

ss_searchbar

 

Tribes and Their Genomes

Tribes are important to our identities. formulas serve as their DNA.

ss_tribes

 

Universal Reputation Lookup

The left-side widget can be opened on most pages to see what reputations the people named on them have.  I intend to allow people to look up reputations from just about anywhere.

ss_widget

 

 

API/Sandbox

Galapag.us will have an API to access one’s data, as well as common stats such as state population census results, zodiac signs, and global stats.  Plus a place to test the routes, within the sandbox:

ss_api

 

So with all that, please go help alpha test at https://galapag.us/login to begin your exploration of identity and reputation.  Thanks, and come to the ITP Spring Show if you can!

Analyzing US Veteran Gravesite Data with R

For the final project in Prof. Jake Porway‘s Data Without Borders: Data Science in the Service of Humanity class at NYU-ITP, I chose to work with the US veterans and beneficiaries gravesite datasets that have been published at data.gov.  The Department of Veterans Affairs in 2004 started working on a nationwide gravesite locator that allowed for this data.

Gathering the Datasets

The data is unfortunately aggregated only at the state level, but it at least is updated regularly, so I ended up pulling 51 .csv (comma-separated values) files from the site with the publish date of October 2012.  The categories found in the data:

d_first_name, d_mid_name, d_last_name, d_suffix, d_birth_date, d_death_date, section_id, row_num, site_num, cem_name, cem_addr_one, cem_addr_two, city, state, zip, cem_url, cem_phone, relationship, v_first_name, v_mid_name, v_last_name, v_suffix, branch, rank, war

Since we would have to apply what we’d learned working with the R language to our dataset, what I hoped was that I could use the gravesite data, which goes back to the 1800’s or even earlier, to see how where veterans end up being buried correlates with national population trends over time.  In other words, if many Americans are buried in California, does this mean more veterans are also going to be buried there?

I figured, since there were categories for branch, rank, and war, that I’d be able to find some logical correlations: many privates and junior-enlisted sergeants would have died, while fewer senior-enlisted and officers would have, in past wars.  I figured the d_death_year might correlate with dates for the US’s multiple wars, with deaths elevated during those time periods.

So I guessed that with 51 data sets, this would begin to fill up my system RAM (4GB on this MacBook Air).  Look at my memory usage!

I skipped the files for the US-owned territories and “foreign addresses” since I wouldn’t be able to find normalized population data for those.  I also cleaned up the dataset so it would return only the veteran, not his/her beneficiaries who may also have been listed in the data as being deceased.

Loading the Data into R

Given that I’m not very comfortable with R, I started out just loading the Washington DC dataset since it only has 986 entries in it.  Problem?  The download for the file didn’t work.  “ngl_washington%20dc.csv” was not found.  %20 is a URL-encoded representation for a blank space.  Luckily, getting rid of the %20 revealed the proper filename, “ngl_washingtondc.csv”.  I also found that the .csv files were not importing into RStudio immediately.  I’d get an error.  I would get something similar to an uneven rows error.  What I had to do for each of the states’ .csv files was to open them up first in Excel and then save them in Excel.  Excel would properly format the files so they could be imported into RStudio.

I tried to write my R code in such a way that it could easily handle the 51 states + DC via functions, but I ended up having 51 calls for each state.  I wish the datasets were integrated into one national file.  I also wish I knew in R how to make a variable variable.  So that if I wanted to pass “Texas” to a row name, I could do “t <- “Texas” and then “state_data${t}” or something similar to convert on the fly to “state_data$Texas”.  In PHP, you might do this with $stateData{$t} (I think) and in JavaScript or Python you’d use eval().  Not pretty but I didn’t know how to do it properly.

The next step was to break up d_death_date (which was in a variety of formats such as “1993”, “9/3/98”, and “07/11/1864”) so that I could extract the year.  I had to check for the number of characters in the string, then figure out if the year was 2 digits or 4.  If it was 4 digits, I knew the year for sure (e.g. “2008”).  If 2 digits, I figured that if it were less than “15”, then it was probably referring to the year 2000 and higher (lazy data entry).  If higher than “15”, it probably was assumed to be the 20th century.  Finally, I had to convert this result from a string result to a numeric so I could do math on it.

More below the jump…

Read More »

The Coolest Stuff I’ve Seen While at NYU-ITP

Access to the latest info and tech is easy because of the internet now, but moving to NYC and going to an art/tech school in Manhattan (NYU-ITP) has pushed me even closer to the sources of ground-breaking stuff that eddies in github repos, IRC channels, and school projects before being cut loose to hackernews or reddit or the other nerd aggregators.

Here’s some shit that I’ve seen while at ITP that I thought was fucking awesome, not necessarily because it’s never been done before, but primarily because it’s so easy for any regular person to play with now.

Interactive Coding

From Dan Shiffman in his Nature of Code class, he passed along this link from Bret Victor‘s talk, “Inventing on Principle”.  In the lengthy vid (all of it worth watching), he shows real-time feedback for coding.  That is, if you change the logic in your code, you see how the variables change, in real-time:

He extended this to showing a circuit diagram timeline with sync’d waveforms and how the electrons and flow through the circuit as you change resistance and parts:

Then, he showed iPad swiping to change elements on an animation timeline, thus creating a sort of tangible real-time animation experimentation, seen below:

The benefit of this immediate feedback is that one can begin to play.  Instead of usual software development, which consists of planning ahead of time exactly how something should behave, and developing contingencies for when things go unexpectedly, this sort of format allows for someone to play with variables, such as the size of a character’s head, or the physics of a world, with immediate results.  This allows someone to fine-tune a world, or to test the bounds to see if unexpectedly fun behavior emerges from it.

This is more consistent with how an artist might try multiple things in order to fully flesh out a concept, instead of hoping to get lucky with it, or spending ages understanding the mechanics so well that the result is contrived.

Here’s the full version of Victor’s talk:

You can see an early application of this kind of coding mentality in, as an example, this indie game, Under the Ocean:

Websockets

One of my classmates, now an ITP resident, Craig Protzel, was showing me some code he was working on with a professor, linking up heartbeat monitor-type data with a data viz timeseries graphing web site, showing real-time streaming of the data onto a line graph, with a backend of node.js and socket.io.

The best demo I could find of something similar to this is this Arduino board with two potentiometers streaming output via websockets and a Python script up to the web:

Here’s the implication.  The web has been fairly static since its inception.  Even when AJAX came and ushered in web 2.0, you were still doing with an active getter-type web.  Databases, bandwidth, and client browsers just couldn’t handle unrequested data coming in.  But now they can, what with the cloud, key-value stores like redis or AMQP, faster and bigger bandwidth pipes, etc.  The web is going to start looking more like a stream and less like a restaurant menu.

In my Redial class last semester, a lot of our final projects involved setting up an open-source Asterisk telephony server with a cheap phone number routed to an Ubuntu server instance in the cloud — that stack was all the same, but our applications were different: one team (Phil and Robbie) made a super-easy conference call service, another dude (Tony) made a multiplayer sequencer controlled by people dialing in and punching numbers on their keypads:

Server stacks are flattening in a sense — you can use any language you want to set up a server (Ruby Sinatra/Rails, JavaScript node.js, Python Flask), and then plug in extra services you need (database, key-store, admin tools, task and load balancers).  HTML5 and some degree of normalization on the browser side is allowing JavaScript to mature so that we have all these kickass visualization and interface libraries for making better user interfaces now, too, which can easily handle the structured data being thrown at it by all the stuff going on on the backend.

The last note is that you can now easily, with a little help from an Arduino and a network shield, control the digital world with analog sensors, or vice versa.

Drones

I read Daniel Suarez’s latest book “Kill Decision” (review here), in which a scientist is targeted because of her research into weaver ants, the most warlike species on Earth, being inspiration for algorithms for killer drone swarming behavior.  We’re living in an age of the dawn of drones, where the US has found it can cheaply deploy drones to kill and monitor the enemy, broken down into a bureaucracy of various levels of kill and targeting authorization.  We’ve all seen the videos of quadcopters acting together using simple rules.  It won’t be too long until law enforcement and federal agencies will be able to use drones domestically.  Drones are far more versatile, expendable, and cost-effective as overhead imagery.  Look at the quality on this RC with a GoPro camera attached:

Here was a “robokopter” sent up to monitor the police in Warsaw as they kept two hostile groups of marchers apart:

I can’t see how drones won’t be banned soon, but how will they enforce it?  Shoot down rogue drones?  Jam them?

Somewhat corny, but here’s FPSRussia using what seems to be a terribly unsafe quadcopter with a machine gun attached:

Suarez’s book takes its name from the idea that an unknown actor has built drones that target individuals, assassinate them, and self-destruct, without any instructions coming in after they’re released.  They destroy their own fingerprint and are mostly impervious to being jammed or tracked back to their makers.

All with fairly cheap parts.  It’s not the same thing as weaponizing, say, biological weapons, or building a big enough EMP, which I would imagine are two of security apparatuses’ biggest fears.  I’m kind of sad more people haven’t read Suarez’s books because they’re addressing pretty near-term implications of emerging tech.

FaceShift

I didn’t get to take this class, but Professor Kyle McDonald (whom I took for Glitch) had his students play with this new kickass software, FaceShift.  Check the demo:

Basically, you plug in a Kinect to your computer and spend half an hour mapping your facial expressions to the software.  Then it renders a model of your face, which you can then use to map any skin you want (say, another person’s face) onto it.  So quickly and easily you can do this.  Previously this sort of work was the domain of special effects studios and game development teams.  Now it’s downloadable, and you can buy a Kinect (or other similar cameras) to capture yourself.

Holy Grails That are Still Missing

Self-Recording

Here’s what I wrote my buddy Chris after he showed me this upcoming product, the Autographer:

Problem with it is threefold:

  1. unproven, not much evidence of what it actually delivers
  2. angle is all wrong, you have to wear it on your purse (!) or on a lanyard, so it will jerk around, not stay right-side out, won’t have a good angle to see what’s important (even if it’s supposedly a 135 degree lens)
  3. the holy grail of something like this would be something that takes photos OF you, not FROM you
That last part is key.  If I could, I would build a little floating ball (think the trainer that Luke uses to practice with his lightsaber) that can take photos of you without you being aware of it, or posing for it.  Candid photos.  Those are the winning photos.  Not posed photos of people mugging for the camera.  Even having another person take the photos for you steals from the atmosphere — someone is actively choosing to become disengaged from the scene in order to take a photo of it.

It also means that photos of people and recording peoples’ lives has been primarily a solo adventure at this point.  Hence the phenomenon of mirror photos, the forward-facing camera (so you can see yourself and the person you’re with while you take the photo), etc.  Not so many people are lucky enough to A) want photos and B) have someone else who loves to take photos along with them at that time.  I have no awesome photos of Iraq as a result (and those that I took, as you know, got me in a shitload of photos…can’t even claim to have returned with anything beautiful from that hard-knocks lesson).  Maybe this also explains why photos of animals have done so well.  They are ignorant of us taking photos of them, and do their crazy animalistic shit with reckless abandon, and thus make excellent photo subjects.

Extend that to personal data collection (which is what Galapag.us will start off as) and it’s a somewhat isolating experience.  Who is going to follow you around and collect data on you?  You have to do it for yourself, or participate in activities that can be tracked automatically (marathons, online social networking sites, Fuelband, etc.).  Maybe social media whores (like me) became that way because that’s the cutting edge for living a quantified, recorded life.

Anyway, I think it’s pretty fascinating that among friends who are social users of online stuff, Facebook and Instagram are the key players (which is why Facebook paid $1bil for Instagram).  I love Twitter but very few casual users use it.  Pinterest is primarily women, fantasy leagues are men, etc.  But photos are HUGE.  Facebook knows it.  But we’re not even a third of the way towards reaching the full potential of capturing the human experience through a camera in my opinion.  The tech is not there yet.

Decentralization

The web is not very distributed or decentralized.  There is a myth of digital democracy.  When Amazon AWS has a hiccup, usually in its Virginia availability zone, half the American internet’s most popular sites go down.  The NSA and other countries’ intelligence agencies are up the telcos’ asses with eavesdropping, and sites are being shut down by ICE and the FBI.  Virtually the only site that has remained impervious to government attacks has been The Pirate Bay, which is constantly coming up with new ways to thwart efforts to shut it down, primarily through redundancy and distribution.  Torrenting has almost become a political act, even though it’s a resilient model for an unevenly distributed modern-day internet.

Social networks are walled gardens.  Twitter, a darling, was caught by the more traditional walled garden peloton, and is now locking down its data, after having, at one point, a role model API.

At some point we will have IPv6, which, thankfully after Windows has gone through some lengths to secure its OS, has been slow to roll out so far, but which will eventually allow any sensor, device, appliance, whatever to have its own internet-available unique ID, for better or for worse.

In Closing

Will be adding more to this periodically for a while; still got about 7 months or so left at ITP, plus there might be some stuff I overlooked.  What else do you think has been cool that you’ve seen lately?

Glitch: The Flip-Flop Technique

For our final Glitch class, our assignment was to employ the flip-flop technique, as described by Robin Sloan.  Technically, our job was to glitch something by flipping it between the analog and digital x times, or as Sloan says, “the process of pushing a work of art or craft from the physical world to the digital world and back again—maybe more than once”.

I decided to make a puzzle of it, to see if my idea would work.  First I had to put a file online, shorten it via bit.ly (to reduce encoding complexity in the QR code), and then generate a QR code for it.  Here’s the summation of that:

In order to do my flip-flop, one would need to graph out the x,y grid coordinates from a txt file onto graph paper. (ANALOG) Check out the text file here.  0,0 is the top-left of the 25×25 grid.

You can see it’s a 25×25 grid.  Once you draw out the pixel coordinates, you’ll get what appears to be a QR code.  Here’s my work, partially through it:

I wasn’t sure if this part would work, though in theory it should have.  When I first filled in the QR code on my graphing paper, neither Google Goggles nor QR Droid could detect the QR code.  Google Goggles found the closest match to be photo images of bathroom tile patterns.

Then, figuring my drawn QR code wasn’t precise enough, or perhaps dark enough, I erased my axis labels and filled in the square pixels with a black pen.  To my amazement, the QR code then worked in QR Droid! (DIGITAL)

I was surprised that it could pick up the code, because I started getting sloppy while filling in the squares, figuring I could just use the final product as some artistic hand-drawn rendering of a QR code.  Apparently though, QR codes, depending on encoding, can handle quite a lot of error, and correct for it.  Here’s some information about how its error correction works (thanks Neil).

One interesting project handling data error and error correction was our professor Kyle McDonald’s Future Fragments project, where he had other classmates encode messages into colored grid squares, then keep the printouts in their wallets for a summer, then decoding the blocks back into a message after the pieces of paper had been worn down a bit.

The QR code takes you to a bit.ly link, which forwards you to an image on my site, a reproduction of Caravaggio’s The Card Sharps, one of my favorite paintings. (DIGITAL)

 

The next task would then be to hand-draw the painting. (ANALOG)

Then you take a photo of it to auto-save to Google+ or upload to the cloud. (DIGITAL)

Then the final task would be to color in the drawing using Photoshop or another digital tool. (DIGITAL)

Here was my final product:

As a final test, I thought I’d see if I could run the drawings through glassgiant.com’s ASCII converter.  The results for my drawing were not too good, probably mainly because I did not make bold enough lines and outlines to make the ASCII conversion stark enough.  I also ASCII’d up the QR code (ink) and the original Caravaggio. (DIGITAL)

Note: along the way, I found this awesome site that has a QR code stencil generator, for making stencils in hobo code!

Anyway, that concludes my work for Glitch class.  Thank you Kyle McDonald and Jeremiah Johnson!  This ITP class was fucking kickass.

Understanding Genomes: Data Viz Tests for Galapag.us

My Understanding Genomes class with Yasser Ansari has been primarily about understanding the process of how DNA is replicated and how its encoding carries instructions for the building of life.  Our midterm is a fairly open-ended assignment for applying the DNA replication process to a project.  I decided I would do some tests for a person’s Galapag.user data object, in the form of a JSON object being displayed in various ways that allow for quick symbolic/artistic interpretation (which humans are good at) but also allow for quick deep dives into the data (which nerdy types like me who want to see more data on-screen at expense of simplified UI).

So, the first step is to set up a way to access the JSON object.  Right after the spring semester finished up, I had some free time before work started and so I began to port my PHP+MySQL Galapag.us code over to node.js+Express+MongoDB.  I still have a lot of work to do on that, but I can’t really work on that till next semester (AKA thesis semester).  Now, of course, because we use it at work, and there’s a class at ITP teaching it this semester, I’m interested in switching over to Python Flask+MongoDB, but I’m worried I might lose some time figuring out the quirks of that, versus just doing the quick-and-dirty with JavaScript.

Anyway, I’ve already set up some basics for a Galapag.user’s profile database model.  And for Nature of Code class last semester, I built a quick node.js Express server for sending a JSON object of a person’s characteristics (1-10 scales for creativity, strength, charisma, etc.) to a Processing sketch for my genetic crossings project.

So I combined the two models to create an expanded Galapag.user profile, which looks something like this below:
{ "status": "OK", "JSONtitle": "Profile Summary", "profile": [{ "_id": "xxx", "adjectives": "", "appearance": 10, "armSize": "38R", "bio": "test me", "bodyType": "average", "broken": "femur", "caffeine": "coffee", "charisma": 8, "chewNails": "never", "children": 0, "chineseSign": 2, "city": "Des Moines, IA", "coatSize": "38L", "creativity": 3, "discipline": 6, "dressSize": "N/A", "drink": 1, "drugs": 0, "education": 6, "entrepreneurialism": 1, "eyeColor": "brown", "eyewear": 0, "facebook": "", "facialHair": "none", "fillings": 1, "flickr": "", "formulaEducation": "", "foursquare": "", "freckles": "back", "gender": 1, "google": "", "gracefulness": 8, "hairColor": "blond", "hairLength": "short", "hairStyle": "shaved", "health": 6, "height": 66, "homeTown": "Des Moines, IA", "honesty": 3, "humor": 6, "income": 120000, "injuries": "", "instagram": "", "intelligence": 5, "legSize": "30", "linkedin": "", "liquidityInteraction": "", "loggedOnTotal": "", "luck": 8, "maritalStatus": "single", "money": 7, "nationality": "USA", "neckSize": "16 1/4", "occupation": "analyst", "personalityType": "ENTP", "pid": 99, "piercings": 0, "politics": "Republican", "prosthetics": "none", "race": 1, "religion": "Christian", "religiosity": 6, "responsibility": 6, "scars": 1, "sexuality": 0, "shoeSize": "9", "sign": 1, "smoke": 1, "stamina": 5, "strength": 6, "strengthFriend": "", "stress": 6, "suggestedBy": "", "surgeries": "", "talent_art": 2, "talent_math": 6, "talent_sports": 8, "tattoos": 1, "totalBooks": "", "totalCostWardrobePerson": "", "totalInteractions": "", "totalTransactions": "", "totalWardrobe": "", "trustBusiness": "", "trustFriendship": "", "twitter": "", "waistSize": "32", "website": "", "weight": 175, "wisdom": 3, "wit": 5, "xbl": "", "youtube": "", "zipCode": 85083, "claimed": true, "audited": false, "firstTime": false, "active": true, "joined": "xxx" }] }

To visualize the data, there are a couple things I’d like to focus on.  One, I don’t want it to be just another widget you put on your site (besides, does anyone have sites anymore?), and two, I want to emphasize the non-financial benefits of reputation, which is to say, Galapag.us would be great for dating or hiring, but it should really stick to a core of providing an alternative model of judging trust, reputation, and worth through non-financial actions such as being a good friend, a good citizen, self-sacrificing (or not, depending on your opinion of altruism), whatever.

The point is that everyone has his own opinion of what makes someone else valuable, and Galapag.us needs to be a system that does not favor one system over another.  Granted, I think Galapag.us will have its own core values, which I’m hoping will be built upon the company’s DNA, of its founders, but it will also allow for alternate models created by, for example, the average expectations of the entire Galapag.userbase, or hopefully, the aggregate beliefs of different regions, countries, cultures, etc.

Anyway, back to the assignment.  DNA transcription, translation, and replication are essentially protocols for the secure passing of information.  Biology has created a highly reliable process for this.  Humans have developed less reliable processes for the passing along of cultural information, less reliable because the processes rely on generations of humans adhering to the cultural norms and traditions and taking the time to teach it to the next generation.  But look what beautiful things humans have done to pass along generations of information quickly:

Maori facial tattoos (ta moko) were often used to denote one’s place in society, based on positional rules.  From this blog post:

 For men, the Moko showed their rank, their status and their ferocity. The which is generally divided into eight sections :
1. Ngakaipikirau (rank). The center forehead area
2. Ngunga (position). Around the brows
3. Uirere (hapu rank). The eyes and nose area
4. Uma (first or second marriage). The temples
5. Raurau (signature). The area under the nose
6. Taiohou (work). The cheek area
7. Wairua (mana). The chin
8. Taitoto (birth status). The jaw

Something I’m more familiar with, American military uniforms, which allow soldiers who have never seen each other to immediately know someone else’s rank, achievements, stature, etc.  Here’s General Petraeus:

American children are primed for the military uniform (which is now full of symbology invisible to most Americans because of the small percentage of people who actually serve in it) through their Boy/Girl Scout uniforms:

These are individual displays of conformity into cultural systems and achievement within them.

But we also have ways of remembering those we’ve lost and loved.  Take, for example, the American quilt, which has traditionally been used to record family histories or American history, …

…but which not too long ago was used to create a massive remembrance of HIV/AIDS victims on the National Mall:

So how can I encode profile information in such a way that it’s visually appealing, culturally useful, and statistically informative?  To be honest, I have no clue.  It’s not something I’m strong at.  What I’m hoping is to have a few different options available, but to also just put up the API for proper designers to build their own interpretations, something that’s more in keeping with an open-ended system.  Yes, it is likely that no one at all would ever use Galapag.us, particularly any developers, but I think what’s important is to build a simple API for people (including internally at Galapag.us) to interact with.

Here are some visualizations I already made in the past:

So if I were going to come up with a new visualization that could be displayed in various mediums (on clothing, on sites, badges, business cards, etc.), there doesn’t necessarily need to be any order or logic if I am looking to create something cool aesthetically with the data, but it could help, with minimal cost.

In thinking about Galapag.us and a holistic reputation system, I thought that one would need to find universal constraints.  The first constraint I thought applied to all things, and people, rich and poor, good and bad, was time.  As Arnold Schwarzenegger and other motivators would say, there are only so many hours in a day in order to be great.  No matter how important or unimportant we are, we all only have 24 hours a day to do things.  How do we use that time while we’re alive?  How much time have we invested into different aspects of our lives?

At the same time, there are qualities and characteristics about people and things that require no time to develop or improve or grow into.  It doesn’t take you time to develop kindness, or honesty, or whatever.  You either are at any particular point in time, or you’re not.  These are binary instances, which may vary over time (most people go through periods of both).  If you took a snapshot at any point in time, you would be either one or the other.  Contrast this (and all its inherent inconsistencies) with, say, having gone through college.  It takes 4 years, usually, to get a degree.  Being a college graduate is something that took time to develop.

So time is one dimension. The other one, for better and for worse, is money.  What is your opportunity cost of spending x hours doing something?  If you become a surgeon, you have to spend maybe 6 years and a ton of money for med school.  But afterwards you end up healing sick, weak people.  If you take out loans now, you are going into debt in the present in order to earn far more money and reputation in the future.  What if you wanted to start a family in the meantime, but had to wait?  What if you had to leave your country in order to go to med school?  What if you couldn’t leave your country because of warfare or poverty?  So time versus money is a construct that we’re all in some form or another a part of.

Note that setting up time versus money does not imply that richer or more productive people are better.  It just places events on a chart.  So, I could still say that you could be a productive person even if you had no money, or you could be completely lazy and rich, but it doesn’t condemn you to being “good” or “bad”.

What if I set up this chart?

This, above, is perhaps a chart that shows the objectivist vs. altruist debate.  Should you be the best person you can be, but only for yourself (“selfishness”, in Ayn Rand’s use of the word), or is that utility also dependent on how much you’re useful to people outside of yourself? (if we added a time vs. money vs. health dimension here, we could map altruism vs. selfishness better)

Are the charts biased by going down and to the right?  Or up and to the right?  Does that imply, because of the way we learn mathematics (positive x, y graphs) that heading further out up/down to the right is “success”?

So I’m already seeing that even in displaying data in order, there are a lot of issues with bias, implication, and categorization.  Would it be better to have a visualization where a core self starts in the middle, and branches head outwards to denote connections with people outside oneself?

Let’s try to visualize the above JSON object.  Oh, and did you know that a Pokemon’s “personality value” is captured into a 32-bit unsigned integer in computer memory? (e.g. a binary 2^32 number)

Here’s a simple grid, with transparency based on the 1-10 scale of each characteristic.

The next is a line of squares, separated by category (mind, heart, body), with opacity again representing the 1-10 scale:

A background repeated pattern of the first grid:

The last one charts outwardness and utility for two separate people.  The opacity represents the outward importance of the characteristic (i.e. intelligence is not very outwardly useful to other people) while the length of the bar represents the utility to the individual.  The two peoples’ bars are next to each other (i.e. the first bar is person 1’s intelligence, the second bar is person 2’s intelligence, the third bar is person 1’s strength, etc.).

What I like about the chart below (obviously it’s still not very clear) is that you can find the average utility vs. outwardness (the middle white line) and chop off the baseline, to find the spikiness of the person’s outward utility to the world.  If the data were better represented, you could also get a better sense of who is more “visible” in the world based on his characteristics, and who tends to be overshadowed, literally.

I didn’t have enough time to do more complicated visualizations, plus Processing is not the best thing for working with hashmapped/databased data.  I would rather be using Python or JavaScript to compare two different users’ data across different dimensions. Here’s a gist of my Processing sketch:

Glitching in Processing

Some more stuff from my Glitch class, which ends next week. :/  My impression of the class is that, though most people (including, perhaps, my professors) may believe glitch-alike and glitch aesthetic are passing fads that move way too fast in the transition to some future styles of art, that Glitch is some of the most fascinating artwork I’ve seen in a long, long time.  I never really want to see any more old paintings of Christian-themed stuff, nor the post-modern Christian-themed shock art, and painting and drawing and sculpture are sort of done with, with hipsterish 8-bit and old video game-style art being too nostalgic from people who are still too young.  In terms of artists pushing boundaries, criticizing the system, and making a commentary on society, it’s hard to think of a better place for art than a world where people are learning how things work, then reprogramming them to either subvert the original intent or to distort it in a way which undermines the rigidity and order of large, interconnected, imposing data/network/bureaucratic systems.

Anyway.  In our last assignment, we all had to create an algorithm in Processing which could be used to distort an image, so that we could all put our algorithms together and output the results next to each other for comparison.

For my algo, I took Kyle McDonald’s algo which broke out an image into a grid of pixels.  Then I figured I could weave in another image by using modulus (%) arithmetic, an easy programming trick, to intersperse pixels at specific places into the canvas.  Then I also decided to take the original image’s pixels and map it on upside-down onto the image.  The original:

The result:

The algo:

PImage vt520_1(PImage img) {
  PImage img2 = loadImage("flag.jpg");
  img2.loadPixels();
  int n = img.width * img.height;
  for (int j = 0; j < n; j++) {
    color cur = img.pixels[j];
    color cur2 = img2.pixels[j];
    int r = int(red(cur)), g = int(green(cur)), b = int(blue(cur));
    int off = j*10&(j>>20)|j*3&(j*5>>15); // miiro
    off %= 256; // don't let the offset overflow
    if (j%2==0) {
    img.pixels[j] = color(0, 0, g^off, 0);
    }
    else if (j%3==0 || j%7==0) {
      img.pixels[j] = cur2;
    }
    else  {
      img.pixels[n-j-1] = color(r^off, 0, 0);
    }
  }

  return img;
}

Interestingly, because I was using modulus arithmetic, this resulted in the image changing in some applications because of the way they scale images down to certain sizes.  Some other views of the image:

Should have an image of all the algos working together at some point soon…  Classmates came up with some pretty amazing stuff!

Epler’s:

Guilherme’s:

Then our in-class assignment was to go out on the cloud and try to break services or get banned.  I liked this trick on Facebook by Hanna Kang-Brown, just using extended characters:

Breakout Glitch

Our task in Glitch this week was to glitch Steph Thirion‘s Breakout code written in Processing, using an hour to see what we could come up with.

Here’s a vid of Super-Breakout:

My result:

I didn’t feel like it was destructive or additive; mainly I was just tweaking values with randomization, and then rotated it a bit, which would need further tweaking to have more of it on-screen.

Github gist: https://gist.github.com/3835687

Though I did find this pretty cool glitchiness written in Processing, by Amnon:

We had another assignment, which was to post screenshots of our crash reports.  Here’s mine, from doing my Java homework in Eclipse (I think I had an infinite loop going or something):

And finally, my girlfriend tried to take a photo using her phone’s front-facing camera, but this kept happening:

Glitch Work

This is stuff from my ITP Glitch class.

One-Line-Code Music

We were introduced to one-line code that could generate music, as we studied Demoscene, which, among other things, tries to compact whole videos into ridiculously few lines of code by using generative algorithms and mathematics.   This can be said to create computationally minimal art.  A few users began to dabble in making music in this way (read this and this).

Videos of the captured music plus the code that generated them:

Here’s what I came up with, entitled, “Invaders”, via a link to the site.  Or, below, an MP3 w/ HTML5:

Your browser does not support the audio element.

The examples from the blogs are much richer, more refined, and more varied than mine is.  Mine sounds great, but it’s simplistic, and sounds mathematically generated as opposed to crafted.

Here’s the visual representation of the formulae, from the site:

But hey, try your hand at making this music!  The web site for it is super easy to use!

Number Generator

I might have overthought this part of the assignment.  I liked Epler’s random number generator which counts the number of chewing gum stains on squares of sidewalk.  But I couldn’t think of something in my daily life that’s actually random.

In NYC, not only is it a grid-like city full of regular systems (crosswalk signals, daily work day routines, structured lanes and processes), but that oppressiveness of systems (if you want to see it that way) is relentless against things which do not go with the flow.  Side note: perhaps this makes it a reliable medium for different industries and cultures to interact with each other in a standardized way.

Anyway, I also had a problem with this task because computers do randomization better than nature does.  Nature is full of systems as well.  It can be highly regular and predictable, even if it has long seemed like chaos to us.  Computers, however, can give you a reliable distribution of truly randomized numbers, if they are given enough input noise to counteract any regularity in computers’ signals.

So, why do this task if code can do it any which way you like?

That said, I talked with my girlfriend and we came up with something suitable: counting the number of fallen leaves per hour in a day.  While wind and time of year may affect day-to-day numbers, within the hour or smaller segments the variance is large enough to come up with reasonable frequent and random data.

It surprised me how regular any “random” data is.  You could come up with any predictive range for many “random” numbers, such as counting people carrying coffee cups, women in skirts or jeans, number of people entering a store (which, I learned recently, big department stores have very accurate software motion-tracking to calculate for them).

We live in a world of systems which drastically affects our lives.  We’re used to it, of course, but it reminds me of a book we had to read for my globalization class at Georgetown, which talked about the Meiji Restoration in Japan, putting Japan onto the western calendar and causing massive cultural upheaval to a culture which did not rely on regularized numerical calendar dates.

Glitch-Aesthetic