Arno# - The cutting edge of developer waffle

Some random thoughts on software development

Five Vista annoyances and how to work around them

MicrosoftI have been using Vista for development work for a number of months now, which has given me time to experience many of its oddities. With XP no longer available pre-installed on new equipment, more people are now likely to start experiencing Vista. I therefore feel it an appropriate time to share what I consider to be the five biggest annoyances of Vista from a developer’s perspective. As I’m not interested in just moaning about then though, I’ll also suggest work-arounds to those annoyances.

1. User Account Control

User Account Control (UAC) is easily the most annoying feature of Vista. Most developers. Even if they have never used Vista, you will likely have heard of it. The most infamous aspect of it is a set of annoying pop-ups that appear every time you do just about anything on the system (allegedly including changing font sizes!). There is more to it though, as even if one if logged in as a local administrator, they do not get administrator rights by default. Processes must be launched via the “run as administrator” option and one must jump through hoops to delete files and the like.

Unfortunately the user of Vista has two choices:

  1. Live with the annoyance of UAC.
  2. Turn off UAC.

I chose the second route. I did so in the full knowledge that if I then had a subsequent problem with malware, it was my own fault. Please therefore note that if you are the sort of person that seeks to blame others when you screw up, you are expressly forbidden from using the following information to disable UAC for yourself. If you are happy to accept that disabling UAC carries some risks, and that that if anything goes wrong, it is your fault, then you can disable UAC thus:

  1. Open the control panel
  2. Select “User Accounts”! (green title)
  3. Select “User Accounts” again on the next screen
  4. Select “Turn User Account Control on or off”
  5. Click “Continue” on the UAC warning
  6. Untick the “Use User Account Control (UAC) to help proect your computer” checkbox.
  7. Click “OK” and then “Restart Now” on the dialogue.

When your machine restarts, you will be UAC (and UAC protection) free.

2. Automatic Scrolling

Vista introduced a concept called “dynamic multi-dimensional scrolling”. Rather than me try to describe it, I suggest you watch the animation on this page. It’s a feature that divides opinion: some love it, some hate it. One thing is for sure though: there is no way of disabling it.

Another thing for sure is that if you use the Eclipse IDE, it will drive you mad. The same automatic scrolling occurs in tree views in that application. So the debug tree randomly scrolls about when you try to use it. Thankfully there is a solution: simply run Eclipse in compatibility mode. Right click on the executable (or a shortcut if you’ll use that all the time.) Select properties and go to the Compatibility tab. Then tick the”Run this program in compatibility mode for:” checkbox and make sure “Windows XP (service Pack 2)” is selected as the compatibility mode.

Eclipse properties

When you next run Eclipse, the only change you should notice is that the trees now behave.

3. Search

Vista’s search is, in my opinion at least, useless. I could rant on about it, I could use a string of expletives to describe it. There is no point though: “useless” describes it succinctly. It simply cannot be made to perform “proper” searches. By proper, I mean giving it a string to match and a location to search and having it search every file and find every occurrence of that string. The solution I came up with was to install a third-party search product. I picked Effective File Search, a $30 shareware product that took about 1 minute to download, install and perform a successful search on a mixture of source and binary files. I’d previously spent around three hours trying to get Vista’s built-in search joke to do the same job, and it failed. That’s £15 very well spent in my view, though there may be better and/ or cheaper options available.

4. Windows Sidebar

Windows SidebarVista’s Windows Sidebar is a good idea that is poorly executed. The idea of having a bunch of user-selectable gadgets is a good one, but the sidebar is irritatingly rigid in appearance (it cannot be resized or reskinned) and there is a distinct lack of useful gadgets for it. It can be turned off though, and other sidebar solutions are available.

The obvious replacement choice is the Google Desktop Sidebar. It suffers from the same problems as the Vista one though in my view: lack of reconfigurability, lots of useless gadgets and too few useful ones. Obviously “useful” and “useless” are very subjective terms. To my mind, useful gadgets are a RSS reader that can handle multiple feeds, a memory & CPU meter, support for shortcuts and outlook integration.

