logo Boston Ruby Group

January 13, 2015

Twenty Thousand Leagues Under ActiveRecord

by Pat Shaughnessy

We all know ActiveRecord allows you to perform complex SQL queries using simple, elegant Ruby code. It’s like magic, a useful magic we all use everyday in our Rails apps. But how does it actually work? We’ll find out by first exploring the shallow waters just under ActiveRecord: What is relational algebra? How does the Arel gem generate SQL strings from Ruby objects? Later, we’ll dive into much deeper waters - all the way inside the PostgreSQL database! We’ll discover what does Postgres does with our SQL strings, where our data is actually located, and how Postgres finds what we want. Join me and learn exactly how your Rails app gets the data it needs. Like the strange places and creatures Jules Verne described in his underwater adventure, we’ll discover fascinating data structures and computer science algorithms you never knew you were using.

March 12, 2013

Functional Programming and Ruby

by Pat Shaughnessy

While Ruby is object oriented and imperative, it does have some features that allow for functional programming. This talk will compare how you would write functions in Clojure or Haskell with Ruby generally, and then zoom in to take a close look at Ruby 2.0’s new “Lazy Enumerator” feature.

September 11, 2012

Dissecting a Ruby Block

by Pat Shaughnessy

More than any other feature of the language, in my opinion blocks are what make using Ruby fun. But what is a block, exactly? What would I see if I could cut one open and look inside? During this talk we’ll: * Explore Ruby’s internal implementation of blocks, lambdas, procs and bindings. * Learn how closures and metaprogramming are related in Ruby internals. * Discover what metaclasses and singleton classes are and how Ruby uses them. Do you really need to know how Ruby works internally to be a good Ruby developer? Probably not. But taking a peek under the hood can help you better understand the language… and is a lot of fun!

November 15, 2011

Bundler 1.1

by Pat Shaughnessy

Bundler 1.1 has some major performance optimizations when installing gems from Rubygems.org. Learn what is happening under the hood.