Older blog entries for jml (starting at number 8)

Personal

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.

University

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.

Twisted

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

Personal

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).

Twisted

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.

Twisted

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.

8 Nov 2002 (updated 8 Nov 2002 at 01:53 UTC) »
Fear change. Change is retreat. Change is an admission of guilt. Change is indecision.

Ride the waterfall. Take your project. Analyse it, design it, implement it, test it, fix it, change it, almost test it again, deliver it. Take the fucking support calls.

Request a fucking change. Chain it in paper and process and professional prose. Ambiguous, contradictory, laborious language larded with jargon. Give a fucking estimate.

Pick a number, any number. Lie your fucking tongue out. Tell 'em it's crap. They don't fucking care and slash just your quote in two.

Slave away at your miserable job, marching away for the mistakes of management. Find out that the customer doesn't want it. Fuck 'em, It's been signed off. Hate those words. Rage at the fucked up fools.

Complain and get told it's the way it's done. You're just a fucking programmer who needs to face certain fucking business realities. Embrace legalism and arguing about whether it's supposed to be a button or a fucking hyperlink.

Blame your teachers. Blame UML. Blame lack of fucking Z-specs. Become an academic. Preach personal software process to apathetic students. Teach Eiffel and Haskell and cower behind your desk every time your hear a knock. Demand change requests before you give a fucking extension.

Fuck off,
jml

HTML. Logic. You gotta keep 'em separated.

I mean, we've been writing programs for the web for years and years. One of the huge lessons we've learnt is keeping things separated, that tightly binding one part of a system to another is a Bad Thing.

Of course, the Rampaging Muppet Hordes don't learn quickly.

So, XML up to my neck (10 levels of indentation!), I carry on.

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!