Ruby on Ales is a two-day, single track conference inspired by Ruby, beer, & snow. Reserve a seat and plan to ski, board, or tube when you attend the first annual Ruby on Ales conference in Bend, Oregon.
"Then it starts to scan the computer and transmit bits of information every time he clicks the mouse while he's surfing. After a while, [...] we've accumulated a complete mirror image of the content of his hard drive [...]. And then it's time for the hostile takeover." -- Lisbeth Salander in Stieg Larsson's "The Girl with the Dragon Tattoo"
Hacker dramas like the Stieg Larrson book make for good fiction, but we know that real life rarely matches drama. And with all the security features that Rails 3 has added, surely it is difficult to hack a typical Rails web site. Right? Wrong! Without deliberate attention to the details of security, it almost certain that your site has flaws that a knowledgeable hacker can exploit. This talk will cover the ins and outs of web security and help you build a site that is protected from the real Lisbeth Salanders of the world.
Ruby is a great language for building web applications and manipulating text but it's also the best language to interact with your favorite Mac apps or even build a new app to sell on the Mac App Store. I will demonstrate how to build a simple GUI app in MacRuby and discuss the benefits and drawbacks of doing so versus using RubyCocoa, Objective-C, Objective-J, or Java. I will also discuss the roadmap for MacRuby 1.0, scheduled to be released later this year.
Puppet and Chef, both of the modern examples of configuration management and systems integration software are written in Ruby. Add Capistrano, Rake, and MCollective to the list and this starts to seem like much more than coincidence. We'll examine the history and implementation of each of these packages to find patterns that make Ruby an awesome tool for systems administration in 2011. We'll pay special attention to UNIX idioms as they're expressed in Ruby, API design and code organization, standard- and third-party libraries, and the language grammar itself. We'll learn lessons on idempotence, failure modes, and logging along the way that apply to any type of development and we'll discuss Ruby's future at the top of the operator's toolbox.
A lot of developers think they either can't or don't need to design. But that's just a myth â€” everyone can benefit from a few simple design concepts. Learn some simple design hacks you can apply to your documentation, presentations and products to make them just a little bit prettier.
You know how to raise and rescue exceptions. But do you know how they work, and how how to structure a robust error handling strategy for your app? Starting out with an in-depth walk-through of Ruby's Ruby's rich failure handling mechanisms -- including some features you may not have known about -- we'll move on to present strategies for implementing a cohesive error-handling policy for your application, based on real-world experience.
You _could_ work in a business park. You _could_ lust after an office with a window. You _could_ have a monthly company "meeting" at that bar you have to drive to. Or you could change your environment. I helped create Bendyworks with a firm commitment to the importance of environment. We work downtown, above a bar, across the street from a microbrewery. We all pair program in one big room with a rotating music selection. We have book club and daily standups and weekly game nights (with beverages from aforementioned microbrewery). Learn from me - a beer connoisseur, former ski racer, and ruby business owner - about how to change your Ruby Environment.
Single Project, Multi Purpose Enterprise Applications come in multiple flavors these days: Rails, Sinatra, Grape, ZMQ.
Let's explore a multi-site mulit-purpose single project architecture which serves all aspects of an enterprise design, heavily seated in RACK. Special attention to Rails, Sinatra, Grape, Rack and ZMQ/EventMachine/ZMQMachine/DripDrop.
Stratocaster is an internal GitHub Ruby project written to replace the organically grown GitHub Event timeline. This is a tale of an overgrown MySQL table being replaced by a more specific Redis setup. We'll see what new possibilities that Redis is able to provide. Also, we'll go over how Mustache was able to replace Erb for event rendering.
This talk is about a technique for splitting your web applications in half, shifting the model layer into a very clean API running on Sinatra. Its much easier than you think - and with this architecture, you'll experience a great performance boost, and have a useful public facing API.