Synchronize with the Server's Clock in the Browser

Introduction Sometimes it's useful to know the exact time (within 100 ms) of the clock on the server from within the browser. This can be used to synchronize multiple user's actions with each other, for example. I found a need for this when I created a Pomodoro Technique timer for…

The Winnable Inbox Game

Like a marathon in which the finish line keeps moving backwards, the modern email inbox is an unwinnable game because it's infinite. A simple trick for Gmail users can fix this, turning the inbox into a finite, and therefore winnable game. The following link is a bookmarklet. To save it…

Meteor review

I recently used the Meteor framework to create a demonstration to do list manager. It was the first time I've used Meteor so I have an opportunity to reflect on my experience. Summary Meteor is a highly opinionated front- and back- end JavaScript framework for creating single-page applications. Many of…

Ensure your Software is Authentic

.terminal { font-family: monospace } Software is valuable and becoming more so. The more valuable it becomes, the more it is a target for attack, and as Sun Tzu famously wrote, "All warfare is based on deception." Because we’re depending more on our software to provide vital functions for our lives,…

Testing Tools

Read about how I implemented the live star counting on this page. Frameworks Name Stars Browser Node.js Promises? Notes Jasmine yes with Jasmine-Node with Jasmine as Promised Mocha yes yes yes CasperJS yes no QUnit yes with Node-QUnit Intern yes yes yes Nodeunit yes yes Vows no yes Tape…