Latest News >> 2008-09-29

I read Obie’s most recent post about his intense passion for Loverboy’s quintessential anthem, “Lovin’ Every Minute Of It”. I find the early 1980’s music is inspiring and uplifting and definitely suited to such important things as corporate culture, recruiting, and motivating the troops to do better. Yes, nothing gets a worker working better than a little Loverboy right in their ear.

2008-09-25

Don’t forget folks, the FU NYC show will be in a few hours (7pm-9pm). I’ll be icecasting this one at http://zedshaw.com:8000/fu_nyc and as usual you can use VLC, mplayer or many other players to play the stream.

2008-09-17

I got into music school last week and I’m going to study guitar exclusively for the next year. This is something I’ve always wanted to do, but just never had the chance. Either I wasn’t good enough (being self-taught for so many years) or I just didn’t have the money. After being laid off and getting a small package I decided to practice my ass off on the guitar, do a few live shows to get ready, and then audition for a school in the city.

2008-09-04

The Freehackers Union NYC show went insanely well. I managed to pull off a full live internet feed of the audio to people in FU and the show at the same time. We had about 10 newbies show up to give their first five minutes and 11 listeners on IRC/icecast. Some people showed up just to hang out, so we relaxed the rules and let them stay to build an audience. Overall, there were some cool projects presented and everyone had a good time.

RubyFringe was the absolute best Ruby conference I’ve attended. Sorry to all the others, but RubyFringe kicked an insane amount of giant ass. Everything was well run. The talks were eclectic and interesting because they didn’t directly talk about code. People came to rock, and brought the attitude. Everyone was nice, and friendly, and many presenters were more open in their speeches than I’ve ever seen before.

At RubyFringe, I think I finally got to see the real people behind the talks rather than whatever bullshit they were selling. I even got to show everyone a new side to my vast array of skills by playing guitar live. I had never played in front of people before, but it went way better than I’d ever dreamed it could.

What made RubyFringe great for me was the combination of realizing I’ll never have to do another Ruby conference, and the common understanding from everyone that it’s not only about the code.

Preparation Relieves Stress

I lied. I told everyone that my presentation would be about porn. Nothing draws a crowd better than fucking porn. I told them I’d cover dangerous ideas and probably show 2G1C a few times. I had the whole world, even friends, geared up for my usual talk about the web.

webwebwebwebwebwebwebwebwebweb. fuck the web.

The truth is I fucking hate the web. It’s sucking the brains of geniuses who could be out disproving String Theory. It makes me sad to think there’s young women and men spending their life trying to win the VC Lottery rather than doing something meaningful. They will look back at this time they wasted on selling advertising and say, “I could have been significant.” Instead, they just took abuse from some shithead who took their work and made a ton of money. Pathetic.

I’ve done web programming as a job for a while, but my personal interests and projects have always been non-web related. Cryptography, protocols, music, languages, computational sociology, statistics, anything but the web dammit. ANYTHING Yet, my one successful project was Mongrel, a fucking web server. Thankfully it was really an art project in protocol design.

My plan for RubyFringe was to play music live for the first time ever. I know how to play guitar, harmonica, and kind of sing. I also can code. So I started the process of practicing songs and writing software so I could do a one man band live set with minimal technology.

This scared the fucking shit out of me. Alright, for me fear is kind of a strange emotion. I feel it mentally, and can feel it physically, but I’ve learned techniques that just make the physical reactions go away and the mental contemplation of the fear go away. One of these techniques is to methodically prepare like crazy.

Start by recognizing that I’ll be stressed about an event. I then start building a mental or actual list of all the things I’ll need to prepare. I don’t go too crazy with the list if I need to be creative since I also have to create a relaxed mind to allow creative ideas. I then simply start knocking down the list of preparatory things I must do to get rid of my stress. By anticipating all the ways something will go wrong and removing them I reduce my mental stress significantly.

Another technique is to develop a ritual I do for each practice that maintains important details that must be right for the event to go correctly. In this case, I took my music equipment and every day I would put it in a bag, walk into my kitchen, take everything out the same way, attach each device the same way, position them in the same spot, do the practice from front to back, then put the items away the same way. As I do this I focusing on minute details, build checklists I can follow in my head easily, and work out kinks in my setup. Doing this enough gives my mind and body a familiar context to operate reducing the stress of the actual performance in a novel environment.

I also meditate more and run through a series of positive scripts in my head where I envision myself doing everything correctly front to back. I will also throw a monkey wrench in my mental movie and compensate for it, or add one of my perceived panic points and resolve it. The key to this is focus on keeping your body and mind calm while you run through the thing that has you afraid.

In my case I was worried about my equipment fucking up, the audience hating my performance, and my playing sucking ass. I then spent time in the shower or before sleeping running through my performance in those situations and without those situations, keeping myself calm and dealing with everything effortlessly. This is where maintaining a practice ritual helps since the rituals give me sensory experiences I can use in my internal story.

