View  Info
Compare   Restore  
   Revision #7 - 6/16/2009 1:25 AM     

Podcast 057


Intro, advertising


Spolsky: First of all, yes we got a lot of positive feedback from the Jason Calacanis podcast which actually sort of surprised me.

Atwood: That's good because you were very worried about that.

Spolsky: I was worried that our developers would be like, oh ick, he's one of those business guys.

Atwood: Yeah, Jason's pretty cool though, I vetted, I listened to a couple of podcasts he was on and gave him my thumbs up so.

Spolsky: Uh hu.

Atwood: My gut feeling was that it would be OK.

Spolsky: He's like one of the smartest people I ever talked to.

Atwood: Yeah, he's smart but you know I still don't agree that Mahalo is doing the right thing.

Spolsky: No, but that doesn't, you know, yeah.

Atwood: <laughs>

Spolsky: He's just a smart guy. I also, there's a couple of things about Mahalo. One is it sort of disturbs me their traffic seems to be relatively flat like, if it's really going to work it should be taking off. But you know maybe they'll change something and then it will go up. And also I totally, I still disagree with Jason and really don't think that they should ever, um, try to pay people for sex, so to speak.



Spolsky: Tell the listerners what Fizz-Buzz is.

Atwood: Well Fizz-Buzz is a simple test to count to 15, and I think, print numbers at intervals of 3 and 5, I believe ...

Spolsky: Right, so basically you print Fizz, if it's not divisible by 3 or 5, and you print Buzz if it's divisible by 3 or 5.  Yeh, this problem is even easier than that.

Atwood: Really!

Spolsky: Yeh! 'Cause Fizz-Buzz has a loop, an if statement and modulo, right?

Atwood: Yep.

Spolsky: And print.  This doesn't have print, this doesn't have a loop.

Atwood: Wow, this is even simpler! Wow!

Spolsky: Yeh!  I don't want to tell ... fine I'll tell people.  No, I'll give you an equivalent problem which is not the same problem.

Atwood: Giving away the secret!  I don't think the people that you give the secret away to are going to matter for this one.

Spolsky: It's sort of something like ... is John older than Mary?  <Laughter>  It's a little harder than that!  Uhm, anyway, uh, what happens when I ask this question is that everybody gets it, but some people take a long time to think it out, and they're carefully thinking it through, and they really are struggling, and some people just write really fast and they're done.  And then we can move on to more advanced things.  And, it suddenly occurred to me, that there was a very high correlation between the people that I hired, and the people that could solve this problem as fast as they could write.


Spolsky: I told this story to Gary Cornell, my publisher at Apress who used to be a math professor at University of Connecticut. Before he became the best-selling author of "Core Java" and started Apress he was a math professor. He said this reminds me of something Serge Lang said to him. Serge Lang is a math professor at Yale who is very interested in math education. Serge Lang at the beginning of freshman calculus at Yale, gave people for no credit, took out, told all the students to take out a piece of paper, and he put a fairly simple equation up on the board and said reduce this to its simplest terms. So this is basically 9th grade algebra. Then after like 30 seconds he said "stop!" and took all their pieces of paper.

Some students were able to reduce this algebra equation to its simplest form as fast as they could write, and some of them really had to think about it and really had to work on it. I would have been in that category, the second category. And he said that the people that could do it quickly was an almost perfect predictor of who would get an A in the course. In other words that was as good a predictor of math ability, as an entire semester in Calculus with problem sets every week and probably two mid-terms and a final. Was just like how fast can you solve a simple algebra problem that has nothing to do with calculus, it is using calculus but it is like a real simple algebra problem. The whole story is in my book "Smart and Gets Things Done".

Actually let me see if I can find what the problem... I can't remember the exact equation. Cornell, page 108, "Smart and Gets Things Done". Oh yeah, you basically had to simplify... our math majors will recognize this ....

1/(x + h) - 1/x
which is something you do basically to figure out derivatives, and you just have to simplify that to its ....

Joel: Do you want to take a listener question before we go away?

Jeff: Yes, let's do that.

Joel: Okay, right. I've actually got two that I want to do. [pause] Why is that one so much bigger than that one? Huh. Alright, let's do this one first. Josh Hunt.

Josh: Hi, I'm Josh Hunt, and I'm from Australia. Earlier this week, I asked a question—Question 895371—on Stack Overflow, and the first answer was the one that was voted up. It ended up being the most votes after a while, and it's still currently the highest-voted answer, but then, a couple commenters came in and said that the answer was wrong, and that Stack Overflow has kind of failed in this aspect, because it kind of seems to permeate this community that thinks that the first answer is always the best answer, and so people kind of don't read the question properly or don't understand it properly and go write down an answer that's inevitably wrong, but everyone just marks stuff as correct. It ends up as the highest-voted question. So, what do you guys think of this? A couple commenters went on there and stated that it was wrong and kind of thought that this would just be an interesting problem with Stack Overflow and the original author of that answer coming home admitted his fault there. And for the second part of this question...

Joel: Ah, wait wait. Okay, let me hold off. There's a good second part here which I'll get to in a second, Josh, but...

