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: IE9 and SunSpider, 20 Things I Learned, New Design Patterns book

Microsoft accused of cheating the SunSpider benchmark

custom essay writing service reviews

Perhaps one of the biggest pieces of JavaScript news this week is that suspicions have grown that the Internet Explorer 9 team cheated the SunSpider JavaScript benchmark. The allegation resulted from Mozilla developer Rob Sayre finding a specific test that completed ten times faster than in any other browser.

Ars Technica has a great description that offers a fair explanation: that this optimization is due to dead code elimination. It also calls into question the SunSpider test itself, called “cordic”, that computes sine and cosines using a CORDIC algorithm. The trouble is that JavaScript has much faster sine and cosine functions built-in (Math.sin(), Math.cos()), making this cordic test a good opportunity for code elimination and replacement.

One of the things that makes this so suspicious is that making theoretically trivial changes to the test code results in the test taking around 20 times longer to complete. However, Ars Technica offers the fair explanation that we don’t necessarily know what Microsoft’s compiler is doing or how minor changes to the code are interpreted.

Google’s 20 Things I Learned About Browsers and the Web

Just yesterday Google released “20 Things I Learned about Browsers and the Web, a free ebook written in response to the 20 year anniversary of Tim Berners-Lee’s proposal for the World Wide Web.

This very short introduction to the web probably doesn’t have too much content you don’t know already, but the way it’s executed is the highlight. It almost seems like a Flash app, but then you realize it’s all built on open web technologies (the good old trifecta of HTML5, CSS3, and JavaScript). It utilizes the application cache (which means it works offline!), remembers the current page with the help of JavaScript local storage, and surprisingly utilizes HTML5 canvas to dynamically generate the page flip animations.

Read more on the Google code blog.

Essential JavaScript & jQuery Design Patterns For Beginners

Essential JavaScript & jQuery Design Patterns For Beginners by Addy Osmani (technical reviewer Alex Sexton) is a free minibook aimed to be a practical introduction to using design patterns. As such it introduces some patterns that might be familiar to you: the singleton, module pattern, revealing module pattern, facade pattern, factory pattern, etc.

For those looking for a bit more of a deep dive, I recommend reading Stoyan Stefanov’s JavaScript Patterns and then Ross Harmes and Dustin Diaz’s Pro JavaScript Design Patterns.

Upcoming Events

webOS Developer Day (Nov 20, 2010 in New York City)
D: Dive Into Mobile (Dec 6-7, 2010 in San Francisco)
Node.js Camp SF (Dec 14, 2010 in San Francisco)


Face detection jQuery plugin
Video: Using Clojure, NoSQL-Databases And Functional-Style JavaScript To Write Next-Generation HTML5 Apps – Stefan Richter on Vimeo
Video: Socket.IO: WebSockets for everyone by Guillermo Rauch (jsConf EU)
Highcharts – Interactive JavaScript charts for your web pages
Extending Objects with JavaScript Getters
Higher Order Javascript
JavaScripts tools – TextMate bundle
Audio: The arguments Argument (A Minute With Brendan)
Installing Node.js on a Dreamhost Shared Server
Emulating Lossy RGBA Images with HTML5’s Canvas Element

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

© webdevpublishing 2011