De-junking

Every time I move house my mother has some empatic instructions to do with getting rid of ‘stuff’. ‘Stuff’ is associated with a certain amount of horror. It’s only by the thinnest of threads that she avoids coming here in the middle of the night and binning things at random.

I have found on many moves that the effort of sorting through ‘stuff’, identifying the source of the horror and disposing of it thoughtfully exceeds that of just carrying it to the new place. So I’ve tended to do that.

But I had more lead time on this move so I did what I could. Here’s a quick review of methods of getting rid of stuff:

Bins
Positives: simple, effective. Negatives: I’m bad at bins. I look at all the stuff that’s still useful or working, or which at least could be useful or working, or which, at a pinch could leak heavy metals into the soil and deform my great-grandchildren, and it doesn’t get thrown out.
eBay
Positives: people actually give you money for stuff. In the whole two eBay transactions I’ve made, it’s been more money than I’ve expected by three times or so. Negatives: you have to photograph the stuff, describe its condition accurately, communicate with your buyer, arrange payment and shipping or pick-up. Good for the odd thing that actually appears worth something.
Freecycle
Positives: people come and take your stuff away! And thank you for it! And bring you big lemons! Negatives: it’s still time consuming, although you don’t have to feel like you’re in a fight with the Trade Practices Act. And you don’t get any money. And they suck at nominating a time. (“Any time! When are you home?” “There’s someone there nearly all the time! Now pick one!”) Good for the bulk of my junk: too valuable for the bin, sale price not worth the effort.
Book Crossing
Sort of a nice idea, pretty worthless for giving away books. It’s not set up to facilitate that; they get much more excited when you just leave them on a park bench than they do when you re-home them. So their entire system is devoted to tracking the park benches you left books on, rather than on facilitating finding loving homes for bad Rob Grant novels.

LinuxChix Live redesign; Priorites

LinuxChix Live redesign

I redesigned the LinuxChix Live site using some of the ideas from Seth Nickell’s Planet GNOME design (see his rationale). I’ve used bits and pieces of the main site’s colours with help from the colour scheme generator, although I think I should have used the colour mixer instead. I quite like the design, but it’s a bit ambitious for a colour-impaired person like me.

Priorites

I’m rearranging my commitments to Open Source (etc etc) projects a bit, so that I don’t burn out before I actually do anything.

It works out like this:

  • Ubuntu Documentation Team: I’m completely dropping out of this. I found myself not only skimming the mailing list, but actually failing to read it, and that’s always a bad sign. This means effectively dropping my remaining involvement in the Ubuntu community and giving up all chance of ever appearing on Planet Ubuntu, but having a planeting motivate me is a bad idea.
  • Twisted: Still intend to work on its documentation in the usual fits and spurts. Would like to coordinate a reviewing effort, but I don’t see that taking off very speedily.

  • Community Code: This is looking like a huge effort to turn it into something with real mentoring, rather than another version of Sourceforge’s help wanted board. It’s the reason why I gave up on the Ubuntu doc team now rather than soon.

I’m beginning to suspect it’s time to rearrange my contributions so that they include code. But not right now.

ACPI fairies

I went back to the Ubuntu Down Under conference yesterday and had quite a nice day. The specification writing was winding down, and therefore it was possible to communally laptop. Sitting around with a bunch of people all using laptops is more communal than it sounds, especially in a sunny room with comfy couches and beanbags.

This also meant that Andrew and I got a visit from an ACPI fairy in its human incarnation Matthew Garrett to make our laptop suspension and hibernation work in Ubuntu.

In order to save Canonical the expense of a personal visit from the the angry (not-)DPL to every Ubuntu user in the world, here are some notes, some of which I knew about:

Enabling sleep and hibernate

The file /etc/default/acpi-support needs to contain some lines that look like these two:

ACPI_SLEEP=true
ACPI_HIBERNATE=true

Setting up hibernate to resume from your swap partition

People who installed Ubuntu in some early-ish phase of its lifecycle need to edit their /etc/mkinitrd/mkinitrd.conf file. Down the bottom there will be a commented-out line like this:

