Category Archives: life

Should You Go Completely Insane

… and decide that what your massively overscheduled life really needs right now is to start a glossy print-on-demand magazine about Portland’s food cart scene, I can tell you that it is completely possible to mock up a fake cover image, recruit interested contributors over Twitter, register the domain, set up hosting, and create a simple landing page, all in the time one might allot for a lunch break.

Just in case you wondered.

Building the Community We Need

In the past week, I’ve been involved in a number of conversations about how we can build welcoming, inclusive communities, within Rails, Ruby, and technology in general. I am not the only one who is tired of arguing about appropriate behavior. I am not the only one who is already working on positive community-building. And I am not the only one who believes Rails can do better.

So we will. RailsBridge is a new, informal group with the mission of creating “an inclusive and friendly Ruby on Rails community”. We are building resources for mentoring, education, and other outreach to help aspiring developers become contributing community members. If this interests you, or you’re already doing something that matches, I invite you to join us.

The Modern Professional Developer

In some of the responses to my earlier post, I felt that people misunderstood what I meant by “unprofessional”.

Many people jumped on this as something stuffy, that keeps us from being expressive and creative (the complaint was often expressed as a desire to be able to say “fuck”). I was surprised, because that’s not what I meant at all. I start my working day in my pajamas, and listen to whatever music I like. I click on NSFW links if I want to, because my officemates are a pair of cats. I’m involved in a ton of extracurricular tech activities, and we drink at our planning meetings ’cause we’re adults and we can.

When I say professionalism, I mean the social practices that permit each of us and our colleagues to earn a living. All of the things I’ve described above don’t affect my ability to get a paycheck, nor does it impede anyone else. What does have that effect is exclusionary behavior, and technical communities that allow said behavior to persist, even when called on it.

This is not just a club. Rails is how I earn my living. My call for professional behavior isn’t a call for us to button up our collars and be sure we keep our language clean. I’m asking that we make sure the events and activities where we learn the tools of our trade are open to everyone.

On its own, this doesn’t dictate any particular standard of content (“edgy” or not). You have to pay attention to your colleagues, listen when they say, “that makes me feel unwelcome”, and negotiate a respectful solution.

In my professional life, I work for a distributed company with people in other cities. We talk about code and share links to interesting things in Campfire. Text-based chat makes it easy to skim when people are talking about something I’m not interested in, and tune in again when they are.

I go to user group meetings that start with code and move on to drinking at the pub afterward. The meetings provide an opportunity to share what we know, and learn from others’ experiences. The pub gives us a chance to talk about the recurring frustrations in our work, and get to know each other better. Some of the people I’ve met through user groups have become good friends, while others remain acquaintances.

I post to Twitter and Flickr and my blog, and trust that people I work with will subscribe or ignore based on their own interests. I combine my personal and professional interests when I write online. It’s okay if you like my code but not the cat stories, or vice versa.

I use this mixing of personal and professional life to build relationships that turn into other project opportunities. It gave me a pool of people to go to when I wanted to address Portland’s need for a tech community calendar. It manifests as sessions on knitting at BarCamp and ambitious plans for open source world domination.

I get to do my work in an environment that is, on the whole, flexible and engaging, and has positive effects on other areas of my life. That’s why I feel so strongly about building that environment in the Ruby/Rails community as a whole. We should all be able to share and experience this.

So Now What?

Thank you everyone who stopped by to read my post yesterday. I think most people got the point that I wasn’t talking about just one presentation—but the cultural pattern it (and how people respond to it) reveals.

Sexism is endemic in the tech industry. This can mean that people who aren’t trying to act in a sexist way sometimes do, because they aren’t stepping so far outside the cultural norm that they realize how their comments or actions will seem. I’ve seen a pattern in past controversies where the offending person is called out, people argue back and forth over whether the behavior is inappropriate, the person apologizes, and that’s the end of the story. Maybe people drag it back out later to say, “yes, remember that thing that happened?” but I don’t see that as change. I see it as acceptance.