Jeff: What was the number of the question again? Do you have it up?

Joel: 895371

Jeff: 895...

Joel: No. Yeah.

Jeff: ...895...

Joel: ...371

Jeff: ...371. Okay, I shouldn't bring this up.

Joel: So, he's got a homework assignment that he plugged in here, and it wasn't working right, so he asked people to say what was wrong with his code, and the number one answer is a little bit wrong, but it's kind of in the right direction, just technically wrong. Now, I want to point out that these have already been resorted a little by the voting, so it's just a matter of time before people will come in and correct these things, so...

Jeff: Mmhmm

Joel: The first thing is: Josh, I don't see that you've accepted any answer. So...

Jeff: Yeah

Joel: Why don't you go in there and find the right answer and accept it. Problems solved.

Jeff: Yeah

Joel: You know what it is by now. And...

Jeff: Right, well, that's a good point though, because people are constantly criticizing the fact that the owner can accept any answer, right?

Joel: Yeah, So...

Jeff: This is a case where the owner actually improving the situation by accepting the correct answer, moving it above the highest-voted answer.

Joel: Sure. That's number one. Number two: there's some really good answers in there. If you scroll down a little bit, Wesley put together a really, really good answer.

Jeff: There are some nice answers in here.

Joel: Yeah. "The first problem is that your code is a little bit confusing because you have a variable named `unsorted`, and it should probably be called `sorted`," just because when you have a double negative, it just gets more confusing than when you have a single negative.

Jeff: [laughs] You don't not want that to... Yeah, it's wordy

Joel: You don't not not want to use double-negatives

Jeff: [laughs] Ohh, my head's squid

Joel: And a few people have pointed that out that you should probably just call it `sorted` and then your code becomes a little bit clearer and easier to understand, and that was exactly my intuition too, because I couldn't even understand what the code was trying to do exactly. But also, don't forget, there are comments in here. The fact that the right answer is wrong was pretty much discovered immediately. So, the truth is, if somebody else had this similar problem—I mean, you yourself could figure out the right answer, and we've done a better job of that, and it's only a matter of time before everybody goes in there and votes up the correct answer.

Jeff: Well yeah, now that we have—gosh, what's the name for this effect? That factory where they were doing that testing? They would adjust the lighting. Do you know what I'm talking about? I don't have the name...

Joel: Yes, the Hawthorne Effect.

Jeff: The Hawthorne Effect. This is what happens on the podcast. We talk about a question, it totally changes the question. It's a little frustrating to me.

Joel: Oh, because everybody zooms in there after the podcast.

Jeff: Yeah.

Joel: No, but even... I just want to announce that as of now, the wrong answer only has five up votes, and the next one after that has four—I haven't studied that to see if that's correct—and there's a pretty good answer here that has four, and what I think is the best answer currently is Wesley's answer, and he currently has two, but it's going to reshuffle pretty quickly, I think.

Jeff: Yeah, and also, kudos to Josh, because this is a good example of how to ask a homework question in a respectful and helpful and interesting way.

Joel: Yep.

Jeff: That's good, because we do get a lot of homework questions that are just gratuitously bad.

Joel: Sure.

Jeff: Kudos to Josh for doing it the right way.

Joel: Yeah, he said, "This is homework."

Jeff: Yeah, first, be upfront about it.

Joel: Yep.

Jeff: Make it useful.

Joel: Yeah, tag it homework.

Jeff: Because a lot of times some of the homework questions are so weird. It's like, "Okay, take these numbers and do this crazy thing to them." Who would ever do this?

Joel: And sometimes, with the homework questions, especially with ones like this, it's like: you just need to learn something, and somebody could teach it to you, and there's just no way to search for that thing that you need to learn on Google. You're like, "What don't I know here?" [laughs]

Jeff: Yeah

Joel: It's sort of like the old BC cartoon where the guy goes to take golf lessons and the golf expert says, "Alright, let me see your stroke." The student goes out and does a little golf stroke. The golf expert says, "Well, not bad, not bad." And he says, "Really, what am I doing right?" And the golf expert says, "Taking lessons!"

Jeff: [mildly forced but respectful and mostly plausible chuckling]

Joel: Ba-dum-bum. Okay, that's funnier in print.

Jeff: Nice.

Joel: So, yeah, sometimes you just want somebody to tell you what the heck it is that you did wrong, and then you show the code, and any expert could figure that out, and that's exactly why we have knowledge exchanges—and just because it happens to be for homework, if anything, that's probably a more legit cause than if you were posting some bug that you had because you had to do this for work, because, after all, you're getting paid to get that right, where the homework, you're just trying to help some students.

Jeff: Ooh, yeah, I had that discussion too.

Joel: Yeah.

Jeff: The work questions are even worse, where it's like, "Do my work for me." [laughs]

Joel: Sure.

Jeff: [while laughing] You're getting paid to do that!

Joel: [laughs]

Jeff: So yeah, that's not good either.

[67:51 ends]

Outro, advertising


Last Modified: 8/25/2009 11:29 AM

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