Vagina Invalidation Argument

I've been holding onto this post for a while, so that the people I interact with both in the meatspace and virtually, wouldn't think it was directed specifically at them. You know how it is: someone does something that tweaks you, and they're far from the first, but if you rant about it elsewhere, they'll assume it was ALL ABOUT THEM.

I kept waiting for a lull, so that I could post this without someone taking it personally. But each time I thought enough time had passed, I'd be damned if it didn't happen again.

So fuck it. I'm posting it.

I would like to talk to you today about a tool that's often used against people of one group to invalidate their argument. Since it's used against me as regards to my being a woman, I shall name it thusly:

The Vagina Invalidation Argument

It goes like this:

Me: [argument about how women are treated]

Other: Well, I know a woman who's okay with it, so... it must be okay.

Me: [dropped jaw]

It's a simple tool, and an incredibly annoying one. I've seen it used against women, men, people of various races and sexual orientations, and, well, just about anything that can be labelled.

Here's the truth of the matter: every group is sprinkled with people who, for whatever reason, don't fight the status quo of oppression. Maybe they think rules can't change. Maybe they've bought into the arguments of the other side. Or, maybe they've gained under this unbalanced system, and to fight it would mean to lose those gains. Who knows?I do know something, though: there's quite a few of them.

As a woman, I've fought them all my life. They came not only from TV and movies, which I could ignore, but from my own family and friends. They didn't do it out of malice, which only made it harder to fight. I was told never to show off that I was smart. I was told to be quiet and demure. I was told that computer club was a waste of my time (omiGOD did you see the NERDS in there?!). I was told wanting to play hockey would mean I would be labeled a *gasp* lesbian. I was told never to tell a man he was wrong, but to be coy and gently nudge him to my way of thinking. Oh, and if he takes credit for my idea as his own? *haha* Oh, MEN. Baby, that's just how it works, okay?

I was told all that crap by women. Not just women: the ones closest to me. But I managed to block them out, though I was punished, ostracisized, and put down in innumerable petty ways. I survived, and I made it in an industry that's mostly male. I thought I had put them behind me.

Now here we are, having a discussion, and you've tossed another one at me. They don't even have to be in spitting distance to annoy me. FFS.

Just because you know someone who agrees with you, doesn't mean you get to use them as a proxy for an argument. Mob rule is not the same as logic and debate. If you've reached the point of trolling through your brain for people who think the same as you do, you have essentially lost the argument. Just. Stop. Walk away. Maybe you'll come up with some better arguments later. If it was a rational discussion, hell, you might even be able to present them. If you ended with 'The lurkers agree with me in email,' you've just shown you don't deserve a second chance.

So stop using it. Seriously.

Lighten Up

Recently, I was asked why a woman that loves coding would ever leave the field. It's true: at one point in my life, I decided that coding would be something I'd do only in private. I was only slowly pulled back into the fold.

Let me tell you, I love coding. Been doing it since before I hit puberty. I did it when I barely had the money to keep a server up. I do it on the weekends and evenings, and I'm teaching my kids how to do it. I've spent thousands of dollars to go to conferences so I can learn more about it. Why would I ever leave the profession where I got paid real money to do what I love?

In short, I got tired of being told to 'lighten up.'

This industry is one of subtle sexism. I almost prefer outright sexism, because at least that you can point out. The subtle barbs are usually dismissed as something I need to not care about. It was a joke! Sheesh. Why are you so sensitive?! All I did was make a joke about you needing to be in the kitchen!

Lighten up.

The barbs aren't always jokes, either. Sometimes, it's attempts to push me into a traditionally 'female' role. As the woman, I've been the only person in the group asked to put together a pot luck (presumably, this work is beneath the males). I've been the only one asked to take notes in a meeting... even if I'm the one who's presenting (because my title really should be 'secretary who we let on the servers'). I once had a boss who wanted to turn me into a personal assistant so badly, it ended up in a meeting with HR (he, as white and male, should be allowed to rein in the only female on the team!). 

Why did I have to take all of the above so personally? Sheesh. 

Lighten up.

Sometimes, even the unsubtle jabs are hard to combat. What do you say to the guy who sits across from you when you dress up and makes a comment to everyone about it? "Oop, Katie's got the low cut dress on today! I know where I'm sitting!" Say something, and derail the meeting? Go to HR and get stuck with his work when they move or can him? Get transferred off the best team and languish somewhere else? Start wearing sweaters, even though my breasts feel like they're boiling in there (yup, that's one reason women like low tops, guys)? Which label do I want to be stuck with today?  Ice Queen or Slut? 

