Tag Archives: tips

A breakout group at the Boston Python Workshop work at laptops around a table

– the anxiety of learning and how I am beating it

Beating learn-to-program anxiety with good gamification and courses

I have anxiety about learning technical skills. I wrote about this a little while back. But now I know more about how I learn, and, in bits and snatches, I am gaining proficiency and confidence. Here’s a summary of my journey over the last several months with learning more programming skills (in this case, mostly in Python), with links to some resources in case you’re like me.

I get anxious when learning skills that I think I should already know; I feel behind and guilty. Structure, little rewards, friendly sociability, and encouragement from other women help tremendously. Tedra Osell writes about this in the context of writer’s block, and FlyLady and Cheryl Mendelson’s Home Comforts speak to that problem in learning to keep a comfortable home; the people and resources I mention (CodeLesson, OpenHatch’s Boston Python Workshop for women and their friends, CodingBat, and the Python Challenge) provide many of the stimuli I need. Also, my anxiety spikes if I think I am supposed to compare my speed or quality of work with others (hence my post’s title), but cools down if I see evidence that someone else wants to patiently help me. These resources helped me learn without pushing my “argh everyone’s better than me” buttons.

So, first: CodeLesson. The vintage and handmade store Etsy ran a free four-week online course in HTML, CSS, JavaScript, and the Etsy API. Hundreds of people signed up; I got on the waitlist, and eventually did three of the weeks in September and October. (I then had a big crunch week at work and didn’t finish, but I intend to finish that last week’s work anyway, to learn animation and pagination in jQuery.) It was exactly what I wanted — well-written tutorials and exercises to get me over the initial hump. I now know a little CSS, JavaScript, and jQuery, which is infinity percent more than I knew before. I had lots of fist-pump “Yay, I made it work!” moments. And the instructor’s praise of my work helped; I’m a social animal, and recognition and praise from instructors helps reassure me that I’m on the right track.

Thanks to Etsy for the free class. And I liked the CodeLesson interface and infrastructure enough that I may pay for additional CodeLesson classes, or get my organization to follow Etsy’s lead and offer classes through them to increase our users’ skills.

A couple months later, I had a chance to attend OpenHatch’s intro-to-Python workshop specifically meant for women and their friends. I’d read about these before, on GeekFeminism and elsewhere, and it sounded like it would fit how I learn as well as help me plan to hold similar events in my community. So, on a Friday in December, I took the bus from New York City to Boston.

An instructor looks at a student's laptop at the Boston Python Workshop

An instructor looks at a student's laptop at the Boston Python Workshop

It’s a good thing that the Friday night prep part was three hours and that I already knew a bunch of stuff that other people were new to (familiarity with the command line & the Python prompt, etc.) since I was an hour late! It was good to fix the syntax-y bits in my mind. The CodingBat exercises were great practice and I got a big triumphant fist-raised feeling when all those unit tests passed.

In between sessions, I chatted with some of the people who run the program. It sounds like each individual run of it costs about $300 for lunch for everyone and that’s practically it, since they use volunteers and the venue time is donated (and then like $10 total for pens/sticky nametags/laser-printed “here’s the workshop” signs/etc.). That’s practically out-of-pocket for a tech community, and they get grants. So it’s totally replicable. I’ve been reminded that it’s important to treat these kinds of workshops more like a community introduction than as standalone events; local user groups and communities should be the teachers, and email blasts and encouragement should integrate participants into their local hobbyist groups.

Saturday morning’s lecture included some review of stuff I knew, but it went fast enough that I was still learning most of the time — like, how to ask for the nth character in a string, or how for-loops quite work, some subtleties of scope, etc.

Then the project bits — the teachers and their presentations weren’t quite as polished as Jessica McKellar, who had led the earlier parts of the workshop. But I still learned a lot and got to make cool things happen using, say, the Twitter API, and that was very neat. As designed, the workshop led me through small, basic exercises first (the equivalent of finger exercises in piano), then showed off visually satisfying things we could do with Python and its ecosystem.

Aside from tiny minor delays, the workshop basically ran like a Swiss watch the whole time. I was impressed. It takes a lot of preparation, skill, and practice to make an event like that go so smoothly and teach so many people; congrats to the workshop volunteers! And I’m glad I went, learned and remembered Python, and got more confidence to attempt projects.  On a community management level, I’m also massively grateful that I’ve seen firsthand an example of how we can construct and maintain these parts of the pipeline, to help more girls and women get into STEM.

