1137 people have learned free software skills with the help of OpenHatch’s training missions!
The OpenHatch training missions are a group of interactive web pages for learning skills you would use when contributing to free software. It’s time to announce that more than a thousand people have successfully used them!
We at OpenHatch have long suspected that the training missions were the most used, well-loved portion of this website. People regularly give us lots of feedback on the existing training missions and request new ones. We know of a few free software projects, such as GNU Mediagoblin and WordPress, who link newcomers to our training missions in their IRC channels or as part of their new contributor documentation. When OpenHatch runs in-person events, such as OpenHatch Comes to Campus workshops, we use the training missions there too. And it makes intuitive sense to us that simple, interactive introductions to common tools used in free software (and software development generally) would be useful to many people. Unlike a long tutorial or text-heavy manual, a training mission gives you a short, concrete task to perform, a few levels of hints, and lets you know if you succeeded.
We’re always working to better track site usage and performance and keep better metrics. Recently, while preparing a talk proposal for OSCON, we looked up how much the training missions have been used.
Total # of missions successfully completed: 1303
for step_prefix in ['tar', 'diffpatch', 'svn', 'git']: relevant_steps = Step.objects.filter(name__startswith=step_prefix) stepname2person_ids = {} for step in relevant_steps: person_ids = StepCompletion.objects.filter(step=step).filter(is_currently_completed=True).values_list('person_id', flat=True) stepname2person_ids[step.name] = list(person_ids) person_id_lists = stepname2person_ids.values() person_set = set(person_id_lists.pop()) for person_id_list in person_id_lists: person_set = person_set.intersection(set(person_id_list)) step_prefix2person_count[step_prefix] = len(person_set) print sum(step_prefix2person_count.values())
# of users who’ve completed at least one step in a mission: 1137
>>> StepCompletion.objects.filter(is_currently_completed=True).values('person_id').distinct().count() 1137
Most popular mission: Using tar
>>> Step.objects.annotate(num_completions=Count('stepcompletion')).order_by('-num_completions')[0].name 'tar_extract'
Wow!
We began writing the training missions in the summer of 2010 as a Google Summer of Code project. One and a half years later, we’re ridiculously excited that the training missions are really, actually being used by human beings. We’re also looking forward to making the training missions even better! Last week I finished an audit of the training missions based on our missions pedagogy guidelines to see where our older missions met our standards and where there was room for improvement. (Thanks to Mel Chua for her help in creating the guidelines!)
We are also working on standardizing the code style across the training missions (and documenting the results) so that it will be easy for others to write new missions and plug them into the OpenHatch codebase. We have a number of open requests: new training missions, possibly covering topics such as IRC, bash and bug triage.
Through feedback, we recently added a full tutorial on setting up a Windows machine to be able to easily go through the missions. We are also fielding requests and suggestions for improved plot lines.
If you haven’t tried out the training missions recently, we’d love it if you checked them out and gave us feedback. Or patches! We always need more contributors to write creative stories and code the backend that makes a mission real. So far, 24 different people have contributed to OpenHatch’s training missions code–not including people who have filed bugs or given other non-code help. It’d be great if you were the 25th.
If you have an open source software project of your own that uses a piece of technology covered by one of our training missions, please consider linking to it in your new-contributor documentation!
OpenHatch is an open source community and now a non-profit. We’re always looking for ways to make open source communities more inviting and active. Get in touch!
OpenHatch t-shirts are coming!
Oh my goodness. After two-and-a-half years of grumbling about how OpenHatch ought to have t-shirts, I am SO excited to announce that we are making them happen! For OpenHatch contributors, OpenHatch fans, everyone who likes free software communities, the family and friends (and enemies) of all the above… for *you*, if you want one!
The five-color design will be silkscreened on nice blue American Apparel t-shirts in both men’s and women’s sizes. We’ve gotten a preliminary estimate back from the printer saying that they’ll be about $20 a shirt. However, if lots of people order, we may be able to get them for cheaper! So, we’re doing pre-orders (with just a form–we’re still working on setting up OpenHatch’s PayPal account, so no money yet) to gauge people’s interest.
To help us plan what sizes to get and get a sense of how many people are interested, please fill out our “pre-order” form at this link by February 28 at noon. While we will be printing a few extra shirts beyond what people pre-order, we’re not going to keep much stock around–so if you want one, PLEASE let us know now!
Diversifying PyCon: the power of cooperative outreach
Python practice at PyStar Philly 2
I want to share an e-mail I received recently from a woman named Pam. It is a response to an e-mail I sent to the DevChix mailing list, calling on DevChixen to attend PyCon, the largest annual Python conference, and submit posters for the PyCon poster session:
Holy wow. I’ve had your email starred since you sent it, and only just now realized that you’re the Jess who was at PyStar Philly.
Because of this email:
- I decided to try to go to PyCon
- I submitted a poster
- Said poster was accepted
- I applied for money with PyLadies to go
- I’ll hopefully be going, and it will be awesome
This is an amazing e-mail.
It is a response to an e-mail to the DevChix mailing list, which is “an international group of female programmers working to make the tech community a better place for everyone.”
Pam attended the first PyStar Philly, an intro to Python event focusing on women in the same spirit as the Boston Python Workshop. She is a new Python programmer, and it is awesome that she had the motivation and community support to put herself out there and submit a PyCon poster as a first-time PyCon attendee.
PyStar Philly organizer Dana Bauer was inspired to run outreach workshops after seeing the success of other regional events under the PyStar umbrella. She and co-organizer Maneesha Sane have now run 3 PyStar Philly events, which are now integrated with PhillyPUG, Philadelphia’s Python user group.
I was helping at PyStar Philly by way of the Boston Python Workshop. PyStar Philly reuses a lot of material from the Boston Python Workshop, and Boston Python Workshop staff have visited Philadelphia to help with all 3 PyStar Philly events. Pam was a staffer at the most recent PyStar Philly, which was sponsored in part by a grant to the Boston Python Workshop from the Python Software Foundation’s Outreach and Education Committee.
She is able to attend PyCon because of PyCon’s generous financial aid program and its partnership with PyLadies to have additional grants for women attendees. Significantly, the PyLadies grants have a later deadline than the main financial aid program, which gives newcomers to the community extra time and encouragement to make arrangements and register for the conference.
Let’s summarize all of the groups involved in getting Pam to PyCon and presenting a poster:
- The Python Software Foundation’s Outreach and Education Committee awarded the Boston Python Workshop a grant to bring outreach workshops to new cities in the US, and PyStar Philly is one of the recipient organizations.
- PyStar Philly and the Boston Python Workshop have worked together to bring recurring intro to Python events to her city, where she has graduated from attendee to staffer and is now an active member of the local programming community.
- PyCon and PyLadies work together to encourage women to attend PyCon through a generous financial aid program.
- The e-mail to DevChix is what pushed her over the edge to submit a poster and attend PyCon.
This is an incredible series of collaborations that are really making a difference in the Python community and the tech community in general. I am thankful that all of these organizations exist, and success stories like this are why I dedicate so much of my time to open source outreach. Thank you to everyone who made this story possible, and Pam, I’ll see you at PyCon 2012!
-Jessica
Want to see an outreach event like the Boston Python Workshop or PyStar Philly happen in your city? Get in touch!
Going to PyCon? Join us for
Diversity in practice: How the Boston Python User Group grew to 1700 people and over 15% women.
Thank you to the Python Software Foundation, PyStar, the Boston Python Workshop, PyLadies, PyCon, and DevChix for the use of these logos.
Beginning Pythonistas: present a poster at PyCon 2012!
PyCon is the largest annual gathering for the Python community. It is a diverse conference with content for people of all programming backgrounds, from talks and tutorials to sprints and summits. We’ll be at PyCon 2012, and we hope you’ll join us.
One event we are looking forward to is the poster session. The call for poster proposals ends January 15th, and we want to see more submissions from beginning Pythonistas!
Poster sessions are a low-pressure way to start a discussion or share a project, discovery, or something you’ve learned with PyCon attendees. Are you a new programmer or an experienced programmer who is new to Python? We want to hear from you! To quote the call for proposals:
We’re looking for both experienced conference speakers and people new to technical conferences; industry professionals and hobbyists; entrepreneurs, researchers, and system administrators. You’ve probably learned something that other Python users could benefit from, so come to PyCon and share your story.
If you have something to tell your fellow Python programmers, PyCon 2012 is your chance.
You don’t have to be a professional speaker to give a talk at PyCon. Presenters are volunteers from all walks of life and all levels of experience. From hardcore hackers to educators to hobbyists, anyone with something to say and the desire to say it is welcome.
If you have a topic idea but you’re not sure exactly how to turn it into a killer session, let us know! The program committee is happy to work with you to help your session shine.
Ready to submit a poster proposal? Awesome! Proposals are due by January 15th. To submit one, sign up on the PyCon site and follow the proposal submission instructions.
During the poster session, you’ll stand in front of your poster and use it as a starting-point for conversations with other PyCon attendees. Looking for inspiration on what to talk about? Here are some suggestions:
- Ask a beginner: what are the the hardest parts of learning Python?
- Getting your Python environment set up: a beginner’s perspective
- A survey of Python tutorials
- A survey of Python online learning resources (CodingBat, Khan Academy, learnpython.org, etc.)
- A beginner’s look at writing or packaging your first Python project
- Learning Python, next steps: I went through the python.org tutorial; now what?
- Contributing to an open source project for the first time: a beginner’s perspective
Stripe co-founder @patrickc asks:
How would you answer?
More suggestions? Talk about:
- a cool Python library or API you’ve used.
- how you use Python at work.
- an open source project that uses Python.
- a personal project that uses Python.
Analyse some data in Python–Twitter trends, social graphs, Wikipedia stats, public transportation data, government spending–tell us how you did it and what you learned.
Use a poster proposal as an motivator to learn or do something new:
- Always wanted to contribute to Python? Submit a poster on it and share the process of getting your first patch through.
- Always wanted to make a website or game? Show us some mock-ups and share the development process.
- Always wanted to teach your kid or sibling to program? Submit a poster on it and let us know how it goes.
More sources of inspiration? Check out last year’s posters. Here’s a subset:
- Opening Government With Python
- Education and outreach to non-coders: best practices
- Using a Kinect to improve accessibility
- Running Neutron Scattering Experiments with Python
- Invent Your Own Computer Games with Python
- Python in Atmospheric Sciences
Not sure if you want to present a poster alone? Submit with a friend!
Want someone to bounce ideas off of, or to review a proposal draft? Send mail to hello@openhatch.org. We have experience submitting poster, tutorial, and talk proposals and getting them accepted and would love to help you through the process.
Some important deadlines:
- (1/7) PyCon financial aid applications due
- (1/15) The call for poster proposals ends
- (1/25) Early Bird conference registration rates end
- (1/31) Applications for PyLadies PyCon grants for women due
Wrapping up the 5th Boston Python Workshop
The 5th Boston Python Workshop ran last weekend at MIT. It was our largest event yet, at 60 attendees and 15 instructors, and had people traveling from as far away as New York to attend. Thank you to all the phenomenal volunteers who helped make this workshop happen.
This workshop was special for a couple of reasons:
- It was the first workshop to utilize our grant from the Python Software Foundation’s Outreach and Education Committee. Thank you to the PSF for supporting us as we continue here in Boston and grow to other cities.
- PyCon donated 2 free registrations to the workshop, which we raffled off to attendees. Our winners were a Harvard librarian excited to start utilizing programming in her job, and a teacher excited to write and explore the pedagogy behind educational computer games. Thank you PyCon for supporting this workshop and crafting a conference that is truly beginner-friendly.
- We found out shortly after this workshop that the talk Asheesh Laroia and I submitted on the Boston Python Workshop and diversity in the Boston Python community was accepted for PyCon 2012! I hope interested readers of this blog who are attending will join us for this discussion on practical programming outreach. If you need help getting to PyCon, the conference has a great financial aid program.
For more details on the 5th Boston Python Workshop, check out:
- photos from this and other workshops
- the workshop wiki
- the event description and reviews
- a great workshop write-up by attendee Trish Fontanilla
This group was really into social media; we had a ton of tweeting, picture posting, and even FourSquare checkins!
I was really impressed to see people from the PSF and PyCon engaging with our attendees on Twitter. During the workshop we talk about “why Python?” and the language’s commitment to community and diversity; the PyCon registration donations and social media engagement were proof of that commitment and an awesome welcome to the community:
Our follow-up project night is January 10th. We run the Boston Python Workshop every 2 months, so see you in February for #6!
Want to see an event like this in your city? Get in touch! Our material is all online and Creative Commons licensed.
Grant to spread the Boston Python Workshop
I’m really excited to report that the Outreach and Education Committee of the Python Software Foundation awarded us a grant to continue our Boston Python Workshop and spread it to three other cities!
OpenHatch 0.11.11 is live
As of yesterday, OpenHatch 0.11.11 is live on the website, and tagged in git. It includes some substantial changes.
This month saw some major overhaul in the backend:
- We stopped using “buildout.” We were using this to help developers install the dependencies required by the app. Now we simply bundle all our pure-Python dependencies using a vendor/ directory (as described in the Kitsune documentation), and the dependencies that are not pure-Python are optional. This means that Windows and Mac OS users can easily get the code and start modifying it and contributing.
- We switched away from the old, slow, unreliable “bugtrackers” framework that we wrote, and toward the newer, Twisted-based “bugimporters” system for downloading bug data. Props to Jack Grigg for building the initial version of this.
- We stopped using the Haystack search system for the /people/ pages, making them much faster. (Full-text search was not appropriate for the kinds of queries we are doing there.) I enjoyed the thrill of deleting hundreds of lines of code from our codebase that interfaced between Haystack and us.
- Jule Slootbeek implemented a much-asked-for interface to interact with prospective helpers on a project and mark them as having been contacted. This feature is not deployed on the live site yet (disabled in settings.py) because we haven’t implemented the final templates for it yet.
Users will notice the site being much faster, and new contributors will notice that getting a development environment working is reliable and speedy (about ten minutes).
You can read the full release plan on the wiki and a list of the bugs we closed.
We had two sprints during this release. The release contains patches from Vivek Shrivastava (based on work by aviendhaSL), Jill A. Johnson, Jason Michalski, Jule Slootbeek, Jessica McKellar, and me (Asheesh Laroia). Of those, this is the first month that Jason, Jule, and Jill have patches that have landed. Welcome aboard!
OpenHatch website changes for the month (and release) of October
Howdy blog readers!
OpenHatch 0.11.10, our release for October 2011, is live on the site. Here is a quick note with the changes from the git tag.
- Deprecated and started removing the old, synchronous, bad bug download code
- Fixed the filenames in the git repository so that it successfully clones on Windows
- Fix some bugs in, and reorganize a bit, the new asynchronous bugimporter code
- Upgraded to Django 1.3
- Fix issue401, so that the nav links have consistent titles
- Fix issue605, so that the single_patch mission explains how to use patch
- Worked on a new front page in front_page_demo branch
- Fix Roundup bug parser so that it accepts bugs from the Python BTS
Thanks to all the people who made this release possible: kabilan, Jack Grigg, Jessica McKellar, Asheesh Laroia, Karen Rustad, and Vivek Shrivastava.
Happy Halloween!
Hanna Wallach, an inspiration to OpenHatch
Hanna Wallach has been, and remains, an inspiration to OpenHatch. On Ada Lovelace Day, we pay tribute to the women scientists and engineers who made us who we are.
Hanna is a star computational linguist, currently an assistant professor at UMass Amherst. She has been inspiring people to join free software projects for years. Her outreach work from 2004 to 2007 created institutions that have brought scores of new contributors into free software communities: in that time, she co-founded Debian Women and the GNOME Women’s Summer Outreach Project.
Over the years, Hanna became a celebrity to me.
She was applying computational linguistics just as I was learning it. In 2002, while I was in my first year of studying cognitive science at university, she was porting Dasher to handheld Linux devices.
She was improving Debian just as I considered contributing. In 2004, while I wondered what my first package should be, she had identified cultural problems in Debian that required the creation of Debian Women. Her effort was an immediate success, as you can read in a blog post written by then-teenage Christine Spang:
Two days ago, I was browsing Debian Planet in my RSS aggregator, and stumbled across this entry in Hanna Wallach’s blog. Curiousity piqued, I ventured over to the Debian Women site and browsed around a bit. Not too much later, I checked out #debian-women channel on freenode. A day after that, I am a complete convert (not to mention IRC lurker).
I first had the opportunity to meet Hanna in 2007 when I visited Boston for the GNOME Summit. She and Chris Ball were at a bar named Grendel’s, drinking and chatting. I had just graduated from university studying under Jason Eisner, so I thought I would break the ice by mentioning my advisor. Hanna exploded with energy and told me stories of Jason, in character, asking annoying questions at a linguistics conference. (-:
Hanna has impressed me with her audacity: rather than accept bad culture in open communities like GNOME and Debian, she set out to fix them. She continues to think about gender issues in computer science. Her efforts’ success has meant that now, five years later, Debian Women and GNOME Women’s Outreach continue.
In March 2010, at the Women’s Caucus during the FSF’s LibrePlanet conference, I was lucky enough to catch up with her and explain the OpenHatch project. Today, on behalf of OpenHatch, this post pays tribute to her for her outreach efforts. On a personal level, she is doubly impressive: beyond her outreach efforts in free software, her ongoing academic work in statistical machine learning is a dream I once had (and sometimes still have) for myself.
Image credit: cool sunglasses by-sa Mika.