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.
Every database needs to be backed up; the data is too important to lose, and there’s often no way to reproduce it. The standard backup program for PostgreSQL is pg_dump, but perhaps you want something with higher performance or greater flexibility. PgBackRest is one such tool that has is maintained and used by some members of the PostgreSQL community, which aims to solve many of the problems currently experienced when creating backups. In this talk, David Steele introduces PgBackRest, and describes its motivation, operation, and use cases.
Vim is one of the most popular programming editors, because of its speed and extensibility. In this talk, Chris Toomey describes how Vim’s commands are related to one another, and how they form an environment that (once learned) make it easy to navigate and edit text in a variety of languages and formats.
If you’re a die-hard Emacs user (like me), then you wonder why so many people use vim as an editor. Fortunately, die-hard vim user Aaron Bieber isn’t so closed-minded; he decided to see what all of the fuss was about with Emacs, and whether there was something that he could learn from it — and perhaps even improve vim in the process. In this talk, we learn about the differences between the editors, what each brings to the table, and when you might prefer to use each one.
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).
Can your Web application handle lots of traffic? If so, then how much? The best way to figure out how much traffic your application can take is to load-test it. In this talk, Dustin Whittle describes a number of open-source tools that can help you to test the scalability of your Web application, at a number of different levels and in different ways.
The days of single-server apps have long been over; it’s now standard for a Web application to have multiple Web servers, one or more database servers, and a number of additional servers for other services, such as Redis, e-mail, and message queues. VMs and containers (e.g., Docker) have made it easier to manage these individual servers, but how do you optimize the allocation, provisioning, and balancing of these servers? Mesos is an open-source project (sponsored by Apache) that manages clusters, and Marathon is a Mesos-based framework that handles scaling for large clusters. In this talk, Connor Doyle introduces Mesos and Marathon, and demonstrates how they can help growing sites to scale their server needs up and down, in an intelligent and controlled way.
Ember.js has increasingly proven itself as a high-quality framework for client-side applications. But what command-line tools exist to assist us in creating Ember applications? Ember CLI has become the popular and standard way to do so. In this talk, Brittany Storoz describes how Ember CLI can be useful not only for creating Ember.js applications, but also for creating custom applications that aren’t directly related to Ember.js, by extending Ember CLI. If Mozilla has adopted Ember CLI to create Firefox OS applications, then perhaps you can use it to create in your toolchain, too.
Programmers love to use benchmarks to figure out whether a program is running quickly enough. Or to find the bottlenecks in a program. Or, sometimes, just to figure out why users are experiencing slow behavior. But programmers who try to compare programs, or algorithms, or languages, or technologies, are often accused of making mistakes with their benchmarks. In this talk, Aysylu Greenberg looks at benchmarking, and points to ways in which our benchmarks may well be flawed — and how we can try to avoid such problems.
How do you debug your Python programs? There are a variety of techniques, but even the strongest advocates of using “print” statements eventually need to use a debugger. In this talk, Matt Boehm demonstrates why and when you want to use a debugger — and the variety of debuggers that exist within the Python world.