Commenters on the previous post rightly pointed out that these problems exist elsewhere, in other technologies. This is absolutely true, but I don’t work with Django, I work with Ruby and Rails. For better or worse, this is my community. And wouldn’t it be awesome if we could be a model for the rest of our industry? That doesn’t happen by accident, it’s something we can work toward.

For the general “why aren’t there more women in tech?” and “how do I encourage more women in tech?” questions, Google is your friend. This is not a wild, unexplored area of inquiry. There’s actually a lot of research on the subject, and if you’re interested enough to leave comments on my blog, you should be interested enough to do a little reading. For bonus points (one commenter said, “WTF is a “gendered identity”?”), you can read up on gender. Also, Yay Genderform, because it’s amazing and geeky.

So what can the Ruby community do to address these issues?

I want us to do a better job of reaching out to the rank and file female Ruby programmers, who do this for a living but don’t present at conferences or write well-linked blog posts. There are more of us out there than you think, and we need to get over “rare unicorn” mentality that makes it impossible to have a normal conversation. If you don’t know any women working with Ruby, this is a great time to start. We’re on Twitter, we have blogs. Don’t assume that because you’re not working with or friends with one of us, we don’t exist.

I want us to call bullshit on the ego-laden drama that often passes for tech discussion. Don’t link. Don’t comment. This isn’t helping anyone write better code, it’s a distraction.

I want conference organizers to make an effort to recruit women to speak. Some of the regional conferences do, but there’s so much room for improvement, especially at national-level events. Reach out to groups like DevChix and ask, “Does anyone want to be on a panel about git vs. svn?” or “What are you working with that we’re not addressing in these talks?”. Check out the listings on GeekSpeakr. Women are often shyer to put themselves out there and claim expertise, and may need more mentoring to know how to get involved. Recruiting for diversity of all sorts is smart; we want to bring in up-and-coming topics and ensure that we don’t see the same faces doing the same talks every single time.

Don’t assume that more women would participate if only we wanted to. That idea is deeply flawed and assumes a level playing field, which we don’t have (see above re: sexism, endemic).

I want project leaders to mentor women toward becoming contributors. Open source projects always need more people (I know, I run one). Is there a friendly way to find out how to contribute a patch or documentation? Are you looking for women who use your code in their work? Provide entry points to go from user to co-creator.

I want us to have fun. I started in the Portland Ruby Brigade around the same time Topher Cyll was collecting ideas for his Practical Ruby Projects book, and I was completely drawn in by the fun, interesting, experimental nature of what people were doing. As I got braver about asking questions and getting to know the other people in the group, I realized, “I can do this too.” There are some great things happening in Ruby, both technologically and culturally. Let’s work on making that accessible to everyone.

Dear Fellow Rubyists

Today someone sent me a link to a post from a GoGaRuCo attendee who is upset about one of the presentations. This talk is titled “CouchDB + Ruby: Perform Like a Pr0n Star”. The attendee says,

“If he had left it at a few introductory jokes, I would be writing a very different post. Instead the porn references continued with images of scantily-clad women gratuitously splashed across technical diagrams and intro slides. As he got into code snippets, he inserted interstitial images every few slides. The first time it happened, he mentioned that he wanted to keep everyone’s attention. It had the reverse effect. This technique was distracting and disrespectful to an audience who, frankly, is turned on by code. This crowd had just watch hour upon hour of code slide shows and live irb sessions, often on the edge of their seats as they absorbed the latest whiz-bang plugin or coding technique from one of the masters.”

You can go to the post and read the comments. In fact, go read it and come back to this. The reaction (from women and men both) is mixed, and heated. No big shock, right? If I knew the presenter, I’d want to tell him, “Seriously? Didn’t you see this one coming?”. Because here’s what I see:

I’ve been a member of the Ruby community for three years, and for the first year of that, I didn’t know any women working with Ruby. This has changed, especially thanks to DevChix, but it’s still pretty normal for me to be the only woman in the room at Pdx.rb meetings. Women are a tiny minority in the Ruby world, and we know it. Even before someone says, “hey, it’s cool to see women working with Ruby”. (These sorts of comments are often heard as “holy cow, there’s a chick in this room.” It’s not an issue of intent. It’s that we already felt like we have a blinking arrow over our heads.)

And since we’re a minority, and we often encounter awkward responses to that, we feel marginalized. We also tend to feel marginalized when we encounter sexualized images when we’re in a room full of men we don’t know very well. Even women who like porn can feel that way. It doesn’t have anything to do with whether we like sexual content, it’s whether we’re okay with seeing it in a professional context. Some women may be fine with this (especially if they know the presenter), some may find it tacky and awkward, and some may have the immediate urge to flee the room and be anywhere else right now.

I struggle constantly, as a member of this female minority in Ruby and technology in general, to negotiate a representation of my sexuality that gives me a comfortable working space, but without feeling like I’ve compromised some part of my identity. I’m not female by default (because of my physical body); I have a gendered identity. I have a sexual identity too, parts of which used to be more public before I started working in the technology world. I know I’m not the only one who is frustrated trying to deal with this.

“Being professional” for women often involves making sure we dress to an appropriate level of modesty (the men I know worry more about hygiene and not being too casual or formal). Similar standards apply to content and communications. NSFW is the shorthand for “sexual content found here” for a reason. We can argue about what the appropriate level of sexuality in professional contexts should be, but for many people this is already set, either by their employer, their colleagues, or their own comfort level.

Here’s another problem in this tangle: Ruby (and Rails in particular) loves the rock star image. You see it in job posts, how people talk about their work, and the way Rubyists rant on their blogs. It’s macho, it can be offputting to both genders, and it makes it easy in this kind of situation to say, “what’s your problem? I’m just busy being awesome”. It’s also a significant barrier to adoption for people who aren’t already a part of this culture, and don’t find it appealing. There’s a great comment on that blog post:

“I understand that the ruby community prides itself on its un- or anti-professionalism. But some professional norms exist for very good reasons: because they make it easier for people of different backgrounds and life experiences to come together and work productively and respectfully.”

I care about all of this because I love Ruby. I love the work I do, and I think I’m good at it. I want everyone to be able to experience the joy of working with Ruby, including other women. Like I said above, I have a gendered identity, it’s important to me, and I don’t want to have to “act like a guy” in order to be here. I am very frustrated that the Ruby and Rails leadership is male-dominated and does not seem to view the lack of female participation as a significant threat to the health of the technology (as well as the community). Over the last three years, I’ve carved out a pretty good space for myself. I’m even working on a conference about open source world domination. But world domination requires an inclusive culture, and I think the discussion about this GoGaRuCo presentation demonstrates how far Ruby has to go still.

I’m not mentioning anyone’s name here because I think the presenter, the GoGaRuCo organizers, and everyone involved is trying their best. I’m writing this because we have a serious cultural problem (which is a microcosm of some bigger cultural problems, outside Ruby) and so far we have failed to address how we can work toward keeping Ruby fun, without excluding who want to work with the technology but find these aspects of the culture unwelcoming. Let’s start talking about how we can make this better.

After the Funeral

aeschright_2009Apr04_0011

aeschright_2009Apr04_0012

aeschright_2009Apr04_0014

aeschright_2009Apr04_0024

aeschright_2009Apr04_0031

aeschright_2009Apr04_0033

aeschright_2009Apr04_0037

aeschright_2009Apr04_0043

aeschright_2009Apr04_0045

aeschright_2009Apr04_0063

aeschright_2009Apr04_0067

