Teaching Ruby to High School Girls

Please post your comments here on my Teaching Kids article.

I wrote an article for the RailsBridge Teaching Kids site about my experience teaching Ruby to high school girls a few weeks ago. Go read it over there!

That site doesn’t have comments, though, so I’m linking back here because I’d like to hear your comments and suggestions for improving the program.


Women 2.0 Mixer in San Jose – Tonight!

Women 2.0’s OSCON mixer hits San Jose tonight! It’s free if you have an OSCON badge (and you can get an exhibit hall pass for free if you go by the convention center). Here are all the details.

I’ve been going to Women 2.0 events on an off for a couple of years. Most of their events have focused on the business side of startups and entrepreneurship – at a wine & cheese mixer last year, I was the only developer in the room! But they are expanding their charter to include technical women, and particularly technical women as startup co-founders. If you’re interested in the small-company experience, or maybe even in launching your own, this is great opportunity to network with some amazing and energetic people who are out there doing it.

This is W2.0’s first technically-focused event, and their first event in San Jose too. Register here, and if you need a ride from San Francisco, leave a comment – I’m in the South Park area.

July/August Ruby workshop registration open!

Registration is now open for the free Ruby workshop for women that Sarah Allen and I are running at the end of July. Please RSVP soon – the last workshop filled up less than 3 days after registration opened.

Copyright 2006 by Yukihiro Matsumoto


This is a two-day event open to total programming novices, system administrators, and developers in other languages. In other words – everyone! All the details are on the meetup pages.

RSVP yes for both Friday and Saturday to reserve your spot.
Day 1, Friday 7/31: http://www.meetup.com/sfruby/calendar/10804417
Day 2, Saturday 8/1: http://www.meetup.com/sfruby/calendar/10804438

As before, men are welcome to register as the +1 of a woman doing the workshop. So guys, I know there’s a woman somewhere in your life who you’ve always thought would make a great programmer. Recruit her and you can come along too.

The workshop includes dinner on Friday, and breakfast and lunch on Saturday. Child care and private space for nursing and/or pumping are available. Partners are welcome to stay with the kids but that’s not required.

We are looking for experienced Rails developers of all genders to volunteer at the event. This time we have a separate volunteer coordinator so that things run more smoothly. Volunteering will be fun and educational, plus it’ll be a great networking opportunity. :) Stay tuned for info on how to get on the volunteer list.

Why childcare matters at tech events

A few weeks ago, I co-hosted a Ruby on Rails workshop for women in San Francisco. High on my list of requirements, even before free lunch, was available childcare.

In the spirit of doing the simplest thing that could possibly work, I implemented it as my husband in a mildly baby-proofed conference room with a Wii, Mario Kart, a Shrek DVD, and an assortment of (analog) toys.

Out of 60+ attendees, three brought kids. (When they registered, we asked people if they were bringing kids, and we got several responses like “GOD, no.” I laughed.) So was it a waste of a conference room (and spousal brownie points) that might have been put to better use?

Well, it might appear so to some, but a dozen or so people – that’s about 20% of the attendees – told me they registered specifically because it was available. Ultimately, these parents found someone to watch their kids, or they arranged a playdate, but if those plans had fallen through, they had a backup plan.

“Childcare available” meant they could RSVP yes and mean it. That’s not a waste.

August Workshop Dates Confirmed!

Pivotal Labs will be hosting our next workshop on July 31st and August 1st – that’s Friday evening and Saturday all day.

The format will be similar to our first workshop: Friday night is a mixer and installfest. Attendees bring their laptops, and, with the help of our volunteers, install anything they’re missing to run Rails. Saturday is the workshop itself, starting with a short general presentation at 10am. Then we’ll break into smaller groups for the workshop itself. Lunch is included, and child care and nursing/pumping space is available.

If you came to the first workshop, you’re welcome to return for this one! Newcomers are likewise encouraged to register. When you register, you’ll be asked to answer some questions that will help us figure out how to allocate the class space we have.

The June event generated some great word-of-mouth, so I’m expecting this one to fill up quickly once registration is open. To find out when you can register, watch this space, check out the new site sfrubyworkshops.com, and join the low-traffic announcement-only mailing list (hosted by Google):

Email address:

Lastly, we’re looking for sponsors to help us make this event fantastic. If your company or organization would like to assist, please email rubyworkshop at gmail dot com, which goes to both me and Sarah Allen.

UPDATE: The fine folks at Engine Yard are buying lunch. Thanks EY!!

Post-Workshop Hack Session July 1st

For those of you who attended the June workshop, or wish you had, come join me on July 1st for a hack session at Citizen Space.