The workshop so excited me that I then did all the Python exercises on CodingBat, and started Python Challenge (I’m at step 4 or 5 right now). They’re complementary. They both gamify learning, and you don’t have to look at how other people are doing, and they both have somewhat granular ways of kindly telling you when you’ve done something slightly wrong. With CodingBat it’s the unit tests, which go from red to green when you cover another edge case. In Python Challenge, for example, at one point I went to a URL where I had transformed the filename from the previous URL per a transformation hinted at in the challenge. The URL had ended in .html, and after the decryption, it ended in the extension (making this up to avoid spoilers) “.ywnb”. At that address was a text file that the server signalled you should download. I downloaded and opened it and it just said, “have you ever heard of .ywnb files?!” or something like that, implying basically that I shouldn’t have transformed the file extension, just the filename. So, it didn’t just fail, it gave me a nicely furnished dead end, signalling kindly but playfully that I had done something understandably wrong.

Screenshot of two progress graphs from CodingBat

Progress graphs from CodingBat, showing my attempts to solve two problems; the green portions are unit tests that passed, and the red and pink portions are unit tests failing. The exercise "String-2 end_other" took me a while, but I got it.

There’s probably some game design term for this kind of compassionate railroading, but it makes me think of the caring side of the caring-to-combative community spectrum. And in both cases I got that feeling of being nurtured by someone who cared, even if that someone else is Nick Parlante (CodingBat’s author), years ago and a continent away.

Also, CodingBat is pretty clear about how you solve any given problem (declaring that this set of problems is about lists and only 1 layer of for-loops, or what have you), whereas in the Python Challenge you have a puzzle that you know you can solve with Python but that you can hit a bunch of different ways. If you want an experience with arguably more realistic exercises, the author of CodingBat also made the Google intro to Python, which includes exercises along the lines of “munge the semistructured data in this file with these guidelines.” I intend on doing that this year.

Python Challenge logo

Python Challenge is mysterious, yet friendly.

It was good to have my spouse Leonard nearby to help me when I was working on the Python Challenge, to (for example) help see that I had called a variable inconsistently, to notice that I couldn’t import a file as a module because I’d named it “1″ instead of something starting with a letter, to remind me how to learn of (“dir(filename)”) and then use (“filename.function”) the functions within it, to tell me about string.replace, and to tell me how to use the interactive prompt properly to investigate how you call a method on an object of whatever type. But I did nearly all the work myself. And as of today I feel a lot more comfortable using for-loops, knowing what data structures to use for a problem (I decided to use a dictionary datatype the other day! And it worked! So exciting!), getting stuff in and out of dictionaries, and generally thinking “I can learn this!” Data structures and algorithms had felt mystifying to me. Now data structures no longer do. I remember the moment in Python challenge when I thought, “I’ll use a dictionary!” and I was right! It’s great.

CodeLesson, CodingBat, the Python Challenge, Leonard available for occasional consultation, and the Boston workshop are the dance partners I needed.

I’ve just begun CodeAcademy and stalled (as with all the rest of my learning-to-code endeavors) due to lack of time, as my job is pretty absorbing right now. (Worth a skim: Scott Gray’s thoughts on CodeAcademy.) I also haven’t tried Philip Guo’s online Python tutor which may suit me better since I’m more interested in Python than JavaScript right now. But I thought it might help others to talk about my journey so far.

Three women in Dalek costumes attacking an inflatable Tardis

Re-post: On competence, confidence, pernicious socialization, recursion, and tricking yourself

During the December/January slowdown, Geek Feminism is re-publishing some of our highlights from earlier in the year. This post originally appeared on January 20, 2011.

The other night I went to a hacking meetup for the first time in months. It’s usually an informal Python learnfest, and as I’m refreshing my Python basics, I went with the assumption that I’d be the least technically skilled person there. Like, of course, right?

The hacking meetup that night was, as it turns out, an installfest, so I ended up generally poking around at the software being demonstrated, and conversing with strangers. One in particular caught my attention with a fairly ill-formed question: what meetups should he visit to learn how to make websites?

