Issuu on Google+

Occupy


/* ArresteeViewController.h LegalObser ver App Cr eat ed by Dash Br it t ain on 10/30/11. */ #import <UIKit/UIKit.h> @class LOArrestee; @interface ArresteeViewController : UITableViewController { LOArrestee *arrestee; BOOL loaded; } @property (nonatomic, retain) LOArrestee *arrestee; @end /* ArresteeViewController.m LegalObserver Created by Dash Brittain on 10/30/11. */ #import "ArresteeViewController.h" #import "LOArrestee.h" #import "LOTableViewCell.h" #import "LOAppDelegate.h" #define SECTION_ID_JAIL_INFO 0 #define SECTION_ID_GENERAL_INFO 1 #define SECTION_ID_NOTES 2 @implementation ArresteeViewController @synthesize arrestee; - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { // Custom initialization self.title = @"Person Info"; } return self; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; // Uncomment the following line to preserve selection between presentations. // self.clearsSelectionOnViewWillAppear = NO; // Uncomment the following line to display an Edit button in the navigation bar for this view controller. // self.navigationItem.rightBarButtonItem = self.editButtonItem; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // LOTableViewCell *cell = (LOTableViewCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; // [cell.textField becomeFirstResponder]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return YES; return (interfaceOrientation == UIInterfaceOrientationPortrait); } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 3; } -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { if (section==SECTION_ID_JAIL_INFO) return @""; else if (section==SECTION_ID_GENERAL_INFO) return @""; else if (section==SECTION_ID_NOTES) return @"Notes"; return @""; } -(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section { if (section==SECTION_ID_JAIL_INFO) return @"Above information is necessary to find an arrestee in jail."; else if (section==SECTION_ID_GENERAL_INFO) return @""; else if (section==SECTION_ID_NOTES) return @""; return @""; } (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. if (section==SECTION_ID_JAIL_INFO) return 3; else if (section==SECTION_ID_GENERAL_INFO) return 5; else if (section==SECTION_ID_NOTES) return 1; return 0; } (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section==SECTION_ID_NOTES) return 100; else return 45; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; int style = UITableViewCellStyleDefault; if (indexPath.section == SECTION_ID_JAIL_INFO) style = TABLE_CELL_STYLE_FORM; else if (indexPath.section == SECTION_ID_GENERAL_INFO) style = TABLE_CELL_STYLE_FORM; else if (indexPath.section == SECTION_ID_NOTES) style = TABLE_CELL_STYLE_NOTE; LOTableViewCell *cell = nil;//[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[LOTableViewCell alloc] initWithStyle:style reuseIdentifier:CellIdentifier]; cell.object = arrestee; } if (indexPath.section==SECTION_ID_JAIL_INFO) { if (indexPath.row==0) { cell.titleLabel.text = @"First Name"; cell.textField.placeholder = @"First Name"; cell.textField.text = arrestee.firstName; cell.key = @"firstName"; if (!loaded) { /* [cell.textField becomeFirstResponder]; */ loaded = YES; } } else if (indexPath.row==1) { cell.titleLabel.text = @"Last Name"; cell.textField.placeholder = @"Last Name"; cell.textField.text = arrestee.lastName; cell.key = @"lastName"; } else if (indexPath.row==2) { cell.titleLabel.text = @"Birthdate"; cell.textField.placeholder = @"Birthdate"; cell.textField.text = [LOAppDelegate stringFromDate:arrestee.birthDate withTime:NO]; cell.key = @"birthDate"; cell.showTime = NO; cell.isDate = YES; } } else if (indexPath.section==SECTION_ID_GENERAL_INFO) { if (indexPath.row==0) { cell.titleLabel.text = @"Nickname"; cell.textField.placeholder = @"Nickname"; cell.textField.text = arrestee.fullName; cell.key = @"fullName"; } else if (indexPath.row==1) { cell.titleLabel.text = @"Age"; cell.textField.placeholder = @"Age"; cell.textField.text = arrestee.age; cell.key = @"age"; } else if (indexPath.row==2) { cell.titleLabel.text = @"Address"; cell.textField.placeholder = @"Address"; cell.textField.text = arrestee.address; cell.key = @"address"; } else if (indexPath.row==3) { cell.titleLabel.text = @"Phone"; cell.textField.placeholder = @"Phone"; cell.textField.text = arrestee.phone; cell.key = @"phone"; } else if (indexPath.row==4) { cell.titleLabel.text = @"Email"; cell.textField.placeholder = @"Email"; cell.textField.text = arrestee.email; cell.key = @"email"; } } else if (indexPath.section==SECTION_ID_NOTES) { cell.textView.text = arrestee.notes; cell.key = @"notes"; } return cell; } /* // Override to support conditional editing of the table view. - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return YES; } */ /* // Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // Delete the row from the data source [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view } } */ /* // Override to support rearranging the table view. (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { } */ /* // Override to support conditional rearranging of the table view. - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the item to be re-orderable. return YES; } */ #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [(LOTableViewCell*)[tableView cellForRowAtIndexPath:indexPath] didSelectCell]; // Navigation logic may go here. Create and push another view controller. /* <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil]; // ... // Pass the selected object to the new view controller. [self.navigationController pushViewController:detailViewController animated:YES]; */ } @end /* CopViewController.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> @class LOCop; @interface CopViewController : UITableViewController { LOCop *cop; BOOL loaded; } @property (nonatomic, retain) LOCop *cop; @end /* CopViewController.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "CopViewController.h" #import "LOTableViewCell.h" #import "LOCop.h" #define SECTION_ID_GENERAL_INFO 0 #define SECTION_ID_WEAPONS 1 #define SECTION_ID_NOTES 2 @implementation CopViewController @synthesize cop; - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { // Custom initialization self.title = @"Cop Info"; } return self; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; // Uncomment the following line to preserve selection between presentations. // self.clearsSelectionOnViewWillAppear = NO; // Uncomment the following line to display an Edit button in the navigation bar for this view controller. // self.navigationItem.rightBarButtonItem = self.editButtonItem } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return YES; return (interfaceOrientation == UIInterfaceOrientationPortrait); } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 3; } -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { if (section==SECTION_ID_GENERAL_INFO) return @""; else if (section==SECTION_ID_WEAPONS) return @"Weapon Checklist"; else if (section==SECTION_ID_NOTES) return @"Notes"; return @""; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. if (section==SECTION_ID_GENERAL_INFO) return 3; else if (section==SECTION_ID_WEAPONS) return 7; else if (section==SECTION_ID_NOTES) return 1; return 0; } (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section==SECTION_ID_NOTES) return 100; else return 45; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; int style = UITableViewCellStyleDefault; if (indexPath.section == SECTION_ID_GENERAL_INFO) style = TABLE_CELL_STYLE_FORM; else if (indexPath.section == SECTION_ID_WEAPONS) style = TABLE_CELL_STYLE_PERSON; else if (indexPath.section == SECTION_ID_NOTES) style = TABLE_CELL_STYLE_NOTE; LOTableViewCell *cell = nil;//[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[LOTableViewCell alloc] initWithStyle:style reuseIdentifier:CellIdentifier]; cell.object = cop; } if (indexPath.section==SECTION_ID_GENERAL_INFO) { if (indexPath.row==0) { cell.titleLabel.text = @"Name"; cell.textField.placeholder = @"Name"; cell.textField.text = cop.fullName; cell.key = @"fullName"; if (!loaded) { /* [cell.textField becomeFirstResponder]; */ loaded = YES; } } else if (indexPath.row==1) { cell.titleLabel.text = @"Badge #"; cell.textField.placeholder = @"Badge #"; cell.textField.text = cop.badgeNumber; cell.key

= @"badgeNumber"; } else if (indexPath.row==2) { cell.titleLabel.text = @"Rank"; cell.textField.placeholder = @"Rank"; cell.textField.text = cop.rank; cell.key = @"rank"; } } else if (indexPath.section==SECTION_ID_WEAPONS) { if ([[cop.weaponArray objectAtIndex:indexPath.row] boolValue]) cell.accessoryType = UITableViewCellAccessoryCheckmark; else cell.accessoryType = UITableViewCellAccessoryNone; if (indexPath.row==0) { cell.textLabel.text = @"Body Armor"; } else if (indexPath.row==1) { cell.textLabel.text = @"Shield"; } else if (indexPath.row==2) { cell.textLabel.text = @"Baton"; } else if (indexPath.row==3) { cell.textLabel.text = @"Gas Mask"; } else if (indexPath.row==4) { cell.textLabel.text = @"Pepper Spray"; } else if (indexPath.row==5) { cell.textLabel.text = @"Tear Gas"; } else if (indexPath.row==6) { cell.textLabel.text = @"Taser"; } } else if (indexPath.section==SECTION_ID_NOTES) { cell.textView.text = cop.notes; cell.key = @"notes"; } return cell; } /* // Override to support conditional editing of the table view. - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return YES; } */ /* // Override to support editing the table view. -


Three Word Chant Occupy Summer, 2012

Giles Corey Press (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // Delete the row from the data source [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view } } */ /* // Override to support rearranging the table view. - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { } */ /* // Override to support conditional rearranging of the table view. - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the item to be re-orderable. return YES; } */ #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // Navigation logic may go here. Create and push another view controller. [tableView deselectRowAtIndexPath:indexPath animated:YES]; [(LOTableViewCell*)[tableView cellFor-


Contributors

to Three Word Chant

tempeh, spinach, and a few flags for burning.” p. 18 “I’m Grant. I’m an expatriate in Daegu, Korea.” p. 23

“Greetings! My name is Jodie Austin and I’m from Humboldt County, California—an area known for its thriving agriculture as well as its proximity to “An aging lost boy they call Andrew, Oregon. I mostly prefer female proliving in a cowtown in the middle of a nouns; I confess to a not-so-secret obstate shaped like a heart. My nose is session with low-budget films set in often in a book, and my head is always the post-Apocalyptic future.” p. 24 in the clouds.” p. 8 “I’m John. I’m originally from Wauke“Ahoj, I’m Daniela from Oakland by sha, WI, Scott Walker’s favorite city, way of Ostrava, Czech Republic. I am but lately I've been studying and not attached to any gender pronouns. working around California, in Orange Currently I’m studying and writing County, Los Angeles, and now Oakabout where trauma & activism meet, land. I usually go by male pronouns, and poetry is where I make my home. but I'm not too picky. The last book I I support Occupy Oakland.” p. 16 finished reading was The Brief Wondrous Life of Oscar Wao, by Junot “Hello, my name is Sheryl, I’m from Díaz.” p. 29 Occupy Lompoc, a small town in the central coastal area of California. I “Oy! My name is Nigel, I’m a youngprefer female pronouns please. I am 54 ster from Colorado, raised in Carpinyears old and live on a tiny farm.” p. 17 teria and of Chumash ancestry. I use male pronouns, I hate olives, and my “Hey, my name isn’t important. I live passions include playing music, makin a crowded city, in an overpriced ing cultural references and listening to apartment that I share with two dogs, super-obscure 90’s Emo.” p. 34 one baby, and one human soulmate. I’d prefer to destroy gendered language, “Hello, my name’s JD and I’ve been and if I was going to a picnic, I’d bring occupying all over, although this piece

RowAtIndexPath:indexPath] didSelectCell]; int row = indexPath.row; BOOL b = [[cop.weaponArray objectAtIndex:row] boolValue]; [cop.weaponArray replaceObjectAtIndex:row withObject:[NSNumber numberWithBool:!b]]; [tableView reloadData]; /* <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil]; // // ... // // Pass the selected object to the new view controller. // [self.navigationController pushViewController:detailViewController animated:YES]; */ } @end /* GuideViewController.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> @interface GuideViewController : UITableViewController @end /* GuideViewController.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "GuideViewController.h" #import "TextViewController.h" #import "SupportViewController.h" @implementation GuideViewController - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { // Custom initialization self.title = @"Guide"; self.tabBarItem.image = [UIImage imageNamed:@"44-shoebox"]; } return self; } - (void)didReceiveMemory-


was first performed at Occupy London’s Bank of Ideas space. I don’t mind which gender pronoun you use and I’m real ambivalent about consensus decision making and hand gestures.” p. 36 “Hey y’all, my name is Bud Fielder and I’m from Unoccupy Everything and Ouroboros Ponderosa. I like to forage, plant fruit trees and hang out with the wingnuts in Ashland, Oregon. Please bring me roadkill, turquoise, tobacco, corn, buck knives, tools, seeds, sage, mushrooms, and apples. Thanks.” p. 39

“Hi, I’m Noah. I live in Oakland and I use male pronouns. I’m pretty bad at icebreakers.” p. 58 “I'm Roger. I’m from Amherst, and I’m a founding member of the Amherst Psychogeographical Society.” p. 54 “Hi, my name is Steve and I’m an editor for 3WC, so this is kind of cheating. I hail from Lompoc, CA—a lovely piece of Middle America grafted carelessly onto its end—and I prefer male pronouns, please. If I had a time machine, I would follow dinosaurs around and just stare.” p. 62

“My name is Hillary, I am from Occupy Albuquerque, NM. I now live in Asheville, NC on an urban farm with a pack of people, my partner, and a pitbull.” p. 45

“Hi, I’m Dash and I’m from Occupy Santa Barbara. Please use girl or gender neutral pronouns for me… and my favorite animal is the manatee because we both like lettuce.” passim

“Hello, my name is Cybil D. I live in Washington, DC. I prefer gender neutral pronouns, and I often have deep thoughts while riding public transportation.” p. 47

“My name is Kathleen. I’m from the city of Brisbane in Australia, a country that always was and always will be, Aboriginal land. I prefer female pronouns. I would describe myself as an anti-poetist poetess.” p. 65

“Hi! I’m Lisa coming from Occupy Lompoc, CA headed toward whatever Shreveport, LA holds for me. I prefer female pronouns and if my summer 2012 could be summed up in one tarot card, it would be the 8 of wands.” p. 52

Cover photo by Oliver/Hannah Murray.

Warning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; // Uncomment the following line to preserve selection between presentations. // self.clearsSelectionOnViewWillAppear = NO; // Uncomment the following line to display an Edit button in the navigation bar for this view controller. // self.navigationItem.rightBarButtonItem = self.editButtonItem; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return YES; return (interfaceOrientation == UIInterfaceOrientationPortrait); } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView


Three Line Chants

by Gin Chow

We posted our call for submissions on anarchistnews.org. The first comment was “You lost me at ‘even your poems’”. Then someone grabbed from our site our haiku for Lompoc: Zipped up hoody Fighting against the wind Only one cloud

Like prions, all subsequent comments turned into burma-shave haikus. Here are a few of our favorites. All were left anonymously. On anarchistnews anons leave haiku comments laughing to themselves

What else can we do? Look at riots on tumblr. Dumpster more bagels.

Jensen fucks salmon Zerzan trolls him heartily Lierre has her stare.

‘Attack to the void!’ But I’m Foucauldian Only more power.

*)tableView { // Return the number of sections. return 2; } -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { if (section==0) return @""; else if (section==1) return @"Legal Observer Guide"; return @""; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. if (section==0) return 3; else if (section==1) return 3; return 0; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } // Configure the cell... cell.selectionStyle = UITableViewCellSelectionStyleGray; if (indexPath.section==0) { if (indexPath.row==0) { cell.textLabel.text = @"How To Use This App"; } else if (indexPath.row==1) { cell.textLabel.text = @"Disclaimer"; } else if (indexPath.row==2) { cell.textLabel.text = @"Support & Feedback"; } } else if (indexPath.section==1) { if (indexPath.row==0) { cell.textLabel.text = @"Overview"; } else if (indexPath.row==1) { cell.textLabel.text = @"Filming


Some say Mayday will be fun but Iwill just count syllables instead.

Iwant to revolt, tear it all too shreds…but then no more coffee beans?

Social relations Are haikus for vast masses How spectacular.

Micro-Cyberwar Anonymous Hacktivists Rattling Sabres

Can’t stop the chaos ofanti-everything poems. What side are you on?

Iam serious. Poems aren’t anarchy. Only broken windows count.

And of course: You asked for these poems, Three World Chant, but you will not publish them. Ibet.

Cops"; } else if (indexPath.row==2) { cell.textLabel.text = @"What to Note"; } else if (indexPath.row==3) { cell.textLabel.text = @"Blah Blah"; } else if (indexPath.row==4) { cell.textLabel.text = @"Blah Blah"; } } cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; return cell; } /* // Override to support conditional editing of the table view. (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return YES; } */ /* // Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // Delete the row from the data source [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view } } */ /* // Override to support rearranging the table view. - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndex-


Ghost Stories & Nightmares

by Andrew Culp

I. Occupy Let's begin with two stories from the first weeks of the Occupy protests in New York City. First, look back to the first media presentations of Occupy Wall Street in downtown Zuccotti Park. CNN's Erin Burnett, for instance, posed the question, “What are they protesting?” in her segment “Seriously?!” And what did Burnett decide they were protesting? “Nobody seems to know.” And second, consider a gem in the outtakes from the FOX News show “On the Record.” The Occupy interviewee, dogged with the question of how he wants the protests to “end,” artfully refuses a direct response the question. How does he craft such a response? By the refrain that would become commonplace at many Occupy

assemblies: “As far as seeing it end, I wouldn’t like to see it end. I would like to see the conversation to continue.” In both instances, Occupy participants are asked questions from media spokespersons feigning ignorance. And by now, I am sure we each have come up with our own way to respond to this feigned ignorance. But many of our responses are insufficient. One tactic is to tack on one more impossible desire to the seemingly endless list of demands. Another is to gesture to the desire for a permanent revolution made popular by Trotskyites decades ago. While a third is to try to simplify things down to a few key points.

II. Ghost Stories Here, however, I would like to propose something much more profound: We should tell ghost stories.

Consider the conspicuous absence in labor history of Black workers in Jim Crow South. At first blush, it seems justified: the historical evidence points to less Black economic resistance "at the point of production"–e.g. collective organization of Black workers within a formal structure like a union. But when we look closer, there was a whole network of collective resistance that in-

Path toIndexPath:(NSIndexPath *)toIndexPath { } */ /* // Override to support conditional rearranging of the table view. - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the item to be re-orderable. return YES; } */ #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; NSString *filename = nil; NSString *title = nil; if (indexPath.section==0) { if (indexPath.row==0) { filename = @"howto"; title = @"How to Use This App"; } else if (indexPath.row==1) { filename = @"disclaimer"; title = @"Disclaimer"; } else if (indexPath.row==2) { SupportViewController *detailViewController = [[SupportViewController alloc] initWithStyle:UITableViewStyleGrouped]; [self.navigationController pushViewController:detailViewController animated:YES]; } } else if (indexPath.section==1) { if (indexPath.row==0) { filename = @"overview"; title = @"Overview"; } else if (indexPath.row==1) { filename = @"filming"; title = @"Filming Cops"; } else if (indexPath.row==2) { filename = @"notes"; title = @"What to Note"; } } if (filename) { TextViewController *detailViewController = [[TextView-


Ghost Stories & Nightmares /9

tentionally avoided the strategies of outspoken, formal organizations preferred by the white workers of the time.

The moral economy describes the economic consciousness of working class people as they face the humiliation of everyday work. For example, before the eighteenth century, dock For evidence of this ‘hidden network,’ workers in London dipped into tojust look at the words of a frustrated bacco cargoes for personal use; farmemployer remarking on the “servant ers used common lands for hunting problem” in the South: and grazing; and shipwrights, caulkers, and other laborers brought home extra the washerwomen…badly damaged wood. For years afterward, workers clothes they work on, iron-rusting them, continued to take things from work. tearing them, breaking offbuttons, and Through laws, however, merchants and burning them brown; and as for starch! magnates slowly made every one of — Colored cooks, too, generally abuse these practices illegal. In response, stoves, suffering them to get clogged with workers continued their age-old pracsoot, and to “burn out” in halfthe time tices, but now under the threat of unthey ought to last. employment, jail, deportation to the “New World,” or even death. From our historical vantage point, it seems obvious that these were acts of Jim Crow South was no different, in sabotage. But Southern Whites blamed that it also had a “moral economy.” such problems on Black inferiority. But the specifics were set on a differTherefore, what Whites dismissed as ent terrain due to the nature of the Black unreliability and ignorance in- work undertaken by Black workers. As directly offers perspective into forms one Southern domestic worker deof resistance hidden from the eyes of clared, “We don’t steal; we just ‘take’ their White employers. This also raises things—they are a part of the oral a question of method. If we simply contract, exprest [sic] or implied. We skim the historical record for organiz- understand it, and most of the white ations, we would simply pass over this folks understand it.” To which one important piece of working class his- employer put, “When I give out my tory. Fortunately, English labor histori- meals I bear these little blackberry ans have long looked for informal pickaninnies in mind, and I never resistance, and have given it the name wound the feelings of any cook by “moral economy.” asking her ‘what that is she has under

