David Grey's Blog

Friends of Redgate logo
I'm Still Here!

Hello blog, it's been a while! You've probably been wondering where I've been. Well I'm still here, I haven't gone anywhere, I've just been fat too busy doing other things. I've spent most of the last 6 months working on renovating my house and garden. I've still got lots to do to it, but I've achieved quite a lot so far. I've just uploaded some photos of the work so far to my Facebook page - if you know me personally you should be able to see them if you fancy seeing what I've been up to.

 As well as the house I've also been kept busy with my allotment. That's finally starting to look good too. I'm hoping to upload some allotment photos to Facebook soon too. Watch this space. 

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

Posted: May 23 2011, 12:45 PM by David
Filed under: , ,
Finding My Way

I’ve always liked the song Finding My Way from Rush’s first album. It may not have won much critical acclaim but I like the song and the title seems to fit my life quite well at the moment.

You may recall from a previous post that my wife has filed for divorce. The decree nisi was issued some months ago and as of 3 weeks ago, my wife can apply to have that enacted and the decree absolute issued. She may have already done so, I don’t know. All I know is that I will come home from work one day to find a letter telling me that I am no longer legally married and that will be a very sad day. I never wanted to be divorced, that was never in my life plan, and I certainly never wanted to be separated from my son. I miss my family and there is not a day that goes by when I don’t think about my wife and son. They occupy a significant portion of my thoughts.

So why the divorce? Couldn’t it all have been resolved? Perhaps, but our problem is an almost total breakdown of communication which has come about through the best (but misguided) intentions of our families and the wishes of my wife. Had communication been preserved then with goodwill on both sides,  a lot of talking and the help and support of families, friends and professionals it could perhaps have all been sorted out. You also both need to be prepared to admit some responsibility for the situation you are in, it is never entirely one person’s fault. A wise counsellor who has been offering me professional counselling noted that in any conflict situation between two people, each of you is only responsible for about 30% of the ‘blame’; the remaining 40% of the issue is caused by circumstances (life happens!) and that is certainly the case here. Things have happened, assumptions been made and misconstrued on both sides and this has all affected the way we have both reacted and contributed to that 40%. I guess I’m just reiterating the point from my previous post – you need to keep talking to one another; rational adults behaving reasonably can sort most things out through talking and negotiation.

In the last year I discovered and read a very good book on marital reconciliation called Hope For The Separated. It is an excellent book and I would heartily recommend it to any couple with a troubled relationship. Although written by a Christian marriage guidance counsellor, it is just packed full of common sense which is relevant to anyone, whatever their religious beliefs. One piece of advice it offered that really struck a chord with me is that you should view separation not as a disaster but as a fantastic opportunity for personal reflection and growth. That is something I have done a lot of in the last 18 months. I think a lot of our problems were caused by my (mis)understanding of myself, those around me, particularly my wife, and my place in the world. I have learnt so much about myself and other people since I have been separated and I perceive life and people differently than I did before, in a much more positive way. I understand myself much better, understand my relationships with my family better and, in some ways I understand my wife more and have a clearer idea what the driving forces in her life are. I have improved my relationships with my parents, my sister and with my son, and all these relationships are better than they have ever been. I have renewed old friendships and made some fantastic new ones. Separation has given me a wonderful opportunity. I have learnt so much about life, experienced so much good in the world and I am a much, much better person for it. It is just a terrible shame that I will never get to share all that with my wife, that she won’t get to experience the changes it has brought in me and that fills me with a very great sadness, a sadness of opportunities lost and potentials unfulfilled. The ending of our marriage leaves a huge hurt inside me and I’m sure it will remain there for the rest of my days.

In the final analysis I guess life give each of us a (different) set of circumstances to deal. We all have our problems to face. All you can do is to make the best out of what life throws at you and try to find the positives in every situation. And I guess that’s where I am now – Finding My Way. The last stanza of Coleridge’s The Rime of the Ancient Mariner describes the wedding guest as  ‘A sadder and a wiser man’. That is me too; definitely sadder, definitely wiser. It is just a terrible shame that it has cost so much to acquire that wisdom.

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

Windows 7 ate my screen (or how I thought the upgrade had failed)

I like Windows 7, it’s a massive improvement over Vista and my PC’s now work more responsively than a geriatric tortoise. I’ve installed Windows 7 on about 15 different machines now and my installation and upgrade experience has been painless. Until the other day that is…

A friend of mine who runs his entire business (and thus supports his family) from a single PC asked me to upgrade his PC from Vista Home Premium to Windows 7 Ultimate. So we set the upgrade going around 10pm one evening.All appeared to be progressing smoothly so I went home and we left it going over night. My friend called in the middle of the next morning to say that something was wrong and that his screen was blank. I know the upgrade can be slow but it should have finished long before then so I advised my friend to power cycle and reboot his PC. The Windows 7 startup screen appeared, then the display went blank and remained like that for several more hours. At this point I started to panic and feel guilty that I’d scuppered my friends PC and ruined his livelihood, at least for a few days if not more permanently.

I went round to look at the offending machine that evening. Sure enough, every time it was rebooted the Windows 7 splash screen would appear then the display would go blank. I tried booting into safe mode only to be greeted by the message that the computer needed to be restarted to complete setup; this rebooted the machine normally but then the blank screen returned. I managed to use the Recovery Console from the installation media to get up a command prompt and examine the log files. I was extremely reticent to attempt any corrective action given how important this PC is to my friends business so I spent 4 hours poring over the installation logs and searching Google. I looked to see if there was a way to roll back the installation and return Vista to the machine (I know Windows 7 does this automatically if the upgrade fails) but I could not find a way to manually trigger this and to all intents and purposes Windows seemed to think that the upgrade had completed. However errors were appearing in the log files indicating some sort of unexpected error (0x8007000A – Bad Environment) every time the machine rebooted.

I concluded that Windows thought the upgrade had been successful but was unable to complete the last bit of configuration that occurs the first time the machine boots properly after the upgrade. After many hours looking at Google I stumbled across a two-line post on someone’s blog which suggest that if the PC had an nVidia 82xx series graphics card and there is a monitor connected to the DVI output you will experience this blank screen behaviour and setup fails to complete. It advised plugging the monitor into the analog output on the graphics card and rebooting at which point the setup would proceed. My friend’s machine had such a graphics card and he has dual monitors, one in each output but the one connected to the DVI was not even detecting a signal and powering up.

So I unplugged the (working) monitor from the analog output, left the other connected to the DVI output and rebooted and that solved the problem! Windows rebooted, setup completed, everything was fine. I suspect the issue was with the analog output in this case as my friend had swapped over the desktop so that the primary output was to the DVI. I could not believe that something as simple as unplugging a monitor fixed what I thought was a pretty serious failure. Several other people I have spoken to have reported similar problems when installing Windows 7 on dual-screen systems.

I thought that was the end of it once we got the system up and running but it seems not. The graphics card will no longer display an output on both outputs/monitors, only the analog output seems to work now. I’ve upgraded the drivers from both Windows Update and the nVidia site to the latest Windows 7 driver I can find but to no avail. The system thinks that there are two monitors connected (which there are) but fails to send a signal out to the DVI output, causing that monitor to sit there blankly. My friend had decided on a pragmatic solution to this – he’s going to buy a big widescreen display and go back to using a single monitor. That’s my kind of solution

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

Arnie was right – I’ll Be Back!!

arnieAnd I am. Back that is. It’s been well over a year since I last posted a blog entry.

So why the long absence? The short answer is because my life turned upside down 12 months ago and I found myself separated from my wife, and now I’m in the midst of an acrimonious divorce. It is a horrible place to be and I wouldn’t wish it on my own worst enemy. It has had a massive impact on my life and caused me to lose interest in all the  things that used to interest and occupy me. For instance, and this is only one example, I used to write code every day although I’m not a full-time software developer; following the separation I went for 6 months without writing a single line of code and technology and everything else associated with it lost all appeal for me.

