News roundup: psd.js, turn.js, Ryan Dahl steps down from Node.js
Listen to this week’s podcast (February 6, 2012)
psd.js
psd.js is the beginnings of a Photoshop PSD parser in JavaScript! Right now it only essentially extracts metadata information – such as image size and layer information – but it’s off to a good start! You can even drag and drop files right into the page and have the information read out, although I was a big unsuccessful with some larger PSDs.
Eventually psd.js hopes to be able to output to PNG or canvas and extract information from single layers, so keep an eye on it, or better yet – help them out!
This sort of follows on the heels of trying to implement every format imagineable in JavaScript (see a compilation of all the formats available so far), and I suppose of the general desire to have a Photoshop-like image editor right in your browser.
turn.js
turn.js is a clever page-turning effect inspired by iBooks and elsewhere. It does work pretty smoothly on tablets and phones, at least on iOS, because it uses hardware accelerated transforms.
My only gripe is that it’s a jQuery plugin. Seems like there’s not a lot that should depend on jQuery here, but oh well. What I’d like to see next is something closer to the Flipboard-style page-turning. I got something like this almost working last year – maybe it’s time to dust off that code and get it working!
Ryan Dahl steps down from Node.js
(illustration by James Halliday)
This week marks the passing of the reigns of Node.js from Ryan Dahl to Isaac Schlueter, who created NPM. Ryan is said to be working on other research projects at Joyent and didn’t really want to get Node.js to get in the way.
Whatever the reasons, people seem ok with it. Personally, I think Isaac will be a bit of a better spokesman for the project. Ryan never struck me as a great speaker (I say this, being someone who’s not a great speaker myself!), and had more than a few talks that were a bit too rough around the edges. I think he had been getting better over time, though. But I’m sure we’ll see Ryan here and there still:
“Ryan is still the benevolent dictator … The FL is ‘for life’ and he’s not dead yet. Node will always be his project that he invented.”
Silicon Angle has a really well-written and well-researched story on the transition and a bit of insight into Isaac’s background. It concludes with some great advice by Isaac, possibly hinting at burnout – or avoiding burnout – being the reason for Ryan’s departure:
It’s clear that Schlueter loves programming, but he does warn against working too hard. “We as a technology culture need to learn how to stop burning out,” he says.
Schlueter took three months off in 2010 and didn’t work. He says it was a really refreshing way to clear his head. “Node wasn’t developed because Ryan was a Joyent employee,” Schlueter says. “It was developed while he was taking time off and living in Germany and had a great idea.”
“The insane startup culture work ethic thing is fine up to a point,” he says. “But you have to know when to step back and take a breather.”
As someone who basically did the same thing, as I spent three months in Japan last summer, I couldn’t agree more!
Tidbits
Touchy.js is a wrapper for dealing with touch events.
serenade.js is a new client-side MVC framework
Christian Heilmann lays down the particulars of classList (OR: why you should start learning native JavaScript instead of relying on libraries)
I think I’ve linked to this before, but it’s worth another look – a sort of Rosetta stone for jQuery and JavaScript.
Dart Synonym is a Rosetta Stone of sorts for translating JavaScript to Dart
ShareJS is a concurrent editing library, meaning that you can accomplish something similar to Google Docs (which lets multiple users edit documents at the same time). In fact, someone’s been editing the sample text field as I type this!
jquery-ajax-localstorage-cache is a jQuery plugin by Paul Irish for caching AJAX responses in localStorage
filtrr is an experiment with Instagram-style image filters in JavaScript
Node at scale: What Google, Mozilla, & Yahoo are doing with Node.js
Web Equation has a nice handwriting recognition tool for solving math equations
JPC2000: JavaScript Production Center is a mixpad that lets you drag and drop MP3s to play and mix at your heart’s content
Modernizr with Low Battery is a practical application of the new battery API. For instance, it lets you be conscientious about users’ low battery levels by scaling back transitions, animations, and other CPU/GPU-intensive operations when necessary.
Remote Tilt is a tool by Remy Sharp to test accelerometer events – without the actual accelerometer!
JavaScript Optimization: Grunt.js
Using the Vibration API – Part of WebAPI
An Introduction to HTML5 web messaging
(Drama warning) A bit of drama between Yehuda Katz and Jeremy Ashkenas regarding Backbone and Ember
A canvas rose in 1k! and an explanation by the author
Understanding process.nextTick()
Differences Between jQuery .bind() vs .live() vs .delegate() vs .on()
Other roundups
The world’s abuzz with JavaScript news. May as well link to the other JS roundups here!
JS Monkey is a new weekly newsletter that’s just started a few weeks ago
Multimedia
(slides) Mobile & Desktop Cache 2.0: How To Create A Scriptable Cache
(audio) Build Tools (JavaScript Jabber)
(video) Advanced HTML5 JavaScript: Down ‘n Dirty (Kyle Simpson / getify)
(audio) The Javascript Show Episode 29: Backbone.js 0.9.0
(audio) The JavaScript Show Episode 30: jQuery Mobile 1.0.1
Releases
GitHub Most Watched This Week (JavaScript)
blasten / turn.js
alexmic / filtrr
twitter / bootstrap
jairajs89 / Touchy.js
visionmedia / uikit
Upcoming Events
(This isn’t a complete list. See more upcoming JavaScript events listed on Lanyrd)
An evening with the Flickr FE dudes (Bayjax) (February 6, 2012 in Sunnyvale, CA, USA)
jQuery UK 2012 (February 10, 2012)
HTML5 Game Jam (February 10, 2012 in Paris, France)
NodePDX (February 10-11, 2012 in Portland, Oregon, USA)
JavaScript Conference (February 27, 2012 in Düsseldorf, Germany)
UtahJS (March 29, 2012 in Park City, UT, USA)
JSConf US 2012 (April 2-3, 2012 in Scottsdale, AZ, USA)
Breaking Development 2012: Orlando (April 16-18, 2012 in Orlando, Florida)
Mobilism 2012 (May 10-11, 2012 in Amsterdam, Netherlands)
JsDay 2012 (May 16-17, 2012 in Verona, Italy)
O’Reilly Fluent: JavaScript and Beyond (May 29-31, 2012 in San Francisco, California, USA)
BackboneConf 2012 (May 30-31, Boston, MA, USA)















