This is the 60th episode of the StackOverflow podcast where Joel and Jeff discuss the value (or lack thereof) of meta-discussion, how much "big iron" popular websites need, and whether code forking is sometimes inevitable.
A discussion of our newly launched outlet for meta-discussion at meta.stackoverflow.com. We view this as a pressure release valve. Why is meta-discussion necessary? What purpose does it serve, and for who?
Joel and I are both headphone enthusiasts. It's also a key part of the programmer's toolkit for getting "in the zone", so it's worth investing in this area. A quality set of headphones can deliver an audio experience equivalent to floor-standing speakers worth thousands of dollars!
After three logo contests, we are becoming experts in crowdsourcing design. There is a risk here when people don't know what criteria they're supposed to be judging on. Joel brings up the point of televisions which all have a "store mode" which maximizes brightness and contrast to the actual detriment of the overall image quality. And if you use a LCD at its out of box brightness (always the maximum) you're going to go blind!
We took the plunge and upgraded our database server to its maximum of 48 GB of memory. This is mostly a cheap form of insurance against future growth. We may also end up taking advantage of SQL Server's database compression. The old memory will be eventually used in a second database server we anticipate needing by the end of the year.
I was spurred on to do this after reading about the massive 512 GB monster server that Plenty of Fish bought. It's interesting how the cost of "free", at that scale (they're a top 20 website in the US and Canada), is no longer cheap. Joel points to a scathing New Yorker review by Malcolm Gladwell of Chris Anderson's book Free, which covers similar topics.
As Joel notes, paying $100,000 for a server could be more effective than spending $100,000 for a year's worth of programmer time to convert your database from single and monolithic (the traditional, classic SQL / Oracle model) to sharded (Hadoop and BigTable).
Twitter, for example, has moved to an almost all in-memory database architecture. The downside is that it is literally impossible for me to get to any of my Twitter messages older than the middle of 2008. Still a fan of twitter, though; it's actually useful. Consider the story of an indie musician who made $19,000 in 10 hours on Twitter, while netting exactly $0 from 30,000 traditional record sales.
What are the ethics and legality of using code from one job on a different job? If you get a job as a programmer and you never signed anything, then you own all the code you wrote. Most employers sign a Work for Hire agreement which means they own all the code you write while on the job.
Should Stack Overflow be eventually open-sourced? Joel is concerned that open sourcing the code would interfere with the hosted product Stack Exchange that Fog Creek is building out right now. I don't see a conflict between these two audiences; one has infinite time and no money, and the other wants a turnkey, "it just works" solution for a reasonable price.
Joel thinks that hosts deploying open source software crash the business model down to the cost of the hosting itself. I wonder how companies like Six Apart (of Movable Type fame) continue to survive if that is the case. And eventually, won't someone create an open source clone of what you're doing anyway? Why not beat them to the punch and take control of the situation, by open sourcing the real thing yourself?
I continue to have deep skepticism that the hosted Fog Creek version of Stack Overflow cannot avoid a serious fork with our code. The audience of the ad-supported general internet, versus the audience of paying customers building topic-specific 'stacks, is very different. Can version control tools save you when you're building the "same" products for such different audiences?
We answered the following listener questions on this podcast:
- Lloyd: "I am leaving a business and working for a competitor in a different business. I want to take the codebase I've worked on for the last few years with me -- to use as a reference point for future products. What advice can you give?"
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.
The transcript wiki for this episode is available for public editing.