What is wrong with you? It was one comment! I bet you'd sue him if he complimented your shoes. 

Lighten up.

Every time I spoke up about the above crap, I got some sympathy, but I also got some guy who didn't understand what the big deal was. If I wasn't in the middle of being raped or beaten or threatened or fired, guess what I needed to do?

Lighten up.

How long would you put up with it? Do you love anything that much? If your spouse subtly treated you like crap every day, how long would your marriage last? If you saw a friend being treated this way by their boss, wouldn't you tell them to quit? 

Or would you tell them to lighten up?

You, person who told me to lighten up, saw one little thing. It didn't seem like a big deal, did it? One little line! One joke! One comment! But it's not just one thing to me: it's one of thousands that I've had to endure since I was old enough to be told that 'X is for boys!' It's probably not even the first thing I've had to deal with that day, unless you've gotten to me pretty early. 

That's the main problem with subtle discrimination. It leaves those that it affects the most powerless against it, quietly discouraging them. If they speak up, they're treated to eye rolls at the least, and at the worst, are called oppressors themselves. We're accused of not wanting equal rights, but of wanting tyranny. 

I would just like the million little barbs to stop, and I would like to not be told to 'lighten up'.

(Update - Have to close comments! There's some issue with them not posting, and I can't look into it right now. Sorry!)

Lighten Up: A follow up

The Numbers

In 48 hours, Lighten Up got over 62k views. 

It stayed on HackerNews's front page for two days. It generated almost 800 comments.

It was syndicated by Buzzfeed, and quoted by The Guardian, TechCrunch, and IT World

Jaqui Chang and Jeff Atwood mentioned the post, as well as one of the people from Mojang, and Phil Haacked.

There were so many comments on the post, it broke my commenting module and I had to close comments.

It was mentioned in over 1500 tweets.

The Reactions

There were people who blew off the post, but I expected that. After all, the post is about being blown off.

There were heart wrenching posts by men and women detailing how it had happened to them, or to someone they loved.

There were people who admitted that things like this caused them to leave the industry.

Some admitted that they were discouraging their daughters from careers in development due to the culture.

The most powerful posts were from men who realized that they did this, and that they needed to stop.

Leaders of tech groups reached out to me, asking how they could attract more women to their groups.

Owners of companies reached out to me, offering me work.

I was stunned.

Some clarifications

While I left the tech industrry for some time, I've returned to it, and am determined to stay. I was out of it completely for five years, though, and was only drawn back in when I realized that coding was what made me happy. 

I'm stronger now at 31 than I was at 21. This time, I'll make a stand.

I'm very happy with my current job, and haven't had a whiff of what happened to me at other places happen here, at Cox. They're an awesome bunch of people, and proof that you can joke and have fun without having a hostile work environment.

And finally...

The reactions were a powerful indication that, even though our community has its issues, there are people that are willing to work through them and make this a better place for everyone.

Thank you.

Getting more women to your meet-up

I get this question a lot. Like, once a week.

I've puzzled over it, because whenever I start to answer it, I sound a bit rambly. There's a reason for that, though: women take up half of this planet. A population that big isn't easy to target (in spite what advertisers would have you believe).

See, there's so many reasons why women might not be coming to your meet-up or hacker space. Maybe it's a bit guy heavy (I know, catch-22, right?). Maybe they're already booked. Maybe they have obligations at home. Maybe they just don't know about your event. Maybe they think they won't get anything from it. Whatever the reason, one thing is clear:

You can't use just one strategy if you want more women to show up at your tech event.

So, what are some strategies you can use?

Invite them

No, don't just put 'Ladies welcome' on your flyer. Invite specific women to your event. A word of warning, though: there's a right way to do this, and a wrong way to do this. The wrong way:

Hey! We're trying to encourage more women to show up at our tech event, and I was wondering if you'd like to come?

Sounds pretty tame, right? It's polite, it's sleaze-free... and it makes it sound like the only reason you're inviting this person is because she's a woman. This does not make me want to come to your event, which is what you're aiming for, right? What if you drop the 'encourage women attendance' bit?

