Wednesday 12 December 2007

Software Install Hell - Why make me Reboot?

Rant of the Day - why the hell do so many applications require a reboot of your PC??? After having to reboot my new PC a dozen or so times last night just trying to uninstall 2 programs and install 2 new programs, I got pretty damn annoyed. As a home user, this was just an annoyance - for businesses with a large network, this could be a serious productivity impact issue.

So, why are these reboots necessary?

Googling revealed some Windows reasons, but apart from the "overwrites file in use" one, most seem to fall back to the installed program asking for the reboot. So why do the programs themselves think a reboot is needed? I can think of a number of alleged reasons:

  1. The install overwrote a file in use, so it is Windows that wants to reboot
  2. The reboot isn't really required, but the developers are just being paranoid
  3. The developers didn't spend the time to remove the need for the reboot
  4. Fundamental issues at the operating system level. Given the number of programs that don't need to reboot (some doing complex OS level integrations), I doubt this is the case

Reboots after uninstalling is an even bigger mystery to me - unless Windows is keeping a log of old file versions and trying to restore the previous version, the "overwrote file" shouldn't be an issue now. But if more than one update has occurred to the file in question, then this is just fraught with danger - which version do you revert to? I'd think the answer here is "don't do it!"

I think you should be able to just install some software, and it just works. No reboots. Even if it's necessary, be polite - don't force me to reboot.

From my experience, it seems to be commercial software that is more likely to exhibit this nasty behaviour - Open Source or software by 'enthusiastic individuals' seem less prone to require reboots. Is that because the former is more complex, or that the latter communities care more (or maybe get frustrated enough to spend the time to avoid the reboots).

Maybe in the commercial software development world, the issue of reboots fall into the low care factor category, as Company X assumes that their software gets installed once and that's it. Well, the reality is when I get a new PC and start installing dozens of my preferred programs, I get mighty annoyed having to reboot for every program thats so self-important that it thinks it's the sole reason I have a computer. Well, I'd like to point out that firewalls and anti-virus do NOT qualify for this - in fact you are a necessary evil and I'd happily dump in a nanosecond if it wasn't for all the cretins out on the net wanting to hack and wreck my PC.

Since I haven't seen much of a discussion about this previously, I'd be interested to learn more about the main reasons reboots are considered to be required, and how common this problem is on different operating systems - Windows, Mac OS, Linux, etc.

Wednesday 5 December 2007

Excel Macro weirdness

Excel is pretty good most of the time, but this is just weird. Apparently having pagebreaks in a print preview can seriously mess with macro performance. See Slow Response, Memory Problems, and Speeding up Excel for details.

Green Gadget of the Day

On the "gotta get me some of that" list...

Mains Power Meter ($39.95)
http://www.jaycar.com.au/productView.asp?ID=MS6115

This intelligent power meter simply plugs into a normal power point (GPO) and turns it into a real-time power monitoring outlet. You can enter the local price of your electricity and the meter will tell you exactly how much the appliance is costing to run. In addition, the power meter tracks the power used and can display the instantaneous voltage or current being drawn as well as the peak levels that have been drawn. The meter has backup batteries so it will not lose the stored data during a blackout or moving from point to point. Simple to install and a valuable tool for monitoring you power consumption.

More On "The Future of Software Development"

Alex Iskold wrote an interesting article on The Future of Software Development. My former colleague Michael Davies observes that it doesn't mention Open Source, and makes some good points regarding the higher abstraction level.

From my time using C# and .NET, java, etc., I think the libraries themselves present us with a major challenge - how the heck to easily find what you need, so you don't end up re-inventing the wheel? The libraries are now so large, there is a very good chance that there is something that will help make your current coding task easier - finding it is another matter altogether.

Ideally, a constantly active search, using the current method being written as context, could provide the developer with a ongoing list of possible library code to call upon. The results could be broken down into logical categories, to help the developer interpret how the results might be applicable.

Think of your garage - there's lots of tools in there (since I moved house I can't even find many of hem now!!), and lots of different ways to use the tools you probably haven't even thought of.