geekchick77: (Default)
Last year, at WisCon 35, I was at a panel where an audience member asked a question about picking your battles when it comes to discussions about feminism. The answers from the panel were well-meaning, but I couldn’t help but feel they did not understand the questioner’s reality. I reflected on each panelist’s bio, and realized they all worked in female-dominated careers. It is a very different experience being the only woman in the room or perhaps the only woman in your company.

That moment got me thinking, and I realized that in all the wonderful WisCon panels I have gone to over the years, I could not recall any that were focused on women in technology, or women in male-dominated careers in general. It can be difficult and frightening to start connecting with the feminist community. Many of us get through our early career by being “one of the guys”: laughing at the jokes, not making a fuss. There is a real (and I think, reasonable) fear of retaliation or blackballing if one addresses the frequent sexism in technical workplaces.

As a woman in a heavily male-dominated career, you can end up feeling very isolated and alone. When you do encounter other women in the field, they may not be the allies you expected. You may suspect you are being marginalized in your career, but have trouble putting your finger on exactly how. Even worse, it may be extremely clear that some of your coworkers and bosses are not treating you fairly.

The good news is that you are not alone. There are many feminists working in technology, and some who have moved beyond their jobs as engineers to devote themselves to encouraging women in technology. At WisCon 36, I am moderating a panel for women in male-dominated careers. It will be a space for networking, sharing tips, strategies and resources, and talking about challenges.

The panelists have put together the following list of resources, which I will updating with suggestions we receive during the panel.

Unlocking the Clubhouse, by Jane Margolis and Allan Fisher
I am not exaggerating when I say this book kept me in university. I was experiencing everything they talk about: the sense of inferiority, the loss of interest, the withdrawal. Reading this book renewed my commitment to my chosen career path. - Jessamyn

Women Don’t Ask and Ask For It, by Linda Babcock and Sara Laschever
(suggested by Jessamyn and Carolyn) If I could give every young woman a single book to help her start a career, it would be one of these. Asking for what you want isn’t easy and will not always work, but it is one of the most worthwhile job (and life!) skills you can have.

How to Suppress Women's Writing, By Joanna Russ
While not about technology at all, I was amazed at how parallel the experiences of women writers are to women engineers. Highly recommended. - Jessamyn

Mad Women: The Other Side of Life on Madison Avenue in the '60s and Beyond
, by Jane Maas
I just finished this book, on a recommendation from a friend. Mostly amusing, but it does have some interesting subtext about competitiveness, sponsorship, and how these come into play for successful working women 50 years ago. - Carolyn

Love is the Killer App
, by Tim Sanders
Suggested by an audience member as a resource for those not wanting to conform to the traditionally cold and distant workplace.

Glassdoor
A resource to learn about companies and compare your salary and benefits. Asking for what you want at work is hard, doubly hard for women, and knowing the facts is a big help.

Imposter Syndrome
If you frequently doubt your competence, despite significant achievements and positive feedback, you are not alone! Many geek women experience Imposter Syndrome, consistently feeling they are not as good as others believe them to be, and it is only a matter of time until they are found out. Once you understand what is going on, you can take measures to create a more realistic sense of your competence.

LISA '11 Boston: Women in Tech Panel

The Large Installation System Administration conference in 2011 had a panel on women in technology, which sparked this excellent blog post about challenges and how to make a space friendly.

GeekFeminism Wiki
This is a wonderful resource, with a wide variety of guest blog posts, 101 pages, and tips for women in tech and people who want to encourage diversity in their workplaces. It also has event listings and timeline of incidents at tech events.

The Ada Initiative

TAI is dedicated to supporting women in technology. They help organizations and events become more welcoming to women, provide resources for technical people, and also run AdaCamp, a conference on women in open technology and culture.

Anita Borg Institute

ABI is devoted to increasing women’s impact on the world of technology and increasing the positive impact of technology on women’s lives around the world. A list of their many programs can be found on their website. One initiative, the Grace Hopper conference, is a showcase for women’s research and career interests in technology. Carolyn noticed this excellent ABI blog post on why there are so few women in CS.

There are a number of resources specifically for those interested in learning to code and/or become involved in open source work.

Open Hatch - Helps people find and get involved with open source projects

wiscondb - Our very own WisCon scheduling software!

PyLadies - International network of women Python programmers

DjangoGirls tutorial - Highly recommend resource for learning Django

Ladies Learning Code - Toronto-based group helping women learn to code

CodingBat - Online beginning coding exercises with visual feedback (very cool!)

Dr. Chuck - Python courses and resources, including the very popular Programming for Everybody

