A fun romp through some interesting non-ruby topics.
Jim Weirich is the Chief Scientist for EdgeCase LLC, a Rails development firm located in Columbus Ohio. Jim has over twenty-five years of experience in software development. He has worked with real-time data systems for testing jet engines, networking software for information systems, and image processing software for the financial industry. Jim is active in the Ruby community and has contributed to several Ruby projects, including the Rake build system and the RubyGems package software.
Ruby and Unix clearly are interrelated, from Matz's championing of open source, to the large swath of the Ruby standard libraries that mirror the standard Unix interfaces, to the hacker culture that breathes life into both. This talk will explore the themes shared between the two, how Ruby and its community has been influenced by the Unix philosophy and ecosystem, as well as ways that both sides can further influence each other. What is the relationship between GitHub and Unix? What interplay runs between the accumulated wisdom of the Unix community and the ideas of Agile and BDD practitioners? We'll look at particular examples of Unix-like Ruby code, such as Unicorn or EventMachine, but also discuss high-level sociological constructs that will help Rubyists put themselves in the context of ideas that have been evolving since the late 1960s.
Matt Yoho is an agile development enthusiast happily working for Hashrocket, probably the most opinionated Ruby and Rails shop around, in Chicago. He's had the good fortune of leading a class on Ruby and Rails for the Scholars program of the Ohio State University, where once upon a time he received a B.S. in Computer Science & Engineering and one in Psychology. He's a recovering karaoke addict and one fairly hep cat.
Sinatra is a Ruby domain specific language (DSL) for Rack and is a powerful and flexible framework for creating micro-applications. This presentation focuses on showing the basics of Sinatra and its strengths for quickly developing and deploying small, reusable applications. Also covered is how applications written in Sinatra can be wired up via the rackup configuration file to create more complex applications that can remain modular in design, making it easier to adhere to agile practices of software development.
Tim is an Application Support Engineer for Engine Yard. He gets to help major Ruby on Rails websites scale and ensures they are running in peak condition. Tim is also an avid fan of MongoDB and writes fiction in his spare time.
When it comes to creating a host environment on browser or server alike, there is no language quite like JavaScript. From its dead simple object model to its lack of a standard library, it’s obvious that it’s been designed from day one let some other language do the heavy lifting. Conventionally, this other language has been C or Java, but why mess with those when you can use a real heavy hitter like Ruby? Using the V8 JavaScript extension for Ruby we’ll use these two dynamic languages in concert to * Define a domain specific language with javascript that can be interpreted by both the browser and by your Ruby code on the server. * Implement a simulated browser environment in Ruby which can be used for headless testing of Javascript code. (Hint, this is perfect for continous integration servers) * Allow callers to extend your web service at runtime with eval-safe javascript functions implemented in Ruby The discussion framed by these examples will show why having a JavaScript interpreter in your Ruby runtime is a such a valuable tool, and why its usefulness will only grow in the future.
Charles Lowell is a software developer, full stop. An avid advocate and practitioner of test-driven and behavior-driven development, his main focus since 2002 has been software user interfaces. Whether he is working on the client, server, mobile or desktop, he takes JavaScript and Ruby with him wherever he goes. When not running his mouth on the Drunk And Retired Podcast, he hacks on The Ruby Racer (V8 JavaScript extension for Ruby) and The Ruby Rhino (Rhino JavaScript extension for JRuby). Charles is president and co-founder of The Frontside Software.
Ruby's object model is an unusual combination of features. Together, those features have a profound effect on how Rubyists design software. Overviews of Ruby tend to focus on dynamic typing, but for someone trying to learn good design in Ruby, dynamic typing is just the tip of the iceberg. This talk examines the shape of object-oriented design in Ruby, showing how modules, mixins, eigenclasses, and other features combine in surprising ways to change how Ruby programmers deal with modularity, separation of concerns, extensibility, and other design concerns.
Glenn Vanderburg is a principal at Relevance. He was a very early adopter of Ruby, and watched with interest while the Ruby community's idea of good design evolved over a span of about five years. He enjoys tackling tricky design problems with Ruby, and teaching others how to leverage Ruby's powerful features to keep systems clean and simple.
The new Bundler being released alongside Rails 3 has been designed to fix all of your dependency problems. It makes using dependencies easy and reliable at the same time. Bundler can handle your your Rails gem plugins, your application's dependencies, and even your dependencies' dependencies, all automatically. It even has built-in support for multiple environments, like development, testing and production. In this talk Andre will walk through why Bundler was written, and why you should be using it for all of your applications. He'll talk about how it makes dependency management painless, and how to use it effectively in common scenarios. He will cover using the Bundler with Rails 3, Rails 2, Sinatra, and any generic ruby application. He will also talk about about his experiences helping maintain the project, how to resolve the most common Bundler issues, and where the Bundler is headed in the future.
Andre Arko has been writing apps in Ruby and Rails for five years. He is a member of the Bundler team, and works for Engine Yard.
Have you grown tired of Active Record? Maybe a few flings with all the sexy NOSQL alternatives wooing your persistent needs? Active Record is back with a new look. Not willing to give you up so easily let's see what's become of the makeover. This talk will go over the changes in Active Record in Rails 3, review the process of upgrading your existing model code and exploring how best to use the new features. Highlights will include the new query syntax, lazy loading and scopes.
Straddling the world of entrepreneurs and consultants, Marty founded Haught Codeworks to build software for his clients, using lean principles. Using his 12 years of experience writing web applications, he enjoys mentoring, building businesses and getting deep into code. An active father, husband and outdoorsman, Marty thoroughly enjoys his life in the mountains of Colorado. He also finds time to keep engaged in the local software community by running the Boulder Ruby group.
Rails 3 brings many changes, both obvious (routing, the ActionController refectorings, ActiveModel) and subtle. Personally, I'm a fan of the changes to generators - the entire system has been rewritten to use Thor and to be more modular. In this talk, I'll walk through what generators look like now, show how easy it is to replace core generators with new ones, and dive into the underlying code to show how it all works.
Ben Scofield is the Technology Director for Viget Labs, where he helps startups like Squidoo and Odeo realize their visions with Ruby and Rails. He's spoken, written, and blogged his way through the Ruby community for the past several years, and is now the co-chair for RailsConf. In addition, he's one of the organizers of the DevNation series of local, technology-agnostic events held around the country.
At Twitter we're moving our Rails site from MySQL+Memcache to Cassandra. In the process we've learned a lot about working at scale and with big data in Rails. In this talk I'll give an overview of Cassandra and discuss how we're using it at Twitter.
Ryan King is the Technical Lead on the Storage Team at Twitter, leading a team that is using Cassandra to provide scalable storage for data at Twitter. Previously he's worked with companies to scale out Rails sites and on search at Technorati.
This presentation demonstrates MongoDB and its use in data-driven Ruby applications. The first part demonstrates MongoDB and its unique features, with special emphasis on its native Ruby driver. The second part illustrates an actual case study of using Ruby and MongoDB in a complex, data-centric application. MongoDB is a document-oriented database system build for speed and scalability. Using schema-free JSON-style documents as the base unit of storage, MongoDB maps nicely to modern dynamic languages like Ruby. We'll look at the MongoDB Ruby API, how the database interacts with the language, popular features for application developers, and some approaches for scaling. MyCityPlan is a decision support application for city strategic planning. The program is written using Ruby, along with the Sinatra framework. The program data handling was converted over to using MongoDB. Presentation issues will include: * why ruby * why sinatra * why mongodb * denormalization - object oriented storage * using the MongoDB native driver with Sinatra * the pain, the joy
Jim has 13 years experience building and supporting software applications including 8 years running his own software consulting businesses. At Squeejee, in addition to running the business, Jim helps clients with business consulting, project management, and a little bit of Ruby coding as time permits. John is president of Tiger Nassau and was a visiting adjunct professor at University of North Texas last year.
You can't go a week without hearing something NoSQL related these days. CouchDB is by far one of the best of this new breed of database, and it is a wonderful companion to Ruby. The map/reduce view system gives an incredibly powerful way to query your data, and the RESTful HTTP API enables both easy and fast clusters. It's built on Erlang, so you get all the stability and reliability you could want. Whether you're tired of spreading your data across a billion tables, or just curious what all the fuss is about, this talk will have something for you. By the end, you'll know enough to get started with CouchDB and why you'll want it for your next project. Most importantly, there'll be lots of great code samples to help guide the way. From samples in Ruby for the integration, to samples in Javascript for CouchDB's map/reduce functions, this presentation will have all that's needed to give you a nice, relaxing time with CouchDB.
Will Leinweber has been building apps in Rails for the last four years. He's been using CouchDB exclusively for the last year and half and recently became a maintainer of the couchrest gem. Currently he's a cofounder at merge.fm which is a startup that merges fans and musicians during songwriting. Will (infrequently) blogs at bitfission.com, and is @leinweber on twitter. He's an aspiring coffee geek, and if you ask him real nice, he'll make you some espresso.
This is a talk about the Tokyo Cabinet suite of products and their use in a production system. I will cover the basics of the Tokyo Cabinet suite of products and then dive into the story of into Collective Intellect uses Tokyo Tyrant and Varnish in a production system to manage 1.3 TiB of xml documents. These 1.8 Billion (and growing) documents are stored in a cluster of Tokyo Tyrant hash databases, fronted by a Varnish server, and configured with ruby programs. Areas I will cover are: why we are using Tyrant, our backup and recovery process, and our partitioning and scaling strategy.
Jeremy Hinegardner lives in Boulder, CO and has been programming Ruby since 2001. He deals with complex system issues and writes weird corner case gems such as heel, amalgalite, hitimes and a few others. Jeremy also contributes to the Fedora/EPEL community by packaging nginx, HAProxy, beanstalkd and a few other applications. He works for Collective Intellect managing the infrastructure and writing Ruby applications to move, munge, store and analyze social media data. In his copious free time plays at being a nature photographer.
JRuby on Google App Engine is a compelling development and deployment option. We now have critical gems like redcloth and mechanize working, and spin-up time is less of an issue. You can use agile development techniques with Rails or Sinatra, then refactor specific URLs with Java or Duby servlets to do some heavy lifting. The JRuby development environment for Google App Engine runs inside a servlet container, which provides full access to the Java APIs. We’ll also review App Engine datastore. Reads are very fast, no matter how large your data set, and writes are always saved to multiple datacenters. We'll take a look at the DataMapper adapter for datastore, and I'll explain how to avoid common pitfalls. Deploying your app to production couldn't be easier. No need to provision hardware, new app instances spin up on demand, so you avoid paying for servers that sit idle.
John Woodell is a web developer at Google, and a Ruby enthusiast. He maintains the App Engine APIs for JRuby and contributes to related projects. John manages the JRuby on App Engine blog and tweets as @johnwoodell.
DIY application monitoring using the Rackamole gem. Is your application monitoring strategy falling under the line of getting an email or phone call directly from your customers ? If so this talk might help... There appear to be step often overlooked in an application lifecycle, ie application monitoring. So much focus has been directed toward testing, that more often than not we all assume that is the tests are green, our applications must be green too. This talk is about creating an application level type cruise control and leveraging moled info to prevent the calls and better prepare for your next iteration.
Software consultancy owner, Derailed beloved host and open source contributor, mongo3, rackamole, mongo_rack...
Redis is a amazing key-value store that provides so much more than your average in-memory database, including persistent storage, lists, sets, and atomic (push/pop) operations. Resque is a "Redis-backed library for creating background jobs, placing those jobs on multiple queues, and processing them later." Combined, these tools can create an awesome work queue system and is a great way to share data across multiple systems, platforms, and languages. I have been using redis very successfully to solve some high-performance and scaling problems for a very popular iPhone game (top 10), WordsWithFriends along with a few other high-traffic sites. Redis is a new technology that developers should understand and be ready to take advantage of.
Ruby on Rails developer in Phoenix, Arizona I'm a 30 year-old living in Phoenix, Arizona (well Chandler actually) and the founder of a great local startup, Integrum Technologies a Ruby on Rails consulting shop, Ruby on Rails developer, avid musician, Nintendo lover, family man, and all around nice guy.
I'd like to discuss the rise of DevOps and how they'll play a critical role in the coming years as cloud computing becomes mainstream. I'll discuss the value that these people provide to organizations and why you're seeing both programmers and sysadmins kick ass as these jobs emerge.
Hailing from the internet, unix geek, hip hop lover, rubyist, hacker, beer drinker.
You know those people who manage to pull off messy? The ones who are
rumpled, always a bit late, who stand too close to you and hold your
hand for just a little too long. And yet you just can't help but like
'em.
That's Ruby, at least for me. In this talk, I'll try to convince you
that all the messiness is what makes Ruby such a special language.
Come and wallow :)
Dave Thomas likes to fly single-engine airplanes and pays for his habit by finding elegant solutions to difficult problems, consulting in areas as diverse as aerospace, banking, financial services, telecommunications, travel and transport, and the Internet. Before moving to the US in 1994, Dave founded an ISO9001-certified English software company that delivered sophisticated, custom software projects throughout the world.