Some people wonder why bloggers post all kinds of personal stuff out on the web for anyone to read, and that thought may occur to you as you read this. I have one simple reason for mentioning it; to offer some simple advice and hopefully prevent you being where I am now. If your relationship is faltering recognise that most problems can be sorted out by rational adults talking, and listening, to each other’s issues, needs and desires and that in almost every case there are issues on both sides that need addressed. Don’t underestimate the emotional effect that separation and divorce have on you, your spouse and your children. The hurt and turmoil goes way beyond all the things you might initially think of and is best avoided if at all possible. So if you do find yourself in this position – please, just keep talking to each other, go seek the help and advice of relationship guidance counsellors who can help you understand each other better and, for the sake of both of you and your children, do everything you can to avoid a divorce.

So why have I returned to blogging now? Partly because life is starting to settle down a little and assume a new sort of pattern, with the things that used to interest me starting to interest me once more. I started coding again and have thrown myself headlong into Sharepoint and Graffiti development and have experienced new things that are worth blogging about.

But mainly I’ve started blogging again out of guilt! I was enthusing about viral marketing to some of my colleagues the other day, particularly about the impact that blogging can have, and encouraging them to blog. One of my colleagues thought that suggestion a little rich given that I haven’t posted anything to my blog for over a year [shameful blushing]. So I decided it was time to get the blog going again and here we are. Watch this space!

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

Laying on the Style!

The .NET development landscape is awash with some fantastic tools. Visual Studio itself includes a wide range of powerful tools but there are some great free and commercial third-party tools available, including some from Microsoft themselves. One I added to my toolchain some time ago is Microsoft's StyleCop, a source code analysis tool which helps enforce coding conventions. I have it enabled by default on every project I work on and I have found it very valuable in improving my own coding consistency. Like many of these tools it takes a bit of getting used to and gives you all sorts of grief when you first enable it, but once you get used to it and configure it to your way of working it just another unobtrusive, but powerful, part of the build process.

The only criticism I have of StyleCop is that it is very much a passive tool and doesn't give you any feedback until you force it to run. I have it enabled as part of the build process so it gives me feedback every time I compile. For years I have been a user and great fan of ReSharper and I love the dynamic assistance that gives me whilst I'm entering code. ReSharper supports third-party plugins but there has never really been a wealth of plugins for it.

Yesterday I was delighted to discover that Conchango have produced a StyleCop ReSharper plugin which causes ReSharper to dynamically apply StyleCop rules to your code as you type. As soon as you enable it you get little red wigglies (like the Word spellchecker) appearing under your code to warn you of StyleCop rule violations and because it is dynamic you can see and fix these before you even get as far as compiling the code. It's brilliant, I love it!!! In fact I would happily pay the licence fee for ReSharper just to be able to use this feature.

AgentJohnson is another neat little ReSharper plugin. I have to admit that I don't use many of it's feature but the context action which automatically adds explicit exception handlers for each exception that a method can throw is neat and definitely a time-saver.

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

Give voice to your suggestions and tell us what you think

When I get the chance I listen to a broad range of IT-related podcasts. Just recently I've been catching up on some of Scott Hanselman's Hanselminutes podcasts. In one of the recent episodes I was intrigued to hear about User Voice, an online service which allows website owners to quickly and easily gather feedback and comments from users via a cool little widget that you deploy on your site (see image below). Users can post new suggestions and comments or rate existing comments posted by other users, allowing you to quickly gain a feel for the issues that are important to your users. Scott is using User Voice on his BabySmash site to get feedback on the software from users, but you could user User Voice to gather feedback about anything.

Screen capture showing Feedback tab in action on a website

I was so impressed with User Voice that I went right ahead and set up an account for Codefounders. You'll now find the green feedback tab on the righthand side of the Codefounders website. My intention is for users to be able to leave feature suggestions and comments about Powerdown, but you can also use it to leave us general comments about our website, or any other aspect of Codefounders you feel moved to comment on. You can also view and post feedback via the Codefounders User Voice site.

I'm currently working on a website redesign project for one of our clients and they want to gather some feedback from their users regarding what they want from the new site. I've persuaded our client to put a User Voice feedback widget on their site so they can get ideas directly form users whilst they are right there visiting their site and they are fresh in their minds. I'm not sure how successful it will prove to be in getting the right sort of input from users but there's no doubting that User Voice is a fantastic idea!

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

The future is Red...

