Other articles

  1. Non-tracking blog

    My website and blog were hosted by Google, which tracks people on an industrial scale. So I've now moved to GitHub Pages using a site that's statically generated using Pelican. GitHub Pages have better privacy than Google, but the deeper point is that a static site stored in a git …

    read more
  2. On URLs

    Trailing slashes

    According to RFC 3986 the following two URLs are not necessarily equivalent:

    • http://gigask.foo/organizations/3
    • http://gigask.foo/organizations/3/

    But most users would think the two were equivalent. What's to be done? I think the RFC should have said that the first should be normalized …

    read more
  3. House Manual


    There are 3 rubbish containers:

    Black Box

    This is in the cupboard under the stairs and there's a list of what can be put in it. For tin cans, bottles etc, make sure they've been cleaned in the dishwasher before you put them in.

    Green Bin

    This is the …
    read more
  4. Haskell

    An aide memoire.

    l = [1, 2, 3]

    All elements must be of same type. Length doesn't affect the type.

    areaCirc r = pi * r^2

    Type names always start with a capital letter.

    Parametric polymorphism (generics)

    length :: [a] -> Int

    Type constraint after :: and before => 
    (+) :: (Num a) => a -> a -> a

    Num is …

    read more
  5. Earliest Memories


    When I was born we lived on a narrow boat. I can't remember anything from this time.

    Ensley Gardens

    Or 'Ensley Gargens' as we said as kids, and my parents picked up. I can remember walking in from the back garden, crossing the threshold of the door, with the …
    read more
  6. Creationism

    I'm about to go to a talk by Stuart Burgess on Intelligent Design. It seems to me that one of the reasons why evolution is a better theory than ID is because ID begs the question, 'Who designed the designer?'. Burgess would probably reply that if there are instances where …
    read more
  7. To Do

    • A wiki for documentation. The thing is that you need to be able to easily copy over the docs from the previous version. Perhaps using tags?
    read more
  8. Sleep

    My symptoms are that I'm waking up in the morning with a dull headache, and then I feel
    sleepy and irritable throughout the day. This happens every day. It started a few months ago.

    The same symtoms occured a couple of years ago and I went to see my doctor …

    read more
  9. CV


    Following a degree in physics I pursued an interest in computer software, working on an ERP (Enterprise Resource Planning) application in the C programming language. In 1996 I started writing web applications for Open World, an online marketing company for the luxury travel industry. I …

    read more
  10. Public Transport 2.0

    What follows is a business idea that you can start implementing today. Please get in touch if you'd like my help to get it going. I can do the computery bits but I'd be out of my depth doing the rest.

    The current situation

    Where I live in the UK …

    read more
  11. Matter and Information

    Here are two lists:


    • Cars
    • Houses
    • Food
    • Electricity
    • Clothes


    • Software
    • Music
    • Books
    • Encyclopeadias
    • News
    I think that everything in the economy can fit into these two categories of Matter and Information.

    Cost of copying

    If an item can be copied perfectly with near-zero cost, it's information, otherwise it …
    read more
  12. Web Apps

    This is how I'd like various web apps to work.



    • The URLs to the pages would be constructed in accordance with DesigningURLs. Each page would be assigned a serial number. This number would never change. There would be no renaming of URLs.
    • It should be …
    read more
  13. XSL and JavaScript

    To get an XSL stylesheet to output XML with JavaScript in it, do this:

    <?xml version="1.0" encoding="us-ascii"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" doctype-public="-//W3C//DTD XHTML 1.1//EN"
            doctype-system="http://www.w3.org …
    read more