Archives

Archives / 2008
  • My end of year tool honours list

    Well the holiday season is finally upon us, and I would like to take this opportunity to post a list of applications that I personally have found useful over the past 12 months. There are some classics in there, but a few surprises. Have a look, there may be something of interest to you. So, have yourself a ‘Merry Christmas and a Happy New Year’.

  • Looking at synchronization and one scary tool

    It is funny how things work out, a disaster can lead to opportunities. Last month my main pc at home somehow got a corrupt hard drive and at first I thought I had lost all my private data (family pictures, documents etc), the drive wasn’t backed up as it was a mirrored drive, which I had thought would be an alright disaster recovery mechanism. It happened while I was upgrading to Server 2008. I broke the mirror and disconnected them. So the drives themselves weren’t connected at the time of upgrade, it was when I reconnected them after the upgrade was successful, the OS just couldn’t see them, maybe a corrupt partition table. I even rolled back to Server 2003, but nothing. The most important thing was that I had to recover that data somehow. This lead me to a piece of software called Active File Recovery which is just so simple to use. To cut a long story short I managed to recover all my missing data. But one thing that really made me think was the fact that this software could see my data and all previous owners data (it was a 2nd hand drive bought from a computer fair).

  • How do you test private methods?

    This morning I read a post by Davy Brion who was explaining a technique to test private methods. Although the post was interesting, it was a comment by Rafferty Uy that got me thinking. He suggests that you make your method protected instead of private and have the testing class inherit from this class. There is much debate as to whether you should be testing private methods at all, and as I am fairly new to unit testing, I have only ever tested my public methods.

  • Being saved by...unit tests

    The time comes in every developers life when a higher up requests what they think is a minor change. You think about it and agree also thinking that it would not take too much time. It is only when you get back to your desk, check out the code and look to where the change is going to happen when you realise the worst. If you make a change here what repercussions will you introduce, is it possible you could introduce a defect in the code which could then go on to really crap up the application. This happened to me last week, luckily I already had some unit tests in place covering the code which was in need of changing. I knew what the method in question was going to return, and so did the unit tests. I made the necessary changes and re-run the tests. Fantastic they all pass. The code checked in, the tests passed again and the nightly build was successful. The moral to this little tale? Introduce unit tests as soon as you can to test your code. As Ian Cooper points out:-

  • Singleton in action

    I had one of those 'wow that's cool' moments last weekend. This sounds really sad and you may think that I need a life, but I was playing with the code for a basic singleton pattern found at:-

  • Protect your job...perhaps by learning new tech goodies

    It is in the news so much recently that there is no avoiding the fact we are either in or about to go in to a recession (here in the UK that is). There is already job losses in the tech industry, wether these losses were going to happen anyway, and now is a good time to blame the economic outlook is not a topic I am trying to cover; this has been covered here. What I am trying to address really is how do you protect your job? And if you do loose your job, how do you improve your chances of getting straight back in to employment?

  • Autumn of Agile

    Following on from the Summer of NHibernate, Stephen Bohlen is now treating us to an Autumn of Agile. The initial screen cast has been published, go check it out here :-

  • No pressure then...

    Now some of you out there know pressure when they experience it, but shed a thought for the NASA engineers fixing the Hubble Space Telescope. There has been a malfunction in the Science Data Formatter which is responsible for downloading data to Earth based stations, NASA want to switch over to the redundant unit which hasn't been used since pre-launch. Now if this doesn't go according to plan, then potentially the HST is useless. Add to that pressure because Atlantis is posed for launching to service the HST, albeit not this component therefore if it doesn't work that mission could be scrubbed. Then add to that more pressure as Atlantis is not able to get to the ISS in case of emergency, then Endeavour is also ready to launch as a rescue vehicle.

  • Retrofitting Unit Tests

    This is a post that I had written a while back and never committed to it, I think it's because the title has the potential to kick up a storm. Well I have been reading the new http://stackoverflow.com web site for the past couple of hours (I know I should be doing some real work, but I would put it down to research). What a brilliant site, well done guys. Anyway the census I have come to is that re unit tests:

  • Evernote - your notes in the cloud

    I love that phrase 'in the cloud' and am quite pleased that I have managed to get it into a post. If you are like me and use several different computers to go about your every day life you will know it is a pain making sure your notes and snippets of data are synchronised. Well go take a look at Evernote. It is both a standalone application and web site giving you the freedom to access your notes easily. It has built in functionality for Firefox and Outlook allowing you to either select text from a site and dump it in to a note, or copy the whole web page or e-mail. It is free for basic use, although you can pay for an upgrade in service (the basic package gives you 40meg of space per month cycle). So installing on all your machines will make sure your data is kept up to date and give you easy access.

  • Slowly going Agile (well more XP anyway)

    A few weeks back I undertook a performance review (no don't worry, its an annual thing). In this review I was asked for my aspirations for the future within the company. My response was to be more agile. My manager initially looked at me as if I meant that I could bend over backwards and touch my nose with my left big toe. As I explained more and more about agile practices (and I am no way an expert, I am still learning about it myself), he became more and more interested, especially as I explained it is a good methodology for environments where there is constant change, which is definitely the organisation I am working in. I gave him a quick run down and demo of the Subversion and CC environment I have set up and explained the ideas behind TDD.

  • Getting to grips with MVC

    A few posts back I listed goals I wished to achieve over the next six months. Currently I am looking in to the Microsoft MVC Framework. I have started by watching Scott Hanselmans' four screen casts over at www.asp.net, these give a pretty good introduction of the framework and what you get out of the box with Visual Studio 2008 with the MVC framework extensions installed. There is also a screen cast from MIX08 here which covers most of the same material, but works as a once over refresher. Jeff Palermo also has a good demonstration on dnrTV. I have found in the past that it is easier to learn about something if you have a set of questions to ask, the natural process of researching the answers leads to a better understanding of the subject matter. So here are a few simple questions I have asked myself.

  • Does anybody re-write old projects?

    We have finally finished our migration to SQL 2005 at the weekend. That is 2 migrations to Windows 2003 and 2 migrations to SQL 2005 as well as upgrading our main accounting package. We started on Friday evening, did the main work during Saturday and the testing Sunday, so everyone here is a bit tired now. We have not been able to undertake any development work for the past 2 months because of this upgrade, but now it is over I can get back to what I love; writing code. This lead me to wonder with all the new technology coming out of MS at the moment, what are other peoples stance with older but still useful projects. Do you re-write the old Intranet to encompass Linq etc...

  • Off on my way to CI

    I am sure there are a lot of developers out there who already use Continuous Integration (CI). personally I plan on moving over to a CI environment but I want to dip my toes in the water first to see how the various aspects of CI can work for me. Readers of my previous blog will know that I have already set up Subversion. More recently I have started to use NAnt and in this post I will quickly cover how I set it up to be run from VS 2005.

  • Zip up those bak files

    This is something I have come across during our SQL migration which I didn't even think about. You can zip up your bak files and save considerable hard drive space. We have a 14 gig database which happily compresses down to 2 gig. With hard drives coming down in price, you may think why bother. Well in our migration we have two separate domains for testing purposes which have to stay separate at all costs. Compressing our bak files we can burn it to DVD and move it to the test domain regularly for testing our in house applications.