I learnt yesterday that Lutz Roeder, who produces the Reflector tool for .NET, has decided that it is time to move on to other things and is ceasing further development on Reflector. If you're a serious .NET developer then you'll already know about Reflector; it is one of those must-have tools for .NET development and one that I use on an almost daily basis. Lutz has done an amazing job in producing and supporting this tool and making it freely available to the developer community for the last eight years or so and I'm sure many other .NET developers would join me in thanking him for his efforts.

However its not all bad news and this is not the end of the line for Reflector. Quite the opposite in fact. Lutz has reached an agreement with Redgate and they are going to support and develop Reflector from this point forward. This is fantastic news! I have mentioned Redgate several times on this blog before because they produce some really fantastic tools for .NET and SQL development and support the invaluable PInvoke wiki and PInvoke add-in for Visual Studio. I have every confidence that they will take Reflector forward to make it an even better and more useful tool and they have promised to continue making a free version available to developers, which is wonderful news.

In case you haven't used Reflector before, you can download it from the Redgate Reflector site. Reflector supports a plug-in architecture and there are a whole host of weird, wacky and downright useful plugins that you can also download for free.

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

Take care of yourself, take care of the environment

I came across an interesting post on Green Blog yesterday which postulated that the reason why most people don't care about the environment is because they don't care about themselves. It went on to suggest that they also don't take responsibility for making themselves happy, continuing in dead-end jobs and not pursuing their dreams, and that how they treat the planet is a mirror for how they treat themselves.

This post really resonated with me, particularly as I'd just finished reading an article in the current issue of Permaculture magazine which advanced similar sentiments, arguing that most people stick with jobs that don't suit them whilst their real passions have become hobbies that they do in their spare time. The article went on to suggest that if more people gave up the dead end jobs and concentrated on pursuing their passions this would drastically increase their 'contribution footprint', benefiting society and helping it address some of the current challenges, including the environmental ones. It doesn't matter what their passion and contribution is, the fact that they are passionate about it and motivated to pursue it can only help to move society forward.

Now this might all sound like new-age clap-trap but it does resonate with a number of the issues I've been pondering over the last few years. The reason I started Codefounders was precisely to enable my to follow my passion - I love writing software - to help escape a job that was no longer fulfilling me and, to a large extent, sapping my will to experience life to the full. I'm still not quite there yet and modesty prevents me claiming that my efforts have made society one iota better, but for some reason I find these two articles really appealing. I'm heading off on vacation soon so maybe a couple of weeks of relaxation will help me sort out some of my future plans and help me plot a more fulfilling future that enables me to follow my passions more. 

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

Posted: Jul 24 2008, 11:04 PM by David
Filed under:
Towards Carbon Neutral Computing

For many years now software companies have been engaged in the practice of dogfooding, actively using their own products to convey their confidence in them. I was interested to read yesterday that the UK Government is dogfooding its own IT carbon reduction strategies and aiming to become the first government in the world to make its computer systems carbon neutral (Whitehall bid to cut IT emissions). This is indeed a laudable aim, though at this point in time it applies only to the Department for the Environment, Food and Rural Affairs (DEFRA) and not the whole of the government but it is an excellent move in the right direction.

Apparently the move to a carbon neutral computing resource is to be achieved through a combination of offsetting, switching off unused computers and ensuring that servers don't remain idle overnight. According to the sources, UK government computer systems account for a whopping 20% of the total government carbon emissions which is probably a far greater proportion than for most other computing users. Turning off idle computers has a significant role to play in this strategy and it is reckoned that this will save 117,500 tonnes of CO2 each year, equivalent to removing 40,000 cars from the road. Not only is this good for the environment it should also be good for the taxpayer as there will be a similar significant reduction in the government's energy bill.

DEFRA haven't approached us with regard to using our Powerdown energy saving software as part of this strategy. My understanding is that they have invested heavily in new networking hardware to allow them to run a Wake-On-LAN based solution offered by one of our competitors. We think that Powerdown is a much more reliable and cost effective solution as it does not rely on Wake-On-LAN, which can be notoriously flaky, and will even work when computers are disconnected from the network. If the government are interested in using Powerdown we would be more than happy to talk to them.

