Archives
-
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’.
-
Integrate NCover with CC.Net
In previous posts I have covered getting cc.net up and running, combining NUnit reports with cc.net and generating documentation automatically as part of the build process. In this post I want to briefly describe how to get your unit test code coverage integrated with cc.net.
-
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.
-
Starting with the Synchronization Framework
If you don't already know, the Synchronization Framework team has just released the CTP for v2.0
-
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?
-
Configure SubSonic for a Windows application and sort out the table names
Web or Windows applications?
-
A quick getting started guide to SubSonic
This is a post originally published on my previous blog over on Blogger. I have copied it here as I very rarely go to my old blog anymore and this info may be of some use to someone out there.
-
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.
-
Auto-generating help with NAnt and CC.net
We are about to be audited here where I work. That is the IT department, not the company as a whole. As part of this we have to get all our IT documentation up to scratch. One problem being we don't know when they are coming and what exactly they are wanting to look at. So as far as we can see we have three areas of documentation:-
-
My notes on becoming a better developer
Following on from Justin Etheredge post about becoming a better developer, I would just like to add my nuggets of info.
-
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:
-
CC.Net and NUnit play nice together
This is a very quick post outlining what you need to do to get NUnit results displayed in your CC.Net results window. There are two steps for this, step one; configure your NAnt build script to call NUnit and step two; get the results merged in CC.Net.
-
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...
-
CCNet up and running
It has been a few weeks since my last post, so apologies for that. I have finally passed MS exams 70-292 and 70-296 so I am now an MCSE on Windows Server 2003 at last; hence the disappearing act.
-
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.
-
Objectives for the next six months
Well everyone is doing it, so I think I will also. I am going to quickly list my goals I wish to reach for the next six months. I think having goals that are achievable is a good thing, when you have reached that goal you can look back and feel good because you have just improved yourself.
-
Hello out there
Hello everyone in asp.net weblog land.