Over the next hour, as I answered his questions, it became clear that he just didn’t know much, compared to me, about software engineering, or about the wider world of technology or the web. He’s in the second year of a computer information systems bachelor’s degree, and knows his way around a little Java (of which I am wholly illiterate). He didn’t know about the LAMP stack, or about Drupal or Rails or Django (or why one might choose PHP versus Ruby versus Python versus Java versus pick-your-web-friendly-language). He didn’t know that these tools exist, or why one would use a framework or pre-existing CMS rather than coding “everything” oneself. He has never heard of bug trackers, or source control, or diff. He said he did not know what a wiki was (I scarcely believed this, and told him that Wikipedia is a wiki).

As a side note: I gathered that his entire career trajectory and curriculum comes not even from conventional wisdom, but from “I once heard someone say.” Examples: “Why are you doing CIS instead of CS?” “Someone told me that CS majors get outsourced.” Or, more boggling: “Someone told me Python is useless.”

From one perspective, this guy has more technical merit than I do. He has taken an algorithms class. He can probably do a job interview coding question better than I can (reverse the characters in this string, etc.). But I have a fair amount of wisdom he lacks, full stop.

Then there was the guy who was interviewing me to work at his startup. As we walked, he offhandedly mentioned his current project at his day job: a PHP web app needed to be able to turn user markup into HTML. “And you’ve already checked whether MediaWiki has something you can grab, right?” I asked. He stopped in his tracks. No, he had not thought of that.

I need to stop assuming that everyone else knows more about the tech than I do.

We’ve talked a fair amount here at Geek Feminism about impostor syndrome and sexism (my past post). I’m just going to start with a few postulates:

  • In sexist societies, women get especially socialized to think we’re not as intellectually capable as we are, and to act self-deprecating about our abilities
  • In technical spaces where women are the minority, sexists dismiss our successes and concentrate on our missteps

Regarding the latter, I recently reread Abi Sutherland’s “Permission to Suck”, which included a moment of a familiar self-flagellation:

…every achievement is just a mitigation of the disservice I’m doing womankind.

It’s as though my goalposts came on casters to make them easier to move

But of course that is an error in judgment. Our sense of our own merit gets calibrated by feedback from the outside world, but sexism and impostor syndrome get in the way of that calibration. All the tentacles of this issue — the prejudice, the tokenization, the distorted self-perception, the discounting of one’s achievements and comparative lionization of others’ — bother me because they mess with proper judgment.

On an emotional level, I especially hate that anything is interfering with my data-collection and judgment. I am the kind of person who delayed drinking alcohol and took notes the first time she drank, to record any degradation in perceptions and prudence. I delayed getting a credit card till I’d supported myself for more than a year, partially to ensure that I had the correct attitude to judging purchases & debt. And here is this thing, clogging and fogging my mind, which I know is a lie, but which does not go away even when I speak its true name and snap three times.

Recursion Dinosaur

RECURSION DINOSAUR

And a poisonous effect of the socialization is that it turns women’s conversations about the problem into yet another self-deprecation exercise.

“I hate myself for hating myself so much”

“oh god you’re awesome, I have worse impostor syndrome than you”

“No way, your self-confidence is admirable”

“I’m meta-shit”

RECURSION DINOSAUR rawwwrrraaaawr

So I seek lessons and tactics on how to become a less irritating person to my friends, and a more useful and capable person going forward. Some assorted thoughts and ideas:

Five ways you can feel as competent as you really are

  1. Everything in Terri’s earlier advice, especially a shield of arrogance.

    I’m not saying you need a thick skin. That’s maybe true, but it won’t help your confidence nearly as much as the ability to say, “screw you; I’m awesome.” Shield of arrogance it is.

    If you are worried about being confidently wrong sometimes, note that a small increase in confident wrong assertions is a small price to pay for a big increase in capability, correct assertions, momentum, and achievement.

  2. Know that sometimes thoughts come from feelings, not the other way around. The “I suck” feeling does not necessarily have a basis, just as good weather and ephemeral physiology can put you on top of the world. Instead of looking for reasons that you feel mildly down or incapable, consider disregarding them, acting, and seeing if your feelings dissipate.
  3. If you feel compelled to go from success to success, you may not be risking enough. As these entrepreneurs do, try assuming that you will fail the first time you try something.
  4. Every endeavor that anyone has ever done is therefore in some sense No Big Deal, that is, doable. Some people make the hard look easy, but experience and effort make for far greater variation than does innate ability — or, at least, isn’t it more useful to assume so? Watch other people succeed, and watch other people fail. Mere life experience helped me out here, but so did Project Runway, where I saw good people trying and failing every single week. And so did seeing these guys, at the meetup, at the job interview, being dumber than me. I just had to keep my eyes open and it happened, because I am smarter than the average bear.
  5. Notice the things you know. A friend of mine recently mentioned to me that she worries that people perceive her as incompetent if she asks more than two questions about a hard problem via her company’s internal IRC channel. I asked her to compare how many questions she asks and answers on IRC each day. She hadn’t even been considering that ratio, because she’d unthinkingly assumed that what she knew must be basic, and blabbing about the stuff she already knows is easy and natural and unremarkable. But upon consideration, she’s a good peer in that informational ecology, seeding more than she leeches.

