Just a Theory

Trans rights are human rights

Posts about Personal

Sign O’ The Times

The New York Times T Logo

Some news: I’m super happy to report that I started a new job last week at The New York Times.

After ten years at iovation, the last four working remotely from New York City and the last three under the ownership of TransUnion, I felt it was time to find something new. At The Times, I’ve taken the role of Staff Engineer on a new team, User Systems. I’m particularly stoked for this gig, as it falls right into areas of abiding interest, including privacy-by design, personal data protection, encryption, authentication, credential management, and scaling a vital app for the whole business. Add that to the straightforward commute once the office reopens, and it’s hard to find something more ideal.

I truly appreciate the extraordinary experience of my ten years at iovation. I originally thought I’d stay a couple years, but was so engaged by the people and the great work we did that I kept at it. I learned a ton about product engineering, product design, and scalable architectures, but especially about working with terrific colleagues who made me a better person even as I tried to be of service to them. I will especially miss working with Scott, Kurk, Clara, Travis, John, and Eric — and countless others. I wish them all the best, and would enjoy working with any and all of them again anytime.

Now I’m excited to make new connections working with my amazing new colleagues at The Times. I expect we’ll collaborate on fulfilling work building super useful tools that advance The Times mission to inform and empower its readers. I’m delighted to be jumping on this ride with them.


We’re off to a great start, my love. I can’t wait to see what happens next. You and me.


Since June, as part of my work for PGX, I’ve been doing on-site full-time consulting for iovation here in Portland. iovation is in the business of deterring online fraud via device identification and reputation. Given the nature of that business, a whole lot of data arrives every day, and I’ve been developing PostgreSQL-based solutions to help get a handle on it. The work has been truly engaging, and a whole hell of a lot of fun. And there are some really great, very smart people at iovation, whom I very much like and respect.


So much so, in fact, that I decided to accept their offer of a full time position as “Senior Data Architect.” I started on Monday.

I know, crazy, right? They’ve actually been talking me up about it for a long time. In our initial contact close to two years ago, as I sought to land them as a PGX client, they told me they wanted to hire someone, and was I interested. I said “no.” I said “no” through four months of contracting this summer and fall, until one day last month I said to myself, “wait, why don’t I want this job?” I had been on automatic, habitually insisting I wasn’t interested in a W2 position. And with good reason. Aside from 15 months as CTO at values of n (during which time I worked relatively independently anyway), I’ve been an independent consultant since I founded Kineticode in November of 2001. Yeah. Ten Years.

Don’t get me wrong, those ten years have been great! Not only have I been able to support myself doing the things I love—and learned a ton in the process—but I’ve managed to write a lot of great code. Hell, I will be continuing as an associate with PGX, though with greatly reduced responsibilities. And someday I may go indy again. But in the meantime, the challenges, opportunities, and culture at iovation are just too good to pass up. I’m loving the work I’m doing there, and expect to learn a lot over the next few years.


So what, you might ask, does this mean for Kineticode, the company I founded to offer support, consulting, and training services for Bricolage CMS? The truth is that Kineticode has only a few technical support customers left; virtually all of my work for the last two years has been through PGX. So I’ve decided to shut Kineticode down. I’m shifting the Bricolage tech support offerings over to PGX and having Kineticode’s customers move there as their contacts come up for renewal. They can expect the same great service as always. Better even, as there are 10 associates in PGX, and, lately, only me at Kineticode. Since Kineticode itself is losing its Raison d’être, it’s going away.


I intend to remain involved in the various open-source projects I work on. I still function as the benevolent dictator of Bricolage CMS, though other folks have stepped up their involvement quite a lot in the last few years. And I expect to keep improving [PGXN] and DesignScene as time allows (I’ve actually been putting some effort into both in the last few weeks; watch for PGXN and Lunar/Theory announcements in the coming weeks and months!). And, in fact, I expect that a fair amount of the work I do at iovation will lead to blog posts, conference presentations, and more open-source code.

This is going to be a blast. Interested in a front-row seat? Follow me on Twitter.

Looking for the comments? Try the old layout.

The 411 Since Graduating from College

I recently got back in touch with a friend from college via Facebook. She asked me, “So David give me the 411? Whats been up with you for oh? 15 years?” Facebook’s Wall doesn’t seem to care much for multi-paragraph posts, but it kind of makes sense to post it in my blog anyway.

Julie and I moved to Florida in January, 1994 for a few months, and to Virginia the following summer. I started in the graduate program in the UVa Department of Anthropology in the fall. I also got on the internet that year and started learning how to program. We got married in May, 1995, in Orange, Virginia.

