Meet BSD: Questions with Chuck Hagenbuch

Chuck Hagenbuch is the lead of the software infrastructure team at Blue State Digital - overseeing the development of BSD's Online Tools and integrating new technologies into Blue State's core services. During the election, Chuck led the development of the mass mail backend server that powered the 1.3 billion email messages sent through BSD. Prior to coming to Blue State Digital, Chuck founded Horde - an open source communication and collaboration application framework, of which he still leads the development. He is one of the longest tenured members of BSD's Boston office.

Chuck Hagenbuch

1. How often does technology surprise you?

All the time. It's easy to be jaded by the pace of technology, but I can remember having a 50 Mb hard drive that must have been the size of War and Peace (hardback, large print). Now I carry around twenty times that amount of storage in a little postage stamp that costs $5 at CVS.

A technology that isn't quite there yet but that definitely amazes me is 3-D printers. Being able to print a cell phone - it's beyond just-in-time inventory; your only physical inventory becomes printing materials. Some day the Star Trek replicator might not be as far fetched as it seemed.

2. What is your favorite tool in the BSD Online Tools suite?

I think the Neighbor-to-Neighbor tool is the best incarnation yet of BSD's mantra that online organizing is about getting people to do things in the physical world. It also has some pretty cool programming in it for things like quickly doing geographic proximity search (to find voters near you).

Neighbor-to-Neighbor was a great tool during the election for getting people who had never done political work before involved in work that had previously been done entirely inside the campaign. It's the kind of thing that came from the top down in the Obama campaign - people want to be involved, we just have to give them tools that let them do the work. And it's really interesting to see what some of our clients are thinking about doing next with it.

3. Which programming languages do BSD's tools use? Why are the ones we use better for our purposes than others?

Six important questions

What are the first five websites you visit every morning?
Personal webmail, work webmail, UserFriendly.org, ESPN. All the other regular reading is through my feed reader.

Who is the most interesting person you are friends with on Facebook? Follow on Twitter?
Facebook troubles me in terms of privacy, so I'm behind the curve there. Twitter I follow through RSS, but not personally.

Blackberry or iPhone?
iPhone. I just haven't bought one yet. Someday, though, it will be mine.

Favorite political figure (past or present)?
John Adams, who in addition to being a Founding Father, left a legacy here in Massachusetts that includes a constitution that even now puts us at the forefront of equal rights.

First screen name on AIM?
The one I still have now.

Favorite viral video?
Currently this Swiss Drum Corp video

Our main programming language is PHP, which we use for all of our web pages and a lot of our backend infrastructure too. PHP has a huge community, and it's easy to point to some of the biggest sites on the internet - Yahoo!, Flickr, Facebook - which are built on it. That means that there are a lot of smart people writing about how to scale large websites using PHP, and that's a great resource for us.

4. For people who are illiterate in tech jargon, how would you explain the Horde Project?

Horde is a large open-source software package. I started it over ten years ago when my college's student computing group needed a webmail interface to avoid losing users to Hotmail. Now it has a full email, calendar, contacts, and tasks suite plus the underlying application framework, tools for developers (source browsing, cross reference, bugs, wiki), tools for building websites (photos, forums, ads, content publishing), and a ton more.

5. Why do you like working with frameworks?

I compare this to making a chicken salad. Not using any building blocks - like a framework - means you've grown the lettuce and raised and then butchered the chickens yourself. You'll learn a lot doing it, but it's going to take a long time, and if you don't get it right your salad will be missing some key ingredients. The other extreme is you go to McDonald's and the salad doesn't taste great and isn't sustainable. Using a flexible framework lets you start with good ingredients and then put it together yourself, the way you like it.

6. You came to Blue State from Zend, which provided professional services for companies like Google, PayPal, and Portugal Telecom, why did you decide to turn your attention to political and cause-based organizations?

I found Blue State with a blind web search. I'd been freelancing for half a year, and wanted to get back to an office environment. The chance to work somewhere where I could get paid to make a difference in causes that I believe in was very appealing, and combined with the technical challenges of handling a presidential campaign, it's genuinely a dream job.

7. What are some of the challenges creating software for all of the different types of clients we have - political campaigns, unions, issue advocacy, corporate, sports, entertainment?

Different kinds of clients have different usage patterns, different organizational structures, and different amounts of data. We have to be very careful not to write a single client's point of view into our tools.

An interview of Chuck Hagenbuch
and Leigh Heyman at
the 2009 mySQL Conference

8. You and Leigh Heyman recently gave the keynote at the MySQL Conference. What was that experience like?

It was a privilege to get to talk about the work that so many talented people did. We even got a compliment from Monty Widenius, the creator of MySQL, on our creative use of merge tables (a specific MySQL feature that we used in the mass mailer). The rest of the conference was great too, if a bit overwhelming; most days there were 10 presentations going on at once. I came away with a huge set of notes on things to do over the next year as we move BSD's infrastructure forward, which I'm really excited about.

9. On a lighter note, I hear you enjoy baking. What's your specialty?

Rhubarb custard pie, my Pennsylvania Dutch grandmother's recipe. Before I left for college my mom made sure I knew how to make pie crust the way my grandmother did. I usually don't use the lard, but I actually have some really nice leaf lard in the freezer that my sweetie rendered in our crock pot. Drove the dogs nuts trying to figure out where we were hiding the pig.

10. How does someone technical like yourself find ways to introduce lay-people - such as your family and friends - to technology in order to improve their lives?

If I'm really excited about something I'll tell people, but most of the time I assume that if my friends or family have a technical need that they want help with, they'll ask me. If I hear someone talking about a problem or a frustration they have, and I know of a potential solution, I try to offer it. But it's really easy to come across as a know-it-all as a techie talking about tech, and a lot of times people just don't care. On the other hand, most people are happy to listen to one babble about one's children, so that's a safe topic to stick to.

11. Fairly recently you become a father. Has that changed how you approach your job?

Having a daughter has made it even more important to get better at prioritizing. I have to make good decisions about how to spend my time, because just staying late to finish isn't an option most days. For better or for worse, though, working at home after the baby is asleep does happen.

For more information about Blue State Digital's strategy & technology services, click here.