If you haven’t been to a hack session before, make this your first! A hack session is unstructured time to work on a project or learn something new from the other attendees. Bring your laptop and a project to work on, continue the suggest-o-rama app we started at the workshop, or find a project once you get here. Usually there are at least a few startup people hacking on something cool. Maybe you’re one of them.

We’ll probably have some impromptu presentations on whatever people seem interested in. There’s child care, and older kids with projects of their own are welcome as participants. My 4-year-old is bringing her XO and has volunteered to show anyone who asks how to play “Implode.”

Register over at the SF Ruby Meetup site. See you there!

The First Rails Workshop

Two months ago, Sarah Allen and I started planning a Ruby on Rails outreach workshop for women. Our goal: each participant leaves with a fully-functional development environment, a working application, and some space online to show off their work.

As we got into it we realized it was really, really ambitious. But I am profoundly thrilled to report that the SF Ruby community came together this weekend and made it happen.



It was really, really incredible. More than 60 people spent their Friday evening installing Rails. Then they came back on Saturday and learned how to use it. A lot of them had never programmed before, but now they have Github accounts and a URL on Heroku. Watch out world!

I’ll be following up in this space with more lessons learned (and some further events), but for now, I want to share some feedback we got last night from one of the participants:

In addition to learning way more than I expected, I enjoyed the tone of the entire weekend. It was the only attitude-free, newbie-safe and mama-friendly tech event I have ever attended.

There were lots of things I could have organized better – projectors, class allocations, installation instructions – but I’m really happy that these folks got to experience a bit of the Ruby MINASWAN. In fact, I think something just got in my eye. *sniff*

So a million thanks to our sponsors, our volunteers, and the entire SF Ruby community for making this happen. Seriously. You ROCK.

Heroku on Windows

Next month, 80 people with laptops are going to show up and expect me to teach them something about Rails. I want them to see the app they’re writing on the web, but I only have six hours in the workshop (including lunch!) and deployment could easily take that much time by itself. Apache and nginx and Passenger and Capistrano and memcached and…yeah. These are beginners.

So I’m super stoked about Heroku, who’s come to put the easy into Rails deployment. Register, install the gem, and deploying – with a real URL and everything – is as easy as git push heroku.

Sounds great! But it turns out that using the Heroku client on Windows is slightly problematic. With the standard Rails crowd, I wouldn’t worry, but it looks like about half the attendees will bring some flavor of Windows. So my choices were either make it work on Windows, or scrap the idea of, you know, putting apps on the internet.
Read more »

My drop in the bucket

Since I got into computer science in college, I’ve spent a lot of time thinking and talking and reading about the gender imbalance in computing. I’ve decided it’s time for me to help fix the problem.

So I’ll be offering a free workshop in San Francisco to reach out to women who want to learn Ruby and Rails. Sarah Allen and I are spearheading with the assistance of the San Francisco Ruby Meetup and Devchix and (your org here?).

The first one is June 12th and 13th – Friday night is a mixer and installfest, then Saturday is the workshop and hacking space. We’ll go from nothing to a fully-operational web application on the internet (mwa ha haaa!).

Registration will be open next week – check back for details then.

I’m posting this today, though, because RailsBridge, a grassroots effort to make the Rails community welcoming to everyone, is launching today. We’ll be releasing the slides, talking points, and logistics info for these workshops (oh yes, there will be more) under their umbrella.

Now, I’m a developer, not a trainer or an event planner, but…they’re all nails, right? And Github is a mighty fine hammer. Fork the kit and use it to your own ends. Maybe, if I’m feeling generous, I’ll merge you back in. But my goal is to have a continuously updated presentation that any Rails developer can pick up and use to run a similar event in their city.

Want to help? Maybe you actually know something about how to run a workshop like this? Get in touch and let’s talk.

Nginx and subdomains on Engine Yard

System administration and setup are my least favorite part of any project. Today I wanted to set up a wiki on a subdomain – wiki.groupname.com. The main site, a blog, is hosted on an Engine Yard slice that runs nginx. Since I’m usually more of an apache aficionado, I thought I’d note the process.

  1. Request the subdomain setup from Engine Yard, telling them which slice (staging, production, etc.) to point at. They need to add DNS records pointing at the appropriate IP.
  2. Add a new directory under /data containing wiki software – MediaWiki in this case.
  3. Create a new configuration file under /data/nginx/servers. Anything in this directory with a .conf extension gets picked up in a restart. It should look pretty similar to the one from the application you’re already running, though perhaps with different root and logfile locations. I found a blog post with several sample conf files which was helpful.
  4. Restart nginx using sudo /etc/init.d/nginx restart. It will tell you if there’s something wrong with your config.

And that’s it! I still need to spend some time with the syntax of the config files, particularly nginx’s version of rewrite rules. I couldn’t find any useful references online (at least, not in English), but I got a lot out of reading the code of Chris Wanstrath’s nginx_config_generator gem.