Thank you so much for all of the support these last few weeks. It’s been a rough time for the whole family. Teresa’s funeral was yesterday, but we still need to make burial arrangements for the cremains. I came down with a cold last week as well, which is just frustrating. Anyhow, this is just to say: I love you all, and I think it will be a little while still before it feels like life is back to normal, but we’re all muddling through as best as we can. Thanks for being here.

Remembering Aunt Teresa

Teresa, 1979

My aunt Teresa died early on Tuesday morning, from complications of ALS, just a month after her 47th birthday.

She started to have health problems about two years ago. It was slow to diagnose, but eventually her doctors determined that she had both fronto-temporal dementia (FTD) and ALS (also known as Lou Gehrig’s disease).

Two weeks ago, she developed aspiration pneumonia. With treatment, she improved enough to leave the ICU for her last few days, but her lung function was badly damaged. We made the difficult decision to not keep her on a respirator (Teresa was strongly against the tracheostomy it would have required). There were a lot of hard decisions involved in her care.

The last couple of days, I’ve been cataloging everything I know about her. She’s my mother’s only sister. Her favorite color was yellow. She loved to sing. When I was in grade school, she and Grandma Sandi used to make tapes, where they told stories and sang to us, and mail them off as audio letters. She liked board games and party games and scavenger hunts. She read trashy romance novels, and bought things because there were on sale and someone might like them (which meant an endless supply of cheap plastic toys when I was little. As an adult that switched to dishware).

She worked at Safeway in White Salmon, and was really proud when she saved up enough to buy her own little house near Mt. Adams. She liked flavored “specialty” coffees before there were espresso carts with flavored syrups available everywhere. She was a big fan of Columbia Valley wines, visiting many producers before any of them reached wider attention. She smoked for most of her life, and only stopped after she got sick. She was often anxious, and coped with it in various ways. The last several years that included an intense devotion to scriptural study.

She regretted that there were many things that would never happen in her life, that she ran out of time so soon.

I hate that we will never have another Easter egg hunt together, and that everything I found awkward in our relationship will just sit there, forever unresolved.

She deserved to have more time.

Open Source Citizenship

When we started working on Open Source Bridge, Selena and I came up with the term “open source citizenship” to describe what we hoped to explore. We’re planning a conference that will connect developers across projects, across languages, across backgrounds to learn from each other. We want people to experience something beyond “how to use tool X” or “why databases keel over when you do Y” (even though those topics are important, making up our tools and trade, and will be a central part of the conference content). We’d like to share what open source means to us, what it offers, where we struggle, and why we do this day in and day out, even when we’re not paid for it.

In order to do that, it seemed important to bridge the kinds of roles we have in open source, user/contributor/owner/institution, getting down to something more fundamental. What else are people who interact in this multi-directional way? Perhaps we’re citizens. Not residents—we do more than live here. We are, like citizens of a country, engaged in the practice of an interlocking set of rights and responsibilities.

Citizenship isn’t a concept I’ve thought about much since grade school, so I might only be scratching the surface of what it implies, but here’s a few thoughts.

There are rules for gaining citizenship. You have to be born in a place, or have parents who are citizens, or be sponsored, or apply and jump through hoops and make sense of bureaucracy. There’s no requirement you and the government like each other, but you must agree the follow the laws you and it are bound by.

Citizens are constrained, but they also have rights. They are protected from outside entities. They may be called to act in service, to contribute to the country’s well-being and defense.

Citizenship can be revoked, or renounced, if the person commits treason, or is found serving an opposing side.

—–

I’ve been working with Ruby and Rails for almost exactly three years now. I have yet to submit a patch to either project, but I help with pdx.rb events and share what I know with other developers. I also promote Ruby, Rails, and related projects by telling people what I like about the tools I use. In return, I expect the projects to not do anything stupid that would prevent me from writing software (especially since it’s how I earn a living) and continue to make useful improvements, asking for feedback as they go. Their continued stable existence protects me from having to work with something less useful or appealing. Maybe it wouldn’t be the worst transition, but I like it here.

