I hereby commit to the pledge. Please stand with me and hold me to it. »

Reed Kraft-Murphy on #activism,

Clones, Doppelgängers, Threads and Slaves: Notes On MySQL Replication

Notes on MySQL replication terminology, how to interpret the results of SHOW SLAVE STATUS and SHOW MASTER STATUS, and how to correctly configure replication for new slave and master hosts in your MySQL clusters.

Note that the technical details of e.g. cloning a MySQL server aren’t covered; let’s consider them left as exercises for the reader.



I’ve migrated my blog to Hugo! Let me know if you find anything broken, or missing, or ugly.


Reed Kraft-Murphy on #meta,

Mitigating CVE-2014-6271 "shellshock" in lighttpd with mod_magnet

Quick braindump:

  • a remote code vulnerability (CVE-2014-6271) in bash has been disclosed
  • bash will parse any environment variable value which begins with () { as a function, and continue parsing and executing any shell commands it encounters
  • env x='() { :;}; echo vulnerable' bash -c "echo" will print “vulnerable” if your bash is vulnerable
  • lots of Internet facing services put strings from requests into environment variables
  • curl -A "() { :; }; touch /var/www/oh_hai_webroot" http://eg.your.webserver/cgi-bin/foo.cgi


My first article for The Feminist Observer: Dealing With Trolls

Update, November 2016: Since the original appears to be down, I’ve preserved a copy. I’ve written a piece for The Feminist Observer, an awesome monthly digital magazine covering a wide range of topics within and related to feminism. It’s a succinct article on recognizing and dealing with trolls, and you can read Dealing With Trolls on The Feminist Observer’s blog, or check it out with the rest of the articles in their January 2014 issue. »

Backup and other file rotation in Python

Write programs that do one thing and do it well.

So I finally tired of implementing file rotation and retention functionality for backup scripts on an ad-hoc basis, and have sorted it out forever*.


Reed Kraft-Murphy

Fabric, Python and remote running scripts

As a systems administrator, I occasionally need to run a script on a number of machines, be it to diagnose an intermittent issue, gather some ad-hoc statistics, or what have you. As such I have a small library of scripts, each with an aptly-named Fabric task defined in a fabfile. Of course, each of these tasks is almost identical: copy script to remote server, run (either as a regular user, or as root). I finally tired of repeating myself, and decided to solve this once and for all (obligatory xkcd).

To wit: presenting a Python snippet for turning a directory of scripts into remote-running Fabric tasks. Like magic.


Reed Kraft-Murphy