Tuesday 22nd December 2009 | Posted in Web Dev | No Comments »

I’ve recently had a chance to look at a high availability system designed and built by Forward colleagues Andy Kent and Paul Ingles. It is a critical web service with a very high impact of failure. Essentially, it must stay up at all times.
The service is hosted on Amazon EC2. It makes use of EC2’s geographically distributed regions and different availability zones within each region, fronted by AWS Elastic Load Balancing...
Read More »
Tuesday 10th November 2009 | Posted in Web Dev | No Comments »

Part of my work these days has to do with building and deploying numerous experimental applications with varying life cycles. Many of these applications get built and put on a server in less than a day only to be shut down and never looked at again a couple of days later, others get turned off and revisited after some time, while others graduate to larger, wider scope systems.
This means that I get to deploy applications for the first time more frequently than usual. Also, because we deploy to virtualised infrastructures (including an internal cloud, Slicehost and Amazon EC2), slice instances...
Read More »
Wednesday 23rd September 2009 | Posted in Software & Applications, Windows 7 | No Comments »
Which one is right for you? | All the Flavors of Windows 7 Explained | Which version of Windows 7 should I purchase? | Major features of each Windows 7 version (SKU) revealed! | Windows 7 versions
Windows 7 Editions (SKU)
Windows 7 Starter (targeted at NetBooks)
Windows 7 Home Basic (targeted at NetBooks - China only)
Windows 7 Home Premium
Windows 7 Professional
Windows 7 Enterprise
Windows 7 Ultimate
Features and common editions
Due to licensing and features most end-users will be selecting Windows 7 Home Premium, Professional or Ultimate.
A useful guide of the features for each edition of Windows 7 can be found at these two...
Read More »
Saturday 29th August 2009 | Posted in Web Dev | No Comments »

I’ve often heard people I know and respect say that git is leaps and bounds better than Subversion. I’ve been a relatively early adopter of git, it’s been my VCS of choice for almost two years now. Even though I find it superior to most of the competition I struggle to justify the “leaps and bounds” claim and would rather more modestly call it “a step forward”.
This is probably due to the practices we find benefit our development process. Git puts great emphasis on branching, something we generally tend to avoid...
Read More »
Saturday 15th August 2009 | Posted in Web Dev | No Comments »

Several times over the past few months I made short lived attempts of delving into the mechanics of nginx modules. Although an invaluable resource to anyone seriously interested in the subject, Emiller’s Guide To Nginx Module Development doesn’t at the time of this writing include a quick-start example I could hack together and see in action. Getting something to run as quickly as possible is my preferred way of starting the study of new things and every time I caught myself searching the web for a “Hello world nginx module”.
I will...
Read More »
Thursday 6th August 2009 | Posted in Web Dev | No Comments »

Applying a clear distinction between stateless and stateful content when designing a web application is tricky but worth tackling early so that content not specific to user sessions can benefit from web caching. The technique we are trying out for scramble.com reminds me of what I described in State separation and was introduced to me by Mike Jones who was inspired by the Dynamically Update Cached Pages chapter in Advanced Rails Recipes.
Read More »
Saturday 11th July 2009 | Posted in Apple | 1 Comment »
This post descibes how you can reset the DNS cache on your Apple Mac OS X workstation. The commands have been changed in Leopard, see below for both versions:
Apple Mac OS X 10.4 (Tiger)
You need to run the command as root so either login as root or enter the command:
sudo lookupd -flushcache
Apple Mac OS X 10.5 (Leopard)
You need to run the command as root so either login as root or enter the command:
sudo dscacheutil...
Read More »
Friday 19th June 2009 | Posted in Safari 4, Web | No Comments »
Method 1 - Glims Plugin
What is Glims? - "Glims adds a cocktail of features to Safari (Tabs, Thumbnails, Full Screen, Search Engines, Search Suggestions, Forms autocomplete on, Dated download folders, Type Ahead ...)"
Download and Install the Glims plugin from http://www.machangout.com
After you have installed Glims, open the Safari 4 Preferences and find the Glims tab
Click on "Search Engines"
Click the "Add" button to add a new search engine
Fill the following settings in the popup box:
Name: Bing
Type: Search Engine
URL: http://www.bing.com/search?q=#query#
Click "Set", close all preference windows
Select "Bing" in the dropdown menu in the main Safari Window Browser Search box (top right) in...
Read More »
Monday 8th June 2009 | Posted in Web Dev | No Comments »

A few months ago I wrote about a possible method for centrally configuring HTTP cache headers in Rack based web applications which I called Rack::CacheHeaders. This is useful if your application’s architecture involves tools like Squid or Varnish, or if you are generally interested in harvesting the numerous advantages of HTTP caching for your web application.
The code has evolved a bit since and proven useful in a number of production systems. I...
Read More »
Monday 8th June 2009 | Posted in Web Dev | No Comments »

A few months ago I wrote one of the axioms for a community effort called 97 Things Every Software Architect Should Know which was driven and edited by Richard Monson-Haefel. This collection of principles, as contributed by an impressive range of software architects around the world, was recently released as a book by O’Reilly Media and is well worth a look if you’re interested...
Read More »