Older blog entries for jml (starting at number 11)

For people rating my diary for interest, my apologies. Navel-gazing malaise is extremely tedious -- for both the players and the spectators.

In the future, I shall strive to post when driven by some other emotion more conducive to creativity.

Well, it has been a long time since I've posted here.

While you've all been sadly pining away in my absence, I have been up to sundry and divers things.


This has had an alpha released. Sadly, it seems that my main potential user base, viz Twisted itself, has started a flirtacious affair with Roundup.


Did a 50% load on the coursework in first semester, leaving me little time to do any work or reading for my thesis.

Thus, I had five exams to do. The first exam and the final exam were disasters. The first was worth 100% for that unit, Catastrophe Theory. The unit was taught in a much less formal manner than most of my other maths courses in the past (e.g. it wasn't made clear where proofs started and ended), which made it less grippy in my brain. While it seems a fairly simple branch of maths to get ones head around, I think I went extremely poorly in the exam.

The second disaster was a course on Transform Methods and Complex Variables. After taking a bit of time at the start of the semester, to start thinking in applied maths terms once again, I found it pretty manageable, although it required more work in understanding than my other pure units. However, on the day of the exam, and on the day before, I was sick, and unable to focus in the slightest.

So, this all has resulted in a fair bit of consideration about my plans for next semester: especially, whether I should continue my course in honours, given that getting "first class" appears hopeless. Especially, on top of the somewhat anti-climactic release of Issues.

[Aside: Without first class honours, it will be highly impractical for me to do a PhD, as I will not be able to get a scholarship. In the past, I have been particularly driven to do one, but have wanted to have the option open.]


Reading "The Structure and Interpretation of Computer Programs". The amount of stuff I am learning is quite disgusting in its enormity. 13 years of programming, a degree and 3 years of commercial experience, and I am learning much about the fundamentals of my trade from what I am told is a first-year text book. (Note that this is also my first serious non-emacs exposure to lisp)


This book totally rocks. Hard work, but well worth it. Up to the bit where this priest walks through town and there are all these different POVs. Amazing.

Twisted / Python

I've been doing this sort of stuff for a while. Python rocks, I love it. Twisted has it's probs, but is always getting better and is still The Framework of My Internet.

However, I'm feeling more and more like a one-trick pony. And not a very good one at that.

Dedicated to Antonio Salieri, the patron saint of second-class honours students.

Twisted Issues

Got a demo of Issues (as it stands) up and running on a public server. It's great to have something tangible for other people to see and touch. There's still a long way to go yet, but I reckon it can be done.


I didn't move house. Very frustrating. The university agency didn't have the keys ready, so everything is postponed until I can get my shit together.


My thesis is on formal languages and logic and how they interact. Lot's of work to do here, as I need to sit down and work through the basic concepts (from semigroups up). I've chosen 5 courses and been to lectures for three of them. Hopefully this will make second semester much easier.


As of last week, I am no longer working full-time. Have spent the last couple of weeks revelling in my free time and preparing for university.

Moving house again this week. Evil horrid job. The new place is a little bit run down, but it's only for a year.


Still haven't picked a thesis topic, or any courses. Hopefully I can deal with the latter conclusively this Monday, at the staff-honours meeting. Thesis will probably have something to do with semigroups.


Nothing much happening. Hope to resume work on Issues soon.


Right. Back in sunny Hobart. Christmas and New Year rocked, in a chilled out sort of way.

Am now living in a share house that looks like a white castle with some awesome flatmates. Only temporary though, gotta move out in March.

Have quit office job to go back to university and do maths honours. (i.e. more free software hacking).


I'm a Journeyer now. Cool. Thanks glyph and exarkun.

Since I last posted, Twisted has moved over to an in-house unit test framework called Trial. I wrote the base bit, and it's been improved in lots of ways by the rest of the crew. I hope to play around with it and add some funky features when I get some spare time.

Also working on an issue tracking system called Issues. It's using a Twisted framework and it's distorting my mind.

That's it for now. Until next time, remember the words of the Happy Mondays: "You talk so hip man, you're twisting my melon man."

Finishing things up in Canberra. Moving back to Hobart on Saturday. Way too much packing and cleaning to do.

Fixed the test stuff (it was my abuse).

Looks like enterprise init has no need to be deferred after all (yay!).

Initial Free Software impressions

Recently, I've started hacking on Twisted. Not in a big way, just nipping at the edges.

I'm struck by the many differences between my experiences on Twisted, and my experiences as a commercial software developer.

I suppose the biggest difference is that of relative competence. I'm used to being the most technically competent person on a project. The guy that sets up cvs and the makefiles and who people consult when they complex or obscure programming questions. In Twisted, I am a very long way away from that. I am unfamiliar with the development process, and I am reasonably new to the language. Also, there are some really, really smart people there.

Not being in charge is harder in some ways. I tend to ask for approval before I do things, and ask for advice a lot more. It also means that when I want to do something, I have to justify why it should be done. Oh, and I become mildly nervous when my finger hovers over the "commit" key.

However, the great thing about this is that I am learning a lot. Especially about design and code-craft. It's a real pleasure.

Distributed development is also pretty interesting. Things have to be expressed in a much clearer fashion, and much more work has to go into communicating ideas. I suppose this is an obvious truth. I find the discipline required unusual, but worth working on.

I've never done product development before, only doing bespoke work. Having to think about API changes and backwards compatibility and so forth isn't something I've had to do.

I still find it hard to get the time to do much productive work on Twisted, as I have only the evenings and the weekends to contribute, and focussing and concentrating after spending all day at work can be hard. Especially when you are an IRC monkey like me.

Working on Twisted has been a great learning experience. I look forward to further hacking.


Not able to focus much on the weekend. Improved enterprise reflector API in twisted, but haven't committed, as I haven't written decent unit tests yet.

Speaking of unit tests, I committed my experimental deferred test framework on the weekend. The idea is that it should make asynchronous tests synchronous, and not affect normal tests. Either it abuses the twisted reactor, or several other tests in twisted do.

I'm leaning towards "both" at this stage.

Given that I'm new here, and given the harshness of my last entry, it's probably time that I introduce / excuse myself.

I am jml. I am nowhere near as bitter as I might appear to be.

Trust me.

2 older entries...

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!