#RESUME=

Uncomment this and point it at your swap parition (replacing /dev/hda3 with your own swap partition):

RESUME=/dev/hda3

Then run the following set of commands as root (replacing /dev/hda3 with your own swap partition, and 2.6.10-5-686 with your kernel version as necessary):

mkswap /dev/hda3
swapon -a
mkinitrd -o /boot/initrd.img-2.6.10-5-686

Re-fairying acpid

If you tested out ACPI support earlier in Matthew Garrett’s Hoary testing cycle, you may have installed acpid from his laptop apt repository. Unfortunately, that version is numbered 1.0.4-1ubuntu1+mjg59-1 and the version that shipped with Hoary, 1.0.4-1ubuntu4, while more featureful, looks like a downgrade to apt and associated tools. You should install the Hoary version of the package by whatever means you have available. This made suspend to RAM work for me.

Believing in fairies

I think someone who is a better artist than I am should do a fairy picture based on this one to promote more ACPI love for everyone.

Saturday 30 April 2005

Hackergotchi heads for LinuxChix Live

I’m planning to add the disembodied heads used by Planet GNOME and Planet Debian to LinuxChix Live.

They’re completely optional, but here are the specifications:

  • the head image must be of your face;
  • the head should be no larger than 80×80; and
  • the head image should be GIMPed up as per this page (see also the other Planets).

If you need help with turning a photo into a floating head, contact me and I’ll pass your request along to the GIMP course, who I’m sure would have some fun with it.

Use of a hackergotchi head on LinuxChix Live will be entirely optional, but they can be fun and it makes it all seem a bit more personal to have more than names.

Email them to my contact address on the LinuxChix Live site itself.

Hackergotchi heads for Planet Twisted

Thanks to Chris, who started the trend, we’ve tended to use child heads for Planet Twisted. This is kind of a tough ask because most people have to hassle their mother for cute baby photos, but if you can supply me with the lil’ Twisted goo, I can add it.

Ubuntu Down Under

I went to Ubuntu Down Under more to experience these mysterious events that Andrew flies off to every four months more than anything else. I wasn’t entirely sure what I expected from the day, but I wouldn’t recommend them to people who do not have a pretty developed interest in Ubuntu or something else Canonical is working on.

Yesterday, the ANZAC public holiday in Australia, was conceived as “Ubuntu Down Under Love Day” originally. I’m not quite sure whether I picked up the wrong message or whether I picked up the right message and the concept didn’t work out. The message I got was that it was going to be the most outsider-friendly day, and a chance to reach out to Sydney Linux users and Free Software developers.

What this amounted to, aside from SLUG’s small installfest, was that the Monday (like every other day of the conference) is open to drop-ins. It didn’t mean though that there were many sessions that had much need or interest for people not already, at the very least, following the Ubuntu development mailing lists. This conference is one week long, apparently because the two week conferences were burning people out too much to work during the second week, but the way that’s been achieved is to roughly double the output expected from the single week. The schedule, which is now sufficiently complicated that making it must be approaching the complexity level of the high school timetabling problem, was completely changed the night before the conference, leaving me with a pretty unfamiliar set of sessions I could attend.

And at a really basic level, the mindset just wasn’t about “let’s take outsiders and draw them in.” Very few BoFs started with an overview of what the session was set to accomplish and most were limited to conversations between two or three people while others listened in. All of them have a very formal aim, which is an edited write up including a set of goals for implementation.

I sat in on a couple of Launchpad sessions as a kind of observer with a professional interest in software engineering techniques, but it was pretty opaque to people not following development (the code is in-house and completely proprietary, so that essentially means Canonical employees).

Carlos was interested in talking to me as a representative of the documentation people, but unfortunately I don’t know the translation work-flow at all.

The Membership and Maintainership BoF Mako ran was the most interesting I went to, partly because the topic is community participation, which is easy to understand, and partly because the goal is moderately interesting. The idea is to separate the two things that Debian combines in the New Maintainer process: that is, power to help make decisions (by voting, usually), and the power to upload software into the distribution. In the Ubuntu community, the idea is that people shouldn’t have to jump through all the ‘can we trust your software skills?’ hoops if their contributions are, for example, helping out on the mailing list. However, they should be able to vote. Hence, the Member/Maintainer distinction.

