Docker problems with VT-d

I was having some problems getting Docker working on my Windows 10 laptop – every time it started, it complained that hardware virtualization was disabled or HyperV was not turned on.

  • I checked the BIOS – virtualization was enabled.
  • I checked the Windows features – HyperV was added.
  • I removed and re-added HyperV a few times to be sure (a slow process on each attempt)

Finally, I noticed that one of the screenshots in Step-By-Step: Enabling Hyper-V for use on Windows 10 also showed VT-d was disabled. I checked my BIOS. It had VT-d enabled. I disabled it, rebooted and lo-and-behold, Docker started up straight away !

This seems to suggest that VT-d is somehow incompatible with Docker – at least on my aging Lenovo X201. I don’t yet know if this is generally true or just depends on your hardware or the age of your BIOS. You can read more about VT-d at Understanding VT-d: Intel Virtualization Technology for Directed I/O to see what you are missing out on by turning this off.

.gitignore, Visual Studio and NuGet

I have started using git for some projects again and one of the first things I needed to do was define a suitable .gitignore file for Visual Studio to avoid adding user-specific or temporary files to the repository.

Fortunately, there are plenty of examples of these on StackOverflow – for example this question is a good starting point.

Of course, no sooner had I created a suitable .gitignore (which I should really add to a dotfiles git repository as well) than I realised that I’d also have to handle DLLs and other files and references set up by NuGetthis blog entry has the following suggestion:

# Include dlls if they’re in the NuGet packages directory

Beginners Guide to Emacs on Window – Part 1

Many people think of Emacs as an editor for the Linux die-hard crowd but, of course, it runs on many different operating systems – including Windows.

Some folks are very familiar with Emacs and use it daily. Others – like me – have used it intermittently or not at all. So let’s see what the fuss is about. We are going to install it on Windows and then tweak it until we have something that feels ‘at home’ on Windows.

Visit the Emacs home page and follow the links for downloading it (or ‘obtaining’ it as they so nicely put it). This will direct you to the download page (you can choose a mirror closer to you if you’d like to try for a faster download).

You will see a bunch of files something like this.


Click on the windows folder – which will probably be towards the bottom of the page – and you will get a list of the Windows binaries.

Download the latest Windows binary in zip format (not one of the  barebin files) – at the time of writing this was

Unzip this file (or use “Extract all files” if you are on Windows Vista or Windows 7 if you prefer) to a folder of your choice. I normally use C:\Tools to keep things short and simple !

That’s it – you are done ! Emacs is now installed. You can start it by clicking on runemacs.exe which you will find in the bin subdirectory of your installation folder. In my case, that is


of course you probably don’t want to go looking for that directory every time you want to start Emacs so there’s a handy utility that lets you add it to your startup menu (as most other Windows programs do by default). To use this, just run:


and you will get an Emacs shortcut added under Gnu Emacs in your start menu.

You can now start by diving into the Emacs Tutorial which is built in to Emacs or you can use File/Quit to close the editor (Control-X followed by Control-C has the same effect and is more like other Emacs commands which you will soon learn so you might prefer to use that)

In Part 2 we’ll tackle some basic Emacs commands before moving on to customisation in later instalments.

Google Chrome Extensions

There are a great many Google Chrome Extensions and plenty of lists of the Top 10 20 50 Chrome Extensions. I won’t attempt to compete with these Top X lists. Rather, I’ll just list a few that have caught my eye. You can always add your own in the comments.

  • Instachrome – save links to read later using Instapaper .
  • Readability Redux – remove the clutter and concentrate on the text you are reading
  • No more tabs – limit the number of tabs you can open to keep you from getting carried away.
  • New tab with clock – don’t like the speed dial? Replace it with a clock instead.
  • New tab showing Google Tasks – prefer to track your ToDo list rather than the watching the clock? Then install this.
  • Blank new tab – rather go for a blank canvas? Then this is for you (you can search from the address bar anyway)
  • StayFocusd – prevent yourself from spending too much time on those time-wasting sites (like the Google Chrome Extensions site !)
  • Slick RSS – if anyone still follows RSS feeds
  • ChromeMilk – the unofficial Remember the Milk extension. There’s an official one too that Remember the Milk for GMail
  • Vimium – add Vim keybindings to Chrome