The only sidebar I’ve found that offers all these features is  Desktop Sidebar (shown on the right). It is a highly skinnable, configurable sidebar that has some great features. The downside is that it is a “dead development”, as it has not been updated since just after Vista was released. As a result, it must be run with full administrator rights. If you can live with this though, it is a great product. It’s RSS reader is the best I’ve seen, as it supports multiple feeds, each shown on a separate “page”, rather than jumbled together as most multi-feed readers do. The sidebar is worth running for that feature alone in my view.

5. Insufficient access rights

Even if you switch off UAC, it is still possible to get weird errors from Vista informing you that you have insufficient access rights to delete a file. A check of the properties reveals you have full access rights and you own the file, yet this weird “you are not worthy” message will greet your every attempt at deleting the file. The reason turns out to be mundane and frustrating: what the message is trying to tell you is that a process has the file locked and so it cannot be deleted. Shut the process down, and the file can be deleted with ease.

There is a bit of a problem here though. How do you know which process has a lock on the file? Easy: install Process Explorer, run it, go to the menu option

Find -> Find handle or DLL…

enter the file’s path into the search box and it will tell you exactly which processes are using it. Process Explorer is a really powerful Windows tool that is:

  1. Written by Microsoft
  2. Free
  3. Useful

(Mac and Linux fan-boys take note: a useful, free, Microsoft product really does exist!)

So there you have it: five tips on making the transition from XP to Vista a less painful, more enjoyable, experience.


Share This Post...
No comments yet, click here to be the first

IETester: Testing on IE5.5 through IE8 made easy

IETesterIf you have ever developed a website, you’ll know that one of the golden rules is “test on as many browsers as possible”. This doesn’t just mean testing on IE, Firefox, Opera and the funny looking Apple one. It means testing on different versions of those browsers on different operating systems. Testing against multiple versions of Firefox and Opera is easy: just install multiple versions. IE is a whole different story though. Because IE integrates so deeply into the operating system, it isn’t possible (without severe amounts of effort) to run multiple copies of IE at once on the one machine, until IETester came along. In their own words:

IETester is a free WebBrowser that allows you to have the rendering and javascript engines of IE8 beta 1, IE7 IE 6 and IE5.5 on Vista and XP, as well as the installed IE in the same process

I’ve installed it and it seems to work well on my Vista box, despite it being an alpha release. As an added bonus for the future, the developers would like to get it working on Linux using Wine and Macs using Parallels. Offers of assistance in these areas will be gratefully received.

I tried out this website on IE5.5 by the way. It looks a mess and fails to render correctly. Oops!

Website is IE5.5

(Click on image to see full-size version)


Share This Post...
No comments yet, click here to be the first

MIX:UK is dead! Long live ReMix UK!

ReMix UK

Last year, Microsoft hosted the first ever MIX:UK event, a two day conference on all things Microsoft, of interest to developers and designers alike. I was beginning to think that the first MIX conference in the UK would be the last as there was no word anywhere that another was on its way. However never fear, MIX:UK is back, just re-badged as ReMix UK. As a bonus (for me at least; it’ll be a pain for many), the venue has moved from London to glorious Brighton this year.

Despite being an Eclipse, Java & Flex man these days, the new technologies - such as Silverlight - that Microsoft are pushing are still likely to be hugely influential to anyone involved with web or RIA development. So the event is well worth attending in my view. Even my MS hating, Mac weilding boss agreed (once he has stopped laughing at my “may I go to a Microsoft conference please?” request and realised I was being serious for once).

If you are thinking of going, don’t delay. The sneaky folk that are organising the event are only offering the £239 “Early Bird” price to the first 300 registrants. After that, the price jumps to £349. So get registering and I’ll see you there…


Share This Post...
No comments yet, click here to be the first

Grisoft join the “Lets piss everyone off” Brigade