Hey! I run a meet-up on Thursdays! You should come!

That's fine, but there's lots of meet-ups this person could be going to. Also, if this worked well, you wouldn't be in the situation you're in right now, would you? What do you do? Well, here's an example that worked on me:

Hey! I read your roguelike posts, and loved them! Do you think you could do a talk about them at my meet-up once you're done?

I couldn't clear my calendar fast enough. I was flattered (and I felt the invite was genuine), and I felt like I had something I could add to this group. Even if he'd added that they were trying to attract more women (which came up later), I was still happy to attend.

But what if you don't know any women in your area who are active bloggers, or who actively commit to open source projects that you can use as conversation starters?

Do an alternate night now and then

Childcare isn't an issue for all women, but man, once it's on the table, it's a big issue. It's different for every parent, but often, it's easier to get alternative child care on one night rather than an other. For me, weekday events are almost impossible for me to get to, but weekend ones are a snap. Other women I know can get away during the week more easily than they can on the weekend.

So... should you get day care of your own at your meet-up? No, probably not. Legal and money issues aside, there's a simpler solution: move the date once a month.

I bet your meet-up is on the same day of the week every week, and at the same time. If the women in your area happen to be in the group that can't attend on that night, moving it once a month would enable them to attend. As a side benefit, anyone who can't attend due to work hours or other obligations can suddenly show up.

Advertise somewhere new

As everyone should be aware by now, the tech industry is having a hard time recruiting and holding on to women. This means that the women you would traditionally consider inviting to your meet-up are already pretty rare. What do you do?

At a recent PyLadies gathering, we had women from the following industries:

Counting heads, I realized that almost half of the women present did not call themselves a 'developer,' and yet, they were interested in learning more about Python. So... why are you still advertising only on Planet Python?

Reach out to non-traditional venues that can take advantage of whatever your meet-up is about. Teachers benefit from pretty much anything that's free and can be used in the classroom, or to make their lives easier outside of it. Journalists are being asked to know more about the platforms their careers depend upon. If someone is working in an office that's cash-strapped, it benefits everyone if even the non-developers know about how to code, even if it's only to work with templates, and be able to read the code the devs checked in.

So, come up with a pitch about how your meet-up could benefit someone that isn't a developer, and see if you can push it somewhere new. Does someone in the group have kids? See if they can talk to the teachers at the kid's school.

Have a clear harassment policy, and enforce it

Yeah, this one has been an issue in the past for me.

Back in college, I went to the *nix meet-up at our school. There was a guy there that was, well, less than pleasant to anyone female that walked in the door. He would talk over us, deride anything we had to say, and if we had a question, he'd made snide comments. He was sometimes a jerk to the guys in the group, but he was batting 1.000 for the women.

The three women in the meet-up brought it up to the head of the group.

"Oh, just ignore him."

There was no harassment policy in place, and even if there had been, I wonder if anyone would have been willing to do anything.

The thing is, we had a choice as to what we could do with our Thursday nights. We didn't have to go to this group. There were other tech meet-ups in the area. We left.

Have a policy. Enforce it. It'll ensure the women that do show up actually stay.

More ideas?

This is far from an exhaustive list. They're simply the handful ideas I had when examining why I didn't go to more meet-ups (or issues that other women had shared with me). If you have more ideas, please, leave them in the comments.

PyLadies Workshop Wrap-Up

A chilly weekend in October, PyLadies descended upon the American University campus to teach a class for women on programming and Python.

Workshop numbers

We had thirty-five slots (five were for AU students, and the rest were for us). Every one of the Meet-up slots was filled, and we had a small waiting list.

A few days before the workshop, we asked people to drop if they realized they couldn't make it. Some did, so everyone on the wait-list ended up getting in.

We ended up having twenty-four students, and this was a very good thing. Any more, and we would have had students without desks. As it was, our volunteers had to sit against the wall.

A panoramic of the PyLadies workshop, from the teacher's perspective.


With our first class, we used the MIT materials given to us by other PyLadies chapter. This time, though, we wanted to try doing something on our own. I had some different ideas about teaching order, so we scrapped those materials and started fresh.

Well, 'fresh.' To be honest, I was using the order from a book I'm writing. I wanted to give it a dry run on some actual humans before sending the book off for publication. My theory, when putting together the table of contents for the book, was that going back and forth between data types and functionality offered more chances for reinforcement than diving into data types first, then functionality.

