Girly geekdom for girls… only?

This article originally appeared on Geek Feminism.

Several of the front page posters here are participating in discussions on the Python diversity email list, a list created by Python community member Aahz to discuss diversity problems in the Python programming language community. The initial aim of the list is creating a diversity statement like that of the Dreamwidth community.

Some of the more problematic discussions on the list come down to “this stuff is hard, and hard to talk about, and people get angry and defensive when things are hard.” I don’t want to discuss the tenor or direction of the discussions there in general in this post though, I want to talk about a specific incident. A poster to the list made reference to being “beaten up by a girl” (in a metaphorical sense, what had actually happened was off-list criticism from a woman, not physical violence). A 101 discussion followed, and while it was pretty clear to most people posting that the framing played right into the idea that being beaten by women, physically or in argument, is emasculating, it took a surprisingly long time until it was pointed out, originally by me, eventually also by Aahz in a separate thread, that “girls” is a problematic term. It seems this was a new idea even to some of the more pro-feminist posters.

Now despite the Python diversity list’s innocence, calling women “girls” even in conversations where men are just “men” is not a new problem. As I pointed out to someone on identi.ca, Wikipedia has a prominently placed discussion of how there are few neutral terms for women, especially more informal ones. And the geek feminism groups have run into it ourselves. We have LinuxChix and Girl Geek Dinners. One syllable terms make for snappy names and the “girl geek” alliteration has zing. Reclaiming problematic terminology has a long history, but one of the appeals is that it’s just plain fun, and it’s happened to some extent with the term “geek” as well.

But how much are we playing into the idea that geek feminism is for young women, that once first year CS is gender balanced we’re done here? I’ve seen concerning things. LinuxChix’s name has on occasion drawn young women who explicitly say they only want to interact with other young women. LinuxChix and Girl Geek meetups are often just as inconveniently timed and placed for primary carers as LUGs and gaming groups. When Julie Gibson interviewed me for Ada Lovelace day, she talked about how LinuxChix turned out not to be for her, she’s too far removed in time from having enough geek hours in her life to learn Linux. An older woman””in her late forties, perhaps, well outside the Australian LinuxChix demographic””at our LinuxChix miniconf in 2008 said that she’s careful to avoid becoming a “face” for women in IT: she thinks no teenage girl wants to grow up to be her. It reminded me of Lauredhel’s post at Hoyden About Town, Monica Dux thinks I’m bad for feminism’s image, about the trend to say it’s great to be a proud feminist, as long as you aren’t a marketing problem for the feminism brand. Is it only great to be a woman geek if you’re exactly what the guys on Slashdot are asking for, 18 and single and heterosexual and able to fix your own computers, thus making time for everyone’s two favourite leisure activities, gaming and sex? Of course not. But I’m worried that we’re talking about ourselves as though it is.

This is hard for me. I’m in my twenties. It’s a lot easier for me to think about what my fifteen year old girl geek self would have wanted from geek feminism than what the sixty year old woman I hope to be will want. But we should. What does geek feminism look like, for women who aren’t girls any more and don’t want to be?

“Girl stuff” in Free Software

This article originally appeared on Geek Feminism.

This is an edited repost of a blog entry of mine from February 2009.

In January 2009 I gave a talk at the LinuxChix miniconf held as part of linux.conf.au 2009. It was titled ‘Starting Your Free Software Adventure’ and used women developers and community leaders as examples. The idea was to show people what the first steps look like. I conducted (extremely short) email interviews of several women involved in Free Software or Culture or their communities, including Kristen Carlson Accardi, Brenda Wallace and Terri Oda among others.

One thing stood out and kept coming up all week: Terri mentioning that she had resisted at times working on things perceived as ‘girl stuff’. In Free Software this includes but is not limited to documentation, usability research, community management and (somewhat unusually for wider society) sometimes management in general. The audience immediately hit on it, and it swirled around me all week.

This is a perennial problem for professional women: software development is by no means unique in having developed a hierarchy that goes from high status roles disproportionately occupied by and associated with men to somewhat lower status roles disproportionately occupied by and associated with women. (In the case of software, disproportionately occupied by women still means male dominated of course, at least in the English-speaking world.) It’s difficult to disentangle the extent to which women and/or their mentors and teachers self-select for the lower status roles (and I would hardly argue that the self-selection occurs in a vacuum either) versus the extent to which they are more or less barred from high status roles versus the extent to which the association is actually flipped and professions and jobs within them have become low status because women started doing them. Other well-known examples, are, for example, the concentration of women in biological sciences as opposed to, say, physics, the different specialisation choices of male and female medical doctors and surgeons, and so on. Sometimes, as in the war between sciences, the status of a field is somewhere between a joke and real, to the extent that those can be differentiated, but often it isn’t: there’s a correlation between the male to female ratio of a medical specialty and its pay.

