the opposite of a gun

[open in p5.js]


In his poem, “The Opposite Game,” Brendan Constantine describes the experience of teaching antonyms to kids—translating each word of Dickinson’s famed “My life had stood a loaded gun,” verse into opposites.

My Your
Life Death
Had stood Will sit
A Many
Loaded Empty
Gun ?

But what is the opposite of a gun?

I became obsessed with this poem after my friend N shared it this morning. I must have read it over a half-dozen times since.

(Sometimes the best refuge against the news is poetry.)

In the poem, the school kids tackle this question in earnest:

Flower, says one. No, Book, says another. That’s stupid,
cries a third, the opposite of a gun is a pillow. Or maybe
a hug, but not a book, no way is it a book. With this,
the others gather their thoughts

The discussion goes on and on.

Well, maybe. Maybe it’s everything we said. Maybe it’s
everything we didn’t say. It’s words and the spaces for words.
They’re looking at each other now. It’s everything in this room
and outside this room and down the street and in the sky.

It’s everyone on campus and at the mall, and all the people
waiting at the hospital. And at the post office. And, yeah,
it’s a flower, too. All the flowers. The whole garden.
The opposite of a gun is wherever you point it.

The opposite of a gun is wherever you point it. Such a good line.

In fact, the the whole poem is just so beautiful, through and through. Read it!

By the end of it, you’ve just imagined this world entirely made of NotGuns; the retrospective possibility and wholeness of that world…

All the life and beauty that might have filled an inverse-gun-space.

Continue reading


4×4 matrix piano (simple demo)

This week, we were tasked to do something with analog input, and a tone-based interface. 🎵

I worked on something which I felt was technically challenging from an Arduino software stance.  (I would have liked to make a container for it, if only I had the time. The interface itself is more bare bones!)

I was inspired by the form factor of Launchpad-type interfaces. You can see Shawn Wasabi using one here:

On my last trip to Tinkersphere, I found one of these 4×4 button matrixes. It’s like the cave-man version of Shawn Wasabi’s instrument.


There are 8 pins total. 4 pins correspond to columns, 4 pins correspond to rows.

I wanted to build something where each button would correspond to a note, so you could play different songs. Like a puny, gridded piano!

Continue reading

leWitt maker (now with 900% more FUNCTION!)

Last week, I made this Sol LeWitt wall-drawing-builder.

Screen Shot 2017-10-02 at 2.14.44 AM.png

It totally does the job, but with very free-spirited, non-compartmentalized code. I have only one function, “randomLines(),” holding the whole thing together. (see above)

Looking at this, it’s not immediately clear what’s going on. Thank god for past Kathy’s comments! And yet still it would be such an undertaking if I wanted to change the way it behaves at all.

This week, we were tasked with rewriting our programs with functions. I’ve worked with functions before so I thought it would be a breeze to simplify my code this way. It wasn’t difficult per se, but definitely I hit a few crossroads in the process.

My objective:
I need something to randomly draw lines, and I need it to do that in a quadrant that I click.

Seems simple enough! But I realized that I had a number of options.

  • I can randomly draw lines, but what kind of lines?
  • Do I need to tell p5 how to make a horizontal line every time I draw?
  • Do I make the lines random when I draw, or make them random before I draw?
  • I can figure out what quadrant, but is it when I click? Or is it all the time?

I did some pseudocode to figure it all out…


I made separate functions for “checking,” and “executing.” For example, checking what quadrant I was in was separate from drawing in that quadrant. This felt cleaner and less error-prone.

I organized the 4 types of lines in their own functions as well. With this flexibility, I can change things so that some lines are drawn randomly and some are not.

There are 9 new custom functions, where there used to be just one.

  • findMouse();
    • checks mouse position against quadrant bounds, returns quadrant #
  • drawLines(x,y);
    • draws a random line pattern using (x,y) to determine location
    • (x,y) are provided by input from “mousePressed()” and “findMouse()”
  • randomNumber();
    • generates a number between 1-5, assigns to global variable “r”
  • randomLines();
    • draws 1 of 4 line types based on variable “r,” determined by randomNumber();
  • horizontal();
    • draws horizontal lines
  • vertical();
    • draws vertical lines
  • diagonal1();
    • draws lines starting from top left
  • diagonal2();
    • draws lines starting from top right

You can check out the improved code here.

sep 2017

✨ first month in NYC! ✨

It’s been a wonderful and difficult transition. I think the thing about learning is sometimes you don’t even feel the delta until the most strenuous part is over.

I’ve jumped into so many new communities all at once. There’s Chinatown, for one. There’s the New York collective of RISD alumni; the School for Poetic Computation; I’ve rubbed elbows with Parsons, SVA, New Inc, Design For America, New York IBM-ers, makerspaces, nonprofits, yoga/meditation groups….

…oh, and of course Tisch and the 100-strong ITP community!

Moving through feelings of excitement, inspiration, creativity, connectedness (❤️), loneliness, anxiety, ambiguity. NYC is stimulating, and then some.

I wanted to take some time to document some things that have inspired me lately…

re-appropriated tools



cooper hewitt museum

This wallpaper-maker is a nice interactive piece on its own. My partner-in-crime J discovered how it could also be used to make performance art—even though it wasn’t meant to be. A great example of repurposing features to do something new.

“I’ve always liked finding the limits of the tool I’m using, and using it in strange, unintended ways.”

community spaces


lower east side girls club

I spoke with V, the program coordinator for the girls’ makerspaces. There were mothers, girls, and their families on the Saturday I visited. I was amazed by their roof-top garden, and their planetarium especially.

“We don’t want these girls to just be playing catch up. We want to give them the newest technology and have them be on the edge of things.”