Codecademy - Great online resource for learning to code

PythonTutor - New resource for learning Python!

Expect more awesome resources to be added to this list post-panel. :-)

I am very excited about tonight’s panel, and I hope to see you there!  I love that WisCon has so much information about people who are imagining a more diverse future, and I look forward to more inclusion of those dedicated to building the technology that will help take us there.
geekchick77: (Default)
I am a bit annoyed at how difficult it is to get a working development environment on Mac OS these days.

I started out by installing homebrew, which is simple enough. I tried running brew doctor and got a message about how my XCode was out of date.

I have no idea why you can't just download XCode from Apple's site. I don't use my Apple login often enough to be able to remember it, so I always have to hunt around before I am able to log in. Next up was navigating the App Store, which was non-obvious to me. It took me quite a while to realize I had to click the "Free" button beside the dropdown to start the download. After waiting for the rather lengthy download, I discovered that installing XCode is no longer enough to give you command line tools. You are supposed to be able to install them from inside XCode, but I could not see them under Downloads. In the end, I logged back into Apple's site, at https://developer.apple.com/downloads/, and searched for Command Line Tools for XCode. I picked the most recent version, and downloaded and installed that.

I usually add the following to my .bashrc so my brew installations are found ahead of any system installations:
export PATH=/usr/local/bin:$PATH

Finally, I was able to run brew doctor and get on with my project!
geekchick77: (Default)
I spent ages trying to get this to work the first time, so perhaps this will save someone some pain.

On each computer:
1. Buy BG2 from gog.com, download, and install
2. Set compatibility mode on BGMain to Windows XP (Service Pack 3)
3. Run the game and switch to windows mode (alt-enter)
4. Sign up for game ranger: www.gameranger.com

On the host computer:
5. Host a BG2 game on game ranger
6. Wait for friend(s) to join the game on game ranger
7. Assign characters and start the game
8. Go back to full-screen mode (alt-enter)
9. Winning!

Note: If my power came unplugged while playing, it would lock up the game. As always, save often!

You may not need game ranger unless both computers are in the same network, but it made hosting a multiplayer game so easy that I definitely recommend it!
geekchick77: (Default)
I have a recent MacBook Pro (late 2011 model) and I've partitioned it and put Windows 7 Home Premium on it so I could play Windows-only games off Steam. For the most part, this has worked out great: Neverwinter Nights 2, Heroes of Might and Magic V, Portal, etc. Sadly, I wasn't able to get UFO Afterlight to run; apparently the game is very picky about graphics cards and the Intel graphics just doesn't cut it.

Tonight, I decided to try out Mass Effect. I tried running it from Steam and from the desktop shortcut, and it kept crashing. At least, I had to assume it was crashing. I'd get the spinning blue circle, and no game would pop up. I navigated the steamapps directory, and found the MassEffectLauncher. That would start, but as soon as I clicked play: nothing.

A friend suggested I look at events, something I did not previously know how to do in Windows. Turns out it's pretty easy!
Control Panel -> Administrative Tools -> Event Viewer
My crash reports were under Windows Logs -> Application. The error itself wasn't terribly useful, but it did show me that the executable was in:
c:\program files (x86)\steam\steamapps\common\mass effect\Binaries\MassEffect.exe

I started to experiment with compatibility modes (right-click the executable->Properties->Compatibility). No luck with Vista, but XP SP3 is working great!
geekchick77: (Default)

Edit: This post is up on Geek Feminism and has also been syndicated on BlogHer. It was #1 on Hacker News for several hours, was highly ranked on Reddit, and has been shared over 1000 times on Twitter.



I work at a startup, and most of the time, I enjoy it. Compared to most tech companies, and certainly most startups, we have quite a few people who are relatively clueful. There are relatively few moments of “brogrammer” culture. There is, however, one thing that has been bugging me for months, ever since it was introduced.

I took it for granted that everyone was familiar with the “That’s what she said,” joke, but a recent conversation with a consultant friend made me realize some industries don’t feature it on a daily basis. For those who haven’t heard it a million times, the idea is that when somebody says something that could remotely be turned into a sexual joke, e.g. “I’m trying to solve this problem but it’s really hard!” you say “That’s what SHE said,” in a lascivious tone.

Now, I admit to having made this joke myself, at times. Once in a while, I even find it funny. What I don’t find funny is a bot we have in our general IRC channel at work, that has some basic AI devoted to determining when to interject TWSS into the conversation.

I asked a number of times to have that bot function turned off, but got the usual combination of being ignored, being told it’s funny, and being told I should lighten up. I tried explaining once why it was objectionable, and managed to get the guys saying variations, e.g. “That’s what your DAD said,” for an evening, but that was about it.

