Introducing: PlayZap

PlayZap is a project that I’ve been working on, on and off, for about a year. It’s a games portal for mobile devices – users can play HTML5 games in their mobile browsers, without having to download an app from the app store. Why? I created PlayZap for two…

Quick Tip: CSS Luggage Tags

I put together some css luggage-style tags for a site I’m working on this morning. I think they’re pretty neat, so I thought I’d share them 🙂 Enjoy!…

Migrating to Express.js v3

I’ve been working on a Node.js web application for a couple of months now.  A few days ago I ran npm update on my project without really thinking about it (d’oh), and my Express.js install was upgraded to v3.  There are a lot of changes in…

Book Review: MongoDB in Action

Happy New Year everyone!  I’ve been a bit quiet lately, owing to the holidays and work obligations, but I’m going to make a concerted effort this year to be a bit more active on my blog.  I don’t, however, count writing skills amongst my talents – I can…

Terminal Productivity Tips for Web Developers

When I’m working, the three applications I’m guaranteed to have open are Chrome, Textmate and Terminal. Terminal can look pretty intimidating at first, but once you’ve picked up some of the core commands (cd, ls, mv, cp, mkdir, touch, grep, etc.) you begin to wonder how you…

Quick Tip: CSS3 Transition End Event

If you’re working with CSS3 transforms and transitions, you detect the completion of an animation with the vendorTransitionEnd event. So in Chrome and Safari: document.addEventListener('webkitTransitionEnd', function(e) { console.log(e); }, false); will log the event object to the console. Opera uses oTransitionEnd, and Firefox just…

Optimising HTML5 Canvas games

In this blog post I’m going to share a few tips and tricks I’ve picked up from the process of refactoring HTML5 Breakout. Some of these will be common sense performance tips; others might leave you scratching your head a bit.  I’ll start with a few general…