I would have had a better day if a few more documentation team members had been there I think. At the moment I’m trying to do some facilitation for them (facilitation is relatively newly discovered talent of mine, and since I prefer editing technical documentation to writing it, I think it’s the main thing I’m going to offer those docs) and there are going to be some very pressing issues shortly surrounding two things: communication with the development team; and whether contributions should be tightened up and funnelled through the doc team (which would mean, among other things, bringing the wiki under tighter control). These could have used some nutting out with the developers in person.

As it was, I didn’t get a lot out of it for the most part. It’s not a marvellous ‘networking’ (read: meeting cool people) event, because the Canonical people are working 14–20 hour days, and the meals are in-house and expensive (breakfast and lunch were each $22 buffets, I don’t know how much dinner was). I doubt I would have met anyone much if it wasn’t for knowing several of the Canonical employees already. (It would be possible to, but you’d have to be a bit more outgoing than me, and also confident of making a good impression on very busy people.) I’m not familiar enough with distribution development to help write specifications for that; ditto Launchpad (and I gather they don’t want outside help anyway); and I’m way behind the eight-ball on distributed version control.

Assuming that the conference pattern follows this one, I wouldn’t recommend people without a really pressing need to get involved or existing involvement go along to these things in future. Assuming that this is a problem (it need not be, not all conferences are suitable for casual observers) I think the solution would have been to really pull SLUG into it and push a lot of the reach-out work onto SLUG. I would have enjoyed, say, a codefest with some token Canonical participation or some ‘donated’ talks from them, more than I enjoyed their development conference.

Stuff that I could fix myself

Some thoughts on usability from experiences of the last few days include: yum vs apt; and Arch with more grabability.

I tried to use yum to upgrade from Fedora Core 1 to 3 rather than walk ten metres to ask our operations staff where the CDs were. This didn’t completely break my system as I was informed it would, although I did end up trying to upgrade packages in sets of 10. I gave up because I broke X so badly that starting it caused the machine to reboot. But at least it was booting in the first place, which is better luck than James had going from Fedora Core 2 to 3. (My story ends with the CD upgrade by the way, which went fine.)

So, why was I doing this? First I’m used to Debian-like systems which are more fussy about having good upgrade paths (to be fair, they don’t usually support skipping a release like I was trying to do). And second, I’m used to apt.

Two things that apt does that I wish yum did too:

  1. When asked to upgrade some enormous number of packages, and two of the upgrades are set to fail due to dependency issues, apt will install the enormous number of packages, minus the broken ones, thereby avoiding you having to manually construct a list of packages which don’t appear to be broken.
  2. apt does not re-index the repositories every time you invoke it, it needs a special command. Very useful when you need to walk it through several steps (and I have to say, I’ve never had to do as much of that as I have over the last day, but that’s partly because the office mirror of FC3 is incomplete) and don’t want to waste thirty seconds on each step waiting for it to rebuild its meta-data.

I’ve also been messing with Arch. Well, I branched Planet again and I’m going to put my old changes in by hand, I can’t face walking it though 60 revisions while it tries to merge my old old old changes in. While I was messing with doing this, I felt clicky urges. I’m not a hugely spatial user normally, but I had a sudden desire to have a big screen full of colourful blocks representing Arch branches, and I would merge code between them by grabbing branches with the mouse and dragging them to the right place. I don’t have a good system yet for maintaining a mental model of what branches come from and should be merged into what points in the parent branch.

Ubuntu 5.04; Smarter than your average stick

Ubuntu 5.04

Released today. I upgraded my servers this afternoon. (It’s a personal thing, I love watching aptitude run.)

I’ll be interested to see how long I resist the temptation of upgrading to the next development branch this time. (For Hoary, I waited until upstream version freeze I think.) For my uses, Hoary hasn’t seemed to be a significant improvement over six-month-old Warty, although I’m told under the hood that it’s much nicer. Perhaps on the next cycle I’ll wait until the actual release… unless suspend starts working, of course.

