Category Archives: Ruby

[Video 232] Kerri Miller: Concurrency for !Dummies

Programmers often talk about “threads,” “processes,” and “concurrency.” But what does that really mean? What does it mean about the programs we write, and how we write them? In this talk, Kerri Miller describes what concurrency means, how we can think about it, and how Ruby programmers can (and should) use concurrency in their programs.

[Video 219] Justin Searls: As easy as Rails

Ruby on Rails makes it easy to get started writing Web applications. But perhaps it’s too easy, in that it encourages us to think in terms of server-side applications, when we often nowadays need to be thinking in terms of client-side applications. In this talk, Justin Searls describes the sorts of problems that can arise being a server-side thinker in a client-side world, and demonstrates several JavaScript-based tools (e.g., LinemanJS) that bring Rails-style and -quality development tools to JavaScript developers — and which should shake up our thinking a bit, if we’re still thinking in this way.

[Video 212] Pat Shaughnessy – Twenty Thousand Leagues Under ActiveRecord

What happens when, within a Ruby on Rails application, you use ActiveRecord to submit a query? In this talk, Pat Schaughnessy traces your query all the way through to the database (in this case, PostgreSQL), and demonstrates how much work Ruby and the database are doing. If you’ve ever wondered how much work happens when you invoke a single Ruby method, now you’ll have your answer.

[Video 211] Matthew Clark: The How and Why of Ruby

Ruby is famous for letting programmers do anything and everything. You can change the language, the syntax is extremely flexible, and there are many ways to do the same thing. This flexibility is great for experienced developers, but how does it work for new programmers? In this talk, Matthew Clark enumerates a number of reasons why Ruby is a good language to learn programming, and points to the features that make Ruby easy to understand and learn. As he says, we can talk about things without getting absorbed in the minutiae of where to put parentheses.

[Video 207] Brian Knapp: Message-Oriented Programming

Many of us program with object-oriented languages, such as Ruby. But what does “object-oriented programming” really mean? The emphasis in Smalltalk, the original OO language, wasn’t on objects so much as on messages — the communication that took place between the objects. In this talk, Brian Knapp explores what messages are, and how thinking in terms of them can change (and improve) the way in which you write object-oriented code — not just in Ruby, but in other languages, too.

[Video 203] Sam Saffron: Off the Rails

Let’s say you have a really popular open-source project. Let’s say that you want to provide the greatest possible performance, but that the basic installation of Ruby on Rails limits you. What can and should you do? How do you deal with this, without breaking Rails, requiring too many customizations or monkey patches, or hurting your application? In this talk, Discourse cofounder Sam Saffron describes how they handle such situations in their (amazing, in my opinion) discussion application.  How do they use Rails, how do they go around it, and how do they try to improve performance?

[Video 196] Peter Harkins: What Comes After MVC

MVC (model-view-controller) is a well-known paradigm for designing applications. Ruby on Rails was one of the first Web frameworks to use MVC, basically forcing us to use MVC in order to create a Web application. MVC works great at first, but does it work over time? As our applications grow in size and complexity, does MVC still make sense? In this talk, Peter Harkins describes the sorts of problems that MVC-based applications can encounter as they grow and age — and the types of solutions that you can apply to your code, in order to make it work better, and become easier to maintain.

[Video 177] Derek Prior: Implementing a Strong Code-Review Culture

When you mention the term “code review” to many developers, they assume that it’s a chance to criticize them, to tell them how their code stinks, or that it’s riddled with bugs.  But code review can and should been seen as a chance for both participants in the process to learn from one another. In this talk, Derek Prior describes how a code-review session can become helpful and encouraging, rather than critical and frustrating.  Sure, there might be conflicts — but if the developers focus on the code, rather than the personal issues, then the code and the developers participating in the code review can all benefit.

[Video 173] Kylie Stradley: Amelia Bedelia Learns to Code

Learning to code is sort of like learning a foreign language; you’ll make lots of mistakes that you can laugh at (and about) later on. In this talk, Kylie Stradley points out that many of us make the same mistakes when learning to develop Rails applications — and talks about how we make such mistakes, and the long, difficult road that beginners follow when learning to program.

[Video 170] Avdi Grimm: Exceptional Ruby

When programmers talk about exceptions, they often think about failure — when things have gone wrong. But exceptions can be used to do more than that; they can be used to make code more self-documenting, easier to debug, and more expressive. In this talk, based on his book Exceptional Ruby, Avdi Grimm describes Ruby’s exception system, and how it can be used to improve our code. If you’re a Ruby developer, then your code will likely improve as a result of seeing this talk.  (I know that mine has!)