We’ve come to the end of my round of the Outreach Program for Women, which sponsored my work with the MirageOS folks this summer. I was fortunate to be able to mark the occasion by joining my mentors and an awful lot of badass Xen hackers at the Xen Project Developers Summit earlier this week, where I waved my extremely conspicuous American accent around in everyone’s face and saw some awesome presentations on Xen internals and research. (Xen on ARM is relatively performant! It’s hard to run 10,000 host VMs! The HaLVM has already implemented a whole bunch of stuff I was thinking about doing!)

I tried to have a short summary of my work ready for this conference. I generally told people something like “I did a bunch of testing on the Mirage network stack,” which while true, is not the most self-aggrandizing way to sum up what I’ve been up to this summer. “I leveraged existing solutions to provide a systematic process for randomized exploration of the potentially underspecified parser inputs,” I could’ve said (which wouldn’t have gotten me very far at this conference, but would fit in great at some others I’ve been to). Or maybe something like “I found a bunch of bugs in variable-length option parsing code with fuzz testing,” which is extremely accurate but also makes people’s eyes glaze over about halfway through.

Of course, you can just check my permanent record. That record does elide this blog, however, which is not an insignificant product of work:

lines words chars filename
  123  1687 11495 2014-05-22-throwing-some-fuzzy-dice.markdown
  173  1645 10629 2014-06-03-the-minnesota-goodbye.markdown
  170  1780 11596 2014-07-07-parsers-optional.markdown
  242  2304 14927 2014-07-08-how-to-set-the-evil-bit.markdown
  246  2456 16751 2014-07-25-doing-nothing-in-mirage.markdown
   60  1502  9731 2014-08-08-attack-surface-area.markdown
   23   748  4781 2014-08-13-my-content-is-mine.markdown
  111  1348  8956 2014-08-17-i-am-unikernel.markdown
 1148 13470 88866 total

I wrote a lot more English words about generating random input, classifying responses, sourcediving, and bugfixing than I wrote lines of Python or OCaml.

Okay, What Now?

Well, I didn’t really make anything cool and new. I want to do that. I want to be able to make VPN tunnels from a unikernel running on an embedded ARM machine to a unikernel running somewhere in the public cloud and shove all of my traffic over them. I want to make a webapp that serves you the worst possible next Tetris piece given a certain game state. I want to replace my Linux Git backup host with a unikernel that squirrels everything away into an Irmin store. I want to figure out a patch for the bug @frioux reported earlier this week, at the very least!

In short, OPW round 8 is over, but I’m not done playing here yet.

Looks Like Fun; Can I Try?

OPW Round 9 has an application deadline of October 22, so there’s still loads of time to get in on that. For excellent advice on applying to and participating in OPW, check out Lita Cho’s excellent roundup, and if you still want more, there are a whole pile of excellent blogs aggregated at the Women in Free Software Planeteria. Many other interns are also posting retrospectives this week, so it’s an excellent time to go learn from other people’s mistakes.

In that spirit, here are some mistakes I made:

  • not bothering my mentors enough
  • not contacting the other OPW intern on my project
  • not asking enough questions on the mailing list and IRC
  • choosing a project that required a lot of domain knowledge that I already had, so I wasn’t forced to learn so much as if I’d chosen something else
  • beginning to address some ongoing mental health issues at the end of the round; I likely would’ve found many things to be easier had I done so earlier


A short note: someone very bravely began a conversation about mental health in the Hacker School community earlier this year. This conversation led me to two blog posts that have been extremely helpful, and perhaps you will find them to be helpful too: