This is the 34th episode of the StackOverflow podcast, where Joel and Jeff discuss the following:
Joel recommends a pink HDMI cable as a christmas gift for the special ladies in your life. This will go nicely with her pink ethernet cable, pink USB cable..
We've placed an order for our dedicated servers and have found a dedicated host we tentatively like. We'll be exploring the "buy" axis of build vs. buy because it gives us greater power and control over our setup. This will also be my first time building a RAID 10 array, which is supposedly a far better solution than RAID 5, and I'm geeking out a bit over that.
It's advisable for programmers to spend some time rotating through customer support so they can lean to share the customer's pain. Alternately, Joel has an even better idea: perform usability tests periodically, with your developers observing. Developers sometimes come up with great new features when exposed to actual users working with the software.
The Fog Creek Team completed the Endless Setlist on hard in Rock Band 2. That's 84 songs in a row, mightily impressive, at least to me.
I have mixed feelings about easter eggs; if you're going to put something cool and hidden in your product, why not make it a standard feature so most people will find it and benefit from it? There are two discussions of easter eggs on Stack Overflow: What Easter Eggs have you placed in code, and Is it a good idea to put Easter Eggs in applications?
You could argue that a lot of modern large application features are effectively easter eggs because people can't find them! This is what motivated the move to the Ribbon UI in Office 2007. Nine out of ten feature requests for Office were already in the product. That's the ultimate easter egg, and not in a good way.
The proposed Stack Overflow question bounty feature -- to help get those persistently unanswered questions some new attention -- has two gating clauses: first, you can only attach a small reputation bounty after 24 hours; second, the majority of the bounty will come from the asker's own reputation. You have to be willing to slice off a part of your own rep as a reward.
We noticed that Jason Calacanis of Mahalo will be doing a Q&A site. The difference is that this site will pay answerers in real money, part of what Joel calls Jason's Econ 101 management style. The danger is that financial incentives can destroy intrinsic motivation. What's your management style? Command and Control, Econ 101, or Identity?
There is a whole new generation of programmers growing up with code like we did. Here's hoping they're learning from our mistakes, so they can make all new mistakes and not repeat all the same dumb mistakes we made. It's almost like a system of software apprenticeship.
Is code elegance in the eye of the beholder? Consider the two answers to Parameterizing a SQL IN Clause -- which one is more elegant, and why?
Our favorite Stack Overflow questions this week are:
Jeff: How old are you, and how old were you when you started coding? This is a great example of using of Stack Overflow to do cool stuff we didn't anticipate. It also broke our hot question algorithm pretty badly, because it had such a huge number of responses.
Joel: What was your biggest CS eye opener? Joel points to K&R's observation that a and 5[a] are the same thing.
Bonus: Parameterizing a SQL IN Clause. Great example of my accepted answer not being accepted by the community. I just wanted to highlight the cleverness of Joel's solution, which I literally would never have thought of. I ended up using the community's solution, though.
We answered the following listener questions on this podcast:
Chris: "It's often said that the job of the software development manager's job is to insulate developers from customers. But I've found it's helpful for developers to have interactions with users and stakeholders."
Sinbad Carver: "Did you leave any easter eggs in Stack Overflow? If not, did you consider any?"
Derek in Canada: "If you attach a bounty to some questions, will that lead to less people answering regular questions?"
If you'd like to submit a question to be answered in our next episode, record an audio file (90 seconds or less) and mail it to email@example.com. You can record a question using nothing but a telephone and a web browser. We also have a dedicated phone number you can call to leave audio questions at 646-826-3879.
The transcript wiki for this episode is available for public editing.