Headed to PgConf.EU

I’m headed to Amsterdam for PgConf.EU and very excited for my very first European postgres Conference.

I’m giving two talks – Managing Terabytes, and Mistakes Were Made. Both are cautionary tales about the things that one can do terribly wrong with database management, and system operations management. My goal with these talks is to start a conversation about what we can learn from failure.

I encourage everyone to share their stories about what fails. Not only are they great “campfire stories” for entertainment, but they help us all learn faster, and they teach us what ultimately works when everything is failing.

In the same vein, UpdatePDX is putting on another “tales of failure” set of short talks the following week back in Portland. I’ll be leading the charge with a short story of my own, followed by at least two other tales of failure.

OSCON: We’re at the end…

I’m finally getting to blog, and here are a few highlights:

* “Mistakes were made” was a great time. Thank you everyone who shared stories. And those of you who attended, please connect with me – email or whatever, and let’s continue our discussions about failure.
* I have a little bit of editing to do left on the harder, better, faster, stronger slides. Talk ratings have been very high (thank you audience! đŸ™‚ Should have that up tomorrow!
* Not having a booth at OSCON was a real bummer for Postgres. We need to figure out a way to make this happen for us every year.
* Great having the time to connect with old friends in the hallways this week.
* Thanks O’Reilly for supporting our open source community.
* Thanks Google Open Source Programs office for bringing together open source leaders yet again this year for some important conversations.

Thank you everyone from the Postgres community who contributed to the Postgres day just before OSCON. All the speakers and their talks are listed here.

We need to keep having adjunct events like this! I think LCA has it right scheduling Mini-BoFs to provide networking opportunities for the distinct groups. I think OSCON should formalize this next year, and figure out a way of facilitating those groups in a more structured way.

I have another blog post brewing about difficult conversations.. but that’s going to have to wait until after I enjoy the brewers fest!

This year is so nuts for having conferences in Portland, OR

UPDATED! Just added Open Gov West! Rearranged, and just listing these all in order now. And added #140Conf in Vancouver, WA. It’s close enough. đŸ™‚ And just added Digital Journalism Portland.

For real.

This summer belongs to the nerds, geeks and hackers. I can’t believe that Portland’s tech scene got no love from Portlandia this year. Thank heavens they got a second season!

I did some research, and found TWENTY distinct conferences happening from now through November in the Portland area.

Anyway, there’s a sweet new service that you might not have heard of called Lanyrd, and a quick search over there revealed 20 conferences.

And over the next few days, several people suggested a few more:

  1. Agile Open Northwest 2011, 8-9 February 2011
  2. SearchFest 2011, 23rd February 2011
  3. Python Software Foundation Sprint, Feb 26th
  4. PDX11 Civic Hacking Unconference, April 1-2, 2011 (Plans are coming together now.. so pencil it in!)
  5. Innotech, April 21, 2011
  6. TEDxPortland, April 30, 2011
  7. JSConf US 2011, 2nd–3rd May 2011 (Rumors of crazy fun abound for this, also a party open to the public. Epic!)
  8. NodeConf 2011, 5th May 2011
  9. Open Gov West, 13-14 May 2011
  10. Digital Journalism Portland, 14th May 2011
  11. #140Conf Northwest, 19th May 2011
  12. WebVisions 2011, 25th–27th May 2011
  13. World Domination Summit, 4th–5th June 2011
  14. HotStorage ’11, 14th June 2011 (Third workshop on hot topics in storage!)
  15. USENIX ATC ’11, 15th–17th June 2011 (USENIX’s annual technical conference)
  16. WebApps ’11, 15th–16th June 2011 (Second annual conference from USENIX on webapps!)
  17. Open Source Bridge 2011, 21st–24th June 2011 (Third year! CFP still open!)
  18. IndieWebCamp, 25th–26th June 2011
  19. OSCON 2011, 25th–29th July 2011 (Back in Portland, Again! And @gorthx is on the committee!)
  20. Community Leadership Summit 2011, 23rd–24th July 2011
  21. Vida Vegan Blog Conference, 26th–28th August 2011 (Blogger conference for vegans! Crazy!)
  22. DjangoCon US 2011, 6th–8th September 2011 (Organizer recently relocated to Portland!)
  23. Pacific NW Drupal Summit, October 14-16, 2011
  24. SPLASH 2011, 22nd–27th October 2011
  25. Onward! 2011, 22nd–27th October 2011 (@al3x is on the committee for this!)
  26. Grace Hopper Celebration of Women in Computing 2011, 9th–12th November 2011

Sources: Lanyrd, Plancast, Calagator and the comments.

What other geekery did I miss? Let me know in the comments.


Here are the conferences without dates:

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!

Why you should go to LCA 2011


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.

Perl Mongers, Open SQL Camp and JPUG 10th anniversary coming up

Just asking.

I’ve got a busy couple of weeks in November:

  • November 11, 2009 – I’m presenting Bucardo (a sweet replication system for Postgres) at the Portland Perl Mongers group, 7pm at Free Geek.
  • November 13-14, 2009 – I’ll be helping run OpenSQL Camp with Eric Day here in Portland, OR. We’re having it at Souk, and kicking things off on Friday night at Old Town Pizza, starting around 6pm. Eric asked about having an n-master (multi-multi-multi…etc master) replication session, so I might talk with him about that there.
  • November 19, 2009 – PostgreSQL Clustering Summit in Tokyo. I’ll be giving a 5-minute presentation on the state of Bucardo development, and meeting (or seeing again!) the major contributors to replication and clustering technology for Postgres.
  • November 20-21, 2009 – Japanese PostgreSQL User Group 10th Anniversary Summit. I’ll be presenting a talk on User Groups with Magnus Hagander, President of PostgreSQL Europe.

I’m happy to say that I’ve got my slide decks done well in advance this time, and am mostly working on example configurations. I started a repo on github to hold my bucardo examples. Enjoy!

Responding to offensive presentations at conferences

How to handle WTF conference presentation moments.

How to handle WTF conference presentation moments.

On a couple mailing lists I participate in, people have raised the question: “When something offensive occurs during a conference presentation, what’s the right response from the audience and/or conference organizers?”

Unfortunately, at least one of these discussion lists is private, so I can’t directly quote the individuals who posted. But the content was worth sharing, so I’m summarizing the group’s thoughts in my own words below.

Here are some of the suggestions for handling offensive, unprofessional or inappropriate presentation content:

  • Train session monitors for a conference to contact the conference chair in the event of an issue, so that the conference chair can make a decision on whether to stop the talk or directly address the issue immediately (or later)
  • Conference chairs/committees make it clear to presenters up front what the expectations are (Presentation be rated G/PG-13/R, none of the “seven forbidden words” allowed, no commercial pitches, etc) — and there were dissenting opinions about this (esp G-rated issue — examples were given of things that were G-rated but also incredibly offensive depictions of women and minorities)
  • Screening presentations ahead of time (typically not something that open source conferences are able to do because of the habits of our presenters, and the rapidly evolving nature of the topics, but possible for a subset of presentations)
  • Audience members could address something that is offensive during Q&A (and audience members are encouraged to operate under the assumption that the speaker unintentionally offended)
  • Leave room for judgment on the part of conference organizers when developing community standards, as conferences are an “intentional community” and are free to set standards which are more or less strict than other conferences/communities
  • Bake a WTF cake, and serve it to the presenter (WAY underutilized tactic)

One theme that emerged was the need for some kind of immediate response that communicated both to the audience and the speaker that something was wrong. However, many situations require individuals to use their best judgment in responding, and stopping a talk should likely be left to the discretion of a conference chair.

Also, treating the speaker as though they have made an honest mistake and did not intend to offend anyone (I have yet to experience a situation where this was not the case, personally) is always the right way to start a conversation about it.

Photo courtesy of SanFranAnnie, under a Creative Commons License

collaboration = conflict + people

I’m thinking a lot about why Open Source Bridge is happening.

One of the ideas that keeps popping up for me is constructive conflict. Searching for some inspiration, I googled “open source in-person collaboration” and came across David Eaves’ post “Why collaborative skills matter in open source.” His main point about the collapse of transaction costs comes from Clay Shirky’s book Here Comes Everybody, which I am also reading.

That led me to an older post David wrote about the difference between collaboration and cooperation. And, suddenly, the light turned on.

Yesterday, as I mapped out the five minute “why we’re here” talk I’ll give to kick off the conference, I said to Audrey, “Above everything else, our goal is collaboration.”

Between people new ideas are produced as the result of conflict. Without conflict, we don’t have collaboration, we only have accommodation and cooperation. And I completely agree that online communities encourage cooperation, sometimes at the expense of collaboration.

How do we encourage more collaboration? At least for now, Audrey and I have both focused on in-person connections. For the highly-distributed projects, this poses several problems – cultural, logistical and financial.

October is a month of many conferences


I just blogged about WhereCampPDX, and am enjoying a few days of quiet before heading out to Google for the Summer of Code Mentor’s summit this coming weekend.

I was so busy I didn’t have much time to blog about the PostgreSQL Conference West. It was great to see everyone, and I came away more sure than ever that PostgreSQL has the best developer and user community. We had so much fun, and I really enjoyed seeing the creative ways people are using PostgreSQL – for business (Proprietary to PostgreSQL), education (Visual Planner) and as a hobby (PL/LOLCODE).

WhereCampPDX was amazing! I had a couple fantastic conversations with Webb Sprague, a regular PostGIS presenter for PDXPUG and Portland PostgreSQL conferences. He’s interested in getting people together to talk about anthropology and tech, and how to better meet the needs of the people who will actually end up using disaster management software in a crisis. Look for a fabulous event from him this spring!

As far as GSOC, I’m hoping to take a lead role in this next year with Josh Berkus‘ help. He’s managed Summer of Code for at least two years, and has worked hard to match mentors and students, and we’ve ended up with several excellent contributions.

My plan for PostgreSQL is to start early on recruitment and project proposals, so that we have an excellent turnout next year. So, if you know of a project you want worked on, or know of students who would be good candidates – let’s get in touch now and start recruiting!