And yes, Codefounders does eat its own dogfood too. We run the latest production and development builds of Powerdown on all of our client computers, both at home and in the office. We also recently published an article describing some measurements that were taken in the field on a customer's system to show how effective Powerdown can be in saving energy and reducing carbon emissions. Check out the article on our site for the full results and details of how we conducted the measurements.

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

Where did my day go? Oh, wait... I've been trying to copy files with MSBuild

I've spent most of my day today trying to copy some files from one location to another using MSBuild. This is something I've done plenty of times before, but in this case I was trying to do something other than just copy an entire directory of files. I'll be the first to admit to being a bit thick sometimes, but MSBuild really does confuse me sometimes and I guess today was one of those times. MSBuild is certainly powerful but I find some of the operations a little counter-intuitive; I think it has something to do with my (mis)understanding of when/how some of the expression in the build file get evaluated.

The problem I was trying to address in this case was to delete all the files and subdirectories from the destination directory except for a specific subset of files/directories, and then copy a subset of files from the source directory to the destination directory. The image below, which shows the directory hierarchy in the destination directory, illustrates the scenario better

files

I needed to delete all the files in all the directories and subdirectories of the destination except for the files in the B2 directory. I then needed to delete all the subdirectories of the destination except for B and B2.

Whilst this is easy to accomplish with a few lines of C#, it is substantially more tricky with MSBuild and I couldn't make it work with a single list of files. One of the quirks of MSBuild is that to create a list of directories you have to start with a list of files and extract the directory metadata from each list item to create the list of directories, but if a directory has more than one file then it will appear in the directory list multiple times. If you set the <RemoveDir> task to fail on errors then it will cause the build to stop whenever it tries to remove a directory that it has already removed, which is always the case if the directory appears in the list more than once. Setting the task to continue on error seems like a bit of a nasty hack. Surely there must be a better way to define a set of directories which eliminates duplicates, but if there is I don't know what it is.

Anyway, back to the plot... Obtaining a list of all the files except those in the B2 directory is easily achieved by creating an item group and judiciously using the Exclude attribute to ignore the files in B2. But I also need a list of directories which have to be deleted. Using the file list metadata to create the directory list doesn't work because the directory B always appears in the list and the behaviour of <RemoveDir> is to recursively remove all directories. This causes B, B2 and the files I'm trying to preserve to be removed from the destination. Definitely not the outcome I was looking for. I haven't managed to solve the problem fully yet but I have a solution which works well enough for now. What I really need is a custom MSBuild task which does not delete directories recursively; why on earth did the MSBuild team not add that as a conditional switch?!

In total I reckon I've spent about 6 hours trying to MSBuild to copy my files and I wish it didn't have to be so hard. There was one bright point to the day though when I found that Partho P Das has created a freely available MSBuild Visual Debugger tool which is available on CodePlex.  Admittedly it's not quite as fully featured as Visual Studio and is obviously a work in progress but it's a great little tool which lets you set breakpoints in MSBuild files and inspect properties, items and the call stack. My productivity in trying to solve this problem went up dramatically once I found Partho's tool. It's much quicker running and debugging a build file through his tool than it is through Visual Studio. If you find yourself working on MSBuild files then I wholeheartedly recommend you get hold of a copy of it as it will make your life significantly easier.

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

The ethics of economic success?

Modern business, at least in the Western economies, is predicated on continued economic growth and returns for shareholders which often results in the the ability to generate profits being viewed as the only indicator of success. I may be odd, but I've never really subscribed to this point of view. Aside from the fact that I don't see how you can have infinite growth in a system bounded by a finite availability of resources, I think there are many more ways in which businesses can be perceived to be successful and valuable contributors to society and the lives of their employees.

I started musing on these ideas again today when I met with the owner of a successful local business. He was justifiably proud that he had grown the business from nothing to a £130 million+ annual turnover in under two decades, and we got talking about various issues. He recounted a story to me from his own business experience. He had been visiting a customer with a junior member of his sales team to attempt to close a deal with a potential customer. The customer wanted some bespoke work undertaken and, on the way to the meeting, the business owner and salesman had discussed how much it would realistically cost to undertake the work. They estimated £4,000 to £5,000.