Last Friday, the bot went a bit crazy and started throwing TWSS into the conversation with no apparent rhyme or reason. Finally, I had had enough. And then it came to me: I would write my OWN bot, that responded to TWSS with a quotation from a notable woman. If they are so keen on what she said, why don’t we get educated about what she really had to say. And so the “whatshereallysaid” bot was born. It might annoy the guys into shutting off the TWSS bot, or we might all learn about notable women. It’s a win either way, in my books!

I’d never written a bot, but how hard could it be? Python is my primary programming language these days, so I started searching for Python IRC bots. I tried a few different libraries before setting on twisted. I found a very nice example of a logging bot using twisted , and went from there.

Step 1: I copied the LogBot code into local files, and tried running it. Since the IRC channels I am normally in use SSL, I had to set up my own channel on a public IRC server for testing. It took a while to get the settings right, but finally I succeeded!

Step 2: I created a quotes file and put in a couple of my favorite quotes to test with. I created class to randomly select a quote from the file. I modified the log bot so that if you said its name, it would get a quote and post it to the channel.

Step 3: My ultimate goal was to put the bot in the work channel, so I needed it to support SSL. I found a stackoverflow thread about using a different connect function, one for SSL. Again, it took me some time to get the settings right, but eventually I got the bot to connect to the work IRC server.

Step 4: Now I needed more quotes! I found an excellent website of quotes by women and wrote a small script to scrape the quotes. I used the excellent python requests library. The script got the content of the main links page, and iterated over the links, using a regular expression to get the name and then following the link to the quotes page. Then it pulled the quotes out of the page content and stored them in a text file, one per line, with the woman’s name attached.

Step 5: I set up my own private channel and had my bot connect. I tested it to verify it was correctly noticing and responding to trigger phrases. Once I was confident of that, I tried in the general chat channel. Success!

Step 6: I cleaned up the code, removing everything unrelated to posting quotes, and adding a settings file. I made the trigger phrases configurable. I also added a virtualenv. I felt the project was now in good enough shape to post publicly, so I shared it on github.

Step 7: At this point, I was still running the bot on my own computer, which was clearly non-ideal. I wanted it to be in the channel all the time, not just when I was logged in! I found a python daemon implementation and made my bot run through that. Perfect! Now I could run it from one of the development servers at work.

Step 8: Unit tests, of course! No project is complete without them. I only have tests on the quote selector so far, but I am going to set up some mock tests on the bot logic.

Originally, I had called the project “whatshereallysaid”, but as I was working, I realized this could be much more broadly applied. Anyone could clone my github project and configure a bot to respond to whatever annoying comments they had to put up with. Inspired by “take back the night” and “hollaback”, I decided to rename the project “talkbackbot”.

I finished all this rather late on Friday night, so there was nobody around. I waited with anticipation to see what the response would be. To my surprise, many coworkers complimented me on creating the bot, including some I would never have guessed would appreciate it. Some people even retweeted my announcement that the bot was available on github.

It has been fascinating to watch the ongoing reactions. There have been complaints that we have too many bots in the channel now. There have been complaints about it spamming the channel. There were several “Make them shut up!” responses. These are not reactions I have seen the other bots elicit, certainly not with such intensity. One person even complained about the name being too long, though to his credit he realized right after he said that that several other people in the channel also have very long handles.

To me, all of this seems like typical geek behaviour: something is making them uncomfortable, and so they attack it on “rational” grounds. Most likely, they aren’t even aware of the gut reaction fueling their logic. Interestingly, the intensity of emotion seemed to carry over into subsequent discussions, including one about women in the Python community. For the most part, I have not responded to the comments. I did shorten the bot’s name to “twsrs”, and I pointed out that it’s trivially easy to have the bot not say anything: don’t say TWSS.

In any case, I feel that I have succeeded in constructively disrupting an aspect of my work culture that made me uncomfortable. This is the first personal project I’ve ever thought of, coded, and made public, and I am pretty excited about it! It makes me so happy every time the other bot says “that’s what she said,” and my bot responds with something like:

Our struggle today is not to have a female Einstein get appointed as an assistant professor. It is for a woman schlemiel to get as quickly promoted as a male schlemiel. ~ Bella Abzug

One of the most hilarious responses was a guy saying he was going to say TWSS a lot more, so he could get more quotes! I decided to add another trigger phrase just for him, since the last thing I want to do is encourage *more* TWSS!

Page generated Jul. 5th, 2025 06:31 am
Powered by Dreamwidth Studios