Finally, I also try to include as many details for all of my senses in my visualizations. The smell of the carpet, feel of the guitar, my shoes on my toes, the sound of the amp, how the keys click on my keyboard, how my mouth gets dry or my eyes might water. I then take any sensory experiences that make me uncomfortable and work on how I would control them. Sometimes it’s just something as simple as having “drink fucking water” in my checklist.

That’s what I did for a few weeks prior to my talk. I decided about a month before that I wanted to perform live. When they asked me for a theme song, I sat down and took some tracks I’d been working on to create my own theme song titled, My Fucking Theme Song which helped me get rid of the fear people wouldn’t like my style. When people heard it, they seemed to like it so I had more confidence. (BTW, I was the only one who did his own theme song.)

I also wrote my own software during this time called Inculcator for doing my tracks and loops live. I worked with a bunch of other software like Abelton live, but it just wasn’t exactly what I wanted. Controlling the environment is key to being relaxed (but don’t expect to have control when you get there). With that in mind I sat down and cranked out a little program that did the track recording exactly how I needed it. Since I fully understood how this program worked, I now knew I could fix it easily.

Once I wrote Inculcator and it worked for my practice sessions, I stopped fucking touching it. Too many people keep hacking on their software before a conference, but they need to stop about a week before and only talk about things in that state. I actually had to use Inculcator so I had no choice but to stop working on it.

I then worked out how I wanted the performance to go, wrote a few songs, worked on practicing guitar more, and figured out the minimal amount of equipment that still brought the flavor but didn’t overload the complexity.

The end result was a performance where I felt relaxed, controlled my fear, performed well, and entertained everyone with only a few glitches.

Starting The Day Off Right

My flight was on “Porter Airlines”, a tiny little airline that flies only propeller planes to New York and select Canadian cities. The flight was insanely good, and very cheap. I had tons of leg room, they were actually early, and their terminal was great.

I also had no problems at customs, which is rare since Canadian Customs hates my guts due to a dumb paperwork SNAFU that classifies me as having been denied entry to Canada once eight years ago. Every time I cross the border I have to tell them this long ass story about how their own paperwork mill operates and get them to dig into their records to see that everything is their fault. I don’t get stopped at the border, but it is a royal pain in the ass.

This time though, I had a bunch of this music gear in my bag. The immigration agent asking me questions kept looking at my tiny little Traveler Ultra Light guitar in its sack. He didn’t ask me much, was really nice, finished checking out my stuff, and then said I could go. I asked him, “Hey, you wanna see my guitar?” He goes, “Oh no I shouldn’t….yeah let me see it!” So I bust the guitar out and show him how it’s built.

He laughed and said he would buy one, then let me get out of there. I’ve had this experience every time I take the Traveler with me. Security teams almost always have one guy who’s interested in or plays guitar. When they see it, they ask me to take it out, look at it, play it, and then let me go. It’s like the Musician’s Passport.

Killing Floor

Friday had parties and drunks and loud music and a brewery. I missed FailCamp because I was sleeping in preparation for my talk. Saturday is when all the fun really began, and it was the day I was schedule to perform. During the whole day Friday people would ask me what I was going to present on, and I would ham up the pr0n angle. Nobody suspected I would bust out a guitar.

At the party Friday I talk to people about my recent exploration into music, music software, and my aspirations to get into a school so I can study music for a little while. I keep telling them about the weird shit I find in the music software world and how the digital music world seems to rarely share. Many people I talked to would suddenly yell, “I know! I’m doing X too and I found the exact same thing!” Running into other people who are hacking on music tech and trying to bust open the scene was very inspiring.

Saturday comes and I’m blown away by everyone’s presentations. Even though the conference was a Ruby conference, people were actually talking about other things that just happened to involve software. It wasn’t until Sunday that I realized orienting the conference around the “fringe” gave everyone license to try something very different and simply not talk about software directly. People talked about failure, music, their personal backgrounds, family life, everything. This made each presentation fantastic and personal where I felt I got to know more about each person than I did before.

My talk however was a blast. I first got up and started to do my presentation titled “THERE WILL BE PORN” where I fooled everyone into thinking I’d be showing some porn and talking about fucked up web 2.0 ideas. You can see the slides here.

The entire premise of the slides is a lie. I actually wanted to build everyone up, get them laughing, and then suddenly blow them away with my awesome guitar and singing skills. I wrote a simple program called Inculcator that’s a FORTH style multitrack recorder in PyGame and Ecasound that let me record live tracks and sequence them on stage to create a dynamic performance. It looks something like this:

How it works is there’s two stacks. On the left is the currently playing stack of tracks, and on the right is the pending stack modification commands. I type in commads like, “rec chadR.wav” and it goes into the pending stack. Then, I hit and empty ENTER when all the pending commands are ready and they are sent processed in one transaction to modify the stack and alter the playing. It’s very rough, but even in this state it works great.

My set list was (click the links to get the .mp3):

  • Zed Jumped The Shark —A poignant audience participation piece about how this was the moment I jumped the shark.
  • Matz Can’t Patch Blues—Singin’ the blues of Ruby’s horrible management. This brought the house down.
  • Don’t Fuck Up Chad’s Community—A slow jam feeling the love of Ruby and calling people to be responsible with how they treat Chad’s community.
  • Goodbye Friends—An instrumental piece demonstrating my soft guitar playing and soulful harmonica.

You can get these files in various formats by going to this performance’s Internet Archive page where you can also download the raw WAV files for remixing. Just grab the rubyfringe2008_songs_wav.tar file and do your worst.

Since I know everyone is going to want to remix these just like NIN, I’m releasing the individual tracks as WAV files. They are Creative Commons licensed according to a remix for non-commercial license. Consider this your chance to get your revenge. All you reddit haters who think I’m a dweeb can now turn my RubyFringe performance into the next Star Wars kid internet bomb.

Because here’s a little secret to all the haters who post comments to sites like reddit: you’re part of my show. I laugh at how all of you haters pretend as if what you write matters. You think your stupid little one line comments put you in the class of “one-percenters” like me? I got fucking secretaries who can’t use their computers telling me they read my blog. Nobody’s heard of your fat stupid asses. You’re just in the 20 percent of morons who think that they’re contributing to some kind of conversation.

The truth is, reddit comment threads are to my blog what Guitar Hero is to my Schecter Hellraiser ... pathetic.

The Gear That Made The Sound

When you hear these tracks you might not realize that they were actually recorded live off a Rube Goldberg sound machine I concocted for the geek cred.

I used a BOSS Dr. Beat DB-90 metronome that I played into a Blue Snowball microphone on stage. My Traveler guitar was plugged into the Dr. Beat to amp it, and then I just played and let Inculcator record and loop the tracks. As it played my laptop was plugged into the sound system and did the final sound everyone heard.

The Dr. Beat was set to the following Rhythms for each song:

  • “Zed Jumped The Shark”—I forgot, it was on the fly.
  • “Matz Can’t Patch”—Beat #15 at 90 BPM.
  • “Don’t Fuck Up Chad’s Community”—Beat #12 at 100 BPM.
  • “Goodbye Friends”—Beat #3 at 60 BPM.
Since the beat and the guitar play at the same time, I could record the rhythm into Inculcator, and then let Inculcator play back the rhythm while I sang the lyrics. After I sang the lyrics Inculcator would play the whole song combining each track.

This stacking of the tracks made it easy to do, but using this complicated setup was just for show and portability. I didn’t know what kind of setup I’d have when I got to the stage, so I had to keep the final output simply the sound out on my laptop.

Thanks To The Volunteers

For “Zed Jumped The Shark” I had four volunteers come up. They each got a ZSFA t-shirt that looked like this:

This is Deb, who did the female voice in the song. There was also Hampton Catlin, and two other fellows who’s names I can’t remember (email me if you want credit here). Thanks to them for being such good sports.

The t-shirts were actually the little boxes shown in the picture above displaying my gear. They are made by Muji and consist of a cotton t-shirt that’s compressed by a machine into a tiny square, and then wrapped in plastic. When you expand them they become a t-shirt that’s all crinkled and scratchy. What I did is I peeled away enough of the package to find random locations on the folds of cloth to paint “Z.S.F.A.” with cloth paint. When it was unfolded the letters got all fucked up and spread around.

I felt the t-shirt symbolized my style of software development. I usually write tiny little pieces of unassuming software when you first look at it. My projects just look like little compressed boxes that obviously can’t do what I claim they can. Then, when you unpack and start to use my stuff you find out it’s actually way more than what you expected, yet still rough and crinkly.

Questions And Answers

I was asked two questions that I feel are important to explain again here.

First, I was asked if I’d do Ruby and Rails again? If I had to do it all over again I probably would, I would just do things very differently. I don’t have too many regrets from the experience, and really, experiences aren’t good or bad they just are experiences. I do think though that I wouldn’t get into Ruby again if I had to do it all over again. I would instead follow my new policy of “always read the code”, see that Matz’ Ruby is written horribly in C, and then gone over to Django and Python. Who knows what would have happened had I done the “Mongrel of Django” before anyone was using WSGI?

The second question asked what I was going to do next? I’m now focused on writing and music. My plan is to work on my books, write articles for magazines, blog more, and potentially even get into poetry. I’m also going to focus on music, music tech, and software for doing dynamic live performances just like the one I did. I really think there’s a giant untapped market here and the amount of new stuff I can learn and experience is crazy.