In all of these cases, a woman who is conscious of this problem tends to face a choice. Do the ‘girl stuff’, or not? (Of course, ideally one rejects the dichotomy, but no individual woman is responsible for constructing it.) And some, although I don’t know what proportion, of women feel guilty about their choice, especially if they do choose to do girl stuff. Just go ahead and imagine your own scare quotes from now on, by the way.

It also gets messy in various other ways. There’s the extent to which a woman who doesn’t do girl stuff is invested in maintaining the status of her boy stuff role and also the aforementioned vicious cycle where if women are doing something, it will come to be seen as not particularly hard or noteworthy.

Most concretely, I usually see this tension bubble away underneath outreach programmes promoting computing careers (you know what, I have my own status issues and I still resist calling it IT) to women. There’s the people who want to go for yeah we all know coding is populated by weirdos, and male weirdos at that, luckily you don’t have to be a geek and you don’t have to code, phew! I tend to hear about that one only once my outreach friends have gotten involved and staged a coup, admittedly. There’s the there’s so many opportunities in computing, and yes, coding is one of them and its fulfilling and it’s something you can do, but dammit, coders get all the cred and attention and dammit can we talk about something else? Women who admin/write/test/manage rock! And there’s you know, women coders don’t exactly rule the world yet, and furthermore isn’t all this oh-yes-you-could-code-I-guess-and-that’s-a-fine-thing but look! something for folks with people skills! talk basically a soft version of ew coding that’s for boys, also, last I checked, math is hard?

I observe again that there’s no right answer here in the real world right now. Women doing girl stuff have good reasons to feel dissatisfied that their hard-won skills are underpaid and under-respected, women doing boy stuff (scare quotes! please insert!) want other women to know that there’s fun to be had over here, thank you.

One crucial point in my thoughts about this I stumbled on only after the conversation Brianna Laugher recounts, over Indian food on the Friday night (the location of all major conference breakthroughs worldwide). She said”Š”””Šparaphrased”Š”””Šthat she didn’t feel that she should have a problem or be criticised for doing what she is good at, or what’s so desperately needed in her communities, and have to be just another coder in order to be fully respected. And I said that while this was certainly true, women also need to have the opportunity, to give themselves the opportunity, to be selfish: if we want to code, or do something else we are currently either bad at or not notably good at, or for that matter which we are good at but in which we’d have competitors, we should consider doing that, rather than automatically looking for and filling the space that is most obviously empty. However women are justifiably reluctant to enter places where they aren’t obviously welcomed, and what better way to be welcomed than to do work that needs doing and not become just another person doing the coding free-for-all and delaying external validation for potentially quite a long time?

I have no answers. Just the perennial question of distinguishing what other people want, what other people claim they want, the genuine satisfaction of being of service to someone, and the genuine satisfaction of knowing you’ve done a good job of something hard. Where do you like to stand on that?

How to improve public health

  1. Discover or suspect that sedentary lifestyles are causing people health problems.
  2. Further discover to your shock and horror that people are doing this for such damaging inexplicable reasons as earning a living in an occupation requiring mostly/entirely sedentary desk work.
  3. Point out how easy it would be if people would just think a little and spend a bit more of their day exercising. Everyone wants to live longer right? People are so silly. It’s not like there’s some kind of counter-incentive encouraging them to do the job they’re paid for. They just don’t know how unhealthy it is to sit around all day!
  4. Break the exercise up into bite sized portions so as to point out that it’s even easier than people think. It’s not an hour a day! It’s 30 minutes a day! Plus 30 minutes extra, in small units of time!
  5. Profit!

There are even advanced forms of this manoeuvre. For example, you could set up some kind of cycle. Because people don’t spend much time with their children either! And they don’t cook healthy meals from scratch! And employers have noticed that their employees are oddly unwilling to work the long hours this tough economy requires! If we just remind them about all of these things, they’ll be able to find an hour a day to exercise, another half hour for changing clothes and showering and such for exercise reasons, an hour a day for cooking, a couple of hours for the kids, an hour for commuting, ten or eleven hours for the office and then there’s still the opportunity to remind them that seven and a half hours sleep is really only just acceptable and that we’re probably designed for more!

