New Birdcage Project: Hyperlocal Music, Petty Vandalism, 2D Barcodes, and Bridging My Two Worlds

I’ve been playing around with QR Codes a lot lately, and the more I use them, the more I’m beginning to see their value as a way of bridging the “real” (physical/”analog”) world with the digital world.

And so it dawned on me that I could use them as the medium to get people exploring the “real world” to experience art that is, by its very nature, digital and online.

I’m pretty pumped about doing this, because I’ve always felt like there was an ineffective gap between my fetish for making hyperlocal music and art about my surroundings and sharing it digitally.

I’m only now beginning to build stuff for this project, but it’ll work like this.

1. I build something that reflects my thoughts on a certain location. For this example, let’s say I’ve somehow moved back in time and taken over the body and mind of the real composer and composed Steve Reich’s “Piano Phase” as a dedication to the tedium, repetition, and hidden beauty of my neighborhood, Greenpoint.

2. I then record the piece to my satisfaction, upload the resulting mp3 file to a web server, and make a QR Code for its URL.

3. I then head to my local print shop, and likely spend far too much money making a huge blown-up printout of this QR Code.

4. I then walk to the spot where the inspiration hit me (say the corner of Franklin Avenue and Greenpoint Avenue) in the middle of the night, and paste the giant QR Code printout to a public wall.

5. I return home, pleased as punch that anyone who walks by and is struck by curiosity can snap the QR Code with their phone, be immediately brought to this link, and have my recorded piece for that specific location immediately begin streaming in their headphones.

Posted in Art | Tagged , , , , , , , , , | Comments closed

Microapp - SnackEyes: Because Drinking Games Don’t Need Embedded Java (TM)

It seems like every time I start playing with Sinatra, an hour later I’ve built a microapp I wouldn’t have built without it.

I suppose this one’s pretty self-explanatory.

http://snackeyes.com

Posted in Code | Tagged , , , , | Comments closed

Rails Rumble 2009, Engine Yard Flex, Potion, Navicon Torture Technologies, and This Blog

Rails Rumble 2009 is right around the corner and I’m chomping at the bit to register.

Last year I had just started to toy with installing Rails and learning this crazy new thing called computer programming. I really wanted to participate but was short on skills.

This year will be different. I got together with 3 other inexperienced idiots and formed Team Fuckparty. If we can’t call ourselves Team Fuckparty, it’ll be PuckFarty but make absolutely no mistake.

We started outlining the technology stack we plan to use, and I thought it might be interesting to see what the noobs are using and excited about, because it might differ slightly from what the old folks use to build their Rails apps. The preliminary stack is shaping up to look like:

  • Git / Github (non-negotiable, but what we’d use anyway)
  • Linux VPS / Linode (non-negotiable)
  • Ubuntu 9.04
  • Ruby 1.8.6 MRI
  • Gem -v 1.3.4
  • Rails -v 2.3.2
  • Nginx
  • Passenger
  • Amazon S3
  • RSpec
  • Cucumber
  • Webrat
  • jQuery
  • ERb (I’m pushing hard here for HAML, we’ll see)
  • CSS / Sass (Currently a tossup)
  • Paperclip
  • New Relic RPM
  • Asset Packager
Engine Yard Cloud Got New Features
The beta release of Flex is out, and it’s looking fucking slick. We had three apps deployed to Engine Yard’s cloud (I’m running an experiment, as the apps were Apache + Passenger, Nginx + Mongrel, and Nginx + Passenger accordingly), but I played around with the new features and added two of the apps to the same running environment and instance (Nginx + Passenger).
Many of the apps I’ll be dealing with in the foreseeable future need to have an elastic system of scaling both up and down, as traffic probably won’t be completely predictable or stable, and this new system is looking like a dream.
Remember server farms? I don’t.
I wasn’t around for them, but at this point it seems absolutely absurd to not think of scaling up and down as so trivial.
_why posts a potion pamphlet
I don’t know what all the talk about it being a trivial or useless language is (_why’s rhetoric is one thing, any similar reaction is ridiculous). I can’t wait to play with it more. I spent some time playing around with it a few months ago, and I’m really loving the English-like and clear, natural syntax.
Exciting stuff.
I started writing my review of Navicon Torture TechnologiesGospels of the Gash
And in turn had a moment of clarity in terms of personal aesthetic and what I want to be doing with art.
I realized I also really like “real” stuff
I had the opportunity to hang out with painters and carpenters over the past few days.
It’s easy to forget when you’re building software the root of why you’re building.
The tactile is really nice, too.
I hope to get more involved with building “real” stuff in the coming months. I think my recent Arduino experiments are a step in the right direction, but I hope to always keep in mind that I build for the sake of building. Too many layers of abstraction and before I know it it’s the code that matters.
I have some new ideas for this blog that have been itching at me for a while. I’ll hopefully get to making them a reality soon.

