Learning vs. Solving
Often times you're tasked with solving a problem you haven't faced before, requiring the use of technologies you haven't previously been exposed to. This is a great thing! These experiences are the...
View ArticleFormStack API Call Over SSL With Ruby
I recently had to use the FormStack API in the context of a Rails app. You need to make these calls over SSL, and API returns either XML or JSON. I chose JSON because it's much easier to work with in...
View Articlegoogle-define and last-fm plugins released
Over the last few days I released my first open-source plugins on GitHub. google-define - Extracted from a side project I worked on, it's basically a wrapper class for parsing definitions from Google...
View ArticlePython’s Tornado has swept me off my feet
I've been working with Python's Tornado for about 2 months now and I love it. Tornado is a non-blocking web server written in Python. It's structure is similar to web.py so users of that popular Python...
View ArticleImproved deploy:cleanup for capistrano
We ran into a problem today where capistrano wasn't correctly cleaning up old releases on a 15-minute multi-host deploy. It seems like the default deploy:cleanup task wasn't written with multiple hosts...
View ArticlePython libwkhtmltox module – wrapping a C library using Cython – convert HTML...
First of all, big shout out to antialize for creating wkhtmltopdf (github repo). Also, this project is being hosted on GitHub @ http://github.com/mreiferson/py-wkhtmltox. wkhtmltox What is wkhtmltox...
View ArticleConvert HTML to PDF in PHP (libwkhtmltox extension)
A common problem when developing a web application is having producing a high-quality PDF out of an existing layout/view/template. Perhaps for a reporting engine, an invoice, a receipt, or any number...
View ArticleMigrating from a legacy authentication scheme to Authlogic
I've been working on a project where I inherited a database with over 9,000 users. The passwords are stored as an MD5 hash, with no salt. For obvious reasons, I wanted to transition the old...
View ArticleAsync DNS Resolution in Tornado’s AsyncHttpClient (curl multi, c-ares)
I learned some rather important facts about cURL's multi interface (which makes it possible to perform asynchronous HTTP requests and what Python's Tornado framework uses under the hood in it's...
View ArticleExperiences Developing My First iOS / iPhone App – OnCall for Nagios
I've long since wanted to participate in the explosion of popularity that is the iOS App Store. I toyed with demonstration-purpose applications, learning the foundational aspects of developing on this...
View Article