Fork me on GitHub

Talk: Getting Started with Node.js

I gave a talk last night on node.js to the Richmond Java Users Group. The talk ran through suitable use-cases for Node and how to get started with event-driven programming.

Huge thanks to the Richmond Java Users Group for organizing and Apex Systems for sponsoring!

The slides are available at here.

Semicolon-Agnostic Javascript Syntax Checking with JSHint

Douglas Crockford's Javascript syntax checker, JSLint, has served the community well, but is opinionated and inflexible. If you program Javascript and omit unnecessary semicolons, for example, JSLint will continually badger you about your style choice.

Talk: Introduction to Node.js from a Drupal Dev's Perpsective

I gave a talk tonight on node.js, and related technologies, to the Vancouver Drupal Users Group. The talk ran through why node.js is useful for realtime web apps, how to get it and Express up and running, and how to access data from Drupal and MongoDB.

Fashion Quest 1.0 Alpha 2

Alright, here's Fashion Quest Alpha 2... minor tweaks that make it play nice with Shoes 3. Download here (or on Github). Thanks again to ashbb of the Shoes team for his patches!

Not Only Drupal: Using Drupal to Manage Data for JS/SSJS Apps

I gave a talk today at the 2010 Pacific Northwest Drupal Summit on using Drupal as a datastore for Javascript applications.

You can check out the slides on Slideshare or download the PDF [22 MB].

Installing npm (Node.js Package Manager)

Update: npm 1.0 has been released and makes npm much easier to deal with. See the Github repo for install unstructions.

Fashion Quest 1.0 Alpha

Update: Fashion Quest now works with both Shoes 2 and 3! Thanks to ashbb for the contribution!

Is Google Wave Secure?

Wrote a blog post for about the possible use of Google Wave robots to compromise communcation.

Blog post here.

Persistant stack class for PHP

I made a simple class that provides a simple SQLite-based persistant FIFO stack class for PHP 5 (similar conceptually to Stack::Persistent in Perl).

A number of times I've written Drupal scripts that run out of memory while trying to process large amounts of nodes (changing taxonomy, etc.). Adding them to a persistant stack, then doing them in batches, is an easy way to remedy this.

Example usage: Case Study

A case study of the migration to Drupal of is now on the front page.