Two years later, I got my MA. Even though I was at UVa doing Near Eastern archaeology, by masters paper was based on research in the American Southwest. That’s just the way things shook out. The paper was later rejected by an archaeology journal. The peer reviews were really offensive, one in particular; some of the old guard of Southwest archaeology were really threatened by it. Didn’t help that I’d dropped the research part of the article before submitting. I was advised to do so, but it was clearly a mistake. C’et la vie. I mostly found it humorous and typical that academics could be such dicks to a student submitting his first peer-reviewed paper.

I have a PDF of the paper I keep meaning to blog. I should do that one of these days.

I spent a summer on Cyprus excavating a medieval site and the summer of 98 with my advisor for four weeks in southeastern Turkey. Kurdistan, really. My focus was supposedly architecture and urbanization, but in truth I enjoyed creating a database app for the project much more than counting pottery sherds. I went into the Turkey trip thinking it would determine whether or not I stuck to archaeology. I’d by this time had a full-time job for about a year doing systems and integration programming for the UVa medical center. It was fun, engaging work, and although I enjoyed the academic side of graduate schools (seminars and such), the culture of academia held no interest for me at all.

So I quit the program when I got back from Turkey. In 1999 we moved back to SF. I worked for UCSF for 9 months, then went to work for Salon.com. I was there a year, then went on my own, working on an open-source content management system called Bricolage that I’d developed with my colleagues at Salon. Life was great for us in SF. We moved into a loft in 2002 and really made the best of our time in The City.

In 2003 we were visiting Portland for a weekend just after Christmas and decided to have a real estate agent show us some properties to get a feel for the place. We’d been thinking about moving to Portland since ’96, and were still thinking maybe we’d do it in a couple more years. Julie’s dad had moved to Eugene, 2 hours down the road, so that was also a factor. To our surprise, we found a house we fell in love with. So we bought it, sold the loft, and moved to Portland, arriving in April, 2004. Our daughter, Anna, was born in May 2005.

And the rest is history. I’ve done a bunch of technology-related work over the last 10 years, mostly Perl and PostgreSQL programming. These days, I do PostgreSQL consulting as an associate in PostgreSQL Experts, some Bricolage consulting via my company, Kineticode, and have recently started a new venture with a friend to develop iPad app.

Portland is a terrific place to live. We love it here. Not gritty like SF, but still with the elements of urban living. We have a house close to downtown and I get around mainly by bike. Anna is doing great; she’s so awesome. She’s in a Montessori school that we’ll likely keep her in through 8th grade.

Julie is doing well, too. At UVa she became Art Director for the University’s Capital Campaign, and started a business, Strongrrl, while in San Francisco, mainly focused on graphic design for universities and non-profits. Business has slowed in the last few years, alas, as print has been dying and budgets have become restricted. She still does a bit of work, but also has started sewing and an Etsy store (kind of empty at the moment, will be stocked in the next couple of weeks) and this year doing deep genealogical research. We both work at home, but she does the lion’s share of the domestic and child-rearing duties. After 18 years together our relationship has deepened tremendously. We’re very happy together.

Anyway, life is good. I suppose if I were to write this again tomorrow I’d focus on a bunch of other things. A lot happens in 17 years, as you no doubt know. This is just a thin slice, with more academic stuff than I usually go into, but the context seemed to warrant it.

So what’s your 411?

Looking for the comments? Try the old layout.

Anna Turns Five

Blowing out the candles

Eight little girls gathered in May, 2010, to celebrate the fifth anniversary of Anna’s birth with a “Wizard of Oz”-themed birthday party.

Happy birthday, sweetie!

Looking for the comments? Try the old layout.

New Gig: PostgreSQL Experts, Inc.

A bit of good news: In addition to my ongoing Kineticode work doing Bricolage consulting services, training, and support, I have a new gig! I, along with Josh Berkus, David Fetter, Andrew Dunstan, and a team of other PostgreSQL experts, have started a new company: PostgreSQL Experts, Inc. I’m really excited about PGX, a cooperative of solid and experienced–dare I say expert?–people dedicated to providing exceptional PostgreSQL professional services, including consulting, training, and support.

Moreover, we have a solid group of experienced application developers, who are ready and willing to build your PostgreSQL-backed applications on Rails, Catalyst, PHP, or whatever environment you prefer. If it’s related to PostgreSQL, it’s what we do.

So get in touch or meet us at PGCon (we’re sponsoring!) or at OSCON 2009. I’m really excited about our company, and looking forward to growing it as PostgreSQL adoption grows.

Looking for the comments? Try the old layout.

I’m Ba-aack!

Sandy - your free personal email assistant

Yes indeed, I am back. Was I ever gone? Well, yes, I’ve been rather busy for the last 15 months.

But December 31 was my last day at Values of n. I’m really pleased with the work I did there. Sandy in particular, was a pleasure to work with. I really think that the work that Rael and I did with Sandy has been important work. Dare I say potentially paradigm-shifting? At any rate, I’m convinced that Sandy is really going to go places. If you haven’t signed on to become her client, do try. Though I will no longer be as intimate with her as I have in the past, we’re still going to keep in touch—I’m still her client. And Rael will do a great job pushing forward with her.

