Other articles


  1. os.popen considered harmful

    os.popen uses the shell by default, and unlike subprocess.Popen, has no way of disabling it. Problems can occur when the program you are trying to run does not exist or is unable to be ran due to a permissions issue.

    Consider the following example function:

    def logged_in_users():
        users ...
    read more
  2. normalizing ipv6 addresses

    One of the first steps in groking ipv6 is getting a handle on ipv6 addresses.

    The 'dotted quad' notation for ipv4 is fairly simple, and other than possible zero padding issues, they all look the same. ipv6 addresses are a bit different. Rather than a dotted quad they are 8 ...

    read more
  3. Debian/kFreeBSD

    A few days ago I installed Debian/kFreeBSD on my home server. It had been running opensolaris for years, but doing just about anything on that system was a complete pain in the ass. I had been meaning to give Debian/kFreeBSD a try, but had been putting it off ...

    read more
  4. Playing with blogofile

    Reworking my much neglected website with blogofile. Ikiwiki is great, but I never really did anything with it. Blogofile is written in python and uses mako, two things I use in almost every project.

    Nice page titles

    The first thing I wanted to do was fix the page titles. Blog ...

    read more
  5. Shared HTTP Caching

    I've been wondering why the web doesn't have a mechanism for uniquely identifying a resource by a means other than its URL. I think if such a thing existed, then HTTP caches for common files could be shared between sites.

    There has been a push lately to let ...

    read more
  6. Remap capslock to z

    My 'z' key has been (physically) broken for a while now. Generally this isn't a problem because there aren't that many places where I need to type a 'z' that I can't autocomplete it. Between tab completion in the shell, and the irssi dictcomplete plugin, it hasn ...

    read more

Page 1 / 1

social