•  

RubyConf Australia 2013 schedule

Wednesday 20th February 2013

  • Workshops Registration

    At 8:00am to 9:00am, Wednesday 20th February

    In Foyer, Jasper Hotel

  • Workshop: Advanced Ruby

    by Dave Thomas

    At the start of the day, we list out all the topics and prioritize them based on the class's wishes. From there, we start at the top and see how far we get. There's a mixture of talk, demonstrations, and exercises, and I generally let the class lead me down rabbit holes as long as enough people are interested. In general, the more experienced the audience, the faster we go. In general, people will need at least 6 months Ruby to keep up. A year or two is the sweet spot.

    Topics may include:

    • Ruby 1.9
    • the Ruby Object Model (this is always covered)
    • open classes, monkey patching, and Ruby 2.0 refinements
    • sharing behavior (and why inheritence is mostly not the way to do it)
    • modules and mixins
    • metaprogramming techniques
    • domain specific languages
    • hook methods and altering the interpreter lifecycle
    • design in a dynamic language
    • performance

    At 9:00am to 5:00pm, Wednesday 20th February

    In Workshop Room 1, Jasper Hotel

  • Workshop: Code Retreat

    by Corey Haines

    Coderetreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice, away from the pressures of 'getting things done', the coderetreat format has proven itself to be a highly effective means of skill improvement. Practicing the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimizes the cost of change over time.

    At 9:00am to 5:00pm, Wednesday 20th February

    In Workshop Room 2, Jasper Hotel

  • Workshop: JRuby

    by Hiro Asari and Charles Nutter

    The JRuby core team members Charles Oliver Nutter and Hiro Asari lead the first JRuby workshop in the Southern Hemisphere.

    Topics that will be covered include:

    • JRuby overview: installation, getting started
    • Java and Ruby integration: loading and calling libraries
    • JRuby on Rails: building and deploying
    • JRuby for fun and more fun: Minecraft plugin with Purugin (or something similar)
    • JRuby debugging and performance tuning: finding problems

    Attendees should have a Java VM installed (Java 6 or higher) and have familiarity with the basics of Ruby. RVM will make installation easier, but it is not required.

    At 9:00am to 5:00pm, Wednesday 20th February

    In Workshop Room 3, Jasper Hotel

  • Workshop: Rails Girls

    by Robert Postill, Kai Lemmetty and Susan Jones

    Rails Girls kicks off with an installation party on the evening of Tuesday, February 19 before attendees are guided in the use of Ruby on Rails to build a web application.

    Registration is free!

    For more details of the event, please visit Rails Girls Melbourne.

    At 9:00am to 5:00pm, Wednesday 20th February

    In Workshop Room 5, Jasper Hotel

  • Workshop: Rails4iOS

    by Lori M Olson and Tim Breitkreutz

    You've got your iPhone app almost ready to go, but now you need a website. You're an iOS developer, not a web developer, and every day that goes by is another day that your app ISN'T in the App Store. You can outsource your server-side development, but that costs both time & money. What if you could build your own website? Our Rails for iOS Developers Workshop will help you get your responsive website up and running, using the powerful Ruby on Rails framework, from creation to deployment, in straight-forward, easy to follow steps.

    At 9:00am to 5:00pm, Wednesday 20th February

    In Workshop Room 4, Jasper Hotel

  • Morning tea

    At 10:30am to 10:45am, Wednesday 20th February

  • Lunch

    At 1:00pm to 1:30pm, Wednesday 20th February

  • Afternoon tea

    At 3:15pm to 3:30pm, Wednesday 20th February

Thursday 21st February 2013

  • Conference Registration

    At 7:30am to 9:00am, Thursday 21st February

    In Foyer, Jasper Hotel

  • Conference welcome

    At 9:00am to 9:15am, Thursday 21st February

    In Conference Room A, Jasper Hotel

  • Opening Keynote

    by Corey Haines

    Corey Haines helps developers improve their fundamental software design skills through the use of focused-practice events, such as coderetreat. He trains teams on development technical practices, and builds projects and products when not on the road.

    At 9:15am to 10:15am, Thursday 21st February

    In Conference Room A, Jasper Hotel

    Coverage video

  • Morning tea

    At 10:15am to 10:30am, Thursday 21st February

  • Down the rb_newobj() Rabbit Hole: Garbage Collection in Ruby

    by Chris Kelly

    New Relic recently made the big move to Ruby 1.9.3 which showed meaningful improvements over 1.8, particularly in garbage collection. So this talk is taking a look at what changed in Ruby's garbage collection that caused much of the improvements. We will start with the fundamentals of garbage collection but work down to the nitty gritty C code to get to the details of what's going on, starting with rb_newobj(). You should walk away with an understanding of how garbage collection works in MRI and a nice appreciation for the overall lifecycle of Ruby objects.

    At 10:30am to 11:15am, Thursday 21st February

    In Conference Room B, Jasper Hotel

  • Refactoring from Good to Great - A Live-Coding Odyssey

    by Ben Orenstein

    Most developers know enough about refactoring to write code that's pretty good. They create short methods, and classes with one responsibility. They're also familiar with a good handful of refactorings, and the code smells that motivate them.

    This talk is about the next level of knowledge: the things advanced developers know that let them turn good code into great. Code that's easy to read and a breeze to change.

    These topics will be covered solely by LIVE CODING; no slides. We'll boldly refactor right on stage, and pray the tests stay green. You might even learn some vim tricks as well as an expert user shows you his workflow.

    Topics include:

    • The Open-Closed Principle
    • The types of coupling, and their dangers
    • Why composition is so damn great
    • A powerful refactoring that Kent Beck refers to as "deep deep magic"
    • How to destroy conditionals with a NullObject
    • The beauty of the Decorator pattern
    • Testing smells, including Mystery Guest and stubbing the system under test
    • The stuff from the last halves of Refactoring and Clean Code that you never quite got to :)

    At 10:30am to 11:15am, Thursday 21st February

    In Conference Room A, Jasper Hotel

    Coverage video

  • Realtime Rails and Ruby

    by Toby Hede

    A whirlwind and in-the-deep-end introduction to using Ruby and Rails for "realtime" applications so you never have to write javascript on the server. Includes Rails 4 Live Streams, Evented Asynchronous Rails and vert.x.

    At 11:20am to 12:05pm, Thursday 21st February

    In Conference Room B, Jasper Hotel

  • Sinatra in SIX lines - How to do crazy stuff with Ruby

    by Konstantin Haase

    A fun code analysis.

    At 11:20am to 12:05pm, Thursday 21st February

    In Conference Room A, Jasper Hotel

  • Millions of Apps: What we've Learned

    by Richard Schneeman

    Heroku has deployed millions of web apps. When you've run that many applications, it's hard not to notice when frameworks and developers do things wrong, and when they do them right. We've taken a look at the most common patterns and boiled down the best of our advice in to 12 simple factors that can help you build your next app to be stable, successful, and scaleable. After this talk you'll walk away with in depth knowledge of web framework design patterns and practical examples of how to improve your application code.

    At 12:10pm to 12:55pm, Thursday 21st February

    In Conference Room B, Jasper Hotel

    Coverage video

  • Teaching Ruby for fun and profit

    by Renée De Voursney

    How many companies are hiring Ruby developers right now? How many are finding qualified candidates? Why aren't workers swarming into our industry to fill up all these empty developer positions? Is learning Ruby really that hard? Why is learning Ruby so hard? Isn't it a language built by people for people? Shouldn't that be easy for anyone to pickup and use? Why isn't everyone building Ruby apps? I'm going to tell you. The good, the bad, and the goofy of trying to teach Ruby, Rails, and everything else we take for granted as RoR developers. There may even be a guest appearance from a real life Ruby Newbie to demonstrate!

    At 12:10pm to 12:55pm, Thursday 21st February

    In Conference Room A, Jasper Hotel

    Coverage video

  • Lunch

    At 12:55pm to 1:40pm, Thursday 21st February

  • bundle install Y U SO SLOW: Server Edition

    by Terence Lee

    If you've ever done anything in ruby, you've probably used rubygems and to search or install your favorite gem. On October 17, 2012, rubygems.org went down. A Dependency API was built to be used by Bundler 1.1+ to speed up bundle install. Unfortunately, it was a bit too popular and the service caused too much load on the current infrasture. In order to get rubygems.org back up the API had to be disabled. You can watch the post-mortem for details.

    Members in the community stepped up and built a compatible Dependency API service called the Bundler API. Working with the rubygems.org team, we were able to bring the API up for everyone within a week. In this talk, I will cover the process we went through of extracting the API out into a separate Sinatra app that now runs on Heroku. I'll go over how the API works and how Bundler itself uses it. Since we don't have direct access to their database, we needed to build a syncing service to keep our local cache up to date. We'll discuss the original sequential implementation of the sync code and how we improved performance through the use of a consumer thread pool. The sync time down was cut from 16 mins to 2-3 mins. Next, we'll talk about the productization steps we took for visibility to make sure the app is performing well.

    We're prototyping a replay service, to replay production traffic to different Heroku apps. With this we can compare the performance between the current MRI app in production and the same app running on JRuby. This will also allow us to test any changes/features against real production load. We'll go over how to set this up.

    At 1:40pm to 2:25pm, Thursday 21st February

    In Conference Room B, Jasper Hotel

    Coverage video

  • The C Word

    by Pat Allan

    One of the most notable things about Ruby is its community - the passion towards writing good code, the opinions on how code should behave, the tools it produces, the people it draws to it, and yes, occasionally the arguments and drama.

    Is this something we should take for granted? Should we be actively guiding the community to behave in a particular way? What makes up a healthy community? Are there ideas and wisdom can we take from other communities? So many questions – let's see if we can find some answers!

    At 1:40pm to 2:25pm, Thursday 21st February

    In Conference Room A, Jasper Hotel

    Coverage video

  • Schemas for the Real World

    by Carina C. Zona

    Social app development challenges us how to code for users' personal world. Users are giving push-back to ill-fitted assumptions about their identity — including name, gender, sexual orientation, important relationships, and other attributes they value.

    How can we balance users' realities with an app's business requirements?

    Facebook, Google+, and others are grappling with these questions. Resilient approaches arise from an app's own foundation. Discover schemas' influence over codebase, UX, and development itself. Learn how we can use schemes to both inspire users and generate data we need as developers.

    At 2:30pm to 3:15pm, Thursday 21st February

    In Conference Room B, Jasper Hotel

  • The Setup: Managing an Army of Laptops with Puppet

    by Will Farrington

    As a rapidly growing company, GitHub's faced some challenges in how to make sure that everyone can get up and running on projects or continue to work on one of the dozens of existing projects if they've never set it up before. What a nightmare! That's what prompted @jbarnette and @wfarr to develop The Setup. The Setup aims to solve all the problems that used to plague on-boarding GitHubbers onto projects with a lot of automation and a case of the "It Just Works". This presentation talks about the history of The Setup, how it works, and some of the lessons learned along the way.

    At 2:30pm to 3:15pm, Thursday 21st February

    In Conference Room A, Jasper Hotel

  • Afternoon tea

    At 3:15pm to 3:30pm, Thursday 21st February

  • Immutable Ruby

    by Michael Fairley

    Most Ruby code makes heavy use of mutable state, which often contributes to long term maintenance problems. Mutability can lead to code that's difficult to understand, libraries and applications that aren't thread-safe, and tests that are slow and brittle. Immutability, on the other hand, can make code easy to reason about, safe to use in multi-threaded environments, and simple to test. Doesn't that sound nice?

    This talk answers the question "why immutability?", covers the building blocks of immutable code, such as value objects and persistent data structures, as well as higher order concepts that make heavy use of immutability, such as event sourcing and pure functions, and finally discusses the tradeoffs involved in going immutable.

    At 3:30pm to 4:15pm, Thursday 21st February

    In Conference Room B, Jasper Hotel

    Coverage video

  • Lessons from the Masters

    by Geoffrey Grosenbach

    Over the last two years, I've traveled the world to pair with expert designers and developers on short projects to learn their day to day secrets and understand their philosophies. I've condensed this to 45 minutes of tricks, insights, opinions, and old-fashioned rants from Ryan Singer (37signals), Kyle Neath (GitHub), Neven Mrgan (Panic), Zed Shaw, Gary Bernhardt (Destroy All Software), and others.

    At 3:30pm to 4:15pm, Thursday 21st February

    In Conference Room A, Jasper Hotel

    Coverage video

  • Special Documentary

    At 4:20pm to 4:40pm, Thursday 21st February

    In Conference Room A, Jasper Hotel

  • Keynote

    by Aaron Patterson

    Aaron Patterson is one of Ruby’s most respected and loved programmers. A committer to both Ruby and Ruby on Rails and a member of Seattle's Ruby community, he also has a sense of humour that has endeared him to many audiences.

    At 4:45pm to 5:45pm, Thursday 21st February

    In Conference Room A, Jasper Hotel

    Coverage video

  • Conference drinks

    Drinks and canapes will be served.

    At 5:45pm to 7:45pm, Thursday 21st February

    In Foyer, Jasper Hotel