Tedious public service announcement: enrol to vote

As of, I think, yesterday, John Howard can go to the Governor General and call an Australian Federal election at any time, although he has until January sometime and is unlikely to do so right away with the polls against him.

As Australians may or may not know, the laws have changed since the last Federal election, and the rolls will close pretty much as soon as the election is called (rather than just before the election itself). So, if you’re a bored Australian citizen today, it’s a good day to check that you’re enrolled to vote, rather than being locked out when the election is called (especially what with voting being compulsory for most adult resident citizens).

Things to check:

Software recommendations and jMemorize

Andrew and I seem to constitute a test of software design in almost everything we do, because we share so much stuff. Not just computers, which is already sort of an edge case for desktop Linux these days (or so I gather from how likely it is that the friendly ‘Switch User’ functionality will freeze most laptops; users must be assumed not to share them). We share data. Scads of it. Not just code. All kinds of data.

We share cameras to the point of not always being sure who took which photo. Does f-spot want us to maintain two separate databases, descriptions and tagsets over our 14GB collection of digital photos? Does it want us to each have a copy of the collection on our laptops? Yes it does! (We get around this with sshfs which has many downsides, but at least we can share data and won’t lose everything the next time Andrew’s laptop gets stolen at work.) We share music collections and one good set of speakers. MPD is actually designed for that use case and some day the clients for it will vaguely approximate sensible user interfaces per Rhythmbox and Quod Libet and whatever Apple application they’re based on, instead of assuming that we’d like to browse the filesystem tree rather than, say, by artist or similar.

Today’s unsharable piece of data is, alas, jMemorize flash card decks. We’re both learning Spanish and would like to build a joint flash card deck. It took me a few weeks to give jMemorize a go at all because it was recommended to Andrew on the basis of having lots of cards ready for language learning and turned out to have lots of cards ready for learning Hebrew and New Testament Greek, so we have to do our own cards, contra the sales pitch. I was kind of cross about that.

Naturally though, we’d prefer to share the cards. I initially thought that, well, if the save format is text, I’d put it in version control and we’d both add to the deck. So I tried, and here are the options:

  • Share the full XML jMemorize data files, which means that the number of times you’ve seen this card and number of times you got the answer right statistics would, instead of being modelled to each of us, be modelled on the sum of our performance (in fact this is the ideal case, in actual fact the presence of this data in the file looks like it would result in a stupendous number of conflicts). Entirely unhelpful, since we’re learning exactly the same materials but can’t be assumed to be equally bad at every question. (This is all important because jMemorize adapts how many times you see a card based on how many times you get it right.)
  • Export to CSV. This basically doesn’t work at all for a repeated add some more cards, import some cards Andrew designed, export my cards to him, around we go exercise, because it doesn’t merge. If I export my cards to CSV, and then re-import them, they’re assumed to be all new, so I get a duplicate of any card I happened to have in the deck already.

Andrew points out that I could hand roll some kind of more easily mergeable file format that doesn’t include the user-specific how well am I, Mary, learning this fact? data, then have some kind of commit scripts that converts the XML to that format and commits that to the version control and then when I update, takes that format and stuffs it back into the XML (creating new cards only when it needs to). It’s not even a hard problem, unless I’m missing something crucial, but it’s, as usual, more time than I wanted to spend on this, given that I need to actually learn Spanish and I’m pretty much up to scratch on how that kind of hideous data munging is done.

Finally feminism, suggested questions

I came across Finally, A Feminism 101 Blog a little while back, which discusses among other things:

I suggested a few more, although frankly some of these I see mainly used disingenuously (in particular I meant it as a compliment is often used to mean I knew that she or other women or their supporters would object to this, and I specifically said it to piss them off and hopefully win a fight with them, because in my ideal world anything positive I said to a woman would be lapped up with joy):

  1. Why is calling women ’sexy’ problematic? (“We need more women in our gaming/coding/business circle, because they’re sexy!”)
  2. Why can’t she just take my comments on her as a sexual being as they were meant, as a compliment?
  3. Isn’t it a public/moral good to say whatever the hell I want and challenge the mainstream politically correct dogma?
  4. Isn’t it better for sexual liberty if I make sexual possibilities explicit wherever possible?
  5. Aren’t you just trying to cut down on all the fun bits of our circle and make us behave like stuffy business people?

