She’s Geeky report Day 2!

Photo courtesy of Sarah Mei

I’m sitting in the closing session for day 2 of She’s geeky – tired, but feeling inspired.

The main sessions I participated in were connecting women’s communities, OSCON proposal creation and a session on recruiting. I spent a lot of time talking one on one with a couple community managers, and touched on a ton of issues involving leadership, vision and the future of women in open source.

One idea that resonated with lots of people was the idea of going deeply into identifying the common values of the women who start and lead change efforts in open source. And using that foundation to launch future work.

A few action items came out of it involving creating a set of calendars, using posterous for some more communities, and creating a crunchbase-like database of women in the tech community.

I got a chance to talk to a couple women who are Linux kernel and embedded systems hackers. They’re submitting talks to OSCON thanks to Sarah Novotny’s session on creating talk proposals. So awesome!

Now we’re about to go have dinner, and looking forward to a fun evening after a full day.

She’s geeky: day 1 report

Image courtesy of Sarah Novotny

I got in about 1pm to She’s Geeky, an unconference about women who self-identify as geeks.

I’m here on a mission: to find developers who want to move to Portland! Emma, Urban Airship, Puppet Labs, About Us and BankSimple are all hiring (and BankSimple is even interested in remote hires).

My favorite conference session yesterday was about leadership and management, the difference between the two, and how to work with managers. We had an amazing discussion, with @noisegirl, Allison Randal, and Ursula Kallio leading a lot of the discussion. Topics ranged from how to carve out time for individual contribution when you take on a management role, to dealing with insane micromanagement to exploring the limits of change in an organization.

Another discussion I participated in was “Startup. Now what?” We talked about the issues each woman faced in starting her own business, and I asked a lot of questions. :)

I also attended a talk about the commerce department’s Privacy Green Paper. I hadn’t heard of it before, but the response being formulated is here: http://wiki.idcommons.net/Privacy_Green_Paper_Response

The main gist of the discussion was about encouraging congress to think carefully about the legislation and the business environment created (or stifled) by new data regulations. The contention is that activity data stored in “personal data stores” (PDS) is inherently of value — we already know this because our data is bought and sold without our consent or knowledge currently. So, why not create a system where businesses can do this, but with the consent and knowledge of consumers? I’d probably say “citizens” there instead of consumers, but you know. Whatever. :)

I’m not sure I fully understand the issues yet. I tried at one point to draw a link between PDS and “owning your own logs.“, but that didn’t seem to resonate. Kaliya said something about respecting definitions, so I think that I still don’t quite understand what defines a PDS.

Or, put another way, I am having a hard time understanding the distinction, because the freedom issues seem to be very much the same.

I tweeted a bit about my thoughts on APIs related to PDS, and here’s one conversation that tumbled out of it:

Welcome, Selena! | LinkedIn
Uploaded with Skitch!

Anyway, much to think about from the first day, and I’m excited to see what discussions unfold today!

GSoC Mentor Summit: Day 1

Today was the first day of the GSoC Mentor summit. I attended a few sessions and had several interesting hallway conversations with developers and leaders of projects from all over the world.

First, I attended a discussion about book sprinting, and did a recap of how our latest book sprint went (blog post to come!). We discussed the advantages of having the same group of people to two book sprints as a group, and how things seemed so much easier the second time around. We also had copies of the book that we’d hand-bound there to share. Lunch was spent chatting with Noirin and others about food, culture, travelling lots, and the hilariousness of having “Sotomayor” as a surname in Washington DC these days. Happy to have met a couple more Apache Foundation folks, and lovely to talk about names with an OpenNebula contributor. I also spent some time chatting with Greg Stark about the session on retaining students, and go over a few bits of inspiration he had for encouraging students to work on the more mundane aspects of PostgreSQL development.

Next I stopped upstairs to have a chat with Asheesh Laroia about new things he’s been up to around promoting free and open source community. He’d run a class recently to introduce new students to open source (at Penn State), and had some thoughts on what we should do next to make open source communities more welcoming. He also talked to me about Fedora Design Bounty, and how that model might be applied to other projects. Genius idea, and after reflecting on the idea a bit, maybe we could try it in pgsql-advocacy. Maybe. :)

I then breezed through the Chocolate session. Yum!