One of the business owner's rules is never to answer the 'how much will it cost' question which most customers are naturally keen on asking, preferring to charge as much as he can reasonably get away with. So he was taken aback in the meeting when, asked how much the work would cost, the salesman replied 'Oh, £4,000 to £5,000'. Fortunately (from the business owner's viewpoint) the customer misheard the salesman and replied '£45,000? Oh we had budgeted £50,000 so that's ok'. The salesman quickly recovered his slip and commented that they would try to do the work for less than £45,000 if at all possible. A couple of days after the meeting the salesman contacted the company with an estimate for £38,000 and indicated that they were undertaking the work at an attractively low rate in the hope that further work might follow. The customer accepted the estimate, delighted to be getting the work done at what he perceived to be an attractive price and below his budget of £50,000. He was subsequently pleased with the work that was performed and placed another two orders at £38,000 each.

So what's wrong with this scenario? Nothing, apart from the fact that the business owner exploited the customer's misperception, lied about the attractive rate he was giving, charged  8 times over the odds and further compounded the error by doing it all over again on two further occasions. This business owner behaved no differently than 99% of businessmen whose yardstick of success is their profits and he acted in the best interest of maximising his performance against his success metric. In all other respects he is a decent, fair-minded human being but I believe this kind of business behaviour to be fundamentally unethical.

I have always tried to operate Codefounders as an ethical, fair minded business which acts with its customers best interests at heart and our aim has never been to generate maximum profits and returns for our shareholders. Had I been the business owner in the scenario above I would have corrected the customers mishearing and quoted the real price we expected to charge for the work. Taking the bigger picture, we have no idea of how the customer would have used the money saved if he had been charged the 'correct' price; it may just have helped boost his own profits or he may have used it to reward his staff in some way for all their hard work during the year. He may have used it to sponsor the local football team or help buy the play equipment which the local school could not otherwise afford.

To my mind the business which gives back to the community is significantly more successful than one which makes its shareholders a little bit richer (and yes, I know that all our pension schemes make their money from shareholdings in other companies, but that is a topic for some other time). Under UK law I believe that companies have a duty to maximise their returns to shareholders. I own 80+% of Codefounders and as the majority shareholder my direction for the company has always been to treat our customers fairly, make sufficient money to cover our costs, pay our staff a wage that affords them a comfortable standard of living and provide an enjoyable and motivational working environment. Hopefully that is your experience of our company if ever you do business with us. If we make excess income then I see no better way to use it than for the benefit of the wider community in which we operate.

The profit-focused mindset of Western businesses is very much an 'I'm alright Jack' mentality. The world faces a huge range of environmental and social challenges in the coming decades and the solutions to these will require much more collaborative and cooperative behaviours. Perhaps if businesses take the lead and focus less on their own financial success metrics and consider themselves successful if they make a positive contribution to society in others way we will beginning to move towards a community that can respond to those challenges.

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

Posted: Jul 02 2008, 09:46 PM by David
Filed under: , ,
Firefox, please let me make my own decisions

I finally got around to downloading and installing Firefox 3 today and on first inspection it does some to have a better look and feel and some nice improvement over version 2.

One thing I wasn't impressed with though was the installation process. Firefox uses a typical installation wizard but I was a little miffed to get to the final step before installation began to find a message indicating that Firefox was going to be made the default browser. Nowhere in the wizard did it give me the option of selecting whether or not I actually wanted Firefox to be the default browser, it just kind of made that decision for me and there was no option I could (de)select to tell it otherwise.

Now I know this isn't a life-and-death issue, particularly as I can always reset my choice of default browser after installation but it is an irksome irritation. I do quite a bit of work on web-based projects and I tend to install lots of browsers on my main development machine so that I can check that the web user interfaces I build work properly in all the major browsers. It gets to be a real pain in the butt if all the browsers continually engage in macho jockeying to be the top browser each time I upgrade one of them. So if any of the browser devs out there read this, please please please put an option in your installation routine that allows me to decide whether I want your browser to be my default.

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

McConnell on Software Professionalism