Oh, did I say an hour of exercise every day? Oops. That’s pretty nice of me. Actually you just need three or four. Caring for yourself: it’s all about the ‘just’.

Plans for 2010

I don’t intend to write much about my just announced pregnancy over on the thoughts/geeky side of my weblog, but there are a couple of geek implications, assuming all goes well:

  • it’s unlikely in the extreme that I will make it to OSDC 2009 in Brisbane in November (it’s very close to the deadline when airlines will stop letting me fly, in addition to discomfort and so on); and
  • it’s completely impossible that either Andrew or I will make it to linux.conf.au 2010 in Wellington in January.

I’ll not be especially available for additional volunteer tasks in 2009, since I will be trying to finish my PhD work with a small human trapped in my abdomen.

For Andrew’s other 2009 and 2010 availability check with him, I can’t see that I’ll be volunteering to travel before at least April 2010 and that might depend on someone donating a nanny to accompany me.

I am cut about lca2010, especially considering the effort I’m sinking into it. I really hoped that wouldn’t happen, but it’s turned out to have the worst possible timing. If a generous donor offers to fly, say, 20 of the speakers to Sydney afterwards and re-stage the conference for the sole benefit of me, I will not say no.

Possible structures for a technical talk

Edited version of a private email I sent about linux.conf.au 2010 preparation, but not conference-specific. The email discussion led to me enumerating the kind of talks that I think you can give about technical subjects at a linux-conf.au-style (non-academic developer-oriented) conference.

Recitation of facts; or the architecture diagram talk

In this kind of talk, the speaker walks the audience through, say, the architecture of a project. The talk contents are dictated by the architecture. Five minutes on the input module, five minutes on preprocessing, five minutes on transforming into a new set of matrix bases, five minutes on postprocessing, five minutes on sanity checking, five minutes on rendering.

This is the most obvious structure for a technical talk. It’s also the driest structure. It is useful mostly for audience members who want to work on or with the project code, which is for most talks a small fraction of the audience. It best suits very major projects with years of cruft in their architecture and a wide potential userbase.

Insane hack adventure; or "hacking the Tivo", Andrew Tridgell, linux.conf.au 2001

In this kind of talk, the speaker usually talks about a project he or she personally undertook and structures it as a battle against the odds. So of course Y is the most obvious solution, although not trivial. So I tried Y for a couple of months. And then it turns out that the X protocol absolutely makes Y impossible for these reasons [dramatic pause] and at this point any normal human being would have given up, but I retired to a monastery for six months and returned refreshed and a lotus blossom I saw on my return inspired me to try Q…

This is probably the most effective structure for a technical talk and it’s surprisingly widely applicable (you can frame a lot of things in terms of here’s the current problem, here’s what you think the obvious solution is, here’s what happened when I tried it). The biggest limitation is that it’s very hard to do it about work you didn’t do yourself so it’s not available to all speakers. And you can misjudge it: so of course I tried Y says the speaker uh, Y is obviously dumb, why didn’t you go straight to Q? asks the audience (at some conferences, they might well ask it out loud, repeatedly). It doesn’t work for speakers who don’t have expertise (at least narrowly on this one topic) over that the audience has.

Demonstration of surprising ease

In this talk, the speaker proposes a task which sounds too formidable to complete in the talk slot. (Pretty much any task, for some talk slots.) They then proceed to show how it can be done despite the odds using their tool. Edward Hervey edited a video PiTiVi at linux.conf.au 2008. At OSDC 2008 Thomas Lee added a ‘unless’ keyword to the Python language.

This structure can be fun but it has a lot of pitfalls. Edward was continually battling to type while dealing with a handheld microphone. Speakers should recruit an assistant for these talks. The Python keyword talk was kind of fun, but it was also hard to follow: and now I am going over to this totally other tree and adding several lines to this other file at line 1099 and 1346 and is obviously required: he did not succeed in making me think I could easily edit the Python language. In all cases, it needs a decent amount of rehearsal: even more so than other talks.

Dropping of wisdoms