And went off to see about Bradley Kuhn‘s session on options for joining or starting non-profits around free software. He’s now executive director of the Software Freedom Conservancy, and was giving out great advice around picking an umbrella organization, making the right choices early about where to put money (don’t use your personal paypal account!), and notes on where to go for help if you’ve got questions about what to do next. Not sure where the notes are for that session, but I’m sure contacting him for more information about Software Freedom Conservancy if you’re interested is an option.

Then we had the great Git Migration discussion. The notes were wonderful, and it seems like many people were either considering or were in the middle of a git conversion process. Two PostgreSQL developers were there, including Magnus Hagander, whose voice wasn’t working so well. I helped out a bit by giving a rough overview of how our process had worked, and pointing people at the many resources and tools Magnus and others who worked on the conversion made available.

Afterward, I sat down for a bit with Zooko to talk about Tahoe-LAFS, which appears to be an encrypted, distributed document store database with a http interface. Sounds really cool, and I’m interested in trying it out.

Now, I’m getting ready to head off to the party for the evening. Great day!

Training lessons learned: Code dojo, whiteboards, interactivity

Training can be an incredibly boring, frustrating exercise. Often, I have friends who don’t bother to attend sessions or tutorials during conferences. Instead, they cherry-pick friends and colleagues that they can work on code, gossip or brainstorm with in the hall while others sit passively in lectures. When I think about it now, knowing this about my friends is what motivated me to start Open Source Bridge.

The PostgreSQL training I gave to Ondo State was specifically targeted at developers. I used material End Point had from previous trainings, and added few new things designed to meet the needs of fledgling database developers. The high points I wanted to hit were: schema design basics, user defined function development and highlight developer-friendly features of Postgres that they should be aware of.

One big obstacle for me was that they would all be using Windows as their primary operating system. I develop exclusively on UNIX-based platforms, and so I had to spend a little time getting re-acquainted with Windows tools. pgAdmin III was essential, and I was happy that a new version was released along with version 8.4 of Postgres.

Also, while the concepts are the same, the built-in monitoring tools for Windows are quite a bit different, and I used freely available material from my Postgres colleagues who support Windows for a couple hour tutorial on interactive troubleshooting.

When trying to explain concepts – like replication, or basic database terms – it really helps to have a whiteboard. I was working with a group of people with diverse IT backgrounds, and often, I asked individuals to try to explain in their own words various terms (like “transaction”). This helped engage the students in a way that simply stating definitions can’t. Observing their fellow students struggling with terminology helped them generate their own questions, and I saw the great results the next day – when students were able to define terms immediately, that took five minutes the day before to work through.

Finally, one important request from the client was that some time be spent mentoring developers on standards, best practices for development and coding style. To accomplish this task with fourteen students in such a limited period of time, I decided to conduct a series of coding sessions where students and I took turns at the keyboard programming as a group. We call this coding dojo, a concept built on the Coding Katas from Dave Thomas.

Overall, I prefer interactive training, where students are not only encouraged, but forced to interact with each other and the instructor.

When I sent out the CFP for MySQL Conf yesterday, lots of people asked me for suggestions on talk topics. In general, I recommend that speakers focus on a particular take-away for the audience, and mention specifically what a person sitting in is going to learn *and* apply immediately. Not every talk can be interactive, or give people chunks of code. But *every* talk should have a clear goal, and leave the audience educated. The best leave them inspired!

PostgreSQL at MySQL Users’ Conference 2011

So, I’m on the committee for MySQL Conf this year, and the committee is specifically seeking talks about PostgreSQL. The idea is to broaden the scope of the conference to include a lot of different open source database technology, including a bunch more about Postgres.

The theme of the conference is “the ecosystem and beyond”, which was chosen specifically because the open source database world has exploded and grown so much in the last three years. Below is a slide from a presentation I made last year at LinuxConf AU about the growth in free and open source (FOSS) databases:

We’ve seen a half-dozen forks of MySQL appear, exponential growth among “NoSQL” databases, and now, a powerful release from PostgreSQL. It may seem odd that the name of the conference didn’t change to reflect the change in focus – but this is the largest FOSS database conference I know off – weighing in at over 2000 people last year. Given the community that’s grown around it, I understand why they are keeping the name.

The content will still largely focus on MySQL — the core, the many forks, and the community around it. But we’ll also hear from many new, successful database projects, and definitely hear from PostgreSQL. To do that, though, I need you to submit talks!

The submission deadline for all proposals is October 25, 2010!

