Monday, 18 October 2010

The advantage of not being connected

There are normally a few articles published each week on version control, an odd "How-To" guide, a tale of how a version control system saved someone numerous hours worth of work or the odd rant.  Over the last few weeks however there seems to be a little more background noise when it comes to version control, more grumblings on the internet and a lot more where I work.

With my current employer we have numerous projects being worked on by teams internationally, but we don't seem to have any real consensus on which tool set to use.  This is fine for some of the work as we have client apps and web apps written in Java/.Net/C++, but a common version control system would be nice.  I've so far worked on applications where the code has been commited to CVS, SourceSafe and Subversion repositories, we also have Team Foundation Server (TFS) and a couple of others which I rarely remember around somewhere as well.  I know the people working on CVS complain that it's slow, SourceSafe users complain that it's ancient and unfit for purpose, the TFS guys complain that the system is unusable and the Subversion people actually tend to be quite happy.

There was one occasion however where non of them were happy and that was the day a virus hit the servers.  The infection itself wasn't that serious but the downtime was crippling while the network monkeys checked the servers and slowly bought them all back online.  Most people were able to continue working for a short while until they needed to check bits out or check them back in.  So I got a few odd looks when I was sat at my desk working away on some code, performing regular commits and relatively oblivious to the world around me.

As it happened I was in a lucky situation, first of all I was working on a new piece of code so had little reliance on others and secondly a few weeks earlier I had added another version control system into my tool set.  I had installed Bazaar and had worked it into my processes so that when I started a new piece of work I would use a local Bazaar repository, I would push this up onto a remote location every few commits and then when I was ready for everyone else to get their hands on it I would export it to a new location and commit it to the standard (which ever one it was that day) version control repository.

A number of times since it has proven invaluable to have a local repository, for instance I have a folder where I keep all my snippets and tests, these are all version controlled using Bazaar and again I push them to a remote location every once in a while.  Sometimes I will remove folders and files just to keep it tidy and relevant but on the odd occasion I will need to go back in time to some folder where I had worked on something which I would be in need of again.  If I've deleted it then I can restore it, get the information I need and if I feel the need delete it again.

Not having to rely on a central repository has been a life-saver on numerous occasions, a few people have also gotten wind of what I'm doing and are investigating switching newer projects over to a distributed version control system to avoid the kind of downtime I mentioned earlier.  Naturally there are a few doubters, some of whom still aren't convinced by version control itself, but they're the ones who'll be losing their hear quicker when it all goes wrong.

Saturday, 16 October 2010

Belated Birthday Wishes C++

So 25 years ago, on October 14th 1985, a little known programming language called C++ was released to the world.  Since then it has been the cause of many arguments, mostly around complexity, efficiency and the differences between procedural and object-orientated languages.  Say what you will but for a language to still be in as much use as it is now (and currently at number 3 in the tiobe index) is for me at least incredible.  Admittedly the fact that 'C' is still in wide spread use since it's first appearance back in 1972 is simply astounding but I don't think that should detract from the C++ success.

So when C++ was released commercially I was 5 years old, playing with friends with much fewer cares in the world.  I might have been aware of computers but possibly didn't care as much, I do remember that doors opening by themselves was kind of amazing still!  And here 25 years later I'm using a programming language which is almost as old as I am day in and day out to earn my living.  Sure it may not be as pretty as some languages, or as expressive, you have to consider memory and resources and doing some basic stuff like sending data over the internet is a lot harder work, but I quite like it.  It's a challenge and in these days of automatic garbage collection considering memory and resources is quite refreshing and it makes you consider how wasteful some modern languages and frameworks are.

So happy 25th birthday C++, here's looking forward to the next 25.

Wednesday, 8 September 2010

Living online

I have a blog, that at least is self evident.  I'm on twitter (rarely), I have an account on (used most of the time), I spend time on Facebook, I have Google Reader account pulling in about 40 news feeds.  My phone is hooked up to most of these accounts so I can access information on the go (it even pulls up the weather and some stock prices when my alarm goes off so I can see what the day holds).  I write documents online using Google Docs, my email is provided by Google as is my calendar.  I have a paid for Ubuntu One account where most of my photos and all of my important documents are stored, and I'm thinking of paying for more space with Picasa so I can put more photos up there as well.  Oh, and my bookmarks are automatically synced between all my devices via my browser.