Controller alloc] initWithTextFileName:filename]; detailViewController.title = title; [self.navigationController pushViewController:detailViewController animated:YES]; } } @end /* IncidentListViewController.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> @interface IncidentListViewController : UITableViewController <UINavigationControllerDelegate> { NSMutableArray *incidentArray; } -(void)addNewIncident; @end // /* IncidentListViewController.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "IncidentListViewController.h" #import "LOAppDelegate.h" #import "LOIncident.h" #import "IncidentReportViewController.h" @implementation IncidentListViewController - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { // Custom initialization self.title = @"Incidents"; self.tabBarItem.image = [UIImage imageNamed:@"10-medical"]; } return self; } -(void)addNewIncident { LOIncident *i = [[LOIncident alloc] init]; i.title = @"New Incident"; i.date = [NSDate date]; [incidentArray insertObject:i atIndex:0]; [self.tableView reloadData]; IncidentReportViewController *detailViewController = [[IncidentReportViewController


her apron.”

factory to utopian visions of a life free of difficult wage work.” (Kelley)

The moral of this story? Workplace theft is a strategy employed historically Concealed actions make up a “hidden to make up for low or unpaid wages, transcript” of resistance not meant to and win back some dignity. be seen or understood by employers. Think of knocking on your boss beIII. What Makes a Ghost? hind his back, or writing obscenities about the company on a bathroom We know that one does not survive on stall. scraps alone. So, what is it that makes strategies like pan-toting and slow- With that hidden transcript as our downs effective? It is my contention guide, I propose that: it’s time for more that their success came from being ghost stories. We need to look to the partially, if not completely invisible. stories that hide in the shadows. Which is why workers conceal or lie Shadows that heighten anything that when the bosses get wise, less they risk could not withstand the sharp tongues compromising the whole strategy. of public scrutiny. We can draw our advice from those who already know Consider tobacco workers in North the value of shadows. Aesthetes say Carolina. Work was divided by gender, that dark lacquerware can draw out with men packing baskets of tobacco, the ‘depth’ of previously dull soups; or and women stemming it. Through a that slight variation in hue and signigive-and-take, if the black female ficant gradations of shadow and instemmer could not keep up, the men direct light, which to a western eye supplying the tobacco would pack the might first appear simplistic, can baskets more loosely. And on the fact- command a strong presence. So, to ory floor, where sitting and talking pose my proposition as a question: were generally banned, women would what are the ghost stories that we can sometimes break out in song. Why is tell about resistance that hides in the this significant? Because “Singing in shadows? unison not only reinforced a sense of collective identity but the songs them- As a suggestion, consider what philoselves—religious hymns, for the most sopher and literary critic Michel de part—ranged from veiled protests Certeau calls “wigging,” where emagainst the daily indignities of the ployees use company time and mater-

alloc] initWithStyle:UITableViewStyleGrouped]; detailViewController.incident = [incidentArray objectAtIndex:0]; [self.navigationController pushViewController:detailViewController animated:YES]; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; incidentArray = [LOAppDelegate getIncidentArray]; // Uncomment the following line to preserve selection between presentations. // self.clearsSelectionOnViewWillAppear = NO; // Uncomment the following line to display an Edit button in the navigation bar for this view controller. self.navigationItem.leftBarButtonItem = self.editButtonItem; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addNewIncident)]; self.navigationController.delegate = self; } -(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { [LOAppDelegate saveIncidentArray:incidentArray]; } - (void)viewDidUnload { [super viewDidUnload]; // Release any


Ghost Stories & Nightmares /11

ials for themselves, like calling friends, writing poetry. One might imagine a domestic worker who seizes time from work to read books from her employer’s library, not only taking back precious hours from her boss but resisting the total subordinated of their her to the laws of capital. Or more personally: every minute you spend on yourself or your family is a minute you are liberating the body you have leased to your employer.

telling Occupy ghost stories?

IV. Nightmares

Lately, academics have been throwing around a new buzzword. Like all buzzwords, it is repeated to the point of meaninglessness. And academics, being the fragile creatures they are, feel it necessary to use the term to prove their membership in some elite club, even if they are not sure what the term really means. The word is “imaWhat should this mean for us, by gination,” as in “political imagination” which I mean those thinking and talk- or “racial imagination.” It is my intening about the so-called Occupy Move- tion to take imagination, in all its ment? First, continue the Occupy vagueness as an idea, and give it a practice that ignores legislative victor- little meat. The way I will do so begins ies. Solidify the refusal to ‘sum up the with what the most studied aspect of movement’ in terms of policy our imagination: our dreams. changes—even those as important as “getting money out of politics.” Dreams exist as the left-overs of our Second, stop describing the movement waking life, or so a popular theory in the bureaucratic terms of the police goes. They are made up of those unand party managers. They only care processed bits of our day, ready to be about clarity of organization, collective worked out when the mind drifts into a identity, and the ability to mobilize relaxed state at rest. During our wakmasses. We care about things that are ing hours, the primary job of the mind not yet quantifiable in such easy terms is to filter and select. Every second, we (pleasure, desire, power). Lastly, find are bombarded with so many stimout new ways to constitute informal uli—sights, sound, smell, touch—that networks of solidarity and win back our mind rushes to keep up. The result our dignity, respect, and freedom. is a constant mental triage of the brilliant world around us, which requires So, to end with a provocation: how do us to take in a small sliver of details. we forget “telling it straight” and start But the information that makes up our

retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [self.tableView reloadData]; [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return YES; return (interfaceOrientation == UIInterfaceOrientationPortrait); } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. return incidentArray.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdenti-


dreams is quite a different mix.

hended follows a clear three-step process: it is understood, classified, and Consider for a moment what makes up then filed away. For politics to be truly your dreams. What is the texture of revolutionary, it must be excessive. It your dreams, what is the palette of should stick in people’s craw. It should sensations? Do you smell? How about keep them up at night. And most of see? What is it you touch? Now, ima- all, it should invade their dreams. gine the jump people immediately make when reflecting on their dreams. But most dreams are forgotten, and if “What did that dream mean?” they they are remembered, recall quickly usually ask themselves. But do you fades. Yet forgetting is a useful funcdream in meanings? In easy to locate tion, as most dreamwork removes our words? Of course not. In fact, dreams mental clutter by sweeping up the are not about meaning, or at least not cutting room floor and taking out the primarily. Rather, they are images and mental trash of the day. Snippets of feelings that do not depend on a spe- what remains are processed to allow us cific meaning-structure. To force to let it go without remembering meaning onto them is like asking to much, if any at all. But this is not true tree to explain to you its meaning in for all types of dreams. the world. Nightmares are a dream so intense, so So, what are dreams made of if not powerful, that they attacks the usual chains of meaning? Dreams are made flow of dreams. Rather than providing of what sticks to you; the things that a helpful way to let get and lose the you encounter and somehow stay with remainder of our day, they often imyou. Maybe the brilliant beauty of a pose themselves on reality. They strike flower, or the soft touch of your moth- at the heart of the night, force us er. Or even more profoundly, awake, and burn their memories even something too intense to process all at deeper into our consciousness. once. States and governments are acutely Dreams can serve as the basis for aware of the power of nightmares. politics for that very reason: dreams Neo-conservatism, for instance, rests are made up of things that exceed on a fundamental belief that fear mowhat is immediately classifiable. tivates people more than any other Everything that is immediately appre- emotion. We saw the drastic effects of

fier:CellIdentifier]; } // Configure the cell... cell.selectionStyle = UITableViewCellSelectionStyleGray; LOIncident *incident = [incidentArray objectAtIndex:indexPath.row]; cell.textLabel.text = incident.title; cell.detailTextLabel.text = [LOAppDelegate stringFromDate:incident.date withFormat:@"h:mma"]; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; return cell; } // Override to support conditional editing of the table view. - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return (self.isEditing); } // Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // Delete the row from the data source [incidentArray removeObjectAtIndex:indexPath.row]; [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view } } // Override to


Ghost Stories & Nightmares /13

this after 9/11, when nationalist ideologies fragmented the surging anti-globalization movement that had shut down the WTO and other massive global institutions. The color-coded Terror Alert system and “See Something, Say Something” campaigns reduced most of the US population to flag-waving ‘patriots’ willing to call domestic dissent “Anti-American.” But nightmares haunt the Left, too. Occupiers across the world have donned the Guy Fawkes mask made famous by a movie imagining a world of nightmares run amok. For some, it is a sign that “we’d never fall for this shit.” But for me, I think it demonstrates that the Left has yet to suss out a key distinction left over from a bad dream of our own: authoritarian communism.

the “wrong” side could get you blacklisted, jailed, or even assassinated. Whereas, when liberal capitalist democracies go bad, they are taken over by the crushing indifference of postmodern capitalism. “Right” and “wrong” cease to exist, and a terrible matrix of profit and power run our lives. We work more, love less, and slowly realize that nobody cares about truth, only influence. With a little dreamwork, however, I think the Left can turn this nightmare into a pleasant dream. We can recognize what mix of state power we must confront, and find the tools to dismantle it. To begin the process, I have provided a few thought experiments for our “screams and dreams.”

(1) Think to the “chasing” type of dreams. If you need something more One of the biggest misunderstandings colorful, I always think of the surrealist in the Left today arises from an inabil- scene in the Coen Brother’s Big Leity to distinguish between the two bowski where The Dude is chased by a dominant forms of state author- man in a huge red suit wielding an ity—between (1) bureaucratic socialist enormous pair of scissors. Ok. Now, states & (2) liberal capitalist democra- conjure in yourself the feeling of being cies. In particular, the problems that chased. Spend a few moments creating arise when each one of those forms of the scene. power ‘go bad.’ When bureaucratic socialist states go bad, they turn into Next, close the scene and consider a single-party police states. In these few questions: Do you know what it is? states, an iron-trap “right” and Is there a clear reason why it is chas“wrong” way is created, and being on ing you?

support rearranging the table view. - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { int from = fromIndexPath.row; int to = toIndexPath.row; if (to != from) { id obj = [incidentArray objectAtIndex:from]; [incidentArray removeObjectAtIndex:from]; if (to >= [incidentArray count]) { [incidentArray addObject:obj]; } else { [incidentArray insertObject:obj atIndex:to]; } } } // Override to support conditional rearranging of the table view. - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the item to be re-orderable. return YES; } #pragma mark - Table view delegate (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // Navigation logic may go here. Create and push another view controller. IncidentReportViewController *detailViewController = [[IncidentReportViewController alloc] initWithStyle:UITableViewStyleGrouped]; detailViewController.incident = [incidentArray objectAtIndex:indexPath.row]; // ... // Pass the selected object to the new view controller. [self.navigationController pushViewController:detailViewController animated:YES]; } @end /*


Now is time for an analysis. Were you able to identify who or what was chasing you? Maybe not. In a police state, like North Korea, Burma, the symbols of authority are omnipresent and easily recognizable through icons, monuments, and statues. Yet where you live, those symbols have probably faded into the background. Instead, they have been replaced by a faceless system, which obscures the identity of those who might be chasing after you.

Which brings me to the second experiment, which is the first step away from the conspiracy of men toward a politics of general hostility:

We can therefore diagnose the terror causing nightmares in the Left's political imagination: we are being chased, but we do not know by whom. More specifically: in our age of cybernetic capitalism, threats exist as a general environment that is hostile to us—with the risks of cancer everywhere, where every business is looking to make a profit off of you, especially the “buy local” retailers set up in yuppie parts of town— not from the conspiracy of a

Now think: how can we overcome the politics of fear? As I mentioned earlier, nightmares seem to be much more powerful than other dreams. But, if we are really to succeed, we need to unlock the power of higher emotions: comfort, love, cooperation—the things that will make up a future we can believe in. And second, imagine what it is going to take for you, as a person, to believe in those better emotions, and what it will take to make this shift nationally, globally, and beyond.

few bad men.

(2) Recall an especially influential film, book, speech, or conversation from your life. Consider, what made it so transformative? Did it active your more reptilian emotions of fight & flight, security & survival, or was it more aspirational, loving, or beautiful?

The challenge is to develop a new politics. Like a physician who carefully distinguishes between diseases in order to prescribe the right cure, we need to treat the right form of state power. Addressing the facelessness of liberal capitalist democracy by narrowly targeting a few symbols of power is not cure for our nightmares.

IncidentReportViewController.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> #import <MessageUI/MFMailComposeViewController.h> @class LOIncident; @interface IncidentReportViewController : UITableViewController <UITextFieldDelegate, MFMailComposeViewControllerDelegate> { LOIncident *incident; BOOL loaded; } @property (nonatomic, retain) LOIncident *incident; @end /* // IncidentReportViewController.m // LegalObserver // // Created by Roxanne Brittain on 10/30/11. // Copyright (c) 2011 Digifit. All rights reserved. */ #import "IncidentReportViewController.h" #import "LOIncident.h" #import "LOTableViewCell.h" #import "LOCop.h" #import "LOArrestee.h" #import "CopViewController.h" #import "LOAppDelegate.h" #import "ArresteeViewController.h" #define SECTION_ID_GENERAL_INFO 0 #define SECTION_ID_COPS 1 #define SECTION_ID_ARRESTEES 2 #define SECTION_ID_NOTES 3 #define SECTION_ID_EMAIL 4 @implementation IncidentReportViewController @synthesize incident; - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { // Custom initialization self.title = @"Incident Report"; } return self; } - (void)didReceive-


Ghost Stories & Nightmares /15

Bibliography:

Sigmund Freud, The Interpretation of Dreams Sigmund Freud, “Femininity” Robin Kelley, “Shiftless of the World Unite!”, Race Rebels Jacque Lacan,“The Direction of the Treatment and the Principles of Its Power” Jean-Francois Lyotard, Discourse/Figure Douglas Rushkoff, “Think Occupy Wall St. is a phase? You don’t get it," New York Times, October 11, 2011

MemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark View lifecycle - (void)viewDidLoad { [super viewDidLoad]; // [self setEditing:YES animated:YES]; // Uncomment the following line to preserve selection between presentations. // self.clearsSelectionOnViewWillAppear = NO; // Uncomment the following line to display an Edit button in the navigation bar for this view controller. self.navigationItem.rightBarButtonItem = self.editButtonItem; LOTableViewCell *cell = (LOTableViewCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; [cell.textField becomeFirstResponder]; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.tableView reloadData]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOri-


San Francisco Sky

by Daniela Kantorova

In the bathroom at the Jung Institute I see a tiny laughing Buddha sitting in the windowsill, the leaves of the potted plant just above his head like echoes of the tree of life — And the Buddha, watching the rooftop parties in the early October sun continues laughing And the people, watching the fighter jets in clear blue skies performing tricks and stunts just above their heads — And me wishing I could hear the Buddha’s laughter louder than my rage

entation)interfaceOrientation { // Return YES for supported orientations return YES; return (interfaceOrientation == UIInterfaceOrientationPortrait); } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 5; } -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { if (section==SECTION_ID_GENERAL_INFO) return @""; else if (section==SECTION_ID_COPS) return @"Cops"; else if (section==SECTION_ID_ARRESTEES) return @"Involved People"; else if (section==SECTION_ID_NOTES) return @"Notes"; return @""; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. if (section==SECTION_ID_GENERAL_INFO) return 3; else if (section==SECTION_ID_COPS) return incident.cops.count+1; else if (section==SECTION_ID_ARRESTEES) return incident.arrestees.count+1; else if (section==SECTION_ID_NOTES) return 1; else if (section==SECTION_ID_EMAIL) return 1; return 0; } - (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section==SECTION_ID_NOTES) return


Occupy Lompoc

Occupy Lompoc /17

by Sheryl Reimers

I get hate and anger from the bullies in the newspaper, but no one has yet had the courage to come talk to my face about their opposition to my actions. I expect the hate and anger but it makes me sad. I try not to feel it in response. I just wish I could have a conversation with those angry and, I think, fearful people. After all, they are our neighbors. Lompoc, CA1, seems to be doing its best to conform to the definition of a “good city” and it seems to be trying to follow the rules—making middle class noise about jobs and tourism and all the right stuff. And yet I think I feel some real and strong undercurrents sometimes, they might be like my own: instead of being good obedient dogs and following the rules, to chew through the ropes and run down the road, barking and chasing cars, biting hands, and never coming when we’re called. Let’s be the outcasts everyone thinks we are. Occupy that.

[1] A small (pop. 40,000), semi-rural, town off the main highway on the Central Coast.

Occupy: I probably wouldn’t be involved if I didn’t live in the community I live in. Not that I am not interested in the movement, but that I am lazy. But my community needs me to stand up for it; or maybe some days sit down for it; perhaps one day lay down for it. My community is depressed and hated by many and I know the feeling. It needs my love and loyalty. I get love and loyalty back from the community Occupy has built.

100; else return 45; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; int style = UITableViewCellStyleDefault; if (indexPath.section == SECTION_ID_GENERAL_INFO) style = TABLE_CELL_STYLE_FORM; else if (indexPath.section == SECTION_ID_COPS) style = TABLE_CELL_STYLE_PERSON; else if (indexPath.section == SECTION_ID_ARRESTEES) style = TABLE_CELL_STYLE_PERSON; else if (indexPath.section == SECTION_ID_NOTES) style = TABLE_CELL_STYLE_NOTE; else if (indexPath.section == SECTION_ID_EMAIL) style = TABLE_CELL_STYLE_BUTTON; LOTableViewCell *cell = nil;//[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[LOTableViewCell alloc] initWithStyle:style reuseIdentifier:CellIdentifier]; cell.object = incident; } if (indexPath.section==SECTION_ID_GENERAL_INFO) { if (indexPath.row==0) { cell.titleLabel.text = @"Name"; cell.textField.placeholder = @"Name"; cell.textField.text = incident.title; cell.key = @"title"; if (!loaded) { // [cell.textField becomeFirstResponder]; loaded = YES; } } else if (indexPath.row==1) { cell.titleLabel.text = @"Date"; cell.textField.placeholder = @"Date"; cell.textField.text = [LOApp-


Occupy Fatherhood: Preliminary notes on riotous rupture & tummy time

Coming into my own politically, I was a product of Seattle, of Genoa and of Quebec City. Montreal, Ottawa, Washington, DC and York, Pennsylvania. For us in this time, the names embodied battles, not places. From my time as an organizer with by Abu Emory Philly’s anti-RNC committee and DC’s Anti-Capitalist Convergence, the skills I honed in the early years were more akin to military boot camp then a decisive, strategic orator. I learned to make lock boxes, monitor police formations, conceal a hammer, and roll a few dumpsters here and there. I May 2012: became an expert at surging, swarm…Begin secret communication… ing, (txt) mobbing, rioting and the like. From within a crowd we could emerge, I write this critical self-reflection on and after our attack, disappear into my role within Occupy and the broad- the same sea of blackness. er social war from an undisclosed location nestled in the American You’ve seen it all before if you’re old Midwest. I write to you today in secret, enough to read this. Civil disobedias I know that my comments will draw ence, property destruction, and the hit shouts from the loudest of our milieu; and run rhythm of running street the message board warriors and the clashes. In our days as young summit Tumblr wizards. I can hear them now, hoppers we chased Nazis out of towns, “apologist!,” “liberal sell out!” and so closed down economic summits, on. To those who would rather deride delayed politicians’ speeches, and set than consider, I say, ‘haters gonna free a hell of a lot of mink. We paint hate’ and there’s nothing more I care bombed Starbucks, window smashed to say. Bank of America, glued the locks of excavators and were at the receiving With that in mind, we can dive right end of rubber bullets from Miami to in. Palestine. We once closed down several city blocks when bombs fell on Iraq,

Delegate stringFromDate:incident.date]; cell.key = @"date"; cell.showTime = YES; cell.isDate = YES; } else if (indexPath.row==2) { cell.titleLabel.text = @"Location"; cell.textField.placeholder = @"Location"; cell.textField.text = incident.location; cell.key = @"location"; } } else if (indexPath.section==SECTION_ID_COPS) { if (indexPath.row==0) { cell.textLabel.text = @"Add New Cop"; } else { LOCop *cop = [incident.cops objectAtIndex:indexPath.row-1]; cell.textLabel.text = (cop.fullName && ![cop.fullName isEqualToString:@""]) ? cop.fullName : @"Unnamed Cop"; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; } } else if (indexPath.section==SECTION_ID_ARRESTEES) { if (indexPath.row==0) { cell.textLabel.text = @"Add New Involved Person"; } else { LOArrestee *arrestee = [incident.arrestees objectAtIndex:indexPath.row-1]; cell.textLabel.text = (arrestee.displayName && ![arrestee.displayName isEqualToString:@""]) ? arrestee.displayName : @"Unnamed Person"; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; } } else if (indexPath.section==SECTION_ID_NOTES) { cell.textView.text = incident.notes; cell.key = @"notes"; } else if (indexPath.section==SECTION_ID_EMAIL) { cell.textLabel.text = @"Email In-


Occupy Fatherhood /19

and led the first of its kind pro-ALF march in Manhattan during the World Economic Forum.

Though I was not an organizer with the Occupation, I was a frequent visitor, general assembly attendee, and occasional march participant. Though For those of us in our late twenties and I attended the councils alone and reearly thirties, this was our time. From frained from speaking, when it came 1999-2007 I saw my fair share of well- to the marches, we often attended as a attended, aggressive demonstrations. I family: myself, my partner and our indid my time in endless spokes coun- utero child. During street marches, the cils, in flex-cuffs, and chained together ‘siege of Sallie Mae’ and other assorted with PVC pipes. I’ve been arrested, agitations we were cautious, a bit unthrown out of countries and bloodied steady and unmistakably pregnant. more times than I’d like to recall. Oh how our roles change. For the new generation of college-aged revolutionaries, their time is now, the A few years before I would have been time of the Occupations—of the tak- at the front of the march helping to ing of public space. They too are pace it, on the periphery as a bike learning their skill sets. Facilitation, scout, or buried in the middle ready to consensus, DIY media, prefigurative pounce out and surge back in….either service delivery…all essential and all way I was mobile and on the attack. being well practiced. These too were Fast-forward to 2012 and we’re in the the skills I was taught alongside the back of the march, the very back, ustactical considerations of street com- ing a pregnant woman, and a toddler bat. I had the opportunity to see this in a stroller to keep cop cars from Occupy movement take shape and sus- compressing the march from the back. tain in Washington, DC where I live. The city had two sites for encamp- Oh how the times have changed for ment, but the one more akin to the this anarchist. larger international movement, was situated in McPherson Square within Do I still believe in making war with the city’s so called ‘K St. Corridor’ the State, with the use of one’s body as known as a home to powerful lobbies. ‘resistance to slow the machine?’ Hell The park that remains occupied to this yeah! I still believe in fire, rocks and day is only one block from the park the positive possibilities opened up by that borders the White House. a well-placed explosion. I still believe

cident Report"; } // Configure the cell... return cell; } // Override to support conditional editing of the table view. - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section==SECTION_ID_COPS || indexPath.section==SECTION_ID_ARRESTEES) return YES; else return NO; } -(UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section==SECTION_ID_COPS || indexPath.section==SECTION_ID_ARRESTEES) { if (indexPath.row==0) return UITableViewCellEditingStyleInsert; else return UITableViewCellEditingStyleDelete; } else return UITableViewCellEditingStyleNone; } // Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // Delete the row from the data source if (indexPath.section==SECTION_ID_COPS) [incident.cops removeObjectAtIndex:indexPath.row-1]; if (indexPath.section==SECTION_ID_ARRESTEES) [incident.arrestees removeObjectAtIndex:indexPath.row-1]; [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] with-


in the strategic utility of rushing police lines, breaking away from permitted marches and going all black. Head to toe. But despite these positions, I have accepted that our diverse roles in this revolution wax and wane in lock step with our lives.

the general assemblies and street actions, but more particularly, the larger reactions that these actions generated from neighbors, family, overhead strangers and the ‘uninvolved.’ With these conclusions in mind, my role became to urge us in this direction. When marching with the Occupiers I Now don’t get me wrong. I’m not tried to use my body strategically. We lamenting my place in life, looking at did our best to make the cops’ job as my young daughter with forlorn and difficult as possible, to make our achoping to find a babysitter so that I tions as antagonistic and confrontacan get back in the fray and be on the tional as the spirit of the marchers receiving end of a tear gas canister would allow. We were unmasked, unand truncheon. I still have my black armed and right in their faces. When Carhartts, still have my hard goggles their cars tried to push through our and my mini pry bar. Actualizing the crowds by passing on the periphery, street battles of social war is not the we fanned out, blocking their attempts. venue of the young, only the young at When the federal DHS shock troops heart; only those that are hopeful deployed in DC’s downtown area enough to believe that there is a tip- reached for their tasers, pistols and ping point, an insurrectionary moment chemical weapon cannons, my partner, and a time for revolution. bulging in her 3rd trimester of pregnancy, rushed forward with me at her When I see my role in Occupy reflect side. my new role as a father to my daughter and a partner to my soul mate, I During one particular action, our smile. With my new roles being negoti- small crowd of around 100 could be ated, I have attempted to influence the seen blocking the entrances to halls of direction the movement takes in some power. No it isn’t accurate to call it a obvious and more subterranean ways. “siege” as our movement’s scribes termed it, but it was certainly Occupy will either brand itself as anti- something to the left of passivity. It is State, anti-capitalist and pro-confront- here where I try to clarify my position. ation or become irrelevant. This was In a movement struggling to remain my conclusion after observing not only relevant, in a temporal space that can

RowAnimation:UITableViewRowAnimationFade]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view int row = 1; if (indexPath.section==SECTION_ID_COPS) { LOCop *cop = [[LOCop alloc] init]; [incident.cops addObject:cop]; row = incident.cops.count; } if (indexPath.section==SECTION_ID_ARRESTEES) { LOArrestee *arrestee = [[LOArrestee alloc] init]; [incident.arrestees addObject:arrestee]; row = incident.arrestees.count; } [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:row inSection:indexPath.section]] withRowAnimation:UITableViewRowAnimationAutomatic]; [self tableView:tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:indexPath.section]]; } } /* // Override to support rearranging the table view. (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { } */ /* // Override to support conditional rearranging of the table view. - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the item to be re-orderable. return


Occupy Fatherhood /21

not even assert itself to be anti-cop and counter to the farce of American electoral politics, what place does a anarchist have, even an anarchist such as myself who has withdrawn (for a time) from the barricades of our era?

nope. But it certainly does change you. I think the best way I have come to think of it is that it makes you think within a longer timeline. When you hold something as small and young as a newborn baby, you know instantly that change always comes, with or In some ways my new role is one of without you. Our job therefore is not emblem. Whereas a few years back I to provoke change, but rather to enwas the faceless, nameless, hooded, sure that whatever change does occur window smasher and de-arrester, now is change that increases our freedoms, I am the de-masked, named individual not furthers our drudgery. taking up the cause with my wife and young child. I am a cameraman’s wet I still believe in provocation and I still dream. While my partner and I walked believe in revolution. I believe in forthrough McPherson square, or within cing the State’s hand, forcing them to the throngs of a march pushing a child react, and forcing neutrals to choose a in a stroller (despite the fact that the side. I have never and will never argue child was not our own but rather my for passivity, but I have come to unpartner’s employer’s), we were photo- derstand that for me, my role as a graphed more than your average front of the pack rabble-rouser is only Crass-patched, mohawked crusty. one in a variety of roles appropriate to When you find your greatest strength me. is being a poster child for the development of a more “appealing” visual, is For Occupy, in its quest to become exthis really a role one can (or should) plicitly anti-Stateist and anti-capitalist embrace? or risk irrelevance, the movement needs brick throwers, bolt cutters and Becoming a parent really does change cop punchers as well as needing comyou. mune builders, interview givers, communiqué writers, and pro-conflict Anyone who has been through it will public apologists. In the past twelve tell you the same. Does it make you months I have grown into my new tamer, more passive? No. Does it roles. I have defended attacking our make you automatically more careful, enemies with ferocious abandon to calculating, measured and diligent… rooms full of academics from behind a

YES; } */ #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; [(LOTableViewCell*)[tableView cellForRowAtIndexPath:indexPath] didSelectCell]; if (indexPath.section==SECTION_ID_COPS||indexPath.section==SECTION_ID_ARRESTEES) { if (indexPath.row==0) [self tableView:tableView commitEditingStyle:UITableViewCellEditingStyleInsert forRowAtIndexPath:indexPath]; else { // Navigation logic may go here. Create and push another view controller. if (indexPath.section==SECTION_ID_COPS) { CopViewController *detailViewController = [[CopViewController alloc] initWithStyle:UITableViewStyleGrouped]; detailViewController.cop = [incident.cops objectAtIndex:indexPath.row-1]; // ... // Pass the selected object to the new view controller. [self.navigationController pushViewController:detailViewController animated:YES]; } else { ArresteeViewController *detailViewController = [[ArresteeViewController alloc] initWithStyle:UITableViewStyleGrouped]; detailViewController.arrestee = [incident.arrestees objectAtIndex:indexPath.row-1]; // ... // Pass the selected object to the new view controller. [self.navigationController pushViewControl-