AVG LogoFor many years now, I’ve been a fan of Grisoft. They produce a superb - and free! - anti-virus utility for Windows - AVG - which I has kept my home PCs virus free without fail. Then version 8 appeared…

About a month ago, my installation of AVG prompted me to upgrade to version 8. As is normal with Grisoft, they initally pushed their paid-for version (which I have no qualms with, but which I didn’t want). After a few days, the free version then became available, and so I upgraded. Unfortunately, version 8 has a new feature called LinkScanner and this is where the problems start.

LinkScanner is a highly intrusive utility that integrates itelf into IE and FireFox. Whenever you visit Google pages and perform a search, a spinning icon appears by each entry, that then gets replaced by a red cross or green tick. Moving the mouse pointer anywhere near these icons results in a huge noisy pop-up that bombards the user with not-very-useful information as shown below:

AVG in action

As you may be able to tell, I didn’t like this new feature. So I opened up the AVG control panel and disabled LinkScanner. Unfortunately Grisoft treat the disabling of the feature as a critical error and so the notification icon greys out and a big red exclamation mark appears over it. By this point, I was starting to get annoyed. Treating a deliberate user action as a critical error is just plain stupid. The product basically bites off its own nose to spite me for daring to disable the feature, as it instantly renders itself incapable of notifying me of a real problem!

The final straw came on Friday when an article about AVG on the Register caught my eye. I’d assumed the spinning icons represented requests back to Grisoft’s servers for information on the sites in question. It turns out though that the product instead “silently” visits each site in turn to check it every time. In order to prevent malware sites hiding their evils from AVG, it pretends to be IE6 when requesting the pages. In other words, every time someone visits Google with AVG installed, they screw up that site’s visitor stats. This is just unforgivable behaviour for a product in my view.

So Grisoft join Micorosft (with their search gaff) and Apple (with their malware-style updater) in the ignoble hall of fame for pissing off their users. Sadly after many years of happiness, it is time for AVG and myself to part company. It is time to find a new anti-virus product.


Share This Post...
2 comments so far, click here to read them or add another

Firefox 3 Dayload Day is to happen after all (just 19 hours late)

Unless you live under a rock (or care not for technology), you will be aware that the 17th June is the official Firefox 3 download day. If like me, you have been patiently watching for it to be available for download ever since 00:01 on the 17th in Tonga (which is bizarrely 13 hours ahead of GMT), you will have been thoroughly disappointed. It turns out that FF3 isn’t actually going to be launched until the 17th is over for most of the planet, as it is to be launched at 17:00 GMT (or 10am if you live on the west coast of the USA).

Perhaps they ran into technical difficulties, which forced a delay? Or perhaps our dear American friends behind the launch are as clueless over geography as the stereotypes depict them and thus are oblivious to the fact that it will be the 18th for much of the planet when they hit the go button. Either way, never fear: FF3 is being released, it will just be a little late…

Update: Well I was a bit generous with the 19 hours late. The event is clearly going to be a major one as demand appears to have taken the Mozilla servers down at 17:00 GMT and they weren’t back up again for nearly two hours. So the record setting event is under way “just” 21 hours late. I think my download from the FTP site won’t count, so I’ll have to download again to register it.

I’ve taken down the link to the FTP site down now that FF3 is available from the website. And - as Laurence spotted - I was guilty of being badly windows-centric with the link, so sorry about that.


Share This Post...
1 comment so far, click here to read it or add another

Is Firefox’s Awesome Bar really that awesome?

firefoxWith the release of the Firefox 3 RC1 recently, I decided it was time to try out the new browser. I did so with trepidation, mainly due to worries over which add-ons I’d lose. Initially, it seemed a no-hoper as Tab Mix Plus and the del.icio.us add-ons weren’t supported. To my mind, Tab Mix Plus (TMP) is the single most important add-on ever for Firefox. It turns just another browser into an amazing tool. It lets you work within a single window, and can be made to always open links in the same tab, regardless of what links want to do etc. It has a massive number of features for customising the way tabs work, so that you can really get them to work “properly” (for just about anyone’s personal view of what “properly” is). Luckily, there is a pre-release test version of TMP available, which worked just fine on my machine.

Having sorted out TMP, I decided that FF3 RC1 was usuable and so kept it. The del.icio.us bookmark add-on was updated to support the release candidate yesterday (I also updated to RC2, so I’m not sure if the two events are related). With the other useful add-ons working (Flashblock, Adblock Plus, IE Tab, Tab Catalog and Download Statusbar), it’s a nice, stable browser, except…

… the “Awsome Bar”. The idea behind the new location bar in FF3 is a good one. Whereas previous browsers have matched URLs from left-to-right as you type, the Awesome Bar searches for the typed string anywhere in the URL and page title. It also uses a clever algorythm to rank the results (including taking into account what you selected before if you have typed those characters before). This is all very nice, but the resultant bar is a real usability nightmare as the screenshot below shows:

Different font sizes and colours and bold+underlined characters all presented in a dense mess that just completely overloads the user. I know what I’ve typed, so I don’t need the terms highlighted. Yet these draw the eye away from the page titles and URLs making it really difficult to read.

Luckily there is a really nice add-on available that fixes the problem: oldbar. The clever underlying algorithms are still there, but it simplifies the view back to something similar to that offered by FF2:

Now that really is awesome!


Share This Post...
No comments yet, click here to be the first

Will Java show Microsoft the way to .NET 4?

JavaHaving recently started a new job that is Java & ActionScript-centred (as opposed to my old .NET & ActionScript-centred job), I’ve been trying to catch up with the world of Java. Last time I used the latter was back around the turn of the century when Sun hit upon the cunning plan of calling a release both Java 1.2 and Java 2 (a mind-numbingly stupid idea that still continues today with Java 6/ Java 1.6). Things have moved on, the language has had many new features added and the core classes have mushroomed into a huge complex mess that involves a large download. This is of course much the same as .NET, which tends to follow in Java’s footsteps on many levels.

Recently I came across something that Java is soon to offer that .NET would really benefit from: Java 6 SE Update 10. This rather cumbersomely entitled release has the somewhat more snappy title of “Consumer JRE”. This new consumer runtime has a bunch of really nice features, the two key ones in my view are the Java Kernel and draggable applets.

Java Kernel
Like .NET, the Java runtime is a huge download. The first time you try and run a java application on a machine that doesn’t have the JRE installed, in must be downloaded. The Java Kernel is a clever - and oh-so-simple - idea: break the JRE up into lots of bits and only download what is needed. So the first time you run a Java application, the basic - small - kernel is fetched, plus any other parts that the application needs. At that point the application can run. The rest of the JRE is then downloaded in slow-time in the background.

The graph below (from http://java.sun.com/developer/technicalArticles/javase/consumerjre/) highlights this:

Comparison of Various Swing Application Download Sizes With the Full JRE.

Draggable Applets
Back in the days before Flash, Java Applets were the way to do programatically complex stuff in web pages. In recent years, they have declined in popularity, but this feature may bring them back into favour. If you visit a web page and see an applet that you like, then you’ll be able to drag it out of the browser window to the desktop. It then runs as a fully fledged desktop application, rather than just a browser applet.

When these features will be released is anyone’s guess (early betas of the Consumer JRE were “hot news” last year [2007] and it is still in beta), but they are great features none the less. And so this brings me to .NET 4. When Silverlight 2 is released (I’m still predicting late July or very early August for this release, ie just in time for the Olympics), Microsoft will have an obvious starting point for the equivalent of both of these features. The Mono team have their Moonlight desklets, which Microsoft could take and turn into Silverlight applications that can be dragged out of the browser onto the desktop. And the cut-down .NET framework that forms the kernel of Silverlight 2 would make a great starting point for a piecemeal downloadable .NET 4 kernel.

The “big chief” of .NET - Scott Guthrie - is a man who is happy to take great ideas from anywhere and shamelessly add them to .NET, so I fully hope and expect to see such features in the .NET realm sometime soon(ish).


Share This Post...
No comments yet, click here to be the first

Microsoft Parallel Extensions to .NET Framework 3.5, June 2008 CTP Released

AMD quad core chipLast week, Microsoft released a new Community Technology Preview (CTP) of the .NET Task Parallel Library. The new release has a brand new scheduler that repleaces the pretty crude protottype scheduler found in the December 2007 CTP. According to the help file that accompanies the release, the new scheduler “… uses cooperative scheduling and work-stealing to achieve fast, efficient scheduling and maximum CPU utilization”.

In addition to improving the performance of the Task Parallel Library (TPL) and PLINQ, a bunch of new classes that compliment the TPL, and that can be used for general multithreading work, are included too. These include things such as a spinlock class, that includes builtin support for the sleep/ retry loop when the lock isn’t available; and the ConcurrentQueue and ConcurrentStack classes. These latter ones provide builtin support for multiple threads reading and writing to the collections simulataneously, and remove the need to write semaphore-based wrappers around the previous Queue and Stack classes.


Share This Post...
No comments yet, click here to be the first

What was the point of the OOXML battle exactly?

ISO LogoUnless you have been living in a cave for the last year (or have no interest in technology; in which case why are you reading this?), you will no doubt have heard about the battle between Microsoft and “open source advocates” (in reality, Sun & IBM) over getting OOXML ratified by the ISO/IEC. It is a battle that I’ve watched with vague interest, but I’ve not had an opinion either way on whether OOXML should have been ratified.

Today though that changed. ZDNet reported that having got approval for OOXML, Microsoft won’t be doing much with it. It turns out that whilst building support for ODF into Office is an easy task, building OOXML support into it is a very hard task. So support for ODF will arrive early next year with Office 2007 SP2, whereas we will have to wait until the next release of Office for OOXML support. This obviously begs the question, what was the point of OOXML exactly? The whole episode definitely tarnished the reputation of the ISO/IEC, yet it turns out to have been for no real purpose!


Share This Post...
No comments yet, click here to be the first

.NET is NOT to blame!

World Wide TelescopeI have been following the World Wide Telescope project with interest ever since Robert Scoble made a bit of an arse of himself over the subject. Since I was really impressed with the ease of install and the beauty of the product, I gushed in near fanboy-style about it when it went into beta release (I didn’t woop; so it wasn’t real fanboy stuff ;)). It was thus a bit of a shock to see that Mike Dillamore was casting the install in a bad light.

Mike was my boss at my last place of work. I have a great deal of respect for him as he is the man that got me into TDD, Scrum, podcasts and of course blogging. An area where he and eye do not see eye to eye though is over .NET. I am a big fan; he has, for reasons I’ve never properly understood, a keen dislike of it.

The instructions for installing the World Wide Telescope are long and complex (and remind me of installing anything on Linux for example), but people seem to be forgetting that this is just a beta release of the product and thus it will be rough and ready. As for the comment that .NET is to blame, what nonsense! The real “blame”, if one must call it that, lies with Microsoft’s business model of supporting what ought to be long-dead products. They could take the Apple route and simply refuse to install the software on any machine that isn’t Vista SP1, but since they are a multi-billion dollar operation that dwarfs Apple, perhaps their business model makes sense. Of course the blame also lies at the feet of the inherent security weaknesses in Microsoft’s desktop operation systems, but that’s a whole different topic.

Far from being a yolk about Micrososft’s neck. .NET is their money-spinning future. ASP.NET single-handedly saved their dying web server business for example. The awesomely powerful shell - PowerShell - that is built into the Server 2008 operating system is .NET based and let’s not forget that SIlverlight is .NET based too. Ten years ago, Borland offered a superb IDE, which people sadly turned their backs on by adopting the awful Visual Studio 6 instead. Those days have long gone though. Now, when one can get Eclipse or the Visual Studio 2008 Express editions for free, the IDEs from Borland (or Code Gear as they now are) make no business sense.


Share This Post...
1 comment so far, click here to read it or add another

Next Page »

Close