My Nerd Story: Ham Radio, Atari, and UNIX

First, a huge thank you to Crystal Beasley for encouraging me, and others, to get organized and write our nerd stories in the aftermath of the recent comments from Paul Graham.

My geek story started early, probably because my dad and grandfather were into amateur radio (ham radio) in a pretty hard core way from the time I was little. I remember my dad studying for one of the morse code exams when I was maybe 4 or 5 years old, and me being the little sponge that I was, picked it up pretty easily. Nothing like a mouthy toddler shouting the answers to motivate someone to learn. 🙂

My parents got divorced a year or two later, and a few years after that we moved onto my step-dad’s farm. I was in 4th grade at the time, which I guess would make me about 9, and it was in a rural area where people just didn’t have any extra money lying around for luxuries. It was also the late 70’s / early 80’s when computers and related technology were pretty uncommon in most houses, since this was before the PC era and way before most people had any type of online access.

Atari 400 ComputerAround this time, dad bought us an Atari 400 for Christmas. At the time, we didn’t know anyone else near where we lived who had a computer at home. I eagerly started playing games (pirated copies on tapes that required a lot of patience to load), and I got my first taste of programming. As a side note, the Atari 400 had one of the worst keyboard designs ever, the membrane keyboard, which prevented accurate typing, and as a bonus, random keys would occasionally just stop working, but I stubbornly persisted. After seeing my interest in programming, Dad later upgraded us to the Atari 800.

Atari DOSKeep in mind that this was before Windows and other modern user interfaces. There was no mouse and no point and click interface. The operating systems of the time were pretty limited, and programming was typically done in BASIC. Since we didn’t see our dad very often, and my mom and step-dad didn’t know anything about computers, I had to figure it out myself. I started by typing in programs from books or magazines (like Byte), and I began to make small changes just to see what else I could make it do. A lot of it was trial and error, but it didn’t take long for me to start writing new programs.

My dad and grandfather got more and more into computers throughout the years with my dad turning it into a career later in life. My grandfather even built some of his own computers, which he used as part of his ham radio setup. My grandfather also helped my study for my amateur radio exam, and I went on to get my ham radio license (KB8AGX) in 1986, which I continue to renew every 10 years just to keep the geek cred. 🙂

When I went to college in 1989, I started as a math major with plans to teach high school math (my favorite subject in high school). I took an Introduction to Programming class (required for the math degree), which was a Pascal class taught on a VAX/VMS system. As part of the class, we each received a temporary email address (which was deleted at the end of the semester), and I used it to email my grandfather (the only person I knew outside of the university with an email address)!

About 4 years later, I was almost done with my math degree (12 credits away from graduation – all I had to do was a semester of student teaching) when I realized that I didn’t want to teach (I’m not particularly good with kids). It was around 1993 and computers were getting a lot more attention. I remembered how much I enjoyed programming, so I changed my major to computer science. The computer science department at Kent State University was part of the math college, and it had a lot of math courses as part of the curriculum, so I was already most of the way there. Since I had taken so many of the required courses already, I was able to get through the computer science program in 3 or 4 semesters. By that time, the computer science department had moved to UNIX (mostly SunOS). I took assembly language programming, built a little operating system, wrote a compiler and took a variety of other computer classes, but my favorite was a UNIX system administration course taught by one of our university sys admins. This led to my very first job in 1995 as a UNIX system administrator for a manufacturing company in Ohio.

Since then, I’ve done a little of everything: system administration, programming, project management, market research, people management, and much more. I’ve worked for companies ranging from tiny startups to huge companies, like Intel. I finally settled into a comfortable little niche of community management with a focus on technical communities and open source communities, and since community manager is a broad role, I get to dabble in all kinds of different things. It’s also one of those fields where every day is different, which suits me perfectly!

Where I grew up, most of the people I knew worked on farms or in factories, and college degrees weren’t very common. I knew that I wanted to go to college, move to a city and be able to support myself. When I graduated and got that first tech job, I thought of it as a good job that would pay my bills. What I didn’t realize at the time, was that my computer science degree and the career that followed would completely change my life.

I’ve traveled all over the world as a part of my job: China, South Korea, Brazil, and all over Europe. I’ve presented at more conferences than I can count: SXSW in Austin; OSCON in Portland; various LinuxCon events in Prague, New Orleans, Edinburgh, Barcelona, etc.; FOSDEM in Brussels; and many more. Because I’ve been to so many conferences and have managed global open source communities, I can travel to most locations around the world and visit people that I know. I also have an amazing group of friends here in Portland, and I met most of them through the local technology community.

Dawn Foster and Jimmy Wales

I feel tremendously fortunate to have this opportunity to work in a field that I love while doing interesting things that a younger me could not have ever imagined would be part of my daily job.

I’d like to end my nerd story with some advice for how other young people, especially women, can make their own nerd story:

  • Do some programming – on your own, in a class, or as a technology major of some form. Try a few things, and find something you enjoy.
  • Use internships as a way to try out a few companies / jobs, but get paid for them (do not take a free internship doing tech work)! It’s a great way to try out a job and a company with little risk, since they are usually a 3 month gig. If it goes well, and you enjoy it, your chances of getting hired by that company are good.
  • Pick a topic you are interested in and speak about it at a conference. Most of my career opportunities are a result of speaking at conferences.
  • Watch my recent presentation about building a successful technology career for other tips.

So what now? Share this story and others on the social media platform of your choice, encourage other women to write their stories, or blog about your nerd origins and share it with the hashtag #mynerdstory. You can also check out the My Nerd Story Facebook page.

Photo Credits:

What Science Fiction Can Teach Us About Building Communities

Sci-Fi and CommunitiesAt LinuxCon North America in New Orleans and at LinuxCon Europe in Edinburgh, I presented about “What Science Fiction Can Teach Us About Building Communities“.

You can download or view the presentation from Edinburgh or get the original version from New Orleans.

Communities are one of the defining attributes that shape every open source project, not unlike how Asimov’€™s 3 laws of robotics shape the behavior of robots and provide the checks and balances that help make sure that robots and community members continue to play nicely with others. When looking at open source communities from the outside, they may seem small and well-defined until you realize that they seem much larger and complex on the inside, and they may even have a mind of their own, not unlike the TARDIS from Doctor Who. We can even learn how we should not behave in our communities by learning more about the Rules of Acquisition and doing the opposite of what a good Ferengi would do. My favorite rules to avoid include, “Greed is eternal”€, €”You can always buy back a lost reputation€” and “€œWhen in doubt, lie”€. This session focuses on tips told through science fiction.

Note: Comments are disabled on this post, since I’m tired of dealing with spam, but please ping me on Twitter, @geekygirldawn, or at the email address in the presentation if you have any questions.

Updated October 22, 2013: Added the Edinburgh information to this post, instead of creating a new post, since the version presented in Edinburgh contained only small changes from the New Orleans version.

The Puppet Community: Current State and Future Plans

Update September 4: The video of our presentation is now on YouTube.

Today at PuppetConf, Kara Sowles and I will be talking about the Puppet Community at 1:30pm in the French room. The session starts with a look at the Puppet community today. I use our community metrics to take a look at all kinds of data about pull requests, bugs, mailing lists, IRC and more. In addition to the numbers, I’ll also talk about some of our top contributors and our call for proposals for Puppet Camps, and Kara will talk about our Puppet User Groups (PUGs) and Triage-a-thon events. We also have much to do to make the community better, so we’ll talk about some plans for improvements that we’ll be making to the Puppet community. Throughout the presentation, we also include tips for how you can participate in the Puppet community.

I’ve uploaded the presentation along with speaker notes so that you can view or download the presentation now.

Community PuppetConf