Last year I started Calagator, an open source calendar aggregator, with a group of local tech enthusiasts. Our citizenry is broader than that of a programming language, encompassing all types of technology users and creators, as well as the whole Portland metro area (and perhaps beyond). We try to provide a useful calendar service, and ask the users to help us by providing and updating event data, letting us know what is or isn’t working, and assist us in developing new features that meet their needs.

There are many other open source products I use, but those are the ones I feel most closely aligned with. Even with casual or temporary affiliations, there’s a minimum contract: it will do what I need, or I won’t stay. Long-term residency may have stronger demands (and more benefits: now I know how it works and how to alter things).

As I said before, this is just a starting point, but I’d like to explore further what rights and responsibilities open source citizenship brings. Especially for developers, we’re not just users, but a kind of co-producer, and that relationship is often assumed and left undocumented unless we’re in charge of a project or join the government core team. I’d like to draw it out, see what the implied contract looks like, and talk about how well it’s upheld on all sides.

If you have ideas on that, or anything else open source, our call for proposals is open now through March 31. We want to hear what’s interesting and important to you.

Daily Practice

Bach

A few weeks ago, I resumed near-daily music practice, alternating between flute and recorder. I set a low goal: at least 15 minutes, stopping when I felt tired.

There are other daily practices in my life. On work days, we try to start off with a quick standup meeting in Campfire. What did you do yesterday? What are you doing today? Things you learned? Blockers? I’ve tried this practice at companies where we all worked together in an office, but I like the online version better. It seems to skip some of the conversational distractions that keep these meetings from staying short.

Some people make one of cleaning out their inbox, but I never manage to keep up with this. I’m a lurker in my own email, sitting on responses forever for no real reason, sometimes even the easy ones. If you need a fast response, catch me on IM, or Twitter, or IRC. The 14 messages in my personal inbox are the fewest I’ve had sitting unresolved in weeks.

I’m also very conscious of the lack of exercise in my daily practices. I’ve been reading through old blog posts, adding tags, adjusting categories, which took me through a section where I was doing yoga or Pilates or dance every day. When I started getting involved in tech events, those things were pushed off my calendar.

When I worked at a job that had a number of daily tasks that had to be completed at specific times, I put them all on index cards, and shuffled through the stack as the day progressed. It was very effective in keeping me on task, despite many interruptions. Now I have fewer things like that to keep track of, but I still use a todo list and try to keep the most urgent items easy to review.

I’ve switched from my text-file system over to Hiveminder, at least for a while. It has some features that make it easier to whittle down tasks to just a few things to focus on at a time. I hid “sign up for Pilates” for a few more days, but maybe I’ll add “practice flute/recorder” as a daily reminder.

Busy Girl

So busy I haven’t updated my blog since May.

Since the last post: I co-organized Ignite Portland 3.
I staffed the pdx.rb booth at RailsConf.
I’ve been participating in biweekly Calagator code sprints (we’re hoping to have our 1.0 release in just a couple weeks).
I set up a few local Labyrinth training sessions for The Lost Ring, an ongoing ARG.
And then there’s the day job. No wonder I’m feeling exhausted and a little burned out.

What’s up for July?
Finishing the Calagator 1.0 roadmap.
OSCON. (I’m leading a panel on Tools for Local Communities and I need more participants. Know anyone doing interesting things with their local open source group? Send ‘em my way.)
A trip to the coast with Lucas to celebrate our fifth (!!!) anniversary. (Mom, can you catsit while we’re gone? It’s .. um, this weekend.)
My birthday is next week, which means I need to make more than vague plans if I want anyone to come do stuff with me … pub crawl on the 19th, anyone? (wishlist here if you were wondering).
Getting WhereCamp PDX planning off the ground.
Playing with my new camera.
Five-zillion other unfinished projects I am likely to forget.

In August? I plan to sleep. A lot. And stare blankly at the ceiling.