/> Open Source Projects
This page gives you a peak into my world of open source development and contributions.
A Chrome extention I built that adds a number of improvements
to Turntable.FM rooms. This includes an improved chat
UI, song stats, auto-upvote, auto-dj, anti-idle,
auto-respond, additional track information, similar
tracks, and more. I monetize via the Apple iTunes affiliate
program. Check out the extension here.
Watchdog is a PHP class implementing inotify which watches
for changes to files in any given number of directories
specified in the input. It will not recursively check
directories, so you must implicitely specify each directory
you want watched. Although it was developed for the purpose
of monitoring dynamic css files for changes and
auto-regenerating their output, it can easily be
transformed into a watchdog for just about anything.
Watchdog currently supports compilation of Stylus,
SASS, LESS, Jade, and HAML.
SPF30 is a PHP library which utilizes a number of
recommended spambot deterrents in an attempt to reduce
form submission spam. It does not utilize any form of
captcha. In addition to spam prevention methods, SPF30
also handles two-way encryption of form data to prevent
your form content from being easily sniffed across the
wire over HTTP
A jQuery plugin for creating repeatable form elements,
i.e. an array of input elements with add/remove capabilities.
It's specific purpose is for when you need to manage
a list or set of similar items. Say, for instance,
allowing a user to enter up to 5 websites or upload
Double Rainbow is a jQuery plugin for creating subtle,
mouse-aware call to action effects on elements within
your websites. It adds mouse tracking to your page and
dynamically changes the background color of an element
from startHex to endHex values as the user gets closer
to the target element. You can specify a number of steps
for this color transformation, which generates equi-distant
hex color ranges as the user gets closer. I plan to extend
the functionality to background gradients and potentially
I developed Salid years ago as I was disgusted with the
amount of bloat in existing frontend form validation solutions.
Salid is minimal yet feature packed, including 14 built-in
validators. Salid supports validation on both form submission
as well as via dynamic (change, blur, focus, keydown, keyup)
form element changes. Users can also create their own custom validators.
MongoSession is a PHP session handler class that was
built as a drop-in for easily switching to handling
sessions using MongoDB. It's a great replacement to memcache(d)
for VPS servers where you risk memory being reshuffled
in the pool and taking performance hits.
I open sourced a series of demos that I used for a
presentation on SPL iterators and interfaces. It is
intended to demonstrate usage and possible use cases
for the SPL, as the SPL itself is highly undocumented
in the PHP website documentation.
Caterpillar is a website crawler and screen scraper
built on top of the RollingCurl library for making
cURL requests in parallel to speed up website crawling.
The library will crawl internal content of a website
and create a MySQL index of all of the site's pages
and inbound links from other pages. This can ideally
be used to generate a dynamic Google Sitemap file
that gets updated via a cronjob however often you would
Me Likey is a plugin for integration of the Facebook
open graph meta tags and like button into your Wordpress
blog. It's highly configurable and I launched it within
the first week of Facebook's Like button becoming available.
I developed PHPull for the purpose of directly linking
to and referencing PHP documentation on my blog. It
essentially takes a Wordpress shortcode and parses it
to determine the PHP documentation page to screen scrape.
It fires off an AJAX request to a PHP proxy on the server
side to request and scrape the appropriate data. The
server then passes back the formatted HTML which is
displayed in a tooltip above the linked PHP keyword
as the user hovers over it.
I developed a foolproof drop-in for Zend Framework
which is capable of generating unique clean urls (pretty urls)
given a database table name, table column, input string, and
max clean url length. It begins auto-incrementing the
cleaned string (dashed) as it encounters database
collisions until it finds a unique uristub and returns it.
I developed a client library for the TickSpot time tracking
API which supports a number of the popular API retrieval
methods in addition to some brute-force cURL session based
methods requiring HTTP authentication.
A CSRF Protection Module I developed for Kohana 3. Tokens
are generated server side and include a combination of a unique
id, a pre-defined secret key found in the config, and the client's
user agent. This information is stored in the session. The module
also includes an extension of Kohana_Form to properly create
forms that include the CSRF token as a hidden input field.
Lastly, I've included jQuery handling and documentation on
how to properly utilize the module with AJAX requests.
A port of Recurly's own recurly-client-php to Zend Framework.