Fluxus Frequency

How I Hacked The Mainframe

My First Ruby Conference - Rocky Mountain Ruby 2013

This week, my classmates and I attended our first Ruby conference. On Thursday and Friday, we headed up to Boulder for Rocky Mountain Ruby (RMR). I didn’t have any particular expectations of what it would be like going in. I’ve been to a few horticulture and education industry conferences, so I imagined it would be similar to those. In the end, it was. There were vendors trying to get my attention (with free t-shirts!), industry speakers, and a family reunion vibe.

Being in the Boulder theater, RMR was basically all about the speakers. Since there was just one stage, and all seats faced it, each talk received the full attention of the audience. Or at least that portion of the audience that wasn’t doing something else on their laptops. I’d been warned against the open laptop faux pas by my teachers before we went. So I was somewhat shocked that such a huge portion of the audience was busy (coding? checking fantasy football?) on their computers. Yet, at the same time, it’s not that shocking to me as a newcomer. Hello? It’s a computer nerd conference, what did you expect? I’d also read Ben Orenstein’s comments on this probelm a couple of times on his Codulate blog. His latest article (Aug 17, 2013), points the finger at 40-minute conference talks as being too long. He concludes:

...For every speaker I’ve seen who can pull it off [keeping the audience's attention
through a 40 minute conference talk], I’ve watched twenty more slowly lose the room to Twitter, Hacker News, and the irresistable appeal of unread emails.

It’s an interesting follow-up to this earlier post, where he berates the community for not shutting their laptops when watching a speaker, but then goes on to say he opens his own laptop when a speaker is ill-prepared to entertain or inform. After commenters disagree with this point of view, he posts an update saying that he’s changed his tune; he now thinks it’s better to “vote with his feet” and leave bad talks.

As for me, I definitely saw a share of poorly prepared talks at RMR. I tried to abide by the closed laptop rule, but it being a theater where there is only one speaker, it’s not really possible to vote with your feet. I did spend some time with my computer open, mostly up in the balcony. I was far from alone, but I still felt somewhat guilty.

However, there were some excellent talks, during which my Apple was decidedly closed. One of my favorites was given by Andy Delcambre of GitHub. He walked the audience through the lower levels of a web server, from the kernel up to http requests. He wrote a 23 line web server based on the concepts he showed us, and proved that it worked in his browser. This talk really filled in some gaps for me about what happens on the lower levels of the server when you request a webpage. The kernel interacts with sockets, first creating them and giving them an address. It then binds to them and begins listening. A client request comes in, the server reads the request, finds the file being asked for, and serves it back by writing it to the socket. Finally, the socket is closed. I also found it interesting that the sockets could be accessed with basic Linux shell commands. It makes a lot of sense to me, and takes some of the mystery out of how web requests work.

Another great talk was given by my teacher Katrina Owen. She covered game theory as it applies to developer competition and cooperation. Basically, game research shows it’s in our best interests to cooperate with each other as much as possible. If someone is uncooperative, we “punish” them by being uncooperative back, but if they apologize, we forgive immediately and go back to cooperating. At least, that’s how it worked for the machines competing in a Prisoner’s Dilemma contest. It was a cool way to think about being a programmer, and a nice change of pace from the many technical talks covering the code itself.

Finally, I would be remiss if I didn’t mention my teacher Jeff Casimir’s plans to create a new bootcamp. In a three minute lightning talk, he unveiled Jumpstart Lab’s intention to launch “Turing”, a new school in Denver that will turn out 112 devs per year. He and his company are splitting off from the Galvanize community, so my class will be the last gSchool class taught by Jumpstart. Talking with him later at Illegal Pete’s, he said that the new program would have four six-week classes in it, with a break between each class. Students who felt that they didn’t master one of the sessions will be able to retake it. They’re currently looking for funding, and their main focus remains on seeing my gSchool class’s session through to the end.

Aside from the talks, I also enjoyed a lunchtime conversation with Sean Griffin and Chris Toomey of Thoughtbot about the differences between Ruby, Python, and PHP, and what’s coming in Ruby 2.1. Later, I caught up with them at the Pivotal Labs cocktail hour, where they were discussing the advantages of Vim over RubyMine with one of the conference speakers. These guys are super smart, and I totally have an intellectual crush on their uber-nerdiness, as well as that of Thoughtbot in general.

Another nice conversation at the Pivotal party was with my classmate Brian Winterling and an iTriage employee whose name I’ve forgotten. He’d gone through Dev Bootcamp in San Fransico while his family stayed in Colorado. In the end, it was worth it to him, because he wakes up every day excited to go to work. He also had some unique advice. While most people tell me things like “make sure to write tests”, his advice was: “work on your soft skills”. In his mind, companies in this industry hire you because they think you have a good personality to work with, more than because you’re a strong coder. It was refreshing advice, and I took it seriously, coming from a fellow bootcamper.

In all, RMR was a great experience for me. Although it was hard to be in a dark theater all day when it was so beautiful outside (I admit to taking a nap on the grass one afternoon), and some of the talks were clearly ill-prepared, it was a great event to attend at this stage in my coding journey. It gave me an opportunity to meet people in the Ruby industry, listen to their advice, and get a feel for what it is that makes this community so special. This is what I found out: Ruby people want to work together collaboritavely, and to write code that will make our lives better. They want to work with coworkers who will communicate and treat them respectfully. And they want free t-shirts!

Thanks to everyone I met at RMR. I’m sure we’ll meet again soon!