One of my favorite things about programming in node is the package management system. In almost all instances, the practice of locally installing modules for each project has simplified my life as a developer. However, as a long time contributor to Grunt, I have become intimately familiar with one edge case where this practice breaks […]

Tagged:

Software development is a lot like meeting a friend for dinner. I’m serious! Every now and then I find myself sitting at a restaurant bar at 6:58 waiting for my friend to show up for our 7 o’clock reservation. All of a sudden I get a text: “Running 5 minutes late. See you soon.” Well, […]

Tagged:

Many readers will recognize the following program, which is an adaptation of The Little Schemer’s Y combinator implementation; written and published by Douglas Crockford in 2003 to demonstrate the commonalities found between JavaScript and Scheme. If you’re unfamiliar with recursion, fixed point combinators or the “Y combinator”, take a look at the Wikipedia article and […]

Tagged:

Imagine you are working in your shell, you could be in any directory anywhere, but you want to go to ~/Projects/MyProject. You’re probably used to typing something like this: cd¬†~/Proj[tab]/MyPro[tab] Wouldn’t it be nice if you could end up in the exact folder you want with just: cd¬†MyProject The CDPATH environment variable Much like the […]

Tagged:

In the world of web design it’s more common to condemn or praise existing work than it is to talk about the actual process of creating something great. For example, over the years I’ve complained more and more about restaurant websites. I don’t just mean the ones that play background music, rely on Flash, use […]

Tagged:

HTML5 is ready for mobile Open Web games. Flash is absent or disappearing on mobile devices. Meanwhile, in the US and the UK, 20% of Internet users are mobile-only, and in some markets more than half of Internet users are mobile-only. It is widely held that the next two billion people coming online in the […]

Tagged:

AMD (short for Asynchronous Module Definition) is a JavaScript API specification for structuring modular code. The web abounds with blog posts illustrating its use in front-end application development (and there’s plenty of healthy debate around its necessity, too). The topic of unit testing (despite being integral to the process of software development) does not receive […]

Tagged:

CC BY-SA

For a recent consulting project I was attempting to render some fairly complex skeletal animations in WebGL on Firefox and Chrome. I quickly ran into a situation where the animation was rendering on Linux and Mac computers, but not on Windows. All the test machines had up-to-date graphics drivers, but the Windows machines threw a […]

Tagged:

Here at Bocoup I’ve been building a lot of multiplayer HTML5 games using Node.js and Socket.io. This stack has been working great for us! We’ve used Socket.io in our work with Game Show Network, PBS and MIT, and we build all kinds of stuff on Node. My experience on these projects has led me to […]

Tagged:

Introduction Node.js, a server platform built on Chrome’s JavaScript engine, is changing the face of web development. While Node.js itself is fast and scalable, the open source community surrounding Node.js is constantly discovering new ways to make application development more productive. This article will show how Node.js network code can be easier to write automated […]

Tagged: