Thursday, May 05, 2016

The blog has moved

Blogger seemed to be getting a bit tired, so I've shifted my blog to a new home. Head over to for the new one!

Monday, March 28, 2016

Windows 10: The bugs that irk me

There are a few small bugs in Windows 10 that, despite being small bugs, manage to irritate the hell out of me.

1. Desktop icon positions reset themselves during graphics card driver update

This is a peculiar one, as it happens on my desktop, but not on another PC. The bug is simple: while GeForce Experience is installing a new driver, the icons on my desktop are automatically rearranged (as if 'Auto arrange icons' was turned on and then off again). (I only mention GeForce experience, as that's how I get my driver updates.) Now, I keep some frequently used shortcuts near the right edge of the screen, so having them automatically moved from there and mixed in with the other icons is annoying to say the least. And, nVidia release driver updates fairly frequently so it is at least once a month it happens.

Since it doesn't happen on my laptop, I can only guess it's related either to using 125% DPI or having an external display.

2. Bottom line of command prompts cut-off

When you reach the bottom of a command prompt, the active line ends up being half cut-off.

You can scroll down, but it will just happen again when you next reach the bottom of the window. My best guess again is that this is a high-DPI bug, since it doesn't happen on my laptop (which is set to 100% DPI).

3. Pressing Ctrl on the lock screen doesn't always bring up the login screen

I like pressing Ctrl to wake up my monitor and bring up the login screen, because it is usually a fairly innocuous key to press. The problem is that sometimes pressing Ctrl on the lock screen brings up the login screen, while other times it does nothing. I have no idea what the pattern is here (though I'm pretty sure there is one).

4. It wakes up in the middle of the night to finish installing updates

My laptop is in my bedroom. If I hibernate it, Windows likes waking up in the middle of the night to finish installing pending updates. So, I get woken up by the sound of the laptop's DVD drive initialising and a glaring display. I have no idea who thought this would be a good behaviour – Windows 10 giving me sleep problems ranks among the worst problems it could give me. I don't even think it installs the updates properly (or it wakes up early and does nothing for a fair while). I haven't found a way to disable this behaviour, so I've resorted to using shut down instead. My laptop is left connected to the mains, if it matters (I hope it does, since it'd be even worse if it happens when running on battery, or the laptop was in a laptop bag, say).

5. When installing new builds, it reinstalls different drivers

I have a laptop enrolled in the Windows Insider Programme. Whenever a new build is installed, it installs a touch pad driver with a version lower than the one I had previously installed myself. So, whenever a new build is installed, I have to manually reinstall the correct touch pad driver version. Pretty annoying, as some touch pad software/driver settings get reset in the process.

All of these problems are current, on fully up-to-date Windows 10 installation as of today (28 March 2016).

Sunday, January 24, 2016

If you delete the WINDIR environment variable, it's (almost) game over

I came across an interesting problem recently. I was editing some environment variables on a Windows 10 PC, using some third-party software. After doing that, a few things started behaving oddly, such as some system programs would not open. Things got worse after rebooting: I could not right-click on the start button, I could not open Task Manager, I couldn't start anything that required elevation and Windows Firewall kept telling me it was turned off.

Most of the actions that failed to do anything would hang for a fair while, eventually displaying dialog boxes with the message 'The system could not find the environment option that was entered'. Like this:

As it turned out, the cause of all these problems was that WINDIR environment variable had been deleted. (Of course, not intentionally.) And it really was was catch-22: I could not edit the system environment variables without elevation. The best I managed to do was kill explorer.exe using Process Explorer, start a command prompt, set %WINDIR% in the command prompt and start explorer.exe. Alas, that only helped marginally, and trying to open the advanced system properties (SystemPropertiesAdvanced.exe, as it turns out) in the same way did not work.

All was not lost: I could still access the modern settings app and reboot into the recovery menu. From there, I was able to use System Restore to go back a day to when WINDIR was still present. (Of course, I'm sure there are other ways I could've fixed it, but I just took the easiest and quickest solution as the time.)

After all that, I was curious about whether the standard Windows environment variables editor lets you delete the WINDIR environment variable. I just tried (in a VM of course): yes, it does.

Sunday, January 17, 2016

The death of Google Cloud Print on my MX895 printer: a story of ineptitude

I bought a Canon PIXMA MX895 all-in-one printer in May 2012. In fact, I was one of the first owners of the printer in the UK, having pre-ordered it the previous month. The printer was on sale from then until around April 2013.

One of the features the printer had was Google Cloud Print. The printer didn't support it out of the box – it needed a firmware update to add support for it (although it was available on day one). And, since then, I used the Cloud Print feature sporadically.

Fast-forward to late last year. I tried to use Google Cloud Print, but all I got was useless error messages from the printer about it not being able to connect to the server. Suspecting something was up, I set about Googling and can came across this discussion. As it transpired. Google deprecated the authentication API the device was using in April 2012, before there was even any stock of the printer in the UK. And, while Canon have released firmware updates for more recent models, for some models Canon will not release updated firmware, stating in a support article dated 1 September 2015:
Google has recently announced future planned changes to the server authentication method of their Google Cloud Print™ (GCP) service. An impact of these changes will be that specific Canon printers will no longer be able to support Google Cloud Print™ (GCP) because the printer firmware cannot accommodate these planned changes.
Recently is certainly a stretch. I suspect what they mean is that Google recently followed through on something announced over three years ago. For models other than my one, the timeline is even worse. The MG5450, for example, was announced in September 2012 and on sale until around September 2013.

Needless to say, I wasn't exactly impressed on learning all of this. To top it all of, as of writing, Google UK are still listing the MX895 as a Cloud Print printer1.

1No idea if that link will redirect outside of the UK.

Migrating a Windows 10 installation from MBR to GPT/UEFI

I recently updated to Windows 10 on a Z170-based motherboard, but my Windows installation was an MBR-based one rather than a modern UEFI one. I wanted to switch to a UEFI installation for the marginally fast boot time – without losing data during the switch – but most of the information online about doing that involved either purchasing software to do it or dubious use of command-line utilities.

Somewhere, though, I came across the strategy of backing up the current Windows installation, making a clean one in UEFI mode in order to create the relevant boot partitions etc., and then restoring the Windows partition from the backup. I was upgrading my system drive to a larger SSD so it seemed like a good time to give it a go. And indeed, it worked fine, so I thought I'd document the steps I followed here in case it helps anyone else.

The process requires some spare space on another drive in order to save an image of your system drive. Naturally, if you follow these steps and something goes wrong, I don't take any responsibility – it goes without saying that you should make doubly-sure you have everything backed up.

The steps are roughly as follows:
  1. Download the Windows 10 Media Creation Tool.
  2. Use the tool to create a Windows 10 installation image on either a flash drive or a DVD. I used a flash drive.
  3. Back up your system drive using drive imaging software. Macrium Reflect (free) should do, but I used the bootable version of Acronis True Image 2016 (not free) as I already had it. The software you use should allow you to selectively restore partitions from the backup to a partition of a GPT drive. If you are not using a bootable version of the imaging software, then it also needs to be able to restore backups to the system drive. Make sure you validate your backup to make sure there is nothing wrong with it.
  4. At this point, I installed Windows 10 in UEFI mode to my new disk drive. It took minutes to install to a decent SSD from a decent USB 3.0 flash drive (surprisingly fast when compared to how long the upgrade from Windows 7 to 10 took). I disconnected all the other drives in my PC out of an abundance of caution. To install Windows in UEFI mode you need to boot from the Windows 10 installation media in UEFI mode. For me this was achieved by pressing F8 when on my BIOS splash screen and then selecting the entry for my flash drive that was prefixed with UEFI. If you're reusing your existing drive for the UEFI installation, you will need to delete all the partitions on it. You should be able to do this in Windows 10 setup, but I haven't tried that.
  5. When prompted for a product key, select the option saying you don't have one, and then select the relevant Windows edition.
  6. A couple of screens later, you'll need to select your disk drive and create a partition. If you booted the installer in UEFI mode correctly, another three partitions (recovery/system/MSR) should be automatically created when you create the one to install Windows to, leaving you with four in total. If that doesn't happen, you might not have booted in UEFI mode.
  7. You can click through the remaining setup options – they don't matter much as we are just going to overwrite the Windows installation.
  8. Once installation is complete, you need to restore the Windows partition from your backup to your drive using your drive imaging software. You need to only overwrite the current Windows partition with the one from the backup – take care not to restore the whole disk which will wipe your GPT layout.
  9. Reboot and if everything worked as planned your old Windows installation should be back!
  10. You should now be able to disable CSM in your BIOS, which should reduce POST time a bit.
Hopefully that helps someone else – doing this and disabling CSM did indeed make a reasonable improvement to my boot times.

Wednesday, January 06, 2016

Today I learned... the properties for devices in the Sound control panel applet, you can right-click on the volume bars and change the units to decibels:

Friday, January 01, 2016

A change of web host

I shifted to Amazon Web Services. Here's a recent screenshot of the 'Time spent downloading a page' graph from the Googlebot crawler stats displayed in the Google Search Console:

Can you pinpoint when the switchover happened? Yes, my old host was that bad.

The baseline 'Pages crawled per day' has also increased – presumably it was throttling itself before...