aqWiki BrowserAngel Larp programming Projects Python

Week One

Daily posts are not interesting, and I’ve got the same problem as Norm, to some degree. I’ve got dozens of projects I’m working on, some of them professionally, so I’m going to try weekly updates, with the hope that with those come progress.


Project Sย is the company I’ve been working for, for the past year. They have a thing, and I’ll be explaining more about that thing the more public we are about it. The last week I’ve been mostly fixing communication issues with our API server (Beehive) and the Media server (Warehouse). Both are Flask-based python applications backing on to a shared CouchDB cluster, and I’ve been working on getting the transcoding services (Thumbnailing, indexing, that kind of thing) to communicate back to the main systems. It’s uncovered an interesting series of security context issues, and some horrible things around EXIF, where finding out if an image is the same way up it started has become troublesome.

My long running project for the other company continues. There is light at the end of the tunnel. I fear the light, now.

New things? Ansible, this month, and also looking at front-end javascript libraries like KnockoutJS. This year I have learnt a lot about Symfony 1.3. None of it good.


AqWiki Wetired

Over ten years ago, I created AqWiki, a PHP3 based, textile formatted basic wiki system. Originally as a replacement for BrowserAngel’s TCL-based wiki system, it contains structural flaws caused by being written for PHP3, conceptual flaws due to being written by me ten years ago, and security flaws due to being written by me in PHP3 ten years ago. However, one of those flaws is a slightly baroque SQL schema, and so writing an export of it has been hard, and writing an importer for any better wiki software harder still. However, my current saviour is Gollum, which is a git-backed wiki system. So, I have written an exporter for AqWiki to Gollum. It’s not perfect – There are a few formatting inconsistencies, and I need to fix some double-quoting issues – but it’ll get me off my own NiH platform, and into a new and better world.

More usefully, it’s meant digging deeper into gitpython and some more knowledge about how git works internally, which improves my ability to help others get out of git-holes.

Moving My Lampstand

Lampstand is an IRC bot I originally wrote for a channel I was on some time ago. Since then, I’ve taken over as Responsible Adult for the channel, and it’s become somewhere halfway between a utility bot, toy and mascot. It’s also rotting a bit, since the Twisted framework it’s built on never liked IRC much, and I’m using an outdated version. It’s never really needed deep enough development to keep me from working on the live bot, and it’s a toy, but a rewrite of the core is going to involve spreading the parts on the floor a bit and risking oil on the carpet, so I’ve built it a nice Vagrant virtual environment builder, which has the nice side effect of encouraging the people who report bugs and are able to fix them to be able to do so.


Empire Wiki

The empire plot wiki was getting occasional errors, so I bit the bullet and ran an upgrade of Mediawiki on it.

This will teach me to be quite so fucking stupid.

Everything broke, from the custom theme to the database access, the bugs still existed, and the search functionality – using a Lucene backend – was still entirely fucked. So I fixed what I could, ripped out Lucene in favour of the normal mediawiki search (which sucks, but at least was updating) and backed away slowly.

Then backed back in even more slowly when I got more reports of white-outs of death from updating articles. Fuck everything to do with mediawiki, slowly and with corkscrews.


Me and Mr Cooke have been batting around the concepts for a Scifi larp game for a while, and so I decided to put some of my initial thoughts into short textual illustration, which has raised some interest and caused a number of discussions on the metaphysic and how our Sci Fi universe works. Next steps are to turn it from a universe into a larp game, because I don’t have enough of those.

Aquaintances aqWiki Imported From Epistula Personal Projects

My Terribly Organised Life II

It’s Been a while since the first one, so some updates.

Operating System

Home is Windows duel booting with Ubuntu, mostly in Windows since the main use for the machine is Games and Web, and since Web is Firefox, Windows means I can do everything, Linux means I have to switch to Windows for games, so it remains in Windows by default. Ubuntu is there when I need to isolate myself from the games to get some work done. But for today, there’s Bioshock.

Work is a Macbook, and so runs OS X. I no longer have a Powerbook at home ๐Ÿ™


On OS X I use BBEdit. Windows I still – after seven years – use EditPlus. Under linux I use Kate. Under all of the above I use vim also.

I will – I maintain – one day learn how to use vim well enough as a multiple document editor to switch to it full time, Today is not that day.


Email is sent from all the servers I get things at to a collection point on Cenote – my hosted machine – and there forwarded to GMail, which is now my primary email client. Between my phone, work, home and cafés, the main downside of web-applications – that you can’t access them offline – simply doesn’t apply to access to my email at the moment, and once they add Google Gears (Offline storage) to GMail, it’ll be – to a large extent – solved.

Personal Organisation

I never used Google’s Calendar site before, but work tend towards it so I linked up my accounts, and it’s become my primary organisation tool.

GCal syncs with iCal both ways thanks to Spaning Sync – Once Leopard is released, Google will probably start supporting the open Apple iCal Server stuff and this can be done nativly – and to Outlook with the Open Source Remote Calendars addon.

My Phone is an O2 XDA (AKA HDC “Wizard” model) running Windows Mobile 2005 – which doesn’t quite sync to mac yet but will sync to my home Windows machine where it can sync calendars from Outlook. This is overly complicated, and I look forward to the day when I can sync all my devices from one machine, preferably a mac. My iPod also contains my calendars and contacts, again thanks to iCal.

Todo lists live on my phone, they sync with nowhere. This doesn’t work well, and I frequently forget to do things.


I have a Global directory, containing Music, Documents and Projects which is rsynced to a server hosted by Bluehost, which gives 100G of space to play with for not much per month. Since I only got this a couple of months ago, I’m still rsyncing data to it, but eventually I will keep data synced across the external drive on my laptop at work (Music), my home machine (All Directories), Laptop (Documents and Projects), and development & hosting servers (Projects). I also need to add the Photos subdir to that, and automate the rsync process (rsync being done with cygterm (In conjunction with Puttycyg to replace Windows’ gods-awful command line).

If I need to access this – or any – external data, I can mount it over SSH as a drive. On linux with vfs, on OS X using macfuse, and with Windows using SFTPDrive, the latter being something I’m pretty sure should have an open source alternative, but apparently doesn’t, presumably because creating windows filesystems is apparently a headache from hell. All of these allow me to mount an external SSH server as if it were a locally connected hard drive, which is awesome.




  • Linky – Open Currently Selected Links In Tabs
  • Wesabe – For uploading my bank statements. I’ll have an article about this soon.
  • Firebug – The main problem I have with this now is that I can’t work without it.
  • IE Tab – Until Firefox finally takes over the world and I every site works in Fx, I have this under Windows.
  • Reload Every – Reload current tab every X seconds. Useful when debugging.
  • FoxMarks – Syncs my bookmarks file so they’re the same from all my various browsers. Handy.


    I still have an Aqwiki install which runs about a half-dozen sites – like – including a private auth-only one. Comics are still being managed by an evolution of the same script I was talking about in 2004, which is now at I moved from Bloglines to Google Reader a while ago – and have plans to resurrect the Aquaintances project to use Google Reader as a feed database (Meaning it will become an offline-reader for Google Reader, as well as it’s own coolness).


    OS X

  • Sticky Windows – Turn windows unto tabs at the side of your screen,
  • SSH Agent


  • Screen – Under which:
    • IRSSI
    • SLRN
  • Mutt


    • Putty – PuTTY makes Windows usable.
    • Ultramon
    • uTorrent
    • AVG
    • Civilization 4
    • Lord of the Rings Online
    • Neverwinter Nights 2
    • City of Heroes
  • Bioshock

    Stuff I’ve never heard of


aqcom aqWiki Cantrip computing epistula escape forever Imported From Epistula quoth web development

Mod Rewrite as a virtual hosting environment

So, I’ve now got control of is going to have a number of subdomains, and I don’t really want to muck around with apache every time I want to add one, or get my Friendly Neighbourhood Sysadmin to do so.

Instead, I want mod_rewrite to do it, which it does. I have a virtualhost that handles *, and passes it on to the following .htaccess file:

RewriteEngine on
RewriteRule     ^.**$        -       [L]
RewriteRule   (.*) %{HTTP_HOST}/$1

Which redirects “” to ”~/sites/istic/”, which is what I want.

That shouldn’t have taken as many hours as it did, so I’m writing it down.

Secondly, I’ve moved my braindump – – to a temporary new home whilst the DNS resolves. By the wonders of my new domain name, it’s temporarily housed at which is possibly the best subdomain ever ๐Ÿ™‚

So, my personal “hire me” site could go to “”, I could move all my open source projects to “”, set up a site about religion at ritual.istic, head of into the futur.istic and be all m.istic about it and whenever I got fed up with the whole blogging thing and needed to move, I can always go ball.istic.

This isn’t actually far from the plan, which is to move the far flung tin-pot empires of AqCom that are getting lost under five years of journal archives & articles, and move them to their own domains – or subdomains, or sub-subdomains – where they can live happily ever after.

aqWiki Imported From Epistula

AqWiki release – beta testers wanted

I’ve released the very first version of AqWiki (Version Prerelease Alpha Milestone Zero Beta, not to underline the whole “Not final” thing too heavily. Or anything).

I’m looking for people to download it and run though the install instructions and report any problems to the bug tracker. It requires Linux, PHP, MySQL & Apache, and testers will earn my eternal gratitude and stuff.

aqWiki BrowserAngel Imported From Epistula Work


So, if you’ve been unemployed for three months, how do you afford to buy the train ticket to get you into work for the first week back?

Once again, I’ve found, applied for, interviewed for and got a job (Okay, they weren’t all the same job this time, but still) in the time it’s taken the Job Centre to process my Dole claim. As a result, I can’t buy the ticket to get to work.

So, we found a solution. Easy. Get a Season Ticket form, get our office to fill it in with all the credit card details and send me trundling off to buy the ticket. This morning…

No, they said. They needed, they said, the card itself to swipe though the machine, which I didn’t have. So I went home and phoned them up, ordered the season ticket, giving them the credit card details over the phone, and they’re now posting the ticket to me.


AqWiki got another round of updates, including the prep for the first public installs, indexing being unbroken for the new base system (was broken for oneWiki) and such stuff. On target for provisional release date. Scary.

aqWiki Imported From Epistula

SQL Problem

Okay, I’m working fixing bugs in AqWiki before I release, and one of the major ones is that currently the Search function requires MySQL4’s subqueries (Actually, the whole thing requires MySQL at the moment, but that’s a post-1.0 issue) and I’m trying to de-subquery the query, but it’s not working, so I’m throwing it out in the open to see what happens.

This works, but relies on Subqueries which I want to avoid (Or at least support people not having)

SELECT,, wikipage.created,
	max(revision.created) as revised, revision.revision
 FROM revision
	wikipage ON =
	and revision.revision =
	(SELECT max(r2.revision)
		from revision as r2
		where =

 WHERE content LIKE "%TODO%"
	AND wiki = "personal"

This doesn’t work (the second AND statement isn’t valid) but it’s basically what I want to do:

SELECT,, wikipage.created,
revision.created as revised, revision.revision, max(revision.revision) as toprev
 FROM revision
	wikipage ON =
 WHERE content LIKE "%TODO%" AND wiki = "personal"
	AND revision.revision = max(revision.revision)
 ORDER BY revision.revision desc;

Any ideas? (Yes, I know I should use fulltext instead of LIKE, that’s next on the Big List Of Bugfixen Before We Go Live)

In case it helps, the Table structure is now online

aqWiki Cantrip Imported From Epistula Personal Projects


It’s been a productive weekend.

LoneCat has done tidying, and I have assisted. I have made Pie (of all of Easter, Apple, and Chocolate derivations), read books, reformatted and reinstalled my Windows XP install, and even completed a project (The largely ignored Mockingbird’s Wish, below).

I’ve abstracted the data layer from the logic layer in AqWiki, and fixed all the bugs I could find that this caused, I’ve finished the SQL version of the Cantrip (Previously “PFD4-II”) data structure (more on that when I’ve actually used it). I’ve installed a Playstation Emulator, played Final Fantasy 8 for a while, and then dumped both on the grounds that playing a 60 hour game is bad enough, but having to play each second twice because the emulator crashes is beyond the pale. Especially if you have a working PlayStation downstairs.

I’ve archived four years of projects, sites and ideas into a new structure, cleared four entries off my “Long Term Tedium” todo list, fixed a number of logic bugs in my mail setup, written the outline for the second major section of the Novel Known As Final Frontier and named some of the the ships within it.

I’ve even worked out the motive for the protagonist of Toffia, and that’s been bugging me for years.

I’ve half written a LotR parody in which the ringwraiths visit a lost property office.

But mostly this weekend I have been obsessively compulsively worrying about how I did in the interview on Friday, and checking my mail every three to five seconds to see if an offer got lost in the post.

But that was just displacement activity, obviously.

aqWiki driving Imported From Epistula Movies RPG


  • AqWiki 0.3 delayed due to an authentication bug, no thanks to the zero people who followed the link on Thursday
  • Examine the logo carefully, since that is the last use of the old Aquarionics logo. Two weeks of Other Things, then the new logo debuts.
  • All moterists who think that it is appropriate to overtake on the inside, at the approach to a roundabout, at the top of a hill are to report to the bladesman for extremity removal. Even if the person you overtake is a cyclist.
  • Starsky & Hutch not a good movie, but is still worth seeing.
aqWiki Imported From Epistula

AqWiki 0.3b

AqWiki 0.3 is about to be released, if anyone would like to see if they can break it before I do so, there is a test installation here

Dump anything you find that’s interesting into the bugs page

aqWiki Imported From Epistula internet Projects webRPG

Those who resemble spammers from a distance

So, one of my major projects at the moment is to rearrange my online existance away from Aquarionics. Aquarionics remains as it is, mostly, but all the extra things (Like PFd4, ForEver and the forthcoming projects codenamed Touchstone, Threadnaut, and Angelica to move to a whole new domain – and empire – known as will have an integrated login system – so if you have an account on one, you have an account everywhere – and with this was going to come logging in for putting comments on Aquarionics.

This was never, and will never, be a requirement to comment here, but registering – which would be beside and an alternative to the “User/Email/Webpage” would give you certian benefits, like an extended triggers interface (Recieve an XML-RPC ping,SMS Message or email whenever this range of things happens) the ability to edit your comments (With revision control) and – if the spam gets too much for me – I can always turn off URL display for non-istic users for a time without losing any actual content.

Typekey, however, I’m against for anything outside Typepad, because it appears – at first glance, so I could be wrong – to be an all or nothing. You have to register to comment. Actually, “You have to register to post comments on anything more than $foo days old” might be better, but we shall see.