Topics for consideration include:

  • Innovative uses of Postgres
  • Data warehousing and BI
  • Architectures based on Postgres
  • PostGIS
  • Government + Postgres
  • [your favorite web framework] + Postgres
  • Performance and optimization
  • Security and database administration
  • “In the cloud”
  • Business and case studies

If you’ve got an idea, submit a proposal today!

Please contact me directly for feedback, help with submissions or help generating ideas. And if you’re submitting, please just drop me a line to let me know! I’d love to hear from all that are interested.

Thoughts on Grace Hopper

I’ve been at Grace Hopper Celebration of Women in Computing for the past two days – soaking in the presence of over 2000 women in computing at a sprawling conference here in Atlanta.

The interesting thing about this conference is how much the same it feels to me as any other large conference I attend, and a couple small ways that it is very different. I realized while I was here how I have spent the last few years surrounding myself with accomplished, amazing women like Jen Redman, Leslie Hawthorn, Claire McCabe and Sarah Sharp. What’s funny is that we’re connected by Portland (although Claire is down in Oakland… for now…), and we’re all at Grace Hopper this week. They, among many others, made me feel right at home.

I feel the dislocation of being at a conference comprised 95% (or more) of women. There’s an odd politeness that I’m not used to. There are a lot of people who are in academia or industry who wear suits and use words like ‘leverage’ without irony. There were tons of students – over 900 of them, and an incredible job fair. And I was shocked at the number of people who asked me: What exactly is free and open source software?

As congratulatory as those of us who are “in” the free software world about having essentially won out over proprietary software, there is a huge, mainstream portion of the computing world who are not aware. I’m not saying that a person needs to understand the minutia of license differences, or have even read one. But wow, there is an incredible missed opportunity when a computer science student can graduate without knowing what open source even *is*.

So, congratulations to the women who put the first ever Open Source Track at Grace Hopper together: Jen Redman, Cat Allman, Sandra Covington, Sara Ford, Jenny Han Donnelly, Leslie Hawthorn, Avni Khatri, Stormy Peters, Hilary Pike, and Natalia Vinnik. I was very happy to participate in the “getting started in open source” panel. And many thanks to the NSA for sponsoring the hackathon with Sahana, a very worthy project, and one that I hope is infused with new excitement and contribution from the 200 people who signed up to participate. I hear that we’ll be having a hackathon again next year in Portland — when Grace Hopper comes to our very own city!

CouchCamp 2010: yay!


Max in a tree! Talking about GeoCouch

I was at CouchCamp last week out at the Walker Creek Ranch – a bit disconnected (no cel service, and spotty internet), but fully immersed in the CouchDB community.

I was there to give a talk on MVCC in PostgreSQL. I forgot to mention it during my talk, but it was a fitting topic given that I first talked with JChris after a talk he gave in Portland, where I basically trolled him about compaction and MVCC in CouchDB. My goal was to show people the benefits of CouchDB’s built-in MVCC, to point out some places where core developers can learn from PostgreSQL and avoid some of the traps we’ve fallen into over the years. I’ve got more to say about the talk some other day, but I wanted to just reflect on CouchCamp for a moment.

One comment a friend made was, “Wow, these people are just so nice!” And it’s true. Every hacker meetup I attend is full of people who are overwhelmingly kind and thoughtful, and CouchCamp was more of the same.

CouchDB is at a critical point in their development – 1.0 is out the door, and developers are already building cool apps on top of it. CouchApps + Evently are an interesting and fun way to get started building things on top of a couch. And replication parties – seriously awesome. Ward Cunningham is rumored to be considering a CouchDB wiki to drive the patterns repository wiki (And here it is! Thanks, Max!), and CouchCamp was overflowing with ideas and implementations (distributed social, a replacement for email, UbuntuOne).

So what did I learn at CouchCamp? I learned how to hack on a CouchApp (Thanks for the help, JChris!). I learned about what Max Ogden is up to, and am so excited for him and the lucky folks that get to work with him. (and he’s running a hack/project night next weekend you should TOTALLY GO TO!)

I heard about the success and tribulations of running CouchDB on the desktop, and the launch of UbuntuOne from Stuart Langridge. During his talk, Stuart brought up the idea of a general replication API – something that I also believe is important to the growth of open source databases and is critical to enabling data freedom. I met a real, live Pick user/admin/developer, and talked about the inability to move to another system but the possibility of interfacing something like CouchDB to it. I got to chat with Rebecca Murphey about Javascript, MVCC and quality booze. I saw bunnies, foxes, deer, raccoons, and tons of bright stars late at night. And, I saw Damien Katz perform a brief interpretive dance.