These talks are generally (at linux.conf.au anyway) talks about the social/community/artful aspects of coding. For example, Jonathan Corbet’s talk about how kernel hacking actually works in terms of the trees and maintainers etc at 2009. (One of Linus Torvalds’s bigger 2009 contributions was being in the audience for that talk and adding occasional commentary on his various prejudices.) Andrew Bennetts has had some good luck with a series of talks that began at OSDC 2008, in which he essentially lists every tool he can think of to help you make your Python programs faster. I didn’t see it but I would guess Paul Fenwick’s talk about awesome things you’ve never heard of in Perl was the linux.conf.au equivalent in 2009.

These are useful talks, the main pitfall is that they require considerable expertise over the bulk of the audience. Otherwise someone is just listing a bunch of stuff you do every day back to you. They also need to be about tasks or tools that a lot of people actually use or want to use. No one wants the hidden tricks to using libnousersexceptme.

linux.conf.au 2010 miniconf idea

I’m not taking on additional tasks for linux.conf.au 2010 (above co-chairing the presentation selection committee with Michael Davies) and so won’t run with this, but an idea for someone with more time on their hands: a FOSSCoach miniconf or co-located event. I’m not sure whether you can call it FOSSCoach precisely (or would want to, I dislike the FOSS acronym), but the idea is an event teaching people how to work on Free Software projects. It could possibly be extended into, say, editing Wikipedia. If anyone wants to do this, go for it.

The linux.conf.au 2010 call for miniconfs is out now and is open until July 17. linux.conf.au 2010 will be held from 18–23 January 2010 in Wellington, New Zealand.

The meaning of the word ‘healthy’

I’m not opposed to words having multiple meanings or even skipping around and settling on whole new meanings. As a matter of selfishness, I support polysemy, because my research field is lexical semantics. The more ambiguity, the better, say the ranks of computational linguists needing employment. And language change should be as fast as possible. No, faster.

Nevertheless, after a heated discussion around Health At Any Size/fat acceptance issues (see Don’t You Realize Fat Is Unhealthy? for one statement of what is up with that, note that I’m less competent to argue the merits than Kate Harding, or, possibly, you dear reader, so do your own research) I noticed one ambiguity that got in the way: the word ‘healthy’.

Here’s one definition: a person who is healthy does not have disease.

Here’s another definition: a person who is healthy is doing things correlated (or thought to be) with not having disease, or at least not developing further disease very rapidly.

And people slide around between these all the time, both as a matter of deliberate rhetorical strategy and as a matter of sloppiness. And there is thus some genuine confusion in which people almost slide right along from I work out three times a week to I will never die, or, actually, now that you mention it, age. Pretty much no one is completely healthy under either definition of the word, but best efforts under the second do not automatically make you healthy under the first (or vice versa). Nothing will. There is no magic bullet. As someone pointed out to me in an, alas, unquotable location, life, in fact, is something of an anti-magic bullet, in that the greatest risk factor for many diseases is age.

I think the biggest place this confusion happens is people saying I am so much healthier when they mean either I am so much fitter or I weigh so much less. Which becomes a problem when they actually think they mean I have less diseases now. Only possibly.

Suppressing Python 2.6 DeprecationWarning

Since Python 3.0+ is backwards incompatible (or, if you like, a new Python-esque language), Python 2.6 is enormously grouchy about announcing that everything under the sun has been deprecated. For example:

 $ python Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import md5 __main__:1: DeprecationWarning: the md5 module is deprecated; use hashlib instead >>> 

While this is very helpful for one’s own code, my email is now filling with warnings about how Twisted, Venus and several other libraries have deprecated elements (import md5 being a particularly common offender). There’s nothing I can do about that, and being warned hourly about some of them is therefore unhelpful. Here’s how you turn it off: call python with -Wignore::DeprecationWarning.

 $ python -Wignore::DeprecationWarning Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import md5 >>> 

As you can probably guess, by doing this you run the risk of your code failing to work with some future version of Python and you not getting much warning about it. But your inbox or error logs may thank you.

Jaunty notifications

I missed the best known feature of Ubuntu 9.04 in my roundup, the new notifications. There’s lots of information around about this, see Mark Shuttleworth’s announcement, LWN coverage of development debate and Glyph Lefkowitz’s criticisms for plenty of information (Matthew Paul Thomas comments at Glyph’s place extensively).

