App Engine 1.4.3 Released
Python API Changes
Prospective Search API: The experimental Prospective Search API allows Python runtime users to detect and take action on datastore entities that match certain criteria when they are written. For the experimental release, users will be allowed 10,000 subscriptions with the Prospective Search API. Pricing will be announced once the feature is fully launched.
Testbed Unit Test Framework: The Testbed suite for Python provides an easy interface for using App Engine API stubs in integration tests similar to the previously existing Java Testing Framework. You can create tests for your application that do not rely on calling App Engine production services, which speeds up the time your tests take to complete, and eliminates dependencies for your test on external services.
Files API: The new Files API in Python and Java allow you to programatically read and write data using Blobstore. This API can be used to generate reports, export data, or do anything that your heart desires that requires large, binary objects.
Titanium Studio Preview
Appcelerator have announced a preview release of Titanium Studio, an IDE built on top of Aptana (Eclipse) for Titanium Mobile development. It includes…
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
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
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:
March 18, 2011 Comments Off
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 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*
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.
<canvas height="200" width="300" id="canvas_1"></canvas>
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…
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 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 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,…
PHP Pango Extension
Michael Maclean has recently published a PHP wrapper for the Pango library. It depends on his Cairo PECL package as well as Pango. Once installed you can draw graphics with Cairo and text with Pango directly from PHP. The following code is taken from his announcement:
/* Make a 300x300px image surface */
$s = new CairoImageSurface(CairoFormat::ARGB32, 300, 300);
$c = new CairoContext($s);
/* Set the background to white */
$c->setSourceRGB(1, 1, 1);
/* Let's draw using black 'ink' */
$c->setSourceRGB(0, 0, 0);
/* Make a Pango layout, set the font, then set the layout size */
$l = new PangoLayout($c);
$desc = new PangoFontDescription("Bitstream Charter 28");
$l->setWidth(250 * PANGO_SCALE);
/* Here, we use Pango markup to make part of the text bold */
$l->setMarkup("Hello world! Here is a rather long paragraph which should get wrapped");
/* Draw the layout on the surface */
/* Output the PNG to the browser */
Titanium Mobile 1.6 Released
Appcelerator have just announced the release of version 1.6.0 of their Titanium Mobile SDK. 1.6.0 includes many new features for the Android platform including additional Intents, Samsung Galaxy support and the…
Podcast: Under PHP’s Hood
The folks over at iBuildings recently put up an mp3 version of Johannes Schlüter’s talk “Under PHP’s Hood”. It was recorded at the Dutch PHP Conference 2010. Schlüter describes how common PHP operations are actually executed in the Zend Engine and the performance impact each has. He covers:
- How your PHP script is run: compilation, opcodes, zend engine
- How objects and arrays are stored: hashtables, refcount
- include vs include_once vs require vs require_once
- References (and why you shouldn’t use them in PHP5)
- Garbage collection in PHP 5.3+
Optimizing a Kohana Based Website
A question about increasing the speed and scalability of a Kohana powered website was recently asked on Stackoverflow. User Pascal Martin replied with an incredibly…
Interview with Matthew Weier O’Phinney
Kevin Schroeder, tech evangelist at Zend, recently interviewed Zend Framework lead Matthew Weier O’Phinney. The two talk about Weier O’Phinney’s history with Zend and experiences with maintaining and developing the Zend Framework. They then go on to talk about Zend Framework 2 and cover the design decisions made in ZF2 and the things learned from ZF1 that will be altered. I found the sections on namespaces and autoloading in ZF2 particularly interesting.
JS Libs Deconstructed is a website which clearly sets out and explains and explains the differences between jQuery, Prototype and Mootools. The index page gives a summary of the advantages and disadvantages of each of the 3 frameworks. Clicking on the name of a framework sends you to a page where you can easily browser through the source code (organised by class and method) of the framework.
Why PHP Namespaces Matter
Zend Framework lead Matthew Weier O’Phinney has written an article discussing the use and implementation of namespaces in PHP. One of the key points that he emphasises is that namespaces are alot more readable than the old Zend_Style_Classes. An example of this would be the hypothetical…
January 12, 2011 Comments Off
CSS Overlay in Webkit
Deploying Django Applications with nginx and uwsgi
Martin Rusev has written a tutorial describing how to deploy a Django web application using nginx and uwsgi. It covers compiling nginx, setting up upstart, creating the wsgi.py file for Django, installing uwsgi and configuring nginx to use uwsgi with Django. This is definitely worth reading and bookmarking if your new to Django deployments.
The Cloud9 team have started the private beta for the hosted version of the Cloud9 IDE. If you want to participate in the beta, create an account, and wait until your account is activated (it could be days/weeks). You can still download and host your own version of the software, but the hosted version allows you to:
- Run and debug NodeJS applications on their cloud infrastructure
- One click forking of GitHub projects
- Push and pull from and to GitHub
- Access your code