I also was pointed to a retrospective on Couch 1.0 development by Ted Leung. I don’t know Noah Slater, but wow, what a testimonial. Noah’s comments about why he continues to contribute to CouchDB mirror a recent thread about PostgreSQL contribution — we work on these open source projects because of the incredible community that develops around them.

Thanks, Mikael, JChris, Jan and Damien, and all the CouchDB folks for creating a community that so many people want to contribute and become a part of. I certainly want to be a part of it, and look forward to finding ways of contributing more.

And thanks for bringing us all together in person. From the squirt guns in the welcome bag, to the campfire and sing-alongs, to the very late night Android libc storytelling by Aaron… These are the moments that glue us all together, and make all that work we do to connect up with one another through software completely worth it.

Speakers workshop at LibrePlanet next week!

I’m headed off to Boston (and then NYC!) next week for three days of free software love at LibrePlanet, March 19-21.

While there, I’ll be giving a speaker’s workshop – how to give talks at technical conferences. There’s not really a magical formula, just lots of tips and things to practice that will help you not only give great talks, but find excellent places to give those talks, be prepared for speaking to any size crowd, and have a good time while you do it.

I started giving talks at conferences about five years ago, and have been running my own conferences for three years. I still get the butterflies when I get up in front of people, but I’ve got a whole kit of strategies I now use to deal with it.

The workshop is scheduled for 3:30-5:30pm, and I’m sure we’ll all head out for dinner and conversation right after.

I’ve also got one free pass to the conference left, so leave a comment if you’ll be in the area and can use the pass.

Also, I’ll have some incredibly profane free software advocacy stickers on-hand to share. We’re free software activists, but we can still have fun, right? :)

Why you should go to LCA 2011

capsicum

I returned from LCA 2010 on Sunday with an ecstatic grin, and tons of projects to work on for the rest of the year. I was lucky enough to have End Point send me to New Zealand! I knew a few of the organizers, and had high expectations. LCA totally surpassed them all.

Next year, LCA will be held in Brisbane, Australia. You should really go.

I’ll break it down for you:

* Content

The talks were really good. People went out of their way to talk about the technical issues they are facing without sugar coating it, dumbing it down, or resorting to lists of features.

Ted Ts’o‘s talk on EXT4 development was amazing in this regard. I came thinking that he’d give a laundry list of features, how it differed from EXT3, when he thought they’d be “production ready”. What I got instead was an incredibly detailed accounting of the failures in testing and systems analysis that filesystems developers had encountered over many, many years. The new development effort had its own fair share of bug creation, but they also found long standing bugs in EXT3. He went so far as to break down effort in terms of new feature creation, bug fixing and two other tasks (i wish I had a copy of the slides already!). Anyway, interesting talk, great advice for those who work with concurrency-sensitive applications (most of us these days) and very interesting case studies in failure.

Paul Gunn, an engineer at Weta Digital, gave a detailed talk on his experiences scaling their data centers. Much of the lessons there were fairly well understood by data center engineers (hot/cold aisles, raise the temperature to save some dollars!, don’t cram stuff under the floor where air is supposed to flow!, use high ceilings to sink heat). It’s always great to see companies sharing their practical experiences with developers.

Another fun project I learned about was Sheepdog – an EBS replacement developed by a team from NTT. The whole project looked fantastic – providing snapshot, cloning and thin provisioning, and a reasonable looking GUI. This could be a fundamental building block of free clouds.

I also was inspired by Cucumber-nagios, a relatively new project from Lindsay Holmwood. He and others have been talking about “behavior driven infrastructure“, a great bit of syntactic sugar on systems automation work that started with cfengine in the early ’90s. I look forward to playing around with these tools. And I really like that he leveraged nagios’ existing interfaces rather than inventing something new. This type of collaboration between projects is a breath of fresh air for sysadmins, who (if they’re anything like me) struggle to make awesome new tools talk to the awesome old ones.

I spent some time in an Arduino intro class, soldering and hacking on a temperature probe for a few hours. I ended up with a working temperature monitor and an appreciation for how easy to use the tools are.

* Hallway Track