podium—something not possible in my role as a riotous youth. I have taught my students rhetorical arguments in defense of armed resistance and made ‘terrorist apologists’ out of the lot of them. I take my daughter to the police-laden May Day rally to provide a more diverse image for the cameras and to help foster inter-generational solidarity. I write, I teach, I lecture and yes, I march.

ergy for the next lot to keep fighting. This is a war for the ages and I’m making sure we stay in the fight. For the time being, I have traded in my ball-peen hammer and slingshot for a cloth diaper and a child sling and I couldn’t be happier. - (A) A [Temporally] Clandestine Insurrectionary Agent Abu Emory Brigades Northeast Front

As Emma Goldman once said, “No …End secret communication… one has yet fully realized the wealth of sympathy, kindness and generosity hidden in the soul of a child. The effort of every true education should be to unlock that treasure.” I am making this education my full time joyful obligation. It’s not a job, but an opportunity. An opportunity to contribute in the manufacturing of a new generation of insurgents and trouble makers. As Marx stated in his 1868 letter correspondences with Ludwig Kugelmann, "Every child knows that a social formation which did not reproduce the conditions of production at the same time as it produced would not last a year." Revolutionaries are no different in this regard. We try to leave the world a bit better than we found it and pass on the en-

ler:detailViewController animated:YES]; } } } else if (indexPath.section==SECTION_ID_EMAIL) { MFMailComposeViewController *vc = [LOAppDelegate backupIncident:incident]; vc.mailComposeDelegate = self; [self presentModalViewController:vc animated:YES]; } } -(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error { [self dismissModalViewControllerAnimated:YES]; } @end <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>en</string> <key>CFBundleDisplayName</key> <string>${PRODUCT_NAME}</string> <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> <key>CFBundleIconFiles</key> <array> <string>icon_72.png</string> <string>icon.png</string> <string>icon@2x.png</string> <string>icon_spotlight.png</string> <string>icon_spotlight~ipad</string> <string>icon_512.png</string> </array> <key>CFBundleIdentifier</key> <string>com.roxannebrittain.legalobserver</string> <key>CFBundleInfoDictionaryVersion</key>


The Very World /23

The Very World, or Notes on Wordsworth's “The French Revolution as It Appeared...”

by Grant Leuning

Pitched forward, in enthusiasm Supposed the world to have gone to scraps, came shouts that It’s burning, out here in the open, came shouts Fires now! we’re told, inside the very world! came shouts Where at last, we find happiness or nothing at all! Midst the noise, bugs and turtles eat and rug about through the sharper pieces. Supposed it to be bliss when there was enthusiasm, when affairs took on the attractions of a country in romance, but in the very World, enthusiasm wanes, while we interlude. Enthusiasm is impossible in the absence of God, came the shouting To be alive in the very world Oh to be alive

<string>6.0</string> <key>CFBundleName</key> <string>${PRODUCT_NAME}</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>1.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>1.0</string> <key>LSRequiresIPhoneOS</key> <false/> <key>UILaunchImageFile</key> <string>default.png</string> <key>UIPrerenderedIcon</key> <true/> <key>UIRequiredDeviceCapabilities</key> <array> <string>armv7</string> </array> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>UISupportedInterfaceOrientations~ipad</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> </dict> </plist> /* Prefix header for all source files of the 'LegalObserver' target in the 'LegalObserver' project */ #import <Availability.h> #ifndef __IPHONE_4_0 #warning "This project uses features only available in iOS SDK 4.0


Occupy Wall Street and the Problem of Representation: A First-Person Standoff

by Jodie Austin Cypert

Pushing my way through Naussau Street in Manhattan felt like swimming upstream. The world was resisting, moving past me in the opposite direction, which was the last thing I expected on a day like this. It was October of 2011 after all, and the “American Autumn” was in full swing. Mayor Bloomberg had yet to give his ultimatum for protesters to clear out from Zuccotti Park and the weather was still uncannily mild. My husband and I were both bound for Zuccotti by way of Wall Street; I felt somehow as if including the New York Stock Exchange in our itinerary would add significance to the visit, a touchstone with which to contextualize the struggle going on a few blocks down. Along the way we passed a Chase branch, then a Cit-

ibank. I paused at each bank, sizing them up, recording a few video clips on my Flip camera before moving on. From behind my lens each illuminated blue logo seemed to glow with a particularly insidious light. My brain was already cataloging the clips, pairing them with imagined footage I would shoot later—the cinematic equivalent of a phantom wine. No one was protesting around either Chase or Citibank, however, and I soon realized that the bustle we had left behind was most likely comprised of folks headed to and from the nearest subway; indeed, the closer we got to Wall Street the more the crowd thinned out. Hastily thrown up barricades forced pedestrians to squeeze down the narrow sidewalk until only a constricted vein of bodies trickled down either side of the street. More barricades greeted us as we arrived at the NYSE; police on horseback hovered in between them looking like friendly but bored living statues. George Washington looked similarly distracted, his bronze hand outstretched as if to give the horses an amiable pat. My camera eventually lowered after I realized that the highlight of my Wall Street visit had been watching one trained horse eat an Australian passerby’s ring by accident. The area around the stock exchange had come to resemble a vast construction zone in which tourists

and later." #endif #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #endif /* LOAppDelegate.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> #import "TestFlight.h" #import "LOIncident.h" #import "LOMedia.h" #import <MessageUI/MFMailComposeViewController.h> @interface LOAppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate> @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) UITabBarController *tabBarController; +(NSMutableArray *)getIncidentArray; +(void)saveIncidentArray:(NSMutableArray *)array; //media storing +(void)addImage:(UIImage *)image; +(UIImage *)scaleAndRotateImage:(UIImage *)image; +(void)addVideoURL:(NSURL *)videoURL; +(NSMutableArray *)getMediaArray; +(void)saveMediaArray:(NSMutableArray *)array; //date formatting +(NSString *)stringFromDate:(NSDate *)date; +(NSString *)stringFromDate:(NSDate *)date withTime:(BOOL)time; +(NSDate *)dateFromString:(NSString *)date; +(NSString *)stringFromDate:(NSDate *)date withFormat:(NSString *)format; +(NSDate *)dateFromString:(NSString *)string withFormat:(NSString *)format; //email backup +(MFMailComposeViewControl-


OWS and the Problem of Representation /25

In Gayatri Spivak’s work on the subaltern, she distinguishes between the idea of “darstellen” and “vertreten,” which, in her words, amount to the contrast “between a proxy and a portrait” 1 In terms of the subaltern other—historically the oppressed or underrepresented subject within “scene[s] of power”—the collapse of the represented and the substitutive/translating voice, “especially in order to say that beyond both is where oppressed subjects speak, act and know for themselves, leads to an essentialist, utopian politics.” Spivak provides a useful, if not opaque approach to beginning a conversation about the problems of representation within an anthropological mode—a problem which takes on new significance on the street-level of Occupy protests around the globe. In many ways the protests have spawned a resurgence in a “new” form of tourism—protest tourism—which suggests a level of disengagement between the movement and its witness 2. Further stressing the dichotomy is the question of participation and the scale by which the degree of one’s involvement is

measured. Should one consider oneself a bystander or tourist, the notion of participation is immediately complicated. The camera lens adds yet another, though delicate, form of mediation into the mix, promoting the ritual selfeffacement of the observer while paradoxically lending a grand sense historicity to an event miniaturized for the LCD screen. Owning a camera certainly does not entitle one to be taken seriously as a journalist; it is not to say that the mere possession of a camera does not entitle at all, however, as this idea was in fact cleverly spoofed by a man walking around near the entrance to Zuccotti who wielded a cardboard camera and microphone graced with the Fox News logo (in this case the flimsiness of the medium well became its message). My reflexive tendency to anticipate my later editorial sequence, with all of its predictable cuts to bank facades and Tiffany’s displays, might seem like somewhat of a crass admission in light of genuine concerns Americans—and the rest of the world—were loudly articulating at that point in October. But my initial disappointment upon arriving at New York's protest hot-spot was palpable. Where I expected rioters, I encountered only a smattering of hot dog carts. Where I anticipated cries on behalf of civil liberties and economic

[1] Spivak, Gayatri. “Can the subaltern speak?” Marxism and the Interpretation of Culture. C. Nelson and L. Grossberg, eds. Macmillan Education: Basingstroke, 1988, p. 71. [2] For a too-brief feature on the subject, see “Protest Tourism at Occupy Wall Street in New York” by Campbell, Monica. PRI's The World. October 19, 2011. (<http://www.theworld.org/2011/10/tourismoccupy-wall-street/>)

and businessmen alike were forced to slowly shuffle around a quadrilateral of metal fences, as if at a museum. The crowd shuffled; my recording light went off.

ler*)backupIncident:(LOIncident *)incident; +(MFMailComposeViewController*)backupMedia:(LOMedia *)media; +(NSString*) stringDescriptionForArray:(NSArray*)array; @end /* LOAppDelegate.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOAppDelegate.h" #import "IncidentListViewController.h" #import "GuideViewController.h" #import "PhotoListViewController.h" #import "LOIncident.h" #import "LOMedia.h" #import "LOCoder.h" #import <MessageUI/MFMailComposeViewController.h> #import "FlurryAnalytics.h" #define kImageDataArrayTag @"imageDataArray" #define kVideoURLArrayTag @"videoURLArray" #define kMediaArrayTag @"mediaArray" #define kIncidentArrayTag @"incidents" @implementation LOAppDelegate @synthesize window = _window; @synthesize tabBarController = _tabBarController; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. UIViewController *viewController1 = [[IncidentListViewController alloc] initWithStyle:UITableViewStylePlain]; UINavigationController *nav-


equality, I saw only George Washington and some tired horses. The instinctive, albeit embarrassing, drive to narrativize the situation with only a few minute’s worth of footage is an experience familiar to many which comes on sometimes long before arrival on the scene. Before we had even arrived at Zuccotti the reality of my dilemma was sinking in, churning within me as the crowd around me grew thicker. Even without a clear view of the OWS protest within, the park had transformed itself into a massive signifier blurring the lines between tourist attraction and ideological locus. It had begun pulling at the threads of my imagined narrative out starting at the Fulton subway station, or perhaps earlier, extending them until they reached that event horizon of activity. This park on any other day might have remained just a park until the sheer density of bodies succeeded in compacting to form a recognized symbol of international dissatisfaction. Mentally labeling the park as our “destination” only added to its mythologizing power, making me wary of myself even as I looked for interesting things to film along the way. For every visually tantalizing landmark I spotted, however, I saw an equal number of metaphorical landmines threatening to blow up my project of—what, exactly? I could already feel the weight of

agenda in my awkward angles, in my best attempts at tableau’ing the scene of the park and all of its cardboarded, tarp-lined vibrancy. It is a strange thing, trying to unfocus the objectivizing gaze even as one focuses the camera lens. Indeed, the landmines embodied the realization that any false move, any urge to encapsulate anything ranging from rawness to the aesthetic, from candor to grandeur, could force my footage into the realm of ethnography—a realm which I was not prepared to traverse. The camera came back out again as soon as we got to Zuccotti but my new sense of disappointment came from another source: this time it was the realization that about 40% of the park’s inhabitants seemed to be protest tourists or amateur photographers, holding iPhones and digital cameras before them like wards. The crowd had slowed to its curated shuffle once more; this time it was not so much due to the constricted walkways as the collective fear of walking into a tree, or over someone’s sleeping bag. With one eye on the ground and the other on the screen these videographers—and myself—would slowly inch around the vast encampment, grabbing close-ups of leaves and leaflets alike. There was a sense of desperation in the urge to meticulously document everything around us, as if

Controller1 = [[UINavigationController alloc] initWithRootViewController:viewController1]; UIViewController *viewController2 = [[GuideViewController alloc] initWithStyle:UITableViewStyleGrouped]; UINavigationController *navController2 = [[UINavigationController alloc] initWithRootViewController:viewController2]; UIViewController *viewController3 = [[PhotoListViewController alloc] initWithNibName:nil bundle:nil]; UINavigationController *navController3 = [[UINavigationController alloc] initWithRootViewController:viewController3]; navController1.navigationBar.tintColor = [UIColor redColor]; navController2.navigationBar.tintColor = [UIColor redColor]; navController3.navigationBar.tintColor = [UIColor redColor]; self.tabBarController = [[UITabBarController alloc] init]; self.tabBarController.tabBar.selectedImageTintColor = [UIColor redColor]; self.tabBarController.viewControllers = [NSArray arrayWithObjects:navController1, navController2, navController3, nil]; self.window.rootViewController = self.tabBarController; [self.window makeKeyAndVisible]; [TestFlight takeOff:@"5d52609c69564c1de75208d639913ee0_MzEzNDcyMDExLTEwLTI4IDEwOjU4OjM1LjIwMTE4OA"]; [FlurryAnalytics startSession:@"36E9GMSVQPEBPSKMCIXX"]; return YES; }


OWS and the Problem of Representation /27

The reluctance of an ethnographer stems from feeling of being caught without an exit strategy, or perhaps being forced to confront a strategy of apology that has been documented and dramatized too many times before. Spivak’s admonishment finds further relevance in James Clifford’s words, which remind us to avoid the simple equation between “intuition” and “interpretation” within ethnographic discourse: “If the two are reciprocally related, they are not identical. It makes sense here to hold

them apart, if only because appeals to experience often act as validations for ethnographic authority” 3. Nonetheless he acknowledges the seductive pull to defer to one’s own “experience” as a means of conveying authority: “Experience evokes a participatory presence, a sensitive contact with the world to be understood, a rapport with its people, a concreteness of perception. And experience suggests also a cumulative, deepening knowledge (‘… her ten years’ experience of New Guinea’)”. Even my own tendency to recount our visit to New York seems to answer to an urge to reify an otherwise abstract collection of memories and ideas generated by the men and women around me. Our “experience of New York at OWS” amounted to a couple hours at the most, but it was enough to leave me questioning whether even the casual, unmotivated tourist has an obligation to acknowledge and subsequently cede any sense of authority over their images, moving or unmoving. My temptation is to reaffirm that if the process of filming/otherwise capturing the Occupy movement is born from a desire to authenticate the experience of witnessing, one cannot avoid the trap of objectification and there is little distinction between such photos and souvenirs or curios which fetishize the Other. Reduced to artistic property,

[3] Cliffod, James. “On Ethnographic Authority.” Representations, 2 (Spring, 1983): 128-130.

we were already tuned into its impending ephemerality. History was in the making, and we had to capture it before it passed us by. As I learned, however, the myth soon loses its luster when it becomes oversaturated; the polarity of darstellen and vertreten was fast collapsing on itself, shattering the willful suspension of disbelief which had held together the threads of a narrative in progress. Everyone with a camera seemed to realize this, and also seemed to turn the camera away whenever another entered their frame (this was a futile strategy). For this reason I actually felt relieved when a few people seemed to get upset at my filming, as if they were tired of being subjects for a day, or just tired of one assuming that their beliefs amounted to little more than a performance.

+(MFMailComposeViewController *)backupIncident:(LOIncident *)incident { NSString *body = [incident stringDescription]; body = [body stringByReplacingOccurrencesOfString:@"(null)" withString:@""]; NSLog(@"%@", [incident stringDescription]); if ([MFMailComposeViewController canSendMail] == FALSE) { [[[UIAlertView alloc] initWithTitle:@"No Email" message:@"This device is not set up to support email." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil] show]; return nil; } MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init]; [vc setSubject:@"Legal Observer Incident Report"]; // [vc setToRecipients:[NSArray arrayWithObjects:@"", nil]]; [vc setMessageBody:body isHTML:NO]; return vc; } +(MFMailComposeViewController*)backupMedia:(LOMedia *)media { NSString *body = [media stringDescription]; body = [body stringByReplacingOccurrencesOfString:@"(null)" withString:@""]; NSLog(@"%@", body); if ([MFMailComposeViewController canSendMail] == FALSE) { [[[UIAlertView alloc] initWithTitle:@"No Email" message:@"This device is not set up to support email." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil] show]; return nil; } MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init]; [vc


the 99% ironically becomes the marginalized minority whose narratives are appropriated additionally by Instagram.

subject in their own right as the supposed focus of the clips. What is needed, in short, is an occupation of the footage itself which bucks the notion of the disengaged tourist and inThus, the footage remains on my com- stead plunges right back in. In many puter, unedited. Watching it many ways this signals multiple, never-endmonths later, however, I tend to notice ing cuts of a product which will never things I had missed while trying very see a final edit; on the other hand, it hard not to step on slumbering pro- may be the only solution for lending it testers at the time: I spot a Lego tree life beyond the shelf of the curiosity fort, a police officer telling a photo- cabinet. grapher that he “can’t say no” to a request, as if for an autograph. I spot a person with a camera like mine, looking about as awkward as I felt at the time. I see plants that people have worked to keep alive, and paintings in progress. There are t-shirts being silkscreened, and debates happening on the sidewalk. Everywhere, there is food and there are books. Above all, despite the evident subjectivity of the phrase, there is also much beauty. Watching all of this again I can see that the cameras are still omnipresent, unavoidable; just the same, they no longer represent the tear in the experiential fabric but have become an inextricable part of it, forcing me to reconsider my own footage as one small contribution to a rather small but still relevant epistemological canvas. My footage is biased and limited—yes—but my hope is that the gaps and distortions which remain will continue to be as much a critical

setSubject:@"Legal Observer Incident Report - Media"]; // [vc setToRecipients:[NSArray arrayWithObjects:@"", nil]]; [vc setMessageBody:body isHTML:NO]; if (media.type == MEDIA_TYPE_PHOTO) { NSData *imageData = UIImagePNGRepresentation(media.image); [vc addAttachmentData:imageData mimeType:@"image/png" fileName:@"lomedia.png"]; } else if (media.type == MEDIA_TYPE_VIDEO) { NSData *data = [[NSData alloc] initWithContentsOfURL:media.videoURL]; [vc addAttachmentData:data mimeType:@"video/quicktime" fileName:@"lomedia.mov"]; } return vc; } +(NSString*) stringDescriptionForArray:(NSArray*)array { NSMutableString *string = [NSMutableString new]; for (id obj in array) { [string appendFormat:@"%@\n", [obj stringDescription]]; } return [NSString stringWithString:string]; } +(void)addImage:(UIImage *)image { image = [self scaleAndRotateImage:image]; LOMedia *media = [[LOMedia alloc] initWithImage:image]; NSMutableArray *array = [self getMediaArray]; [array addObject:media]; [self saveMediaArray:array]; } +(UIImage *)scaleAndRotateImage:(UIImage *)image { int kMaxResolution = 320; // Or whatever CGImageRef imgRef = image.CGImage; CGFloat width = CGImageGetWidth(imgRef); CGFloat height = CGImage-


On Spivak’s Nonviolent, Reformist General Strike /29

by John Bruning

“Behind every uprising, a line ofopportunist academics”

As the Occupy X movement reaches the limit of camping and finds the need to transition into a yet-undefined Phase II, a plethora of theorizing has taken shape, sometimes by those at the police lines, sometimes by those in the ivory tower, watching the movement with binoculars with utter glee. Theory and Event packed an all-star lineup (Slavoj Zizek, Wendy Brown, Bifo Birardi, and others) into its most recent issue to discuss the broader political and philosophical questions of the Occupy movement. 1 Tidal: Occupy Theory, Occupy Strategy, on the other hand, “endeavors to offer challenging ideas in language that’s accessible to the common person.” 2 Rather than being accessible, it is instead a slurry of dense pseudopolitics-infused critical

theory and pop-anarchist illustrations forced into magazine format and a liberal-moralistic lens. While this criticism is not fitting for every article included, Gayatri Chakravorty Spivak’s short article “General Strike” is most deserving. 3 Spivak begins by making historically incorrect assertions and common sense theses, then never really stops. Just within the first paragraph, she makes the odd claim that the idea of the General Strike “first came from the nineteenth-century anarchists, who did not constitute a workforce but were people of anti-statist convictions.” The idea really didn’t solidify until the great Rosa Luxemburg “rewrote the concept of the General Strike and claimed it for the workforce (proletariat)” after seeing successful General Strikes in Russia (organized by both anarchists and communists). So, just to recap, anarchists invented the General Strike but only applied it to some class besides the proletariat, then Luxemburg espoused the proper General Strike after witnessing them, in practice inventing something that already existed. For those of you who are actually familiar with Spivak’s work—those of you who would expect some discussion of subalternity—she goes against per-

[1] Theory & Event. 14.4 Supplement (2011). <http://muse.jhu.edu/journals/theory_and_event/toc/tae.14.4S.html>. [2] “Editorial Statement.” Tidal: Occupy Theory, Occupy Strategy. 1.1 (2011): 22. <http://www.occupytheory.org/>. [3] Spivak, Gayatri Chakravorty. “General Strike.” Tidal: Occupy Theory, Occupy Strategy. 1.1 (2011): 8-9. <http://www.occupytheory.org/>.

On Spivak’s Nonviolent, Reformist General Strike

GetHeight(imgRef); CGAffineTransform transform = CGAffineTransformIdentity; CGRect bounds = CGRectMake(0, 0, width, height); if (width > kMaxResolution || height > kMaxResolution) { CGFloat ratio = width/height; if (ratio > 1) { bounds.size.width = kMaxResolution; bounds.size.height = bounds.size.width / ratio; } else { bounds.size.height = kMaxResolution; bounds.size.width = bounds.size.height * ratio; } } CGFloat scaleRatio = bounds.size.width / width; CGSize imageSize = CGSizeMake(CGImageGetWidth(imgRef), CGImageGetHeight(imgRef)); CGFloat boundHeight; UIImageOrientation orient = image.imageOrientation; switch(orient) { case UIImageOrientationUp: //EXIF = 1 transform = CGAffineTransformIdentity; break; case UIImageOrientationUpMirrored: //EXIF = 2 transform = CGAffineTransformMakeTranslation(imageSize.width, 0.0); transform = CGAffineTransformScale(transform, -1.0, 1.0); break; case UIImageOrientationDown: //EXIF = 3 transform = CGAffineTransformMakeTranslation(imageSize.width, imageSize.height); transform = CGAffineTransformRotate(transform, M_PI); break; case UIImageOrientationDownMirrored: //EXIF = 4 transform = CGAffineTransformMakeTranslation(0.0, imageSize.height); transform = CGAffineTransformScale(transform, 1.0, -1.0);


[4] Spivak, Gayatri Chakravorty. “Can the Subaltern Speak?.” Marxism and the Interpretation ofCulture. Ed. Cary Nelson and Ed. Lawrence Grossberg. Champaign: University of Illinois Press, 1988. 66-111. [5] See for example the “Statement from DeColonize LA” <http://unpermittedla.wordpress.com/2011/10/16/statement-from-decolonize-la/>. [6] Olson, Joel. “Whiteness and the 99%.” Bring the Ruckus. Bring the Ruckus, 20 Oct 2011. <http://www.bringtheruckus.org/?q=node/146>.

haps her entire life’s work and the near-entirety of subaltern studies to claim that “what we are witnessing is the subalternization of the middle class—the largest sector of the 99%.” What?! Any first-year grad student could read “Can the Subaltern Speak?” 4 and immediately pound out a seminar paper about the flaws of the “We are the 99%” rhetoric and the problematics of participant demographics (not to mention the need to decolonize the movement5). As Joel Olson pointedly wrote, Left colorblindness, pervasive in the Occupy movement, “enables white people to decide which issues are for the 99% and which ones are ‘too narrow.’ It’s another way for whites to expect and insist on favored treatment, even in a democratic movement.” 6 Thus, the 99% rhetoric has served as yet another way to mute the subaltern voice. It is unclear whether Spivak just doesn’t realize this from her lofty perspective, or if she’s watering down her analysis for the sake of white middle-class students, conforming to the idea identified by Olson that “the movement is for everyone, and people of color should join it rather than attack it.” But it is more fruitful to turn to Georges Sorel to fully understand the logical and moralistic failures of Spivak’s piece. Despite her bizarre and

unsubstantiated claim that Sorel “moved from the political Left to the political Right,” Sorel was a life-long Marxist, anarchist, and revolutionary syndicalist whose book, Réflexiones sur la violence [Reflections on Violence], has been immensely influential on theorization around the General Strike and revolutionary violence. Why Sorel is useful in particular, rather than Du Bois, Gandhi, or Gramsci, all of whom she bastardizes, is that his views on the General Strike are as antithetical as they could be to Spivak’s second thesis that “A General Strike is by definition non-violent, though the repressive apparatus of the state has used great violence against the strikers.” This is followed later by an equally ridiculous statement: Ifone recognizes the connection between the General Strike and the Law, one realizes this is not legal reformism but a call for social and economic justice. Banning bank bailouts, instituting legal oversight offiscal policy, taxing the rich, de-corporatizing education, lifting fossil fuel and agriculture subsidies, and on and on. The intense commitment to legal change and its implementation is a bid for justice. And remember: unlike a political party, the movers ofa General Strike need not co-operate until they see things actually change. Already the pressure is working: witness the 5% victory over deb-

break; case UIImageOrientationLeftMirrored: //EXIF = 5 boundHeight = bounds.size.height; bounds.size.height = bounds.size.width; bounds.size.width = boundHeight; transform = CGAffineTransformMakeTranslation(imageSize.height, imageSize.width); transform = CGAffineTransformScale(transform, -1.0, 1.0); transform = CGAffineTransformRotate(transform, 3.0 * M_PI / 2.0); break; case UIImageOrientationLeft: //EXIF = 6 boundHeight = bounds.size.height; bounds.size.height = bounds.size.width; bounds.size.width = boundHeight; transform = CGAffineTransformMakeTranslation(0.0, imageSize.width); transform = CGAffineTransformRotate(transform, 3.0 * M_PI / 2.0); break; case UIImageOrientationRightMirrored: //EXIF = 7 boundHeight = bounds.size.height; bounds.size.height = bounds.size.width; bounds.size.width = boundHeight; transform = CGAffineTransformMakeScale(-1.0, 1.0); transform = CGAffineTransformRotate(transform, M_PI / 2.0); break; case UIImageOrientationRight: //EXIF = 8 boundHeight = bounds.size.height; bounds.size.height = bounds.size.width; bounds.size.width = boundHeight; transform = CGAffineTransformMakeTranslation(imageSize.height, 0.0); transform = CGAffineTransformRotate(transform, M_PI / 2.0); break; default:


On Spivak’s Nonviolent, Reformist General Strike /31

it card charges last month.

But where Spivak is confusing, Sorel is not. In his Appendix to Reflections on Violence, “Apology for Violence,” Sorel writes: It is in strikes that the proletariat assert its existence. Icannot agree with the view which sees in strikes merely something

The social revolution is an extension of that war in which each strike is an episode; this is the reason why Syndicalists speak ofthat revolution in the language ofstrikes; for them Socialism is reduced to the conception, the expectation of, and the preparation for the general strike, which, like the Napoleonic battle, is to completely annihilate a condemned régime. [...] The conception ofthe general strike, engendered by the practice ofviolent strikes, admits the conception ofan irrevocable overthrow. There is something terrifying in this which will appear more and more terrifying as violence takes a greater place in the mind ofthe proletariat. But, in undertaking a serious, formidable, and sublime work, Socialists raise themselves above our frivolous society and make themselves worth ofpointing out new roads to the world. 7

Could anything be more contrary to Spivak’s “General Strike as pressure

[7] Sorel, Georges. Reflections on Violence. Trans. T. E. Hulme. New York: Collier, 1967. 274-5.

It’s not reformist, because Spivak said so. There is nothing non-reformist about what Spivak is proposing, in a sense General Strike—possibly the most powerful weapon known to the working class–as a mechanism to get politicians to do what we want. Her championing of the 5% “victory” shows just how oblivious she is to the real workings of power. The banks backed off on that charge, but isn’t it obvious to everyone else that a new fee or charge will replace it? The problem with reform, if it is even worth stating, is that power will implement reforms in a way that it sees fit, to further entrench itself while placating the masses. The logical extension of Spivak’s thinking would hold that the Fourteenth Amendment has resulted in total racial equality in America and hasn’t been used for any deviant purposes—quite a statement for someone who is famous for her theories of the subaltern.

analogous to the temporary rupture of commercial relations which is brought about when a grocer and the wholesale dealer from whom he buys his dried plums cannot agree about the price. The strike is a phenomenon ofwar. It is thus a serious misrepresentation to say that violence is an accident doomed to disappear from the strikes ofthe future.

[NSException raise:NSInternalInconsistencyException format:@"Invalid image orientation"]; } UIGraphicsBeginImageContext(bounds.size); CGContextRef context = UIGraphicsGetCurrentContext(); if (orient == UIImageOrientationRight || orient == UIImageOrientationLeft) { CGContextScaleCTM(context, -scaleRatio, scaleRatio); CGContextTranslateCTM(context, -height, 0); } else { CGContextScaleCTM(context, scaleRatio, -scaleRatio); CGContextTranslateCTM(context, 0, -height); } CGContextConcatCTM(context, transform); CGContextDrawImage(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, width, height), imgRef); UIImage *imageCopy = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return imageCopy; } +(void)addVideoURL:(NSURL *)videoURL { NSMutableArray *array = [self getMediaArray]; LOMedia *media = [[LOMedia alloc] initWithVideoURL:videoURL]; [array addObject:media]; [self saveMediaArray:array]; } +(NSMutableArray *)getMediaArray { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0]; NSString *af = [ NSString stringWithFormat:@"%@/%@.karch", path, kMediaArrayTag]; NSMutableArray *array = [NSKeye-


[8] Butler, Judith. “Implicated and Enraged: An Interview with Judith Butler.” The Immanent Frame: Secularism, Religion, and the Public Sphere. Interview by Nathan Schneider. Social Science Research Council, 01 Apr 2011. <http://blogs.ssrc.org/tif/2011/04/01/implicated-and-enraged-an-interview-with-judith-butler/>. [9] Gelderloos, Peter. How Nonviolence Protects the State. Cambridge, MA: South End Press, 2007.

tactic” argument? This should make it clear that Sorel’s view on the General Strike was more than “as a way to energize the workforce,” a claim that is absolutely insulting to his view of the General Strike as a purely violent action to overthrow the State and implement a form of Socialism (likely more akin to what we call Anarchism than the Soviet model of socialism). Nothing about a General Strike can be reformist; nothing about it can be satiated by demands being met. Social transformation is inherently violent. Even aside from the attacks on life that some hold is necessary in revolution; even aside from the suffering that necessarily comes from such an upheaval; the transformation itself, the act of transforming society, is violent. As the Arab Spring protests spread, intellectuals carried out an interesting jiu-jitsu to continue labeling the protesters as as “nonviolent,” despite the obvious—and justifiable—violence of the revolts. Such behavior by the professoriat is intended to keep the American public fixed on the necessity of non-violence and redundancy of violence, more to protect their own positions than anything more malicious. However, even Judith Butler understood this (somewhat surprising, given her interactions with the student movement at UC Berkeley):

We have to be careful to distinguish between nonviolence as a moral position that applies to all individuals and groups, and nonviolence as a political option that articulates a certain refusal to be intimidated or coerced. These are very different discourses, since most ofthe moral positions tend to eliminate all reference to power, and the political ones tend to affirm nonviolence as a mode of resistance but leave open the possibility that it might have to be exchanged for a more overtly aggressive one. Iam not sure we can ever evacuate the political frame. Moreover, it is important to think about how one understands violence. Ifone puts one’s body on the line, in the way ofa truck or a tank, is one not entering into a violent encounter? This is different from waging a unilateral attack or even starting a violent series, but Iam not sure that it is outside the orbit ofviolence altogether. 8

This, of course, says nothing about the violent consequences of nonviolent action and idealism (see Peter Gelderloos’ How Nonviolence Protects the State for a longer discussion9). But even the necessary actions of a revolution—e.g. disrupting traffic, expropriating food or land, blocking the ports, defending picket lines, even physically defending oneself or others from police or military—taken holistically and objectively, can be judged as similar to the forms

dUnarchiver unarchiveObjectWithFile:af]; if (!array) { array = [[NSMutableArray alloc] init]; } return array; } +(void)saveMediaArray:(NSMutableArray *)array{ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0]; NSString *af = [ NSString stringWithFormat:@"%@/%@.karch", path, kMediaArrayTag]; [NSKeyedArchiver archiveRootObject:array toFile:af]; } +(NSMutableArray *)getIncidentArray { //load data from archive file NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0]; NSString *af = [ NSString stringWithFormat:@"%@/%@.karch", path, kIncidentArrayTag]; NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithFile:af]; if (!array) { array = [[NSMutableArray alloc] init]; } return array; } +(void)saveIncidentArray:(NSMutableArray *)array{ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0]; NSString *af = [ NSString stringWithFormat:@"%@/%@.karch", path, kIncidentArrayTag]; [NSKeyedArchiver archiveRootObject:array toFile:af]; } +(NSString


On Spivakâ&#x20AC;&#x2122;s Nonviolent, Reformist General Strike /33

of everyday violence we experience as a result of the political and economic system we live in. But there is, of course, a value difference between expropriation and exploitation; and we can easily argue that this former violence does in fact prevent a greater violence of the latter form. Some advocates of nonviolence do take this measured approach, that nonviolence is anything that prevents a greater violence. However, this is clearly not what Spivak is arguing, and her view of nonviolence effectively marginalizes the power of the General Strike and could potentially render this movement meaningless.

*)stringFromDate:(NSDate *)date { return [self stringFromDate:date withTime:YES]; } +(NSString *)stringFromDate:(NSDate *)date withTime:(BOOL)time { NSDateFormatter *df = [[NSDateFormatter alloc] init]; if (time) [df setDateFormat:@"M/dd/yy h:mm a"]; else [df setDateFormat:@"M/dd/yy"]; return [df stringFromDate:date]; } +(NSDate *)dateFromString:(NSString *)string { NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"M/dd/yy h:mm a"]; return [df dateFromString:string]; } +(NSString *)stringFromDate:(NSDate *)date withFormat:(NSString *)format { NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:format]; return [df stringFromDate:date]; } +(NSDate *)dateFromString:(NSString *)string withFormat:(NSString *)format { NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:format]; return [df dateFromString:string]; } - (void)applicationWillResignActive:(UIApplication *)application { /* Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. Use this method to pause ongoing tasks, disable timers,


Our History is an Unmarked Grave

by Nigel Roderick Robles

Angry hordes rise on your memory and taunt you in your sleep. A face in the mirror, a rotting smell and a long weep from the sea: This is what slavery tastes like. The mediocre cheesecake provided by room service, Lye dumped on rotting bodies. ••• Our history is an unmarked grave. Where words should be, a city sits, and no one cares to speak. Welcome to the mission. Welcome to the hotel. Welcome to your home, your city. Welcome, you shitfaced tourist, you ignorant east-coast transplant, you colonist colonialist conquistador californian fuck. My land is not your land, this is not California, this is not the U.S.A, It is not yours to tour, or take, landscape, or rape. My frozen body is heating at your disposal. In my stead, the spirits of the dead Cry and sabotage your cities. Fuck you. Fuck your structures. Fuck you. Fuck your Rapism, Racism, Denial, Delusion,

and throttle down OpenGL ES frame rates. Games should use this method to pause the game. */ } - (void)applicationDidEnterBackground:(UIApplication *)application { /* Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. */ } - (void)applicationWillEnterForeground:(UIApplication *)application { /* Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. */ } - (void)applicationDidBecomeActive:(UIApplication *)application { [TestFlight passCheckpoint:@"didBecomeActive"]; /* Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. */ } - (void)applicationWillTerminate:(UIApplication *)application { /* Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. */ } /* // Optional UITabBarControllerDelegate method. - (void)tabBarController:(UIT-


Our History is an Unmarked Grave /35

Intrusion, This is a bitter time for love, And the insides you hide will rot you from the inside out. ••• Something sailing on starry seas reminds me of a time when men left lands to find new hands for work to build buildings and sow, and reap. Something out there reminds me of a time when we died in the open, When hands were cut and bones were churned through engines raid mass across living maps and screams were muffled by an onslaught of white faces. The slow birth of burning sage replaced by the burning flesh of a hundred slaves. A time when the reapers were sowed and time spent living was a time spent dead. Something in your off-white walls reminds me of the marrow, Something in the deadened glow of your streetlights reminds me of a lamplight burning, Something in the way you talk makes me reminisce for a time when poison was the drink for priests, and buildings burned, but not flesh, When the reapers were sowed and the time spend fighting was a time well spent. Something in your freeways and weekdays makes me hope. When revolt unfinished is finished and the finish on your paint will melt And trees will blossom by the hands of none, no leathery sweaty brown ache of the underpaid and the long gone slaves, When seals and gulls and bones and skulls can be thought of peacefully and not the mark of a violent of death.

abBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { } */ /* // Optional UITabBarControllerDelegate method. - (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed { } */ @end /* LOArrestee.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <Foundation/Foundation.h> #import "LOPerson.h" @interface LOArrestee : LOPerson { NSDate *birthDate; NSString *firstName; NSString *lastName; NSString *age; } @property (nonatomic, retain) NSDate *birthDate; @property (nonatomic, retain) NSString *firstName; @property (nonatomic, retain) NSString *lastName; @property (nonatomic, retain) NSString *age; -(NSString*)displayName; @end /* LOArrestee.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOArrestee.h" #import "LOAppDelegate.h" @implementation LOArrestee @synthesize birthDate, firstName, lastName, age; -(NSString*)displayName { NSMutableString *name = [NSMutableString new]; if (firstName && ![firstName isEqualToString:@""]) [name appendFormat:@"%@ ", firstName]; if (lastName


Composition for the Human Microphone

by Jesse Darling

Part One SPEAKER: appears before the gathered crowd, carrying a wooden spoon. SPEAKER: (with the spoon close to their lips, very soft; makes a noise like the clearing ofthe throat). Mic Check. CROWD: (shift about a bit, not sure when it will start.) SPEAKER (still talking into the spoon, now audibly) Mic Check. CROWD: Mic Check. SPEAKER: (louder) Mic Check! CROWD: Mic Check! SPEAKER (roaring into the spoon) MIC CHECK! CROWD: MIC CHECK! SPEAKER: The revolution SPEAKER: Will not be polarised. SPEAKER: The revolution SPEAKER: Will not be a singularity. SPEAKER: The revolution SPEAKER: Will be as plural SPEAKER: And conflicted! SPEAKER: And multiplicitous! SPEAKER: As our voices.

CROWD: The Revolution CROWD: Will not be polarised. CROWD: The Revolution CROWD: Will not be a singularity. CROWD The Revolution CROWD: Will be as plural CROWD: And conflicted! CROWD: And multiplicitous! CROWD: As our voices.

(a pause.)

&& ![lastName isEqualToString:@""]) [name appendFormat:@"%@ ", lastName]; if (fullName && ![fullName isEqualToString:@""]) [name appendFormat:@"(%@)", fullName]; return [NSString stringWithString:name]; } -(NSString*)stringDescription { return [NSString stringWithFormat:@"First Name: %@\nLast Name: %@\nNickname: %@\nBirth date: %@\nEmail: %@\nPhone: %@\nAddress: %@\nNotes: %@\n", firstName, lastName, fullName, [LOAppDelegate stringFromDate:birthDate withTime:NO], email, phone, address, notes]; } - (void)encodeWithCoder:(NSCoder *)coder { [super encodeWithCoder:coder]; [coder encodeObject:birthDate forKey:@"birthDate"]; [coder encodeObject:firstName forKey:@"firstName"]; [coder encodeObject:lastName forKey:@"lastName"]; [coder encodeObject:age forKey:@"age"]; } - (id)initWithCoder:(NSCoder *)coder { self = [super initWithCoder:coder]; birthDate = [coder decodeObjectForKey:@"birthDate"]; firstName = [coder decodeObjectForKey:@"firstName"]; lastName = [coder decodeObjectForKey:@"lastName"]; age = [coder decodeObjectForKey:@"age"]; return self; } @end /* LOCoder.h LegalObserver Created by Roxanne Brittain on 11/6/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <Foundation/Founda-


Composition for the Human Microphone /37

SPEAKER: This is so fucking cheesy. SPEAKER: What am I doing here. SPEAKER: Who even is this person SPEAKER: Making me talk SPEAKER: All this shit. SPEAKER: Oh, no. SPEAKER: Self-referentiality. SPEAKER: It’s the worst. SPEAKER: Oh fuck it.

CROWD: This is so fucking cheesy. CROWD: What am I doing here. CROWD: Who even is this person CROWD: Making me talk CROWD: All this shit. CROWD: Oh, no. CROWD: Self-referentiality. CROWD: It’s the worst. CROWD: Oh fuck it.

Part Two SPEAKER puts down the wooden spoon and divides the CROWD into four parts. SPEAKERS then nominates four CHOREGI. CHOREGUS 1 (BASS) is instructed to lead their chorus in [faking] an orgasm. CHOREGUS 2 (TENOR) is instructed to lead in the following:

TENOR: We must stop TENOR: Stop! TENOR: Repeating TENOR: Repeating our mistakes.

CHORUS: We must stop CHORUS: Stop! CHORUS: Repeating CHORUS: Repeating our mistakes.

CHOREGUS 3 (ALTO) is instructed to lead in the following:

ALTO: CHOIR: ALTO: CHOIR: ALTO: CHOIR: ALTO: CHOIR:

Marx! And Nietzche! Marx, Marx/ and Nietzche! Marx! And Nietzche! Marx, Marx/ and Nietzche! Marx! And Nietzche! Marx, Marx/ and Nietzche! Marx! And Nietzche! Marx, Marx/ and Nietzche! And Negri! And Zizek! And Negri! And Zizek! And Negri! And Zizek! And Negri! And Zizek!

ALTO: CHOIR:

And Tiq-Tiq-Tiquuuuun! And Tiq-Tiq-Tiquuuuun!

(drawn out at the end: like “tic-tic-tic-boom”:)

tion.h> @interface LOCoder : NSCoder { id context; } @property (nonatomic, retain) id context; +(LOCoder *)coder; @end /* LOCoder.m // LegalObserver Created by Roxanne Brittain on 11/6/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOCoder.h" @implementation LOCoder @synthesize context; + (LOCoder*)coder { return [LOCoder new]; } - (id)init { self = [super init]; if (self) { self.context = [NSMutableDictionary dictionary]; } return self; } #pragma mark Encoding: - (void)encodeValueOfObjCType:(const char *)type at:(const void *)addr { } - (void)encodeObject:(id)objv forKey:(NSString *)key { if (objv == nil) return; if ([objv isKindOfClass:[NSString class]] || [objv isKindOfClass:[NSDictionary class]] || [objv isKindOfClass:[NSNumber class]]) { } else if ([objv isKindOfClass:[NSArray class]]) { NSMutableArray *array = [NSMutableArray array]; NSUInteger i, count = [objv count]; for (i = 0; i < count; i++) { LOCoder *coder = [LOCoder new]; [[objv objectAtIndex:i] encodeWithCoder:coder]; [array addObject:coder.context]; } objv = array; } else if ([objv conformsToProtocol:@protocol(NSCoding)]) { LOCoder *coder = [LOCoder new]; [objv encodeWithCoder:coder]; objv = coder.context; } [self.context setObject:objv forKey:key]; } - (void)encode-


CHOREGUS 4 (SOPRANO) is instructed to gather his choir into a circle and lead them in the following [the second line is spoken (led) by each member ofthe circle in turn].

SOPRANO: We are all individuals! CHORISTER 1: I am special and unique. SOPRANO: We are all individuals! CHORISTER 2: I am special and unique. And so on, around the circle.

CHORUS: We are all individuals! CHORUS: I am special and unique. CHORUS: We are all individuals! CHORUS: I am special and unique.

The SPEAKER may lead the four parts in a rehearsal run before counting all parts in, one by one, and then in chorus, using the wooden spoon as a baton. The SPEAKER may keep time by banging the wooden spoon against the nearest hollow thing, or may instead choose to play Gershwin’s “Rhapsody in Blue” on the kazoo, to represent the Modern Constitution and the hopes of our forefathers. The piece should continue for a minimum of three minutes and a maximum of fifteen; duration can be determined organically by the choir, or enforced by the SPEAKER. Composition For the Human Microphone has been written for maximum atonality, arrhythmia, chaos and difference. There may or may not be a moment at which the voices come together in some form of harmony; if this doesn’t happen, however, that’s okay and even to be expected since participatory democracy is a work in progress. The AUTHOR asserts no authority over this piece, although the SPEAKER’s authority is to be respected at all times throughout, unless rightfully challenged under the No-Gods-No-Masters Clause. Until then: Viva la Revoluçion.

Bool:(BOOL)boolv forKey:(NSString *)key { [self.context setObject:[NSString stringWithFormat:@"%d", boolv] forKey:key]; } - (void)encodeInt:(int)intv forKey:(NSString *)key { [self.context setObject:[NSString stringWithFormat:@"%d", intv] forKey:key]; } - (void)encodeFloat:(float)realv forKey:(NSString *)key { NSString *value = [NSString stringWithFormat:@"%.2f", realv]; [self.context setObject:value forKey:key]; } #pragma mark Decoding: - (id)decodeObjectForKey:(NSString *)key { return [self.context objectForKey:key]; } - (BOOL)decodeBoolForKey:(NSString *)key { NSString *value = [self.context objectForKey:key]; if ([value intValue]) { return YES; } return NO; } - (int)decodeIntForKey:(NSString *)key { NSString *value = [self.context objectForKey:key]; return [value intValue]; } - (float)decodeFloatForKey:(NSString *)key { NSString *value = [self.context objectForKey:key]; return [value floatValue]; } @end /* LOCop.h // LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <Foundation/Foundation.h> #import "LOPerson.h" @interface LOCop : LOPerson { NSString *badgeNumber; NSString *rank; NSMutableArray *weaponArray; } @property (nonatomic, retain) NSString *badgeNumber; @property (nonatomic, retain)


Bureauccupy Ashland /39

Bureauccupy Ashland: A Parable of the Deaths of a Few Good Things

so many strata of geology, and I believe they make a case against the models of leftist structuralization which the movement has widely adopted.

The Occupy movement has done a lot of good. It has helped thousands break the spell of hopelessness and everyday desolation that accompanies life in modern mass society, and opened many eyes to the plight faced by life here on our beloved but tortured planet. A great deal of radical consciousness, bountiful laughter, and essential humanity has been resurrected in Occupy communitiesâ&#x20AC;&#x201D;accompanied by heaps of joyously broken glass piled in the arteries of the wasteland-state. I am unspeakably grateful for all these things. But in the proud tradition of all radicals, I have my gripes. My own disillusionment from the Occupy movement began in the town of Ashland, Oregon, population 21,000. My experiences there display the many layers of occupation blanketing landscapes both physical and mental like

public occupation sweeping the country, I was myself occupying vacant land in Ashland with a community of homeless kids who ranged from 16 to 56. Our daily lifestyle was naturally communal, full of encouragement, and based on sharing the bounties of our daysâ&#x20AC;&#x2122; adventures. General Assemblies were nights around the fire, playing guitars and hatching schemes. I called our little squat the Farm, after the barn-like ruins of a wooden garage that served as our communal shelter. The acre or so was on the edge of a creek which had flooded the previous house away a few years back. All that was left standing was the worn down garage, some crumbling stones huddled around a dirty well, and the apple tree. The owners never came back to rebuild. The field, creek, and surrounding woods provided our firewood, our night time hideaways, our playground, our water for morning coffee, our musings, our entertainment, and our overall sanctuary from a world where it is illegal to be broke. We had managed to somehow come up with a trailer and two broke-down

by Bud Fielder When I first heard about the wave of

NSString *rank; @property (nonatomic, retain) NSMutableArray *weaponArray; @end /* LOCop.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOCop.h" @implementation LOCop @synthesize badgeNumber, rank, weaponArray; -(id)init { self = [super init]; if (self) { weaponArray = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithBool:NO], [NSNumber numberWithBool:NO], [NSNumber numberWithBool:NO], [NSNumber numberWithBool:NO], [NSNumber numberWithBool:NO], [NSNumber numberWithBool:NO], [NSNumber numberWithBool:NO], [NSNumber numberWithBool:NO], nil]; } return self; } -(NSString*)stringDescription { NSMutableString *weaponString = [NSMutableString new]; if ([[weaponArray objectAtIndex:0] boolValue]) [weaponString appendString:@"Body Armor, "]; if ([[weaponArray objectAtIndex:1] boolValue]) [weaponString appendString:@"Shield, "]; if ([[weaponArray objectAtIndex:2] boolValue]) [weaponString appendString:@"Baton, "]; if ([[weaponArray objectAtIndex:3] boolValue]) [weaponString appendString:@"Gas Mask, "]; if ([[weaponArray objectAtIndex:4] boolValue]) [weaponString appendString:@"Pepper Spray, "]; if ([[weaponArray objectAtIndex:5] bool-


cars for additional shelter, on top of a nifty shack made of some pallets and an old camper shell. We occupied our piece little ragamuffin paradise proudly.

my sleeping bag (which was my nightly bed at the time). But all in all, the night went well. We told some amazing jokes, spoke some inspiring words, and the spirit was strong. The next morning, we spread out our wet blankets to When the word got out that the Plaza dry in the morning sun as coffee and in the center of town was going to be breakfast arrived (a godsend). I spread occupied, I was the only one in our out my sleeping bag and gathered all little community that was excited. Even the dogs of the occupiers around, letthen, I had my reservations. Mainly ting them warm up on my toasty bedthat about 90% of the 99% regularly roll and keeping them out of trouble. I treated me and my friends as subhu- proclaimed myself Puppy Camp. I did man for our economic standing. But I some chores and errands, went and had been involved in protests and act- dumpstered some cardboard and ivism since I was young, and although spread out markers for a sign-making I was jaded by most forms of main- station, etc., as the protesters returned stream dissent I felt obliged to place to the square for a mass protest at my hope with the disaffected group noon. who had gathered in the center of town to assert their demands. The At about 10am, a woman wheeled in protest on the first day was initially a on a bike and immediately pulled up couple hundred strong, gradually to Puppy Camp. The dogs were all dwindling throughout the night until comfortably and adorably cuddling on perhaps twenty were left to being the my sleeping bag, not stirring a hair. occupation. Another blanket was laid out behind me, drying in the sun. The woman on I spent the first night on the site with the bike put on her brakes at me feet some others from the Farm crew, and and abruptly spoke down to me. “We the only trouble we had apart from the need you to put away all these occasional A.P.D. cruiser (the local blankets,” she said. hobo warning call of, “Six up!” was adopted to alert everyone of their Now hold on a second. “Aw, look at presence) came when we were all sur- how comfy these little guys are,” I prised by the 3AM sprinkler system. said. “I don't think they want to move. Many blankets got soaked, including And who’s this 'we' anyway?”

Value]) [weaponString appendString:@"Tear Gas, "]; if ([[weaponArray objectAtIndex:6] boolValue]) [weaponString appendString:@"Taser, "]; if (weaponString.length > 2) [weaponString replaceCharactersInRange:NSMakeRange(weaponString.length-2, 2) withString:@""]; return [NSString stringWithFormat:@"Name: %@\nBadge Number: %@\nRank: %@\nWeapons: %@\nNotes: %@\n", fullName, badgeNumber, rank, weaponString, notes]; } - (void)encodeWithCoder:(NSCoder *)coder { [super encodeWithCoder:coder]; [coder encodeObject:badgeNumber forKey:@"badgeNumber"]; [coder encodeObject:rank forKey:@"rank"]; [coder encodeObject:weaponArray forKey:@"weaponArray"]; } - (id)initWithCoder:(NSCoder *)coder { self = [super initWithCoder:coder]; badgeNumber = [coder decodeObjectForKey:@"badgeNumber"]; rank = [coder decodeObjectForKey:@"rank"]; weaponArray = [coder decodeObjectForKey:@"weaponArray"]; return self; } @end /* LOFirstViewController.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> @interface LOFirstViewController : UIViewController @end /* LOFirstViewController.m LegalObserver Created by Roxanne Brittain on 10/30/11.


Bureauccupy Ashland /41

“They're dogs,” she said with some attitude. “They can lay on the concrete. ” Lay on the concrete, I suppose, like I had the night before while she went home and slept in a nice fluffy bed. “We just don't want any problems with the police—if it looks like we're camping that makes them uncomfortable.” There's that “we” again, I thought. This might be a good time to mention that Ashland is too small a town for any law enforcement to pull off such a brilliant stunt. I knew then that I was dealing with a beast even more dubious than an undercover LEO, my very own uprising nightmare: an organizer. “Listen, lady,” I said in so many words, “I don't know what you think I am, or who you think you are, but no one's the boss here, not in my world. Besides, this is an occupation. I’m not going to pretend I’m not camping. I am. That’s the point.” I wasn't rude, but I was somewhat taken aback. Where was this coming from? It's puppies on a pillow for chrisake! “Well, we need this space for tables and the authorities were very clear that they didn't want to see any camping gear laid out.” It was obvious she was used to giving orders and talking to the police, not to mention this ubiquitous “we” giving her away as

someone who routinely speaks for others. It was also obvious that she was used to seeing poor people and animals as creatures beneath her. Yes, an organizer for sure. I made it clear that I wasn't going to subject myself to any power trip, so she left. But the onslaught continued from all sides. Apparently Puppy Camp was on prime real estate, and the damned pioneers were coming (“On ho!”). As the protesters gathered and the small plaza began to get crowded, none of the tablers had any problem with setting up so close to Puppy Camp that looking to either side too quickly would have earned me a sore nose. I slowly edged myself out of their way with polite deference, rousing the sleepy-eyed mutts each time for a short trot further to the side. But before I knew it Puppy Camp had ended up right where all those gathered obviously thought we should be: by a filthy garbage can on the outskirts of the rally. I still don't totally know why, but this event crushed a blow to my spirit that still hasn't healed. The night had passed in the square much as all our nights around the campfire of the Farm: with human closeness, meeting human needs with one-to-one conversations about human things. But sud-

Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOFirstViewController.h" @implementation LOFirstViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { self.title = NSLocalizedString(@"First", @"First"); self.tabBarItem.image = [UIImage imageNamed:@"first"]; } return self; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return


denly, as the ranks swelled, the spectacle of International Socialist newspapers, Cause Specific Flyer tables, and Entitled Liberal Crusaders slowly took the show, all hocking their brand of Revolution, Change, or Justice and slowly, almost imperceptibly, the human element was lost to the glitz of their Cause.

alone to stand against. All my best objections were met with the stone wall of those more convinced of their conception of what a revolution might look like. After all, they were the old camp with all the experience. I was just a scruffy kid (thank God). It became too exhausting to object to their meticulous insistence on bureaucracy. Instead I just spoke my mind when I I spent more nights with the Occupy was moved and refused to vote. It camp, watching as those who left each didn't take long for me to stop shownight to sleep indoors would return for ing up entirely. The Bureauccupiers the General Assembly to promote in- had their day. creasingly bureaucratic, limiting structures on what originally had been a The first night that it was too cold for naturally harmonious environment. the remaining members of Occupy to The humble donation jar used for sleep outside, the police swept the group needs as they arose was deleg- Plaza clean and it was over. Our little ated to a one-man Treasury, and only community, of course, occupying the then did suspicions of the misuse of Farm on the edge of town, slept outfunds occur. As the Tao te Ching says, side every night. November came “The more laws you have, the more around, with the rain and snow, and criminals there will be.” The respons- the owner of the hippy campground ibility of managing the food table was next door to the Farm (Doctor Gerry delegated, and it quickly became an of the Jackson Wellsprings) finally obviously wearisome task for the poor managed to buy it from the bank. He'd woman who volunteered. It wasn't long tried for months to scare us off with before the suggestion of cutting off the most underhanded tactics, threatfree food for the homeless was sugges- ening week after week to call the cops ted. This was shot down immediately, under some new pretense (which we thank God, by some well connected knew he had no authority to do). He activists, but I wager that over half even tried chaining up the entrance those present wouldn't have batted an gate and posting a “No Trespassing” eye at the proposal. The logic of struc- sign. We responded by breaking the turalization was too much for me lock, unhinging the gate, and nailing it

(interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } @end /* LOIncident.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <Foundation/Foundation.h> @interface LOIncident : NSObject { NSMutableArray *cops; NSMutableArray *arrestees; NSDate *date; NSString *location; NSString *title; NSString *notes; } @property (nonatomic, retain) NSMutableArray *cops; @property (nonatomic, retain) NSMutableArray *arrestees; @property (nonatomic, retain) NSDate *date; @property (nonatomic, retain) NSString *location; @property (nonatomic, retain) NSString *title; @property (nonatomic, retain) NSString *notes; - (void)encodeWithCoder:(NSCoder *)coder; -(NSString*)stringDescription; @end /* LOIncident.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOIncident.h" #import "LOAppDelegate.h" @implementation LOIncident @synthesize cops, arrestees, date, location, title, notes; -(id)init { self = [super init]; if (self) { cops = [[NSMutableArray alloc] init]; arrestees = [[NSMutableArray alloc] init]; } return self; } -(NSString*)stringDescription { return [NSString stringWithFormat:@"Title: %@\nDate: %@\nLocation: %@\nNotes:


Bureauccupy Ashland /43

to a telephone pole. But with the deed changing hands, we had no choice but to leave our cherished land in the hands of Doctor Gerry, the “six figure hippy”, who planned to turn our home into a parking lot, just as he had turned the sacred birthing springs of the native Takilma people into a souped-up New Age crash pad (read: drug hub where enlightenment has a price tag and it costs extra to sleep in the tipi). I left town for my winter hideout just days before the ax came down. My friends on the Farm tried to hopscotch the trailer around town, but it was inevitably impounded by the police, leaving everyone to scatter like oak leaves.

joys wielding any small amount of power: counterculture gang member/drug dealers with high ideals, overbearing neurotics, and worst of all, Democrats.

I’ve since read in the Daily Tidings (Ashland's local paper) that the Occupy movement—oh yes, it is still “alive” in Ashland—has organized to bring its demands to City Hall, and it just makes my heart sink. What was once an experiment in asserting the people’s right to occupy and reimagine literally common ground has devolved into yet another lobbying organization, painstakingly trying to navigate a system which everyone knows is failing us, failing all life, and failing all life to come. Furthermore, their insistence on compartmentalization of the community’s time and resources inevitably attracted the kind of person who en-

Despite their lowly perception of me, what these Bureauccupiers failed to recognize is that I wasn’t homeless purely because of my natural disposition towards loafing—not purely. Like many others, my poverty was and is a reflection of my very sense of reality. I know—I do not merely believe—that no one can own life or land, that all life holds this earth in common, that my very body is not something “I” own, but is a miracle brought forth by this loving universe. The rain and breath and bread that give me life are only passing through me like water through a ripple in a stream. They belong as much to my ancestors and

Are these the occupiers who sat up late laughing and singing songs with me, or are they those who never understood what it meant to live beyond the logic of the very system which bred their dissent? Are these occupiers bound to one another by their mutual livelihood, by their common love for one another, for life, or are they bound by the razor to which they hold the world, the bonds to which they hold themselves?

%@\n\nCOPS:\n%@\nINVOLVED PEOPLE:\n%@", title, [LOAppDelegate stringFromDate:date], location, notes, [LOAppDelegate stringDescriptionForArray:cops], [LOAppDelegate stringDescriptionForArray:arrestees]]; } - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeObject:cops forKey:@"cops"]; [coder encodeObject:arrestees forKey:@"arrestees"]; [coder encodeObject:date forKey:@"date"]; [coder encodeObject:location forKey:@"location"]; [coder encodeObject:title forKey:@"title"]; [coder encodeObject:notes forKey:@"notes"]; } (id)initWithCoder:(NSCoder *)coder { self = [super init]; title = [coder decodeObjectForKey:@"title"]; notes = [coder decodeObjectForKey:@"notes"]; location = [coder decodeObjectForKey:@"location"]; date = [coder decodeObjectForKey:@"date"]; arrestees = [coder decodeObjectForKey:@"arrestees"]; cops = [coder decodeObjectForKey:@"cops"]; return self; } @end /* LOMedia.h LegalObserver Created by Roxanne Brittain on 11/1/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <Foundation/Foundation.h> #import <MediaPlayer/MediaPlayer.h> #define MEDIA_TYPE_PHOTO 1 #define MEDIA_TYPE_VIDEO 2 @interface LOMedia : NSObject { int type; UIImage *image; UIImage *thumbnailImage; NSString *im-


grandchildren unborn as they do to “me.” How, then, shall I pay for an apple?

and this compatibility is a sure sign of a movement’s destiny for disillusionment. The only sustainable rebellion is one that transcends the domestication Why should I adorn my ego with the of identity and its roles—one that tin badges of titles and structures—the holds to the spirit and the natural kind that turn one’s spontaneous par- freedom inherent in life—and refuses ticipation in communal wellbeing into all bonds in favor of the simple hua cog in a divided system of labor (eu- manity we all so desperately desire. phemistically called “responsibility”)—only to see these titles rendered For the wilderness, for the spirit, for meaningless by the natural course of anarchy. things? What I hold to in my life and my rebellion is the one air, the one -Bud Fielder water, the one earth. I call it all the spirit, the Tao, and it is sacred. Its very nature defies domestication, and domestication at its very root is its defilement. The Bureauccupiers failed when they imposed the hubris of domestication onto a naturally balanced, anarchic group of folks trying to recapture a sense of wholeness—as we had on the Farm—in a public space. And tellingly, they did so through their democratic system of consensus. The Left again shows itself to be an emperor parading around without any clothes. Any socalled revolution that prefers the hubris of structuralization to faith in the natural, the organic, the unpretentious, is bound to suffer the fate of merger with the system. Their logic is too compatible to resist the snug fit,

ageFilename; NSString *thumbnailImageFilename; NSURL *videoURL; NSDate *dateCreated; NSString *title; NSString *location; NSString *notes; int duration; MPMoviePlayerController *p; } @property int type; @property int duration; @property (nonatomic, retain) UIImage *image; @property (nonatomic, retain) UIImage *thumbnailImage; @property (nonatomic, retain) NSString *imageFilename; @property (nonatomic, retain) NSString *thumbnailImageFilename; @property (nonatomic, retain) NSURL *videoURL; @property (nonatomic, retain) NSDate *dateCreated; @property (nonatomic, retain) NSString *title; @property (nonatomic, retain) NSString *location; @property (nonatomic, retain) NSString *notes; -(id)initWithImage:(UIImage *)i; -(id)initWithVideoURL:(NSURL *)v; -(void)saveImageFile; -(void)saveThumbnailImageFile; -(NSString*)stringDescription; -(UIImage *)thumbnailImage; @end /* LOMedia.m LegalObserver Created by Roxanne Brittain on 11/1/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOMedia.h" #import "LOAppDelegate.h" #import <MediaPlayer/MediaPlayer.h> @implementation LOMedia @synthesize type, duration, image, thumbnailImage, imageFilename, thumbnailImageFilename, videoURL, dateCreated, title, location, notes; -(id)initWithImage:(UIImage *)i {


The Efficacious Educational Alternative /45

by H.H. Brown

The Occupy movement has never been a unified front. Despite participants’ insistence that all city encampments want the same, largely unarticulated thing, each Occupy is different. In addition to varying local causes, occupy is fractured by opposing views of national institutions. On one side, occupiers rally for institutional reform. Meanwhile, other protestors shirk existing institutions in favor of smallscale alternatives. The university has highlighted this schism. The majority of occupiers, like most Americans, have maintained that “higher education is the bedrock of American society”. Websites like occupygraduation.net and occupycolleges.org continue to flesh out this position even though the physical occupation has almost entirely evaporated. A list of demands including more

state and federal funding of higher education, job security, and debt relief appear on occupycolleges.org along with the question, “How will I ever pay this off?” 1 With the average college student graduating $20,000 in debt, their question seems appropriate and their demands warranted. But pro-university occupiers have directed their cries to the wrong entity. The university is a very big business with a grossly unfair market advantage. As Anya Kamenetz points out in DIY U “when there is a lack of transparency about real prices and costs and a lot of subsidies flowing into the market” as is the case with both public and private universities, “competition can lead to greater expenditures on marketing and features that don’t contribute directly to the quality of the product or service”. Kamenetz supports this point by referencing a 2009 study by Delta Project on Postsecondary Costs, Productivity, and Accountability, “there’s actually been faster growth in staff positions that have nothing to do with teaching than in faculty positions—departments like marketing, fund-raising, alumni relations, and enrollment management” 2. Most college recruiters and administrators attribute their school’s rising tuition to costs related to small class sizes and prestigious tenured profess-

[1] Occupy Colleges, http://occupycolleges.org/sign-the-no-cuts-no-compromises-petition/ [2] Anya Kamenetz, DIY U: Edupunks, Edupreneurs, and the Coming Transformation of Higher Education.

The Efficiacious Educational Alternative

self = [super init]; if (self) { image = i; imageFilename = [NSString stringWithFormat:@"image%f.jpg", [NSDate timeIntervalSinceReferenceDate]]; thumbnailImageFilename = [NSString stringWithFormat:@"thumb%@", imageFilename]; [self saveImageFile]; type = MEDIA_TYPE_PHOTO; dateCreated = [NSDate date]; } return self; } -(void)saveImageFile { NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *filePath = [NSString stringWithFormat:@"%@/%@",doc, imageFilename]; NSData *data = [NSData dataWithData: UIImageJPEGRepresentation(image, 1)]; if (![data writeToFile:filePath atomically:YES]) NSLog(@"image save failed"); } -(void)saveThumbnailImageFile { NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *filePath = [NSString stringWithFormat:@"%@/%@",doc, thumbnailImageFilename]; NSData *data = [NSData dataWithData: UIImageJPEGRepresentation(thumbnailImage, 1)]; if (![data writeToFile:filePath atomically:YES]) NSLog(@"image save failed"); } -(id)initWithVideoURL:(NSURL *)v { self = [super init]; if (self) { videoURL = v; type = MEDIA_TYPE_VIDEO; dateCreated = [NSDate date];


[3]. Gaye Tuchman, “Pressured and Measured: Professors at Wannabe U,” The Hedgehog Review, Spring 2012. [4] Occupy University, http://university.nycga.net/

ors. Interestingly, activists around the country have criticized the medical field for its opacity and agribusinesses for being bloated and blinded by government subsidies. The institution that seamlessly melds these two detriments to the public good is left largely unscathed.

schools. The site lists classes in everything from knitting to calculus. All courses are taught in community spaces with little or no cost to the participant. The hierarchy of the college classroom is traded for a belief in “equality of intelligence” 4. While some protestors have viewed these classes and schools as supplements to their To be fair, government subsidies for university education, others have beuniversities are one of the first budget gun to speak of lived experience and cuts made during a recession. When open source schooling as the ethical, government subsidies are not available, sustainable alternative to college enit is common to see other former re- rollment. cipients like large non-profits and small businesses cut costs and appeal Lots of folks, in and outside the Ocfor what are often smaller grants from cupy movement, have chosen people’s the private sector. The university has clinics over hospitals and farmer’s learned how to avoid this kind of wise markets over big box grocery stores. cost-cutting through cost shifting. As Holistic replacements have been found Gaye Tuchman, author of Wanna-Be U for non-transparent, money drunk instates “Without increased support from stitutions. The university is next. An other sources, universities have found education that can be paid for and that the most reliable way to increase believed in does not require a marketrevenues is to raise tuition and, for ing department or a public relations public institutions, to court out-of state coordinator. Our communities have students who pay more than locals always held the resources to help us do.” 3 learn how to be whole. Fortunately, there is an efficacious alternative to pleading for an affordable education with an institution addicted to wealth acquisition. Occupy University’s website documents the efforts of Occupy Philadelphia, Boston and New York to set up and maintain free

imageFilename = [NSString stringWithFormat:@"image%f.jpg", [NSDate timeIntervalSinceReferenceDate]]; thumbnailImageFilename = [NSString stringWithFormat:@"thumb%@", imageFilename]; p = [[MPMoviePlayerController alloc] initWithContentURL:videoURL]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieDurationAvailable:) name:MPMovieDurationAvailableNotification object:nil]; } return self; } -(void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMovieDurationAvailableNotification object:nil]; } -(void)movieDurationAvailable:(NSNotification*)notification { if (duration==0) duration = p.duration; } -(UIImage *)thumbnailImage { NSLog(@"%@", thumbnailImageFilename); if (!thumbnailImage) { NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *filePath = [NSString stringWithFormat:@"%@/%@",doc, thumbnailImageFilename]; thumbnailImage = [[UIImage alloc] initWithContentsOfFile:filePath]; } if (!thumbnailImage || (type==MEDIA_TYPE_VIDEO && duration==0)) { NSLog(@"generating thumbnail"); UIImage *i; if (type == MEDIA_TYPE_PHOTO) { i = self.image; //aspect fill float w = i.size.width; float h = i.size.height; float newH,


Watching the Watchers /47

Watching the Watchers: Watching the Professional Left Watch Occupy

by Cybil Disobedient

I generally don't tell grassroots activists in town for a single day of lobbying what we both know already: that pitting grassroots activists against powerful corporate lobbyists (some of them former Congresspeople) is akin to sending someone with high-school CPR training to work in a hospital trauma unit.

The rain is falling hard in D.C. as I write this. Thousands oftiny drops falling on the marble steps ofthe Capitol, on the coordinated imposition ofarchitecture so out ofscale that at first it confuses the eye. Ihave never found the hewn marble columns to give offa sense ofcomfort—though Ihave spent years here.

Washington, D.C. is often spoken of as two cities: the Federal City and the District. The divisions between the "two cities" can often be seen when national political figures or pundits attempt to comment on local policy, which is met with varying degrees of amusement or chagrin by those who understand true District politics. Perhaps, for this reason, it was fitting that our Occupy camps were also split in two.

When I train grassroots activists to “lobby” (a word with an incorrect connotation—what grassroots activists do is so completely different from what corporate lobbyists do, I always argue that we should use a different word to describe it), I tell them they should expect to feel small, expect to feel intimidated, so that they can recognize, and therefore control, the feelings of deep dissonance they will feel upon setting foot on the Hill, whether it’s for the first time or well beyond.

I experienced Occupy somewhat as a participant (doing some training and attending events, though I cannot claim much more), but perhaps more poignantly for me, as an outsider working in the progressive nonprofit sector and observing how the Professional Left, organizations, and mainstream political figures interacted with Occupy in Washington, D.C. I believe that the rift between the experiences of the Occupiers and the onlookers of the political left contains some important

newW; if (w>h) { newH = 75; newW = round((newH/h) * w); } else { newW = 75; newH = round((newW/w) * h); } UIGraphicsBeginImageContextWithOptions(CGSizeMake(75, 75), YES, [UIScreen mainScreen].scale); [i drawInRect:CGRectMake(-(newW-75)/2, -(newH-75)/2, newW, newH)]; } else { MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:videoURL]; i = [player thumbnailImageAtTime:0 timeOption:MPMovieTimeOptionNearestKeyFrame]; UIGraphicsBeginImageContextWithOptions(CGSizeMake(75, 75), YES, [UIScreen mainScreen].scale); CGContextRef context = UIGraphicsGetCurrentContext(); [i drawAtPoint:CGPointMake(0, 0)]; CGContextSetRGBFillColor(context, 0, 0, 0, 0.5); CGContextFillRect(context, CGRectMake(0, 55, 75, 20)); if (duration==0) duration = [player duration]; int s = duration; NSString *text = (s>0) ? [NSString stringWithFormat:@"%01d:%02d", s/60, s%60] : @"-:--"; CGContextSetRGBFillColor(context, 1, 1, 1, 1); [text drawAtPoint:CGPointMake(4, 55) withFont:[UIFont boldSystemFontOfSize:15]]; } thumbnailImage = UIGraphicsGetImageFromCurrentImageContext(); [self saveThumbnailImageFile]; UIGraphicsEndImageContext(); } return thumbnailImage; } -(UIImage *)image { if (!image) { NSString *doc = [NSSearchPath-


lessons. I would like to share a bit about how I saw the work of Occupy directly change the discourse of the mainstream Professional Left in D.C., even when those organizations did not directly provide support or participate in Occupy. I'll refrain from commenting on what these organizations should have done, though I think my opinion may come through anyway. But I see no need to rehash the many pieces already written on the reasons the Professional Left should be avoiding co-optational dynamics and working with Occupy. Throughout the initial occupation of Zuccotti Park, I watched the frenzy of possibility unfurl among lefties. It was the beginning of what I would call an expansion of our collective political imagination, augmenting the scope and narrative of what we believed politically possible expanding like a giant balloon inflating. Not many really saw Occupy coming, and, at first, much of the Professional Left was fairly stunned. Occupy was political work so raw, it exposed the grassroots of the Left that so often allow themselves to be mowed and swept away. “Wear your suits,” we are often told. But Occupy wore no suits, and I saw some upset—perhaps embarrassed—when what this part of the

urban Left looked like, sounded like, and thought like became suddenly visible. After the initial glow of Occupy had worn off came other reactions: “Who are they angry at?”, "Where are the demands?", “They’re not doing press well” this was—and is—perhaps the best-articulated and most-cited criticism of Occupy from the Professional Left. Occupy needed a clear list of targets, proper messaging, if only they could get a real “press strategy” in place. The problem was that Occupy was never just a campaign, or even a controlled offshoot of a structured organization with a start and a finish, so asking it to function like one was not an effective approach. Any attempt to impose a linear, advocacy, or electoral campaign structure on what was first a social movement is backwards. But, when you consider that the Professional Left has been doing it backwards for close to three decades—trying to turn political campaigns into social movements instead of participating in the hewing of political goals and campaigns from movement dynamics—it’s also a fairly predictable response. It belies a lack of self-reflection on the Professional Left that blinded us to why we had not been able to foster the sense of ownership of our own causes or activate

ForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *filePath = [NSString stringWithFormat:@"%@/%@",doc, imageFilename]; image = [[UIImage alloc] initWithContentsOfFile:filePath]; } return image; } -(NSString*)stringDescription { return [NSString stringWithFormat:@"Title: %@\nDate: %@\nLocation: %@\nNotes: %@\n", title, [LOAppDelegate stringFromDate:dateCreated], location, notes]; } - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeInt:duration forKey:@"duration"]; [coder encodeInt:type forKey:@"type"]; [coder encodeObject:imageFilename forKey:@"imageFilename"]; [coder encodeObject:thumbnailImageFilename forKey:@"thumbnailImageFilename"]; [coder encodeObject:videoURL forKey:@"videoURL"]; [coder encodeObject:dateCreated forKey:@"dateCreated"]; [coder encodeObject:title forKey:@"title"]; [coder encodeObject:location forKey:@"location"]; [coder encodeObject:notes forKey:@"notes"]; } - (id)initWithCoder:(NSCoder *)coder { self = [super init]; duration = [coder decodeIntForKey:@"duration"]; type = [coder decodeIntForKey:@"type"]; imageFilename = [coder decodeObjectForKey:@"imageFilename"]; thumbnailImageFilename = [coder decodeObjectForKey:@"thumbnailImageFilename"];


Watching the Watchers /49

the critical mass of people that Occupy had in weeks. I saw far more self-congratulation and arrogance about the dominance of a press strategy when we could have held Occupy up as a mirror to our own work. Perhaps, on some level, we all knew we would fall short in many respects. All the same, I watched many of my colleagues, as individuals, dive into Occupy head first. Many sat through their first consensus meetings without an organizational hierarchy imposed, and I felt them grapple with concerns about process, watched them undertake the difficult task of reinventing the wheel in a stew of group dynamics. Some time later, I listened to the rhetoric about Occupy from my colleagues turn from “this was impossible” to “this was inevitable.” As organizations began to grasp that Occupy was not going away, they also had to confront the specter of their own relationships to it. I watched as they came face to face with an unfamiliar question: How do we deal with something we cannot “control?”

about what was happening, but transfixed in shock. What was shocking? I think it always shocks people when a new type or venue of political power is created, and the people who are most shocked are the ones under whose very noses its seeds were hiding all along—in this case, the Professional Left. What many people still don't understand is the non-monolithic nature of Occupy. Resistance to the hierarchies that typify professional politics is a central tenant, and without understanding that Occupy functions more like a movement than like an organization or campaign, the Professional Left was essentially left behind. But let’s take stock of the progress for a minute.

Do you remember trying to talk about economic inequality before Occupy? If you were lucky, the discussion started with comments about the dwindling middle class. If you could keep the conversation off the twin red herrings of taxes and entitlements, the discourse ultimately dwindled into sort of Occupy blew the political minds of stalemate when the discourse, caught those on the Professional Left, and between mega banks, the subprime many of them stayed blown. They housing bubble, and Citizens United. watched the occupations from their of- Occupy created a accessible, left-centfice windows, unable to really talk ric forum and language to talk about

videoURL = [coder decodeObjectForKey:@"videoURL"]; dateCreated = [coder decodeObjectForKey:@"dateCreated"]; title = [coder decodeObjectForKey:@"title"]; location = [coder decodeObjectForKey:@"location"]; notes = [coder decodeObjectForKey:@"notes"]; return self; } @end /* LOPerson.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <Foundation/Foundation.h> @interface LOPerson : NSObject { NSString *fullName; NSString *notes; NSString *email; NSString *phone; NSString *address; } @property (nonatomic, retain) NSString *fullName; @property (nonatomic, retain) NSString *notes; @property (nonatomic, retain) NSString *email; @property (nonatomic, retain) NSString *phone; @property (nonatomic, retain) NSString *address; - (void)encodeWithCoder:(NSCoder *)coder; - (id)initWithCoder:(NSCoder *)coder; -(NSString*)stringDescription; @end /* LOPerson.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOPerson.h" @implementation LOPerson @synthesize fullName, notes, email, phone, address; -(NSString*)stringDescription { return @""; } - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeObject:fullName


inequality, something the Professional Left had been unable to do since the heyday of the Civil Rights Movement. We didn’t have language that we truly “owned” to talk about inequality. We now talk openly, not just about the “loss of the middle class” —a somewhat unclear signifier—but the newly-minted 99%, a body that, at least in popular discourse, did not exist before. Occupy gave us a narrative of empowerment. We now have the most important weapon we need to wage the battle of the story on equal footing. With power in numbers, we are able to place the interests of the 99% against the conventional economic political power of the 1%. It sits us down to the chessboard, when before we couldn’t even see the table. Grassroots “lobbying” is great, but it can never match the monolithic power of corporate lobbying. We on the Professional Left need to accept that it never will, and, for that matter, never should. We need to accept that it’s time to build political power from the bottom, not from the top. We need to accept, because it’s the only way we’re going to win.

forKey:@"fullName"]; [coder encodeObject:notes forKey:@"notes"]; [coder encodeObject:email forKey:@"email"]; [coder encodeObject:phone forKey:@"phone"]; [coder encodeObject:address forKey:@"address"]; } - (id)initWithCoder:(NSCoder *)coder { self = [super init]; fullName = [coder decodeObjectForKey:@"fullName"]; notes = [coder decodeObjectForKey:@"notes"]; email = [coder decodeObjectForKey:@"email"]; phone = [coder decodeObjectForKey:@"phone"]; address = [coder decodeObjectForKey:@"address"]; return self; } @end /* LOSecondViewController.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> @interface LOSecondViewController : UIViewController @end /* LOSecondViewController.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOSecondViewController.h" @implementation LOSecondViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { self.title = NSLocalizedString(@"Second", @"Second"); self.tabBarItem.image = [UIImage imageNamed:@"second"]; } return self; } -


Legal Observer /51 (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } @end /* LOTableViewCell.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> #define TABLE_CELL_STYLE_FORM 8 #define TABLE_CELL_STYLE_PERSON 9 #define TABLE_CELL_STYLE_NOTE 10 #define TABLE_CELL_STYLE_BUTTON 11 @interface LOTableViewCell : UITableViewCell <UITextFieldDelegate, UITextViewDelegate> { UILabel *titleLabel; UITextField *textField; UITextView *textView; int cellStyle; NSString *key; id object; BOOL isDate; BOOL showTime; UIDatePicker *datePicker; } @property (nonatomic, retain) UILabel *titleLabel; @property (nonatomic, retain) UITextField *textField; @property (nonatomic, retain) UITextView *textView; @property (nonatomic, retain) NSString *key; @property (nonatomic, retain) id object; @property BOOL isDate; @property BOOL showTime; -(void)didSelectCell; @end /* LOTableViewCell.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "LOTableViewCell.h" #import "LOAppDelegate.h" #define kTextFieldFrame CGRectMake(110, 11, 190, 24) #define kTextViewFrame CGRectMake(0, 0, 290, 90) #define kTextLabelFrame CGRectMake(0, 11, 100, 24) @implementation LOTableViewCell @synthesize titleLabel, textField, textView, key, object, showTime; - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle: (style>7 ? UITableViewCellStyleDefault : style) reuseIdentifier:reuseIdentifier]; if (self) { // Initialization code cellStyle = style; self.selectionStyle = UITableViewCellSelectionStyleGray; if (style == TABLE_CELL_STYLE_FORM) { titleLabel = [UILabel new]; titleLabel.frame = kTextLabelFrame; titleLabel.textAlignment = UITextAlignmentRight; titleLabel.backgroundColor = [UIColor clearColor]; titleLabel.font = [UIFont boldSystemFontOfSize:16]; titleLabel.textColor = [UIColor darkTextColor]; [self.contentView addSubview:titleLabel]; textField = [UITextField new]; textField.frame = kTextFieldFrame; textField.borderStyle = UITextBorderStyleNone; textField.delegate = self; textField.returnKeyType = UIReturnKeyDone; textField.clearButtonMode = UITextFieldViewModeWhileEditing; [self.contentView addSubview:textField]; self.selectionStyle = UITableViewCellSelectionStyleNone; } else if (style == TABLE_CELL_STYLE_PERSON) { } else if (style == TABLE_CELL_STYLE_NOTE) { textView = [UITextView new]; textView.frame = kTextViewFrame; textView.delegate = self; textView.returnKeyType = UIReturnKeyDone; textView.backgroundColor = [UIColor clearColor]; textView.font = [UIFont systemFontOfSize:14]; [self.contentView addSubview:textView]; self.selectionStyle = UITableViewCellSelectionStyleNone; } else if (style == TABLE_CELL_STYLE_BUTTON) { self.textLabel.textAlignment = UITextAlignmentCenter; self.backgroundColor = [UIColor redColor]; self.textLabel.textColor = [UIColor whiteColor]; self.textLabel.shadowColor = [UIColor darkGrayColor]; self.textLabel.shadowOffset = CGSizeMake(0, -.5); } } return self; } -(void)didSelectCell { if (cellStyle == TABLE_CELL_STYLE_FORM) [textField becomeFirstResponder]; else if (cellStyle == TABLE_CELL_STYLE_NOTE) [textView becomeFirstResponder]; } -(void)setIsDate:(BOOL)b { isDate = b; if (isDate) { if (!datePicker) { datePicker = [[UIDatePicker alloc] init]; NSDate *date = [object valueForKey:key]; if (date) datePicker.date = date; datePicker.datePickerMode = (showTime) ? UIDatePickerModeDateAndTime : UIDatePickerModeDate; [datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; } textField.inputView = datePicker; } else { textField.inputView = nil; } } -(BOOL)isDate { return isDate; } -(void)datePickerValueChanged:(id)sender { textField.text = [LOAppDelegate stringFromDate:datePicker.date withTime:showTime]; } -(BOOL)textFieldShouldReturn:(UITextField *)tf { [tf endEditing:YES]; return YES; } -(void)textFieldDidEndEditing:(UITextField *)tf { if (!isDate) { if (key) [object setValue:tf.text forKey:key]; } else { if (key) [object setValue:datePicker.date forKey:key]; } } - (BOOL)textView:(UITextView *)tv shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if([text isEqualToString:@"\n"]) { [tv resignFirstResponder]; return NO; } return YES; } -(void)textViewDidEndEditing:(UITextView *)tv { if (key) [object setValue:tv.text forKey:key]; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end /* main.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> #import "LOAppDelegate.h" int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([LOAppDelegate class])); } } // // MediaDetailViewController.h // LegalObserver // // Created by Roxanne Brittain on 11/1/11. // Copyright (c) 2011 Digifit. All rights reserved. // #import <UIKit/UIKit.h> #import "LOMedia.h" #import <MediaPlayer/MediaPlayer.h> #import <MessageUI/MFMailComposeViewController.h> @interface MediaDetailViewController : UITableViewController <UITextViewDelegate, UITextFieldDelegate, MFMailComposeViewControllerDelegate, UIActionSheetDelegate> { LOMedia *media; int mediaIndex; UIView *mediaView; UIImageView *imageView; NSMutableArray *mediaArray; MPMoviePlayerController *moviePlayerController; } @property (nonatomic, retain) LOMedia *media; @property (nonatomic, retain) MPMoviePlayerController *moviePlayerController; (id)initWithMediaIndex:(int)i; -(void)displayMedia; -(void)deleteMedia; -(void)onRightButton:(id)sender; -(void)onLeftButton:(id)sender; -(void)createAndConfigurePlayerWithURL:(NSURL *)movieURL sourceType:(MPMovieSourceType)sourceType; -(void)createAndPlayMovieForURL:(NSURL *)movieURL sourceType:(MPMovieSourceType)sourceType; @end /* MediaDetailViewController.m LegalObserver Created by Roxanne Brittain on 11/1/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "MediaDetailViewController.h" #import "LOAppDelegate.h" #import "LOTableViewCell.h" #import <QuartzCore/QuartzCore.h> #define SECTION_ID_GENERAL_INFO 0 #define SECTION_ID_NOTES 1 #define SECTION_ID_EMAIL 2 @implementation MediaDetailViewController @synthesize media, moviePlayerController; - (id)initWithMediaIndex:(int)i { self = [super initWithStyle:UITableViewStyleGrouped]; if (self) { // Custom initialization mediaIndex = i; self.title = @"Media Details"; } return self; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle /* // Implement loadView to create a view hierarchy programmatically, without using a nib. - (void)loadView { } */ // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; mediaArray = [LOAppDelegate getMediaArray]; UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 301, 234)]; mediaView = [[UIView alloc] initWithFrame:CGRectMake(10, 9, 301, 225)]; imageView = [[UIImageView alloc] initWithFrame:mediaView.bounds]; imageView.contentMode = UIViewContentModeScaleAspectFit; imageView.backgroundColor = [UIColor whiteColor]; imageView.layer.borderColor = [UIColor lightGrayColor].CGColor; imageView.layer.borderWidth = 1; [mediaView addSubview:imageView]; [view addSubview:mediaView]; [self.tableView setTableHeaderView:view]; [self displayMedia]; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(onDoneButton:)]; UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"rightarrow.png"] style:UIBarButtonItemStylePlain target:self action:@selector(onRightButton:)]; UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"leftarrow.png"] style:UIBarButtonItemStylePlain target:self action:@selector(onLeftButton:)]; UIBarButtonItem *trashButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(onTrashButton:)]; self.toolbarItems = [NSArray arrayWithObjects:spacer, leftButton, spacer, rightButton, spacer, trashButton, nil]; self.navigationController.toolbarHidden = NO; } -(void)displayMedia { media = [mediaArray objectAtIndex:mediaIndex]; if (media.type == MEDIA_TYPE_PHOTO) { imageView.image = media.image; [moviePlayerController.view setHidden:YES]; [moviePlayerController stop]; } else { imageView.image = nil; [self createAndPlayMovieForURL:media.videoURL sourceType:MPMovieSourceTypeFile]; [moviePlayerController.view setHidden:NO]; } } -(void)createAndConfigurePlayerWithURL:(NSURL *)movieURL sourceType:(MPMovieSourceType)sourceType { if (!moviePlayerController) moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; if (moviePlayerController) { [moviePlayerController setContentURL:movieURL]; [moviePlayerController setMovieSourceType:sourceType]; NSLog(@"mv: %@", mediaView); [[moviePlayerController view] setFrame:CGRectMake(0, 0, mediaView.frame.size.width, mediaView.frame.size.height)]; NSLog(@"->mp vw: %@", moviePlayerController.view); [moviePlayerController setScalingMode:MPMovieScalingModeAspectFit]; [moviePlayerController view].backgroundColor = [UIColor whiteColor]; [moviePlayerController backgroundView].backgroundColor = [UIColor whiteColor]; [moviePlayerController view].layer.borderWidth = 1; [moviePlayerController view].layer.borderColor = [UIColor lightGrayColor].CGColor; [mediaView addSubview: [moviePlayerController view]]; } [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieDurationAvailable:) name:MPMovieDurationAvailableNotification object:nil]; } -(void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMovieDurationAvailableNotification object:nil]; } -(void)movieDurationAvailable:(NSNotification*)notification { if (media.duration==0) media.duration = moviePlayerController.duration; } /* Load and play the specified movie url with the given file type. */ -(void)createAndPlayMovieForURL:(NSURL *)movieURL sourceType:(MPMovieSourceType)sourceType { [self

