Containers are no longer the Next Big Thing; they are here, and are becoming an essential part of running any large-scale data center. But this means that you have to manage those containers, and a growing number of tools is starting to help with that task. Google is pushing Kubernetes, an open-source management system for containers. In this talk, Brendan Burns describes Kubernetes, how it works, and what it offers. If you’re interested in managing a large number of servers, then Kubernetes might provide a good solution.
For many years, open-source advocates hoped that one day, lots of software would be open source. This goal, which seemed laughable at the time, has (in many ways) come true. When did this happen? Why did this happen? And what does this mean for business? For software developers? For users? In this talk, Allison Randal considers the history and future of the success of open source, discussing the technical, legal, and economic effects that these changes will generate. She argues, among other things, that open source is increasingly a necessity, and that participation in open source is a competitive edge in the modern era.
When we think of programming databases, we often think of doing so either from a standard programming language, such as Python or Java, or from SQL. In the case of PostgreSQL, we get extra flexibility, in that programming languages can be external (via a client library) or internal (via the PL/* languages). However, users of Unix have one additional way to work with PostgreSQL, namely shell scripting. The Unix shell is powerful and flexible, and can be used to communicate with our database in a number of ways — for maintenance, data loading, and even executing queries. In this talk, Joe Conway describes a number of ways in which Unix shell scripts can be used to communicate with PostgreSQL, and thus integrate the database into an even wider array of tasks and systems.
HTTP/2 is here! This new version of the Web’s most popular protocol is optimized for modern Web uses. Our networks are faster, our browsers are smarter, and our requirements are tougher than was the case when the previous version of HTTP was released. But it turns out that HTTP/2’s speed isn’t just a matter of switching out the old servers and switching in the new ones: The best practices that we developed for years, in order to make our Web sites fast and efficient, conflict in some ways with the ways in which HTTP/2 expects us to work. In this talk, Ilya Grigorik describes HTTP/2, and contrasts it with HTTP/1.x — less to understand the protocol itself, than to understand how it works.
Programmers love to advocate for their favorite languages. “I love language X, so why doesn’t everyone else use language X?” As a growing number of businesses use multiple languages, you can end up with pockets of different advocates, many of whom are then adamant that their language be used for more things. In this talk, Adam Forsyth describes life as a Python developer in a mostly-Ruby shop — and then goes on to describe when, much as he likes Python, it isn’t an appropriate tool to use.
People love to say that “Rails can’t scale.” Perhaps Rails is more CPU and memory intensive than other frameworks (and languages), but Shopify has manged to create a successful, large-scale, scalable business based on Rails. But even Shopify, with all of their experience, faces challenges — in particular, on the biggest shopping days of the year in the United States, known as “Black Friday” and “Cyber Monday.” How do they scale their servers to deal with this massive influx of traffic? In this talk, Christian Joudrey shares many of Shopify’s ideas and approaches.
Yesterday’s talk was about the creation of the JVM, and what design considerations went into that process. The JVM is no longer just for Java, and that raises a number of issues that the original JVM implementation never had to think about. In particular, there are a number of JVM-based languages for which the JVM version isn’t the sole or even main version — such as Jython (Python) and JRuby (Ruby). In this talk, Mark Stoodley describes the work that IBM has done to improve JVM performance for alternative languages.
The Java Virtual Machine (JVM) is an open-source virtual machine used by Java (obviously), and a growing number of other languages. How is the JVM built? What were the design choices that went into its creation, evolution, and maintenance? How do these design choices affect programs running on the JVM? In this fast-paced talk by Cliff Click, we learn what considerations went into the creation of the JVM. Given how many modern languages run within a virtual machine, hearing about the design decisions that went into the creation of one of the most popular modern VMs is especially interesting.
When you speak with someone else, are you ever sarcastic? Of course you are. How do you know if someone is being sarcastic when they speak? And is there a way that we can detect that sarcasm automatically? It turns out that the answer is “yes” — we can detect sarcasm automatically, to a larger degree than you might believe. Amazingly enough, this can be done using a lot of common, open-source tools written in Python. In this talk, Rachel Rakov describes her research into the detection of sarcasm, and describes the ways in which she is using Python tools to conduct it.