pip is an essential tool for Python developers; It allows you to download, install, and upgrade Python packages from PyPI with a minimum of fuss. But if you scratch beneath the surface, pip has a number of problems and issues that can be difficult for people to resolve. Why does pip work the way it does, and what should we be aware of when working with it? In this talk, Robert Collins tells us about the good, but most especially the bad and the ugly of pip. In so doing, he lets us understand how pip works, and what it can (and cannot, and will one day) be able to do to make our Python development easier and better.
Many programmers (especially older programmers) have heard of Grace Murray Hopper, the American Navy admiral who contributed greatly to the field of programming. But just what did she contribute? How much of an impact did she have on the technology, and on the culture of software? In this talk by Melissa Pierce, it would seem that Hopper was not only a gifted technologist, but also someone who liked to push the envelope — even within the US Navy. If you never knew who Grace Hopper was, and even if you did, this talk is likely to provide you with many insights into a woman whose work has influenced our lives and careers, many decades later.
For many years, Perl was one of the best known, and beloved, programming languages. It was at the forefront of high-level “scripting” languages, of Web development, of textual analysis with regular expressions, and of cross-platform languages. And then, Larry Wall announced Perl 6 … and the world waited, with many Perl developers moving onto other languages. Well, Perl 6 is about to be released — and many people who haven’t thought about Perl is years are at least interested in hearing what Larry and others have been working on for more than 15 years. In this talk, Larry Wall unveils Perl 6, describing not only the technical features, but also the thinking behind those features, and what led them to be included.
Let’s say that there’s a zombie epidemic, and you have to write a program to decide where people should go. What technique, or techniques, should you use? In this talk, Christophe Philemotte suggests that we use agent-based modeling, which allow us to model a large system based on simple rules that apply to a large number of independent actors, known as “agents.” The talk describes how you can create a simple ABM system using Ruby, modeling behaviors (such as walking, and deciding on your next action) using objects and methods. While the talk might not actually help you to avoid zombies in the event of an invasion, it will help you to understand a technique that is increasingly popular in a number of disciplines.
For several years now, PostgreSQL has supported streaming replication. The idea, simply put, is that a master database streams database changes to one or more slave machines. The slave machines then replay those changes, providing us with identical PostgreSQL machines that can be queried in read-only mode. But the setup of such slaves can be a bit complex, and the streaming describes the precise changes that occurred in the database, rather than a logical description of those changes. Logical decoding is a new feature in PostgreSQL that opens to door to better streaming replication, and also to new applications that can take advantage of these logical descriptions. In this talk, Alvaro Hernandez describes the motivation behind logical decoding, the ways in which you can implement it, and ways in which you might want to take advantage of it — for replication, but beyond it, as well.
Can we use a computer to identify jokes? Or to identify what’s likely to be a good joke, rather than a bad joke? In this talk, Dafna Shahaf discusses a data-science project on which she worked with the New Yorker magazine, looking to identify potentially funny cartoon captions faster and more reliably than a human reader. What aspects of a cartoon’s caption is likely to make it funnier? Is it possible to automatically identify funnier captions? The preliminary results are promising — and even if you’re not convinced by the algorithms, at least you’ll get a chance to read some cartoons, and call it work.
The Apollo space program, which resulted in the United States putting astronauts on the moon, was challenging in a number of ways. Among them was the fact that they needed to design, build, and implement a computer that would fit into a spacecraft, and would control the flight operations of that spacecraft. The result, the first fly-by-wire system in the world, was surprisingly elegant and clever, and is interesting for modern software engineers. In this talk, Brian Troutwine introduces us to the Apollo guidance system, describing its specifications and engineering challenges in ways that modern software engineers can understand and appreciate. If you have ever complained about the extreme constraints placed on your work, you’ll be impressed by the ways in which these engineers created a computer, programmed it, tested it, and ultimately led to the moon landing.
PostgreSQL is a popular open-source database. But can it handle large-scale applications? In particular, can it scale up to handle large Web applications, with millions of users and many billions of dollars at stake? The answer is “yes,” but that just raises the question of “how,” and what techniques can (and should) be used to scale it up in this way. In this talk, Sean Chittenden describes the aspects of scaling, and some of the different ways and layers that can fail. He then describes how Groupon has tried to reduce the risk of failure, and how they have used PostgreSQL in this context, and the ways that you can tune context appropriately (and inappropriately) to scale it up.
Have you ever made a major development mistake? Of course you have. Such mistakes are typical, and even to be expected, among all developers. The key thing isn’t to avoid making mistakes, but to learn from the ones you make. In this talk, Kerri Miller describes some of the mistakes she has made — and what she has learned from those mistakes, and how they have made her a better developer. If you’re ever expecting to make mistakes at work, then this talk will help you to put it all in context, and consider new ways in which to approach your mistakes.