Advertisement

Tips & Tricks

Incremental deployment

high-availability-archI’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 »

Deployment setup automation

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 »

Windows 7 versions, information and tips for Home and IT Professionals

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 »

VCS practices over features

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 »

Hello world nginx module

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 »

Asynchronous session content injection

asynchronous-session-content-injectionApplying 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 »

Reset DNS cache – Apple Mac OS X

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 »

Set the default Search Engine in Safari 4

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 »

Rack::CacheHeaders code

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 »

97 Things Every Software Architect Should Know

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 »

Bad Behavior has blocked 2684 access attempts in the last 7 days.