View  Info

Podcast 023

[incomplete - please help transcribe]

Intro, advertising

Atwood: You know there was some criticism of our previous podcasts because I think people got mixed up about who was who.

Spolsky: OK, well I'm wearing a little... I'm wearing a blue striped shirt with thin little yellow horizontal stripes. 

Oh my God, they're vacuuming again. I can't believe it!

Atwood: I thought things would have calmed down at the office by now.  So is it still chaos over there?

Spolsky: It is still chaos over here.  I've made it a little bit better by shouting at the furniture guy.  What they did is: they had to move a desk about a 100 feet so that the building could polish the floor under the desk and then they had to move it back.  And they sent us a bill for $1300 for that.

Atwood: What?

Spolsky: And then I found out, after already being angry about this, that they only sent one person to move this desk and it was too big for one person to carry so he got our system administrator to help him. [laughs]

Atwood: Well that's great.

Spolsky: So they send a guy over.  They guy isn't even equipped to do the one thing that he is supposed to do.  He makes us do the work.

Atwood: And charges you $1300 to it...

Spolsky: Yeah

Atwood: ...on top of all that.  Nice.

Spolsky: You know that I would say this is typical New York unions, buildings, rip-off, mafia, etc., except that its not really typical.  This is the first time that anybody has really tried to rob us so gratuitously.

Atwood: Right.  So I assume you're not going to that that lying down. I assume there's some remediation policy here.

Spolsky: Eh, the remediation policy is that we never write that check and problem solved.[laughs]

Atwood: [chuckles] Well that's good. I have a vested interest in all this stuff being resolved before I get there because I will be there tomorrow...

Spolsky: Its not going to...

Atwood: will the rest of the StackOverflow team.  All three of us.  So.

Spolsky: Well here's what's working: XBox is working, projector is working, screen is working.  Trouble is you have to wait until it is dark to actually play it.

Atwood: Right.

Spolsky: Because the area where we put up the projector is, shall we say, sun-drenched.

Atwood: Heh heh heh.

Spolsky: And I, and I...

Atwood: I like sun-dappled personally.

Spolsky: No I wish it were just dappled but its drenched.  It's drenched.  You can't really see the screen and this was semi-intentional because I didn't really want people playing Rock Band because my office is right next to the sun drenched lunch area.

Atwood: Well I like that you have your priorities straight.  The first thing.  We talk about having the office in order.  The first thing you go to is, "OK how is the Rock Band set-up doing."  I like that about you.  I like that you've identified that already as the priority for my visit.  So I think we are on the same wavelength here.

Spolsky: What else do you need?  Actually let's talk about your visit here for a second.

Atwood: Let us do that.  Can I say that I was very surprised.  So I've had some e-mails exchanged from Charles Petzold.  I am shocked that you have not met Charles Petzold.  You both live in the same city.

Spolsky: Yeah.

Atwood: He lives two miles from you.

Spolsky: That's true.

Atwood: And I am stunned.  I for sure - I didn't even ask you because I knew, "oh surely he has met Charles Petzold. They live in the same city. You know they are both notable figures in the development community. Surely they've crossed paths at some point."  But you've never met him?

Spolsky: Well he's really a Win32 guy.  And I... [laughs]

Atwood: He doesn't know C?  Is that what this is about?  He doesn't know C.

Spolsky: He knows C.  Of course he knows C.  Programming Windows was-

Atwood:  All real programmers know C of course. You know this is a good opportunity because on a lark I just mailed him and it turns out he has a thin window for us to have lunch with him and that's going to be tomorrow so I'm excited about that.

Spolsky:  OK, well that will be the first time I ever met him. We should talk about the rest of our agenda a little bit because we have this, um, what's the word, film-maker guy making movies in our office again.

Atwood:  So now the pressure is on, I have to look good because I'm going to be on film now.

Spolsky:  Mm hmm

Atwood:  I have to like bathe and shave and all those things.

Spolsky:  Vertical stripes.

Atwood:  Vertical stripes! [laughs] OK, well I arrive super super early like 'coz I'm doing the whole overnight flight thing, I leave at like 9pm tonight. So I get in at like 5:30 and I have like literally nothing to do because the other members of the Stack Overflow team, I think Jarrod gets in at like 11:30 so I'll be in like five hours before him. Probably before anyone at Fog Creek is even awake I'll be in New York City.

Spolsky:  This is why it's called the red-eye. Because you don't really sleep on the flight - do you, uh will you be able to go to your hotel at that hour or are they like, "Yeah, come back at two o'clock"...

Atwood:  Yeah, I could hang out there, I can just go to the lobby and hang out, I mean you know me, as long as I have my laptop and internet I'm pretty much done, I don't really need any other external stimuli. But yeah, I think probably what I'll do is, I guess come by the Fog Creek office 'cause I've got nothing really else to do...

Spolsky:  There's not really going to be anybody here to let you in at 5am.

Atwood:  Not at 5:30! I mean at a reasonable hour like say 9am. I'll just mill around doing whatever. [laughs] I didn't mean I was going to show up at 5, I'm not crazy you know.

Spolsky: I'm trying to think what to tell you to do in New-York for four hours when all the normal people are asleep.

Atwood: Ha, I will just fend for myself. That's my own fault; I thought I was experimenting with this overnight flight stuff and see how it works out. But I guess I should see how early that really is.

Spolsky: Yeah. The all overnight flight thing is just an attempt to use aircraft that otherwise would be sitting on the ground.

Atwood: Right.

Spolsky: And it sounds good but I just never do that when I have a choice.

Atwood: Well hopefully I'll be able to sleep. I'll get up actually very early today, so. Hopefully, I'll be sleepy later, and we will see how that works out. But in term of first day stuff, so Jarrod arrives like around eleven thirty, and then Geoff arrives at like three, and we gonna have lunch with Petzold, and then what else did you wanna do ? I'm getting a copy of QuickBooks. You gonna teach me how to use QuickBooks, I know you are very excited about that.

Spolsky: Yeap. We should do that on Thursday. Well, what else do you have to do in town beside a... you are are on tourism, I guess

Atwood: I haven't heard back from the other people I emailed yet, in term of scheduling stuff. I do have... Did I tell you the whole... I haven't told you this. I have this opportunity to speak at EclipseCon, which is in March.

Spolsky: Ho, that sounds like something I did once.

Atwood: Maybe. But the cool thing about this is this is not just me, because that would be boring. It is actually me and Clay Shirky. You know, Clay Shirky is one of my heroes.

Spolsky: Oh...

Atwood: Yeah I know, it's awesome. So we get to talk about like building communities online and I get to talk about StackOverflow, you know, and all the lessons we've learned and, get to present with Clay. Obviously he's an expert so. That's one of the people that I have emailed actually, because I thought that would be good, because he is from New-York city as well. So we could A) show him the site and B) talk about the thing we are going to do together in March, because he needs to see the site to have some context. I mean I did meet him and talk to him about this earlier a few months ago, I think I mentioned it on the podcasts. But that was before we had sort of even going to beta, so there's really not a lot to show him. But I would love to show him in person. So we'll see if I'll hear back from him, I do not know.

