spiv is currently certified at Master level.

Name: Andrew Bennetts
Member since: 2002-03-14 08:24:02
Last Login: 2009-05-26 05:57:17

FOAF RDF Share This

Homepage: http://bemusement.org/


You can find my website, including résumé and occasional blog post, at bemusement.org.

I'm currently working as a software developer on Bazaar. I've also been developer of Twisted.

What I'm probably most proud of, though, is helping make glsnake happen ;)


Recent blog entries by spiv

Syndication: RSS 2.0

New new job

I feel like I've barely started at Sensory (which is fairly true; I've only been there since April 1st), and now I have decided to take a new job offer that suddenly sprang up and quit Sensory. I'll work from home for this new job, and the various advantages to this lifestyle are slowly occuring as I spend my last week and a bit at Sensory: being able to easily listen to my entire music collection without needing to muck about with mini-discs; being able to shop for food during the middle of the day, rather than at 6 with all the other rail commuters at Town Hall; I will be able to hop on a train and meet random office-bound friends for lunch without worrying about getting back to my office within an hour; and even more extreme flexibility in my work hours...

I'm also having fanciful dreams of figuring out a way to get a little bench or something and a laptop so I can work from the bath, but I think that's probably not going to happen.

It was a pretty stressful decision, compared to my previous "career choices" (I've never really thought in terms of trying to follow a career path and work up the management ladder, or whatever, so the term "career choices" sounds a bit odd to me). WebLink to Flow, and then Flow to Sensory were both easy decisions; neither could offer me a good prospect of long-term employment at the time I left them for a start. This choice wasn't so clear cut, but I think it was probably the right one (although staying at Sensory wouldn't have been bad, either). It's flattering to discover I'm so employable :)

I'm also looking forward to having a little more time for Twisted again; I've been neglecting it a little. My main contribution recently is probably helping Mary with random annoyances that she's bumped into while revamping the software for her website... actually, I have also participated in a couple of discussions on IRC and on the list which have been interesting, but talk doesn't really compare to code.

So, in short: Life is good.


I'm going to start work at a new company very soon — one that isn't in receivership. The new job sounds like interesting work with interesting people, and I'm looking forward to it.


Exchanged emails with Colin again. It looks like I've convinced him to use Twisted :)


Thinking of Twisted, it very recently moved to Subversion for its version control. So far, the biggest problem has been fighting the urge to say "that's fixed in CVS" or "use the latest CVS", and other phrases like that. Unfortunately, "that's fixed in SVN" doesn't have the same ring to it. Maybe I'll get used to it.

PyCon is on again, and a good chunk of Twisted developers are there again this year. Unfortunately, I'm not there with them this time. I guess there's always next year. At least Anthony is there as the token Aussie, and his talk titled "Scripting Language" My Arse: Using Python for Voice over IP looks like it will be good too.

I spent some time catching up on a few Twisted bugs and things I'd left languishing for a while... in the end, two bugs were closed and a test fixed, plus a few odds and ends that have been on my mental todo list for some time.

It felt good to be productive (seeing as work is very unproductive at the moment), although the list of issues assigned to me in the bug tracker is still depressingly long (14 items, most of them several months old).

Part of what I did today was some gardening on my proof-of-concept inetd for Twisted, which has now matured nicely. The core module is now almost trivially short. Seeing code develop into something clean, rather than grow into an unplanned mess is very satisfying. Of course, there's not much need for an alternative inetd implementation, but it's nice to see that it's now dead easy to write with Twisted.

Woo! Twisted 1.2.0 is released. This release has a special place in my heart, because I've finally gotten my first Quote of the Release.

13 Feb 2004 (updated 13 Feb 2004 at 03:25 UTC) »

Zope 3 sprint

I spent most of a week in Melbourne for the 2nd Australian Zope Sprint. I've been lurking on the zope3-dev mailing list for a long time, but never really spent any effort to get familiar with Zope 3, let alone get involved. It's been on the infamous mental TODO list...

The first three days of the event were a tutorial on Zope 3 by Jim Fulton, with regular "hands-on" sessions. Probably the pace could've been a little faster, but I thought the tutorial was very good, and Jim is (unsurprisingly) very familiar with the material, and makes a good teacher. As someone who currently earns money developing on Zope 2, Zope 3 looks really really nice. Trading multiple inheritance madness for interfaces and adapters looks like it's paid off really well.

The next three days were the sprint. I volunteered to work on object location events with Mike, but that quickly turned into working on adding "subscription" adapters to Zope's component system, because it turned out to be a necessary prerequisite. Jim had planned to implement partial adapters for some time, and thought that was what we needed, but after some discussion it became clear that there were two different behaviours, and we decided to call the one we needed "subscription adapters". Partial adapters can wait until another day, but hopefully some of our work can be reused for that.

We got to the point where we had largely implemented the ability to use subscription multiadapters to replace the IAddNotifiable interface — so that code can register an interest in, say, "object moved" events for a specific instance, or maybe all objects of a certain type, by registering a subscription adapter from (SomeObjectType, IObjectMovedEvent) to ISubscription. The previous scheme required that an object implemented IAddNotifiable, which doesn't help much if a third-party object, like a catalog, wants to know about events on an object. Unfortunately, we didn't get as far as converting any existing uses to the new infrastructure. I hope to get around to finishing that soon.

Every night we went out for dinner at a cafe or restaurant somewhere. Usually we'd go to somewhere on or near Lygon St, which was packed with Italian restaurants and was the closest place. Eating out with people is always enjoyable; it's a pity I can't really afford to do it all the time. It suits lazy people that enjoy eating (like me) very well :) It's also a very pleasant way to spend some time with interesting people you meet at conferences like these. I find pubs and bars tend to be too noisy to allow groups of more than 3 or 4 to talk meaningfully. Thinking of people, it's good to have finally met Anthony, who is a fellow Australian Twisted hacker... if you're going to PyCon, make sure you see his talk on shtoom titled "Scripting Language My Arse".

Planet Twisted

Thanks to hypatia, Twisted has joined the planetary system with Planet Twisted. This entry is partially written just so that I will finally appear on it, even though it's barely related to Twisted ;)


Post Linux.conf.au, I was nicely energised for random projects. I mucked about with glade a bit (with no actual results — yet), and played with D-BUS's python bindings, which are written in Pyrex, so I got an excuse to learn that, too. Unfortunately, starting lots of cool mini-projects isn't the same as finishing them. I need to find some motivation to sit down and do that at some point. Wanting to port small(ish) projects like pyDHCPd and archd to Twisted [Memo to the universe: Python probably doesn't need yet another networking framework. Please look around before writing your own] gives me more things to start, rather than more time to finish what I've already started. Hopefully I'll manage to finish a few things soon.


Blah. The current situation is pretty demotivating, but it should all be resolved, one way or another, soon. Life goes on.

11 older entries...


spiv certified others as follows:

  • spiv certified spiv as Apprentice
  • spiv certified itamar as Journeyer
  • spiv certified raph as Master
  • spiv certified glyph as Master
  • spiv certified hypatia as Apprentice
  • spiv certified jml as Apprentice
  • spiv certified z3p as Journeyer
  • spiv certified carmstro as Journeyer
  • spiv certified Cantanker as Apprentice
  • spiv certified robertc as Journeyer
  • spiv certified ctd as Apprentice

Others have certified spiv as follows:

  • spiv certified spiv as Apprentice
  • hypatia certified spiv as Journeyer
  • Liedra certified spiv as Apprentice
  • dmerrill certified spiv as Apprentice
  • jdub certified spiv as Journeyer
  • jaq certified spiv as Journeyer
  • mulix certified spiv as Apprentice
  • itamar certified spiv as Journeyer
  • glyph certified spiv as Journeyer
  • danf certified spiv as Journeyer
  • z3p certified spiv as Journeyer
  • Cantanker certified spiv as Journeyer
  • wspace certified spiv as Apprentice
  • ctd certified spiv as Journeyer
  • robertc certified spiv as Master
  • oubiwann certified spiv as Journeyer
  • jblack certified spiv as Journeyer
  • arabuss06 certified spiv as Journeyer
  • sqlguru certified spiv as Journeyer
  • jnewbigin certified spiv as Journeyer
  • ianclatworthy certified spiv as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page