[Video 380] Jay McGavren: The (Complete) Story of Method Lookup

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.

[Video 379] Jon Coens: The Road to Running Haskell at Facebook Scale

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.

[Video 378] Jim Mlodgenski: PostgreSQL Federation

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.

[Video 377] Sandi Metz: Nothing is Something

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.

[Video 376] Derek Slager: ClojureScript for Skeptics

ClojureScript is a version of the Clojure language that compiles into JavaScript, and thus runs inside of your browser. Given the improvements in the newest version of JavaScript (aka ES6), people are starting to wonder about the need for, or viability of, languages that compile into JavaScript. In this talk, Derek Slager describes his experiences with the language — and how ClojureScript can help to solve many of the problems that JavaScript developers experience.

[Video 375] Heidi Waterhouse: The Seven Righteous Fights

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.

[Video 374] John Cinnamond: Softly, softly typing

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.

[Video 373] Erika Heidi: Getting Ready for PHP 7

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,

[Video 372] Maria Geller: The ClojureScript Compiler – A Look Behind the Curtains

ClojureScript is a version of the Clojure language that compiles into JavaScript — and thus can be run inside of a Web browser. How does ClojureScript work? How does the compiler turn one language into another, and then work around the limitations inherent in a browser environment? In this talk, Maria Geller demonstrates these processes, giving us insights into Clojure, ClojureScript, JavaScript, and compilers in general.

[Video 371] Brendan Eich: Rise of the Compilers

JavaScript is a language — but it is also, increasingly, a target for compilers written in other languages. How is JavaScript (aka ECMAScript) evolving to support a variety of languages, use cases, and real-world needs? In this talk, JavaScript inventor Brendan Eich describes where JavaScript is going, what new features it is going to get in the coming years as the language becomes an even more important aspect of the Web infrastructure.  The talk even includes a demo of a first-person shooter game written entirely in JavaScript, something that we never would have expected until just a few years ago.  If you’re interested in the future of JavaScript, this talk should help you to understand the future of what’s often called, “the assembly language of the Web.”