This is all corollary to my earlier injunction to make irrationality work for you. We are all monkeys, seizing on narratives and any status signals we can find. Don’t keep the default sexist irrational assumptions get in the way of your confidence-competence virtuous circle. Make your own recursion dinosaur of win.

On competence, confidence, pernicious socialization, recursion, and tricking yourself

The other night I went to a hacking meetup for the first time in months. It’s usually an informal Python learnfest, and as I’m refreshing my Python basics, I went with the assumption that I’d be the least technically skilled person there. Like, of course, right?

The hacking meetup that night was, as it turns out, an installfest, so I ended up generally poking around at the software being demonstrated, and conversing with strangers. One in particular caught my attention with a fairly ill-formed question: what meetups should he visit to learn how to make websites?

Over the next hour, as I answered his questions, it became clear that he just didn’t know much, compared to me, about software engineering, or about the wider world of technology or the web. He’s in the second year of a computer information systems bachelor’s degree, and knows his way around a little Java (of which I am wholly illiterate). He didn’t know about the LAMP stack, or about Drupal or Rails or Django (or why one might choose PHP versus Ruby versus Python versus Java versus pick-your-web-friendly-language). He didn’t know that these tools exist, or why one would use a framework or pre-existing CMS rather than coding “everything” oneself. He has never heard of bug trackers, or source control, or diff. He said he did not know what a wiki was (I scarcely believed this, and told him that Wikipedia is a wiki).

As a side note: I gathered that his entire career trajectory and curriculum comes not even from conventional wisdom, but from “I once heard someone say.” Examples: “Why are you doing CIS instead of CS?” “Someone told me that CS majors get outsourced.” Or, more boggling: “Someone told me Python is useless.”

From one perspective, this guy has more technical merit than I do. He has taken an algorithms class. He can probably do a job interview coding question better than I can (reverse the characters in this string, etc.). But I have a fair amount of wisdom he lacks, full stop.

Then there was the guy who was interviewing me to work at his startup. As we walked, he offhandedly mentioned his current project at his day job: a PHP web app needed to be able to turn user markup into HTML. “And you’ve already checked whether MediaWiki has something you can grab, right?” I asked. He stopped in his tracks. No, he had not thought of that.

I need to stop assuming that everyone else knows more about the tech than I do.

We’ve talked a fair amount here at Geek Feminism about impostor syndrome and sexism (my past post). I’m just going to start with a few postulates:

  • In sexist societies, women get especially socialized to think we’re not as intellectually capable as we are, and to act self-deprecating about our abilities
  • In technical spaces where women are the minority, sexists dismiss our successes and concentrate on our missteps

Regarding the latter, I recently reread Abi Sutherland’s “Permission to Suck”, which included a moment of a familiar self-flagellation:

…every achievement is just a mitigation of the disservice I’m doing womankind.

It’s as though my goalposts came on casters to make them easier to move

But of course that is an error in judgment. Our sense of our own merit gets calibrated by feedback from the outside world, but sexism and impostor syndrome get in the way of that calibration. All the tentacles of this issue — the prejudice, the tokenization, the distorted self-perception, the discounting of one’s achievements and comparative lionization of others’ — bother me because they mess with proper judgment.

On an emotional level, I especially hate that anything is interfering with my data-collection and judgment. I am the kind of person who delayed drinking alcohol and took notes the first time she drank, to record any degradation in perceptions and prudence. I delayed getting a credit card till I’d supported myself for more than a year, partially to ensure that I had the correct attitude to judging purchases & debt. And here is this thing, clogging and fogging my mind, which I know is a lie, but which does not go away even when I speak its true name and snap three times.

Recursion Dinosaur

RECURSION DINOSAUR

And a poisonous effect of the socialization is that it turns women’s conversations about the problem into yet another self-deprecation exercise.

“I hate myself for hating myself so much”