It's half term holidays which is giving me a break from my normally hectic schedule for some much needed family time. It's also a good opportunity to catch up on some reading and I've just finished reading Steve McConnell's Professional Software Development which has been on my reading list for some time. It's a very good book which makes an excellent argument for software engineering adopting the same professional ethos, behaviours and techniques as other branches of engineering. I fully intend to make my software engineering students read it and may make it the basis of one of my courses.

McConnell's argument is compelling but I don't think the state of software engineering education in UK universities is quite as bad as he seems to suggest that it is in the US. I fully support the call for professional qualification for software engineers but this raises some concerns for me with regard to the UK's professional accreditation body, the British Computer Society.

I have never been a member of the BCS (I came to software engineering from an electronic engineering background and gained my professional qualifications from the IET, a more traditional and longer established professional body which also represents the software industry as part of its remit). McConnell argues for a period of practice after graduation before professional status is attained; this is certainly the route I had to follow and it made me a better engineer. I have had dealings with the BCS in my professional capacity over the years and they have always struck me as being too keen to award professional qualifications without the need for a significant period of qualifying practice. As a result I sometimes get the feeling that they don't always act with the best interests of the public perception of the profession at heart.

Don't get me wrong, I fully support them in their role as representatives of professional software engineers in the UK but if they were to follow the more traditional qualification route, as espoused by McConnell , I think this would give UK employers greater faith in the professional qualification, bring bigger benefits to software companies and raise public confidence in, and awareness of, software development as a true engineering endeavour. It would be good to see them championing the kind of structured professional training and development that McConnell describes in his book.

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

The World is Going Green

Not in the environmental sense unfortunately but in the literal sense.

Why so? I had reason to be doing a lot of web surfing yesterday and couldn't help noticing how many of the sites had logos, buttons, graphics and images in various shades of green. There has been a lot of backlash against companies overplaying their green credentials recently (so called greenwashing). Perhaps what we're now seeing is an outbreak of subliminal greenwashing?

At least the world is literally going green in a different sense as all the trees have finally burst into life and England's pleasant land is once again a vibrant and refreshing green. I love this time of year!

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

A Noteworthy Day

Around 7:50am today something unusual and noteworthy occurred. The issue of Peak Oil got an airing on Radio 4's Today programme. Many people are unaware of or unwilling to talk about Peak Oil, the point at which the world's oil supplies start dwindling and we have to start coping with the consequences of our entire Western lifestyles being supported almost entirely by oil. (Look around the room you are in now - can identify one object that in some way does not depend on oil for its creation or delivery to you? You might have to look hard). Admittedly the discussion on Radio 4 only introduced Peak Oil in the context of the current dramatic rise in fuel prices and not its wider context, but it is good to see the topic getting an airing.

According to the oil industry expert involved in the discussion we don't need to worry though as we're not going to run out of oil. That is a curious point of view and one that I find hard to defend. It takes millions of year to create oil from organic matter and, whilst it may be fair to assume that new oil is in the process of being created, we are using oil at an ever increasing rate which means that the current supply is effectively finite. The one sure thing about a finite resource is that if you continue to use it then it will run out at some point.

The oil industry analyst did have the courage to point out in the discussion that we currently have no credible alternative energy supply for powering our economies and that is a scary thought. To continue using up a finite resource without looking hard for alternatives smacks of bad housekeeping. Unless we start doing something to reduce our energy dependence now (which is why I create products like Powerdown) the consequences could be dire.

However the world after Peak Oil needn't be all doom and gloom. If you want a perspective on a happier and healthier future after Peak Oil and what can be done to reduce our energy dependency, take a look at Rob Hopkins' The Transition Handbook: From oil dependency to local resilience. I read this book recently, and a thoroughly optimistic read it is too. Rob argues for a reduction in energy dependency and a return to a more locally focused, decentralised and resilient economy. Living in a small rural area that still has some of that local focus I for one fully support that notion and can't wait to see Rob's vision come to fruition. Peak Oil might yet be the making of us.

del.ico.us del.ico.us | Digg It Digg It | Technorati Technorati | StumbleUpon StumbleUpon | Furl Furl | reddit reddit

More Posts Next page »