I also decided to use IDLE, since getting paths set up is a pain in the ass, when you're talking 20 windows machines. While I still think IDLE is a great teaching tool, having some people on older versions proved an issue. I may turn set-up idle time into 'learn how to get around your computer' time, since many students don't know how to open a terminal or change directories.


This time, we did sign-up through the DC PyLadies meet-up rather than through the much larger DC Python group. This meant our class was filled within days, rather than hours, and our wait-list was much smaller (last time, if memory serves, our wait-list was three times the number of spots).

We kept the number of slots the same (30), but added a new rule: The class was for women and their friends. Basically, men could attend as long as they came as the guest of a woman.

Why did we do this? Because last time, the waiting list was almost completely male. This made me wonder if the fact that our class was mostly women was only due to chance. Had we posted at a slightly different time, would the class have been mostly guys?

This isn't the case for every PyLadies chapter (or group that's set up for women and programming). Some have never run into this issue. Some have had huge issues with it, and have had to put this rule in place for even their casual meet-ups. We added this clause because I'm not sure yet where we fall on the spectrum.

In our case, only two men signed up, so we didn't have to have any awkward conversations. Huzzah!

Also, we didn't charge for the class. I don't believe in nominal fees. No, not because I'm completely selfless; I don't believe in them because they tend to have the opposite of the intended effect. When people shell out a few bucks for a seat, they feel more justified in not attending. You've basically given them a way to pay off their guilt. If you don't let them do this, then they're more likely to get out of bed early and get to class.

Volunteer meeting

A few days before the class, we had a meeting with the volunteers, which I highly recommend to anyone running an Intro to Python class. We covered the syllabus, schedule, and some ground rules:

Day One


I don't know what the hell happened in DC on Saturday, but traffic was horrific. Like, sit in one spot for 30 minutes horrific. I'm a hardened native who thinks anyone who whines about an hour long commute is a wuss, but even I was yelling 'Oh, come ON!' over my steering wheel. I'd planned on being there an hour early, and was there an hour late.

Happily, everyone else where there on time. The first hour was dedicated to setting everyone up, so all I missed was a bunch of cursing at Windows machines.

I recommend setting up in person or over a screen share, because instructions can easily go off the rails. One click installers often aren't. Sometimes students grab the wrong version, or installed a version that was current a while back. Sometimes, they grab Python 3 no matter how many times you say "Get 2.7" because they've been trained to get the latest version of whatever they need.

You also do not want a poor Windows user screwing up their path while they try to get Python to run on the command line.

Wifi was problematic due to some duplicate logins. Some people stayed on fine. Others kept knocking each other off. We weren't doing much with the Internet, but I still recommend bringing in installers on flash drives. I also recommend making sure that the students have wifi before anyone else.

Let's get started!

Once everyone was set-up, I realized we still had a while before lunch, so I went ahead and started covering some introductions and basic concepts.

I talked a bit about who we are (most of the attendees had never been to a PyLadies meeting), gave an overview of the class, and talked about all the stuff that Python can do, and is currently doing. We had a mix of students, from a high school student to people into scientific computing, as well as a hardened Java and PHP developer. I tried to hit on as wide a range of applications I could. I wanted everyone to recognize at least one thing I was tossing out there.

At that point, I pulled up IDLE and started going over some basics.

At this point, food was ready, so we ate and helped anyone who was still having technical issues.

After lunch, we moved into our next topics.

By this time, it was three o'clock, so we introduced the idea of student projects. We asked them to go home and think about what in their life could be automated, or what they were curious about. Sunday afternoon, we'd break into groups and help them realize at least a part of their project.

I then went home and drank.

Day Two

There was a marathon scheduled in DC, so I emailed students, warning them to check their route. I struck out early and managed to get there insanely early.

Note: Nothing is open on the AU campus on Sunday.

I didn't notice any attrition on our second day, which delighted me. Everyone showed up, we cleared up a few technical issues, did a quick review of what we'd gone over the day before, then launched into more Python.

More Python!

We were only teaching that morning, but we crammed quite a bit in.

Brains full, we had lunch, then moved on to student projects.

Student projects

Previously, we had the entire class do a Twitter project. This time, though, we decided to let the students think of their own projects. We broke them up into groups that had roughly the same idea. There was a web group (including a woman who got Django running the night of the first class!), a PyGame group, some OS people, and... other groups. I'm kicking myself that I didn't make a note of all the groups that we had.

