This Week in Web – PHP Needs X, Python IDEs, Firefox5, jQuery Mobile, Python Games

June 25, 2011 No comments yet

Firefox 5 Released

Mozilla have released Firefox 5.0 final. Some of the biggest changes are support for CSS animations, the addition of the do not track header and better HTML5 support. A list of features and changes that developers may find relevant can be found here. If you were a user of the Firefox 4 beta versions, Firefox should update to version 5 in the background. Otherwise you can download Firefox 5 from the downloads page.

jQuery Mobile Beta 1

The jQuery Mobile team is happy to announce the release of Beta 1. We’re proud of the refinements we’ve made to make jQuery Mobile faster, extensible and more compatible over the last 12 weeks and look forward to having more frequent releases as we work up to 1.0 in late summer. We’re planning on releasing a second Beta in about a month that will begin decoupling our code so you can include only the components you need, add greater extensibility to support dynamic JS-driven sites, and bring even broader device support.

Note that jQuery Mobile 1.0 will require jQuery core 1.6 as a baseline. Going forward, we’ll be supporting the two latest major versions of core but

This Week in Web – SMF2, ZF2, Python Lamdas, Future of JS, Titanium 1.7

June 18, 2011 No comments yet

Simple Machines Forum 2.0 Final

After being at Release Candidate stage for over two years, SMF 2.0 has now gone gold. Along with some minor bug fixes and security enhancements the biggest change is that SMF 2 is now licensed under the BSD License. SMF 1 and all previous SMF 2 RCs were licensed under a propriety ‘SMF License’ that prevented people from modifying the original SMF source and redistributing it themselves. With the change to the BSD license, SMF is on it’s way to becoming a mainstream open source project. Unfortunately development is still done in a private version control system.

Video: Future of Javascript

Jeremy Ashkenas and Brendan Eich talk about the future of Javascript at JSConf 2011.

Titanium Studio, Mobile SDK 1.7 Release

Appcelerator has released the final version of their Titanium Studio product and Mobile SDK version 1.7. A full list of changes to the Mobile SDK since the previous release can be found here.

Fastdev for Android speeds prototyping and testing by enabling local changes to become instantly available to your application while the simulator is running. This eliminates the time-consuming steps of packaging, building and deploying apps for each

This Week in Web – jQuery API, Python Video Archive, Symfony2 Beta, Heatmap.js

June 3, 2011 No comments yet

I Don’t Like [Django] Class Based Generic View

John DeRosa has written a blog post detailing why he does not like class based generic views (which were introduced in Django 1.3). He is of the opinion that generic views should be very simple and require a minimal amount of code to use. Class based generic views require you to subclass the generic view and override particular methods and properties (such the name of the template). This is in contrast to the old “function style” generic views where all you needed to do was call method and pass in the appropriate parameters.

The jQuery documentation is great, very complete, nicely written and with a lot of examples and demos. The only thing that bugs me is the way we have to find the right documentation for what we search for. Try to search for the .is() function for example. Over 100 matches before the actual function I am looking for?! And it is a fixed layout which means even on my big screen I have to scroll all the way down and have to scan for it. There have to be a better way, obviously.

Just to make

This Week In Web – Python, NodeJS CMS, Google APIs, XDebug

May 27, 2011 No comments yet

Writing Clean, Testable, High Quality Code in Python

Noah Gift, Python book author and Associate Director of Engineering at AT&T has written an article titled Writing Clean, Testable, High Quality Code in Python on IBM Developer Works. Gift primarily talks about good coding practices such as multiple small functions, test coverage and static analysis (with PyLint). Although all code in the article is Python, the lessons he teaches and topics he discusses can be applied to any dynamic language such as Javascript, PHP and Ruby. If you are relatively new to programming I recommend your read this article.

NodeJS Cheatsheet

The folks over at GoSquared have published a great NodeJS cheatsheet [pdf] [jpg].

Removal and Deprecation of some Google APIs

Following the standard deprecation period – often, as long as three years – some of the deprecated APIs will be shut down. The rest have no scheduled date for shutdown, but won’t get any new features. The policy for each deprecated API is specified in its documentation.

These APIs are now deprecated but have no scheduled shutdown date: Code Search API, Diacritize API, Feedburner APIs, Finance API, Power Meter API, Sidewiki API, Wave API

This Week in Web – jQuery Chrono, jMongoBrowser, PHP DI, Titanium

May 20, 2011 No comments yet

jQuery Chrono

The jQuery Chrono plugin provides an easy, human-readable wrapper around the Javascript functions setTimeout() and setInterval().

Rather than writing:

setTimeout(function() { ... }, 5 * 60 * 1000);

You can write:

$.after(5, "minutes", function() { ... });


setInterval(function(){ ... }, 60 * 60 * 1000);


$.every(1, "hour", function() { ... });

PyGame Examples

The Simpson College Computer Science Department has posted a collection of 15 GUI PyGame scripts. They range from drawing simple graphics onto the screen to full blown games with keyboard control. This is a great resource for those wanting to learn PyGame but don’t know where to start.


jMongoBrowser is a cross platform GUI administration tool for MongoDB written in Java. It provides GUI tools that allow you to easily manage your databases, collections and documents. jMongoBrowser also allows you to execute queries and explore the returned data through the rich user interface.

Titanium Mobile SDK 1.7 RC1

Titanium Mobile SDK 1.7 Release Candidate 1 is now available, providing new functionality, enhancements and bug fixes across iOS and Android. Download and install the release candidate SDK to test drive

This week in web – Vim Python IDE, Silex, Dojo JS Classes, New Appengine Datastore API

