Keynote at What Beginners Teach Us

I returned from Taiwan on Monday after a long weekend at

I gave a keynote called “What beginners teach us“. Audrey Tang graciously translated the slides for me.

The talk was a bit short – about 30 minutes, which left nearly 15 minutes for questions. So many people asked questions about resources for teaching their families and children Python. My first recommendation was Python Programming: An Introduction to Computer Science. The reason I suggested this was the clearly articulated learning objectives at the start of each chapter.

What we really need, though, is a short list of books oriented toward the different kinds of relationships programmers have (parents, grandparents, colleagues, lovers, children, etc.). Each relationship feels a bit different in terms of what will motivate the person, why the programmer is seeking to educate them and what ultimately will be useful about programming or computational thinking in their lives. I’d appreciate any books or resources you’ve used!

Anyway, the questions were wonderful, and I’m looking forward to the video being posted.

UPDATE: Video is now posted!


I met members of WoFOSS and chatted about starting a PyLadies Taiwan chapter! WoFOSS has been around at least since 2010, and they have monthly meetings in Taipei. About 70 Taiwanese women are involved, and they are hackers from all kinds of different FOSS communities.

Great hacker talks

I also saw some amazing talks, including one by first-time speaker Andrew Cole, who also publishes a zine in Seattle about pinball. His presentation was a tour of Rosetta Code, which translates bits of code between lots of different languages. He linked to the fabulous “chef” language (not the configuration management tool).

The conference was full of amazing hacks, like this Open Office piano-player (and many more audio/pictograph hacks) from imacat. This hack used OO Calc to create a playable piano, and another sheet plays a Christmas tune that reveals an image of Santa flying reindeer.

More fun hacks came from Yusuke Kawasaki. His talk was a very funny set of demos using iPhones and a very simple IR transmitter, made from extremely cheap parts and Sguru. He later demo’d a two-iPhone camera and remote control system for a remote control dump trunk at the hackathon.

On day two, Audrey Tang gave an amazing demo of making an open source dictionary using Postgres and Node out of documents available only in Excel from the government. I was inspired.

I highly recommend, which typically happens in April every year.

About high school computer science teachers

I’m giving a talk at PyCon next Saturday about teachers. The title is “What teachers really need from us“.

The first thing I should admit is that when I started thinking about this talk, I was sure that the list of what teachers needed from us was really long.

Then, I started actually talking with teachers.

So, here’s what some of them have said:

  • Reading comprehension is the biggest barrier to completion of AP Computer Science (Page 8 of this AP CS course description)
  • Fighting for continued existence is the biggest battle for a computer science teacher every year. “The number of secondary schools offering introductory computer science courses dropped 17 percent from 2005 to 2009 and the number offering Advanced Placement (AP) computer science courses dropped 35 percent in that time period.” December 2010 report
  • Writing personal letters from a teacher to students and parents increased the number of girls in one teacher’s class (in Virginia) from nearly zero to 50%. Research into increasing the number of women and minorities in CS classrooms is available in Stuck in the Shallow End.
  • Students at a high school learned three languages in three years. (C++, Java and Python) This busted so many notions I had about how long learning to program takes or what languages are most appropriate for beginners.
  • Kids don’t need algebra to learn to program. Algebra is a weeder course, often a prerequisite to CS and one that strongly indicates whether or not a student will graduate high school. What if kids could take an “algebra on computers” course instead of failing out of school? Please note, learning to program is not the same thing as being a professional programmer.
  • School counselors who help kids choose classes still send students to CS class believing that they’re going there to learn to type. Find out more about the wildly varying understanding state-by-state of what a computer science class really is in the Running on Empty report.
  • What teachers wanted from me was for me to come to their classes and give a short talk to their kids about myself and my work.
  • Teachers were super excited to hear about PyLadies. They struggle to get girls into their classes and are all looking for ways to increase the diversity of their classes.
  • The CS teachers I’ve met want to share their lessons – with me and with other teachers.
  • The CS teachers I’ve met don’t know other CS teachers.
  • Teachers were only mentioned once in the 84 initial statements of support for

I think we’re all really missing out when we don’t talk to teachers.

I’ve talked directly with nine computer science teachers. Most of them are in Oregon, but I also was introduced to a couple teachers who came to Python-related conferences, or were married to Python programmers. I’m hoping to meet more. If you know someone, please put them in touch with me. I’m happy to chat over the phone or email, and love to meet folks in person.

Recent talks: How to get a job like mine, Command-line essentials, Restore FTW

Here are a few of the talks I’ve given recently here in Portland. I’m trying to give more talks locally, and happy to speak at your Portland User Group. Just drop me an email.

  • How to get a job like mine. This talk was given to PSU students as an encouragement for them to get involved in free and open source software. Toward the end, we did a brainstorming session on the reasons why they didn’t contribute, and tried to come up with projects each person in the audience might be interested in learning more about
  • Command-line II. I’m writing up my notes from this talk, hopefully to turn it into a real tutorial that others could copy. My goal this year is to give a tutorial every other week, and I’m hoping to have at least 10 lessons come out of that work. It seems like I need to give each lesson twice to really get the hang of it. Which means I aught to get out of this experience with 26 lessons… but trying to stay realistic about my time.
  • Restores FTW at PDXPUG. This talk is about backups for PostgreSQL and how to get your teams to come up with restore plans that exercise databases as part of normal operations. I’m trying to switch talks about Backups to being talks about Restores. The next time I give this, I think I’ll change the order of the “restore patterns” to be at the start of the talk, and the discussion about planning for backups/restores to the end. I plan to do a Mozilla brownbag that covers these topics and also goes through a live demo of backing up, restoring and testing PostgreSQL with the new 9.2 tools.

Abstract for PSU Tech Talk, Feb 1, 4pm