createAndConfigurePlayerWithURL:movieURL sourceType:sourceType]; [[self moviePlayerController] play]; } -(void)onDoneButton:(id)sender { [moviePlayerController stop]; moviePlayerController = nil; UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 40,20)]; UIBarButtonItem *activityItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator]; activityItem.style = UIBarButtonItemStyleBordered; self.navigationItem.rightBarButtonItem = activityItem; [activityIndicator startAnimating]; [NSThread detachNewThreadSelector:@selector(saveAndDismiss) toTarget:self withObject:nil]; } -(void)onTrashButton:(id)sender { UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Delete Media" otherButtonTitles: nil]; [actionSheet showFromToolbar:self.navigationController.toolbar]; } (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex==0) [self deleteMedia]; } -(void)deleteMedia { [mediaArray removeObjectAtIndex:mediaIndex]; [self onLeftButton:nil]; } -(void)saveAndDismiss { [LOAppDelegate saveMediaArray:mediaArray]; [self dismissModalViewControllerAnimated:YES]; } -(void)onRight-


The Rise and Fall of

by Lisa McCool-Grime

The number of letters in each line corresponds to the number of times the title word occurs in that year's state ofthe union speech. All state ofthe union speeches made since my birth are represented with the exception ofthe year 1981 in which both Carter and Reagan made a speech. Given the unusal length ofCarter's 81 speech, Ichose to omit it.

Button:(id)sender { mediaIndex++; mediaIndex%=[mediaArray count]; [self displayMedia]; [self.tableView reloadData]; // [LOAppDelegate saveMediaArray:mediaArray]; } -(void)onLeftButton:(id)sender { mediaIndex--; mediaIndex=(mediaIndex+[mediaArray count])%[mediaArray count]; [self displayMedia]; [self.tableView reloadData]; // [LOAppDelegate saveMediaArray:mediaArray]; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return YES; return (interfaceOrientation == UIInterfaceOrientationPortrait); } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 3; } -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { if (section==SECTION_ID_GENERAL_INFO) return @""; else if (section==SECTION_ID_NOTES) return @"Notes"; return @""; } -(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section { if (section==SECTION_ID_GENERAL_INFO) return @"";


The Rise and Fall of /53

else if (section==SECTION_ID_NOTES) return @""; return @""; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. if (section==SECTION_ID_GENERAL_INFO) return 3; else if (section==SECTION_ID_NOTES) return 1; else if (section==SECTION_ID_EMAIL) return 1; return 0; } (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section==SECTION_ID_NOTES) return 100; else return 45; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; int style = UITableViewCellStyleDefault; if (indexPath.section == SECTION_ID_GENERAL_INFO) style = TABLE_CELL_STYLE_FORM; else if (indexPath.section == SECTION_ID_NOTES) style = TABLE_CELL_STYLE_NOTE; else if (indexPath.section == SECTION_ID_EMAIL) style = TABLE_CELL_STYLE_BUTTON; LOTableViewCell *cell = nil;//[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[LOTableViewCell alloc] initWithStyle:style reuseIdentifier:CellIdentifier]; cell.object = media; } if (indexPath.section==SECTION_ID_GENERAL_INFO) { if (indexPath.row==0) {


The Shit We Learn to Live With

it was a thing that felt really good for a minute, like, hey gurrl, we shut down the port, and like it was kind of cool by Noah Geraci that the big actions were sprawling and disparate enough that I could show up when I wanted and decide what it meant for me without feeling like I was joining a static group or having to suspend any form of skepticism. Opt out of manarchist melodramatics and corny slogans as needed. And then it was also this other thing I’m writing this to the sound of police about everyone getting teargassed and helicopters outside my window. Music helicopters keeping me up and friends by the new band of an old pen pal in jail and the ominous BART loudcrush on another coast to drown it out. speaker announcements of “civil unPhone beeping with another text, “I’m rest.” And then it was a thing I felt in okay, are you?” I was working until six, my body and I hate that it always safe (bored) and sound. I know I comes down to this. should be grateful but would being there have been some kind of cath- I’m okay are you okay and I’m okay arsis? Instead I just get the lonely are you okay and I'm okay are you anxiety, bitter taste in my mouth okay I’m okay, okay? thinking about how it feels like every protest ends up being about cops. The ••• fucking intensity of brutality overwhelming everything else. You had matching bruises on your arms when I caught up to you. Dark In the beginning I was pretty sure it purple dissipating outward. We hugged was just gonna be oogles and their and I asked, “what happened?” Felt dogs and maybe some intense ex-Ron dumb as soon as it came out, sure Paul, philosophy major boys and I you'd heard it too many times already. didn’t really get why people cared or “Oh, whatever, I was just asking people why it was happening now instead of to punch me when I was drunk.” every other point in time that things are fucked (always). But then suddenly I was wearing my official Critical Res-

cell.titleLabel.text = @"Title"; cell.textField.placeholder = @"Title"; cell.textField.text = media.title; cell.key = @"title"; } else if (indexPath.row==1) { cell.titleLabel.text = @"Date"; cell.textField.placeholder = @"Date"; cell.textField.text = [LOAppDelegate stringFromDate:media.dateCreated]; // cell.textField.enabled = NO; cell.key = @"dateCreated"; cell.showTime = YES; cell.isDate = YES; } else if (indexPath.row==2) { cell.titleLabel.text = @"Location"; cell.textField.placeholder = @"Location"; cell.textField.text = media.location; cell.key = @"location"; } } else if (indexPath.section==SECTION_ID_NOTES) { cell.textView.text = media.notes; cell.key = @"notes"; } else if (indexPath.section==SECTION_ID_EMAIL) { cell.textLabel.text = @"Email Media & Info"; } return cell; } /* // Override to support conditional editing of the table view. - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return YES; } */ /* // Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // Delete the row from


The Shit We Learn to Live With /55

istance t-shirt, still plasticky chemical smell new, but I ditched the banner I was holding in search of some kinda messy queer friendship realness, hoping I’d feel something besides achy and anxious when we crossed the bridge into the port. And I did. It felt good watching the sun set over the Star Wars cranes and the fresh-faced kids climbing onto train railings and empty semi trucks. We walked a long time then sat down on the sidewalk of the access road, watching the waves of people pass forever.

ally you went to Burrito World with them and I went home.

And eventually you got arrested and I didn’t know until later, and eventually it was my birthday and I got drunk in my kitchen and made four pizzas with all of my friends here. And then you were the only one who wanted to go out and dance or something, but we ended up at your friends’ apartment in Chinatown instead. We were only supposed to be going there to get whiskey and then go back but somehow we got stuck, everyone drunk and lazy talking When it got dark we found your old about their boring polyamory drama friends and sat down in the street. You and somehow this one older lesbian in introduced me with the new name, the a track jacket talking about Lauryn one that spent a year sitting in a desk Hill. We talked about how jail is the drawer on a crumpled sheet of paper. I worst thing, the most miserable bullshook hands and mumbled, felt like an shit, the hardest to articulate, except exposed pile of muscle and bone. The that there was one boy there you had a old name felt alien, but familiar. The crush on and you got his number and new one is familiar, but alien. Some you weren’t sure if you should call him. hippies sang songs we rolled our eyes We both got kinda teary and I put my at and everyone was very confused arm around you and you put your about what time to leave or how long head on my shoulder and I thought we were supposed to stay or what con- about how your hair kind of smelled stitutes the official formation of a like my ex-girlfriend’s. picket line. Eventually we left and I remember I felt embarrassed of your ••• friends, such a lingering herd of Santa Cruz whiteness outside the liquor store I watch the news now because I’m on 14th and Adeline. And I said I felt supposed to “support individuals with funny and that we should start walking developmental disabilities in their and then I felt like a jerk. And eventu- preferred activities” and one person

the data source [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view } } */ /* // Override to support rearranging the table view. - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { } */ /* // Override to support conditional rearranging of the table view. - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the item to be reorderable. return YES; } */ #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // Navigation logic may go here. Create and push another view controller. [(LOTableViewCell*)[tableView cellForRowAtIndexPath:indexPath] didSelectCell]; if (indexPath.section==SECTION_ID_EMAIL) { MFMailComposeViewController *vc = [LOAppDelegate backupMedia:media]; vc.mailComposeDelegate = self; [self presentModalViewController:vc animated:YES]; } } -(void)mailCompo-


