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.

BrowserAngel Imported From Epistula Personal Those who evolve Work

Rains and Pours

Busy week

Okay, right now I am unemployed. My final day at Evolving was friday. They bought me leaving presents, and beer, and we went for a drink and I will, to a large extent, miss the company and all the people in it, it’s been part of my life for a couple of years, will remain my longest continuous employment period until I’m 28 at the very least, and is a decent place. They’re looking for PHP coders, incidentally, so if you speak PHP and are willing to travel to the darkest depths of Bedfordshire, send a CV (either to them, or to me and I’ll pass it on).

But I’ve left, which took – as you may have noted – quite a while. This may mean I’ve got some time to dedicate to the site. But don’t count on it, I’ve still got NWN2 to complete.

I wandered down to London on a visiting kick on Saturday, spent an entertaining evening with Sian, flatmates & guests talking, playing pool (I’m now a member of a Pool hall in E17. E17 and Sunderland, in fact. Linked by the fact I live nowhere near either, but I digress) and watching “The 40 Year Old Virgin”, a film I liked quite a lot more than I was expecting to. Wandered over to another friend’s house Sunday morning to, in part, steal his Wii for a little while and use it to play Super Monkey-Ball, which I’d also got as a leaving gift.

Ten hours later, we stopped.

Okay, so there was food part-way though that, but still. Ten hours. It’s a very more-ish game, you’ll spend hours stuck on a single level, and then the “just one more try” – or “just one more level” – thing takes over and you’re absolutely doomed. Do not buy this game if you have something to do this week. Or own a Wii.

I do not own a Wii, for the one that I bought has ceased to exist, along with the shop of the man who sold it to me and the money I paid for it. Now I get to go though Paypal’s complaints procedure. They say the measure of a company is how they treat you when you’re complaining, and now I get to see it from this end.

On a slightly happier note, I stayed over with the Wii owning ccooke and ruthi overnight, and the next morning got a phone call asking if I would mind popping in to ccooke’s company for an interview on my way back home. So, at about an hour’s notice, I’m in the offices of a startup in Kings Cross – entirely unrelated to the last one – interviewing for the job of Web Dev. Woo.

I went home, did little for a while, and got two phone calls. The first was from the company who I was interviewing with, asking for a second interview the next – ie, today. The second, and literally seconds after I put the phone down, was an exclaimitory web based company, asking if I would go to an interview on Wednesday.

At this rate I’ll never get any time to enjoy my unemployment 😐

BrowserAngel Imported From Epistula Python Those who evolve Work

The explaination & Python

After a number of similer requests, I’ve done a Goodbye Browserangel FAQ at holistic.

I leave BA on Friday 15th October, I enter Those Who Evolve so that’ll be fun.

Today I’ve spent attempting to work out how to do Python Web Apps sensibly without being tied to Zope. I’m grasping the Python Way, I think, but I still think in PHP and Web Dev terms, so actually learning by creating a site – rather than the abstract card games I’ve been doing – would probably be more useful.

So far I’ve been playing with Quixote mostly, but since Evolving seem to have centralised on Zope, that would probably be more useful. Thing is, every time I look at it I think something along the lines of “Crikey, that’s a bit overkill for this” and look for something simpler, but the more I go into it, the more Zope looks like The Thing I Should Know, since all the alternatives seem to start with comparing themselves to it. Input from those who know more about this than I do would be handy πŸ™‚

BrowserAngel Imported From Epistula

PHP Developer Wanted

BrowserAngel is now looking for a PHP Developer

The prospective candidate will need:

  • PHP
  • MySQL
  • Apache exp.
  • CVS (Preferably admin experience, but it’s pretty easy)

    Ideally also:

    Sysadmin basics (Debian/Linux, Spamassassin, W32 troubleshooting, Samba)
    A general idea of VC++ (Not in any way mandatory, but could be useful)

    You’d be working within a small team on a Cool Thing, with any luck the Next Big Thing. Wages aren’t stratospheric right now, but possiblities could be. You’d need to either live near, or be willing to commute to, Kings Cross London.

    Send CV and cover letter to

    Nicholas Avenell, Developer/Sysadmin, BrowserAngel
    e: Nicholas.Avenell -at- t: (+44|0)20 7713 0001
    a: 212 Spitfire Studios, Collier Street, London Kings Cross, NE1 2BE

    (Disclaimer: This post is posted at the request of BrowserAngel. All will be explained)

BrowserAngel computing Imported From Epistula


I’ve expanded my empire.

For a year, the empire of Greater Developerdom within the realm of BrowserAngel has been cruelly banished to the dark corner of the room where the network switch is. Given that the development team has halved (ie, it’s now me) the time had come to strike forth into the world and reclaim as much space as I can!

Delicate hints prevailed, and we discussed moving the office around a bit. My personal preference for stealing another desk so I could have a wall of monitors between me and the rest of the office was nixed, on the basis it would leave me fenced off from the rest of the office. Bah.

Eventually we decided upon the current layout, giving me two desks, two monitors on each, three computers, and with me on a spinny-chair between them, multitasking between four different keyboards at once.

geeks out

Now to try and get LDAP auth. working…

BrowserAngel Computer Games Imported From Epistula Personal


(As promised yesterday)

Too hot to do anything, much, so lack of blogging happens. Sorry.

Actually, there’s a lot I could say, from rants on cargo-cult programming, the weird flaming hoops you have to leap though to get funding in London, and the reasons why my job has achived stablity while the location of my workplace is in a state of flux.

However, unless you have access to (My workblog, accessable only if you’re me or otherwise are inside the BrowserAngel internal network) you can’t know any of that. My aim is that in a few years I’ll be able to declassify the archives and you can see the various bits of hell I subject myself to.

I could go on a rant about the latest “Games are evil” debate, but since it boils down to “It was an 18 rated game, he was 17, he should have been near it”, I haven’t bothered.

Hot town. Summer in the city. It really is like a furnace out there, you step out of air-conditioned coolness into the white heat of a burning sun. London stops, because it’s too hot. Then it rains and the city floods and mean that the next day it takes two hours to get from LKX to Acton.

Then we have the bit where I have to build Rome in three months. Fortunatly, I can redefine Rome.

What else? Oh, remains evil, causing me to spend money. Actually, I just ended up putting Doom3, Sims 2 and Half-Life2 on preorder. So lots of money, but spread out over two months. Which is good, because I have a convention to go to later this month.

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.

BrowserAngel Imported From Epistula windows


[11:36] {gilmae} how are we all today?
[11:37] {Aq-Work} Not too bad
[11:38] {Aq-Work} Currently I’m clearing the data off a W2k box so I can reinstall it
[11:38] {gilmae} employed again, i see
[11:38] {Aq-Work} Yeah
[11:38] {Aq-Work} This job would be easier if the main drive wasn’t compressed
[11:38] {Aq-Work} Actually, it’d be easier if the machine had been built after 1998 too
[11:38] {gilmae} why, i ask?
[11:38] {gilmae} wh…ah, that’s why
[11:39] {Senji} Dh000m
[11:39] {Aq-Work} Plus, if it had more than 256mb space left on said drive
[11:39] {Aq-Work} Which is where the (compressed, note) swap would be.
[11:39] {Senji} Have I said Dh0000m yet?
[11:39] {Senji} compressed swap?!
[11:39] {Aq-Work} Oh, and it’s infested with spyware
[11:40] {Aq-Work} Plus, it’s been though two OS upgrades and three companies since it was last installed.
[11:40] * Senji hands Aq a Fuckoff Large Magnet.
[11:41] {Aq-Work} Oh, and every Prettyness enhancer is turned on, from drop shadows to Active Desktop
[11:41] {Aq-Work} s/is/was/, obviously.
[11:41] * gilmae hands Aq a new drive and a bucket of acid
[11:41] {Aq-Work} In fact, with all this, it was apparently completely usable up until last week
[11:41] {Aq-Work} when she installed a security update.

[11:43] {ccooke} so reinstall to the 10g?
[11:43] {Aq-Work} I have to make it usable first so we can drag the accounts data off to the server
[11:44] {Aq-Work} Plus, I only have an XP pro disc, and the chances of this box being able to handle XP are slim to the non-existant.
[11:44] {ccooke} πŸ™‚

BrowserAngel Imported From Epistula Work


I appear to be employed again.

Which is nice.

false alarm, again

BrowserAngel driving Imported From Epistula Work

Because it's cruel to cats (It's cruel to cats)

My back garden is a veritable feast of campanology now. Some mean, cruel and nasty person has attached a bell to one of the cats which wanders around, I watched it yesterday attempting to pounce on raindrops (Preferably without getting wet) and every stealthy step it took was accompanied by the jingling of bells. It was not a happy kitty.

Yesterday was not just a bad day for cats, in fact. It’s a long running in-joke that either me or LoneCat can be employed at any one time, and so it’s only logical that with BrowserAngel putting me on notice that they have a new grant and will be reemploying me forthwith, LoneCat has been placed on her mandatory 3 month notice of redundancy.

Not that this has stopped me applying for other jobs, I point out. Optimism is for people with savings accounts.

On top of all this, I went head over handlebars yesterday when a fuckwitted moron decided that cyclists didn’t deserve roundabouts and pulled out in front of me. My immediate reaction was to slam on the brakes, but since my right hand brake is the front brake (And I’m right handed) this didn’t have the desired effect, as whilst much of my forward momentum was curtailed, it transferred into a graceful arc around the radius of my stationary front wheel, depositing me nose to tarmac. Shortly afterwards my rucksack, which happened to be full of library books due to be returned, continued to follow its own interpretation of the laws of momentum and comedy to hit me in the back of the head.

The car behind me was tolerance itself, waiting almost two seconds after the crash before it beeped for me to get out of the way, whereupon I dragged my bruised – but otherwise unharmed – self and my unscathed cycle to the side of the road where I waited until I had stopped shaking sufficiently to go and be patronised by the Job Centre.

And the causing car? Drove off without even noticing me.

All motorists should be forced to cycle on main roads for at least two weeks every few years.