Spolsky: Ok awesome. Yeah. And then, okay... so, you'll see... the thing is if we ever do anything... Have we talked about the film on this podcast?  Have I told you about this film?

Atwood: In the Business of Software, at the tail end of that you talked a little bit about it.  You spent some time on it.  You talked about it some.  So I think if people have listened to the last, say, two or three podcast will have heard some.

Spolsky: We're going to make this movie.  We're making a movie.  There's a filmmaker running around.  Anything we do that's photogenic [laughs], in other words, conversations between people, anything but sitting at a computer and typing, they're going to want to film.  And there's actually going to be two cameramen on Thursday which makes it better if you're going to have a little meeting or hang out, play Rock Band.  That really doesn't belong in the film, it'll be a long enough film.  I wanna get Petzold, I want to interview Petzold for this movie, but I guess I'll ask him tomorrow at lunch, if that's OK.

Atwood: Well, his schedule is kind of weird.  This is pretty much all we're going to get.

Spolsky: No, I know.  But I know he lives in New York.

Atwood: Oh, that's true.  Oh, you mean later.

Spolsky: Yeah.

Atwood: Oh, sure.  Down with that.

Spolsky: Yeah.  I talked to him about the programming and stuff.  OK, so that's the-- I'm crossing things off of my agenda.  You know how Jon Stewart always like, crosses things off and...

Atwood: He does that scribbling.  He scribbles on the paper.

Spolsky: Right.  All the late night TV people always have fake pieces of paper that they pretend to be checking things off of.

Atwood: Yeah, I never really understood that.  Because I think they have a script?  Isn't it like something they have to be saying?  It's like a teleprompter.

Spolsky: Of course.

Atwood: That's just a prop at that point.

Spolsky: [in a Jon Stewart voice] "It's just a prop."  Yeah, I don't know where it came from.  They've probably been doing it since-- David Letterman did it.  They've probably been doing so long it goes back to their making fun of somebody who's like the anchorman on the ABC evening news in 1959 or something, you know?

Atwood: Right.  I was always freaked out because I would learn that the TV newscasters, stuff like they wouldn't even wear pants -- that always freaked me out.

Spolsky: Of course they wore pants!

Atwood: No, they were like jeans or something.  I'm exaggerating.  They were like jeans, they would just have the top.  I don't even know if these are actually real.  Some site online -- I have no idea if this is real -- a parody, probably a parody.  It was something like a suit you could put on -- it was just the front part of the suit, so you looked like you were wearing a suit.  It's like on the back there's nothing there.  It's only like you're the top half of your torso.  So if you're in a webcam, it's like, "Let me suit up for a meeting, John!"  You would just layer this thing on top of you.  It's like a classier version of a tuxedo tee shirt, which is like a timeless look.  Right?  Like that.

Spolsky: I was wondering about that.  You can, when you're watching on television, if you look you can tell if it's a real suit in some way.  I mean, you can see for example that the jacket material is moving independently of the tie, which itself is moving independently from the shirt a little bit when the person moves.  So you know it's not just a sprayed on... Well I was just wondering about this particular thing just about a week ago so I looked closely and realized they weren't completely faking it.

Atwood: But you didn't realize they weren't wearing any pants.  That's what you didn't...  They have no pants on.

Spolsky: Hmm.  That's disg...

Atwood: [laughs] Yeah, sorry.  I don't even know why I went there.

Spolsky: Um, OK.

Atwood: Anything else schedule-wise?  The first day I think we're good.  'Cause-- are we going to have a dinner as well?  Like all of us?  Did you set that up?

Spolsky: Yeah.  All we're talking about is meals!

Atwood: Well that's what it's all about, Baby!

Spolsky: Yeah, it's on my calendar.  I didn't set anything up.

Atwood: Good.  Yeah.  That's good.  So, you know, it's really a dual-use trip for us.  One, it's a reward for the team for working such long hours on StackOverflow for basically crap pay.  So they get to experience New York.  And also, obviously for biz stuff, where we can come down and talk about what we're going to do for StackOverflow and where we want to go with it, where it is, and sort of the state of the union in terms of StackOverflow.  So really, as long as we meet those two goals it doesn't have to be like a death march or anything.  It can be pretty low key.  Well we have quite a few days, 'cause we have part of, I guess half of Wednesday, which is tomorrow.  And then Thursday, Friday.  And then we leave late Sunday.  So.

Spolsky: Oh, you've got tons of time.

Atwood: We have tons of time.

Spolsky: How's the weather?  The weather's really nice today.  If the weather's like it is today... Uh, I'm looking it up, the forecast.  Rain, rain, rain.  OK.  Well, if the weather were going to be like it is today, it'd be just perfect.  This is like a little bit cool.  So you can walk around and...

Atwood: Cool!

Spolsky: But it's clear.

Atwood: So I've been to New York once, New York City once, with my wife in December.

Spolsky: Yep.

Atwood: That's the only time I've ever been.  I don't think Geoff or Jarrod have ever been.  So they're newbies.  So, actually I'll put this in the show notes.  I might even make a blog post out of this.  But if anybody has suggestions for specific things, programmery things that we should do that would be cooler.  I don't know.  Just anything, honestly.  We're up for anything.  I'll just leave that open for comments and see if anybody can come up with some good things for us to do.

Spolsky: Programmery things in New York.  Oh yeah, go to the Museum of the the C Program -- oh wait! you don't program [in C.]

Atwood: [laughs] Oh, maybe there's a punch card museum.

Spolsky: They might have a children's exhibit or something like large print for people that don't know about pointers.

Atwood: Sometimes they like do geek dinners, you know, geeks who do blogs or whatever would want to get together with us and stuff.  And I know at least one person on Twitter has expressed interest.

Spolsky: Yeah, put that on a regular blog.  Put it on Coding Horror and you'll get a bunch of hard[-core] coders... Horrific.

Atwood: That's true.  But you know the way I look at this now is like, if you're not paying close enough attention to Coding Horror to know that StackOverflow is like this thing that we're doing, you don't really deserve to know about it at that point.  I don't really feel the need to put a bunch of arrows pointing to this thing.  I feel like the people who need to know about, find out about it.  You've heard my rant on this in the previous podcast.  But, yeah.  I do like having the separate worlds there because I feel like Coding Horror is a much broader audience than StackOverflow.  StackOverflow is really for the elite developers in my opinion.

Spolsky: Agreed. Um, OK.  Let's see, what else do I have on my list? Oh, here's another thing.  So I'm writing this article for Inc. Magazine.  I guess I should pop it up.  Where do I - where do I - store those things?  Uh, for... I don't know.  Um. If it's due on Friday, it's probably for the, you know, 2013 March issue, or something, because...

