Tuesday, October 18, 2011

Migrating a Subversion Project to Git on BitBucket

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.

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 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?

Saturday, February 12, 2011

Cascade Saddle 2010

Click map to go to photo gallery
The Cascade Saddle track has a reputation of being one of New Zealand's harder walks, compensated with awe-inspiring views over the Matukituki valley, Mount Aspiring and the Dart Glacier. Who could resist?

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.

Monday, January 10, 2011

Start Here

Crowded though the blogosphere is, I occasionally feel the need to make odd thoughts more public. By using a blog, I'm hoping you will add your own insights to what I hope will become a series of virtual discussions, rather than a list of my rants.