“Refactoring” is an important concept in software engineering. It allows us to change (and hopefully improve) our code, without changing what it does. In this (now-famous) talk, Katrina Owen shows us how refactoring is something that we can and should do often — and that it’s good for us, as well as for our code.
Upworthy (“Things that matter”) is an extremely popular Web site, containing video that they the site hopes will go viral, typically on socially conscious topics. (You have probably seen links to Upworthy videos on social networks such as Facebook.) Upworthy is written in Ruby on Rails, and runs on Heroku — but this wasn’t always the case, and the story of how they started, and then grew and scaled, is an interesting one. In this talk, Luigi Montanez and Ryan Resella, two engineers at Upworthy, describe the ways in which Upworthy started, grew, and was scaled, and the problems that they had to solve at each turn.
Pry is an improved REPL (read-eval-print loop) for Ruby programmers, replacing the standard IRB tool. You can use Pry as a debugger, as well. In this talk, Joel Turnbull demonstrates how we can use Pry as a debugger, to analyze, fix, and even plan Ruby and Rails applications.
JRuby is a version of Ruby that runs on the JVM. JRuby has long been praised by Rubyists for its speed and abilities, but its compatibility with the standard (“MRI”) version of Ruby has been somewhat lacking. This talk, by JRuby developers Charles Nutter and Thomas Enebo, describes some of the major updates and improvements in the latest version of JRuby, which may convince even more Rubyists to switch.
Many developers have heard of “monads” over the last few years. Besides asking “what is a monad?”, many of these developers have asked, “Why should I care?” The fact that monads are associated with esoteric, hard-to-understand languages (such as Haskell) only makes it less likely that we’ll learn about them. In this talk, Tom Stuart introduces the idea of Monads using Ruby, and then talks about how to use them to improve our Ruby code. Slides for a version of this talk are available here.
Steve Deobald, in this talk, describes the differences (and similarities) between Ruby and Clojure, and why Rubyists should feel comfortable experimenting with Clojure.
How should we design APIs that allow us to handle many types of media? In this talk, Steve Klabnik discusses “real REST” vs. “Rails REST,” and shows you how to design a useful and clean API that will allow people to consume various types of media.
Reuven Lerner (that’s me) gave this talk at the online hack.summit() in December 2014. In this talk, I compare the syntax of Ruby and Python, and consider the language design trade-offs that have been made, as well as the relative strengths of each language.
Jim Weirich, in this talk from RubyConf 2012, described combinators (including the Y combinator) and other aspects of functional programming. If you thought that functional programming is hard to wrap your head around, Jim makes it fun and relatively easy to understand.
The role of women in high tech has become a topic of concern and discussion. In this talk, developers Hannah Howard and Evan Dorn discuss the current state of affairs, and what can be done to improve it — for the Ruby language, and the high tech world in general.