that I work with two days a week prefers to watch the news, and eat TGI Friday's brand frozen chicken strips and “jalapeno poppers,” and play a computer game called “Gardens of Time.” Actually, she prefers Keeping Up With the Kardashians over the news, and sometimes yells “Why can’t you show anything good?” at the KRON 4 newscasters, but it seems like any TV noise will usually do, provide some kind of pretext for conversation. I watch the news and this is how I know about the fifteen-year-old boy who lived about a mile from me, who strangled both his parents to death and put their bodies in their PT Cruiser and set it on fire. The boy’s name is Moses Kamin and his dad was a therapist who worked at the jail and his mom worked at a clinic in the Tenderloin. They sound so lefty educated Jewish or maybe “half Jewish” perfect, the way my family wanted to be. So I’m already kind of obsessed, trying to figure out like if the parents were secretly awful, they say he was adopted, what were the race and class dynamics happening, I had never really thought about killing your parents before besides in some blasé unrealistic punk way like the plot of a movie I would’ve liked as a teenager. I had never thought about what it would actually entail. And was he like Christian

Slater in Heathers or was he some video game dork. And then the newscaster is like, “Some say the couple had been fighting with their son for spending too much time at the Occupy Oakland encampment.” Cut to a still shot of tents, and crusties holding signs—the same one they used last week when they talked about some shooting way out in East Oakland, being like, “Some witnesses questioned whether the shooting had any connection with Occupy, and if police response time was delayed because of the resources spent dealing with violent Occupy protesters.” The Red Lobster commercial comes on, with the dripping butter and probably some “hidden” phallic symbols that I want to put in my mouth a little more every time they show them, and I try to imagine that I am a person who is genuinely excited about Red Lobster, and genuinely kind of believes that “the Occupy movement” is causing mass chaos and inspiring everyone to shoot each other and kids to set their parents’ dead bodies on fire in their PT Cruisers. I feel confused and overwhelmed and kind of excited. I'm still not sure why this (“Occupy”) is the thing that took, that gained so