Posted in Art, Business, Code | Tagged , , , , , , | Comments closed

Graphing With Light

I got to spend almost all of last Saturday playing with my Arduino and hooking it up to Processing.

I think it’s missing a strobe light most of all.

Video link: Crazy Visuals, bro from Bryan Woods on Vimeo.

Posted in Art, Code | Tagged , | Comments closed

♬ Everybody’s Workin’ for the Weekend ♬

Posted in Art, Code | Tagged , , , | Comments closed

Attachment Fu vs Paperclip: S3 Death Match


This is a screenshot from our New Relic RPM performance analysis.
The CoversController uses Paperclip for file attachments, while the ImagesController uses Attachment-Fu.
While these results don’t strike me as particularly surprising, they’re certainly compelling.

Switching to Paperclip was a decision I made for Covers due to some slightly unusual requirements, but I decided to leave Attachment-Fu in place for Images in order to see (completely informally and unscientifically) how they stacked up against each other in production. Both Covers and Images use ImageMagick for image processing and Amazon S3 for file storage.

Posted in Uncategorized | Tagged , , , , , | Comments closed

Q: Can a connection be made between a person’s web browser choice and their personal politics? A: Let’s find out.

You wouldnt expect it, but dude runs Opera

Dude runs Opera

Recently I came across an interesting post on Daring Fireball linking to an intriguing comic:

Remember Sean Tevis, the information architect who decided to run for the state legislature in Kansas with an xkcd-style web comic promoting his campaign? He lost, but it was close, and he’s raising money in a similar fashion again. He is not accepting any money from industry or corporate lobbyists, only direct contributions from voters.

Also interesting: a poll commissioned by his campaign just before the election last year showed an incredibly strong correlation based on browser usage. IE 6, AOL, and non-Internet users were more likely to prefer Tevis’s opponent, Republican Arlen Siegfreid. Firefox, Safari, and Chrome users were more likely to prefer Tevis.

First the obligatory: “Oh, ha ha. I wonder who IE 6 users voted for in this past election.”

The the obvious: “Actually…I wonder if this could be tested.”

And so I spent some time last week putting together some static HTML files with separate Google Analytics settings in order to see if there is in fact a connection to be made between the seemingly trivial (a person’s web browser preference) and the more substantial (the same person’s political preferences and the can of worms that comes with it).

The result is Browsaticks.

Arrive at the site and you’re presented with a simple statement:

Simply make your choice, and you’ll be redirected to a page that will print your political leaning, your current browser, and your operating system.
These stats are then tracked by Google Analytics.

The results won’t be scientific or (maybe even accurate!), and I have no idea what an adequate sample size for a test like this would be, but the results could be interesting.

So anyway, feel free to check it out and pass it to your friends, and I’ll post the results if a substantial sample is created.

Posted in Art, Code | Tagged | Comments closed

Getting to the Root of the Problem

I don’t know about you, but I can’t wait for winter to be over.

I’m usually not so bad, but this winter I’ve had at least three, maybe four full-blown colds, which is unusual (I’m pretty consistent with my one cold a year, thank you very much).

I’m definitely in a different place in my life this winter than I have been previous years. My job requires relatively frequent travel and working from home, mostly. So how my friends and family respond when I tell them I’ve been sick is almost forgivable. Almost.

“Get out more.”

“Eat better.”

“Get more exercise.”

I’m sure you’re familiar with this scenario, and I can’t say I completely blame them for trying. After all, getting some sunlight, eating healthily, and exercising regularly are undoubtedly formulas for a healthy lifestyle. But what about the same logic applied conversely?

“If you get out more, your cold will go away.”

“If you eat more healthily, your cold will go away.”

“If you get more exercise, your cold will go away.”

I don’t know about you, but I’ve never been warned that eating a slice of pizza can actually cause the flu.

The real reason I’ve been sick is simple. Malicious bacteria or virus are in my body, rapidly multiplying and wreaking havok on my immune system.

So why does nobody say that? The correct response, if ever there was one, to “I’m sick” is “There are organisms within you, feeding off of your body and fighting your immune system.”

But the reason we divert from this fact is because it makes us feel powerless. It makes people feel so much bigger and stronger to blame their own habits than those of a single-celled brainless organism. People need to feel in charge, and there’s a whole lot of psychological science behind it that I don’t know enough about to get into.

But this same kind of failed and misguided logic is the same that governs a lot of what goes on in the tech world, too.

There are so many different possible “solutions” for bad code. Pair programming, Agile, XP, Waterfall, Scrum, Code Review, Conferences, Training, Books, Blogs, Workshops, Social networks, User groups, TDD, BDD…

The list goes on for so long, and it’s all bullshit, because if you’re consistently writing bad code it’s because you don’t know how to write good code.

There are definitely ways to ensure a good programmer writes good programmer code more often, but all of these “best practices,” when taken too seriously and to too far an extreme, become nothing more than failed logic.

“If you pair program, you will no longer write bad code.”

“If you eat salad instead of pizza, you will no longer have a cold.”

There is an infinite number of reasons or explanations for bad code, but if you’re finding that the code you’re writing isn’t as good as you’d like it to be, maybe it’s time to get to the root of the problem (you aren’t writing good code) and solve it (exercises, fundamentals, study, understanding the client’s problem or domain better, learning the design of your framework, etc).

Posted in Business, Code | Comments closed

Being a Zen Master

It’s easily one of the most recognizable cliches of Martial Arts films: the Wise Old Zen Master, living alone in a picturesque dojo, who waits patiently for the as-legend-has-it warrior to climb the miles of staircase to begin receiving his own as-legend-has-it martial arts training.

The master is always portrayed as an absolutely brutal figure, unforgiving of the shortcomings shown in their young and inexperienced student. Simply finding His dojo and receiving His blessing takes years of a young warrior’s  life, and the student always makes the inevitable mistake of thinking the hard part is over when they finally show up on the Master’s doorstep.

And even though we’ve seen the same images in the same plots of so many of the same tired old Martial Arts films, we remain drawn to it. We empathize with both the master and the student, which is something that happens so rarely in films. We know the student will make it through the arduous learning process and become the greatest warrior in the nation’s history.

If we’re lucky there might even be a montage.

But back to the point. The reason we feel so deeply for the two characters is that their struggle is so complex and so timeless. There are layers of external tension between the master and the student, internal struggles within themselves, and broader themes of God and Country. 

It’s every great story that’s ever been told in any language ever written.  It’s the story of becoming the World’s Greatest by not only wanting it more than anybody else, but also legitimately working harder than everybody else.

But that’s still not the whole reason we’re drawn to the story. There’s still something else.

Greatness through sheer will, determination, and effort is seriously undervalued in our modern culture.

Watching the cheesy movie with the up-and-coming ninja walking miles uphill with buckets of water on his shoulders strikes us because we intrinsically know that this is the only clear path to greatness, but we too often push it aside for instant gratification.

And in the world of “new media” this is even more prevalent than anywhere else. Businesses are told they need a Myspace profile, and while they’re at it they should really register for Facebook and start a group for “fans” of their business to communicate. And a LinkedIn group for social networking of the more “businesslike” variety. And this new thing called Twitter is getting really hot so we should get ourselves on that, too, and make sure we aggregate it all together with our Flickr photos from the company picnic three summers ago onto a Friendfeed page, etc, etc, etc.

And what is the goal of all of this?  To “raise social capital.” Because somehow if you sponsor, brand, encourage, or “embrace” the conversations about your brand online, somehow you can convert these genuine social moments between real people into capital.

Seriously. Businesses both big and small are being tricked, by smaller and louder people taking advantage of the rapid pace and confusion, to believe that conversations between people online equates to actual dollar bills toward their bottom line.

But Facebook messages go unread, Twitter streams become RSS aggregators, and on and on until you’ve had the exact opposite effect you were looking for. You’ve become caught up in the volume and the pace without realizing the “experts” you’re allowing to advise you are really handing out flyers at the streetcorner of a dojo of their own:

It’s so easy to get caught up, confused, tricked, or swindled online, and frankly it takes so much more time and so very, very much more effort to become the master of the dojo on the hill. But which would you rather be?

Posted in Business | Tagged , , , , , , , | Comments closed

Ruby Processing

Ruby Processing Hack

Inspired by the visual art of Seldon Hunt.

Posted in Art, Code | Tagged , , , , , | Comments closed