“oh god you’re awesome, I have worse impostor syndrome than you”

“No way, your self-confidence is admirable”

“I’m meta-shit”

RECURSION DINOSAUR rawwwrrraaaawr

So I seek lessons and tactics on how to become a less irritating person to my friends, and a more useful and capable person going forward. Some assorted thoughts and ideas:

Five ways you can feel as competent as you really are

  1. Everything in Terri’s earlier advice, especially a shield of arrogance.

    I’m not saying you need a thick skin. That’s maybe true, but it won’t help your confidence nearly as much as the ability to say, “screw you; I’m awesome.” Shield of arrogance it is.

    If you are worried about being confidently wrong sometimes, note that a small increase in confident wrong assertions is a small price to pay for a big increase in capability, correct assertions, momentum, and achievement.

  2. Know that sometimes thoughts come from feelings, not the other way around. The “I suck” feeling does not necessarily have a basis, just as good weather and ephemeral physiology can put you on top of the world. Instead of looking for reasons that you feel mildly down or incapable, consider disregarding them, acting, and seeing if your feelings dissipate.
  3. If you feel compelled to go from success to success, you may not be risking enough. As these entrepreneurs do, try assuming that you will fail the first time you try something.
  4. Every endeavor that anyone has ever done is therefore in some sense No Big Deal, that is, doable. Some people make the hard look easy, but experience and effort make for far greater variation than does innate ability — or, at least, isn’t it more useful to assume so? Watch other people succeed, and watch other people fail. Mere life experience helped me out here, but so did Project Runway, where I saw good people trying and failing every single week. And so did seeing these guys, at the meetup, at the job interview, being dumber than me. I just had to keep my eyes open and it happened, because I am smarter than the average bear.
  5. Notice the things you know. A friend of mine recently mentioned to me that she worries that people perceive her as incompetent if she asks more than two questions about a hard problem via her company’s internal IRC channel. I asked her to compare how many questions she asks and answers on IRC each day. She hadn’t even been considering that ratio, because she’d unthinkingly assumed that what she knew must be basic, and blabbing about the stuff she already knows is easy and natural and unremarkable. But upon consideration, she’s a good peer in that informational ecology, seeding more than she leeches.

This is all corollary to my earlier injunction to make irrationality work for you. We are all monkeys, seizing on narratives and any status signals we can find. Don’t keep the default sexist irrational assumptions get in the way of your confidence-competence virtuous circle. Make your own recursion dinosaur of win.

Epistemology and impostor syndrome

Successful women often suffer from impostor syndrome. As wiredferret succinctly explains,

Imposter Syndrome is the pervasive feeling that whatever success or acclaim you might have, it’s all a cosmic accident, and other people really are much smarter and more successful than you.

Armchair psych follows, in which I massively mix descriptive and prescriptive:

The actor-observer bias and the related self-serving bias often cause a person to attribute her actions and their outcomes to certain kinds of causes, and attribute others’ actions, successes and failures to other kinds of causes. In other words, these bias lead me to believe that I caused my own successes and external events caused my failures, but others’ successes are due to luck and their failures are their own fault. Depressives’ biases run the other way; a clinically depressed person often believes that any good thing that happens to her is luck, she causes all her own failures, and her peers and role models and enemies get their deserved successes through their virtues. (Elliot Aronson’s book The Social Animal, chapter 4, “Social Cognition”)

It strikes me that Impostor Syndrome preys on the same epistemological problem as the biases I listed above. How do you know whether you belong, whether you deserve your success, whether your achievements even count as success?

Surprise!  You deserve to think of yourself as successful!

Surprise! You deserve to think of yourself as successful!

How would I know if another person, female or male, were succeeding or failing in my position? Would I judge them by number of emails sent per day, quality of relationships, apartment cleanliness, salary, credentials, orgasms per week, number of FLOSS commits?

Well, I could try to make a yardstick.  Consensus reality has an array of subjective and objective criteria for “is this person a success?” Proxies include money, influence, fame, respect from one’s community, and pride. I can use that data to try to fight the automatic negative thoughts. My bosses and colleagues praise my work unbidden. I’ve written articles I’m proud of. I can make strangers laugh at my jokes. I know so much about technology that my friends and acquaintances consistently ask me for tech advice. At one job I was earning more yearly than my dad ever did. I aimed to do foo and I did it.

