HTTP (Hypertext Transfer Protocol) is one of the fundamental technologies behind the World Wide Web. However, HTTP was invented more than 20 years ago — and even the latest version, HTTP/1.1, is showing its age. Fortunately, developers have been working on HTTP/2, a next-generation version of HTTP that takes modern needs into account. HTTP/2 has taken a long time, but is nearly with us, and it is time to learn more about it. In this talk, HTTP/2 expert Mark Notthingham introduces the protocol, describes its benefits, and tells us what we can expect when we adopt HTTP/2.
“Refactoring” is an important concept in software engineering. It allows us to change (and hopefully improve) our code, without changing what it does. In this (now-famous) talk, Katrina Owen shows us how refactoring is something that we can and should do often — and that it’s good for us, as well as for our code.
I was first introduced to etcd about a year ago, when client showed me that it could be used for central configuration of servers. etcd 2.0 was recently released, and includes a number of features that make it even more attractive for production machines. In this talk, Brandon Philips (@brandonphilips) introduces etcd for those people who are new to it, describes how and where it can be used, and talks about the features that have been added in the latest release.
Python, like many other high-level languages, is often seen as slow. However, this doesn’t mean that it’s impossible to optimize Python programs, or even to make them run quickly. In this talk, David Schachter takes a real-world application and shows how he combined a number of techniques to achieve a much faster execution speed.
Everyone who uses a computer benefits from high-quality C and C++ compilers. For many years, the standard open-source compiler was GCC. But in the last few years, a new set of a compilers have become popular. You might have heard the terms “LLVM” and “Clang,” for example. But what are these technologies? How are they different from GCC and other compilers? What benefits to they provide? And what is their future?
In this talk, Alp Toker describes Clang, a modern C, C++, and Objective-C compiler. How is it different from its predecessors, and what advantages does it give to programmers using it? Even if you’re a user of dynamic, high-level languages, this talk gives a good introduction and overview of the architecture of a compiler, and the considerations that go into its writing and maintenance.
Upworthy (“Things that matter”) is an extremely popular Web site, containing video that they the site hopes will go viral, typically on socially conscious topics. (You have probably seen links to Upworthy videos on social networks such as Facebook.) Upworthy is written in Ruby on Rails, and runs on Heroku — but this wasn’t always the case, and the story of how they started, and then grew and scaled, is an interesting one. In this talk, Luigi Montanez and Ryan Resella, two engineers at Upworthy, describe the ways in which Upworthy started, grew, and was scaled, and the problems that they had to solve at each turn.
One of the reasons for Python‘s popularity is the large number of open-source packages available for it. Many come with Python, in the standard library. Others are available online, especially at PyPI, the Python Packaging Index, which as of this writing has nearly 60,000 different packages — and the number keeps growing every day.
However, Python has a number of different packaging libraries and standards, and this has long caused some confusion among Python developers. In this talk, Richard Jones introduces the topic and then describes the current state of affairs in Python packaging.
Client-side (i.e., JavaScript) frameworks and libraries are all the rage — which shouldn’t come as a surprise, given the ubiquity of the browser and of Web-based applications. Facebook has developed, and is promoting, React.js, a JavaScript framework that they are using for many applications, and which has become popular since its release. In this talk, two of the React.js developers, Tom Occhino and Jordan Walke, introduce and describe the framework — starting with its motivations, and continuing to its use in real-life applications.
How difficult is it to program in-browser graphical games using JavaScript? I assume that it’s not that hard in theory, but that it will actually be difficult in practice. Mary Rose Cook wants to disabuse me (and us) of the thought that it’s hard to do, and in order to do that, she implements a Space Invaders game, in JavaScript, over the course of a single 30-minute talk.
Vim is the latest, most popular version of the classic vi editor under Unix/Linux. Vim has a very large following of programmers who want to have a very fast, customizable editor that lets them get things done quickly. (I’m personally an Emacs user, but even I will admit that people can be quite productive in Vim.)
Ben Orenstein, a podcaster and developer at Thoughtbot, is well known for his mastery of Vim, as well as his entertaining talks that demonstrate how and why to use this editor. In an era of IDEs and graphics, it’s worth considering using Vim. Watch this talk, and you’ll see why!