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.
  • 1/4 teaspoon ground cinnamon.
  • 3 cloves.
  • 1/4 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 geocaching.com 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.

Tuesday, 22 June 2004

Nokia M11 Interface Address via SNMP

I used to use a Nokia M11 to connect to the Internet. The M11 acts as a router, so the IP address of the router on the Internet bore no resemblance to the IP address of my computer. However, I needed that external address to send to DynDNS.org.

The M11 supports SNMP, so I wrote a short shell script using NET-SNMP. It finds the external IP address in two steps:

  1. Loop through the network interface descriptions under ifDescr to find the ifIndex of the PPP interface.

  2. Loop through the IP addresses under ipAdEntIfIndex to find the matching index, and get the IP address of the selected interface from ipAdEntAddr.

The command line syntax has probably changed since I used this program, so you might need to make some minor changes.

Friday, 7 May 2004

Friday, 20 February 2004

Python fcrypt

I’ve written a pure Python implementation of the Unix crypt(3) algorithm, and packaged it with Distutils and with doc strings for pydoc and doctest. It’s based on Eric A. Young’s optimised fcrypt code, which was written in C.

Download the most recent version:

There are some known problems with this software:

  • The bitwise arithmetic relies on the specific behaviour of Python 2.2 and earlier when overflowing an integer on 32-bit architectures. Python 2.3 works the same but generates a very large number of warnings. Python 2.4 converts many of the intermediate results from the int to the long type, which still works, but is a bit slower.

    Since I don’t really understand how the original algorithm and C code works, fixing this is quite difficult for me.

  • If you try to use MD5-crypted passwords which use a salt beginning with $1$, the current version uses $1 as the salt, and the DES crypt algorithm.

In view of the preceding points, and the low security provided by the DES-based password hashing algorithm, I recommend that you use Michal Wallace’s md5crypt unless you really need compatibility with other software using the same algorithm. In a future version, I may try to provide MD5-based hashing in addition to the current algorithm.

If you’re still on Python 2.3 and you’d like to just get rid of the warnings, you have two options. You could add a command line option when you start Python:

    python2.3 -Wignore::FutureWarning:fcrypt ...

Or you could include extra code before importing the module:

    import warnings
    warnings.filterwarnings('ignore', '', FutureWarning, 'fcrypt$', 0)