“Does this person belong?” Belonging seems trickier, slippery and social. What’s the baseline? What’s a good metric for “does this group really accept and like me”? I can come up with plenty of falsifiable propositions to check whether they act as though they like me, perhaps even whether they are sending costly and hard-to-fake signals that they like me, but I can’t check their internal states.

And besides, it takes a lot of discipline and consciousness to address Impostor Syndrome with data. As long as I’m concentrating, I can believe I’m competent. But the data can be pretty handwavy.  And unless I use that data to change my permanent beliefs, sooner or later I’m subconsciously moving the goalposts on myself.  So at some point I have to just start acting as if I believe I’m good enough, stop believing — without proof! — that I’m a fraud, and allow my identity and beliefs to be fluid enough to catch up.

And we all have nonfalsifiable beliefs that undergird our behaviors. We all make assumptions to get through the day. Maybe you believe that men and women should have equal opportunities in the workplace, or that sunrises are beautiful, or that all humans should behave compassionately, or that God does, or does not, exist. Too many women refuse to add “I am a success” and “I deserve to be here” to their list of beliefs. If your excuse is that you can’t believe it because it’s not objectively provable, well, neither is “I am a failure” or “I don’t deserve this awesomeness” — let’s do some social construction to fit our blueprints for once.

What would I be like, if I were successful and deserved it? Well, I’ll try to act like that, then.

Other useful resources on Impostor Syndrome include Valerie Young’s Overcoming the Impostor Syndrome blog and Anna Fels’s great book Necessary Dreams: Ambition in Women’s Changing Lives.

Sewing pattern archive for all you textile geeks

From Indie Craft Gossip I heard about a huge pattern archive with pictures and data on sewing patterns from the U.S. dating back to 1860. There aren’t any instructions for sewing, but the pictures and the pattern designs themselves are amazingly cool and funny. I don’t even sew, and it was fun to browse their pages on the “guest access” password. Check out these matching dresses with oven mitts from a 1943 Simplicity pattern:

Matching oven mitts!

The search interface is a little annoying to use, but if you take a look at a pattern or two, you might notice that the urls are all the same and end in a pattern ID number. In fact, each picture on the pattern pages is named after that pattern id. If you would like to use them for private research or study purposes or personal use, that seems to be permitted.

In fact you can do that really handily by making a short shell script,

#!/bin/bash
for n in {1..100}
do
wget -r -l1 -np http://guest:pattern@www.uri.edu/library/special_collections/COPA/garment.php?patID=$n
wait 3
done

This would get you the first 100 patterns and you can search through their metadata on your hard drive with grep instead of using the clunky search boxes on the web site. I would recommend you not get too many at a time because it might be rude to their server, but find a range that you think are interesting, or copy the pattern ID numbers from a particular search. So if you wanted to fetch only patternIDs 14287, 10001, and 20, your script would look like this:

#!/bin/bash
for n in 14287 10001 20
do
wget -r -l1 -np http://guest:pattern@www.uri.edu/library/special_collections/COPA/garment.php?patID=$n
wait 3
done

This is assuming you’re using Linux or on a Mac with Xcode or where you have installed wget.

That wasn’t at all obvious to me at first and I messed around for 2 hours tonight trying to figure out how to do this. First I tried using curl because you can put a range of numbers in brackets to download sequential urls like this:

curl http://guest:pattern@www.uri.edu/library/special_collections/COPA/garment.php?patID=%5B1-10%5D -o pattern-id-1#.html

But that doesn’t get the images, which is no fun.
wget alone can get the images but only from a single url:

wget -r -l1 -np http://guest:pattern@www.uri.edu/library/special_collections/COPA/garment.php?patID=10

I tried writing some perl but wget is very annoying when you try to do a system call with it in Perl. Let’s not even go there. Meanwhile there was some really dorky googling of things like “files sequential variable mirror wget”… and “bad port number perl wget system call”.

Then I tried this script called curlmirror which almost worked.

Suddenly I stopped messing with it and wrote a 4 line shell script instead, feeling a little sheepish.

So, if you had set out to do this would you have realized how to do it quickly? Or do you have a better or different way to do it? On a meta level, have you messed around like this in several dead ends and do you find that to be stressful, normal, or downright fun? (I found it a mixture of all three; stressful because it feels like I “should” see the way to make it work, or the best way, immediately. It’s fun because I enjoy dabbling in all these possible methods and learning something.) Would you explain that you did non-working things for 2 hours first or do you think it’s better to just come out with the solution and not say how you arrived there?

