Stripping Embedded MP4s out of Android 12 Motion Photos

Motion Photos is a feature of the Google Camera application on some Android devices — Pixel only, as far as I know — that records a short video at the same time a picture is taken in order to offer you a better shot of the same moment. The Google Camera application analyzes the frames in the video to […]

Ramping Up the Ethiopia LUG

Today I had the pleasure of participating in a rare meeting of the Ethiopia GNU/Linux Users Group at the iceaddis co-working space in Addis Ababa. In all the years I’ve lived in Kenya, and all the times I’ve been to Ethiopia, I’ve never heard anything about Linux or open-source software groups in the community. But […]

Leveraging the Ansible Python API for Infrastructure Reporting

A few days ago I had to get some basic information from a handful of servers for an inventory report—just basic stuff like hostname, IP address, storage capacity, distro version, etc. I already manage all of my servers with Ansible, and there’s a wealth of information available in Ansible’s setup module, so I knew there […]

Maps and Custom Error Pages in Nginx

During a recent web application upgrade I had to limit access to the the web servers; I wanted the administrators and myself to be able to access the site, but for everyone else to see an “Under Construction” page. My initial plan was to test if the $remote_addr was one of the allowed IPs, and […]

Update Hosts via Ansible to Mitigate Bash “Shellshock” Vulnerability

On September 24, 2014 someone posted on the oss-sec mailing list about a bash vulnerability that likely affects several decades of bash versions (something like 1.14 – 4.3!). The vulnerability — aptly named “Shellshock” — can lead to remote code execution on un-patched hosts, for example web servers parsing HTTP environment variables via CGI GET […]