Note: rather than dealing with spam, I’m closing comments on the post, but please feel free to reach out to us with questions or comments on Twitter or via email.

Join me at PuppetConf August 21 – 23

Meet Me at PuppetConfIf you are looking for something to do on August 21 – 23, you should come hang out with me at PuppetConf in San Francisco. I can even give you $150 off the registration fee using the code “speaker150off”.

While the main part of the conference is on August 22 and 23, we are hosting a Developer Day (free with conference pass) on Wednesday, August 21st where you can spend the day with our developers and other community members while building modules, contributing to open source projects, working on documentation and much more. You pick the projects you want to work on, and we’ll have plenty of people around to help.

I’ll also be speaking at PuppetConf to talk about The Puppet Community: Current State and Future Plans on Friday at 1:10pm. This presentation kicks off a community track where we have several more sessions about how to participate in the Puppet Community.

Those of you who know me won’t be surprised to see that I am also bringing Werewolf to PuppetConf. We will be playing werewolf on Wednesday and Thursday evenings, and I’ll have some gift decks to hand out to the winners! 🙂

Werewolf Cards

We also have many interesting sessions, plenty of other activities (5K, parties, games) and much more. I hope to see you there!

Building a Successful Technology Career

Today, I’m giving a talk at the USENIX Women in Advanced Computing (WiAC) Summit about Building a Successful Technology Career. While the presentation is targeted at a female audience, I think that most of it applies to anyone working in technology careers.

I’ve uploaded the presentation (with notes) if you want to read the materials, and I hear that it’s being recorded, so the recordings should appear on the USENIX site at some point after the event.

Update 7/11/13: The audio and video files are now available on the WiAC website.


Building a successful career involves way more than just doing the technical work that is your primary responsibility. In this presentation, we’ll talk about the following topics: having a plan, but not letting it get in the way of serendipitous opportunities; applying for jobs when you don’t have all of the “required” skills; getting paid what you are worth; volunteering for additional assignments without letting people take advantage of you; and becoming known as an expert.

Open Source Community Metrics and State of the Puppet Community

Many of you probably know that I’ve spent the past week in Belgium for Puppet Camp Ghent and FOSDEM. I’ll be writing a blog post on the Puppet Labs blog later this week to talk about Puppet Camp Ghent, but I wanted to at least get my presentations out here while I finished writing the longer post.

Puppet Camp Ghent was amazing. I saw a few old friends and connected in person with quite a few community members that I had not yet met in person. Overall, I was very happy with the event, and the people at HoGent were great hosts. There were so many amazing presentations, and we’re getting them uploaded to the Puppet Camp page as soon as we get the slides from the speakers. Here is the presentation that I delivered on the State of the Puppet Community.


I had an amazing time at FOSDEM, too. I helped facilitate the Configuration / Systems Management DevRoom on Saturday along with a DevRoom dinner that evening. I love working in such a collaborative industry. The DevRoom and the dinner were organized collaboratively with our primary competitors, but we all worked together to pull it off in a way that benefited the industry. Aside from the DevRoom, I got to see a lot of old friends and had a great time!

At FOSDEM, I also gave a short version of my Open Source Community Metrics talk. If you are interested in open source metrics, you might rather look at the longer version that I presented at LinuxCon Barcelona in November. I also had a great conversation from Jesus at Bitgeria, and they are doing some awesome stuff with open source community metrics that you should look at if you are interested in metrics.

Next on my agenda are trips to Stockholm, Sweden and Oslo, Norway for two more Puppet Camps in the next two weeks before heading back home to Portland.

Lurking and Learning as a New Community Manager

LurkingI started working at Puppet Labs during the last week of September. During the interview process and in the first few weeks, I made sure people knew that I would spend my first month or two lurking in the community while I learned about how people participate in this community. I’ve been working with open source and communities for more than a decade, but this is still an essential step when you are new to a community as a community manager*.

