The Little MongoDB Book
Karl Seguin, creator of mongly, has released a free and open MongoDB ebook. The Little MongoDB Book is aimed at those new to MongoDB and covers the MongoDB API for reads, writes and updates as well as tips on getting the best performance and durability out of a MongoDB server. The book can be viewed on github or downloaded as a pdf.
Beginning jQuery With A Solid Foundation
Mike Gleason has written a brilliant article titled Beginning jQuery with a solid foundation. The article starts out what the Document Object Model is and how the HTTP protocol works. It then goes into detail explaining how jQuery itself is structured, and how the seemingly magical $() function is created (and how you can do it yourself in Javascript). If you learned jQuery without learning Javascript then I recommend you read this.
PHPThumb
PHP Thumb is a light-weight image manipulation library aimed at thumbnail generation. It features the ability to resize by width, height, and percentage, create custom crops, or square crops from the center, and rotate the image. You can also easily add custom functionality to the library through plugins. It also
…
NodeJS is a powerful evented Javascript platform running on top of Google’s V8 javascript engine. Over the last year the popularity of NodeJS has increased greatly, as shown by the number of discussions on programming forums such as Hacker News, Reddit and Stackoverflow. Despite this NodeJS is still young and it falls short to Python and Ruby when it comes to the number and range of libraries and modules available.
The Problem
I wanted to convert one of my web scraping applications I made in PHP to NodeJS. The application interacts with SOCKS4 and SOCKS5 proxies using PHP’s cURL bindings. Unfortunately there are no cURL bindings (or SOCKS protocol wrappers) written for NodeJS. NodeJS does come with an HTTP client module that can issue web requests, however it doesn’t support SOCKS proxies.
The Solution
Although there are no specific NodeJS bindings for cURL, we can still issue cURL requests via the command line interface. NodeJS comes with the child_process module which easily allows us to start processes and read their output. Doing so is fairly straight forward. We just need to import the exec method from the child_process module and call it. The first parameter is the command…
Symfony2 API Browser, Cheatsheet
The official API browser for Symfony2 can now be accessed at api.symfony.com/2.0. There you can browse look through all namespaces, classes and methods in Symfony2 (documented by PHPdoc comments). The folks at elao.org have released a cheatsheet for using Doctrine2 with Symfony2. The cheatsheet contains field information, configuration parameters and examples of relations (ManyToMany, ManyToOne etc.). Download the cheatsheet here (available in many formats).
MEPP – Mac Nginx Percona PHP
MEPP is a set of applications to provide a local web development environment independent of OS X, installs in minutes. MEPP is a similar alternative to LAMP, WAMP or MAMP for OSX
MEPP use nginx as web server and Percona as database server. MEPP is free software and has no relation with any company in charge of the applications you use, in which case each has its own license.

PyCon 2011 Videos Released
Most of the talks given at the recent PyCon were recorded and have now been uploaded onto BlipTV. Below are some of the most popular talks:
…
In this series of tutorials we use Appcelerator’s Titanium Mobile platform to create Android applications. This tutorial walks you through developing and packaging an application which shows information about the device the app is running on. Full source and packaged application is available on github.
NowJS
NowJS is a new library for NodeJS that makes the creation of realtime web applications easy. NowJS library creates a namespace, now, which can be accessed by both client and server side code. This allows the developer to call server side functions from client side code, and client side functions from server side code. It currently supports all modern web browsers and is aiming to support older versions of Internet Explorer. The video below shows how to create a chatroom in 12 lines of code using NowJS.
Mongly
Mongly is an interactive learning tool for MongoDB. It gently walks you through the different queries, functions and operations available in MongoDB. If your a complete beginner to MongoDB then I suggest you use this tool as well as try.mongodb.org to learn it.

GAE Flask HTML5 Template
Zach Will has created a project on Github named gae-flask-html5. It is a skeleton Flask application that uses the html5-boilerplate as the default templates. You can get it up and running in a matter of seconds:
git clone https://github.com/zachwill/gae-flask-html5.git *app name here*
dev_appserver.py .
Dictionary Autocomplete
…
Ever since PHP5.3 was released we have seen several new frameworks pop up in the PHP community. In this series of articles we will look at and evaluate some of the next generation PHP frameworks. Today we look at Symfony2.
Overview
Symfony2 is a full stack web enterprise framework created by well known PHP guru Fabien Potencier. The framework itself is divided up into several different packages (Bundles) which are tied together with a Kernel object. Being a full stack framework Symfony2 offers almost everything you will need out of the box:
- Model, View, Controller separation
- Database management with Doctrine2
- Templating with either straight PHP templates or Twig
- Testing with a layer built upon PHPUnit
- Emails with SwiftMailer
- Custom form, validation, auth, event and caching systems.
One thing that distinguishes Symfony2 from other frameworks is that it relies heavily on Dependency Injection and as a result alot of configuration needs to take place. The standard of the Symfony2 is top notch, it is clearly set out, commented and tested. The full stack nature of Symfony2 is also a big strength. If you were to start a high upkeep project, you could be sure that in 5…
PHP isEmail Function
Over the last couple of weeks the issues regarding email validation have been popping up in various online programming communities. It has been pointed out that using PHP’s filter_var function with FILTER_VALIDATE_EMAIL doesn’t actually approve all email addresses that would otherwise be valid (specified in internet RFCs). Dominic Sayers has written an email validation function called isEmail which, according to the tests is 100% accurate. It is available in PHP and Java implementations.
jCanvasScript
jCanvasScript is a javascript library that enables easy manipulation of the canvas HTML element. It runs on all desktop and mobile platforms that support the canvas element. The following snippet shows how easy it is to create and manipulate a circle and rectangle.
<head>
<script type="text/javascript" src="jCanvaScript.js"> </script>
<script type="text/javascript">
function simpleExample()
{
jc.start('canvas_1');
jc.circle(100,100,50,'rgba(255,0,0,0.5)',1);
jc.rect(150,40,50,60,1).rotate(30,'center');
jc.start('canvas_1');
}
</script>
<head>
<body onload="simpleExample()">
<canvas height="200" width="300" id="canvas_1"></canvas>
</body>

Beginning Android Development for iOS Programmers
Clay Allsopp has written an extremely detailed series of tutorial-style blog posts detailing how he ported an iOS app to the Android platform. The application, Brocabularly, is a relatively simple CRUD (create, read, update, delete) dictionary-like application. The posts are aimed at people who…
In this series of tutorials we use Appcelerator’s Titanium Mobile platform to create Android applications. This tutorial walks you through developing and packaging a soundboard application. Full source and packaged application is available on github.
WordPress 3.1 Released
WordPress 3.1, codenamed Reinhardt, has been released. This release focuses on making WordPress a more suitable platform for a content management system. It supports the creation of different post content types as well as the ability for the administrator to (more) easily import and export posts. The administator user interface has also been revamped. As usual you can update to the latest version through your WordPress administrator dashboard.
Convore
Convore is a website that allows groups of people to communicate in real time. It is best described as a cross between a traditional forum bulletin board system and IRC. Users can create public or private groups which act as a forums. Members of that group can then create and reply to threads in that group. Convore automatically tracks which threads and replies you have already seen and notifies you when a new post is made.
Programming groups on Convore:
jFormer
jFormer is an open source form management framework. The backend is written in PHP and frontend is handled by jQuery. After installing the framework you define your form in PHP, jFormer then takes care of client & server side validations,…
In this series of tutorials we use Appcelerator’s Titanium Mobile platform to create Android applications. This tutorial walks you through developing and packaging your first Titanium application. Full source and packaged application is available on github.