There was a fantastic common area filled with people hacking on their talks, having conversation or maybe just hanging out to see what would happen next. IRC was full of hilarious chatter, and people connecting to see new babies (my god, so many people have had babies!).

There were also some couches, and a nice courtyard that often filled up with people. The common spaces in a conference seem to determine how well people can connect once they’re not just sitting in front of a speaker.

Another convenient and wonderful aspect of the location was the food. Excellent restaurants at reasonable prices were within a 5 minute walk of the conference venue. This made impromptu coffee breaks and relaxed but productive lunches very easy and enjoyable. I really, really liked this.

* Inspiration

Three keynotes by Biella Coleman, Benjamin Mako Hill and Glyn Moody were inspirational and subversive. All three were rallying cries for a hacker mentality – the drive to tweak, tinker, create and share. All three spoke to the pleasures and joys of software development.

Biella Coleman brought up the origins of the Free Software Foundation, and even played a video of a very young Richard Stallman talking about his frustration with not being able to modify source code. She also discussed the responsibility leaders in free and open source have to be transparent in their management of their projects (and how we remind ourselves of that in amusing ways).

Benjamin Mako Hill gave a rallying talk about antifeatures, and how their existence is a competitive advantage for free and open source software. Pia Waugh gave a detailed description of the talk, and the categories of antifeatures – protection money, market segmentation, securing monopolies and protecting copyrights. A memorable quote was “I have yet to meet a free software DVD player that respects the unskippable DVD track.” Mako reminds me that humor is the best medicine for something that’s seriously broken.

Glyn Moody went a slightly different route – talking about how sharing and openness are leaking out into the rest of the world. The Human Genome Project and Project Gutenburg were two of several examples he used, and to briefly cast a glance at what was at stake if public ownership had not been achieved – in particular with the Human Genome Project. He managed to convey a sense of urgency and importance that is often missing.

What free software actually gets used for and why are critically important stories. We all need to get better at telling compelling stories.

* Friendship

Free software is built on friendships. Trust, willingness to make mistakes in front of each other, and a desire to build on top of others work to make something better are the traits I see among those who collaborate with each other. Building free software can be a painful process – long nights, tedious bugs, no recognition for the work that went into it all. Conferences like LCA are a tremendous affirmation of the work that we all do.

From the scripted get-togethers, to the spontaneous hackfests and anti-scripted gatherings (the un-professional networking session!), all events are attempts to connect to the other people who know what it’s like to live inside of free software. And we relax around each other, make jokes and enjoy for a few days the knowledge that we’re doing something really cool.

I met so many people for whose time and attention I am incredibly grateful for. And, for those Kiwis who took me out for great food, shopping and long walks along the pier in the sunshine — thank you so much for taking the time. I miss you all.

OpenSQLCamp was awesome!

Saturday schedule 11/14/09

Thanks to everyone who attended OpenSQLCamp this past weekend in Portland, OR! More than 100 people participated – developers, DBAs and hobbyists from all over the world. Database developers participated from PostgreSQL, MySQL, MariaDB, Drizzle, TokuDB, LucidDB, MongoDB, Cassandra, CouchDB and many more.

The great thing about these events is the opportunity to trade ideas, code and stories. One project I’m very excited about is coming from some Portland State University students and a capstone project to create a new, interactive database client that works with more than just one DBMS. Igal gave a review of non-relational datastores. We had lightning talks about: open source column store databases, a many-master replication system called Trainwreck, open source at Microsoft, how to translate between NoSQL and SQL and many more.

You can see the full list of talks and notes from sessions as people update the wiki.

Joking about NoSQL aside, I was very happy to see many non-relational database developers in attendance, sharing information and participating in interesting discussions about the data management ecosystem. One meme we were happy to spread is that every tool has a purpose and I was happy to see this tweet:

Best thing I learned at #opensqlcamp today: #nosql vs. #sql is a false duality. Different features for different problem domains.

I hope next time we can get a few more core Postgres developers to a Camp. Mark Callaghan expressed interest in a comparison of backend storage mechanisms, and several people were interested in detailed comparisons of replication strategies across many DBMSes.

Thank you to everyone who participated! (sorry I spelled your name wrong in the email, Mark. And left off your name in the list of GoDaddy road-trippers, Dan.) If you were there, please give us feedback!

We’re already looking forward to the next OpenSQL Camp. Some people thought we should do it again in Portland – and we’d be happy to host again next year! Baron also mentioned running an event in Washington, D.C.