I’ve seen too many over-eager new community managers jump into the community early and make mistakes by violating community norms, talking about things that aren’t relevant, making people unnecessarily upset, and just generally making a mess of things. Every community manager makes mistakes at some point, but here I’m talking about the issues that could have been avoided by knowing more about the community before jumping in with both feet.

Don’t be afraid to let other people do most of the responding while you learn from them. By taking the time to observe and lurk for a bit, you can learn about how people behave and get a feel for how people typically respond.

This doesn’t mean that I spent my first month sitting on my butt. As part of the learning process, I spent a lot of time talking to other employees about what works well in the community and about what isn’t working. As a part of talking about the things that weren’t working, I focused on what was causing the most pain for our engineers and started thinking about how we could make things better. I came up with a big list of things to tackle and started talking to people about plans for improving some of the community processes that were the most painful. I’ve started working on a few of these already, and others are in my 2013 plans.

I also worked on a lot of documentation and improvements to website content during this first month. We really didn’t have community guidelines or other standard documentation. Since community guidelines are relatively similar for many open source projects, I got a good start on those in the first month. I also focused on getting monthly community metrics published. I actually got a ton of work done during my first months. It just wasn’t publicly visible work.

Don’t be afraid to work behind the scenes for your first month or two while you learn about the community. If you make sure that your manager and colleagues know why you aren’t publicly visible while making sure that your work behind the scenes benefits the company, people are more likely to see it as an important and necessary part of the process of starting this new job.

Additional Reading:

*If you were hired out of a community where you have already been participating or are hired to work on a newly launched community, this advice probably doesn’t apply to you.

Photo by Stephen Jones used under a Creative Commons license.


2012 Year in Review

Family Margaritas and ScrabbleEvery year, I like to write some kind of year in review blog post. I started writing these in 2007 as  a way for people that I don’t talk to very often to keep up with what I’ve been doing, but I’ve found that it helps me see what I’ve accomplished (or not accomplished) that I can use to reflect on what I want to do in the next year. You can find the 2007200820092010, and 2011 editions if you want to see how this year compares with previous years.

2012 in Review

This year, I spent more time doing things that I enjoyed: reading, running, working in a job that makes me happier and much more!

  • The single biggest change I made in 2012 was leaving Intel and taking some time off before joining Puppet Labs. I had been at Intel for 2.5 years (along with an earlier stint from 2000 – 2006). While I loved the people I worked with (and miss them), the job left me drained of energy, and I just wasn’t passionate about it anymore. I left without a real plan other than to take a month (or a few) off before starting anything new. I used this little sabbatical (aka funemployment) to read, run and hang out with friends. I started at Puppet Labs 7 weeks later feeling relaxed and recharged. I’m loving the work and enjoying being back in a startup!
  • I read over 70 books last year! Most of them were science fiction / fantasy, and I keep a list of everything that I read here on my blog.
  • I also ran … a lot. In 2012, I ran over 470 miles, and just over 100 of those miles were in August during my funemployment. My longest run of the year, also the longest run of my entire life, was 11.3 miles (just 1.7 miles short of a half-marathon distance). I also did some weight lifting and other workouts. Aside from falling off the wagon over the past month due to a couple of back-to-back colds, I’m feeling pretty good on the fitness side.
  • Like last year, I did a fair bit of travel. For work, I went to Brussels, Belgium; Seoul, South Korea; Berlin and Nuremberg, Germany; and Barcelona, Spain. For fun, I took trips to Hawaii, Seattle, Las Vegas, and Ohio to visit family. I even have pictures from many of the trips posted on Flickr.
  • As part of this travel, I presented at a few conferences. I did a few Tizen presentations earlier in the year, but recently, I’ve been speaking about open source metrics at LinuxCon in Barcelona and the LibreOffice Conference in Berlin.
  • I’ve also been dabbling with programming again, mostly in Ruby, since that’s what everyone at Puppet Labs uses. I’m pretty terrible at it, since I haven’t done any real programming since the mid-90’s, but it’s enough to accomplish a few simple things and be more self-sufficient. And, I enjoy doing it 🙂
  • I am still selling my vegan cookbookWhat Dawn Eats: Vegan Food That Isn’t Weird. It was published last year and is available in paperback, Kindle edition and PDF format.