Atwood: [laughs] That is true, they have heated... [unintelligible] it's crazy

Spolsky: I actually have this listed as the November edition.  So, I'm writing about StackOverflow, and what I wrote, I wrote this article - see, it's driving my editor crazy because I don't, I never conclude anything, I just tell a story.  I never have some big old conclusion like "If you do what I did, you'll make $768,243.00"

Atwood: But that's, that was your goal.  You explained to us that that's what you wanted to do.

Spolsky: Exactly.

Atwood: So...

Spolsky: It drives my editor crazy, and then he sends me an email saying "Yeah, but, but, what was the conclusion of this?  And if you're unwilling to write that, at least tell us what you felt about it."  So, anyway, the theme of the story, actually - I won't go into too many details -- is that basically, we did seven things wrong with StackOverflow in the development.  We made seven mistakes.  Uh, you wanna hear what they are?

Atwood: Well, uh, obviously I'm all intrigued now.

Spolsky: Yeah.  OK, so the first is, uh -- that I didn't really -- when I did this venture with you, I didn't really know that you could program.  Like, I never made you sit down and show me that you could code.

Atwood: Right.

Spolsky: OK, so there's one.  You know, because I'm all about, like, you can't hire programmers without knowing that they can program.  And you didn't find out that I could program.

Atwood: Well, I would argue this is not a traditional hiring relationship, either, so some of those rules don't apply.

Spolsky: OK.  Uh, number two: uh, co-location.  I mean, we had programmers - gosh, all over - in just about every mountain range in North America, we had programmers stashed away.  Basically, there's nobody on - there's no two people on StackOverflow in one city.

Atwood: That's true.

Spolsky: And I'm a, I'm a big believer in being co-located so that people can communicate.  Uh, we never really had a spec, you know, and I'm, I'm all about the specs.  Uh, we didn't use a bug-tracking database; that's kind of embarrassing to me. Um, we didn't have, we didn't have any -

Atwood: That's because we don't have any bugs, Joel, we just don't have any.

Spolsky: [laughs]

Atwood: That's how good it is...

Spolsky: Yep.  Yep.  Yep.  Um, wait, there's one, I think.  Oh, never mind; you fixed it.

Atwood: [laughs] That was a feature, obviously.  A feature...

Spolsky: We didn't, we never hired a tester.  We didn't have, like a QA person or a QA department.  We just let the world test for us.  And we didn't do anything in terms of creating a software schedule, um, so the software schedule was, uh, you know, like a list - at the very minimum - a list of what you're going to do and how long those things take, and, at the maximum, break it down to small features.  You know, we just sort of said "six to eight weeks" and then it took about twice that.  But that turned out to be OK.  And, uh, was that seven?  Well, that was six.  I guess the seventh, really, is that it's kind of one of these eyeball businesses.  And that was, you know what I mean, like, we'll get a lot of eyeballs, and then...

Atwood: Yes.

Spolsky: Yay, and then good things will happen. And uh, that's uh... Eyeball businesses are businesses where you don't really - it's not quite clear how you're going to monetize them -- allthough it is sort of clear to us.  But, uh, this sort of dot-com boomy -- seems like a mistake, to try to make a business based on eyeballs.  Um...  Now, needless to say, StackOverflow is a huge success despite violating every single one of these rules.

Atwood: Right.  Well, I think there's - there's, this is a different kind of venture.  This is like something that runs in parallel to your, your regular business that you have going.  I mean even for me it's kind of parallel, like I was explaining with Coding Horror, it's really kind of a different audience to me even than Coding Horror.  There's obviously overlap, um, but this is something that runs in parallel, because if this is, turns out, had turned out to be a total failure, you know I, I love doing Coding Horror and I would continue to do that.

Spolsky: Yeah.

Atwood: So what I think you're doing is sort of sending out spores into space, right?  So they need survival characteristics that I think are different than I think your mainline business.  Even for me with blogging, it's different.

Spolsky: [clang] So the question is-- my God, it's noisy here-- is it that this is a different kind of venture because we didn't really care if it succeeded, because for both of us it was sort of a second thing and we could afford to take more risks, and so we were able to be just sloppy about this stuff?  Or is it really the case that these kind of practices that I described is not appropriate for these quick, you know, 1.0 web startups-- where you just want to throw something out there and see if it sticks?  Or is it the case that-- well those are two possibilities.  I guess the third possibility is, is it just the fact that you and Jarrod and Geoff are all so smart and you got things done, that "Smart and gets things done trumps all," which is the theme of the article I think that's going to be "Smart and gets things done"?  There's almost an unlimited number of scruppy things you can do.

Atwood: Right.  So I'm going to be forced to agree with you, that you're calling us really smart.  I going to have to agree with you on that.  Regretfully, I have to agree, I think, that's the reason.

Spolsky: You can be modest and give all the credit to your coworkers.

Atwood: No, no, no.  I'm just, I'm kidding, I'm kidding.  I think -- gosh -- I think... I got a little sidetracked.  I agree with that conclusion.  I think it's all about personnel.

When somebody actually asked a question on StackOverflow of all places, they were like, "what factors make a project successful?"  Like what metrics, you know, lines of code, you know, type of code, all that stuff.  And the thing he left off his list, and I pointed out, was that the big thing you left off was the people, right?  Like if you have really good people on something, that turns out to trump almost all the other factors.

And conversely, if you have like endemic personnel problems, you had like a really bad manager, like a really bad apple, that can destroy, you know, the best plans you could possibly conceive of.  So I think everything I do, you know, starting from about a year ago is about putting myself in the position where I work with the best people I can find, right?  I think that's everybody's goal.

But I think... I guess I was lucky in that I hooked up with you -- which was great, you're one of my heroes.  And then the people I respected greatly from previous jobs, like people I would have hand-picked to work with on any job, I was able to get.  Right?  So I think that would have to be the number one success factor.

And then beyond that, to me it's kind of like, and I hate to even say this because it's going to be weird, it's kind of like art, it's like, you know it when you see it.  Like, it takes the time it takes because we're building something that we love, right?  That we are intimately familiar with, right?  Like certainly long-time blogger, you spent a lot of time on Reddit, you had your discussion forums.  These are the topics we knew intimately, right?  I could tell you just horrifying tales of me as a high school teenager logging onto Compuserve and just learning about that whole world.  Like you had your crazy IRC things, I had like basically, hitting on middle-aged women on Compuserve, right?

Spolsky: They had women on Compuserve?

Atwood: Well, in theory.  I don't actually know if there was women.  I mean, who actually knows?  But my point is that we've been immersed in this stuff for a long, long time and it's kind of like art in the sense that I want to produce my take on how I think things should be for our problem domain.  For programmers, not for the whole world, not like, you know, WikiAnswers, or whatever.

Spolsky: Right.