seController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error { [self dismissModalViewControllerAnimated:YES]; } @end /* PhotoListViewController.h LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> @interface PhotoListViewController : UIViewController <UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate> { CGRect returnFrame; UIScrollView *scrollView; NSMutableArray *mediaArray; } -(void)addNew; -(void)takePhotoOrVideo; -(void)chooseFromLibrary; -(void)setupMediaDisplay; -(void)imageButtonSelected:(id)sender; - (BOOL) startCameraControllerFromViewController:(UIViewController*) controller usingDelegate: (id <UIImagePickerControllerDelegate, UINavigationControllerDelegate>) delegate; - (BOOL) startMediaBrowserFromViewController: (UIViewController*) controller usingDelegate: (id <UIImagePickerControllerDelegate, UINavigationControllerDelegate>) delegate; @end /* PhotoListViewController.m LegalObserver Created by Roxanne Brittain on 10/30/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "PhotoListViewController.h" #import <AudioTool-


The Shit We Learn to Live With /57

much cultural currency, that became a “thing.” I have known shit is fucked for almost as long as I can remember. There is so much shit always fucked up and so many big and tiny daily re/actions against it. What makes this moment and this particular form of action unique? But maybe it doesn't matter. It’s a thing now, a feature of the landscape that we adapt to. My dad even called me, like, “I got this email from Moveon.org, did you hear about the guy who got hit by a tear gas canister?” and I was like “Yeah, duh Dad, I can hear the helicopters.”

tomontage, a corny college class taught by some “cool dad”-style professor, or a museum exhibit with a painful color scheme. I hope everyone with any proximity to it preserves all their weird feelings and shittalking and messiness and social drama and contradictions, both for any hope of historical “accuracy” and because that’s the only thing I really like to read about anymore when I read about organizing. Like charismatic organizer dudes who are “secretly” weird douchebags and people spilling their funny or fucked up relationship gossip and this really great thing I just read The main thing I hope is that it's not in Ann Cvetovich’s oral histories in An aetheticized and historicized in some Archive of Feelings, about ACT UP cheesy way like the way people talk members arguing over whether it’s about “the 60s,” even though I’m okay to order Domino’s Pizza and then pretty sure that’s already in the process everyone doing it secretly anyway and of happening. It was being Internet- hiding the boxes under their beds. broadcast as it was happening and every eager 19-year-old anarchy boy who wasn’t there immediately posted it on Facebook and got a (comfortable distance from) police violence boner. This guy that came to look at a room for rent in my house was like “Yeah, I’ve been traveling for a while but I’d really like to move here, it seems like things are really popping off in Oakland right now” and I was just like ew please don’t. Soon enough it’ll be a Ken Burns pho-

box/AudioServices.h> #import <MobileCoreServices/UTCoreTypes.h> #import "LOAppDelegate.h" #import <QuartzCore/QuartzCore.h> #import "LOMedia.h" #import "MediaDetailViewController.h" #define kTagExpanded 3 @implementation PhotoListViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization self.view.backgroundColor = [UIColor whiteColor]; self.title = @"Camera"; self.tabBarItem.image = [UIImage imageNamed:@"86-camera"]; } return self; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle /* // Implement loadView to create a view hierarchy programmatically, without using a nib. (void)loadView { } */ // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addNew)]; scrollView = [[UIScrollView alloc] initWith-