Smarter than your average stick

During the course of the Twisted Sprint, Mike made a very useful suggestion about our documentation: that it should begin by defining its target audience. I’m going to try and do this across the existing documents eventually. Failing to do this in the past have resulted in some spectacular misunderstandings of when you can use bits of Twisted (at least one person has appeared on IRC thinking that enterprise is usable without knowing how to write a SELECT statement).

Later on in the weekend I briefed Jonathan (read: ranted at him) about what we need to do about the Deferred documentation with regard to targeting it at users who have never encountered asynchrony before.

The original documentation seems to have been written revelation style: gather unto me my friends, and I will free you from the heavy chains we have all laboured under trying to manage our own callback sequences: I give you the Deferred. (Cue weary lifelong developers crying in relief.) The actual users of the documentation (at least, the ones who complain about the docs) seem to tend more towards the “callbacks? wtf?” audience than the “at last the scales have fallen from my eyes, lead me forth” audience.

The upshot of this is that we probably need extensive documentation on the fundamental concepts of asynchrony. So far so good.

And then, just this week, a post to Twisted Web threw me another curve ball (I don’t know what the equivalent term would be if I were making a cricket analogy, sorry Andrew): Twisted (or Twisted-ish things like Nevow at least) have people pottering around with them who don’t really know much about concurrency. Or, quite possibly, don’t know anything at all about it.

This can be reduced to a target audience problem eventually: at what point does the documentation take the smarter than this stick position?

This angst brought to you by one semester’s worth of memories from teaching second year concurrent programming and having people ask each other in the tenth week of the course, completely mystified, why their GUI was freezing. Do get in touch if you want to write a pre-pre-Deferred document (or was that post-post…?) that is willing to discuss threading in detail, since, yeah, people will have to know when to defer to thread at some point or other.

Jeff’s and Pia’s wedding

If anyone would like a lift to Jeff’s and Pia’s wedding next weekend that fits into the following schedule, let Andrew or myself know (if we get full-up, I’ll update the entry appropriately):

  • Saturday 16th: Leave Sydney mid-morning and travel to Canberra. I think we’ll stay in the City Walk Hotel if they have room, but could drop you off elsewhere.
  • Sunday 17th: Leave Canberra mid-morning to travel to Yass in time for the ceremony (going straight to the venue).
  • Sunday 17th: Leave Yass in the early evening to travel back to Sydney (we’re not going to lca and thus will not be returning to Canberra). This will either be straight after the reception, or very soon after the start of the party.

If you only want a lift one way, that’s fine too.

Note especially that Andrew is driving the entire way. He’s currently on his learner’s permit, and needs to accrue more hours in his logbook before his driving test. This has a couple of effects on our passengers aside from his driving (he’s pretty good, btw, and the Hume Highway will be no problem for him after the Bells Line of Road over the Blue Mountains). The trips will be slow because learners are speed restricted to 80km/h. You get not one, but two designated drivers, since I must be under 0.05 to supervise him. (Andrew won’t be able to drink during the entire weekend, because he, as a learner, must have a 0.00 reading.) But if you’re happy with a completely sober advanced learner driving you about, get in touch.

Twisted sprint

I, like a lot of people, don’t have the art of taking photos of people hacking and making them interesting to look at. But, hey, photos!

It’s been a good weekend so far. Chris, Andrew, Andy and Tim really have been working on a virtual firesystem abstraction, although without the April 1st insanity. Last I heard the aim was to have a demonstration server which allows (virtual!) files to be uploaded and viewed over SFTP and FTP and viewed through Twisted Web at the same time. Andrew has been buried in the guts of FTP: the man has a long burn out time but he’s back in the game. I asked him for some attention about two hours ago and I’m still in the queue.

I added a few tests to bugs yesterday in an attempt to learn some trial, and converted a few demonstration code bits to automated tests. Today I’ve been much more idle than everyone else, but I did make a start on a documentation writing style guide that could keep me busy for years if I make the ropes tight enough.