I’m doing a tech talk at PSU about open source community:

Collaborative chaos: what it means to write code, manage projects and work with people in open source communities

Working in software and with computers means wildly different things depending on who you talk to. In open source, the work spans every aspect of software development — from the marketing and documentation to the troubleshooting end-user systems.

The “community manager” or “organizer” role in open source communities is probably the least-well defined in our industry, but is seen as a crucial part of open source software development. 

Selena will talk about her work as a serial user group starter, open source conference circuit speaker, conference organizer and contributor to PostgreSQL — all roles considered part of community management. She’ll also talk about other kinds of community management roles available at small and large companies, or as a volunteer in an open source project. 

Selena is a major contributor to PostgreSQL, she founded and runs the Postgres Open conference and keeps chickens. Selena has been working with open source software for over 15 years.She’s keynoted at SCALE, DjangoCon and LISA, and regularly gives technical talks about Postgres, open source and trolling. She is currently a data architect at Mozilla, makers of the Firefox browser.

While we’re here, let’s fix computer science education: DjangoCon keynote and resources

My keynote today is done, the resources list is here and the slides are below. I wrote slightly different text to address our experience here in the US, but a mostly-complete transcript of the talk is here.

A ton of people came up to me after the talk and we started talking about all the ways that we might be able to solve problems. I created a mailing list for our first few discussions. If you are a person that doesn’t like google groups, contact me, as I of course can set up something that’s outside of that infrastructure if we have enough people who’d prefer a different place to have this conversation.

We have a plan to contact teachers in our local communities, and ask them what they need that we as open source software developers could help them with. And we all agreed that want to build things, but we’re pausing for a minute to ask the teachers around us what they need first.

For some background, the key bits of reading you should do to get up to speed are the following:
Continue reading

FrOSCon: Mistakes were Made: Education Edition talk slides and notes

I just finished giving my keynote at FrOSCon, and am pasting the notes I spoke from below. This was meant to be read aloud, of course. Where it says [slide] in the text is where the slides advance.

Update: My slides are now available on the FrOSCon site.

FrOSCon – Mistakes Were Made: Education Edition


Thank you so much for inviting me here to FrOSCon. This is my first time visiting Bonn, and my first time enjoying Kölsch. I enjoyed quite a lot last night at the social event.

Especially, I would like to thank Scotty and Holgar who picked me up at the train station, Inga who talked with me at length on Thursday night. All the volunteers who have done a terrific job making this conference happen. Thank you all so much for a wonderful experience, and for cooking all the food last night!

And I promised to show off the laser etching on my laptop I had done here by the local hackerspace. I come from the PostgreSQL community, so I got an elephant etched into the laptop. It only costs 10 euro and looks awesome.


I’ve also made a page of resources for this talk. I’ll be quoting some facts and figures and this pirate pad has links to all the documents I quoted.

For those of you from countries other than Ireland, Great Britain, United States, German and Turkey – if you know where to get a copy of computer science curriculum standards for your country, please add a link. Right at the top of this pirate pad is a link to another pirate pad where we’re collecting links to curriculum standards.


And finally, this talk is really a speech, without a lot of bullet points. So, the slides will hopefully be helpful and interesting, but occasionally I will be showing nothing on a slide as I speak. This is a feature, not a bug.


For the past few years, I’ve been giving talks about mistakes, starting with problems I had keeping chickens alive in my backyard. Here’s a map of my failures. Scotty is familiar with the video that is online that tells the whole story of how all these chickens died.

Next, I talked about system administration failures – like what happens when a new sysadmin runs UNIX find commands to clean up — and delete all the zero length files, including devices, on a system. Or how to take down a data center with four network cables and spanning tree turned off. Here’s a tip: it really only takes first cable.
Continue reading

Re-thinking “Mistakes were made”: free and open source software and teaching

I’m working on my keynote for FrOSCon right now.

They asked for me to revisit the “Mistakes were Made” talk. My introduction will probably be a lot the same. A core idea is a theory that the ratio of failure to success remains mostly constant over time. So, in order to succeed a lot, we need to be trying and failing a lot more.

But this talk, I am planning to go into what concerns me the most about open source software: succession.
Continue reading

Where to find me at #LCA2012

I’m going to be pretty busy while in Melbourne and Ballarat for the next 10 days.

Here’s my itinerary:

There’s a rumor that Stewart Smith and I might do a Q&A about databases in the cloud. If it happens, it will involve lots of pessimism and swearing.

Drop me an note if you want to meet up! I’ll be in Ballarat until early Friday morning.

Then I fly back to LA to give a keynote at SCaLE that Sunday (blog post about that coming).

Day 2 at PgConf.EU: hallway track and the marketing of Postgres

The hallway track is always my favorite part of the conference. I had to give a full-length and a lightning talk today, so much of my time was spent making sure I was really prepared and then giving the talks!

But between talks, I got to chat with Heroku, 2ndQuadrant and EnterpriseDB folks about what they think is coming next in the world of enterprise development and Postgres.

One topic that I touched on in those conversations and my lightning talk (Postgres needs an aircraft carrier) was that our plan for world domination needs to get quite a bit more specific and actionable.

For the open source community, the right question is not “are we ready to tackle the enterprise?” — the right question is: Which market segment and customer group are we going to target for complete market domination?

One area that we definitely already dominate is online poker. We have had a few blog posts about it, but not a whole lot else. Another is GIS through PostGIS.

I created a survey to try and capture some scenarios from the developers who work with customers every day solving problems. We need to know more about the people using Postgres and the way that they use the database.

If we can get 30 responses, I’ll publish the results. It’s a bit long, and requires some thought, so I imagine it will take some time to get them all.

If you have a customer that you think represents a good target market for Postgres, take 10 minutes and fill out the survey for us!