When you send a message to an object in Ruby, which method is really invoked? This seemingly innocent and simple question lies at the heart of Ruby development; if you understand the difference between objects, classes, and singleton classes, then you’re doing quite well. However, understanding the relationships among these various objects can be difficult and/or challenging. In this talk, Jay McGavren explains what happens when you invoke a method in Ruby — who receives it, what they do with it, and where that message might go. If you’re a Ruby developer but are struggling to understand the object model, including such things as “include” and “extend,” then this talk will help to bring some order to your mental model.
Haskell is often seen as an powerful and interesting language — but one which isn’t really designed for the masses, and certainly not for large-scale business applications. And yet, it turns out that Facebook, one of the largest Web sites in the world, has been using Haskell for certain tasks. This means that they not only had to train developers to use Haskell, but also to scale Haskell programs up in ways that had never been done before. In this talk, Jon Coens describes what he and his team and Facebook did in order to accomplish this task, giving us insights into the Haskell language, team organization, and the ways in which such technologies might gain acceptance in the broader business world.
PostgreSQL is a well-known and powerful relational database. But it is increasingly a platform that can integrate with other databases and storage systems, using a number of “foreign data wrappers” and other integration mechanisms. How do these work, and how do they allow you to read from and write to other PostgreSQL servers, relational database systems, and even NoSQL systems? And how can PostgreSQL thus become the center of a heterogeneous database federation, rather than a standalone server? In this talk, Jim Mlodgenski introduces the theory and practice of combining various database systems into a single system, all coordinated by PostgreSQL.
Programming languages include lots of abstractions — many ideas that sit on top of other ideas, allowing us to work at a high level. But there are many cases in it’s important to understand what our code is not doing, or where there are values that represent nothingness, or the absence of something. In this talk, Sandi Metz reminds us that even the things that “seem like nothing” our code are actually important, worth thinking about and understanding. While the talk uses Ruby, the ideas are easily transferred to other object-oriented languages, and are food for thought for any programmer using object-oriented techniques.
Projects don’t always go right; that’s the nature of the world. But sometimes, projects go wrong for reasons that you could have predicted from the start. Which means that if you see these problems taking place, you should tell the people who are running the project, so as to avoid problems later on. What problems and issues are worth fighting about? In this talk, Heidi Waterhouse tells us what she thinks. If you’re on a software project, or (even better) you’re managing one, think about these things before you start … or, as she says, you’ll be doing the equivalent of trying to push chocolate chips into an already-baked cookie.
Ruby is a dynamically typed language. This means, generally speaking, that objects have types, but variables don’t. While this makes for a very easy-to-use programming language, it also means that there isn’t any way for the language to know, or enforce, types when they are passed to operators or methods. It has been proposed that Ruby 3 will include a “soft typing” system, letting developers include optional typing on their variables. In this talk, John Cinnamond demonstrates the use, and implementation, of a soft-typing system in an extremely simple language. If you’re curious about the future of typing in Ruby, or of how type systems are implemented, you’ll enjoy this talk.
PHP is one of the most popular languages for Web development, Many programmers think that PHP has gone out of favor for serious applications — but remember that WordPress powers a huge proportion of the Web, and it’s written in PHP. (Plus, you have companies such as Facebook that are using languages related to PHP.) PHP 7 includes a huge number of optimizations and language improvements. If you’re a PHP developer, then you’ll definitely want to watch Erika Heidi‘s talk, in which she describes the changes included in this latest version,