Atwood: For programmers.  So it was kind of almost like an art endeavor.  I think that's why I resisted a lot of the schedule stuff early on -- was that "I just want to build something that I love, and I don't want to be really pressured about it."  Like I want to build it... It'll get done.  But I don't want to feel hassled, like I'm at a real job.  [laughs]  That's going to sound really bad.  And enjoyment is what drives it.

When I talk to Jarrod and when I talk to Geoff, you know they're not really about what I pay them, which is very little.  They're building something -- and you've pointed this out -- more people will use the code that they're writing than probably anthing -- I can't see -- for the rest of their lives.  This is a big project, right?  What else are you going to build that would touch this many people?

Spolsky: Uh-huh, uh-huh.  I should look at that.  Have you looked at the Google Analytics lately to see what's going on here?

Atwood: I have.  The first day was really big.  Obviously.  And then we trended down the whole week.

Spolsky: Yeah, that'll always happen.  And actually it's been going up, like it hit sort of a low point and has been going up.  It's really hard to see, but that's always been my experience when something is working, is that you get a big burst of publicity, so that happens at the beginning.  And if it doesn't work it's just down forever.  You will only trend down.  If it is working, you'll hit some low after the burst of initial publicity and then you'll slowly build.  Which as of today, it looks like we're doing.  So basically the last three days we've had 22000, 28000, and 49000 visitors.  Wow, that's pretty good.  49000.

Atwood: Right.  Every day, almost every day, and I'm not exaggerating, I get an email from someone who really had a positive interaction with StackOverflow.

Spolsky: Uh-huh, me too, me too.

Atwood: Yep.  Either they got exactly the answer they wanted, really fast, or they just like the system.  Like they like the badges system, they enjoy interacting with the way we built the site, the really low friction nature of it.  So there's all these indicators, certainly, even if we didn't have metrics.  I think the one metric that mattered to me was like, "Would I use my own system?," right?  Like all along I was, "I want to build something that I would use."  I wouldn't actually care if anyone else used it, right?  I just want this system to exist in the world.  And that was always my metric.  It's very gratifying to hear that other people have similar experiences.

Spolsky: By contrast, thinking about some of the other things, I was just reading last night this review on Slate of Knol, is that what it's called?  Which is not, it is  It was created by this guy Udi Manber, I think. Could that possibly be his name?

Atwood: Udi Manber, isn't that a character from South Park?  ManBear? [almost, see ManBearPig]

Spolsky: Yeah, that is Udi Manber who was the A9 guy at Amazon.  Do you remember A9 Amazon, the search engine?

Atwood: I do, I remember that.

Spolsky: And they hired that guy away at Google and probably much of his team.  And they created this Knol thing and Slate just had a pretty devastating article saying that pretty much anything you look up on here, the content is pretty much awful compare to Wikipedia, which is what they kept comparing it to.  And I don't if the goal was to replace Wikipedia or be kind of a different flavor thing but it's certainly not working, whatever it is they're doing over there.  Most of the reviews of Knol are negative.  Most of the reviews of Cuil were negative, C-U-I-L.  And so the fact that most of the reviews of StackOverflow, you know, "I tried it for what it was intended to be used for, and it worked."  Well, [which] is I think great news, I think we're doing better than either of them. So yay us. This is the self-congratulation podcast, we can call it "Joel and Jeff--".

Atwood: All about us and why we're awesome and why you should listen to us explain why we're awesome.  But, no, it is really gratifying.  Because, again, I want this system to exist for purely selfish reasons.  But I think every programmer should want this system to exist, again, for their own reasons, right?  Like, they just want answers to their freakin' programming questions.  They don't want to deal with a lot of stupid overhead, a lot of form logins, or searching a bunch of stuff.  They just want a quick and dirty way to put in a question and get a reasonable answer.  So I think it's a very selfish desire and I'm just glad to accomodate it, right?

And the fact that people enjoy it is a testament to the communities that we've built up of, you know, really high-quality programmers that followed us.  And they sort of followed us to StackOverflow.  I think in a very real sense the success of StackOverflow, if it ends up being ultimately successful, is a testament to the community as well, right?  Like having, you know, a really smart community of people sort of follow you to the next venture and seed it.  So you didn't have, you know, a place you go when see it's just filled with idiots, right?  You went to this place, and even if we had built something that sucked, honestly, even if it had sucked, ... I think we did OK on the fundamentals.  Let's say we hadn't.  Let's say we built crap.  There would still be some really smart people hanging out there trying to see what it is we're trying to do.  So I think we would have had to try extra hard to fail, in my opinion, because of the strength of our audiences.

Spolsky: So we rule because y'all are smart.

Atwood: [laughs] It's just nice to have peers that follow you around that you actually respect, it's really nice.  I've always been amazed on my blog like the comments I get.  It's amazing.  There's these communities that form that don't think exactly like you do but you tend to attract like peers, I would say, peers that are at your level plus or minus twenty percent.  And I really enjoy that.  That's one of my favorite work experiences.

One thing I'm actually very bad at -- actually some people are good at this -- like the whole mentoring thing, you know somebody that's really -- and when I say "below you" I don't mean it in the derogatory sense, I just mean that they don't have as many years experience under their belt or they're still learning the system.  I'm very impatient and intolerant of newbies, basically.  So I'm a horrible, horrible mentor.  But I really enjoy the flip side of that, as I enjoy tremendously working with people that are near my level.  And I do recognize that there are people who are actually much better than me as well.  So I'm not saying that I can just go anywhere and work with anyone.  But it only really works for me when I have peers that are a similar level to me.  And that was one of the interesting things about the blog, you tend to attract people near your level.  And I think maybe that's happening at StackOverflow as well.

Spolsky: Let me take a question from a listener here. 

Jemma: Hey Jeff and Joel, this is Jemma.  I'm a computer engineer from Santa Fe.  I was wondering how you guys handle like newbies and stuff.  'Cause I'm kind of a newbie.  I know Java but I'm learning C now.  If I were to ask simple questions about C am I going to be booted off the site?  Like how do guys deal with people who don't know about the programming language they're asking about but they legitimately have actual questions about language that they probably wouldn't find anywhere else.  Alright, thanks.  And I really enjoy the podcast.

Atwood: It's like we almost planned that.

Spolsky: [laughing] We did!

Atwood: We did not in fact plan that!

Spolsky: It's like we are actually on the air.

Atwood: Well one thing I will add to that is... So the whole reputation system, the whole voting system is heavily, heavily oriented towards quickly answering questions.  So if someone actually asks a really simple question you can answer, that's like manna from heaven.  That's like reputation from heaven in StackOverflow terms.  You want that to happen.  The things that I have problems with on StackOverflow are the subjective questions that are really hard to answer.  It's like it just ends up being a discussion.  I find those very problematic.  I mean I tolerate them and we allow them, because they're not wrong.  But I would much rather prefer that someone would come in and ask some really simple question about how to do something in Java or whatever -- that's awesome!