“We get girls who come from well-off areas of LES, and at-risk girls in the neighborhood working together. You see class boundaries breaking down here. I mean, it does come up in small ways.”

My friend K is skeptical of STEM education as tool to help poverty. I want to hear more about his thoughts on this.

story canvases


metro-north train to Dia Beacon

I played “Appliance Wars” with my friend R. (Should be noted that R invented this game himself, as a kid.)

You role-play as a character you invent, and you attack your opponent’s character with literally anything you can draw.

I was an Everything Bagel, and R was Rock Carrot. The game ended in a truce where we united over a SlipKnot concert.

So many things inspire me about this game. You’re really relying on creativity as the main muscle to create something from nothing. You’re building a story-world purely through agreements— without any help from products outside of a ballpoint pen.

“We thought we might make it into an app, but then we thought that would take away the magic of Appliance Wars.”

subtle hostilities


near washington square park

J and I saw this on our walk to Bobst Library together. We’ve been talking about intentionally hostile urban spaces— spikes, railings, barriers, materials designed to keep people from lingering. (A really common example of this is bench dividers to prevent homeless people from resting there.)

We started brainstorming home-brewed objects to counteract these people-deterrents:
“Oh, what about a custom-fit cushion that like, interlocks with the spikes on walls?”

contemporary om’s


rubin museum of art

I was most moved by Pauline Oliviero’s DEEP LISTENING project, which invited active listening as a kind of meditation.

The exhibit combined really contemporary sound art with age-old Buddhist traditions, centered around the frequencies of our universe and the word “ommmm.”

“It’s exciting to see contemporary stuff that doesn’t live in a gallery vacuum, but nods at non-Western practices from hundreds of years ago.”

(I mean, that was contemporary art, too. They just didn’t call it that.)

on being grounded


20 floors above times square

Last week I had dinner with my friend A, and a bunch of RISD folks.

Lots of talk about being grounded, about protecting yourself from corporations, and deflating privileged attitudes. Bay area technologists, NYC designers… these fucking ivory towers!

“Sometimes I just like to come to a place like Times Square and remember that there are people here who saved up their whole life just to come here. Just to look at ads.”

“You could call yourself a stay-at-home mom, or a part-time painter. Like those two could just be the same thing, but framed differently.”

(re: Ursula LeGuin and framings of art + work + patriarchy.)


on talking trash


seen near Greenwich

I just think this is hilarious. How do you even penalize something like this? Also wouldn’t you just laugh instead?


I want to make a project just around NYC trash. I found raw pork at midnight the other day…

nyc makerfaire 09.23

Last weekend I went to the NYC makerfaire in Queens. I went with the LES girls club.

I was pleasantly surprised by how relaxed and open it all felt, though I was told it’s only gotten more corporate and smooth-edged since “the old days.”

Here are some cool (hot) things we saw…


Automated Kermit on a bike!

Some beautiful materials…

The girls were most stoked by the CNC earrings. The iron-on bead stuff was also fun and easy to relate too… but took some patience!

ideas city, 09.16

Wanted to share a few memories from Ideas City, a civic media/activism gathering that took place in Sara Roosevelt Park.

A New Inc fellow presented a fun game where you could redesign Chrystie Street either on-screen or with stickers…



“All there is left after the Zombie Apocalypse are trees and two pedestrians by the sea.”

There were more mysterious setups with Science Aesthetic. This had something to do with 3D printing plastic waste into nice objects…


“It’s like the visual equivalent of buzzwords!”

One panelist urged us to pay attention to surveillance. AI processing which claims to know if we’re gay or straight, if we’re more likely to be clinically psychopathic… How to be wary of authorities which want to frame us with technologies outside our control.

J and I went and spent most of our time in this DECOLONIZATION panel.


Decolonizing curation of history itself… public spaces…


Neighborhood gentrification came up a lot.

One woman who was born and raised in the Bronx brought up a point I hadn’t thought much about before…

She made it clear that she had been really successful ($$) in her career; she noticed many successful people from the Bronx would leave the Bronx, never to come back. She warned that when wealthy community members leave, they further cement that dynamic of home-space being poor, and anywhere else being aspirational.

Another woman challenged her to redefine “community” as something more nation-level.

In other words, what about migration of poorer people to richer countries? Where do you draw that line?

I talked about this with my friend K. Both our parents migrated from a poorer country to the US sometime in the 80s. That dynamic is totally true— you do reinforce ideas that this Western, richer context is superior to what you have back home. But it can also be unfair to demand people to stay where they are. In the long-term, shouldn’t wealthier entities just protect people better?

Continue reading

school for poetic computation 09.13

Some images from this fall’s SFPC salon.


My favorite speaker was Claire Hentschker from CMU, who talked about maps:

“I had a moment in Pittsburgh where I was pulled up at this intersection… and there was this self driving uber across the road…

Across from that, there was a google street-view car. I could not stop LAUGHING, because I realized that I was the only entity with a human intention.”

There’s something poetic about “incomplete,” subjective data, she says. She talked about shopping mall 3D models, a ghost rollercoaster, and GTA sunsets on YouTube:


…also constructing a kid’s world in VR.


Which might be the most compelling, cool VR thing I’ve seen!

“He wasn’t like gushing with gratitude or anything. But he was like, ‘Thanks, that looks fine.'”

I also appreciated the studio CWT who presented about clocks and poetics of machine parts. This was one of their first projects as ITP students, about a decade ago. It’s a bunch of switches that control the color of a single LED:


Also here are the timezones that were calibrated to be all the same, during the very first moon launch.


Something beautiful about the temporary synchronicity here!