Thursday 2 June 2016

Since it doesn’t all seem to be documented in one place, here’s how to install Debian GNU/Linux from a USB key install of a DVD, but using UEFI. This supplements the “Manually Copying Files to the USB Stick” section of the manual.

You will need:

  1. A FAT-formatted USB flash drive.
  2. An amd64 network install ISO image from, or a larger CD or DVD installer image if you already have one.
  3. The latest GTK initrd.gz and vmlinuz images from
  4. The latest version of Syslinux from
Format the flash drive, then create a new directory efi/boot on it. Copy these files:
  1. vmlinuz and initrd.gz into efi/boot.
  2. From Syslinux, efi64/efi/syslinux.efi, renamed and copied to efi/boot/bootx64.efi.
  3. Also from Syslinux, efi64/com32/elflink/ldlinux/ldlinux.e64 copied into efi/boot with the same name.
  4. And the ISO image into the root of the flash drive.

Create a new text file efi/boot/syslinux.cfg with these contents:

LABEL linux
 KERNEL vmlinuz
 INITRD initrd.gz
 APPEND vga=788

No other steps are necessary to make the flash drive bootable. Perhaps after disabling Secure Boot, any recent, reasonably compliant PC will boot directly into the Debian installer.

Tuesday 4 March 2014

Notes on installing node-ffi on Windows

Summary: it was a lot more trouble than I expected.

There are three main things I did to stop npm install ffi from failing after an “MSB8020” error about the v100 Platform Tools not being available:

  1. I updated npm’s bundled node-gyp, although I suspect this made no difference.
  2. I repaired my installation of Visual Studio 2013 Express to clean up from my previous attempts to install Visual Studio 2010 at the same time.
  3. I failed to install the wrong Windows 7 SDK, failed to uninstall it, succeeded in uninstalling it, and installed the right version of the Windows 7 SDK, as linked from the Mozilla Developer Network documentation about Windows SDK versions.

Tuesday 10 April 2012

NTLM Proxy Authentication with Google Cloud Connect

Google Cloud Connect would be useful software at work if it supported our proxy server properly. Unfortunately, it doesnʼt support integrated Windows authentication, and to provide a username and password, you have to specify a proxy server explicitly and it doesnʼt work from home. Hereʼs how to make Cloud Connect automatically detect the proxy server settings while signing in automatically too.

The secret to fixing it is to that Cloud Connect runs on Microsoft .NET and uses the System.Net HTTP classes to communicate with the Google servers. To configure the proxy, youʼll create an application configuration for Microsoft Excel, PowerPoint and Word, and set the useDefaultCredentials attribute on the <defaultProxy> element. You could also edit the machine.config file, but this file affects the entire system and can break rather a lot of unrelated applications, so I prefer not to.

First, create a new file called WINWORD.EXE.config using Notepad or your favorite alternative, and copy and paste the following text into it:

  <defaultProxy useDefaultCredentials="true">
   <proxy usesystemdefault="true"/>

Make sure the file is not accidentally called WINWORD.EXE.config.txt by showing file extensions in Windows Explorer.

To use this configuration, copy it into the same directory as WINWORD.EXE. For 32-bit Office 2010 with the default installation path on a 64-bit system, this will be C:\Program Files (x86)\Microsoft Office\Office14\. Then rename the original file to EXCEL.EXE.config and copy it to the same directory, and finally do the same using POWERPNT.EXE.config as the file name.

You should now be able to restart Microsoft Office, and edit files on Google Docs without putting your username and password into the Cloud Connect proxy configuration.

Monday 2 January 2012

Recipe: Burger Patties

Low carb, gluten free hamburger patties for our whole family.

You will need:

  • 400g cheap minced beef
  • 3 cloves of garlic, crushed
  • ½ teaspoon mustard powder
  • ¼ teaspoon ground black pepper
  • a pinch of paprika
  • 1 small egg