Spolsky: This is the difference between StackOverflow and like Usenet.  In Usenet, it's the same group of people hanging around all the time and reading everything.  Or it was.  Is Usenet still around?  And if someone came around and asked a simple question for the 800th time, that they've all seen 800 times, the experienced people are going to be bored by this.

Now StackOverflow works a little differently.  One, as you type your question, there's a pretty good chance that if it's a truly newbie question and you're phrasing it in a similar way to other newbies, that it's already been answered.  And you'll just read the answer there and you'll be happy and leave without actually asking.  So you don't get as much duplication, although there may be some.

But secondly-- and this is exactly the point that you've made-- the people that are in there are looking for opportunities to earn points.  And to get an easy question that they can answer quickly is great.  They'll be enthusiastic.  I just loved, I was so excited when somebody posted a question "What is wrong with this code?  It crashes sometimes."  And they were just calling it and not checking for null.  It was such an easy thing.  It was such a trivial...  I'm sorry, for a C programmer it was a trivial and easy thing.  Yay!  It's easy.

And sometimes the newbie questions are so classic and so -- I'm trying to... -- such a common misconception or such a frequent problem.  Somebody had a question which I answered.  I was among the people that answered it.  I did one of my "just combine other people's answers" into a well-written answer or a more exhaustive answer.  And it was just like "What's the difference between a statement and an expression?"  That was the question.  And you know what, that's what I want.  That article, I want that article.  You know everybody's going to have questions like this.  Newbies will always have the same questions.

And if the question is phrased in a way that's similar to the way that other newbies would phrase this particular question, then you're really doing a great service by asking a question that's hasn't been asked before and giving people an opportunity to answer it.  And probably half the value comes from asking the question that everybody knows the answer to or just even putting it in words.

A lot of the kind of questions that you see people asking that get great answers here, the kind of questions where there's not a lot of keywords, but Google is able to -- so Google isn't usually able to find -- like you don't know what to search for...  You know you get questions, SQL questions that want to create a query.  Doug K had one the other day.  "I want to create a query that returns, you know, at most one from each of these lists."  I don't remember what it was but it was the kind of thing where there was no magic word that you could look for in Google.  Or magic phrase.   And yet it's something that's, let's say pretty easy for an experienced or, you know, an experienced SQL programmer or kind of a working SQL programmer would well know the answer to this.  And so that's where StackOverflow works great.  So actually I kind of think that we're a great place for newbies.  Once again, "Yay us!"

Atwood: Well I think there's a skill ladder.  It's interesting because there's always people starting out at the beginning of the rep ladder.  You have a continual influx of new people and they see the site and they maybe post something.  And they sort of see how it works and realize you want to climb the rep ladder ultimately, right?  Just A) to get recognition from your peers, which is always kind of fun actually.  Even if you took away rep, just seeing other people upvote your stuff is gratifying, period.  It just is, right?  Seeing that people like you is always gratifying.  And more specifically they like the ideas that you're putting forth, which is the important thing, not you personally.

So there's always an influx of newbies that are willing to answer new questions.  So I don't think you have the Usenet crowd where it's a bunch of hardened, wizened, bearded, sandaled guys that are just annoyed by all the beginner questions.  I think you have a bunch of intermediate players in the system that are more than willing to answer the beginner stuff, even if the sort of high-level players have moved on to really esoteric... they're playing a different game at that point.  But I think we accomodate all those levels.

Spolsky: Here's a related question from, I think, Richard in San Diego.

Hertanto: This is Hertanto from San Diego. A few podcasts ago, Joel mentioned that he did a code review for a young programmer in his company. I was actually surprised that a CEO would do something like code review for a young programmer. I'm in a situation where I'm in a small company and I just feel that I don't get a lot of mentorship from the people in the company. Do you have any suggestion on how to get mentorship? Thank you.

Spolsky: First of all, I should say that I don't do a ton of code reviewing. That's not really my ... main thing. And I don't always have a huge amount of time to do it, although I do try to do it for people who don't have a chance. But that's actually over on the development team, it's far more common. The interns, co-ops and new hires get an awful lot of code reviewing. And we try to even like, rotate around the code reviewers and this is something that we considered to be really important. The developers do it in self defense. You know, it's not like a charitable thing on their part. It's that if they don't teach... you know it's the most efficient way to teach a new person on the team what level of code is expected of them cause otherwise you're gonna be fixing this code and you're gonna be debugging it for the rest of your life. So it's really in your interest to train the new people how to do things right. And one of the things that you really feel strongly at a company that's at a high level of software development. You know I notice this at Microsoft, when people are really good at writing code is that there's a big gap between where computer science curriculums left off or people can train themselves from books and the web and so forth and the level of code that you really need to be writing to work in one of these companies. Look at the quality of the code and the things you need to be thinking about. I remember in particular, one example where I wrote a simple loop, C programmers will recognize this, sorry, I wrote a simple loop to iterate over the characters in a string. So it was you know, for i=0; i < strlen of the string; i++. And hmm... this made sense, right? You're gonna go from the beginning of the string to the length of the string. Now, a string in C, basically I just thought that was fine until one of the slightly more senior programmer came to my office and said, "What's the performance of this loop that you wrote?" I said, well you know, it does it once for every character in the string, so that's order of n. And he said, "What about the strlen thing?" And I said, "I don't know. But... wait... but..." [laughs] He said, "That's gonna calculate the length of the string in C because the C string, the only way to know where it ends is to scan it, looking for the zero... that calculation of the length of the string in C is order of n where n is length." 

Atwood: Well actually, it's null, not a zero, right?

Spolsky: Yah. You're looking for... it's the same in the original C. Null and zero. So, you're actually searching for this null terminating byte. And therefore, my algorithm was actually order of n square and not the order of n. And I thought, "Wow! you're actually thinking about the performance of strlen? Never occurred to me that you should think about the performance of functions that you're calling." It's just like... It was like he opened a little door for me that... "Look at here, you haven't cleaned up in this room; you haven't cleaned up in this room too." [Laughs] 

Atwood: Right. Right.

