Intro: Up next on episode 59 of StackOverflow Joel and Jeff sit down with Damien Katz to discuss unconventional databases, unconventional programming languages and taking on unconventional programming projects.
Atwood: Unless someone drops the F-Bomb or something crazy.
Spolsky: Right, alright.
Atwood: <laughs>, so should we introduce our guest, Damien Katz...
Spolsky: I think we should.
Atwood: ...of CouchDB fame?
Atwood: Yeah (Laughs).
Atwood: So thanks for agreeing to be on the show and we should give a little bit of a background about Damien. And actually one of the reasons... I've known Damian, well known is a very loose term, but I sort of discovered his blog like a long time ago, gosh, like back in 2005. When did you start your big advanture, Damien? What was the timeline for that?
Katz: I think it was around 2005. I think it was 2004 when we decided, and I think it was 2005 when we actually moved to Charllete.
Atwood: Yeah. So I kind of discovered you right at... near the beginning of your journey. And at first, let me tell you, I was very angry with you. Because this was... At the time I was reading your blog I was in a job where I had to work with Lotus Notes every day because it was email system. So I found as, oh yeah, I found this developer, I hate this guy, I hate this guy. He worked on Lotus Notes and so it was way from me to take out my corporate rage on you. But then I felt bad because you are actually kind of a nice guy and kind of an interesting blogger, so I grew to love you. I think is what happened.
Katz: You know, I get that a lot about, you know, people with their dislike of Lotus Notes so... I'm always kind of nervous, you know, about that...say...well you know it's... Well I don't want to dump on it because I work hard on it and a lot of people work really hard on it and it is the way that it is for a reason but I also know it's also in kind of a big bloated mess and I understand your frustrations.
Spolsky: I'm wanna go out on a limb and say that Lotus Notes rocked for its era and that the reason people hate it is because they were forced to make it do things that it couldn't do because it had been sold at the enterprise level with all kinds of, you know, Lotus sales people.
Katz: Yeah, I sort of think it was a little bit ahead of its time. They had to invent so much stuff.
Spolsky: Yeah. Imagine, like the web didn't exsit, right? So you couldn't do any of the things that you need...
Katz: Not only the web didn't exist, but proper networking... the internet.
Spolsky: Oh right, right. You couldn't even assume TCP/IP because that wasn't yet...
Katz: I don't think they supported TCP/IP in its first versions. But they had to write, like, all their own modem drivers and stuff like that.
Katz: So that PCs could dial in to servers to replicate and uh...
Spolsky: I remember once getting in to Bankers Trust a day after somebody had accidenty emailed a gigabyte file using Lotus Notes, which Lotus Notes then tried to synchronize to all the Bankers Trust sites around the world - completely saturating their transatlantic cable in the middle of the trading day and making it impossible to do trades for about 24 hours.
Spolsky: They were very upset about that, but they were really just using it - I mean there they were just using it as email, and there were some databases that a few people had built. For a lot of the companies that installed it was just sort of an email system.
Katz: Yeah, I don't want to talk to much about Lotus Notes, cause [incomplete]
Spolsky: Yeah, let's not. We want to talk about CouchDB.
Atwood: Yeah, well I was gonna have a transition point. Actually, there is this presentation Damien gave, 'CouchDB And Me' at Ruby Fringe which is excellent, and I'll link from the show notes. But I found it very inspirational, and Damien knowing a lot of your story, this gave me, sort of the missing pieces to fill in. I sort of had bits and pieces of the story, but hearing the whole story from you was great. And I really... that was a great, great talk. And one of the transition points that you put in was - that I liked - was like you had worked with Lotus Notes, and there were things in Lotus Notes that were actually good ideas - that were kind of being buried under loads of crap. And your idea was to take the good stuff from Lotus Notes and leave all the crap behind. And that's a feeling that I think anybody that has worked on a large system - has that feeling, of like, there is some good stuff in here, but its just, there is so much annoying bad stuff that comes with it - that if only I could start another company, take the really good stuff and just concentrate it and distill it down to something really awesome, I'd have a really good product. And I think that's what you did with CouchDB, right?
Katz: Yeah, and like you could open an alert box and that was like wow. [incomplete]
Spolsky: And it sort looked like a toy language to so many that it didn't get...you know. It has started as a sort of, I guess, a Sheme implementation.
Atwood: Yeah, that's something I learned from a podcast was that the guy who created it was like a Scheme guru or somehting.
Katz: Yeah, I didn't know that.
Spolsky: It's got the functional programming, it's got the lambdas, it's got some nice stuff in there.
Atwood: You know, it's funny you said you didn't know SQL either. [incomplete]
Atwood: ... What a great book Code Complete is. In your presentation you said at one point you have analysis paralysis - where you're working on your own thing, there's nobody telling you what to do, and you reach a decision point where you're like "I can't decide what I should be doing or how I'm supposed to be doing this" - there's noone telling me what to do anymore and it's kindof like you don't know what direction to go in, and I believe the slide title was, "Panic," and your solution was to buy a copy of Code Complete. And I'm just imaginging the smoothing, calming voice of Steve McConnell ...
Spolsky: ... 23621
Its got the worlds best answer...
Atwood: I think that every geek at some point goes through this thought process: I got tons and tons of memory, maybe I can turn of my page file. I actually have a blog entry about this. ... The punch line is: it is never worth it.
Spolsky: you have not thought about it as much as the people at Microsoft. First, a page file does not work the way you think it works.