Non-static method Cgn_Session::getSessionObj() should not be called statically, assuming $this from incompatible context


Non-static method Cgn_SystemRequest::getCurrentRequest() should not be called statically, assuming $this from incompatible context


Non-static method Cgn_SystemRequest::getUser() should not be called statically, assuming $this from incompatible context


Non-static method Cgn_ErrorStack::count() should not be called statically, assuming $this from incompatible context

News roundup: I Like Eich. 140 byte synthesizer, An End To Negativity, Sencha Touch 2.0, Dart (again)

Listen to this week’s podcast (October 29, 2011) (23:05 minutes)

I’m trying a little something different this week. I hope you guys like pictures. :)

I Like Eich

Brenden Eich + “I Like Ike” mashup by @lonnen

140 byte synthesizer

A while back Jed Schmidt created a simple little project on GitHub called 140 bytes – a simple Gist that encourages other people to fork the project and write their own little utility functions in 140 bytes of JavaScript. Combine this on the other side of the spectrum with someone experimenting with very short C programs that output interesting sounds, and we now we have a tiny music generator in JavaScript!

To be more specific, we have the function to generate the sound structure itself (134 bytes):


And the function to read this and turn it into something audible (138 bytes):

function(f){for(var t=0,S=’RIFF_oO_WAVEfmt ‘+atob(’EAAAAAEAAQBAHwAAQB8AAAEACAA’)+’data’;++t<3e5;)S+=String.fromCharCode(eval(f));return S}

The result is a meme that keeps coming back to haunt us all. (apologies in advance).

Video: An End To Negativity

Chris Williams - An End To Negativity
Chris Williams, the organizer of JSConf, gave a poignant speech at the recent JSConf EU, promoting “an end to negativity”, which has several implications. The first is that we shouldn’t be so hostile towards other languages such as Dart, which seek to supplant JavaScript or improve on it. We should be more open-minded and try to embrace change and progress. The second implication affects our dealings with each other – we should be more positive in our dealings with one another. We’re all one community, one family, and should treat each other as such.

This may sound a little overoptimistic or hippyish even, but I enjoyed Chris’s talk and totally agree with it. We should not only be concerned about our code, but ourselves as human beings, physically and mentally. Many of these JSConf videos may be outdated in a few years’ time, but this talk by Chris is something that should stand the test of time and still be useful to us many years down the road.

I’m not sure how well-received Chris’s talk was, as there may not be as much social reward for following the rules and not being outspoken. Along those lines, James Padolsey has a rejoinder for Chris’s talk. In his opinion the problem is not necessarily negativity so much as living and feeding off of social feedback, which is something that’s in every community really, and causes problems everywhere.

Sencha Touch 2.0 Developer Preview

Sencha Touch 2.0

Sencha Touch 2.0 Developer Preview has been released, along with updated docs and kitchen sink examples.

Of particular interest is promised improved performance on Android. I tried the kitchen sink demo on a Nexus One running the older Android 2.2 OS, and it ran decently. The page transitions were impressively fast, but the inertia scrolling was still sluggish. It’s probably much better on newer, faster Android phones, but I wish we didn’t have to worry about implementing inertia scrolling everywhere. Android 2.2+ as well as iOS5+ now offer support for fixed-positioned elements, which was the reason for developers implementing inertia scrolling as far back as 2007 with the original release of the iPhone (with Apple developers writing Pastrykit, the library that powered the iPhone User Guide).

Can we just implement fixed-positioned elements and worry about more important UI stuff now?

In any case, it’s good to see more progress on Sencha Touch, which is probably the mobile framework with the most slick UI out there right now.

Dart (again)


A few weeks back we of course had all the controversy over a leaked Google email detailing their plans for a JavaScript replacement called Dart, as well as their plans for world domination. Ok, I made that second part up (or did I?).

Back then, we only had the unreleased email to go off of, which meant a lot of speculation and overall hand-waving. Now that Dart has been officially announced, with a website and all, folks have had a chance to give it a better appraisal.

The general sentiment from JavaScript developers has been negative, which is a predictable reaction, since Dart aims to replace JavaScript, after all. There’s also a sentiment that Dart takes a lot of cues from Java, which of course is seen as a very bad thing in the eyes of us JavaScript developers.

So does anyone have anything good to say about Dart? From what I’ve heard, there’s been very little, but I have heard praise for Dart’s handling of the DOM. Dart took something that’s been up for debate by standards bodies (query/queryAll with CSS selector syntax) and implemented it straight away. This replaces what in JavaScript is getElementById, getElementsByTagName, getElementsByName, getElementsByClassName, as well as the much more verbose querySelector (qs) and querySelectorAll (qsa).

