Stack Overflow Podcast – Episode #49 (April 19, 2011)
Host: Joel Spolsky & Jeff Atwood
Guest: Alex Papadimoulis (The Daily WTF)
Episode Overview
This episode welcomes Alex Papadimoulis, creator of The Daily WTF (Worse Than Failure), for a far-ranging discussion on topics core to developers: the difference between sysadmins and programmers, funny and frustrating software failures, the launch of Stack Overflow’s sister site Server Fault, debate around localization and programming in different languages, moderation and "justice" on web forums, and practical debates about user-friendly identifier design in databases and the path of software distribution. The conversation is energetic, candid, and sprinkled with memorable stories and thoughtful observations.
Key Discussion Points & Insights
1. The Daily WTF's Origin and Philosophy
[01:28 - 04:26]
- Alex shares the story behind The Daily WTF’s name, including the attempt to rebrand as "Worse Than Failure," a decision unanimously regretted.
- The blog started by posting just code snippets, but evolved to storytelling about software disasters.
- The format draws inspiration from Discover Magazine’s "Vital Signs," aiming to humanize technical mishaps.
Notable Quotes:
"Changing the name was like the ultimate wtf. I think everybody was sort of scratching their head going, wow, that's a real WTF right there." — Joel Spolsky [02:38]
"We all tricked ourselves thinking that it was the right way to go." — Alex Papadimoulis [03:11]
2. IT vs. Software Development: Boundaries and Overlap
[05:24 - 06:10]
- Discussion of how IT encompasses networking, hardware, and infrastructure, whereas software development is more about code and applications.
- The lines blur in real-life teams and stories from both POVs feature on The Daily WTF.
3. Real vs. Pragmatic Code: Laugh, or Cry?
[06:54 - 08:33]
- The hosts review some classic Daily WTF posts, particularly code that’s convoluted but "works."
- Sympathy for developers who muddle through (sometimes with fever-depth confusion), but recognition that in some environments, duct-taped code is “just how it’s done.”
- The panel discusses the line between pragmatism and poor practices.
4. Classic WTF Stories and the Perils of Management-Driven Tech Decisions
[08:44 - 10:49]
- Joel recalls the "have you tried JavaScript?" anecdote, a recurring archetype where non-technical people suggest irrelevant or misapplied solutions.
- Jeff adds stories of bosses suggesting SQL Server to solve front-end problems, likening it to “management by Delta Airlines inflight magazine.”
Notable Quotes:
"At some point, the guy sort of leans over very seriously and says, have you tried JavaScript? And it's like they're not even remotely talking about JavaScript." — Joel Spolsky [08:56]
"What if you use SQL Server? I heard the SQL Server was amazing..." — Jeff Atwood [09:19]
5. Birth of Server Fault: Carving Out Realms for IT
[11:10 - 15:53]
- Announcement of a new Stack Exchange site: Server Fault, focused on professional IT/system administration questions.
- Jeff details site boundaries: code-centric for Stack Overflow, sysadmin/networking for Server Fault.
- The challenge of drawing sharp lines between programming and IT, and the plan for cross-posting/moving questions as needed.
- Observations on the fragmented, niche-driven nature of the sysadmin community online.
Notable Quotes:
"Much more fragmented. In fact, I had people write me and tell me that they said it's just way too fragmented. You're not going to get any major personalities in IT system." — Joel Spolsky [14:49]
6. Technical Architecture: Multi-site Stack Exchange
[16:10 - 16:43]
- Discussion of shared code base across Stack Overflow and Server Fault (with config differences), aiming to avoid codebase branching and keep operations sustainable.
7. Localization & Language in Coding: Should Stack Overflow Serve Non-English Audiences?
[17:03 - 25:33]
- A debate unfolds: Should Stack Overflow own the global programming Q&A space in other languages, or let local language alternatives flourish?
- Joel emphasizes focus on English to serve the majority, but is open to other language communities forming autonomously.
- Challenges in programming outside English, given keywords, libraries, and technical jargon.
- Noted that some languages ("Simlish" in The Sims, or symbolic languages) avoid natural language entirely.
- Discussion on localized software resources like MSDN in Japanese; recognition of large non-English programming audiences (e.g., Japan, China, Germany, Brazil), and risk of fast followers ("the Google/Yandex/Baidu effect").
- Joel advocates focusing on 6–8 week windows rather than grand ambitions, while Jeff pushes for not arbitrarily limiting reach.
Notable Quotes:
"If you don't know English, that's fine too. There's plenty of other places you can go. I don't think that we need to own the whole pie." — Joel Spolsky [18:28]
"If we don't do those other languages soon enough, somebody else will come along and do them and then ... they will get critical mass." — Jeff Atwood [24:02]
"I think you got to focus on what's happening in the next six months, six to eight weeks, let's say six to eight weeks. That's the things you want to focus on." — Joel Spolsky [25:33]
8. Moderation, Penalty Boxes & "Justice" on Stack Overflow
[26:02 - 35:05]
- Joel introduces Stack Overflow’s “penalty box”: a time-limited suspension where troublesome users temporarily lose privileges but regain them after the penalty.
- Jeff and Michael had advocated for "hellbanning" (letting trolls interact, but hiding their contributions from everyone else), but Joel found that dystopian.
- Discussion of editing wars, especially over trivial changes (capitalization etc.), and why editing spirit (intent/motivation) matters as much as content.
- Comparison of online moderation to parenting: most problematic users are invested community members who sometimes go astray, not simple spammers.
- Analogy to programming mindsets: programmers’ literalness can make them tenacious—but also harder to adapt to fuzzier, social problems.
Notable Quotes:
"It's like the guys in black masks coming and just taking you away in the middle of the night. It really, really is." — Joel Spolsky on hellbanning [27:16]
"You can follow the rules and end up just totally pissing off tons of people. But I'm following the rules…" — Joel Spolsky [33:09]
"I was having this mindset of, I saw a bug with the world and I want to fix it." — Jeff Atwood, on the programmer’s urge to fix "bugs" in the real world [36:21]
9. Spam, CAPTCHAs, and Automated Abuse
[41:33 - 45:29]
- Updates to Stack Overflow’s flagging system (more granular, modeled on Craigslist).
- Most spam is blocked by CAPTCHA; some slip through via scripts or manual effort.
- Discussion on cat-and-mouse between spammers, CAPTCHA design, and the rise of human-solved CAPTCHAs for spam networks.
10. Listener Question: Database-Friendly, Human-Friendly Identifiers
[45:48 - 56:12]
- Alex highlights a Stack Overflow question about generating unique yet user-friendly database IDs.
- The hosts discuss various patterns from their experience:
- Short, fixed-length numeric IDs for easy sharing.
- "Smart keys": embedding info like dates into IDs.
- Avoiding guessable or sensitive ID schemes.
- Appending check-digits or random letters for security.
- Using memorable combinations (words/phrases) rather than opaque codes.
- Special consideration to cultural symbolism (e.g., unlucky "666", Chinese preferences for 8s/fours).
- Mention of human factors, like making codes that are easy to say/hear over the phone (letters that aren’t easily confused).
Notable Quotes:
"You should definitely have at least a checksum. If the number is going to be longer than two digits... just to make sure that numbers haven't been transposed." — Joel Spolsky [52:28]
"If you take common English words and you have two of them, that gets you an enormous number of possible combinations." — Jeff Atwood [55:05]
11. Listener Question: The Future of Software Distribution
[56:44 - 65:53]
- Andy Bryce (UK) asks: will downloadable software die in favor of web-only, blend/hybrid, or persist as-is?
- Panel predicts:
- Web-only isn’t happening for all classes of apps (e.g., audio editors like Audacity).
- Boxed software sales at retail are fading quickly; digital distribution (like Steam) is the future.
- Unified "app store" experiences (Steam, iOS App Store) lower friction, but legacy distribution channels (Microsoft’s retail partners) have slowed innovation.
- Distributors/retailers threaten backlash if vendors bypass them—but eventually, digital will win due to efficiency and economies.
- Some debate over whether one "app store" will rule them all for desktops—consensus is multiple, specialized "stores" (e.g., Steam, Intuit) make more sense than a universal middleman.
Notable Quotes:
"It's the same reason you would use PayPal and not reinvent PayPal. You're just getting infrastructure." — Joel Spolsky [62:13]
"Whenever Microsoft tries to go direct ... these retailers and distributors and so forth, shout bloody murder." — Jeff Atwood [63:30]
12. Closing Banter & Where To Find Alex
[66:06 - 66:54]
- Alex Papadimoulis: TheDailyWTF.com and @apapadimoulis on Twitter.
- Listeners are encouraged to submit questions for future episodes.
Memorable Moments & Quotes (with Timestamps)
- "Changing the name was like the ultimate wtf." — Joel Spolsky [02:38]
- "At some point, the guy ... says, have you tried JavaScript?" — Joel Spolsky [08:56]
- "It's more of a theoretical thing than an actual thing. People love to bring that example up, but I'm just not convinced that ... the porn method is necessarily [used to solve CAPTCHAs]." — Joel Spolsky [45:04]
- "You can follow the rules and ... end up just totally pissing off tons of people." — Joel Spolsky [33:09]
- "I want to have one place ... that's centered around English, because I believe personally it's de facto language of programming." — Joel Spolsky [18:28]
- "Steam is kind of like the app store for the iPhone on the PC." — Joel Spolsky [61:00]
- "You should definitely have at least a checksum." — Joel Spolsky [52:28]
Key Timestamps for Segments
| Segment | Start Time | |------------------------------------------------------|--------------| | Daily WTF Name Story & Editorial Approach | 01:08 | | IT vs. Software Development | 05:24 | | Code "Pragmatism" Debate & Examples | 06:54 | | Management's Bizarre Tech Choices | 08:44 | | Launching Server Fault & IT Community Discussion | 11:10 | | Localization, Programming Languages & Ambitions | 17:03 | | Moderation/Justice on Stack Overflow | 26:02 | | Spam, CAPTCHAs, and Defenses | 41:33 | | Database User-Friendly IDs Discussion | 45:48 | | Listener Q: The Future of Software Distribution | 56:44 | | Closing Resources & Contact Info | 66:06 |
Summary
This episode captures the wild ride of being a software developer in a changing world: the quirks, the war stories, the gray areas between IT and programming, and the philosophical tug-of-war over scaling moderation and the reach of developer communities. Blending war stories, product design minutiae, and community debate, it offers both practical tips and food for thought on where our tools and culture are headed.
