
When mining a large amount of data, often times you end up with a lot of columns with continuous values. While this is the most “pure” version of the data, sometimes you want to cluster these values into bins to do things like creating histograms or just easy analysis of the distribution of the data. I ran into this when I ran a few Hadoop jobs that spit out CSVs as their output. After looking around online for a while, I couldn’t find any readily available solution, so I wrote up something really quickly to do just this.
Recently, I’ve been working on a project that is mostly front-end work, but also communicates with some back-end web services. I needed something to quickly respond to some basic GET requests at various endpoints and return either HTML fragments or JSON. I’m not much of a big Ruby or Rails programer (although I do admire both), but I decided to try out a Ruby gem called Sinatra for my basic web server needs.

The Processing project provides a great Java-based visual programming environment with a number of compelling features, including cross-platform support and OpenGL-accelerated graphics. We’ve used it at Constant Contact Labs for a number of internal data visualization projects, and it’s worked very well for us. Lately we’ve had reason to work out a way to have it run in a “headless,” command-line-driven mode for periodic graph generation. Read on for the method and code.

Like the Java Client Library, the Python Client Library provides a simple API to access Constant Contact Web Services, only using Python. Python is a powerful multi-platform language with comprehensive libraries, a interactive shell, and best of all, a short learning curve. This makes the Python Client Library a good choice for quickly creating utilities or applications that leverage Constant Contact’s APIs or for users looking to manage large accounts programmatically. Included in this post are links to the library itself and an overview of its usage with code examples to help you get started.
NOTE: This library is open source and is maintained and supported by the open source developer community only. Constant Contact and Constant Contact Labs will NOT provide support for this library.
Learned new tools from my business.