There’s been a really huge reaction to the release of Dart – here’s a pick of some of the most popular postings:

“Dart” out in the open – what’s it all about?
Dart; or Why JavaScript has already won (PPK)
What Is Wrong About 17259 Lines Of Code (Web Reflections)
“Hello world” in Dart – the now-famous “Hello world” that’s been floating around, along with a lot of amusing comments
Why Dart is not the language of the future
The Essence of Google Dart: Building Applications, Snapshots, Isolates


Letter Bubbles is a fun little game powered by JavaScript and HTML5, and it has the polish you might expect from a Flash game. Pretty slick!

JSFiddle has been updated to support SCSS (Sass) and Coffeescript, as well as a bit better mobile support.

Broadway: An H.264 Decoder in JavaScript Running at 30fps

Detecting JavaScript/canvas speed as a feature?

Dead simple background parallax scrolling in javascript

Scaling Isomorphic (running on client and server) JavaScript code

140bytes Music SoftSynth

Lets Make a 3D Game: microphysics.js

Multiphase Flow in JS, based on a much better-forming version in Flash

Are We Mobile Yet? is a site to track Firefox Mobile’s progress in implementing device access APIs (camera, NFC, Battery, etc.)

Simple, maintainable templating with JavaScript (Nicholas Zakas)

task.js is a library making it easy to do I/O (XHR calls, etc) without callbacks, in a simpler way

Stop Nesting Functions! (But Not All of Them)

Playing with HTML5 video and getUserMedia support (Opera)

Getting Started with Web Audio API (HTML5 Rocks)

Terse JavaScript 101 – part 1

Isogenic Engine is a new isometric JavaScript game engine

Organizing your application using Modules (require.js)

Beginners guide to AMD and RequireJs

PimpMyJS: Uglify or Beautify your JavaScript, it’s your choice…

Native Fullscreen JavaScript API (plus jQuery plugin)

addEventListener, handleEvent and passing objects – a clever way of preserving object context without having to worry about binding functions

List.js makes lists searchable, sortable, and filterable

Lets Make a 3D Game: microphysics.js

Testling is a new JavaScript testing framework

Announcing the jQuery Standards Team (jQuery blog)

LightningJS – for sandboxing and asynchronously loading third-party JavaScript

Writing Modular JavaScript With AMD, CommonJS & ES Harmony (Addy Osmani)

Opera has finally added support for cross-origin resource sharing (CORS)


Node API changes between v0.4 and v0.6

RailwayJS – MVC framework for NodeJS


RequireJS 1.0

SugarSkull 0.9.1

Node 0.5.10

Underscore.js 1.2.1


Video: Modernizr with Faruk Ates

Audio: Boot To Gecko (A Minute with Brendan)

Video: The Future of JavaScript with David Herman of Mozilla

Slides: Remote Debugging the Mobile Landscape

Enter the Third Dimension: Introduction to WebGL (Ilmari Heikkinen)

GitHub Most Watched This Week (JavaScript)

zurb / foundation
twitter / bootstrap
olark / lightningjs
h5bp / html5-boilerplate
joyent / node

Upcoming Events

(see more upcoming JavaScript events listed on Lanyrd)

New Game Conference (November 1-2, 2011 in San Francisco, CA, USA)
Google Dart, Foundation and WebFWD (SFJS) (November 1, 2011 in San Francisco, US)
Why wait for Harmony? Use Asynchronous Modules with jQuery now! (jQuery Boston) (November 2, 2011 in Boston, MA, US)
red dirt.js (November 3, 2011 in Oklahoma City, OK, USA)
Nicholas Zakas on High Performance JavaScript (Web Performance Boston) (November 3, 2011 in Boston, MA, USS)
jQuery Mobile Unconference (November 3, 2011 in Mountain View, CA, US)
YUIConf 2011 (November 3-4, 2011 in Sunnyvale, CA, US)
Lets Talk Windows 8 Development with Metro, JavaScript and HTML5 (November 7, 2011 in TBD)
Full Frontal JavaScript Conference (November 11, 2011 in Brighton, UK)
jQuery Summit 2011 (November 15-16, 2011 online)
W3Conf (November 15-16, 2011 in Seattle, WA, USA)
Copenhagen JS (November 17, 2011 in Copenhagen, Denmark)
indieconf 2011 (November 19, 2011 in North Carolina, US)
LyonJS (November 21, 2011 in Lyon, France)

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • description
  • Reddit
  • TwitThis
  • Simpy
  • StumbleUpon

Leave a Reply

© webdevpublishing 2011