I just want to pass on one tip, which is how to turn off notification of new messages in the Pidgin instant messaging client, because good grief, is that annoying. My typical use of IM is actually somewhat asynchronous, as in, I will flip over to it and check for messages periodically, chat a bit, do some work, and back. The notification workflow assumes I want to know about every message as soon as it arrives, which I most emphatically do not.

Other people of my opinion can configure Pidgin’s notifications by going to ‘Plugins’ and then looking for ‘Libnotify Popups’, which you can either configure to be less talkative, or disable entirely. In an ideal world that would be slightly more discoverable: I expected the configuration to be associated with the notifications, not with Pidgin itself, and certainly not with a plugin in particular.

Ubuntu 9.04 (Jaunty Jackalope)

I didn’t do one of these for 8.10 Intrepid Ibex, I was a little worried to find not one but two links to my Hardy (8.04 LTS) beta writeup as reasons to be exceptionally cautious about upgrading. I discovered I did not want to be an influential commentator on Ubuntu, even for trivial values of influential.

However, I should note in the interests of fairness that both Intrepid and Jaunty have been vastly better experiences. Specifically, things that seem to remain reliably working across upgrades for me without requiring reconfiguration now include suspend and resume, sound, wireless and external monitors. I have not found Jaunty less stable than Intrepid and both are fine for my terminal+mutt+Firefox+LaTeX+Python+Pidgin use.

Fixed in Jaunty:

Still broken in Jaunty:

  • gnome-typing-monitor still doesn’t regard being suspended or hibernated as a typing break. This one is one of those bugs that gets triaged as ‘Low’, never gets fixed, and drives me completely insane, There is nothing like starting up to get some work done and immediately being locked out for a typing break. It’s bug 122038 against Ubuntu, bug 492662 against Debian and bug 430797 against GNOME. It’s nearing its second birthday. I might throw it a party and then never use gnome-typing-monitor again.
  • In both Intrepid and Jaunty I have occasional kernel panics resuming from suspend (I don’t know about hibernate, I use it extremely rarely because my install of Ubuntu 7.10 gave me a swap partition that is too small to hibernate into unless I close all interesting programs, and I haven’t bothered fixing it). I should attempt to file this bug, and I will get around to it any, uh, release now. The main thing stopping me is that it often happens when I resume on a train, which means I don’t have ‘net access, which means keeping copious notes for a later report, which means no report. Besides, I don’t think I’d ever seen a kernel panic before Intrepid. The novelty is wearing off, but only slowly.

Newly broken in Jaunty:

  • OpenOffice(!!) on my laptop dies consistently on launch with the warning unable to get gail version number. I have tried and failed to find an existing bug for this: there are a few isolated reports, either marked as fixed or useless conversations that end with oh never mind, I made a stupid mistake and now I’ve fixed it. (Dear Internet: always specify how.) There’s bug 350193 but it seems to require pasting some specific data into OO Calc, whereas I don’t even get to the stage of having a window open. OpenOffice works on my university desktop though. I’ve filed bug 365763.
  • Empathy, generally, although it falls into this category by default since I’ve never tried to use it before. I can’t get it to connect to any instant messaging service at all. I haven’t been motivated to investigate enough to file a bug report, because it doesn’t appear to support what for me is a key feature of Pidgin, namely, ability to have profiles where I connect to some IM accounts but not always all of them. (I also consider having to have several IM accounts in the first place something of a bug. With the universe.)

I don’t know the status of my very annoying bug in Hardy whereby whenever I adjusted the screen brightness downwards via the keyboard, my Ctrl key got virtually ‘stuck’ down. (So, for example, if I pressed ‘w’, a window would close, and ‘d’ would terminate programs.) Daniel Stone even kindly offered to look into this one for me, but shortly afterwards I poured hot chocolate all over my laptop and now the down arrow doesn’t work. I can’t try and reproduce this unless I finally get off my butt and get a new keyboard. And thus do promising bug reports vanish into nothing.

Plus, a bonus tip for people who use rdiff-backup. rdiff-backup is rather fiddly about version numbers, which is not a great attribute in a backup program, since you should be able to backup between two systems that aren’t running exactly the same version of rdiff-backup, Python, Ubuntu or anything else. (Quoth Martin Pool: I use duplicity as a workaround.) However, if you’re like me and your precious rdiff-backup backup regime took days to set up and you’re not doing it again for a while, Andreas Olsson points out that he maintains a PPA of the latest version of rdiff-backup for all supported versions of Ubuntu except Dapper, which is sufficient for my purposes at the moment.