Combine all ingredients and mix well with your hands. Separate the mixture into balls about 5 cm across, or about 60 g.

To cook, flatten the balls to less than 1 cm, and cook with a little dripping on a frying pan or barbecue until done, turning once when the bottom is brown.

Uncooked patties can be frozen with baking paper between them.

Saturday 29 October 2011

Recipe: Lamb Rogan Josh

This recipe is based on the excellent Route 79 Rogan Josh recipe, updated to ensure it contains absolutely no chilli or wheat products, so my wife and kids can eat it. It’s one of the kids’ favorite meals, and the only way Trina will eat lamb.

This recipe makes far too much, so we freeze the extra for another few kids’ meals when they’re tired and we don’t have time to cook.

You will need:

  • About 700g of lamb.
  • A thumb-sized chunk of ginger.
  • Two or three cloves of garlic.
  • 2 teaspoons salt.
  • 1 teaspoon turmeric.
  • 4 teaspoons whole coriander seed.
  • 3 teaspoons whole cumin seed.
  • 3 cardamom pods.
  • ¼ teaspoon ground cinnamon.
  • 3 cloves.
  • ¼ teaspoon peppercorns.
  • A pinch of ground nutmeg.
  • One star anise.
  • One bay leaf.
  • Chilli powder to taste.
  • One large onion.
  • A sploosh of oil.
  • Two 400g tins of chopped tomatoes.
  • A cup or so of coriander leaves (cilantro).
  • A large pot, and a couple of hours until dinner
  • A cup or so of basmati rice.

Remove the lamb from the bone, and chop it into bite size pieces, removing the worst of the fat. Roughly peel then grate the ginger with a Microplane or similar, peel and crush the garlic, and grind the coriander seed, cumin seed and pepper in an electric grinder.

Sploosh some oil into the pot, and chop the onion while it is heating. Fry the onion with the garlic and ginger until it goes soft, then add the salt and all the ground spices and keep frying. Some of the spices may stick to the pot, but keep stirring to make sure they don’t burn.

After a few minutes, add the lamb, the bay leaf and the rest of the spices. (Keep the coriander leaves for later.) Keep stirring while browning the lamb. As the fat cooks off the lamb you should be able to start scraping off any spices that were stuck to the bottom of the pot.

Once the lamb is browned and coated with the spices, add the tins of tomatoes. Put the lid on the pot and bring it to the boil, then turn it right down. Put the rice in lots of water to soak.

Let the pot simmer quietly for half an hour, then give it a stir. After another half an hour, chop the coriander leaves and stir them in, then keep cooking, stirring regularly to make sure it doesn’t catch. Drain and rinse the rice, and start cooking it however you prefer.

When the rice is done, serve it with the lamb on top, and put any leftover lamb in the freezer for later. Try not to serve the bay leaf or the star anise to the kids. Enjoy!

Thursday 26 January 2006

Greasemonkey User Scripts for Firefox

Greasemonkey is an extension for the Firefox web browser that lets users run their own JavaScript programs on any or all web pages they visit. I've written a few Greasemonkey scripts, two of which are listed below.

For more information about Greasemonkey, see one of the following links:

User Scripts

After installing Greasemonkey, click the user script name below to view and install the script.

IBM Infocenter Cleanup
Makes the IBM Information Centers easier to use by removing the large header, and making sure the navigation and content have white backgrounds.
Geocaching Google Maps Travel Bug
Adds a link to the Trackable Item Options on to open travel bugs tracks in Google Maps, as well as Google Earth. See Pop’s Green Jeep Racers Geocoin for an example.

Tuesday 5 October 2004

Wikipedia Search Plugins for Firefox and IE 7+

This is a collection of search plugins for Wikipedia for a selection of languages. Other versions of some of them are available from from Mycroft.

These days, you’re best to install the search plugins directly from Wikipedia.

Select a site from the list below to install the search plugin.