Publications

CSS Tricks

What Really Makes a Static Site Generator?

O'Reilly Media

Static Site Generators - Modern Tools for Static Website Development

Working with Static Sites (co-author with Raymond Camden) -- forthcoming

Telerik Developer Network

A Guide to Browser Scroll Animations

Alexa, Can I Use?

Your Open Source Project is Considered Harmful

Is left-pad Indicative of a Fragile JavaScript Ecosystem? (with TJ VanToll & Cody Lindley)

What I Learned from Working in Failed Platforms

Creating Node.js Command Line Utilities to Improve Your Workflow

Spying on James Bond with Node.js

Defining a New Breed of Cross-Platform Mobile Apps (with TJ VanToll)

Lazy Loading Images on the Web

Static Site or CMS?

Battle of the Free Code Editors

What's Wrong with the Web?

Practical Web Audio

Getting Started with Jekyll

Adding Audio to Web Apps

3 Useful Tools for Local Web Development & Testing

Can AngularJS Maintain Its Dominance?

Static Site Engine Battle Royale

Mobile Business Insights (IBM)

Making sense of the mobile development ecosystem – Part 1: The mobile web

Making sense of the mobile development ecosystem – Part 2: Hybrid apps and hybrid/native apps

Making sense of the mobile development ecosystem — Part 3: JavaScript native, cross-compiled and native apps

Making sense of the mobile development ecosystem — Part 4: Which mobile option should you choose?

SD Times

Guest View: With Minecraft, Microsoft gains young developer mindshare

Business Solutions

What I Learned From Working In Failed Platforms

Sitepoint

Creating Posts, Custom Metadata, and Data in Wintersmith

Getting Started with Wintersmith: A Node.js-based Static Site Generator

ColdFusion 8 - Believe the Hype

O'Reilly Radar

Add depth to your project with practical web audio

Digital Thirst

The Modern Web (formerly Flippin' Awesome)

Original Founder, Publisher, Weekly Roundup Contributor

Rethinking DOM Traversal

Paralyzed by Choice in Front-end Development

Creating Sound with the Web Audio API and Oscillators

Building a Successful Content Site

CSS for Beginners with Dreamweaver

Topic Undefined – Episode 7 (podcast)

Using CSS Regions in Responsive Designs

2014 – What Web Developers Will Need to Know

2013 – The Year in Web Development

Topic Undefined – Episode 6 (podcast)

Topic Undefined – Episode 5 (podcast)

Stop Focusing on Tools

Retro Game Music using Web Audio and Band.js

Topic Undefined – Episode 3 (podcast)

DOM Traversal and Manipulation with Voyeur

Topic Undefined – Episode 2 (podcast)

Topic Undefined – Episode 1 (podcast)

Drawing and Animating with Two.js and Illustrator

Quick and Easy Local and Device Web App Testing

Create Your First Mobile App with PhoneGap Build – Using the Notification API

Create Your First Mobile App with PhoneGap Build – Using the Storage API

Create Your First Mobile App with PhoneGap Build – Adding Pages with jQuery Mobile

Create Your First Mobile App with PhoneGap Build – Adding jQuery Mobile

Create Your First Mobile App with PhoneGap Build – Connecting to an API

Create Your First Mobile App with PhoneGap Build – Using PhoneGap Build

Create Your First Mobile App with PhoneGap Build – Setup

Adobe Inspire

Web designers become app developers with PhoneGap

Building responsive web designs with Adobe Edge Reflow

Getting started with responsive web design

Four cool features you can use with HTML5 today

Primer: How to take advantage of web standards

What are web standards and why should I care?

InfoQ

Axel Rauschmayer on ECMAScript 6 and the Future of JavaScript

A Change in Leadership for Node.js

Neal Ford on Giving Technical Presentations

Andrew Betts on Developing for Mobile with HTML5

Tom Dale on Ember and JavaScript Frameworks

Google Announces Chrome Apps Improved Offline Capabilities & Mac Support

Current Trends in NoSQL - Q&A with Peter Bell

CodeCube Offers Shareable, Runnable Code Samples

Backbone 1.1.0 Released, Includes Potential Incompatibility with 1.0

Adobe Edge

Advanced Android development with Flex "Hero" and Flash Builder "Burrito"

Create Android apps with Flex "Hero" and Flash Builder "Burrito"

Getting Started with Adobe AIR for Android

Object relational mapping in ColdFusion 9 and ColdFusion Builder

Tutorial: Build an Adobe AIR application using JavaScript

A guide to Adobe developer groups and resources online

A beginner's guide to the Mate framework for Adobe Flex

Build a personal productivity application with Adobe AIR

Comparing Adobe Flex and Ajax Development Models

Add dynamic content to your site with RSS and ColdFusion

Adobe Developer Connection

Node.js command-line tools for front-end development

HTML, CSS and JavaScript code editing with Edge Code

Browser testing across devices with Adobe Edge Inspect

Pseudo-classical object-oriented programming in JavaScript with Minion

Metablog Monthly throughout 2011 (example November '11)

Creating Self-updating ColdFusion Builder Beta Extensions

Onward Search Blog

Breaking into a Front-end Development Career

Kendo UI Blog

Using Adobe Edge Tools and Services with Kendo UI

Flex Authority

UHello Mate! A Beginner's Guide to the Mate Flex Framework (Vol. 1 Issue 1)

Fusion Authority Quarterly Update

Getting to Know Mr. Wizard (Vol. 2, Issue 4)

What's Hot? What's Not? - What new ColdFusion 8 tags or features do you find indispensable, and why? (Vol. 2, Issue 3)

Cairngorm Crystallized: Examining the Cairngorm Microarchitecture from a Workflow Perspective (Vol. 2, Issue 2)

DevShed

Adobe ColdFusion Just Got More RAD

Fusion Authority Online

Elad Elrom Talks Flash...and the City

An Interview with John Wilker of 360Conferences

cf.Objective() 2008 Wrap-Up

cf.Objective() - Day One

cf.Objective() Day Two: May 5, 2007

cf.Objective() Day Three: May 6, 2007

Build a Code Generator in Five Easy Steps

ColdFusion Developer's Journal

Stopping Spam in Its Tracks...using CAPTCHA

Implementing a Nested Set Model in ColdFusion