Writing it all out like that it suddenly becomes very clear how much I rely on the internet and good internet access.  I could have a cheaper home ADSL account but I pay a little more for cable so I can get the speed; but that's important to me as having "up to" 4Mb is useless, I don't want to leave my laptop on all weekend so I can upload the photos that I've taken during the week to my on-line storage account.  Likewise I want the download speed so that my other devices can pull down new files quicker.

Put simply, my entire life is in the hands of corporations with my data stored on their anonymous servers distributed across the world.  I'm not really going anywhere with this train of thought, I'm not one who thinks that all these services should be open - realistically no individual is going to have the resources to match something like Amazons Cloud Services - and I'm not scaremongering you into thinking that these faceless corporations are out to own us all, all though I'm sure one-or-two of them are.  Rather I'm looking at this situation in astonishment.

When I first got on-line the biggest problem I had was how to carry around 20 floppy discs safely in my bag without bending or breaking them.  The future then was how we would have devices so we could carry our digital lives around in our pockets.  Back when I was 16 if you had told me that instead of having storage in my pocket I would have a device to access my on-line virtual storage I probably would have given you a sympathetic look and asked if you wanted to sit down for a while.

My 6-month old son is now living in a world where he's had an on-line presence since he was 40 minutes old, since he was born mobile devices have gotten faster, new video codecs have arrived looking to replace flash movies and self-healing solar cells have been demonstrated.  It makes me wonder if, when he's old enough to start using a computer, telling him about storing data on your computer (or indeed 20 floppy discs in your school bag) might illicit the same response I would have given when I was 16 and on-line storage meant having your own website.

Friday, 3 September 2010

New Phone

After spending a year with my HTC Magic I finally decided it was time for an upgrade (or rather that I was finally able to), so I upgraded to the Samsung Galaxy S.  Initially I was hoping to go for the Google Nexus One but contract prices weren't quite in the right ball-park for me, but after seeing the Samsung in use with someone who I work with I figured I'd take a shot.

Initially I was concerned that I would find the phone to big for practical use but in reality it's a good size and feels nice to hold.  I've been using my phone as a e-book reader since I first got my HTC Magic and the larger screen on the Samsung makes reading them much easier.

One thing I was eager to try was the camera.  I've always been disappointed by camera phones, although the quality of the images are sometime fairly good the shutter response speed has always been a huge disappointment.  So I headed off to Markeaton park with the family and with a little trepidation fired up the camera app and started snapping.  The camera app doesn't review the pictures after each shot so I took a few before checking and I was pleasantly surprised.

The quality of the photos on the Super AMOLED screen were more than impressive and then shutter response was really quick, still not quite as good as a real camera but close enough that I wouldn't be worried about using my phone as a camera when I'm out and about.  One very small gripe here though is that even though the phone supports multi-touch the camera app uses the phones volume buttons to manage the zoom functionality.  Where the camera does redeem itself though is the touch-focus function, so after framing the shot you can just tap the part of the scene you want to focus on and the phone does the rest.

So next I moved on to the video, this was also very impressive for a phone and the quality during recording and playback was as good as the photo's I think.

In terms of general use I'm very impressed with the phone, the battery may not lost to long but I've come to expect that from modern smart-phones and I've gotten into the habit of charging while I'm at work.  One trick I did find was that turning of automatic syncing overnight means that the battery is barely touched overnight so I don't have to worry about the alarm not going off (besides I have my 6 month old alarm to wake me up anyway).  It would be nice to be able to remove some of the pre-installed apps but with 2Gb of internal storage I'm not to concerned.

So this far and so good, I'm impressed with the phone and as always I'm more than impressed with the Android operating system, I'm not sure when Froyo is coming to the device but I'm looking forward to seeing what it brings.

Tuesday, 24 August 2010

Getting going

So this is the first post to my new blog.  I figured that as I generally have less time to code in my spare time these days that I'd move my blog to one which is a little less focused on coding and is more just about me and what I'm up to.  I'll still post code bits from time to time but they will be mixed in with posts about life, family and anything else I find amusing, entertaining or just plain weird!

Anyway, I was looking out of my bedroom window last night and the sky looked amazing so I took the opportunity to take a couple of photos and play around with shutter speeds and exposure settings.  I quite like how it turned out, although I'm sure in a years time I'll be thinking I should have changed something else or shot in RAW format!  But for now he's a sample of my efforts, enjoy.

From Random