So why did I leave? Well, the truth is that, after Julie’s dad died in July, I found that I no longer had the resources to commit to the 80-100 hours/week required to work in a startup. It was just no longer that important to me. Don’t get me wrong, it was rewarding work, but my priorities completely realigned. It was vital that I continue helping Rael to get Sandy’s career launched, but once that was done, it was time for me to move on.

And what am I doing now? Well, first and foremost, I’m taking a few months off. I’m going to spend a lot more time re-acquainting myself with the two terrific women with whom I share a house, and just generally reset myself. Take a few deep breaths. Relax and enjoy life a bit. Sleep in now and then. That sort of thing.

That’s not to say that I’ll be sitting on my ass all the time. I have a very long list of things I want to do during this time, including catch up on my blogging (hence the title of this post), fix some bugs in Bricolage and help get 2.0 out the door, update my Perl libraries (I’ve got some great ideas for improving SVN::Notify), finally get all my digital photos organized, etc. I already spent much of last week revamping our mail system (I outsourced it to FuseMail). And all that’s leaving aside all the things Julie and I want to get done around the house. That’s the really important stuff.

But do watch for more blog posts in the coming months, too. There are a few interesting things I want to write about, and I’ve got some serious catching-up to do. Interested in following along on my adventures? Follow me via Twitter.

Looking for the comments? Try the old layout.

Five Things You Don’t Know About Me

Anna Flies

The reason it has taken me so long to write this entry, after Adrian tagged me back in February, is that I was waiting for a bit of news to become public so that I could talk about it. Of course, I didn’t really have time to make it public, so that took too long, too. But it finally happened, as you’ll see in Number 5.

1. I Lived on a Kibbutz

From August 1988 until March 1989, I lived as a volunteer at Kibbutz Dafna in Galilee Elian (upper Gallilee). This was one of the most memorable experiences of my life, and I’ve actually been meaning to blog about it for a while now. I arrived at the Kibbutz with only a few bucks in my pocket, but with a note saying that I’d been accepted as a volunteer. I moved into a small room in “Death Row” with another American who’s name I’ve long since forgotten.

Within a few weeks, I’d been selected by the barman, Johnny Howarth, to be his co-barman (not what I was called, but that’s memory for you). We ran a small bar just for the volunteers and interested Kibbutzniks in a small bomb shelter just across the roads from Death Row. Yes, really. We served Goldstar beer very cheaply (The kibbutz got it wholesale and we charged slightly more just to drink for free ourselves) and really bad vodka and rum to the few who wanted it. Most of the volunteers were English or Scandinavian, with a sprinkle of Americans and other sorts thrown in (we also had 10 Thais living with us for several weeks), and nearly all of us were 18-28 year-olds who liked to drink as much as possible and get laid. I wasn’t quite the hero that Chad was in my brief time running an establishment, but, ah, what a life!

About the same time I started tending bar, I also got a larger room that for all but three months I had all to myself. For those three months, I shared it with an Aussie, Andrew Jeffreys, with whom I became very good friends. He later (1990ish) came and stayed with me at my Mom’s house in Sacramento for several months.

I spent my time on the Kibbutz driving a tractor (only one volunteer got this honor—most worked in the boot factory), mopping the dining room floor with the giant electric mop, getting drunk, and dancing the night away every Friday night at the Kibbutz disco (later named “Domino”). Great life for a 19 year-old taking a year off from college. I was even “adopted” by a Kibbutz family, visiting with their two young boys, who were very big on Michael Jordan (hi Esti!).

I finally came home in the Spring of 1989 after a short tour of Egypt and upon hearing that my mom was very ill (she’s fine now, thanks). It was a good time to go, anyway, because I rather felt that my brain was beginning to rot. There is not a lot of intellectual stimulation in a Kibbutz environment. Still, it was an amazing time for me.

2. I Used to be an Archaeologist

Before I was an über geek open-source and Web app hacker, I was an Archaeologist. The summer before I went to Dafna, I worked for six weeks at Tel Dor on the coast of Israel as a volunteer. I loved doing archaeology. So much so that when I finally returned from Israel and sobered up enough, I went back to school with a vengeance, earning my BA in Anthropology from the California State University, Sacramento. In 1994, I started the graduate program at the University of Virginia, intending to earn by Ph.D in anthropological archaeology. I participated in excavations in Israel (three more seasons at Tel Dor—I met my [now] wife, Julie, there in 1992), Cyprus, and southeastern Turkey (Kurdistan, essentially).

I really enjoyed graduate school. Reading journals and writing essays really appealed to me, and the vigor of the debate in a graduate seminar full of smart people was absolutely invigorating. I finished my three years of course work, picking up my MA after two, and continued auditing graduate seminars a fourth year, just for the hell of it (I particularly enjoyed The Anthropology of Science and the archaeological theory seminars).