Occupying a Contradiction

homes and cars bought on credit—enabling the consumption of more commodities that would lead to more by Roger Swain debt—now our education, supposedly an investment in our future earning power, becomes more impossible to finish paying for. Everything that we think is ours, present and future, is only on loan. We are caught, in our particular way, in the same motion of capital that makes others increasingly “How does it feel to be a problem?” permanently superfluous as well: fore–WEB DuBois, 1903 closed homeowners, returning veterans, the chronically homeless, And make no mistake; the position of working-class people in cities and the student today is a problem. Not countrysides the world over. Plus, just in the way that the young are al- we’ve all known someone our age in ways a problem, or even in the way the military, and we all know while that massive global youth unemploy- some of us were over there ‘protecting ment indicates just how negative over- freedom’. The last of the great con all economic tendencies are, but men took the money and ran. specifically because education is sup- “Change life! Change Society! These ideas posed to produce the type of know- lose completely their meaning without ledge-labor base our economy needs producing an appropriate space…. new to function, while the trend of that social relations demand a new space, and economy has been to exclude more vice-versa.” –Henri Lefebvre, 1974 and more people from work. Since capitalism relies on the extraction of Occupation can mean a lot of things; profit from waged labor, the develop- in terms of employment, it indicates a ment of ever more efficient means of temporality more precarious than that production has led to a worldwide de- of a ‘profession’ or ‘career’, which cline in productive employment, which many of us will never have. If our has been replaced by credit markets problems are not merely problems the and the service sector; the economy economy ‘is having’ but problems of may be in some sense little more than the reproduction of the economy per one big speculative bubble. First it was se—thus problems of the reproduction

