GoGaRuCo was a huge success by any measure. Josh Susser first mentioned his idea for a local Ruby conference during a San Francisco Ruby Meetup a year ago or so. This past weekend 200 rubyists gathered at the Swedish American Hall ready for 18 presentations and lots of break time in between to hang out and hack.

Pivotal Labs, a sponsor of the event, provided live video coverage (video available soon) and live-blogged every talk. Instead of rehashing each presentation, I wanted to collect my thoughts on the presentations that I liked the most.

MacRuby & HotCocoa by Rich Kilmer

  • Great overview of the history of Ruby on OS X
  • Great overview of what each of the Ruby technologies are on the mac
  • I was really impressed with the current state of MacRuby and HotCocoa
  • I’d gladly consider HotCocoa to develop a native client app for the Mac after seeing the demo

Sinatra – The Framework Within by Aaron Quint

  • I realized I had marginalized Sinatra for no good reason. Sinatra is really great for simple HTTP services
  • Aaron’s talk on “The power of the local web” was really interesting. I like the idea of building HTTP services as a way of interacting with a system. HTTP is a really flexible and well understood API for this.

Building Custom Web Proxies in Ruby by Ilya Grigorik

  • Described proxies as one of many transparent HTTP layers that are often present in between the client and the application server (firewall, load balancer, etc.).
  • Had a huge wow moment when Ilya was explaining how they use their ruby duplex proxy to send production traffic to a production server and a staging server. No more simulated traffic, this is the real deal!
  • At PostRank, they deploy a proxy in front of a few servers and load balance across them all, meaning any overhead introduced by the proxy only applies to a portion of their requests.
  • With their duplex proxy, they can run post processors on the request and response data. The two examples were response times and deltas of the response.
  • Ilya pulled this code out and released it on github. It’s based on EventMachine. Ilya also has a great writeup on EventMachine on his blog.
  • I talked to Ilya about wanting to add in a more generic API for post processors. I’d love be able to hot-swap post processors at runtime, which could be really helpful when debugging production issues and testing solutions in a staging environment.

Discussion Panel – Ruby Application Frameworks

  • This was a great panel and somehow the Pivotal guys were able to document much of the discussion. Worth a read.

Magic Scaling Sprinkles by Nick Kalen

  • Nick gave a simple and solid presentation on age-old distributed computing techniques.
  • He reminded everyone that these recommendations are computer science basics, and to reach for them, not a specific technology, when thinking about scalability.
  • I’d recommend reading the blog on this talk and checking out the code used during the demo. (note: each step of the talk is kept in a different branch)
  • During the presentation, Nick used his tool ss, which is A cross between Awk, a spreadsheet, and a relational database. A command line ‘language’ for statistical analysis. If, like Nick, you spend a lot of time analyzing log data for statistical information, you need to add this to your tool kit!

Shoes – Programming for fun by Tim Elliot

  • It was great to meet Tim. Besides being an incredibly nice guy, he has contagious passion for his work and his play, which came across in his presentation.
  • Shoes seems like a really neat environment to play around with. Tim showed some quick examples of fun UI tricks in Shoes, but he also showed that it works really well for a majority of desktop application needs, too.

Using Ruby to Fight AIDS by Jaqui Maher

  • Highly recommended presentation! The stats alone are shocking.
  • Really interesting to see what tools and techniques helped push this project forward
    • Git and github. Centralized SCM made it virtually impossible to get help from people outside of Africa, and was still difficult within Africa. Now lots of folks help via github.
    • Peepcode screencasts – Geoffrey Grosenbach sent a DVD to Africa of every Peepcode screencast
  • Ad-hoc networks FTW!
  • It’s amazing to see an app like this being rolled out, providing such incredible impact right away. It also really shows how much waste and inefficiencies exist in our crippled healthcare system in the US.

Webrat – Rails acceptance testing by Brian Helmkamp

  • Webrat is awesome.
  • If you really need browser specific tests, or need in-browser testing of JavaScript, Selenium is still recommended. You can use them together, too.
  • With web forms, webrat shines when you have proper HTML forms, with good labels. Webrat encourages proper HTML like TDD encourages better API design.
  • I asked some people about the ease that one might convert Selenium tests to webrat. The consensus was that form-based pages could be converted relatively easily, where other pages may be less so. Problem seems to be the often crufty Selenium tests.

Lighting talks – various

  • Observation: Yehuda Katz is not only a great programmer, he has helped nearly everyone at one time or another, with their own projects. He gave a lightning talk on a common API for key/value stores called Moneta, but was mentioned by name in nearly every other talk. Not just last year’s Ruby Hero award winner, but everybody’s hero all the time.

Arduino is Rails for hardware hacking by Greg Bornstein

  • Awesome demos of hardware hacking with Ruby. Greg had lots of cool gadgets and it was hard not to get swept up into dreaming up your own hardware hackery.
  • While controlling hardware via software looks insanely fun, some tiny glitches showed how flakey some of the middle bits can be (MIDI and USB can both be a PITA).
  • Greg’s library is a great example of using Ruby to create a clean and powerful API on top of a powerful but ugly one.

Relational Modeling Framework by Nathan Sobo

  • Nathan’s library June blew me away. It’s an event-driven relational framework in JavaScript.
  • The API is really elegant, pulled straight from traditional relational algebra.
  • Grockit built a massively multi-player online game environment for learning. The UI is all event-driven and feels really fast. What seems like chaos to manage, seems simple with this framework.
  • There was a lot of live coding that helped bring the framework to life, so the video of this talk is highly recommended.

Thanks again, GoGaRuCo! I’m already anticipating next year’s conference.

Discussion, links, and tweets

Follow me on Twitter for more musings from the ether.

© 2007-2015 Brian Doll