Animated GIFs the Hard Way

The Sublime Text Website has some nifty animations to show of a few features. Turns out they’re not animated gifs. One of the criteria was that the animations should work everywhere, from IE6 to an iPad. This ruled out two common video options, Flash and the <video> element. Animated GIF files would have been a …

Ajax is “broken” in iOS6

In iOS6, POST requests over XHR seem to be cached quite aggressively. Luckily, it’s fixable: After a bit of investigation, turns out that Safari on iOS6 will cache POSTs that have either no Cache-Control headers or even Cache-Control: max-age=0. The only way I’ve found of preventing this caching from happening at a global level rather …

jQuery Stick ‘em

jQuery plugin to mimic the new and upcoming CSS position: sticky; position: sticky is a new way to position elements and is conceptually similar to position: fixed. The difference is that an element with position: sticky behaves like position: relative within its parent, until a given offset threshold is met in the viewport. jQuery Stick’em …

BananaBread

BananaBread is a 3D first person shooter that runs on the web. It takes the Cube 2: Sauerbraten engine, which is written in C++ and OpenGL, and compiles it using Emscripten into JavaScript and WebGL so that it can run in modern browsers using standards-based web APIs and without the need for plugins. Be amazed. …

Pushover — Simple mobile notifications for iOS and Android

Little app that is built only to receive notifications on your smartphone. Notifications can be sent from any (non-smartphone) app you build by doing a simple HTTP request. Also works with IFTTT curl -s \ -F “token=abc123” \ -F “user=user123” \ -F “message=hello world” \ https://api.pushover.net/1/messages.json Pushover →