I’ve also been studying too damn long to suck as much as I do. I feel that if I actually went to a music school and studied under some guidance for any amount of time I’d improve dramatically.

With that being said, I’m interested in working with anyone in New York and surrounding areas doing cool things with software and sound. In fact, if you are a software or hardware company doing software related to music, contact me and I may just come work for you for dirt cheap to learn the secrets.

Packed On A Sunday

I started attending the smaller regional conferences in the Ruby biodome because the bigger conferences were boring and tasteless as wet cheese. I spent most of my time just hacking and talking with friends rather than listening to any particular talk. They were usually pretty boring and contained the same crap I’d seen by that same guy from the six other conferences he attended before. Even a big name guy doing a keynote has a problem packing the house on a Sunday at these conferences. People would rather socialize and party than go to the conference, which kind of begs the question as to why they pay to attend.

At RubyFringe the house was packed during Geoffrey Grosenbach’s talk in the 9:30am slot on a Sunday. That alone is an indicator of what makes this conference great. All the attendees actually want to show up to every presentation. Even the few more boring ones (which aren’t all that boring) draw the full crowd. I didn’t hear one person say they skipped out during the conference.

Here’s a story to illustrate the point. Giles Bowkett was sitting next to me as we were hacking a bit on an idea we both needed. The problem I was trying to write up is one of timing a protocol via a soft realtime gated proxy server. During our little hack session, Giles says he’s hungry. I feel like taking a walk so I ask if he wants to go get some food real quick. He says no, he wants to stay and watch the talk so I leave real quick to grab some Pringles from the store across the street.

Giles was so damn hungry that immediately after the talk he ran up to his room and grabbed a can of Pringles and almonds from the mini-bar in his room rather than wait the two minutes for me to return with a cheaper can. You know that man was hungry as fuck if he’s willing to bust into the mini-bar for sustenance. He actually resisted this level of hunger just so he could listen to this one talk.

Giles Fucking Bowkett Ruled The World

Speaking of Giles, he easily had the best presentation at the conference. He absolutely killed it, and if you have a chance to see him do his thing definitely go. I can’t wait to see what that guy does next.

His tour through The Life of Giles was the last talk before lunch and he ran out of time. His talk was so good that everyone stayed until the very absolute end just to see him finish it. He got a standing ovation that I haven’t seen at a conference in a very long time.

That man is easily doing the most interesting Ruby work I’ve seen, and probably the most interesting digital music work yet.

Aftermath

Well, after the conference not much else happened. Some fellows I met there were talking to me about doing some kind of reality T.V. show. We’ll see where that goes.

Reg Retired

I met Reg Braithwaite at RubyFringe for the first time. We talked for a while about bloggers, the dumb commenters, wannabes, and I gotta say he’s a smart cat. I felt we had a lot in common and probably have similar backgrounds and experiences.

Then, as I’m writing this blog post he announces he’s retiring in a blog post entitled A Brief History of Dangerous Ideas. He’s not gonna do Ruby or blogging anymore, and will figure out what’s next for him.

I’m kind of curious if I had any impact on him, but either way, that fucking rocks. I’ve been saying for years that you can live a life involving code and hacking as a cultural phenomenon, but you can’t live a life that only has code. You can work and make money doing web programming, but you can’t make a life out if it. I try fill my mind and experiences with other shit, and then use code as one of many ways to express myself.

Good luck to Reg in whatever he does, and I hope other people follow suit and expand their experience in similar ways.

Impact Of The Rant

I’ve found that (especially in software) people mistake knowing a topic with knowing the truth, or worse that knowing a topic makes it the truth. The real truths of the world can’t be known completely, and sure as hell aren’t created by humans.

This is something that people didn’t understand of My Rails Rant and its impact on the community. Community leaders feel that it does “the community” a disservice because it opens the door to criticism and questions how things are in their tiny little world. They feel that I constantly attack their view of the truth by attacking the people who lead them in “the community”.

Yet, the real impact of my writings is I just make it harder for self-appointed RubyOldGuard leaders to fool everyone into thinking their version of Ruby is the truth. In effect, if I’m pissing someone off, chances are it’s because my commentary is fucking up their paycheck, and they honestly don’t give a fuck about Ruby.

They just need you to give a fuck about Ruby long enough for them to stay in the one-percenter bracket and make some money.

The End

It was a great conference. Thanks to all the Unspace guys and the volunteers for making it possible and for helping me out. You all are awesome. Everyone I met at the conference was great. You guys need to keep rocking it just like this because that’s what’s gonna change the world.

Photos were by various people on Flickr if you search for rubyfringe. Specifically I used photos by:

Thanks for getting your photos up so quick. Libin is especially fun with his insane close-ups.