The last one is frankly the most interesting to me in these discussions. Having friendly sex positive social circles is kind of fun (I said social, when getting work done, it’s nice to have the option of not needing to so much as declare my hand on being sex positive or not) if they don’t also require that women do all the legwork of embodying everyone’s sexual needs and desires. I don’t find that kind of balance online very often at all. If there’s talk of sex at all in online geeky circles, there’s going to be talk of how women are mysterious and ineffable and frustrating and essential and sexy and frigid and stupid and slutty by turns. (This is always odd to be part of as a known woman: one isn’t accused to be one of the mysterious etc set, but one’s expertise is downgraded. Women can never fully understand how sacred and contemptible other women are.)

Resignation as ‘Chix coordinator

For the record I am no longer coordinator of LinuxChix. What am I going to do now? Well, probably not much for a while, but eventually I’ll have a think about my goals related to women and Free Software, separately and together and figure out which of them are achievable and then how to achieve them.

linux.conf.au 2008 Call for Presentations now open

linux.conf.au isn’t just a Linux conference. It is a technical conference about Free Software, held annually in Australasia. We invite submissions on any Free Software related subject; from Linux and the BSDs to OpenOffice.org, from networking to audio-visual magic, from deep hacks to Creative Commons.

Important dates:

  • Submissions open: Friday, June 1 2007
  • Submission deadline: Friday, July 20, 2007
  • Email notifications from review committee: early September
  • Conference begins: Monday, January 28 2008

Read the full announcement, and don’t forget to check Martin Pool’s How to get a conference abstract accepted and my Getting a talk into linux.conf.au. I’m co-chairing the selection committee with Rusty Russell this year, so expect my points to still hold. This year we’ve added the option of a short video pitch for your talk, probably particularly useful for people who don’t appear on the Free Software conference circuit a lot. Can you speak? Well, 30 seconds to a videocam will shed at least a little light.

There’s also an email sized version of the CFP that you can mail around in excitement, although alas someone’s removed my easy copy+paste into 72 character columns version. You could nab it from SLUG.

A bug observed

Andrew and I have been using f-spot recently. It’s imperfect in a bunch of ways: its UI isn’t really designed for more than ten or fifteen tags, it’s Gallery2-interface UI isn’t designed for more than about fifteen albums, and it’s not designed for two people to use it. (Like many applications these days, no two desktop users are ever assumed to want to share data between users, let alone machines, which is just too bad since we share the camera. Yes, I appreciate that this is a hard problem, but with shared music collections, photo collections and so on Andrew and I just keep hitting it.)

Anyway, Andrew found a bug in it based on one of Martin’s pictures of our wedding, which relies on the EXIF data to tell it how much memory to allocate, even when the EXIF data suggests just over a gigabyte. I know that we’ve all been there at times, it’s just a reminder to me (I don’t do a lot of coding in languages where I need to allocate my own memory) that even non-malicious user data shouldn’t be trusted.

The art of the blow-off

This article originally appeared on the now defunct Geek Etiquette website.

The primary rule is to consider how much your absence will inconvenience your friend, and how much damage it might do to the relationship. The more of these factors that hold, the firmer you should see the commitment as being:

  1. you have blown off this friend for any reason in the recent past
  2. he has not blown you off for any reason in the recent past
  3. he has invested emotional energy in you in the recent past (eg letting you talk about a breakup or work woes)
  4. the plans involve a small number of people, possibly just the two of you
  5. the plans involve him going out of his way, eg travelling a long distance, making a lot of phone calls, reminding you of the event fifteen times
  6. the plans involve the organiser paying for things, especially in advance (consider this carefully… he may regard telling you that he paid a deposit, or that the tickets aren’t refundable, as crass, so use some common sense)
  7. a number of other people have blown off this event already
  8. it’s close to the event, such that the organiser is likely to have chosen to say no to other things that might have been fun and/or profitable because he had committed to his plans with you
  9. you have expressed extreme enthusiasm about the plans (even if you actually express extreme enthusiasm about everything)