If you have any particular favourites, let us know in the comments.

What Operating System?

Most people I know use just one operating system. Most are Windows users (XP, Vista or Windows 7); some are Mac OS X users; on rare occasions I encounter a Linux user (usually Ubuntu, Fedora or OpenSuSE)

I, however, have a keen interest in technology so I dabble with all of the aforementioned operating systems – and a few more besides. I can’t help but take an interest in OpenSolaris or Haiku (I bought an original copy of the BeOS in its time) or FreeBSD (to name but a few)

Most of the computers I use are set up to dual boot (I shy away from triple-boot these days). Mac OS X Leopard with Ubuntu Linux. Tick. Windows 7 with Ubuntu Linux. Tick. Not to mention the virtual machines….

A friend once suggested that I was making my life needlessly complex – and he was right. I really should just pick one operating system and stick to it. It would make life so much easier. However, I suspect it would also make life a bit duller at the same time.

I like the Mac approach to installing applications. I like the huge choice of applications available to me on Linux. I like my familiar keyboard shortcuts and development tools on Windows.

I don’t understand these internet flame wars. My operating system is better than yours ! Your OS sucks ! To me, each OS has its great points as well as its low points but I am interested in what each one brings to the party.

The practical side of me says “One computer. One Operating System. Simple Life”

The geeky side of me says “I wonder what’s new and cool in FreeBSD this week?”

How about you? Can you be loyal to just one operating system? Or are you an OS tart too?

O’Reilly Open Feedback Publishing System

I see there are now a few books in O’Reilly’s OFPS “experiment”….

I like this open, agile approach to writing a book and hope that it is a success (in commercial terms as well as for developers who get to read the content as it written)

Resources for Learning Haskell

I have (again) started reading Real World Haskell (I never got too far last time) and so I thought it might beHaskellBook useful to note down a few handy Haskell resources….

And you can even write Arduino programs in Haskell if you so wish ! Do you have any favourite Haskell sites? If so, let me know in the comments.

The Case for OpenOffice

I am a long-time user of Microsoft Word but, now and then, I also dabble with OpenOffice (particularly on Linux where Word is not an option). One thing which keeps me – and presumably others – from making more extensive use of OpenOffice is lack of familiarity with it. Although it is superficially similar to Word, there are also enough differences that you have to be prepared to re-learn a few things.


Of course, learning how OpenOffice Writer differs from Word (or Impress from Powerpoint) takes time and this is something which many of us – myself included – are reluctant to invest. We are busy and we already have a solution we know works so why bother learning OpenOffice? Good question. Indeed, for many people it doesn’t make sense – they have no compelling need to switch. They have Microsoft Word and see no reason to change. For others, however, there are some reasons why OpenOffice might be of interest:

  • They use Linux or another non-Windows Operating System for which OpenOffice is available and would like to know more about how to use it.
  • They use more than one Operating System and see OpenOffice as good way to ensure their documents are editable across all of them.
  • They use Windows but would like to move to Linux so see the need to switch from Microsoft Office to OpenOffice.
  • They use Windows but do not want to keep paying Microsoft for new versions of Office and they see OpenOffice as a viable alternative.
  • They are interested in supporting the open document formats promoted by OpenOffice.

Since I use Linux (currently Ubuntu) as well as Windows, I probably fall into the first two of these categories.

Whilst I have previously invested minimal time in learning OpenOffice, I now feel that, with a little extra effort, I could get more out of it. To that end, I will be firing up OpenOffice more often – yes, even on Windows – in an attempt to create my documents using it and, of course, documenting my findings (positive or negative) here as I go along.