[chris-allen-lane.com] Programming | Security | DIY

Category: oss

Generating Weekly Reports from Git Commit Logs

As a programmer who works remotely from home, part of my job is to produce weekly reports detailing what I have accomplished each week. Having found that attempting to write such a list from memory on a Friday is futile, I developed a tool to generate these reports automatically from my git commit logs.

Introducing "Foresight" - A Wordpress Security Plugin

I recently published a new plugin to the Wordpress.org Plugins Directory. I call it Foresight. It is available for download here:

http://wordpress.org/extend/plugins/foresight/

Foresight is a simple plugin that serves a simple purpose: it helps blog administrators to stay current on known exploits for Wordpress and for Wordpress plugins.

Introducing Watchtower - a Platform- and Language-Agnostic Static Code Analysis Tool

I've been working on a tool that I call "Watchtower" for the last several weeks. Watchtower is a platform- and language-agnostic Static Code Analysis tool that can be used for code audits and incident-response.

Pharse: a Library for PHP Command-line Option Parsing

I enjoy using PHP for writing command-line applications. PHP's power and flexibility make it ideal, in my opinion, for writing both full-featured applications, as well as for use as a "glue language" for automating various system-administrative tasks. There's one area where PHP has traditionally fallen short in my mind, however - it lacks a good command-line option parser.

Processing MD5 Suppression Lists - a Tool for Affiliate Marketers

Affiliate marketers will from time to time have to process what's called an "MD5 suppression list". In brief, an MD5 suppression list is a list of email addresses which a marketer must remove from her mailing lists, in order to comply with the CAN SPAM Act of 2003, and respect the rights of individuals to opt-out of email marketing campaigns.

An MD5 suppression list is simply a file containing a long list of MD5 hashes of unsubscribers' email addresses, the hashing being a security measure designed to prevent unscrupulous marketers from using suppression lists themselves as sources for obtaining more email addresses to use in email marketing campaigns.

To use a suppression list, an email marketer must compare each hash in the suppression list against an MD5 hash of each contact in her mailing lists. A matched pair of MD5 hashes indicates that an email address has been found in the suppression list, and thus must be removed from the marketer's email lists. (The mechanic here, obviously, is similar to how user passwords are hashed before being stored in a database.)

Recently, at work, I had to process a 2 gigabyte suppression list (of about 62 million rows) from Groupon. To my surprise, I didn't find any readily available tools to do this, and thus, rolled my own.

Older Posts »