Spolsky: That's actually... that one piece of code reviewing took me really far and I've spent... what funny is I'll sit down with everybody that I've ever code reviewed and I'll find them doing things like, this is something that I, my personal pet peeve, literally every programmer does this until I tell them to stop. And that is they write some code that says "if x, where x is some expression, return true, else return false" And I say, "Replace that all with return x, where x is some expression. Why do you have to say if, then return true else return false. Why are you writing all those lines of code, just return the thing." And the reason this is my pet peeve is that it shows a lack of real understanding of a boolean as a first class type. When you're making that mistake, it's because you're thinking of an IF statement as a being some kind of a special thing, as opposed to just being... hmm... you know, you're thinking of a boolean as a special thing that only goes in IF statements. You're forgetting that a boolean can be passed around. So, that's why it's my pet peeve and I show that to everybody and everybody suddenly learns that. So there's a whole bunch of things like this that come out of the first round. You know it only takes a couple of months of code reviewing a new programmer who has, let's say experience from college or experience from books or experience from a not-so-good software company before they can rise to a much much higher level, and write much cleaner code, faster code and much more robust code. And so, two three years, the development team at FogCreek has finally learned that they really have to do that much more intensively, otherwise they're gonna get programmers that write crappy code that they then have to clean up. So that's from the perspective of being a developer in terms of the value of the these code reviews. It's just two people sitting down, talking about code before somebody checks it in. If you're the person and you're in a situation where you don't feel like you're getting the right kind of review, nobody's reviewing your code, you don't feel like you're learning, you don't really know. The first thing to do is, ask yourself, is there really anybody here I can learn from. Maybe you're in an institution where there really aren't very good programmers so they don't have so much to teach you and that's the problem. But it's probably not the case, there's probably someone fairly senior there who can probably teach you a lot. And you just have to ask for it. I think a lot of them would probably really enjoy being able to teach you and there's no shame in going to a more senior developer and say, "Listen, I wrote some code and I know you're a lot smarter, I'd really appreciate your criticism on the code and I'm sure you can find three major gaffes that I made just by looking at it."

Atwood: You think this is how programmers talk to each other?  They're going to go with hat in hand and say "Oh sir, I see that you are such an excellent coder!  I myself am barely adequate and I was wondering..."  Yeah.

Spolsky: What would be real? [laughs]

Atwood: You're so like glossing over the ego thing.  But I do believe the value here is huge.  So if you can find some way to make it work.  And I think the way to think of it is it doesn't have to be a big production.  Like, let's take three hours, go into a meeting room.  You know, the next time you check code in, just go talk to somebody about it.  Go say, "Let me talk to you about it.  Let me talk through it with you."  'Cause how many times have you talked through code and realized you made this huge mistake.  If you're like me, it happens every other day.  Like, ohhhh!  Right?  So just think of it that way.  Just go to somebody that you respect, right?  Even if they intimidate you.  Just say, "Hey, can I talk through this with you?"  I think you'll find that people are pretty accomodating.  One-on-one they're pretty accomodating.

I do feel bad for people that feel like they're in work environments...  I got an e-mail the other day from somebody.  They weren't even using source control.  At that point I was like, "Pull the ripcord and just eject from the job if you're not using source control," right?  But what do you do?  I mean, do you try to change the job?  Do you leave the job?  I don't know.  It's a tough situation.  And I think you've said this on previous podcasts, it's hard to know exactly the situation without sitting down and talking with someone.  Those are definitely warning signs if you feel like you're not learning on the job.  And I would consider code reviews a big piece of that.

Spolsky: You have to decide if you have any ability to get things changed or if it's hopeless.  If you're in an organization that is a big mess but you feel like over time you'll be able to introduce source code control, introduce bug databases, write some specs for your own stuff, all the stuff that we don't do... [laughs] Or even just sort of improve... You know, if you're in a place that has lousy developers, can you at least get the right to veto future hires?  Can you at least arrange to do your own interviews of new developers where you give them a programming test even if nobody else is doing that?  And it's really a question of if you can improve the place and you like it and you're happy there, go ahead and improve it, but at some point there may be institutional reasons why it's just hopeless and you're never really going to be happy in that place.  And you might want to keep your résumé up to date.  Fog Creek is hiring for example!

Atwood: That's right.  Hey, I want to briefly talk about another topic that's coming a lot, like all the time.  And that is, pretty much every day now I get an e-mail on, "Hey! StackOverflow's really cool!  Wouldn't it be cool if you could license or somehow open source or somehow get StackOverflow out into the world so we could have our own custom StackOverflow?

Spolsky: "For our little technology to provide x...

Atwood: "...for our thing, where thing is x, where you know it could be anything."  And this is a huge compliment because people like it so much they want their own version of it.  And that's a huge compliment but what I've been telling people is essentially, ask us again in three to six months.  Because I just don't feel like we're even remotely done with what we need to do.  We have a reasonable V.9 or whatever you call it.  But I think a lot of work needs to be done.  I saw an e-mail you sent out where you said that actually packaging up code so it can be released into the wild takes a tremendous amount of work.

Spolsky: Relative to the amount of work it takes to get it working on one server that you control completely.  Making packaged code that anybody can use and customize it and add their own logos and their own fonts and stuff like that, get it to run on their particular server situation, yeah, that's a huge -- yeah, that's a huge difference.  One of the things that makes FogBugz... Yeah, it probably adds up to a full-time developer on the FogBugz team.  Basically the incremental work that we have to do.  I would go so far as two full-time developers on the FogBugz team that do the extra work that's necessary because FogBugz needs to be able to run on so many different customer servers.  Oh, and let's say even one QA person.  So that would be a bunch of work for StackOverflow.

Let me say one other thing -- I like the three-to-six-months idea.  But one other thing I should mention -- that I think... My experience is a little bit from this discussion group that we have with Joel on Software that, you know, the original way that we decided to provide -- when we launched our first product, which was FogBugz, we needed a really, really basic tech support system so at least there would some sort of discussion group where customers could ask questions.  So I wrote this little discussion group that became the Joel on Software Discussion Group code and we later reimplemented that as a FogBugz feature, where it really make sense.

The trouble is, whatever your technology -- unless you're literally Microsoft and you have a product like Visual Studio -- whatever the technology may be, the chances are -- and I hate to say this -- you don't have critical mass for something like StackOverflow to really work right, with the badges and the voting and that kind of stuff.  You probably don't have enough people in your development community who are going to use it to reach critical mass there.  And what you'll see is that StackOverflow, a lot of the features that make StackOverflow successful, like the voting, are going to be kind of meaningless when you only get two questions or three questions a day.  And you may be better off going with something simpler like, you know, like the FogBugz discussion forums or a general discussion -- they got a phpBB -- or one of those discussion apps.

Atwood: Right.  There's certainly an issue of scale, right?  It's a system design for fairly large groups of people.  So it may not scale down, we don't know.  That's a good point.  I hadn't really thought about it that way but it's certainly true.

Spolsky: The other thing I've been suggesting people sometimes, when they ask that question, like just send your customers to StackOverflow and tell them to use this keyword.  Now that's not ideal because obviously they want to send their customers to a site that's branded and appears to be official, they want to make sure that everybody gets an answer from the tech support team, from their in-house tech support team, there's a bunch of reasons why that's not necessarily the right answer.

But I'm sure it's going to happen.  I assure you it will happen in a matter of months that we'll evolve some programming technology where actually the best place to talk about it is StackOverflow just because whatever this technology may be -- maybe it's some API that somebody makes.  You know, maybe it's something like Apple iPod development where everybody's under NDA and they're no allowed to talk about it -- iPhone development.  You know there may be some -- you know there just is no official community or there is no good other place to talk about it and StackOverflow becomes the de facto gathering ground for that particular technology. 

