Observations


22
Apr 11

Amazon EC2 Outage (2011/04/21)

A day to remember!

It was an interesting day, at around 8:40 (GMT) we started getting notifications from our monitoring instruments that our database cluster was failing over, one node at a time.

Now this alone normally wouldn’t be a problem because we host with Amazon EC2 so new nodes should automatically be firing up and joining the cluster, thus keeping the cluster alive.

But it was no “Normal” day, and new nodes didn’t fire up and the cluster did go down.

About Amazon EC2

Its safe to say that Amazon EC2 is an amazing implementation of Cloud Computing and the mechanisms they have in place to allows companies like ours to scale, and stay up are the best i have seen in the past 12 years of working in and running internet companies.

Amazon allow us to create “instances”, these are VM running our own software stack. They allow us to create an infinite number of them, and we can switch them on and off again at will.

Amazon also have a storage solution called EBS (Elastic Block Storage) which allows us to provision virtual disks that can be attached and detached to instances at will.

For the last four years this system has given us ~99.9% uptime and has allowed us to scale to meet our customer demands.

Continue reading →


6
Jul 10

Removing the Flash Charts from Code Spaces

Now that everyone is using there iPad to manage their Code Spaces account we are getting a lot of requests to remove the Flash content from the Dashboard and Planning tabs.

We have identified a good charting package that is all Javascript and renders perfectly on all major browsers, yep Internet Explorer too!

The package we are going to use, is HighCharts and from our initial testing and some internal applications I think you are all going to appreciate the upgrade, even if you aren’t using an iPad ;-)

The only other thing that remains is the Gantt chart which we might end up writing ourselves, unless any Javascript Gantt component vendors are out there…


30
Nov 09

SVN Status Codes

If like me you do a lot of your SVN work in the command line you will be familiar with the SVN status codes, you know when you do an svn status you see a list of files, some have been modified (M), some have been added (A), and other are well in a state of limbo (!).

This is a quick explanation of most of the codes and what it means to your the user if you see them

For those of you who use a nice GUI to manage your working copies, Look Away Now

>svn status
  ? file1.txt
  ! file2.txt
  A file3.txt
  M file4.txt
  A+ file5.txt
  G file6.txt
  C file7.txt
  D file8.txt
  U file9.txt
  ...

So the above console output isn’t quite what you would see every day but it illustrates most of the status codes you will run in to when working with your working copy from the command line.

? – This file is not under version control

As the sumary suggests the ? code is SVN’s way of telling your that a file exists in the working copy that isn’t under version control and as such will not be send to the server on the next commit.

If you want to add a file you will do use the svn add command

  svn add file1.txt

There are many cases when you don’t want a file to be under version control for instance if tis a config file that contains passwords, in this case you can tell svn to ignore the file using the svn:ignore property like so:

  svn propedit svn:ignore

A – This file will be added to version control, after the commit

you have done an svn:add already and this file is going to be part of the next commit

! – This file is under version control but is missing from the working copy

I see this all the time, and can happen in a number of scenarios but its basically svn’s way of telling you that a file that should be in the working copy isnt!

This usually happens when you (or your editor) removes a file but does not tell svn, to delete a file the correct way you must submit an svn delete command

  svn delete file1.txt

However this will only work if the file is still there, in the scenario where it has been removed and svn is showing a ! in the status, you can force delete it with :

  svn delete file1.txt --force

M – Working copy has been modified

This is the most common status code on an active project, its simply means that a file has been modified and the updated version will be committed next time you do a commit.

G – Changes on the repository were automatically merged into the working copy

You will see this when you do an update (svn up) rather that a status but its important all the same, svn is telling you that is automatically merged changes that somebody else has made into your working copy, In most cases this is a good queue to re-test your own changes (or run that test suite again).

C – Changes on the repository could not be merged in the working copy, manual intervention required

Like G this is svn’s way of telling you that changes exist on the server but unlike G the svn client was not able to automatically merge in the changes, its now up to you the developer with the assistance of the developer who made the change in the repository to collaborate and decide which lines of code stay and which ones go.

As of svn version 1.5 interactive conflict resolution was introduced which will allow you to resolve conflicts when you perform an SVN up, providing you have the SVN_EDITOR environment variable set you can open the effected file and see the conflict:


-Just buy a sandwich.
+<<<<<<< .mine
+Go pick up a cheesesteak.
+=======
+Bring me a taco!
+>>>>>>> .r32
blah blah blah
...

I will write a detailed article about conflict resolution in a later post as it is somewhat out of the scope of this brief guide but for now I would suggest you look at the SVN book for further details.

There are many more status codes, and I welcome your comments on them but for me these are the ones I come across most in my travels and from 2 years of manning the Code Spaces support desk these are the ones that catch out users who are new to Subversion.


30
Jun 09

Svn Backups

Further to Adrian’s recent announcement about v2.6 I would also like to add that the SVN Backups tab is now available via the Admin tab, which gives you direct access to your SVN backups.

Please let us know if you have any feedback for any of these enhancements?

Cheers,

Floyd Price
Code Spaces


5
Feb 08

Apple and Microsoft can work together!

(Click on the image to see)


21
Nov 07

Now this is how you treat your customers

I noticed this blog entry while browsing yesterday, and I have to say it is an amazing example of great customer service.

The reason there’s a ‘Cult of Mac’

Just read it and think of how you would feel if you were the customer, AMAZING.