All articles

  1. Re-raising Exceptions

    After reading Chris McDonough’s What Not To Do When Writing Python Software, it occurred to me that many people don’t actually know how to properly re-raise exceptions. So a little mini-tutorial for Python programmers, about exceptions…

    First, this is bad:

    try:
        some_code()
    except:
        revert_stuff()
        raise Exception("some_code failed …
  2. FlatAtompub

    A little while ago I decided to whip up a small Atompub server to get my head around the Atom Publishing Protocol. I called it FlatAtomPub because it was just storing stuff in flat files. I’m not committing to that name. It was also a chance to kick the …

  3. lxml.html

    Over the summer I did quite a bit of work on lxml.html. I’m pretty excited about it, because with just a little work HTML starts to be very usefully manipulatable. This isn’t how I’ve felt about HTML in the past, with all HTML emerging from templates …

  4. Workingenv is dead, long live Virtualenv!

    A lot of people have found workingenv useful, but it’s always been a bit fragile. If you’ve seen the .../site.py is not a setuptools-generated site.py; please remove it. message, you know what I mean.

    For a while I tried to refactor and improve workingenv, but it …

  5. Logo

    So Logo is 40 years old. I’ll take this as an opportunity to talk about Logo-the-language (as opposed to Logo-the-graphics or Logo-the-educational-experience). It’s a much better language than most people appreciate.

    Logo is Lisp. It’s an old Lisp but it’s very Lisp. Let’s look at …

  6. Prism

    I’ve seen talk of MS Silverlight and Adobe AIR. People talk them up like the future of web applications or something. I don’t know much about them, but I almost completely certain I don’t want anything to do with them.

    Here’s a general rule I have …

  7. What PHP Deployment Gets Right

    With the recent talk on the blogosphere about deployment (and for Django, and lots of other posts too), people are thinking about PHP a bit more analytically. I think people mostly get it wrong.

    There are several different process models for the web:

    1. CGI, where every request creates a new …
  8. Documents vs. Objects

    Let’s imagine we live in a late binding world, a programming world of messages, what should that look like? What does it look like in the large?

    The Smalltalk notion of this is many, many independent referencable objects. Objects all the way down. So you might get something like …

« Page 3 / 16 »

This is the personal site of Ian Bicking. The opinions expressed here are my own.