Wednesday, February 5, 2014

My Nerd Story

My path to nerddom was pretty direct. My parents are engineers and they bootstrapped the whole thing. My mom got me set up with Geocities and a book on HTML when I was 10. I took a programming class in my junior year of high school and then transferred schools my senior year to take AP Computer Science, which my previous school didn't offer. Once I got my talons embedded in programming and CS, I didn't want to get them out. I went to college and majored in CS (and also math). When I figured out what research in CS looked like, I decided to go to grad school in CS as well. Every new thing I learn (language, framework, technique, idea) builds on top of the whole foundation of what I've learned so far and serves to strengthen the foundation as well as adding new stuff. Programming is my craft.

Because my mom is a technical person (and has a billion other hobbies and is friends with everyone and is generally awesome) I did not lack a strong female role model to show me how to tinker with computers and mechanical things, or to tell me that doing so was perfectly okay. I did not lack friends that were smart and capable and creative and supportive, and who learned HTML with me and had websites "across the street" from me on Geocities. 

I wasn't part of a tech community, though. Instead, I skulked around town with my punk friends and put safteypins in my clothes and went to shows at the YWCA in Palo Alto. Online, I was in an LJ group called "craftgrrl" and I started screen printing my own t-shirts because of a post I saw there. I also made wallets out of colorful duct tape and sold them on Ebay. 

Looking back, It seems obvious that I wasn't immersed in a tech community back then. I was a teenager with a ton of interests, and while tinkering with computers could have been one of them, there weren't enough people like me around me doing it. I did a small amount on my own (I maintained my website of photos), and then did non-computer activities with my friends. The closest I got to such a community was a friend offering to get his friend to host my website after I complained about the crapshoot Geocities had become. It wasn't until the tail end of college, meeting a bunch hackers outside of academia, and going to grad school, that I actually found such communities.

This whole #mynerdstory thing started as a response to Paul Graham saying, "We can't make these women look at the world through hacker eyes and start Facebook because they haven't been hacking for the past 10 years." Most peoples' responses seem to be, "Actually, mister, I am a woman and I've been hacking for X number of years!" 

At this point, I've known how to program for over a decade, but I've been hacking for about 8 years (coding with intent to create and learn, treating it as a craft) and I could probably start a way more interesting company than a competent, yet sheltered, 22-year-old dude.  

Here's where my post turns into a rant, because I can't figure out what I want to say even though I've been thinking about it for weeks. 

0. Later, Paul Graham wrote that he thought access and examples are two important components of getting people interested in computing. I agree with those. I had access to a computer and classes in school that would actually teach me to program, but I didn't have examples of what I could/should do with my specific level of knowledge and set of interests. Instead, I saw examples of girls doing crafty things, so I tried my hand at that instead. I have a wee bit of resentment/annoyance that I didn't have access to more examples of what to do and try -- When I finally learned PHP and CSS late in college, I was like, "my 15 year old self would have been ALL OVER THIS and she actually had free time!"

1. I don't care how long you have been programming, regardless of your gender. I care what you've built, what impact you've made, how you learned it, how you accomplished what you did, what you might make in the future based on your past experiences, and if there's anything I can learn from your experiences. Huh, sounds like what an academic paper should convey.   

2. Because this #mynerdstory is inherently lady-themed, I just want to lament the lack of lady role models. There are so many great humans and great apps/tools/APIs/libraries all around, but the women and specifically the things built by women are harder to find. There are actually a lot of really awesome women that I want to emulate (my mom, my current advisor, other awesome women in my grad program and similar programs, women who make and share things on the internet like the Kittydar face detector, the women in and running the Ada Developers Academy), but I'm greedy and I want more! Moar moar moar! I want to be drowning in these women.

3. Related to my greed and selfishness, I want to read the other #mynerdstories and be INSPIRED! And I get disappointed if I'm not left feeling motivated and uplifted, which will happen by you just talking about the length of time you've been coding or something. TALK ABOUT THE THINGS THAT YOU MAKE. Even outside of this #nerdstory thing, talk about what you're building. Seeing examples of what other people (women especially) are capable of making (and how/why they made them) makes me believe I can make those things, too. I write all about the things I've made in the rest of this blog because I want to provide the inspiration that I feel is lacking.

Because I saw this in another post... The coolest things I ever built: 
  • The original Facebook Superpoke (no, not the one that sold for millions of dollars, but I did score the URL at the F8 platform launch)
  • Sketch-a-bit, the collaborative drawing android app (and subsequent paper) that I made with Adam
  • PhotoCity, the 3D reconstruction capture the flag game that was going to literally take over the world... until it was decreed all dried up of new research opportunities?! Oh, do I sound bitter?! 
  • This robot halloween costume
  • This dinosaur shirt  
  • The Big Race game (and spinoffs) with Ben Samuel!! Originally written in HC-11 assembly...
  • Some of the wacky, creepy swaps in the Face Frontier and the secret crowd-driven classifiers that I haven't figured out to expose in an interesting way

I asked the internet what I could say that might this post more interesting/inspiring. 

The requests: Infographic! Why did I use different languages? I had an idea for a chart of which languages I learned at which times in my life and which I actually kept using. But I don't feel like making it right now. I learned whatever language my classes dictated until I got a little more fearless and started trying things that I saw other people near me try. Peer pressure! I use Twisted for a lot of my projects for the past 6 years because Adam mentioned Jeff mentioning it like, once. There might be newer, more friendly Python-based networking libraries, but Twisted has never let me down. 

What did I dream of building? Who did I show things to and who did I dream of showing them to? When I was a youth, I wanted what today's youth seem to want: to capture and share the adventures my friends and I were having, with my friends. Plus a dash of creativity. There were these dress-up paper doll things on the internet, and I thought they looked dumb, so I drew my own and made clothes and hair for all of my friends. I wanted (still want) to make things that other people appreciate.

These days, I want to provide access to neat technology (like 3D reconstruction and/or facial expression recognition) and to make ecosystems that other people can create things in. The DIY/crafty component of my youth has stuck around and I want to enable that for other people and for research. I want to share what I make with the world and be known for creating something awesome, and/or for facilitating the collaborative construction of something huge and awesome. 

Along the way, I want to talk about the stuff I build (especially when I'm just learning something new) so that someone else might get through a sticking point by seeing how I did it. Or to get feedback on what's cool about what I've made and how I can make something better in the future.