Imported From Epistula Personal

Making it easy

Ever feel like stalking me?

Now you can

Cantrip Django Imported From Epistula

Djingle Django Scarecrow

One of the concepts you may run into if you read into Python and its fans in great depth (and here I mean Python of the programming type rather than the Monty type) is that of “Guido’s Time Machine”, the number of times when you are thinking “Would it be nice if Python did this…” and you suddenly find that yes, that’s exactly how Python does it, to the point where the only way Guido could have possibly considered all this would be if he already knew.

I’m having the same kind of thing with Django. Frameworks for validation, existing user system, that kind of thing. Stuff like “Do you know what would be nice? If I could do something so that my Logged in User’s Profile appeared in the default scope of a template, so I didn’t have to pass it in every time, and keep throwing it around the program.” and suddenly, there are Context Processors.

The annoying bits are where stuff is under development, or half documented. For example, Having spent a while creating a User Profile system to associate information specific to this system (Authentication code, invite code, email me alerts, for example) and joined it one-to-one with the user system, I then find a tiny little bit of text in the User Auth system docs which says:

get_profile() -- Returns a site-specific profile for this user. Raises django.contrib.auth.models.SiteProfileNotAvailable if the current site doesn't allow profiles.

This sound really close to what I’ve spend a while doing myself, but that is the first, last and only reference to it in the docs that I can find.

OTOH, I’ve now got a system you can log into and register for, and I’ve got a deeper understanding of how Django works. Yay.

2006 Imported From Epistula


Your clocks are wrong

Computer Games Imported From Epistula

Commander Supreme

There is a new trailer for Supreme Commander, which is the spiritual successor to Total Annihilation. It is awesome, and you should see it.

Imported From Epistula Personal


So, the current plan:

Currently, I am living in a trumped-up bedsit on the outskirts of Bedford town centre, which is a) expensive, b) dull, c) far. I am working at Those who Evolve, and will be until Januaryish, when I will quit. (Again. I have been asked to stay on for a little while longer, which I am doing).

The future plan is to save up for a little while, move to Cambridge, find a new job (Preferably before I starve. Better still: before I move) and find a new reason for existence that won’t either kill or crush me. Then, armed with only a paper blanket and a book of fourteenth century predictions of flying cars, I will defeat the ancient evil that has been enslaving us for generations1, and return to find myself crowned as the one true king of all England.


[1] Myspace

Imported From Epistula Movies Personal

On tea and time

So, today I watched Kiss Kiss Bang Bang, which was funny and clever and referential (Though it didn’t reference its own name, which is a name for James Bond, which amuses me). It ignores the fourth wall on occasion, it’s well written and well plotted, and recursively referential.

This has no relation to the fact that Ruthi was watching the same film at roughly the same time, but does get filed under “scary coincidences”.

Today, my egg timer stopped.

Part of my tea making equipment – along with mug, teapot, small milk jug, battery powered slave to pick the leaves, leaf drying equipment and kettle – is a small egg timer, used for the timing of eggs. Also tea. It is not called a tea timer, because a tea timer is either for timing the time until tea or one who is going to tea because it is the correct time, so the thing that times the tea is an egg timer to tell me it’s tea time.

Do pay attention.

Now, I need a tea timer because I have the attention span of a butterfly on cocaine, and as I explained at length last time I need some thing to remind me that I am in the process of tea creation. So I boil the kettle, prepare the pot, pour in the water, turn over the egg timer, and go back to what I was doing (Which, serendipitously, is text formatting without HTML, the same thing I was working on when I wrote the original article).

After a few minutes of trying to work out why AqWiki keeps crashing out with out of memory errors with the new Textile version (Quick précis: It’s entirely insane) I realise that I should have dealt with the tea thing, glance at the egg timer and realise it’s still about halfway down.

Hmm. I’m pretty sure more time has passed than that, so I look a little more carefully.

The egg timer has, indeed, stopped. I realise this straight away.

Well, I don’t. First I look at the nearest real clock to make sure that time hasn’t just suddenly stopped, but in my defence I was reading comics most of last night and it was my first cup of tea of the day after a night of increasingly weird dreams. But then I knew it had stopped.

There isn’t much more to that, really. I disposed of the cold tea and made hot coffee instead. Time went faster after that.

Imported From Epistula PHP


For the last couple of hours, Aquarionics has been using Jim and Lissa’s TexilePHP system, which is a conversion to PHP of Brad Choate’s conversion to Movable Type of Dean Allen’s textile system (Once relased on its own, now part of Textpattern).

It’s the same system as AqWiki uses for text formating, and I used the Jim and Lissa version because it supports multiple paragraph blockquotes. (I actually installed the Jim and Lissa version for the last entry about City of Villains, because it needed a multiple paragraph blockquote).

I’ve removed it entirely from every single project I have.


Because it pushed the memory usage up by over megabytes.


The server has a limit of eight for PHP connections. Epistula, which is reasonably complicated, clocks in at 3.5 (Far less when visiting a cached page), AqWiki without textile is 1.9 – mostly due to the Pear stuff. But good grief. Textile was taking up more memory than the entire Epistula system, doubled.

Computer Games Imported From Epistula

Super Villains

The Mighty Hat was invited to join a Supervillain group.

(The Mighty Hat is a person who found a green top hat in a house clearance. The hat allows him to summon zombies to do his bidding. The hat is labelled “Baron Saturday”, so he doesn’t wear it on Saturdays because he isn’t a baron. He is one of my many and varied City of Villains Characters )

The Mighty Hat has temporarily teamed up with some more villains to do some villainy, but is currently waiting for the leader to get back from a “bio break”, so accepts the invitation.

I lasted three minutes.

It started nicely enough, with discussions on pink as a proper colour for a villain costume, black as cliche and such. Then they told me that a lot of the organising of the guild was done though a Guild Portal hosted site, so I went looking.

For the purposes of this, I’m going to pretend the name of the group is “Super Villains”. It isn’t, but it means I can demonstrate roughly what happened:

bq.. [Mighty Hat] When I search for “Super Villains” I can’t find the group.
[Group Leader] It’s there, are you searching in the CoV section?
[Mighty Hat] … yes.
[Group Leader] And you’re looking for “Super Villain’s”?
[Mighty Hat] Shouldn’t that be Villains?
[Group Leader] No. The coma is important.
[Mighty Hat] Er… It isn’t a comma, it’s an apostrophe, and it shouldn’t be there at all.

  • Snip Argument ***

    [Group Leader] Speling Nazi

  • Mighty Hat has been kicked from Super Villains.

    I was kicked from a Super Villain group for being a spelling nazi, when we were talking about punctuation. I feel so proud.

Imported From Epistula


Wearing clothes that reflect to a culture you belong to is now considered dangerous and seperatist.

Goths, please report to the nearest booth for your standard issue overalls.

Which are green.

(Also, on a related note, I’m starting a T-Shirt shop. More details soonish)

Imported From Epistula webcomics

extended ellipsi

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xkcd