Volunteers and teachers moved amongst the groups, helping students focus a big idea into something more manageable. It was amazing watching students work through the logic of a program, then light up when their code started doing what they expected.

The next level?

One request we got from many students was a second class, covering the next level of coding. We didn't get to object oriented programming (because come on, people! We only had two days!), and we were barely got to cover imports or installing other libraries.

I'm putting together materials for a 'Intro to Python II' class now, and trying to figure out a way to screen for people that may be better off in the Intro I class. Ask them to write a bit of code? Quick test? Ask that they finish the Codecademy Python section before they come in? I don't want to put people off, but our time and the seats available are highly limited. I'd rather not have a class full of people who assume that they'll catch up quickly.

Releasing materials

I was asked during the class whether I would be releasing the materials for others to use, and the answer is 'yes.' I'm just considering licensing. Creative commons makes the most sense, so I've been reading over all the variations. After talking with some people who've used CC licensing, I think I'm going to go with CC-NC-SA. So, people are free to use the materials (with attribution), and alter them (as long as they share alike), but any commercial uses will require a waiver.

I may strip off the NC part, but it was pointed out that, once I do that, I can't undo it. I'm not against people charging for a class, but I want err on the side of caution for now.

Last but not least...

A huge thanks to my co-organizer, Jackie Kazil, who made the food and the space happen, DC Python for lending us their non-profit status, all of our wonderful volunteers who made it possible for me to teach without having to debug someone's computer every two minutes, Social Code for the sponsorship, and American University for the space.

PyCon 2013: Mani Party Wrap-up!

It all started off as a joke.

I've decided I'm bringing all my nail polishes to PyCon so we can have a mani party.

— Katie Cunningham (@kcunning) November 24, 2012

Flush with my new obsession, nail polish, I told everyone on Twitter that I was totally going to bring some polish along so we could all do our nails at PyCon. I wasn't really going to do it. Who would come? It's not like PyCon was a fashion show. We had to give people explicit instructions to take showers. This is not a mani/pedi crowd.

People responded, though. Yes! Please! Bring some polishes! And yes, people. About half of the people on Twitter asking me to go ahead and do it were men. Apparently, more of my guy friends like nail polish than I thought. Hell, I was surprised most of the women liked nail polish. At conferences, I almost always saw bare, stubby nails.

So... I started planning. I took my ever-patient husband's poker set and turned it into a travel case. I picked out colors. I put them back and picked out completely new colors. I got more nail polish in and had to swap again. I got a BOF room reserved. I blogged about it.

I was sure that no one would show up.

I was wrong.


Approximately 20 people seated around a long table, all doing their nails and talking.

I didn't count how many people showed up. My guess is that it was somewhere over twenty, but I was spending most of my time finding bottles and being very, very excited.

A manicurist setting up her station

At the last minute, I got contacted by a sponsor. A sponsor! StyleSeat wanted to bring a professional nail artist so this didn't have to be a completely DIY affair.

Doug Napoleone supplied us with the cutest monkey nail blow dryers I've ever seen. We had a few of these left, so gave them away at the PyLadies booth. A Survey Monkey booth guy was enamored with the last one, so I'm wondering if we'll have those sponsored next year as well.

A woman drying her nails with a tiny monkey nail dryer.

I had planned for the event to last an hour, but I forgot that not everyone is a twitchy freak who does theirs every day (like me). I can do my nails in ten minutes, but most people are going to take way longer. We also had a fairly steady stream of people coming in and out of the room.

We also had a good number of men show up. I had posted a warning, that coming in meant you were getting your nails done, but they all seemed to come in with an idea of exactly what color they were looking for. I don't think I saw a single clear coat leave the room.

A thumb with the Python logo on it.

In fact, I am now insanely jealous of the infamous Gregory P. Smith. He came in and declared that he was going to do the Python logo on his nails. Pfft, I thought, I've been trying to do that for months. Good luck, dude. What did he do? A perfect Python logo. Okay, fine. I'm going to assume skills like that are why he works at Google.

Next year

I would love to do this again next year. Heck, I might already have a sponsor lined up. I will do a few things differently:

Other than that, I was shocked at how well it turned out. I'm looking forward to doing this again next year!