Fear and Loathing in the Nickel City
Recently, I attended the Nickel City Ruby conference, in Buffalo, New York. I went with Alex Kaplan of Neomind Labs. We gave speeches, had Buffalo wings, saw Niagara falls, and went to a concert. I also released a new version of motion-accessibility, opening up iOS development to the blind. We had a great time.
I met Nick Quaranto in Belgium. We both gave speeches. He also does a lot of work with RubyGems, and has written a lot of tutorials. I see his name all over the place.
When we got back to the States I followed him on Twitter so knew he had started planning a Ruby conference. I half paid attention, but didn’t know if I should go. Eventually he asked if I would consider speaking and I quickly submitted a proposal. It got accepted and I began thinking about the logistics, like exactly how I would get there and go everywhere I needed to. I had no idea what to do.
Indy Hall had their Fourth of July barbecue. I tweeted that people should come down. Alex responded and said he’d come by. I met him when his company, Neomind Labs, had a barbecue of their own. He showed up and we started talking. I told him I had just gotten accepted to speak at Nickel City Ruby. He excitedly asked if he could go, and just like that everything effortlessly worked out. I had my ride! Instead of taking a crappy plane flight I would drive up with a friend. Wonderful!
Now I had to actually prepare my speech. I realized that the event would happen right before the Equinox. I had spent the summer working on the motion-accessibility console, a text-based way for a blind iOS developer to interact with a running application. I got this great idea that on the Equinox I would release this wonderful new thing that would make things equal in a sense, and I would present it at Nickel City Ruby. It seemed pretty grand, but would I pull it off?
I worked on the code. iOS 7 came out and caused a few wrinkles. I kept working. I also restructured the speech to feature a demonstration of the console. I had things mostly ready to give a preview at the Philly Accessibility Forum. It went over well, which encouraged me. I finished the code the night before I left, but still had no documentation. I felt very satisfied with it though.
We started our journey at 09:30 A.M. on Thursday the 19th. We stopped at Whole Foods to pick up some healthy food. We had no idea if we could get anything good there. It turned out we didn’t have to worry.
Along the way we stopped and had lunch in a peaceful park. We enjoyed this little calm break. Later we had to stop for 45 minutes when we encountered an accident. Finally we arrived at the Budget Inn, our incredibly cramped home for the next four days. We immediately started making jokes and references to Fear and Loathing in Las Vegas. “We can’t stop here! This is bat country!” Despite the no smoking sign, it clearly smelled of cigarette smoke. At least I didn’t need to worry about going outside for a pipe. I logged onto the wifi, but had some problems. “Yeah well, the password is budget.” said Alex.
We had to make it by 06:30 for the speaker’s dinner. We made it just in time. We sat at the table with Nick and chatted. I had two glasses of wine. Unfortunately I failed to take into account the fact that they gave me big full glasses of wine, as opposed to the little glasses which I fill about 2/3 of the way.
We moved on to Ignite Buffalo, an event where speakers give five-minute talks. We have them here in Philly. We missed the talks, but made it for the after party. I tried a local beer called Roosevelt Red. It tasted sweet. They like the sweeter beers up there such as red and brown ales. We realized that they go better with the cold. I got into a conversation about numbers stations, the subject of a talk.
Finally the time came to go. I had things to do! I felt pretty intoxicated as we got back to the room, and I still had code to document! Somehow I did it, and six or so hours before I had to get up and speak about it I had published version 2.0 of motion-accessibility. Fear and Loathing! I meditated and went to sleep, praying to Goddess to get me through this.
I woke up. I had such a headache. I showered and put on my suit. The word hangover entered my mind like a whisper. Had something happened last night? Oh dear, the big glasses of wine and that sweet beer. And oh yes, I had released some code or something.
We made it to the conference and registered. Suddenly Nick got on the microphone and yelled “HHHHEEEEEELLLLLLLLLLOOOOOOOOOO Buffalo!!!!!!” The burst of feedback which accompanied his voice sent a beam of pain through my head. I had to get out. I needed breakfast.
Someone said we should go upstairs to the cafe, which sounded easy, but they didn’t have any breakfast food. A local recommended a diner. I thanked him profusely and we headed off. Buffalo does not make a good city to have a hangover, not that any city does. I heard some loud jackhammers and construction noises. Finally we arrived. We ate American food in an American diner while listening to American eighties music. It felt very zen. I began to feel better. French toast and home fries made a good choice.
We made it back in time to hear a talk about RubyGems. RubyGems rocks. I had used it the previous night in fact. Then came a heavy talk about developers and depression. Greg made a great point that the software industry seeks out people with these traits – a weird sleeping schedule, thoughts of grandiosity, and social isolation. He read the text of Apple’s Think Different ad. He pointed to Aaron Swartz and Alan Turin as examples, both of whom committed suicide. Heavy.
Later I came up with a good metaphor to explain depression to programmers. Have you ever had a bug in your debugging code? It will drive you mad! You will go over the logic again and again, and it seems sound. Then with a shock you realize that the code works, but the code which displays its output doesn’t. Depression works just like that. The brain gives you fault information. Fix the underlying problem and it goes away.
They broke for lunch. This worked out well, since we had just eaten. We went to Sue’s Delhi and I got some good vegetarian food. We ate in the park and relaxed. I would give my speech next.
We got back and I talked to Nick. I had totally forgotten about the slides. My friend Adriano had made them for my Belgium speech, but a lot of it still worked. Nick agreed to run them and just work with them. I felt so grateful it had worked out at the last minute.
I gave the speech and it went well. You can listen to it here. You can watch the video on Confreaks or on Youtube. I had worked so hard and the code behaved as it should. I felt so happy the live demonstration went well. I had done it!
I zoned out for the remaining talks. Someone gave one on apprenticeship. A girl talked about the impostor syndrome. Some programmers consistently underrate their abilities. They say things like “I was just lucky.” “I’m not that smart.” or “I’m not a good programmer.” In reality they do just fine. Programming involves regular failure. She contrasted it with the opposite, people who overrate their abilities. They think of themselves as hot shit. We’ve all known people like that. She said to focus on your successes, build a community, and to avoid hostile geniuses. Fake it till you make it! “The secret of life is to pretend to know what you are doing.”
I contrasted this conference with the RubyMotion conference. That one had pure tech material. This one had some “softer” topics. I found this interesting to thin about. A lot of people must have these issues. In talking to people later, a lot of them found these talks the most valuable.
A talk about Ruby and science followed. He talked about some open genome projects. Next came a more technical talk about GIT and Github, another thing I love and had used the night before. I took some good notes about merge strategies and some other useful features. Very good. Finally came the keynote.
We felt hungry and wanted a good meal. I had asked Nick for some places to get vegan wings. He suggested a restaurant called Merge and a bar ominously called Duke’s Bohemian Grove Bar. Someone said Merge had a more posh feel and Duke’s felt more like a bar. Posh sounded good. Why someone would want to name their bar after the Bohemian Grove ceremony would have to wait. We had a great meal of spiced squash soup, spring rolls, and Korean grilled portobello.
We talked over dinner. Alex had started thinking about giving a lightning talk the next day about marketing technology. I didn’t know this before we left, but Alex doesn’t program, he works in sales. He hasn’t even read Pickaxe! I found this rather funny.
We talked about the way developers think. We will work for weeks doing things which make a difference but with no visible change and nobody will notice. Then we will make some stupid change, updating an image for example, and users will go nuts over it and thank us for this great thing we have done. If a client asks a developer if they can guarantee that a certain error will never happen again we will say no, because we honestly can’t. Developers deal with unknowns.
The time to order dessert had come. Alex asked how much I wanted. I said I didn’t know, it depends on the size of the dessert. I’ve had brownie sundaes that barely feel like enough and ones that could easily feed three people. He said a developer would say just that. As it turned out the sundae had a small size and the cobbler a large size, proving my point.
After our amazing meal we headed to the after party, sponsored by Github. they had also sponsored the RubyMotion after party. I talked to a bunch of people, including some cool girls from New York, and a guy from India. He goes to the same talk my Indian friends I met in Belgium go to, and assured me if I submitted a talk it would get approved. He described Goa as like Hawaii but with Indian food. That sounds just about right! A girl told me about a RubyMotion conference in New York City at the end of the month. Greg and I also talked about our respective speeches. He said: “I just have to say, you are by far the best dressed person at this conference.” I felt good.
Eventually we headed back to the crappy hotel. Alex worked on his talk. I turned on Beavis and Butt-head. “Clients are just like Beavis and Butt-head. They’re like, huhhuhh that was cool.” I observed. We felt tired and good.
We woke up and considered our options. The diner we went to didn’t open on Saturdays, so we had to find another place. We read reviews while sitting in our hotel room. One diner had a comment: I had the single worst dining experience of my life here. Another, the Lake Effect Cafe, had great reviews. Sites like Yelp have become a real problem for businesses. They have no control over them.
We had a wonderful meal. I had an omelet and home fries. They also had freshly squeezed orange juice and I enjoyed some Earl Grey.
We rolled in to the conference around 11:00, just in time for a talk called Smash the Monolith. I could relate to this, talking about maintaining legacy applications. All applications proceed to a point of unusability. They become rigid – changing one thing breaks other things. Methods attract more methods like black clothes attract cat hair. As a human owned by a cat I appreciated this analogy. He related it to the concept of entropy from physics. You have to rebuild your mental model, which crumbles over time. The word legacy means a gift from one generation to the next, and he suggested thinking about how archeologists work. Since I had recently become an assistant docent at an archeological museum this also resonated. An archeologist preserves the context around something.
Zach followed this with a talk about some of the Ruby core libraries. We had talked the night before about improving the accessibility of rdoc, something I still intend to do. He talked about Distributed Ruby, or drb, which allows Ruby programs to communicate across TCP connections and processes. Very cool! He also touched on rss, rdoc, and curses. I found this useful and will investigate these gems further. After this we had lunch, but since we had just had a good meal we just nibbled, enjoying our warped schedule.
Next came a talk about reinventing the wheel. We use a lot of frameworks, but that can cause problems. You will use a tool more if you don’t understand it. We have become maintenance people and need to write more. Instead of using someone else’s tool, why not write it yourself? You will learn more. He also gave some good general design tips: use a full-width header, rounded corners, and wood grain always looks artistic.
After this came the cutest talk I have ever seen. An eleven-year-old girl gave a talk about her journey learning Ruby as a kid. She used kidsruby.org which has a turtle program. It sort of reminded me of Logo, something popular way before her time. She made the funniest joke. When discussing writing a simple Hello World type program she said: “You can make it say hello,but it only prints it on your computer, so you’re really only saying hello to yourself.” Later I learned that she had ad-libbed that joke. What a natural! And what a cutie!
The time had come for the lightning talks. I enjoyed them. First someone talked about active-support. RubyMotion now has motion-support so I found this very interesting. RSPEC Search and Destroy sounds cool. Programing and music theory also interested me. In high school when we learned about fractals I wrote a program mapping the equations to music notes. It sounded a lot like jazz. Sun Ra said “There is a universal language, and it is jazz.” The speaker writes a gem called jazz_model. Someone talked about bcrypt-ruby. And Alex gave his talk. Finally came the keynote. A guy talked about becoming a programmer while living in a bad neighborhood in Chicago. I have one line of notes: Purpose over profit. And with that we walked out into the Buffalo air.
We didn’t know where we would eat. We wondered about Duke’s Bohemian Grove bar. The name made me nervous, and FourSquare listed it as a dive bar. Alex saw it and said: “If this is the place I think it is, it definitely fits in with our trip.” “Your first dive bar!” proclaimed FourSquare as I checked in. I hoped it didn’t just broadcast that to Facebook. I wondered if I would end up tied to an altar. With these strange thoughts we went in…
And we feel so glad we did! They had a live jazz band playing. We sat and had wings. I ordered the eggplant wings and they tasted exquisite. They breaded and fried eggplant, then added the sauce. I also had truffle fries. You can pick two sauces, I picked lemon-basil and homemade barbecue. Fantastic! And of course we had more sweet Buffalo beer.
At the end the owner came over. “Did you try the eggplant wings?” he asked. I said I had. “I have to ask: who is Duke and why did you name your bar after the Bohemian Grove ceremony?” He explained that Duke refers to his family name, and to his older brother who had passed on. I told him that we had quoted Fear and Loathing the whole time, so Duke meant something to us as well. Then he started describing the bar, since I got the reference. It had owls, all-seeing eyes, skulls and bones, Masonic aprons, and different themed tables such as the UFO table and the mind control table. “My wife is a big Infowars fan.” he explained. I loved connecting with some awake people, and promised a good review on my blog. He said they serve food until 01:00 A.M. and stay open 365 days a year. “We’re always here for you.” We left feeling ecstatic. He gave us some stickers with subliminal content.
We could have stayed all night, but had to go to the other after party. We talked and eventually said our good byes. We came back to our crappy hotel room and prepared for the final day of our journey while trying to ignore the telltale sounds coming through the paper-thin wall. We would see Niagara falls, go to a concert, and somehow make it home around midnight.
We got up and packed. We had enough of the cramped room – they forgot to give us more weird packets of shampoo. They had had enough of us as well – they yelled at me for emptying my tobacco pipe in the toilet. We shouted our farewells and left. We decided to snack on some food in the car and see Niagara Falls first, then go to breakfast at the Lake Effect Diner since it had treated us well and we probably wouldn’t find something better. Twenty or so minutes later we began to draw close to the falls.
Alex could see the mist in the air. He said it looked like smoke from a fire in the city. We pondered the amazing physics required for this to happen. We got out of the car and as I began walking I felt a tremendous vibration in the ground and heard a low rumbling. I wondered if a plane flew overhead, then suddenly realized it came from the waterfall!
We walked down a path to the American side. We decided not to try to cross to Canada because Alex forgot his passport and I only had a copy of mine. First we came to a 200-foot cliff with a railing. The power felt serene. I could hear the water flowing and splashing on the rocks. I made a recording, and listening to it still makes me feel peaceful. I enjoyed leaning over the railing and putting the recorder as far out as I could for the closeup. We laughed in amazement at the people below us getting wet.
After spending a few minutes listening to the water and the languages around us we proceeded to Horseshoe Falls. The waterfall bends around like a horseshoe, hence its name. People in boats rode in the horseshoe and got absolutely soaked. It also impressed us and I made another recording. After a half hour or so we had seen enough. We felt very glad we went.
We headed to Lake Effect and had another great meal. I had excellent blueberry pancakes. After that we said our good byes to Buffalo and headed out. We stopped at a farmer’s market and got some amazing grapes, apples, and peaches. Now we had to make it to some random ball room venue in northern New Jersey for the concert. We ate at Chipotle and entered the concert hall just in time. It had all worked out! All hail Discordia!
Alex wanted to see a band called Cake. I had never heard of them (I haven’t listened to the radio since 1992) so didn’t know what to expect, but figured why not go to a concert? I expressed concern at the volume levels and Alex thoughtfully bought me some earplugs, and I feel so glad he did. As soon as it started I put them in and could hear everything just fine. In fact I think I could appreciate the music more. And at the end I could walk out with unblemished hearing. I can’t afford to damage it just because some insane humans listen to music at dangerously loud levels. I use my hearing to see.
The concert ended and Alex felt awesome. We had listened to the Beatles a lot that day so continued the trend, and listened to the first disc of the White Album. Finally at around 01:00 A.M. we had made it back to Philadelphia. We had done everything we had wanted to do!
The Nickel City had treated us well. We met some friendly people, ate well, and had a great time. Hopefully this will become an annual conference, and we will see you next year. Now that we know, we will have to bring a whole Philadelphia contingent!