If you consider these, and either very few of them hold or your reason for the blowing off is stellar, you should:

If you consider these, and either very few of them hold or your reason for the blowing off is stellar, you should:

  1. make every effort to cancel as early as possible
  2. apologise sincerely and be accepting of and don’t call the organiser on any irritation that creeps into her voice
  3. if money was spent, make several firm offers to repay the organiser for the money she spent on you (about three firm offers is the right number). If you can possibly afford to, don’t ask her to buy back your ticket from you if there was one: give it to her for someone else’s use.
  4. when apologising, don’t explain the excuse in great detail. You probably should mention the general idea (“this big project has sprung a leak”, “John is in town”), but don’t lean on it, even if it’s really important to you, and especially if your motives are money (eg overtime rates).

The only time that you should dwell on your excuse is when your excuse is traditional: that is, you were sick or another friend or family member died or was sick and needed you. Attempts to downplay that come across really strangely (eg “I had this seizure type thingie, oh well, I’m so so so sorry, I’m such a bad person”). Your friend will want to help or sympathise, most likely.

Otherwise, the problem with explaining your excuse in great detail is that it comes across as tantamount to explaining to the nearest cent exactly what the relationship is worth to you (“ok, so I’m less important than the boyfriend’s last minute availability”, “ok, so overtime rates trump my friendship”). More details actually make this impression worse, not better, because they show just how cold-bloodedly you calculate the worth of your friends. This may seem like nonsense—we’re all upfront hyper-rational geeks here who should be happy to have our friendship valued at market rates—but remember, it’s best for her when you over-commit to a friendship. So showing signs that you’re only rationally committed is hurtful, and not only at the conscious level either.

In some cases, eg hard to get tickets or the like, it can be nice to make gentle offers of a replacement for yourself. “Please go ahead and find someone else to take with my ticket. If you don’t find anyone, I know my friend Karen would be happy to go with you, and you’d love her, so give me a call.”

The best way to make amends is to firstly be careful to honour social engagements with this person very highly the next couple of times and depending on the level of trouble you put them to, try and assume the organiser role next time. Take the trouble on yourself, and furthermore organise to do something that your friend likes, at a time and location especially convenient for her, rather than yourself.

Oh, and if the reason you are blowing your friend off is because you suspect that he or she is romantically and/or sexually interested in you, and you are trying to gently signal your own lack of interest, this is a bad way to do it. The good way to do it is to bite the bullet and deliver that awkward “um, so, I’m not sure if I’m right, but just in case… I, um, I’m not interested in dating/shagging you” line and then give him or her a week or two without unnecessary contact so that he or she (a) believes you and (b) can choose to put on a social mask and pretend that this interlude never happened.

On the other hand, if you are blowing off a friend BUT you are romantically or sexually interested in him or her, just your luck, they probably will read blowing them off as a irrevocable sign of your lack of interest. If for some reason the time is not ripe to make a completely unambiguous move, you need to really work hard and express your regret at missing this thing, and furthermore, organise a replacement event almost immediately, ideally one that’s slightly more intimate and slightly harder to organise than the one they organised for you.

Creative Commons License
The art of the blow-off by Mary Gardiner is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

How to accept an invitation

This article originally appeared on the now defunct Geek Etiquette website.

Traditional etiquette is pretty spot-on about accepting social engagements in the first place. A quick rundown for those who aren’t familiar:

You get an invitation. For geeks, it probably comes in email, unless everyone has moved to Google Calendar without me looking. For big ticket events like weddings, you might still get a written invite. You reply by the same method you received the invite, unless another method is specified in the invitation itself.

