A cherry tree.

Jasy, the ultimate web tool

This article was also posted on http://code.zynga.com. Head over to read more about our technical marvels! Never heard about Jasy? Worry not – you are not the only one. Jasy is a web tooling framework (read: fancy JS build system). If Grunt is a cherry, Jasy is a wonderful cherry tree. In fact, Jasy is [...]

Painting the DOM to Canvas with Domvas

I’m happy to announce a new pet project of mine: Domvas. Domvas implements the missing piece that connects the DOM and Canvas. It gives to the ability to take arbitrary DOM content and paint it to a Canvas of your choice. That dialog that is a pain to layout in Canvas but needs to be [...]

Getting productive with Sublime Text 2

I’ve been supercharging my development workflow in the last couple of days, and quite a few of you have asked me on Twitter to write a summary on my choices. Most of it centers around the excellent Sublime Text 2 text editor. Sublime is highly extensible through a Python-based plugin API, and by itself is [...]

propertychange on Internet Explorer 9

Update #1: It just came to my attention that CSS3 Pie does in fact continue to work in IE9. I quickly skimmed through the source code but couldn’t find out why their code would still function. If any CSS3 PIE reads this, please get in touch! Maybe not all hope is lost, after all. Nope. [...]

Simple URL parameters in JS

Nowadays when most of you do the heavy lifting in JS, chances are you want to lookup URL parameters. I definitely need it often, and I have a little snippet that converts params in your URL to a nice JS object. Here it goes: // this object gets filled with params var params = {}; [...]

HTML5 D&D: dataTransfer data has to be set to allow drop

This is a quick tip for those that are still bold (or stupid) enough to try the incredibly messy HTML5 Drag & Drop spec. If you’re dragging div’s around and made them draggable (draggable=true) but wonder why the “dragover” event never fires on the target on Chrome: You have to set data on the transfer. [...]

Real-world APIs

My friend Nicolas is defending localStorage in his blog, and I want to show my full support. In particular, this following sentence caught my eye and should make you curious: [It] absolutely stinks of browser developers creating an API that’s easy to implement rather than creating an API that’s easy to consume. This is the [...]

Enabling the internal debug menu of Safari

I promised my next blog post will be positive, so here we go. Few people know this, but while Safari debugging on iOS doesn’t exist, Safari debugging on PC is actually fairly useful. There will be a more elaborate blog post following soon, but this first little goodie will get you going first. Paste this [...]