Building a massively scaled, fault tolerant web service isn’t easy, but it’s definitely easier if you know which architectures work and which don’t. In this talk we’ll survey the architecture and complexities of a scalable web service including edgeware, middleware, message systems, load balancing, cache hierarchies, queueing theory, coordination primitives for distributed computation, designing for latency, inter-process communication, load balancing versus locality, write versus read throughput, non-relational datastores, database replication topologies, logging distributed computations, fault tolerance, deployment at scale, forensics, and the merits of suicide.
It has been said that Ruby is a slow language, but that is not true. Numerous Ruby projects have shown that it is possible to write fast, scalable software using Ruby. Merb, for instance, is faster than any major PHP web framework.
In this talk, Carl will show how to take the many available tools, such as ruby-prof, RBench, and kcachegrind, and turn any old Ruby into a speed machine. The tips and processes will be demonstrated with real world examples of optimizations that have been done to the Merb and Rails 3 projects.
Many of us discovered Ruby because of Rails, but there are many more frameworks for both web development and other application domains. We have assembled authors and contributors from six of the major application frameworks written in Ruby: Rails, Merb, Sinatra, Adhearsion, RAD and Shoes. We’ll get to hear what they have to say about what makes Ruby good (or bad) for building frameworks, and what opinions they have of other frameworks. Come with your questions, and demand answers!
A high-performance proxy server is less than a hundred lines of Ruby code and it is an indispensable tool for anyone who knows how to use it. In this session we will walk through the basics of event-driven architectures and high-performance network programming in Ruby using the EventMachine framework.
Have you ever tried to catch a train running at a million miles an hour? Jumping into the traffic stream at Wikipedia is an insane adventure I’ve been going through. Exactly how do you launch a new platform that could instantly have millions of hits in a few hours? How do you do that and not spend 3 years researching? A fun tour of how I got Ruby at Wikipedia and did it with confidence, bravado, and alcohol. There will be cussing and lots of funny stories that should be highly educating and an insight into my technical philosophies.
This talk will present the TrustTheVote project and the “I count!” movement. It will cover the technology roadmap, progress so far, and next steps, including expansion of development efforts and opportunities for involvement in design and construction of trustworthy voting technology that everyone will be able to see, touch, and try—technology that will be fully federally certified and have the endorsement of the States’ elections directors through a unique approach that can ensure widespread adoption. If you have ever wanted to know what you can do to make a difference in our electoral process, then this talk is for you.
In this session, David Stevenson explores how to run untrusted code inside a ruby application using a sandbox. With this powerful technique, users can upload code that integrates as part of a larger application, making it ideal for custom business rules, dynamic games (think SecondLife), and science/math applications. Ruby’s english-like syntax and ease of creating DSLs makes it a good scripting candidate for non-technical people.
Sinatra has been getting a lot of attention lately as the next great (micro-)framework. In writing apps, diving in, and contributing the reasons for its existence have become more clear. Sinatra is not just a toy or a neat trick, its the best way to create simple and non-obtrusive web interfaces to sit on top of a new or existing Ruby codebase. I’ll walk through the whats, whys, and tools for getting started with Sinatra.
MacRuby is an implementation of the Ruby language that runs on the Objective-C runtime under OS X. MacRuby is based on Ruby 1.9 but contains substantial modifications including the merging of object models, using the Objective-C 2.0 generational garbage collector, moving core types atop their Objective-C counterparts and replacement of standard libraries to more optimally integrate with OS X. MacRuby also includes a new library, HotCocoa, a thin, idiomatic Ruby layer that sits above Cocoa and other frameworks. This talk introduces MacRuby and HotCocoa and demonstrates how to use them to quickly build OS X desktop applications with Ruby.
Web Hooks evangelist Jeff Lindsay describes the powerful simplicity of integrating web hooks with your application. The canonical example is a post-commit hook for source control, but Jeff shows many other ways to allow programmers to chain functionality without building an entire API.
Author Mislav Marohnic discusses Coral, a way to pull in and organize Git repositories that extends and partially replaces RubyGems. Although still in the early stages, Coral aims to brings sanity to maintaining your own third-party forks across projects.
Compass author Chris Eppstein describes a new trend in the stylesheet framework world towards adhering to semantic markup and maintaining the separation between content and style. He shows how Compass and Sass can untangle stylesheets and allow reusable styles, classes, and designs without imposing on the markup.
Lew Cirne, CEO of New Relic, outlines how they use their own RPM product to maintain and improve the performance of their application, which processes billions of transactions per month with the average response time under 40ms.