If I look back to what I wanted to accomplish in 2012 from last year’s year in review, I did pretty well!

  • I continued to travel and visit new places (South Korea, Spain and maybe Belgium were new last year).
  • I wanted to do runs in the 8-13 mile range and more regularly hit the gym to lift weights. I made it just over 11 miles, which is pretty good, and I did quite a bit of weightlifting, so I feel good about this one, too.
  • For several years, I’ve been wanting to do some light programming, and this is the year that I finally started real work on that one!
  • I also said that I wanted to get to a point where I can actually carry on a conversation in French that goes beyond basic greetings and travel phrases in 2012. With one lesson a week, it’s taking a while, but I’m finally getting to the point where I can carry on very simple conversations … as long as you speak very slowly, repeat yourself a few times and use mostly words that I already know 🙂
  • I failed miserably at my goal to keep my blog updated.

What I Want to Accomplish in 2013

  • Yet again, I’m going to make an effort to blog here more often.
  • I want to travel to even more new places. I’m off to a good start on this one, since I’ve already scheduled a work trip for February in Belgium, Norway and Sweden along with a fun trip with mom to Aruba in May!
  • I plan to continue meeting my fitness goals from last year with regular running, weight lifting and other activities. This will be a little more challenging because I expect to be doing quite a bit of travel this year, and working out is a lot harder when you are jet-lagged and busy working in another time zone. While I was happy with my general fitness in 2012, I still tend to eat too much, so I’ll work on that a bit.
  • I also want to continue to work on my French. I’d love to be more conversational next year and ideally, be able to read simple books and watch movies in French without relying entirely on the subtitles.
  • I hope to spend more time writing code. In addition to being more self-sufficient, I would also like to learn how to not suck at it by spending the time to learn how to do things properly rather than just doing whatever gets the job done the fastest.
  • While I want to continue to read, I actually need to pull back on that a bit. I love reading, but it’s taking too much time away from other activities, so I’m going to try to read a bit less to free up more time to actually do the things mentioned above!

Blogging Elsewhere

I’ve been neglecting my blog, but it isn’t because I haven’t been blogging. I just haven’t been blogging here 🙂

Here are a few posts that I’ve written over the past couple of months for work as part of my Community Manager gig at Puppet Labs:

I also wrote a few posts on my cookbook site, What Dawn Eats. Don’t forget that you can buy the cookbook (available in paperback, kindle edition or PDF)!

Open Source Community Metrics: LinuxCon Barcelona

I wanted to share the presentation that I will be giving today at LinuxCon Barcelona at 1:20pm, Open Source Community Metrics: Tips and Techniques for Measuring Participation. This is similar to the presentation that I gave a few weeks ago at the LibreOffice Conference in Berlin, but I have added some new data and included different examples. You might also be interested in seeing the Puppet Community Metrics that I recently started posting on the Puppet Labs website.

You can download the presentation from SlideShare.

Talk Abstract:

Do you know what people are really doing in your open source project? Having good community data and metrics for your open source project is a great way to understand what works and what needs improvement over time, and metrics can also be a nice way to highlight contributions from key project members. This session will focus on tips and techniques for collecting and analyzing metrics from tools commonly used by open source projects. It’s like people watching, but with data.

The best thing about open source projects is that you have all of your community data in the public at your fingertips. You just need to know how to gather the data about your open source community so that you can hack it all together to get something interesting that you can really use. This session will be useful for anyone wanting to learn more about the communities they manage or participate in.

Open source, Linux kernel research, online communities and other stuff I'm interested in posting.