Atwood: Well, I have a caveat there. This question actually did come up on StackOverflow. There was a really good answer that someone gave. And I think I'm pretty sure I upvoted it, might even have been the accepted answer. Somebody was asking essentially the same question. It was like "we have this sort of niche, specialized technology, we really like the StackOverflow discussion format, can we have that discussion here?" And I thought about it, but then read the first -- whatever the accepted answer was, and I was like "wow, I really agree with this" and the point the guy made was "that's fine, as long as what you're building would have applicability to the wider internet." Like, somebody on the internet could download your tool and benefit from it. Like the more... like, say it's some product that's very niche and costs a hundred thousand dollars, right? Well, that's such a narrow community. I agree, there's not tremendous value in those people posting a bunch of stuff on StackOverflow. Because it would just be noise, like even if I accidentally hit it in a search, it's still noise. There's just no way that I would ever... you know, an audience would never really emerge for that particular techonology. It's just a little too niche, I think.

Spolsky: Yeah, I think it depends on the scale. Like I think, is SAP too niche? Probably not. How about QuickBooks XML programming? You know, it's getting niche. I don't think there are any questions on that yet on StackOverflow, but you know, I probably asked the first question about book databases where you can put in a book, like "this is the barcode of the book", and get information about what the book was. And I got a very good answer, which is, you know, That's kind of niche, but you know what, in our audience in the StackOverflow world of 30 000, 40 000 people that visit there and maybe the 4000, 5000 that are very active there, there were definitely a bunch of people that had this answer for me. And you know, maybe the community inside StackOverflow -- I mean, these niche questions get 30 or 40 views in StackOverflow, but that's enough to get an answer. Because as long as search is working, and the tagging is working, it doesn't hurt to have a really really long tail.

Atwood: True. I think it just felt a little -- maybe elitist is not the right word, because I know it's not really what they were shooting for -- but just, the barrier to entry just seemed really high. Like if it was some really obscure open source thing, or something you could buy for like forty bucks. That's fine. But for some product that's like, you know, incredibly expensive and/or so rare that you just never really see it in the outside world -- I don't know, I have some mixed feelings about that. I don't think it's wrong, but I think there's things that fit and things that don't fit in that category. But I'm not going to go and start stomping on things. And I thought it was great that they opened up this question, right? It's kind of a meta-question, which makes me frown a little bit, but I thought it was a good meta-question. For what it's worth. I would much rather have people ask and then just start doing...

Spolsky: Last night I logged on to StackOverflow and there was this raging debate on -- because some of the moderators feel like, if a question does not obey the rules of the site, it should be deleted instantly. It should be closed. Is that the term, "closed"?

Atwood: No, no, no, let's clarify. Deletions are pretty rare. The only way stuff gets deleted is, three ways. It reaches the offensive threshold, which used to be ten and is now five, you yourself delete it, as the author -- that's possible -- and then three, there's four moderators. You, me Jarrod and Geoff. We decided to delete it for some reason. So that's deletions. So I think what they were probably talking about was closing the questions. Because we do have a pretty steady influx of questions that really honestly are not appropriate for StackOverflow. It doesn't mean you're a bad person...

Spolsky: You are, but that's not why... [laughter]

Atwood: ...doesn't mean it's the wrong question. It just means... You should see some of the emails I get about this stuff. People are very up in arms. It's just... not a good fit for StackOverflow.

Spolsky: Yeah, but but but, here's my question, I guess I bring this stuff up every week. Shouldn't it be enough just to let everybody vote down -- I think I would be happier, if the way those were dealt with was, people voted it down into oblivion, and that was the end of that, instead of, somebody with a lot of karma decided that this is not relevant. And then unilaterally decided to do something. Because I kind of prefer the -- you know, the trouble is that, all of the official -- I don't know if there are official rules, but you know, there's ethic use and there's things that we've stated, "don't ask subjective questions" etc., "stay on topic". I'd almost rather see those things -- rather than have them be codified in some way, which implies that we already know everything that can possibly go wrong, and that we thought about every possible situation -- I'd rather have that be a little bit more flexible, where kind of the community decideds, like "you know what, I'm just not into this today" and they kind of -- so it's always something that comes out of the democracy of voting. It's not something that comes out of the representational democracy of somebody who has a lot of karma deciding.

Atwood: Well, I think there's really a mixture of both systems. I mean, I think at a very high level, you do need people that sort of have learned the system, and have a good idea of what it's about. Sort of give directions to the new users coming in. Like the new users may ask questions, like here's one I closed, let me give you an example: "How do I find my IP address from my router?" It's like -- it's not a bad question, but it's not really a programming question. So I closed that one.

Spolsky: Really? [garbled] How do the next 300 people who ask that question find that out?

Atwood: Well, hopefully they'll find it... the closed questions stay around. The little hint mechanism is A) the fact that it's closed, there's a -- it's not really a tag, but it's appended to the title so that it's more obvious that it's actually closed before you even click on it, it's a part of the title. Also, whenever you close -- we've instituted a thing that you have to give a reason why the question should be closed. I realized we made a huge mistake early on, we gave no guidance to people who had the close power, about what they should be using it on. Which was a huge mistake, right. So I told Jarrod like "we have to get this in tonight, because people are freaking out because they don't know--"

Spolsky: Why they're closing.

Atwood: --what they're supposed to be doing. So what we did was, we had a list of reasons. And you can se that now, if you go on the site, and you have closeability, you'll see a list of reasons. Those are the only reasons something should be closed, right? Number one with a bullet is "not a programming question". I really believe in this. Now, it can be subjective, but it has to be about programming.

Spolsky: Well how is finding out your IP address -- that's something, you know it's -- from code? [laughs]

Atwood: Well not from code. That's my thing. If they had said "how do I find out my IP address from code", totally [acceptable]

Spolsky: This is... the magic word is "programmatically". Put that in the title. The other nice thing about the word "programmatically", if you're ever searching for something on Google, you want to do something from code and you certainly know how to do it from the user interface, the magic word "programmatically", inevitably -- it works in the Microsoft knowledge base, they always use that keyword. OK, so...

Atwood: Wait, wait, you know you're joking...

Spolsky: No no, I'm not joking at all.

Atwood: Have you seen the threads on StackOverflow about "what's the best programmer food?" I am not [garbled]

Spolsky: The cartoon one was really good.

Atwood: The cartoon one, "what's the best programming cartoon", "what's the best programming" [garbled]

Spolsky: Those are enormously popular. We've got to have a few of those every day.

Atwood: And I feel the same way. It's OK to...

Spolsky: But it's not a programming question. It's not a programmer question. So somebody is going to say "grr" and they're going to delete that. And those are the things that make -- those are like the "rites of intensification" to use a term from anthropology. Those are the Bar Mitzvahs and the weddings. Of StackOverflow. Those are like, trudging through all those questions, and what makes it fun is that once every couple of days there's a Bar Mitzvah. And there's a pen, a fountain pen, there's a boy with a [unclear] he reads from the Torah, you know, it's special. There's herring, they pass out some lovely fish to eat afterwards. Some wine.

Atwood: Delicious.

Spolsky: Yes.  so, obviously you don't want to fill the place up with these, but it is sort of fun to have...Those of you with access to the Box Of Knowledge, type in Rites of intensification.  I'm typing in to make sure that works - into Wikipedia.  Oh, it's not in...

Atwood: You're scaring me with your highfalutin anthropology terms

Spolsky: It's not in Wikipedia! [laughs]

Atwood: Well can I give you another example of what you are talking about?  There was another thread on what was your first computer.

Spolsky: That was fun!  People put pictures!  And you could vote!

Atwood: Yes, it was fun.  I'm totally for fun. But we have to have some boundaries in the system.  I do not believe it is acceptable to have no boundaries about what can be asked.  I believe that's a recipe for disaster.

Spolsky: Yeah.

Atwood: If people learn that they can ask what the heck ever, they're gonna ask what the heck ever.

Spolsky: Let the people vote.  Let the people vote.  I think what you will see will happen is for the most part it will stay on topic.  When there's a truly delightful off-topic question there will be people who are just like, "I gotta vote this up because I'm having fun with this question.  I don't care."

Atwood: OK, here's the thing.  Here's how it works, and I've told people this. You've got to win over the audience.  The thing is you have people voting that are just as clueless as the people asking the questions.  So when you're saying, "Oh just let them vote on it," you're going to have a bunch of new people voting on things that they don't realize are not really what we want.

Spolsky: Not true.  Disagree.  Disagree with you totally.  I totally disagree.

Atwood: I think its a mixture of both.  And I agree we want the fun threads.  I'm not saying go step on every little - you know - every tiny thing that is out of line.  And I do not think the people who have this ability have been doing that.  They've only been turning off things that were egregiously over the line, in my opinion.  I haven't seen a huge problem with it.

Spolsky: I tell you what.  Why don't you make it so that...  Well, I don't know what the change is here that I'm really describing, but if you discover that there is actually a problem that newbies are changing the community into something that we don't want it to be because they keep voting up advertisements for Ron Paul for President; then come back to me and say how the hell did this advertisement for Ron Paul for President get voted up so high?  I don't think that will happen. 

I think that we can trust the community, and that what the community will tend to do is they will favor the programming questions, but when there is a particularly delightful and fun thread that serves as maybe a break or just the kind of thing... There is something about...  For a community to work... 

You know what, you had a post on Coding Horror about a biological thing that occurred between you and your wife, mostly to your wife. 

Atwood: Yes.

Spolsky: Very off topic.

Atwood: Well, yes.

Spolsky: So, I'd like you to go and delete that, please.  But you're not going to.

Atwood: [laughs]  But that's the bar mitzvah thing you're talking about.  Everybody does the first kid blog entry.  Everybody does that.

Spolsky: Exactly.  It can't be a community if you don't occasionally stop talking about the subject at hand and have a personal, fun conversation.

Atwood: But we do.  Even within the constraints of the people closing stuff, we do have those threads.  Nobody has tried to close, nor would they try to close "what was your first computer" because it would be cruel.  No programmer would do that to another programmer.

Spolsky: There are people who have thousands and thousands of points who have expressed opinions that make me believe that they think that those kinds of threads should be closed instantly.

Atwood: But they have not closed them instantly because they know they are very popular.

Spolsky: Yes.

Atwood: At some point you have to bend to the will of the community.  I just think we have to shape it a little bit. 

Spolsky: Yes.

Atwood: I just think it needs nudging.  You're right, its a fine line.  I don't know that we have it right yet, but I believe it does need some nudging.  You do have to have somebody in there, not smacking people down, but administering light pushes in the right direction.  I haven't seen a problem with it yet.  There could be.  I definitely keep my eye on it, and I take those very seriously.

What I've been telling people is if somebody closes their thing and they don't like it, vote it up.  If something gets voted up, maybe there's a mechanism where it gets unclosed.

Spolsky: Yes.

Spolsky: Some of the... One of the things that is kind of interesting is that you'll have a highly controversial thing. "There shouldn't really be anything controversial in programming questions."

Atwood: No, there shouldn't be. I mean, we have a whole "closed" category called "subjective and argumentative." Not just subjective, but subjective and argumentative. That's... those are kind of no-win questions.

Spolsky: We are running out of time. Did you have any other things we should talk about? Anything on your list?

Atwood: No, do you want to go over how awesome we are some more?

Spolsky: I have already, my... I have sprained my arm patting myself on the back so hard. I don't know where to go with this, wait, let's let Ian McKenzie do it for us. From Australia

McKenzie: Ian McKenzie from Sydney, Australia. I'm a 70-year old who hasn't programmed since FORTRAN fell out of the fashion. Enjoy the program, and I just love the website, even though I've got nothing to say. It's just such a [something] and interesting design, and the photographs are excellent. Keep going, fellas. Thanks very much.

Spolsky: Thanks, you're welcome. Did he say the photographs are excellent? [laughs]

Atwood: Yes! That was good. He was probably referring to that computer thread, "what was your first computer." Or the cartoon thread, perhaps.

Spolsky: There are three FORTRAN questions on StackOverflow [laughs], if you want to...

Atwood: Really?

Spolsky: Yeah. They're not really FORTRAN questions. They're more like "what FORTRAN compilers are available?", "how can I learn FORTRAN?". Anyway, I thought that I'd throw that in because it fit in with the theme of just how great we are.

Atwood: Yeah, I enjoyed that, it was a good one.

Spolsky: What else... hey, to the audience I just want to mention that if you want to call in with a comment or a question for us to play on the show, there's now a phone number set up, it's in the United States so that's +1 for those of you outside of North America, 646-826-3879, that's 646-826-3879, you can also record it on your computer as an MP3 or Ogg Vorbis file and email it to

Atwood: And then our wiki. Do not for get we have a wiki.

Spolsky: If you would like to contribute a little bit to the StackOverflow community and you don't want to answer programming questions, we've got this wiki site, it will be linked to from the blog,, and what it is is a place where anybody can go to edit and add a little bit of a transcription, and what shows up there after a few days, a bunch of people all over the world will all contribute a little bit to transcribing what Jeff and I say on these here podcasts, and that's a very useful service, because it allows people to look things up, to read them quickly if they don't have time to listen to the podcast or just kind of get a lot of the benefit of the podcast without having to sit and listen to us yammer for an hour. And also, for people that don't have the ability to listen to the podcast. It's a great service. Many thanks to all the people that have been contributing to the transcript wiki up until now. You can find that at

We usually have some other announcements. Oh, the site is live! Go to Okay, that was easy.

Atwood: [laughs] No, don't go there, don't please: don't go there.  [We] really don't want you to go there.

Spolsky: And that's it for this week, and we'll talk to you next week.  See ya.

Atwood: See you next week.

Outro, advertising

Last Modified: 5/31/2009 10:33 AM

You can subscribe to this wiki article using an RSS feed reader.