Subversion is still the gold standard for version control (a.k.a. source control) systems, but the new kid on the block - Git - has undeniable advantages for many development models. Even for solo or centralised hierarchical development organisations, Git's agile branching and merging make it a joy to use.
But if you're going to go to the effort of switching version control systems, you probably also want to consider moving your repository to the cloud. This increases your options for off-site developers, and reduces the risks and maintenance costs of internally managed version control servers.
This article describes how to migrate a Subversion repository to Bitbucket, one of several online repositories.
Tuesday, October 18, 2011
Wednesday, June 22, 2011
High-Replication Migration Lessons
It's about a month since the migration, so how's it gone, what did we learn? What's it done to latency, error rates and CPU consumption? Most of all, was it worth the pain?
Tuesday, April 26, 2011
Migrating an App to High-Replication Datastore on Appengine
Google's Appengine now gives you the choice between the original master-slave datastore, and the new high-replication datastore. In a nutshell, high-replication provides more reliable storage (in terms of data security and latency) but has slower write times and costs considerably more.
The owners of almost all serious applications will choose the high-replication datastore. The extra cost is a small price to pay (literally) to escape the maintenance outages, datastore timeouts and high-latency requests that plague the master-slave datastore.
The owners of almost all serious applications will choose the high-replication datastore. The extra cost is a small price to pay (literally) to escape the maintenance outages, datastore timeouts and high-latency requests that plague the master-slave datastore.
The following article explains how to switch a production application from master-slave to high-replication with the minimum impact on your users.
Saturday, April 2, 2011
Installing Multiple Versions of Python on Linux
The Google Appengine SDK requires at least version 2.5 of python, or else it spits the dummy. To compound matters, Google has announced that version 1.4.3 of the SDK is the last to support python 2.5, and all newer versions will require python 2.6. [Update: and now you need python 2.7 for multi-threaded apps.]
So how do you install later versions of python without impacting the system default version - which is required for all sorts of vital system services?
So how do you install later versions of python without impacting the system default version - which is required for all sorts of vital system services?
Saturday, February 12, 2011
Cascade Saddle 2010
Saturday, January 15, 2011
DKIM for Google Apps (but not Appengine)
In the ongoing war against spam, DKIM (Domain Key Identified Mail) seems to be the best candidate so far - if all legitimate email users started it, it would be the end of anonymous spam. This article explains DKIM, why you should implement it now, and how to do this with Google Apps.