You should reply to all personal invitations that come from people you know, either accepting or declining. A personal invitation is one-to-one (or one-to-a-few, in the case where households or partners are invited together). For public events like LUG meetings, you typically don’t reply unless there’s specific instructions to, and usually those will ask for acceptances only. For those, general invitations are issued to the public, rather than specific invites to individuals. In case of doubt though, it doesn’t hurt to reply.

Responses should be timely and brief. Let’s look at those.

If the invitation has an RSVP date, this is the drop-dead date for responding. The date is typically influenced by things like the date on which your friend must tell their caterers the final numbers, or on which she wants to do that giant shopping run to buy all the pizza ingredients. Replying before the RSVP date is the best thing to do and you should aim to do this almost all of the time. If you can accept or decline right away, do that, so you don’t forget.

If you’ve missed the RSVP date by a few days you should typically send profuse apologies and, if you want to accept, non-pushy inquiries about whether a late acceptance is all right. If you’ve missed it by much more, you need to decline the invitation with profuse apologies for being so late. Accepting is no longer in the question, unless your friend tells you that you can do so. Don’t ask; if this offer is going to be made, they will make it.

If the invitation has no RSVP date, you reply as soon as you can make a decision. You can work out a rough drop-dead date, usually: when do they need to start spending money? For an average sized informal party, it’s probably a couple of days before. For a trip overseas, it’s probably several months before. You need to reply before you think they started spending money on guests.

Now, to your brief replies. If you’re accepting an invitation, you say something like “I’ll be there, and I’m really looking forward to it.” There’s special wording for replying to formal invites, basically mirroring the invitation back at them. (If they said “Ms Nerd requests the pleasure of Mr Geek’s company on the 9th June”, Mr Geek replies “Mr Geek accepts with pleasure Ms Nerd’s invitation for the 9th June”.) You likely only need this for weddings and there are lots of websites with full examples of how to word replies to formal invites. Otherwise, all you need to do is accept and express that you’re looking forward to it. Don’t go into any and all sacrifices you’re making to come. (“It’s really a pain to get flights that weekend, and my usual travel agent is
away, and I’m going to miss my new puppy, but I’m coming because I just love you that much.”)

Once you’ve accepted the invitation, you regard this as a fixed engagement and you must either turn up as you said you would, or break your word, a subject we’re going into soon. You never just fail to show up and don’t either warn them beforehand or apologise afterwards.

If you’re declining, the excuse you use in all circumstances is either “I’m so sorry, I have a prior engagement, I would have loved to be there” or “I’m so sorry, I won’t be in town, I would have loved to be there”. Not being in town gets its own excuse because ‘prior engagement’ refers to plans for a particular day. It just sounds weird to call your six month holiday overseas a ‘prior engagement’.

‘Prior engagement’ is what’s called a ‘polite fiction’: it covers everything from a real prior commitment to your need to wash your hair that night. That is, in the event that you can’t be bothered or just don’t want to, the phrase for this is still “I’m so sorry, I have a prior engagement.” (Alternative phrases include “I already have plans”.) Almost all explanation beyond that comes across more as “your event sounds dumb” than “I really wanted to come but can’t”.

One geekly explanation for this, if you like, is cognitive load. You care deeply about not liking smoky venues, or not liking events that Boring Dude is at. That’s fine, that’s why you’re allowed to decline invitations and organise your own events which are in fresh air and to which Boring Dude is not invited. There’s no reason to bring it up for a particular event, because that event is already being organised and there’s nothing that can be done about it without the organiser making radical changes, so you’re just adding to her load of things to fret about. If smoky venues and Boring Dude are about to cost the organiser your friendship, you should bring this up separately when a particular event isn’t under discussion.

The only exception to offering generic excuses is when invited to something by intimates who know what you’re doing most days: partners and very best friends. With them, you should be more open. Etiquette by and large is a guide to social relationships, not intimate ones.

Creative Commons License
How to accept an invitation by Mary Gardiner is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.