This section outlines my various open source work. Most of the code is found on github (or is en route to github) but Form Tools – my largest project – is still stored in a closed SVN repository. When I return to that project next year, I’ll be remedying that!
These are some smaller scripts I’ve written that are still of use, ordered by most recently worked on.
A script to automatically add dynamic, connected country and region dropdowns to your forms. If you use Polymer, you can also check out the polymer-country-region-selector project – it’s the same script, just wrapped in a Polymer component for easier use. Both these scripts are available via Bower.
A Grunt plugin that searches a list of files for particular search strings and logs the results in JSON, XML or text format. It also provides an option to fail the build process, should you need it.
- C# Ajax File Uploader
I wrote this while at the CBC. It’s a standalone C# user control for adding Ajax file upload fields with progress bars to your web form. It contains a Visual Studio .NET (2012) solution with all the necessary files. It was developed on .NET 4.5, but should run on 4.0 as well.
- Client-side search boilerplate
Another project I wrote at the CBC. It’s a simple JS library and example implementation for searching an array of objects (any structure), and for providing common UI elements around the search: pagination, prev/next links and sorting.
- The Pixelator
An experiment to provide a little interaction to David DeSandro’s excellent Close-Pixelate library. This site was just wanted an excuse to play with the new HTML5 Canvas element.
- Responsive Design Bookmarklet Generator
This was a quick evening’s work, but proved surprising popular out there on the interwebs. It’s a simple bookmarklet generator that lets you quickly see how any page looks on any device size.
- RSV JS Library (Really Simple Validation)
- PHP Validation
A sister script to the RSV JS library. Works exactly the same way, except on the server – you can copy and paste your validation rules from one to the other to get both client- and server-side validation.
- Smart Lists
A jQuery and Prototype plugin that lets you convert “flat” HTML lists of information into categorized, paginated lists.
- Form Filler Bookmarklet Generator
This is an unbelievably useful little script I wrote many years ago to generate a custom bookmarklet to let you re-fill in any webform. There’s a long-standing bug with apostrophes messing it up, but other than that it’s a great little tool.
Flash Image Scroller
This is a surprisingly popular Flash script (AS2) I wrote several years back, but no longer support. It’s highly configurable and can add a pretty great effect to your site. But honestly, these days I’d strongly suggest looking an HTML5/JS/CSS solution instead. For something like this, Flash is overkill.
A simple but versatile form email script, written to work with any web form and allow for complete
customization over the email content.
Total Recall – Chrome extension
Never re-enter a form again. This Chrome extension does the same thing as the Form Filler Bookmarklet Generator, only spruced up for the new decade and for a new browser. It provides a very simple user interface to manage your saved forms and identify which page form you’re interested in saving. There are no limit to the size of the form, number of fields, or number of forms.
And here’s some work I’ve done on other open source projects / misc free contributions.
- Spinners – a Canvas-based “spinner” loading image script written by Nick Stakenburg. I added a few settings (fadeOutSpeed, pauseColor and pauseOpacity) so I could use it in my generatedata.com script.
WordPress plugin: Github Latest Commits
This is a WordPress plugin written by Niklas Bivald which I originally forked, but am now a contributor to the main trunk. I updated it in early June 2012 to use on my new site, but since then Github has dropped support for version 2 of their API. Once this website is stable, I’ll be returning to this project so I can add it to my site.
I provided the Smarty mode for Marijn Haverbeke’s excellent in-browser JS syntax highlighter.
Geshi plugin for Smarty
Allows you to embed Geshi syntax-highlighted content within your Smarty pages.
Google Maps Coloured Markers
Google provides some default reddish icons for their Google Maps app, but no other colours besides those. This is a set of 10 different coloured icons, plus the PSDs, should you need to edit them any further.