Ten tips for getting more women speakers

Allyson Kapin has a post over on Fast Company, entitled Where are the women in tech and social media? in which she talks about the dearth of women speakers at tech conferences. She offers a list of things conference organisers can do to get more women speakers:

  • Reach out to groups such as the Anita Borg Institute, She’s Geeky, Women Who Tech, National Women of Color Technology Conference, Women In Technology International, Women 2.0, and Girls In Tech and ask for suggestions of women speakers based on conference objectives and target audiences. Build a relationship with these organizations so that the communications pipeline is always open.

  • Look at your programming committee. Is it diverse enough? Two women out of 10 are not diverse. Also, consider having 1-2 panelists solely focus on recruiting diverse speakers.
  • Take on a 50/50 keynote challenge.
  • Edit panel acceptance notices to include a section on the importance of having panels filled with diverse panelists.
  • Follow more women in tech and social media on Twitter. For example, Women Who Tech recently compiled a list of 75+ women in tech’s twitter feeds. Be sure and also look at the Speakers Wiki and GeekSpeakPR.

Here are ten more tips:

  1. Have a diversity statement and code of conduct for your event that shows that you’re serious about welcoming women and other minorities. Make sure it is included (at least by reference) in your Call For Papers and other speaker communications.
  2. Track the diversity of your speakers. You can’t improve what you can’t measure. Count the number of women speakers from year to year, and if you’re proud of your improvement, tell people! If other aspects of diversity are important to you — first time speakers, speakers from other countries, cross-disciplinary speakers, speakers of colour — then count that too.
  3. Add a “Suggest a speaker” form to your website at the time of your CFP, and link it to your diversity statement. Ask people to suggest speakers you might not have thought of before. Follow up these suggestions with a personal email saying that the speaker had been personally recommended. You’re combatting Imposter syndrome here: knowing that at least one person out there believes in their knowledge and speaking ability will help potential speakers get over the hump.
  4. Avoid form letters. At least write a line or two of personalised, human communication at the top of emails you send to potential speakers, making them feel wanted. I’ve seen too many impersonal CFPs blasted to women’s mailing lists and ignored.
  5. If you’re a conference organiser or on a papers committee, go out of your way to attend sessions by minority speakers. If you’re in a rush, you can even just pop in for a few minutes. I saw one of the OSCON folks doing this to great effect the other week: he asked me, “Is $woman a good speaker?” She’d spoken at many previous conferences, but he had no idea, so I suggested he go see her in action. He went off and was back in 5 minutes. “She’s great,” he said. Her confidence and speaking ability had impressed him in no time flat. And yet he’d never known about it before.
  6. Let people know about any travel funding or scholarships which may be available for speakers at your conference. Women are less likely to be sent to conferences by their employers, more likely to be freelancing or working part time, or to have additional costs (eg. childcare) related to travel. Anything you can do to offset this will help improve diversity.
  7. When I’ve spoken to conference organisers and proposal committee members, what I hear time and time again is that technical interest is good, but having a great story to tell is better. Make sure your speakers know this! Emma Jane Hogbin, organiser of the HICKTech conference, had 50% women speakers and attendees, largely by doing this. This is a great tip for getting first-time speakers.
  8. In some fields and at some conferences, you’ll notice that women tend to speak about community management, documentation, and social tech rather than programming, hardware, sysadmin, and other more technical subjects. If those women submitted two proposals, one “hard” and one “soft”, the soft one may have been chosen to provide balance and texture to the conference procedings. However, the effect is to type-cast women speakers, and a vicious cycle may begin to occur. See if you can break the cycle by accepting more hard talks from women, or soft talks from men.
  9. Make sure that your conference’s extra-curricular activities are welcoming and safe for women. Here’s a tip: conference dinners with 90% or more men and free alcohol are not welcoming or safe. You don’t want to end up on a list of conference horror stories because of sexual harrassment, assault, or just plain sleaziness. If you can, offer taxi vouchers to help people get home from late night events.
  10. Pretend for a moment that your conference already has 50% women speakers and attendees. What would be different? Now do those things. Example: at one point OSCON had no women’s toilets on the conference floor, because of the vast gender gap in attendees. What message do you think that would send to potential women speakers? If you catch yourself doing anything like that, stop and reverse it immediately.

More information about women speakers at tech conferences is on the Geek Feminism Wiki.