This is the 49th episode of the StackOverflow podcast, where Joel and Jeff sit down with Alex Papadimoulis of The Daily WTF
to discuss the distinction between IT/sysadmins and programmers, online justice for webforums, user-friendly IDs for databases, and the future of software distribution.
As we build up serverfault.com , the already grey area of "which question goes where?" becomes even .. greyer. The animal, vegetable, mineral problem is not going away any time soon. That said, if you can attach code to your question, it probably belongs on stackoverflow.com. And if your question involves a server (and no code), it probably belongs on serverfault.com. But there are always exceptions, like this question about working conditions.
I was surprised to find that there seems to be no critical mass of sysadmin/it bloggers online, certainly no equivalent to the legions of high profile programming bloggers. Thus, we'll be initially seeding serverfault.com with those programmers from stackoverflow.com who cross over and also wear the sysadmin/it hat in their work.
What if there was a programming language that used only abstract symbols instead of existing words in a human language? There is! But it's only a research project. (And I found out that Joel wasn't kidding about APL!)
Some clarifications about the localization discussion last week. Joel and I continue to disagree about priorities here, is what it boils down to.
Joel and Michael are fans of the hellban concept, but I find it to be a bit much like the guys in black masks making people disappear overnight. We implemented a penalty box instead. The hellban might be appropriate for random spammers, but for engaged members of a community, it's a terrible system of justice. We also improved our flagging system ala Craigslist so it's easier to communicate with moderators.
The specific source of friction was editing. It turns out that the spirit of an edit is as important as the technical rationale for it. We love and encourage editing, of course, but it's possible to follow the absolute letter of the law and still be toxic to the community. Joel says that the typical programming mindset makes us particularly prone to this behavior.
You have to be able to let things go. One of the curiosities of Wikipedia is that the most obsessed users always win. You can't compete with someone who devotes hours every day to maintaining their pet topic, with scripts to protect it. This system, on some level, must work because if it didn't Wikipedia would be permanently broken.
- In addition to software increasingly running in the browser via various mechanisms, we view services like Valve's Steam as the future of software distribution. Ultimately it should be as easy and painless to install software as it is on the closed-ecosystem iPhone and its App Store. The tension between digital distribution and traditional retail channels is still a major hurdle, however.
Alex liked this Stack Overflow question:
- Database-wide unique-yet-simple identifiers in SQL…. Great question having to do with the human readability of IDs for unique database records. Lots of food for thought. Alex recommends unique lengths per record type, or the "Smart Key" approach of encoding dates and other unique things in the id.
We answered the following listener questions on this podcast:
- Andy Brice: "What will happen with the market with downloadable software? Everything in the browser? Hybrid between the downloadable executables and stuff running in the browser? Or will it be business as usual?"
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 firstname.lastname@example.org
. 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.
Reminder: next week, we'll have Steve Yegge as a guest. The previous episode with Steve
was hugely popular, so hopefully this will be another winner!
The transcript wiki
for this episode is available for public editing.