But as I started casting about for a dissertation topic, I could find nothing that really appealed to me. What I really enjoyed was debate and theory (hence my nickname and the title of this blog), and counting bone fragments the size of my toenail just didn’t do it for me. I was a theorist among a gang of Michigan-trained empiricists. And I agreed with them that I needed to do something “real” on which to build my career. But frankly, the problem was that such things just did not interest me.

The summer following my fourth year, I accompanied my advisor, Pati Wattenmaker, to Kazane Höyük, outside of Sanliurfa, in southeastern Turkey. At that time, I already had a job for the University’s medical center doing integration programming in Perl, and was getting my first experience with databases (Access and SQL Server). Going into the project, I suspected that I was done with archaeology, but the fact that, after we came in from the field each day (I have always enjoyed the excavation part of archaeology), I found much more pleasure in creating an Access database for the tracking of vast quantities of data than I did in plowing through, categorizing, and entering in that data (read: counting pottery sherds).

So in the fall of 1998, I left the program ABD, and in the summer of 1999, Julie and I moved back to San Francisco.

3. Portland

Julie and I moved from San Francisco to Portland, Oregon, in 2004. Of course many of you already know that, but do you know why?

The reason is that we were looking for a change of lifestyle. We loved our SoMa loft in San Francisco, but not the neighborhood so much. There are only so many times we could tolerate coming home to find that someone had pissed on our garage door. And don’t even get me started on hypodermic needles. Julie and I wanted to start a family, and much as we loved our home and lifestyle in San Francisco, we knew it wasn’t right for bringing up a child.

In truth, we had thought about Portland since 1996, when I was still in grad school, and we even visited for a few days. When we visited again in December of 2003, we had a real estate agent show us some homes, just to get a feel for the neighborhoods and what not, with the idea of maybe moving to Portland in a few years. But she showed us a house that we fell in love with, we mad an offer, and the rest is history.

Which leads me to…

4. Anna

Anna Flies

Just a few months after our move to Portland, Julie got pregnant, and our daughter, Anna was born on May 13, 2005. She’s nearly two now, and she’s the light of our life. What a joy this kid is! She’s smart, has a great sense of humor (yes, an 18-month-old can be funny!), and keeps us on our toes. I couldn’t be happier; we lucked out and got a real gem of a daughter. We expect to have fun with her for the rest of our lives.

5. Values of n

Here’s the big, recent change: I now spend my days as a Ruby hacker for Values of n, working with my friend Rael Dornfest building Stikkit and, more recently, i want sandy. Kineticode is still around, accepting only Bricolage support contracts—no more consulting. I remain the maintainer for Bricolage, but I’ve thrown down the gauntlet to get other people to step up an start to drive the project more.

So, Ruby, eh? And Ruby on Rails? Yes. Rael chose to use these technologies before I started working with him, and they were the right choices. And have I found the Ruby religion? Well, no, not really. There are quite a number of things I like better than in Perl, but none better than what will be in Perl 6 (someday, sigh). What I miss most from Perl are sane Unicode support, fantastic regular expression support, and lists (yes, lists—as opposed to arrays).

And what of Ruby on Rails, you ask? It seems like a fine Web application development environment. The controllers and views are nice. But I’ll say no more. You’ll have to buy me an awful lot of beer for that. I’ll take Goldstar.

I now tag:

Looking for the comments? Try the old layout.

First Programming

This morning, my six-month-old daughter attempted to write her first piece of code:

xxxxc xcxv cw   ffnygzh    vn6yJy              b         ]cve23ewr gd v gggggggbBB 4xcbbb nhyntbbbbbvBY%TGcv bbbbbbbbbbbbbbCCCBBBbccccb vvvvvvvvc b bv                                                                                                                                                                          ttttttttttttttt6666666666665nnmb nbvvvvvvvvvvvvvvvvvvvvvvGbhggvvv s vcxffffffffffffffffffrfc vxzzzzzzzzzz fffgvb nbn sdexzzzzzzzzc vsbreeeddfb  vgg4bh bvvvvvvvvvvvvv

The cool thing is that, if it were properly indented, it would probably run as Python code. ;-)

Looking for the comments? Try the old layout.

Welcome Anna!

Anna Lily Wheeler

Anna Lily Wheeler

As many of you know, Julie and I had our beautiful baby girl on May 13, 2005 at 10:10 am. She was 6 lbs 4 oz. (2800 g) and 19 inches (48.25 cm). Her name is Anna Lily.

Looking for the comments? Try the old layout.

The Teenage Brain


Steven: Did you see that article in the Sunday Times about the teenage brain?

Julie: What, you mean they found one?

Looking for the comments? Try the old layout.