[Video 231] Andres Freund: The Future of PostgreSQL Multi-Master Replication

One of the things that my students and clients most ask for in PostgreSQL is multi-master replication. That is, they’re OK with the existing master-slave replication, in which one server handles both reads and writes, and the others (slaves) are read-only.   In this talk, PostgreSQL core developer Andres Freund describes a number of different master-master solutions that have been proposed and implemented over the years, and describes a project on which he’s working that he hopes (and expects) will pave the way forward for multi-master replication in the coming years.

[Video 230] Markus Winand: Modern SQL in PostgreSQL

Many of us who work with relational databases don’t think too much about SQL. We use it, of course, but it’s easy to forget that SQL — like other languages — has grown, evolved, and improved over the years.  There are many features included in modern SQLs, and PostgreSQL has included many of them in its recent releases. In this talk, Markus Winand describes many of these features — how to use them, and also when to use them.

[Video 229] James Coglan: Practical functional programming — Pick two

Functional programming is increasingly popular — and, some would say, important.  JavaScript offers many functional constructs, but what does that mean?   How does functional programming differ from other styles, and how can we incorporate that into our JavaScript code? How do functional techniques allow us to react more easily to changing requirements in our code?  In this talk, James Coglan offers many examples of functional techniques in JavaScript, as well as the reasons why we might want to use such techniques.

[Video 228] David Renshaw: Cap’n Proto and Rust — Type Systems for Sharing

Type systems have long been used to enforce compile-time checks on data, to ensure greater program safety. But what happens when you have a distributed system? How easily can you define, and enforce, high-level abstractions and data types across multiple machines, processes, and languages? In this talk, David Renshaw describes Cap’n Proto, his system for describing such a type system. He also describes the type system in Rust, in which Cap’n Proto is implemented — and discusses how type systems can (and should) be used to encourage sharing of data, in a robust and predictable way.

[Video 227] Brett Slatkin: How to Be More Effective with Functions

We all write functions. But do we create functions that are effective — efficient in the ways that they work, and in the ways that we invoke them? How (and why) should we take advantage of Python‘s many supports for functional arguments? Why should you consider using generators, rather than returning lists?  In this talk, Brett Slatkin provides numerous examples of how we can improve our functions. If you’re a Python developer who wants to take their functions to the next level, this talk will provide you with some good, new ideas.

[Video 226] Cathy O’Neil: Keynote, Yale Day of Data

Data science doesn’t exist in a vacuum. Data scientists work with companies, governments, non-profits, universities, newspapers, and other organizations. Each organization has its own priorities, and has its own take on data science — why to use it, and what to do with the results it produces. In this talk, Cathy O’Neil describes the different types of motivations and pressures data scientists encounter, and what it’ll take (hint: communication, connections, and community) for high-quality data science to be increasingly ubiquitous and useful.

[Video 225] Joe Moore: I Have Pair Programmed for 27,000 Hours

Pair programing is widely viewed as a boon to code quality and better understanding. What is it like to pair program? What is like to pair with many different people? What techniques work best, and what should we avoid? In this talk, experienced pair programmer Joe Moore answers questions about pairing, and how you can use it to your benefit (and the benefit of your employer and/or clients).

[Video 224] Jose Valim: Idioms for distributed, fault-tolerant applications

Jose Valim is well known as a Web developer, consultant, and open-source contributor. He’s now also known for being the inventor of a new programming language known as Elixir, which combines many of the semantics of Ruby with the distributed, fault-tolerant nature of Erlang. In this talk, Valim describes some of the most common idioms used by programmers working with Elixir, and how they can ensure that our Web applications are as robust as possible.

[Video 223] Julian Berman: Building an interpreter in RPython

PyPy, an alternative implementation of Python, has been gaining attention and interest over the last few years, in no small part because of its high speed. PyPy has, at its core, a small language called RPython (“restricted Python”) in which PyPy is implemented. In theory, you can use RPython to implement other languages. In this talk, Julian Berman demonstrates how to build a small language using RPython. If you’re interested in PyPy or in how programming languages work, this talk should be of interest to you.