Frame:self.view.bounds]; scrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; scrollView.alwaysBounceVertical = YES; [self.view addSubview:scrollView]; mediaArray = [LOAppDelegate getMediaArray]; } -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self setupMediaDisplay]; } -(void)setupMediaDisplay { for (UIView *subview in [scrollView subviews]) [subview removeFromSuperview]; float width = self.view.frame.size.width; float w = 75; int n = (int) floorf(width/w); float s = (width - (w*n)) / (n+1); int top, left; for (int i=0; i<mediaArray.count; i++) { LOMedia *media = [mediaArray objectAtIndex:i]; UIImage *image = [media thumbnailImage]; top = s + (w+s) * ((i-i%n)/n); left = s + (w+s) * (i%n); UIButton *imageButton = [UIButton buttonWithType:UIButtonTypeCustom]; imageButton.frame = CGRectMake(left, top, 75, 75); [imageButton addTarget:self action:@selector(imageButtonSelected:) forControlEvents:UIControlEventTouchUpInside]; [imageButton setImage:image forState:UIControlStateNormal]; [imageButton setContentMode:UIViewContentModeScaleAspectFill]; [imageButton.imageView setContentMode:UIViewContentModeScaleAspectFill]; imageButton.layer.borderColor = [UIColor


Occupying a Contradiction /59

of society as a whole—there are no economic solutions. When Margaret Thatcher said, “There is no such thing as society, only individuals and their families”, she was not just expressing neo-liberal propaganda of individualism but describing the real atomization and alienation created in the ever greater spheres of social life subordinated to the needs of capital after WWII. Where it was once one’s civic duty to read the newspaper, vote, be convivial with one’s neighbors, etc.—the New England town meeting tradition comes to mind—who can say now what, who, or where society really is, whatever’s left of it? We move from school to work to store to housing, ignoring most around us, even in our leisure time we rarely step outside the normal circuits; rarely do we constitute an other circuitry or have different sorts of encounters with our surroundings. Some relieve this alienated monotony by rioting on Meadow Street when the Sox win. For all the talk of the occupation movement’s lofty goals for society, less has been said about the one thing they have accomplished (or seem likely to accomplish any time soon): the creation of alternative social spaces, experiments with sociability that reclaim a sense of locality that’s been lost to telecommunications and the comodification of daily life. Spaces where the superflu-

ous and excluded from different backgrounds could encounter one another and establish new collective experiences of sociality and power. This is something that no specific political formula, agenda or list of demands corresponds to, but it seems like a reasonable way to start grappling, collectively, with the problems we face which are deeply social. The greatest failure of the movement of occupations so far has been in not grasping the radical potential of what it’s already done. Of course, it reflects somewhat the superficiality of a highly mediated, information-saturated society: the movement has been largely fed by media exposure (both ‘social’ and ‘mainstream’), and much of its activity has been the production of images of protest. Oakland’s General Strike was more an attempt to create an image of one. What people say or think is not as important as what they do, certainly when considered as a society. In Greece—where ‘riot cop’ is the only ‘good’ job left to the working class—one observes the proximity and interconnection between occupation, strike, and riot, and the movements of immigrants, students, the unemployed, unions, prisoners… So what’s the point? To re-appropriate

our sociality. To ask people to come out into the common spaces and dis-

grayColor].CGColor; imageButton.layer.borderWidth = .5; imageButton.tag = i; [scrollView addSubview:imageButton]; } scrollView.contentSize = CGSizeMake(width, top + 79); } -(void)imageButtonSelected:(id)sender { UIButton *button = (UIButton *)sender; // LOMedia *media = [[LOAppDelegate getMediaArray] objectAtIndex: button.tag]; MediaDetailViewController *detailViewController = [[MediaDetailViewController alloc] initWithMediaIndex:button.tag]; UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:detailViewController]; nc.navigationBar.tintColor = [UIColor redColor]; nc.toolbarHidden = NO; nc.toolbar.tintColor = [UIColor redColor]; // ... // Pass the selected object to the new view controller. [self presentModalViewController:nc animated:YES]; } -(void)addNew { UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Media Source" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Take Photo or Video", @"Choose from Library", nil]; [actionSheet showFromTabBar:self.tabBarController.tabBar]; } - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex==0) [self takePhotoOrVideo]; else if (buttonIn-


cuss common problems. Maybe this isn’t the collapse of capitalism; maybe these moments will be only what they’ve been. Maybe they will help us deal with whatever’s coming—winter as both season and metaphor; maybe they will bear fruit in spring, or maybe they’ll have been only a hiccup in the reform and prolongation of a decaying order of debt and misery. Maybe we’ll look back and shake our heads: “what did we think we were doing with all that misplaced hope and enthusiasm, the self-important rhetoric and pageantry?” Then again… Amherst, November 2011

dex==1) [self chooseFromLibrary]; } -(void)takePhotoOrVideo { [self startCameraControllerFromViewController:self usingDelegate:self]; } -(void)chooseFromLibrary { [self startMediaBrowserFromViewController: self usingDelegate: self]; } - (BOOL) startCameraControllerFromViewController:(UIViewController*) controller usingDelegate: (id <UIImagePickerControllerDelegate, UINavigationControllerDelegate>) delegate { if (([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera] == NO) || (delegate == nil) || (controller == nil)) return NO; UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init]; cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera; // Displays a control that allows the user to choose picture or // movie capture, if both are available: cameraUI.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType: UIImagePickerControllerSourceTypeCamera]; cameraUI.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, (NSString *) kUTTypeMovie, nil]; // Hides the controls for moving & scaling pictures, or for // trimming movies. To instead show the controls, use YES. cameraUI.allowsEditing = NO; cameraUI.delegate = delegate; [controller presentModalView-


Legal Observer /61 Controller: cameraUI animated: YES]; return YES; } - (BOOL) startMediaBrowserFromViewController: (UIViewController*) controller usingDelegate: (id <UIImagePickerControllerDelegate, UINavigationControllerDelegate>) delegate { if (([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeSavedPhotosAlbum] == NO) || (delegate == nil) || (controller == nil)) return NO; UIImagePickerController *mediaUI = [[UIImagePickerController alloc] init]; mediaUI.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; // Displays saved pictures and movies, if both are available, from the // Camera Roll album. mediaUI.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType: UIImagePickerControllerSourceTypeSavedPhotosAlbum]; // Hides the controls for moving & scaling pictures, or for // trimming movies. To instead show the controls, use YES. mediaUI.allowsEditing = NO; mediaUI.delegate = delegate; [controller presentModalViewController: mediaUI animated: YES]; return YES; } // For responding to the user tapping Cancel. - (void) imagePickerControllerDidCancel: (UIImagePickerController *) picker { [self dismissModalViewControllerAnimated: YES]; } // For responding to the user accepting a newlycaptured picture or movie - (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info { NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType]; UIImage *originalImage, *editedImage, *imageToSave; // Handle a still image capture if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeImage, 0) == kCFCompareEqualTo) { editedImage = (UIImage *) [info objectForKey: UIImagePickerControllerEditedImage]; originalImage = (UIImage *) [info objectForKey: UIImagePickerControllerOriginalImage]; if (editedImage) { imageToSave = editedImage; } else { imageToSave = originalImage; } if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) UIImageWriteToSavedPhotosAlbum (imageToSave, nil, nil , nil); [LOAppDelegate addImage:imageToSave]; } // Handle a movie capture if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) { NSURL *movieURL = [info objectForKey: UIImagePickerControllerMediaURL]; NSString *moviePath = [movieURL path]; if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) { if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) UISaveVideoAtPathToSavedPhotosAlbum (moviePath, nil, nil, nil); [LOAppDelegate addVideoURL:movieURL]; } } mediaArray = [LOAppDelegate getMediaArray]; [self dismissModalViewControllerAnimated: YES]; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return YES; return (interfaceOrientation == UIInterfaceOrientationPortrait); } -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { } -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { [self setupMediaDisplay]; } @end /* SupportViewController.h LegalObserver Created by Roxanne Brittain on 11/6/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> @interface SupportViewController : UITableViewController @end /* SupportViewController.m LegalObserver Created by Roxanne Brittain on 11/6/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "SupportViewController.h" #import "LOAppDelegate.h" #import "FlurryAnalytics.h" #import "LOTableViewCell.h" @implementation SupportViewController - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { // Custom initialization self.title = @"Support & Feedback"; } return self; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; // Uncomment the following line to preserve selection between presentations. // self.clearsSelectionOnViewWillAppear = NO; // Uncomment the following line to display an Edit button in the navigation bar for this view controller. // self.navigationItem.rightBarButtonItem = self.editButtonItem; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return (interfaceOrientation == UIInterfaceOrientationPortrait); } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 2; } -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { if (section==1) return @"Submit Feedback"; return @""; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. if (section==0) return 4; else if (section==1) return 2; return 0; } - (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section==1&&indexPath.row==0) return 72; else return 45; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; int style; if (indexPath.section==0) { style = UITableViewCellStyleValue1; } else if (indexPath.section==1) { if (indexPath.row==0) style = TABLE_CELL_STYLE_NOTE; if (indexPath.row==1) style = TABLE_CELL_STYLE_BUTTON; } LOTableViewCell *cell = nil;[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[LOTableViewCell alloc] initWithStyle:style reuseIdentifier:CellIdentifier]; } if (indexPath.section==0) { if (indexPath.row==0) { cell.textLabel.text = @"Version"; cell.detailTextLabel.text = @"1.0"; cell.selectionStyle = UITableViewCellSelectionStyleNone; } else if (indexPath.row==1) { cell.textLabel.text = @"Developer"; cell.detailTextLabel.text = @"Roxanne Brittain"; cell.selectionStyle = UITableViewCellSelectionStyleNone; } else if (indexPath.row==2) { cell.textLabel.text = @"Support Email"; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; cell.selectionStyle = UITableViewCellSelectionStyleGray; } else if (indexPath.row==3) { cell.textLabel.text = @"Website"; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; cell.selectionStyle = UITableViewCellSelectionStyleGray; } } else if (indexPath.section==1) { if (indexPath.row==0) { cell.selectionStyle = UITableViewCellSelectionStyleNone; } else if (indexPath.row==1) { cell.textLabel.text = @"Send"; cell.selectionStyle = UITableViewCellSelectionStyleGray; } } // Configure the cell... return cell; } /* // Override to support conditional editing of the table view. - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return YES; } */ /* // Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // Delete the row from the data source [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view } } */ /* // Override to support rearranging the table view. (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { } */ /* // Override to support conditional rearranging of the table view. - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the item to be re-orderable. return YES; } */ #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; // Navigation logic may go here. Create and push another view controller. if (indexPath.section==0) { if (indexPath.row==0) { } else if (indexPath.row==1) { } else if (indexPath.row==2) { NSURL *mailURL = [NSURL URLWithString: @"mailto:?to=roxanne.brittain@gmail.com&subject=Legal%20Observer%20Support"]; [[UIApplication sharedApplication] openURL: mailURL]; } else if (indexPath.row==3) { NSURL *webURL = [NSURL URLWithString: @"http://roxannebrittain.com/LOApp"]; [[UIApplication sharedApplication] openURL: webURL]; } } else if (indexPath.section==1) { if (indexPath.row==0) { } else if (indexPath.row==1) { LOTableViewCell *cell = (LOTableViewCell*)[tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1]]; NSString *feedback = cell.textView.text; if (!feedback || [feedback isEqualToString:@""]) { [[[UIAlertView alloc] initWithTitle:@"Error" message:@"Please type your feedback in the above box." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil] show]; } else { [FlurryAnalytics logEvent:@"FEEDBACK" withParameters:[NSDictionary dictionaryWithObject:feedback forKey:@"feedback"]]; // [TestFlight passCheckpoint:[NSString stringWithFormat:@"FEEDBACK: %@", feedback]]; [[[UIAlertView alloc] initWithTitle:@"Thanks!" message:@"Your feedback has been submitted." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil] show]; } } } } @end /* TextViewController.h LegalObserver Created by Roxanne Brittain on 11/5/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import <UIKit/UIKit.h> @interface TextViewController : UIViewController { NSString *string; } - (id)initWithTextFileName:(NSString*)name; @end /* TextViewController.m LegalObserver Created by Roxanne Brittain on 11/5/11. Copyright (c) 2011 Digifit. All rights reserved. */ #import "TextViewController.h" @implementation TextViewController - (id)initWithTextFileName:(NSString*)name { self = [super initWithNibName:nil bundle:nil]; if (self) { NSString *filePath = [[NSBundle mainBundle] pathForResource:name ofType:@"txt"]; string = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; } return self; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle /* // Implement loadView to create a view hierarchy programmatically, without using a nib. - (void)loadView { } */ // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; UITextView *textView = [[UITextView alloc] initWithFrame:self.view.bounds]; textView.font = [UIFont systemFontOfSize:14]; textView.alwaysBounceVertical = YES; [textView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; [textView

setDataDetectorTypes:UIDataDetectorTypeLink]; textView.editable = NO; [self.view addSubview:textView]; textView.text = string; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return YES; return (interfaceOrientation == UIInterfaceOrientationPortrait); } @end HOW TO USE THIS APP: During a demonstration, this app may be used to aide a legal observer in taking clear and complete notes. It is not a replacement for all other tools. It is suggested that you have a pen and notepad for backup in case anything happens to this app or your device. Please read the rest of the guide for more information on how to be a legal observer. To ensure that important information is not lost, data typed in to the app is saved automatically when you complete editing a text box. Photos and videos taken from within the app are also saved in your device's photo library. The app allows you to backup recorded data to your email. It is advisable that data be backed up periodically through the demonstration you are observing. This open source app will always be a work in progress.


Oort Tarot

by Steve Stormoen

Sleep deprived and setting down cards on the cold carpet. After a day and a night of the retreat, we’re assuming an identity as a collective unit, we have shared energy and breath, inspiration and claustrophobia. The facilitators explain the tarot, both mystically and in methods banal. Part of us gets it, and is stoked. Part of us thinks this is fucking stupid. These cards will and won’t bring us insight and understanding into occupy—what it has meant for us, and what our participation has meant. What has happened, and what is to come. This spread came about at a retreat for Occupy Santa Barbara and Occupy Isla Vista, on Sunday, January 7, 2012, and we thought it was fucking excellent. But writing about a tarot reading is like talking about your dreams, so we won’t.

Please send in any feedback you have!Some things that you may want to note: Name, rank, badge number, agency, and description of each officer present, and of the commanding officer (note if officers refuse to give this information) Full name and birthdates of arrestees and victim(s) of misconduct Names and contact information of any witnesses, including media (corporate or independent) Any force used by cops pushing, shoving, blocking protestors with their bodies, grabbing arms, tripping, striking people, etc. Detailed description of arrests and anything the cops do that seems messed up Which weapons/equipment police used and how (e.g. Protesters drenched with pepper spray, tear gas canisters fired directly at someone, horses used to run into people, etc.) License plate and ID # of official vehicles, or private cars moving through the demonstration Police actions and demeanor (e.g. marching around rhythmically thumping their leg armor with their batons, putting on or taking off gas masks etc.) Any inappropriate language, including swear words, identity-based insults (racist/sexist/homophobic, etc.), and rude language (“You idiots,” “Moron,” etc.) Not warning people to disperse before arresting them, refusing to let them disperse, etc. Warnings not audible and/or


Oort Tarot /63

intelligible Exact date, time and location update this throughout the demonstration o Include street names, address #s, landmarks, what side of the street youâ&#x20AC;&#x2122;re on, etc. Statements made by police and other officials If bystanders are taking leaflets, talking with protesters, and other 1st Amendment activities If the cops are blocking traffic with their vehicles, hand motions, etc. -Midnight Special Law Collective (midnightspecial.net)LEGAL OBSERVER OVERVIEW by three awesome collectives! Put simply, a legal observer is just someone who observes the policing of a demonstration. As a legal observer your role is to take careful note of the way the demonstration is being policed, and to give out basic information to demonstrators about legal rights to protest. If there are arrests, or if force is used by the police, legal observers can collect witness statements that may help protesters establish the facts in court. While you are wearing a legal observer bib, you are a legal observer, not an activist. You should not to participate actively in the protest by holding banners, chanting, wearing stickers etc. This does not mean you are neutral you are there to support protesters and you only need gather evidence which will help them, not the police. You have no special legal status. Legal observers


Legal Observer

by Dash Brittain

On the second night of Occupy Santa Barbara, I learned what a legal observer is. A friend of mine called out to folks that he would be hosting a legal observer training, and a group of curious occupiers gathered around to learn how they could help out when the cops came to “evict” us. Later that night, when the cops did come, one of our newly trained legal observers was arrested. I was standing next to him at the time of the arrest, and saw the cops throw his notebook into a trash can after handcuffing him. A few weeks later I decided to develop an iPhone app to help people act as legal observers. Using this app, a legal observer can easily record names, badge numbers, arrests, photos, and general notes during an action. The data can be backed up throughout the incident, so that if the legal observer gets arrested or loses their equipment the data won't be lost. The iPhone app is free and can be downloaded in the App Store under the name “Legal Observer”. To this day, there have been over 500 downloads of the app. (There’s also a version out for Android now under the same name, that another member of Occupy SB developed.) Code: http://code.google.com/p/legal-observer-ios/ App Store: http://itunes.apple.com/us/app/legal-observer/id478757628

are usually respected by the police, but rarely get special treatment. Legal observers have to tread a difficult line between being near enough to an incident to observe what is taking place, but not so near that you as to get arrested for obstructing the police. You are not immune from arrest, but unless you are deliberately getting in the way it is rare for legal observers to be arrested. You are not a lawyer, police negotiator or spokesperson for the protesters. You should not provide legal advice beyond what is provided in the bust cards, nor attempt to negotiate with the police, or speak on behalf of the protesters to journalists or police. Neither should you tell protesters what they should or shouldn’t do, no matter how strongly you feel. Your role is to observe! -Network for Police Monitoring (networkforpolicemonitoring.org.uk) Legal observers watch and record the actions of all law enforcement officers. The presence of legal observers helps keep people safe by discouraging police attacks. The information you collect can also be useful in criminal defense of protesters or in suing police or other government agencies. This guide is geared for legal observing at demonstrations, but it is also important to watch police outside of protest situations. Whenever you see police making an arrest or acting inappropriately, stop and take notes. The cops are at demonstrations to observe and deter actions of the protesters. As a legal observer, you are there to observe and deter the cops. Even though protesters are usually more interesting to watch, make sure you're paying attention to the cops at all times. Also, be careful to represent yourself to the police and media as an observer, not as a spokesperson for other activists. Work in pairs to corroborate each other’s testimony and to keep each other safe. If one person is using a still camera or video camera, their partner should be taking written notes. And since people using cameras often get “tunnel vision,” their partner should be keeping an eye out for danger or activity. -Midnight Special Law Collective (midnightspecial.net) Interacting with Police Do not argue or fraternize with the police. You may be arrested for any number of charges if you argue. And by being too friendly to law enforcement you may send the wrong message to protestors who rely on the Guild at demonstrations. However, you should ask the police pointed questions, such as, “Why are you telling people to leave this part of the park?” Their answers may later serve to document what is occurring for later evaluation, and may also serve to deter unconstitutionally overbroad restrictions on demonstrations. -National Lawyers Guild (nlg.org)


Between Spaces

Occupy Everything /65

by Kathleen McLeod

Occupy dirt underneath fingernails. Occupy mousetraps. Occupy ATMs from the inside, build a nest, egg. Occupy the sunrise and sunset. Occupy fortune cookies. Occupy the statues of dictators. Occupy the empty space after the statues of dictators are torn down. Occupy photo albums of people whose cause of death was poverty. Occupy Camp David. Occupy swag. Occupy any space underneath tabletops that isn’t stuck with gum. Occupy a map of the human heart. Occupy Death Row. Occupy humidicribs. Occupy Barbie’s Dream Home. Occupy confessionals. Occupy Guantanamo Bay. Occupy Ferris wheels. Occupy Riemann’s hypothesis. Occupy 404 errors. Occupy baby teeth. Occupy kippahs and turbans. Occupy spin cycles. Occupy the homes of the real housewives of your city. Occupy blood banks. Occupy keyholes. Occupy the grooves on a record. Occupy window frames sharp with stained glass shards. Occupy live seafood tanks at restaurants. Occupy tip jars. Occupy the sites of drone strikes that killed whole families. Occupy the Age of Aquarius. Occupy army recruitment offices. Occupy heartbreak. Occupy an orgasm. Occupy casinos. Occupy the mirrors in department store changing rooms. Occupy insomnia. Occupy the dubstep remix of this. Occupy the Statue of Liberty. Occupy the mailboxes of editors and employers who keep rejecting you. Occupy the IV lines of hunger strikers. Occupy this poem. Occupy the original occupation of Indigenous land. Occupy the chalkboard in The Simpsons where Bart writes lines over and over that say, Occupy Everything.



Three Word Chant: Occupy, summer 2012