May 13, 2011 No comments yet

Python Appengine Datastore alternate API

Guido van Rossum has published a document detailing Datastore plus, a new Python API for the Google AppEngine Datastore. It beings by explaining the conventions and terminology used (Kind, Ancestor, Property) and then covers all classes and methods. The document is packed with examples of the API in use which makes it a really good learning tool. A printable API cheatsheet is provided at the bottom.

Also check out the new Appengine 1.5.0 API

Turning Vim into a modern Python IDE

John Anderson has written a detailed tutorial on setting up Vim for Python development. It covers the basics such as syntax highlighting and indentation through to the more complicated such as integrating pytest, git and virtualenv into Vim workflow. The finished vimrc file can be installed through the following:

git clone
cd dotfiles
./ vim

Titanium Mobile Fastdev for Android

The idea behind Fastdev is simple: Instead of packaging, building, and deploying your app’s files every time you want to see a change, the application requests those files directly from a server running on your machine. This means that any changes that are made locally are instantly available

This Week in Web – jQuery Forms, JS Microframeworks, Resig & Dahl Q+A

May 6, 2011 No comments yet

jQuery IdealForms

jQIdealForms is a forms framework for jQuery that assists developers in building attractive forms with minimal Javascript code. Forms are defined in standard HTML so if the user has Javascript disabled, the form still displays. After calling the .idealForms() method on your form, jQIdealForms automatically styles and enhances all inputs. All styling is done with CSS, no images are used. jQIdealForms supports IE7+ and other modern browsers. helps you discover the most compact-but-powerful microframeworks, and makes it easy for you to pick one that’ll work for you.

Micro-frameworks are definitely the pocketknives of the JavaScript library world: short, sweet, to the point. And at 5k and under, micro-frameworks are very very portable. A micro-framework does one thing and one thing only — and does it well. No cruft, no featuritis, no feature creep, no excess anywhere.

jQuery 1.6 Released

The jQuery team have released version 1.6 of the jQuery Javascript library. This release includes an increase in performance for the .attr(), .val() and .data() methods, changes to the way jQuery manages HTML element attribute data, numerous big fixes and the addition of relative movements in the .css() method. Links to the new…

This Week in Web – JS Videos, Mozilla, Titanium Docs, ExtSJS, django-rules

April 29, 2011 No comments yet

Day of JS

On 27th January 2011 a conference was held at Google HQ which covered the state of Javascript both on the web and mobile platform. Six talks between 40 and 60 minutes in length were given by Javascript community leaders such as Ben Galbraith, Dion Almar, Yehuda Katz and Kevin Whinnery. MJG (the sponsor of the conference) recorded those talks and has uploaded them in high quality video format. If you have an interest in jQuery Mobile, Titanium Mobile, SproutCore, Sencha Touch or Javascript on the web in general, I highly recommend you watch these videos.

Mozilla’s JS Plans for 2011

David Mandelin, a developer at Mozilla, has written a blog post titled Mozilla Javascript 2011. In it he discusses the features and enhancements planned this year for Mozilla’s Javascript engine. These include a new debugging API (which will allow for remote debugging), performance enhancements to the garbage collector, type inference for TraceMonkey and a new JIT compiler called IonMonkey. Mandelin does a really good job at explaining each of these enhancements in simple terms (without the lingo). I personally learned alot by reading it.

ExtJS 4.0 Released

Sencha have released version 4…

This Week in Web – Git Cheatsheet, PHP Profiling, Netbeans, Dojo Layouts

April 22, 2011 No comments yet

Git Cheatsheet

Basic Profiling Techniques for PHP Applications

Eric Hogue has written an article outlining the different profiling techniques a developer can use to test their PHP applications. He starts off by introducing Apache Siege which gives response time and request/sec figures. He then goes on to talk about XDebug, which is used to find bottlenecks in a development environment, and XHProf, which is appropriate to use in a production environment. He explains how to install and configure all 3, as well as view output from XDebug and XHProf in KCacheGrind and XHGui. If you haven’t done any application profiling in PHP before I recommend you read this article as it is a good introduction.

Netbeans 7.0 Released

The Netbeans Project has released version 7.0 of their IDE. Some of the big new features 7.0 introduces are:

  • HTML5 support
  • JDK7 support
  • PHP application refactoring
  • Java GUI designer, GridBag
  • Git 1.7 support

A detailed list of the changes since Netbeans 6 are available here.

Dojo Application Layouts with Dijit

Sam Foster of the Dojo Project has written a tutorial showing how to layout Dojo application using dijit.layout. Layouts are vital in any Dojo…

This Week In Web – LiveJS, SunlightJS, Python, MySQL INSERT

April 15, 2011 No comments yet


LiveJS is a Javascript library that is designed to speed up development times. It actively monitors the CSS and Javascript files that are in the used in the current page and automatically reloads them whenever a change is made. This saves you from having to refresh the web browser every time you make a change to a stylesheet or script. Check out the demo.


SunlightJS is an intelligent syntax highlighter for web pages. It supports Internet Explorer 6+ in addition to all Gecko and Webkit powered web browsers. It supports most popular languages out of the box (PHP, Python, Java, Javascript etc..) and has a simple API interface that allows you to create your language bindings. Full documentation and tutorial on how to use SunlightJS is available here.

Advanced Programming Language

Matt Might, Assistant Professor of CS at University of Utah, has written a blog post titled Advanced Programming Languages. Might opens with:

If you’re looking for a job in industry, my reply is to learn whatever is hot right now: C++, Java and C#–and probably Python, Ruby, PHP and Perl too.

If, on the other hand, you’re interested in enlightenment, academic research