Install PHP 7 on Ubuntu 14.04 with Gearman support

PHP 7 has been out long enough now that it has seen a couple of patch releases, which is about the time I will start evaluating an upgrade. PHP 7 can have some significant performance benefits from previous versions, so I was eager to give it a try. With the…

Bash completion for Consul nodes on Ubuntu

After making the jump to Ubuntu as my preferred distribution, I've admittedly become addicted to bash completions (aka autocomplete, tab completion, typeahead). Bash completions provide immediate hints for common commands, and even the options associated with them. For example, a quick \t\t (double-tap of the tab key) after the…

OpenSSL CSR generation in a single command without prompting

If you need to generate a CSR, OpenSSL has a helpful prompt interface for completing the required fields one at a time. However, if you are using automation, collecting STDIN is not always an option. While working with Ansible, I learned that OpenSSL CSR generation allows you to pass the…

Transport security for HTTP/2 protocol with Nginx

With Google sunsetting the SPDY protocol, and broad support for HTTP/2 shipping with most modern browsers, I began investigating moving our SPDY support over to HTTP/2. Nginx recently released official support for HTTP/2 with the mainline repository version 1.9.5. While upgrading to the new release…

Meaningful hostnames with Ansible

Like anyone who spends a good deal of time in a terminal window, switching between machine instances is fairly commonplace. I keep a persistent tmux session open to manage a handful of connections. Knowing which machine you're currently using is obviously imperative, but can be little challenging in highly dynamic…

Globally install Composer on OS X 10.11 El Capitan

The El Capitan release of OS X introduces a more strict security model around the concept of root level access to the underpinnings of the operating system. For a typical user, this is great news for avoiding malware, etc. As a developer, this requires a little more thoughtfulness when trying…