OSCON: Sessions Day One

Below are my notes from the first day of sessions here at OSCON. The talks I attended were:

  • Using Ruby on Rails to Build a Massive Multiplayer Game
  • Easy AI with Python
  • Driving Rails Deep into the Back Office
  • Streamlined
  • Ruby for Java Programmers
  • Coding Wizard, Savvy Trader

In the morning, I attended Michael Buffington’s talk on “Using Ruby on Rails to Build a Massive Multiplayer Game�. He gave a nice overview of the development of unroll discussing isometric art, game design and briefly mentioning Ajax/JavaScript/script.aculo.us. Hopefully his slides will be available online shortly. The code for unroll can be downloaded here. At 11:35am, I was torn between Mike Clark’s Deploying Rails Apps with Capistrano and Raymond Hettinger’s Easy AI with Python. Since I’ve already deployed a couple of Rails apps using Capistrano, I decided to sneak into the Python camp (I ended up sitting right in front of Guido). I found the presentation quite interesting and will be looking into similar libraries for Ruby. Raymond covered the following topics: neural networks for datamining, solving the mastermind game, solving sudoku, a Bayesian classifer and, finally, a generic puzzle solver. Though the slides do not appear to be online yet, the Python code is available here. After lunch I attended Obie Fernandez’s Driving Rails Deep into the Back Office. Obie discussed the PCS project for Barclays Bank in Willmington, DE that Thoughtworks was involved in. He discussed the various ways in which to get new technology into the very conservative back office of companies, such as: Trojan horse (sneaking it in), the race (two parallel development teams using different technologies), the pilot project, the rescue (for a failed/failing project) and finally undercutting (but he cautioned that this de-values the work you’re doing). The three key points of his talk were:

  1. Optimize and raise your level of abstraction (by creating custom DSLs and capturing the requirements in Ruby)
  2. Rails really breathes life into extreme programming (they had one week iterations on their project)
  3. Don’t sweat performance and scaling (they had their custom DSL generate SQL directly instead of Ruby to keep the performance up – so you can’t completely ignore performance issues, but they’re usually not as bad as you think)

Stuart Halloway demoed the Streamlined generator for Ruby on Rails ‘backend’ admin interfaces. Stuart described Streamlined as:

  1. Product ready backend scaffolding
  2. Generic enterprise CRUD
  3. The simplicity of ActiveRecord brought to views and controllers

He’s not going to put the material present online since it is all basically available via the Streamlined blog. Ugo Cei gave a talk entitled Ruby for Java Programmers – which confused many folks who thought it was an introduction to Ruby for those coming from a Java programming background – instead it covered how to call Ruby from Java and how to call Java from Ruby. All of the material is covered in his slides, which are available here. At the end of his talk he demo’ed Rails running inside of JRuby which was pretty neat (though very slow and a bit buggy – sometimes controllers wouldn’t respond). Since I’ve already written a C extension for Ruby, I decided to attend a different kind of talk, Coding Wizard, Savvy Trader by Kartik Subbarao of HP. It was a whirlwind talk covering stocks and options trading and how to get access to financial information as well as how to process it using Perl, GreaseMonkey, etc. When the slides are posted, I’ll link back to them but here are several of the sites which were recommended: