The Stack Exchange Podcast show

The Stack Exchange Podcast

Summary: Hosted by Joel Spolsky with Jay Hanlon and David Fullerton, the Stack Exchange podcast lets you listen in on discussions and decisions about the Stack Exchange Network. The Stack Exchange podcast gives you an unparalleled view into how a startup is created and built. About Stack Exchange: Stack Exchange is a fast-growing network of over 100 question and answer sites on diverse topics from software programming to cooking to photography and gaming. We are an expert knowledge exchange: a place where physics researchers can ask each other about quantum entanglement, computer programmers can ask about JavaScript date formats, and photographers can share knowledge about taking great pictures in the snow.

Join Now to Subscribe to this Podcast
  • Visit Website
  • RSS
  • Artist: Stack Exchange
  • Copyright: Copyright © Stack Exchange 2011

Podcasts:

 Podcast #74 | File Type: audio/mpeg | Duration: 1:02:49

Joel and Jeff sit down with Kathy Sierra and Bert Bates backstage at the Business of Software 2009 conference. 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 podcast@stackoverflow.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.  

 Podcast #73 | File Type: audio/mpeg | Duration: 1:00:38

In this episode of the Stack Overflow podcast, Joel and Jeff discuss the meaning of “professionalism” online, the divide between ad-subsidized and pay business models, and the five things everyone should hate about their favorite programming language. A brief mini post-mortem of DevDays. What makes a good conference? What makes a worthwhile event for software developers? Speaking of conferences, Joel and I will both be at the Business of Software conference next week in San Francisco. A discussion of Robert Scoble’s article on the chat room / forum problem. Some of this stuff is counter-intuitive: you don’t actually want to be too welcoming to newbies, and you don’t actually want too much pure discussion. As Robert said, “the more conversations I got involved in the less I found I was learning.” I object a little bit to people proposing social design patterns to me that are historically demonstrated not to work — or, worse, are known to be toxic. Essentially, they offer opinions without any research or even knowledge of prior research in the field. We examine Joel’s latest Inc article, Does Slow Growth Equal Slow Death?. 37 Signals responded in their blog. Joel and I both tried to explain our careers strategy. I think Joel’s post on careers.stackoverflow.com was clearer than my post on careers.stackoverflow.com, in that I had to post an update to mine because I failed to explain it adequately — at least based on the reader comments. To the extent that careers is focusing people on “how can I be more professional online?” we heartily encourage this side-effect. Why wouldn’t you behave professionally online all the time, anyway? It is possible to have fun while being professional at the same time. We posted the results of our Amazon advertising experiment. It looks like software developers are a worst-case scenario for some types of advertising. Unfortunately. You can use free to undermine your competitors, but Google is going them one better — they are paying companies to use their products. It’s “less than free”. Google’s strategy is to get as many people online as possible, since more people online equals more ad clicks, statistically speaking. There’s an interesting tension between the “charge for stuff” (Microsoft) and “give people ad-subsidized stuff for free” (Google) models. Having been on both sides of this now, there are definite pros and cons to both. Joel and I concur: it probably doesn’t matter what language and toolchain you use, as long as it has a certain level of critical mass. What you should be more concerned about is the product you’re creating. If you’re happy with your current tool chain, then there’s no reason you need to switch. However, if you can’t list five things you hate about your favorite programming language, then I argue you don’t know it well enough yet to judge. It’s good to be aware of the alternatives, and have a healthy critical eye for whatever it is you’re using. Most programming languages don’t evolve particularly well over time. They’re usually replaced by other languages rather than new iterations of themselves. Why? What languages would you point to as the best example of growing and evolving in useful, relevant ways? We answered the following listener questions on this podcast: Edward: “What fun technologies are coming up that you think employers are willing to spend money on?” Colin: “If I’m happy with PHP, why would I want to convert to ASP.NET?” 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 podcast@stackoverflow.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 audi[...]

 Podcast #72 | File Type: audio/mpeg | Duration: 78:00:00

Joel and Jeff sit down with Jon Skeet, software engineer at Google London, and the first Stack Overflow user to achieve 100,000 reputation. A brief audio snippet of Jon’s presentation at London DevDays, featuring Tony the Pony and his sidekick. A discussion of the Google London offices, which aren’t quite up to Joel’s high standards, but are quite fun in their own right. And, they do offer free unlimited Curly Wurlies! The London office mostly does mobile development, which in Google world is Android. Joel explains his analogy of software development as a biology-based process, instead of a physics-based process.  In Coders at Work, Peter Norvig — chief research guy at Google — explains that his definition of correctness in software now mostly involves statistics intervals, not absolute boolean “this is right”, “this is wrong” tests. A brief discussion of Joel’s painful 14 line AppleScript odyssey. There is a wall — literally — of hundreds of mobile phones at Google London that they use to test against. We wonder how Google’s Android will avoid devolving into the same miasma of dozens or hundreds of different versions of hardware, all of which behave differently and require special software support or workarounds. Is Apple becoming to mobile apps what Microsoft was, and is, to desktop PC apps? Will success in future mobile devices require an iPhone emulation layer? Although Apple unquestionably deserves their success with the iPhone, Joel and I are deeply concerned that too much Apple dominance in this area is bad for developers, as Apple serves developers poorly. Jon spends a lot of time dealing with date and time issues, and shares one particularly horrifying timezone example. Apparently, time is often ambiguous and subject to change by human processes that aren’t … entirely rational. It is OK to have “fun” questions on Stack Overflow, but a) only occasionally, as we can’t have the system overrun by pure entertainment and b) the question must be legitimately programming relatd and accepted by the community. As with so many things in life, moderation is key. If you’re Jon Skeet, you can post your schedule on meta and it will get 40+ upvotes. Mind you, there is no technical answer there, it’s just Jon’s schedule. The daily reputation cap is partly there to encourage programmers to take a break. The goal isn’t to be on Stack Overflow, but to generally do things that make you a better programmer. While that certainly includes the fractional time slices of questions and answers that programmers so generously contribute, it also means doing your job, and writing code! To the extent that Stack Overflow itself becomes the goal, we are failing you. Our listener question this week is from … Jon Skeet! Why is the reputation cap (currently 200 points per day) time based? Would other forms of capping reputation work better or be more preferable? Our favorite Stack Overflow question this week is: What is the best Battleship AI? A good example of a fun, but appropriate, question for Stack Overflow. 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 podcast@stackoverflow.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.

 Podcast #71 | File Type: audio/mpeg | Duration: 1:46:47

A collection of clips recorded at the San Francisco DevDays conference, including Joel Spolsky, Mark Harrison, Jeff Atwood, Scott Hanselman and Rory Blyth. This episode runs a bit longer than usual. Joel Spolsky on web usability Mark Harrison on Python and the Norvig spell checker Rory Blyth on iPhone development Scott Hanselman on ASP.NET MVC 2.0 Jeff Atwood on Stack Overflow Ad-hoc roundtable podcast with Scott, Rory, Joel, and Jeff backstage at DevDays. Warning: extreme ramblosity ahead! Joel explains his Duct Tape Programmer post. Apparently DevDays is a duct tape conference, and this section of the recording is a duct tape podcast. Some discussion of the ubiquity of mobile code. Also, if you are nostalgic for the era “when development was hard”, the consensus is that you should be doing mobile development today on iPhone, Android, Windows Mobile, or Symbian. Rory elaborates on his experience with (and effusive opinions on) iPhone development to date. Is coding in Objective-C best accompanied by a flux capacitor, New Coke, and Max Headroom? Also, his excitement for MonoTouch. Joel and Scott put on their amateur language designer hats and have a spirited discussion of type inference and Fog Creek’s in-house DSL, Wasabi. Scott covers some of the highlights of new and shiny features coming in the Visual Studio 2010 IDE, the C# 4.0 language, and the ASP.NET MVC 2.0 web framework. Our favorite questions this week: How do I create unicode smileys? So far beyond :) it isn’t even funny. Who knows, you might even learn some typography along the way! 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 podcast@stackoverflow.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.

 Podcast #70 | File Type: audio/mpeg | Duration: 1:06:56

In this episode of the podcast, Joel and Jeff discuss DevDays, the diversity of Stack Exchange sites, the debut of CVs and careers on Stack Overflow, and the viability of WiFi at tech conferences. Stack Exchange is now officially in public beta! There are a huge number of sites running on the Stack Overflow engine. Far more than I expected at this early stage, anyway. The Stack Exchange sites are pushing the boundaries of the specific audience (that is, programmers) we designed it for. Consider the audience overlap between answers.onstartups.com, epicadvice.com, and moms4mom.com. I was getting usability reports from my wife on that last one, which was quite surreal. Also surreal: that Jon Skeet is a top user on one of the above. You’ll never guess which one! Do some of the Stack Exchange sites compete with Stack Overflow? Such as ask.sqlteam.com and snippetgood.com? Not necessarily; if you’re particularly enthusiastic about some niche, you’ll get more questions and tighter focus of community by going to site dedicated to that topic.  Joel feels that Stack Exchange works so well as a support forum that he’s shutting down all the other online FogBugz web support tools in favor of fogbugz.stackexchange.com. What’s the minimum number of knowledgable, invested users you need to have a functional online Q&A community? Joel says one (!). I think it’s more on the order of a few dozen. The software part is easy, the real hurdle is this: can you rustle together a core community of a few dozen enthusiastic, knowledgable folks? An extended discussion of our new careers section of Stack Overflow, which we launched last week. Joel sort of wrote the book on this topic, with Smart and Gets Things Done: Joel Spolsky’s Concise Guide to Finding the Best Technical Talent. Our careers approach grows out of Joel (and my) dissatisfaction with the current status quo. It sucks, and we’d like to build something better. This is the philosophy behind careers.stackoverflow.com : smart companies should be pursuing good programmers, and not the other way around. We also want to cut out the cheesy for-pay contingency recruiters (or any other middlemen, for that matter) from the mix, and directly connect passionate programmers with companies that understand the value of programmers who hit the high notes. This is Fog Creek’s guarantee for every service they charge money for: “The Fog Creek Promise: If you’re not satisfied, for any reason, within 90 days you get a full refund, period, no questions asked. We don’t want your money if you’re not amazingly happy.” Stack Overflow has adopted this promise as well. Why don’t all companies do this? Why would you want to keep an unsatisified customer’s money — it generates ill will far out of proportion to the tiny amount of money involved. As a part of careers, we’re planning to roll out free, public CVs with user-selectable “vanity” URLs in a week or two. In retrospect, we should have done this from day one, as it compliments the public record of your Q&A on Stack Overflow. As Joel notes, the best way to control your online presence is to fill it yourself with all the cool stuff you’ve been doing! Don’t let others tell the story of you when you can tell it yourself. Our favorite question this week is from Server Fault: Why is Internet access and Wi-Fi always so terrible at large tech conferences? Based on Joel’s recent DevDays experience, reliable WiFi at tech conferences seems to be rare. Why? How can this be fixed? What does it take? 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 podcast@stackoverflow.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. [...]

 Podcast #69 | File Type: audio/mpeg | Duration: 1:05:53

Joel and Jeff sit down with Peter Seibel to discuss his new book Coders At Work, the effect of listening to music while coding, and the future of programming books. Peter draws on some commonalities in the 15 famous programmers he interviewed for Coders at Work. Peter agrees with Joel that concurrent (threaded) programming is some of the hardest programming anyone can do — even the extraordinary programmers he interviewed concur on this point. Susan Lammers’ book Programmers at Work was the early inspiration for Coders at Work. It’s a similarly fantastic read. The other book in the same series, Founders at Work, is a great (albeit less technical) too. Many of the programmers interviewed (with the lone exception of Brad Fitzpatrick) got their start before home microcomputers such as the Apple II were even available. But they all spent deep, huge hands-on volumes of time on a computer, somehow. One big sea change in the last 30 years of programming: per Jamie Zawinski, “these days, almost all software is social software”. The days of the solitary, disconnected programmer toiling away in a server room are essentially over. Even a hardcore game programmer like John Carmack (who, sadly, could not be reached for interview in Peter’s book) has gone on record with a back to basics approach: “if I were off by myself, I would want to become an iPhone game developer.” Does listening to music affect your ability to program, positively or negatively? Joel cites one unpublished study, then goes on to mention that he occasionally watches video while programming. Is there any actual, verifiable data on this either way? Have we passed through the “golden age” of technical books? Are technical books dead? What niche will books fill for programmers in the future? Joel and I both remember poring over programming manuals in great detail in the early days because there were no other sources. We answered the following listener question this week: Stuart: “Do you have any opinions on listening to music while coding? Is this a viable alternative to having a private office?” Our favorite questions this week: Proposal: Free Vote-Based Advertising for Open Source Projects. We’d like to put some of our Stack Overflow remnant ad inventory to work for the community via voting and popular nominations. The goal is to highlight useful and interesting open source projects that programmers might not be aware of. What is the single most influential book every programmer should read? Why, Coders at Work of course! This was one of the first popular questions posted on Stack Overflow during the private beta; programmers do love their books. 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 podcast@stackoverflow.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.

 Podcast #68 | File Type: audio/mpeg | Duration: 0:56:53

Joel and Jeff discuss outsourced DNS, virtual machine “appliances”, and programmers as library users versus library writers. As a dyed in the wool fan of fake plastic rock, I am required by law to mention that The Beatles: Rock Band was released last week. It’s great! We changed DNS providers, as our existing registrar’s DNS service was highly … irregular. Should you pay for outsourced, dedicated DNS? What do you get for that money? What kinds of value can outsourced DNS provide? What clever things can a smart DNS provider do? If you need to troubleshoot your DNS, try DNS Stuff. DNS is heavily cached throughout the internet, but I think we overestimate how efficient these distributed caches are. For example, Yahoo found that 40-60 percent of their users have an empty browser cache experience. There is value in having a fast, distributed core service for the no-cache scenario. A brief discussion of our use of virtual machines in our little server farm. Since the only trouble spot for VM performance is disk, that gives us the flexibility of using a lot of great Linux and open source tools for networking (no or very little disk dependency), such as HAProxy and Cacti. Sometimes people should question the premise of your question; as in our Server Fault question about having two default gateways, it turns out that the only sane answer is “don’t do that.” When it comes to Stack Exchange, the broader the topic, and the more unanswerable questions you have, the worse the engine will do for you. The engine is designed for reasonably narrow topics, with a majority of questions that can actually be answered in some reasonable way. Joel likens the classic divide in software developers to “library users versus library writers”. At what point do programmers cross that chasm? Do they need to? Joel says “we write one algorithm per year.” How do you deal with the dancing bunnies problem? Also known as the Dancing pigs problem. “Given a choice between dancing pigs and security, users will pick dancing pigs every time.” We answered the following listener questions this week: Steve: “The etiquette rules for meta are much looser than on the other Trilogy sites. Does this have ramifications for Stack Exchange sites?” Brian: “Technology changes so fast that most developers burn out in 20 years. How do we retain our historical knowledge if the rate of attrition is so high?” Our favorite questions this week: How can I gently explain to non-techie friends they are the victim of a hoax? It is part of the responsibility of a true superuser to tend to those users who can’t protect themselves. What is the worst real-world macros/pre-processor abuse you’ve ever come across? The C, she is dangerous! 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 podcast@stackoverflow.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.

 Podcast #67 | File Type: audio/mpeg | Duration: 1:05:08

In this episode of the Stack Overflow podcast, Joel and Jeff discuss the ethics of Craigslist, the pitfalls of customer-installable software, and caching for anonymous web users. If you’d like a Stack Overflow, Server Fault, or Super User sticker, you can now get three! Just send a SASE to Fog Creek software as documented in this blog post. Please don’t start a Ponzi scheme with those international reply coupons, though! There was a excellent, huge Wired article on the pros and cons of Craigslist, titled Why Craigslist is Such a Mess. I am mentioned in the article, as an example of someone who created an tool to do all-city search that got shut down by Craiglist, which is quite militant about controlling the service. Joel feels that what Craig Newmark is doing with Craigslist is a brand of evil, in that it has destroyed the income stream (classified ads) that supported professional journalism. Craigslist was one of the models we studied extensively when building Stack Overflow, even cribbing their flagging mechanism. Joel and I have an extended discussion about the ethics of Cragislist. Joel and I disagree about the future of professional journalism; I think the newspaper business model was fundamentally flawed. It is tempting to blame Craigslist for the downfall of newspapers, but if it wasn’t Craigslist, someone else would have done the same thing. For a thoughtful discussion of the topic, check out Clay Shirky’s article Newspapers and Thinking the Unthinkable. One side effect of Craigslist being free and incredibly popular (more pageviews than eBay and Amazon combined) is that they are breeding the perfect spammer. We looked at Craigslist as an key example of designing for evil. We suspect that over time Craigslist might have to start charging money for most, if not all categories. Joel’s Stack Exchange playground is biztravel.stackexchange.com, but we need better color schemes. I think we need to have a contest to set some reasonable default color schemes for Stack Exchange customers to choose from. One thing Joel has learned from selling Fogbugz: software designed to be installed on a server in-house at a customer’s site, under full control of that customer, is almost never worth the hassle. Virtual machines, or the software-as-applicance models, are more sustainible. But most companies won’t allow outside vendors to remote into the app to troubleshoot it, either. A tremendously important part of designing a large public website is optimizing for anonymous user access, which will be a large proportion of your traffic. At Stack Overflow, even before our public launch in September, we spent a lot of time ensuring that anonymous usage is aggressively and heavily cached. Our favorite Stack Overflow trilogy questions this week are: Countdown app for DevDays. Joel needs a cool app to help start DevDays sessions on time! Here’s an opportunity to show off your mad coding skills, and have your software prominently featured at every DevDays venue. We answered the following listener question on this podcast: David Smalley from DocType: “Shouldn’t websites optimize heavily for anonymous usage patterns?” Absolutely! 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 podcast@stackoverflow.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.  

 Podcast #66 | File Type: audio/mpeg | Duration: 1:10:30

In this episode of the Stack Overflow podcast, Joel and Jeff discuss reverse proxies, the pitfalls of self-support communities, and designing for engagement. It is my intent to attend the London and Cambridge DevDays, if my passport comes back in time. Speaking of which, is there anything funnier than a baby’s passport picture? We officially disabled the built in ASP.NET Session state, so as to set ourselves up for multiple Stack Overflow servers. Fortunately, we don’t need a lot of shared state, but we were using it in a few places. We created a small database table to store the small bits of per-user state that we need. I take an inordinate amount of joy in deleting code from our project. Nothing is more satisfying! To switch over to multiple servers, we need some kind of load balancer. We chose HAProxy, but we also had to configure tproxy (transparent proxy) support so that the IP addresses arriving at the web servers are not all the same. For now we’ll be load balancing using a simple hash of the incoming IP address. Depending on which hash you get, you may end up on a different server, but you’ll stay on that server as long as your IP address is stable. This is a fairly crude form of balancing, but should be sufficient. It’s incredible how aggressive Google’s indexing of our site is; it regularly pulls down a gigabyte of compressed text from us per day, and it wants to do even more. One of the primary motivators for adding a second server is to reduce the traffic load enough so that we can “unleash” google via webmaster tools. A belated welcome to our newest and third site in the trilogy, Super User — it’s for any general computer software or hardware questions, but we’ve already had to disallow videogaming questions. How much overlap will there be between our public websites, and the sites launched through the Stack Exchange service? But remember, the software (however great it may be) is the easy part. Building a community is the truly difficult part! To succeed, that’s what you should focus on. Joel discusses the shifting meaning of “Beta” — it’s been contorted into “the first five years of a product”. But there is an art to the classic beta, in terms of releasing in a staggered fashion to fresh testers who haven’t seen it yet. Google’s self-support model is often unsatisfying because it is community driven, yet the community is powerless and has no real stake in developing the product. They’re given padded rubber rooms to bounce around in harmlessly. That’s not a good way to build community. Google needs a lot more evangelists out there interacting with the community and bringing messages back and forth to the mothership. This is something that Microsoft does extraordinarily well, but Google does not seem to “get it”. A brief discussion of some key changes to (hopefully) increase engagement between question asker and answerers. The goal is for answerers to be able to quickly scan a question and see if they’re dealing with someone who cares, or not. The default votes answer sort order had a flaw: the sub-order was relevant! We now use random as the sub-order to the votes sort, to minimize any effect of the sub-order. Answers will now appear in random order if they have the same number of votes. Answers should be voted up because they’re inherently good answers, not because they happen to accidentally be on top at that particular moment. We answered the following listener questions on this podcast: Nathan Long: “Is it valid to discuss iPhone and Blackberry questions on Super User?” This has been discussed on meta. Brian Kelly: “Is there any formal organization for potential candidates to meet employers at DevDays?” If you’d like to submit a question to be answered in our next episode, record an audio file (90 seconds or less) an[...]

 Podcast #65 | File Type: audio/mpeg | Duration: 1:02:44

In this episode of the podcast, Joel and Jeff discuss lessons from a year of building Stack Overflow, the mysteries of COBOL, some YSlow website optimizations, and magic numbers. What have we learned in a year of building Stack Overflow? If someone wanted to design a system like Stack overflow, I’d give them these two pieces of advice. First, never have any unbounded behavior in your website. Anywhere. Bounding, velocity and rate limiting, should be pervasive throughout your design from day one. Second, provide an outlet for meta discussion from day one. Unless you provide a teacher’s lounge, or afterschool activities for the students, you haven’t completed the experience. In our experience, the best way to manage online behavior is to make the positive behaviors fun and rewarding. If you do this right, the bad and negative behaviors fall by the wayside. (Although you also, regrettably, will still need tools for dealing with rare but aberrant behavior.) Neither Joel or I have ever met a COBOL programmer. That’s why we’re skeptical of these dramatic claims that the world is overrun with invisible COBOL code. There are, surprisingly, some good COBOL questions on Stack Overflow, but it’s a tiny fraction. How much COBOL code can you fit in the 1 megabyte (at most!) memory that these 60′s and 70′s era servers had? Or the tiny hard drives?  Is what happened to COBOL programmers eventually what happens to all programmers? Take SQL as an example. If you have 256 gigabytes of main memory — not very expensive already, and getting cheaper every day — is all that SQL and disk stuff still relevant? We recently spent some time improving performance on Stack Overflow, and as always we’ve learned that whatever we think is slow, is not, and the part that is slow is in a totally unexpected area of our code. Never assume you know where a performance problem is, because I can almost guarantee you’re wrong. Profile it and look at the data! We’ve seen huge benefits, more than anticipated, by moving our static web content to a seperate, cookieless domain. (We registered sstatic.net for this purpose, which explains the rationale.) This is one of the key recommendations from tools like YSlow and Google Page Speed. It’s a surprisingly effective form of poor man’s web farm scaling. A brief digression into the “why does anyone still use IE6″ argument. Here’s Microsoft’s official position, as crazy as it may seem. We may be at the end of the road for the low hanging fruit of website performance optimizations. Of course we can always buy faster hardware. But that doesn’t fix the speed of light problem. Given our large international audience, I sort of wish we could have multiple server farms in different geographic locations, but that may be quite a long way off. Computer “magic number” number bugs are kind of fun; you may remember a very public Excel bug in this vein. Joel once got a credit card with an expiration date set in 2049, which is technically valid, but it barely worked anywhere. Our favorite questions this week: Is 23,148,855,308,184,500 a magic number, or sheer chance? A fascinating tale of programmer number forensics. How to learn Cobol. OK, but first of all, why in the world would you want to do this? 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 podcast@stackoverflow.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.

 Podcast #64 | File Type: audio/mpeg | Duration: 1:05:15

Joel and Jeff discuss the disappointment of Google AdSense, the difference in skillset between programmers and testers, and the value of standards groups to working programmers. If you have feedback for Stack Exchange (still scheduled for beta by September 1st), please leave it on meta.stackoverflow.com under the Stack Exchange tag. The speaker list for Stack Overflow DevDays is coming soon, it’s looking really impressive so far. For example, both John Resig (of jQuery fame) and Miguel De Icaza (of Mono fame) will be at the Boston leg, and there are still seats available! There’s also a rumor that Jeff Atwood, whoever that guy is, may show up in London. We are forming a League of Justice on the web. The first new hero in our league is How-To Geek, of the most excellent How-To Geek website. It’s the editorially cultivated content yin to our user-generated yang. On the crushing disappointment of Google AdSense on Stack Overflow. The theory of AdSense, matching topical ads to the content on the page, is fantastic. The reality of the type of ads we actually saw on Stack Overflow is a terrible disappointment. They were barely relevant, and often quite ugly. Our hand-selected ads, targetted to our audience, perform 50 times better than AdSense. We believe that if Google could somehow tag a site with a specific audience topic (such as, say, “programmers”) it would do much better. If a site like Stack Overflow, which does almost a million pageviews a day, can’t make enough to cover even one person at half time using Google AdSense, how does anyone make a living with AdSense? Does it even work? Joel says the only people making decent money with AdSense are scammers who specifically build websites to do nothing except target high pay-per-click keywords. I am not sure this is what Google had in mind. It is a stunning indictment of “the power of the algorithm”. Our ad partner is Alex from The Daily WTF, and we take responsible advertising seriously. The right kind of advertising, the relevant, interesting, thoughtful kind is win-win. And always in moderation. We are willing to leave money on the table to have the right kind of ads that we like editorially. Joel has a great discussion about the difference in skillset between a good tester and a good programmer. “There’s something about the nature of the work that’s different enough that a lot of good developers are bored by testing, and a lot of testers are too detail-oriented to get anything done as a developer.” Some programming skills are helpful, but they’re different. There is great risk in creating standards in advance — how do you know if you’re solving a problem people care about, or even the right problem in the first place? Also, the disconnect between the theory and practice can be rather painful. Who can we blame for the codified misspelling of “referer”? I would like to have some words with this person. We frequently use Stack Overflow to build Stack Overflow. It’s almost a recursive endeavor. If you browse the questions the team asks on Stack Overflow or Server Fault, many of them are directly related to development and deployment issues on the sites themselves! Our favorite questions this week are both from Super User, which for now is still in semi-private beta. If you need the password it is “ewok.adventure” without the quotes. Upgrading from Windows 7 RC to Windows 7 RTM. It’s perplexing why Microsoft doesn’t officially support RC to RTM without a little hack. Troubleshooting Failed Upgrade to Windows 7. Three out of four of my Vista machines upgraded to Windows 7 fine. That fourth one, though … I meticulously documented all the steps I took to troubleshoot it, so maybe my failure will be helpful to someone else in time. We answered the following listener questions on this podcast: Adam: “The Fog Creek way of hiring prog[...]

 Podcast #63 | File Type: audio/mpeg | Duration: 1:13:55

Joel and Jeff discuss the Mythical Man Month problem, keeping communication in check, Windows 7, and web scaling.

 Podcast #62 | File Type: audio/mpeg | Duration: 1:03:34

In this episode of the Stack Overflow podcast, Joel and Jeff discuss software updates, the power of APIs and plugins, and leading by example. A brief discussion of how software should be updated, using Firefox and Apple’s Software Updater as examples. In a perfect world, you wouldn’t need to care about software updates because you’d always be on the latest version. A smart and silent update mechanism should be architected into your app from day one. Web apps largely get a pass on the “latest version” problem, but even here, you could update smart by having multiple web servers behind a load balancer, and rotating some servers out of service to update, then back in with the latest version. Speaking of software updates, Fog Bugz 7 has shipped. It’s the first new version in two years, with a brand new, extensive plugin API. Joel wonders if having a robust plugin model can replace the need to constantly ship new major versions of your software with new features. I question whether Fog Creek got their plugin API right the first time, but if done right, this is totally plausible. I view plugins as free product design and highly valuable product feedback — so you should fold the top 5 plugins / add-ons into your product every year or so. But how do you do this without crushing your partners in the ecosystem? There are plenty of examples of popular iPhone paid apps being obsoleted by, say, iPhone OS 3.0. Joel argues that plugins should go vertical, and stay out of the path of that oncoming steamroller. Now that we have four sites in the er.. trilogy.. it is finally possible to associate your accounts between the sites, and migrate questions fairly painlessly from site to site. Sometimes we belatedly realize that we got something wrong. We’re now thinking that our current +10 upvote, -2 downvote formula nerfs downvotes into oblivion, and lets certain classes of users who tend to ask a lot of low-quality “do my work for me” questions gain a substantial amount of reputation over time. We are pondering making an adjustment here, which is under discussion at meta.stackoverflow.com. Maybe we should be weighting question votes differently, since users who continue to repeatedly ask dozens of low quality questions are still an ongoing concern. As we get more and more questions in the system, the voting system needs to help us discriminate good questions from poor ones, so we want to encourage question votes. There is now officially a full time Fog Creek developer working on Stack Exchange — welcome Aaron Maenpaa to the team! On a related note, one advantage of open source tooling is that you don’t have to have painful discussions about licensing expenses and whether the tool is worth using as your team grows. R language enthusiasts are taking a clever and effective approach to get more R content on Stack Overflow — we think this is a great way to build a community that is completely in tune with the spirit of the site. In the post Leading by Example, I proposed that one of the best ways (maybe the only way?) to lead junior programmers is to do the things you wish they’d do, and let them observe your success. Those that can be led, will follow to some degree, and the rest are a lost cause. Let’s broaden the terms. Forget programmers, how do you get pizza guys or car wash guys to get excited about what they do? Joel says you can’t. I say there has to be some kind of hippie commune shared ownership business arrangement. At the very least, you can become interested in efficiency, since that might mean you could leave earlier, make more money, or work less. We answered the following listener questions on this podcast: J.D. Long: “The R language is attempting to move away from isolated mailing list and adopt Stack Overflow as a resource. What’s a good way to do this?” Sergei: “I am a programmer in a small IT company. I [...]

 Podcast #61 | File Type: audio/mpeg | Duration: 1:10:25

In this episode of the podcast, Joel and Jeff sit down with Miguel de Icaza of the Mono project to discuss Mono, Silverlight / Moonlight, and the pros and cons of open sourcing your code. Miguel is one of the lead developers on the Mono project, which is an ongoing effort to bring the .NET framework to Linux and other non-Microsoft platforms. Miguel characterizes Silverlight (known as Moonlight on Mono) as “the good parts” of WPF. It’s a newer way to build a cross-platform GUI app, an alternative to GTK and Windows Forms. A brief discussion of the implications of cross-platform GUIs, which lack that native flair. Do you have the manpower to maintain three distinct versions of your GUI application — one for Mac, one for Windows, and one for *nixes? Do only programmers notice the subtle differences? Revisiting Fitt’s Law, and applications and operating systems that don’t make good use of it. Certain areas of the screen, mostly the top and bottom and to a lesser extent the sides, are infinitely large, and should be used prominently in the UI to leverage Fitt’s Law. Mono runs on the iPhone, through the Unity game engine! This was challenging for the Mono team to develop, because interpreters and runtimes are explicitly disallowed in terms of the iPhone SDK. Mono had to be converted from a JIT to a static compiler. Per Miguel, programmers wanted Mono because Objective-C is fairly primitive in memory management and requires a lot of repetition and boilerplate. With Mono “this is all taken care for you”, as a higher level language. Due to concerns within the free software community, Microsoft made a legally binding promise that it will not enforce patents against Mono — for the core framework. It turns out that the Microsoft Office 2010 web component, which is free for consumers, is 100% JavaScript + HTML. If Silverlight wasn’t required to pull off Office-in-the-browser by Microsoft itself, is Silverlight really necessary in the bigger scheme of things? Miguel divides the world into PutPixel Programmers and printf programmers. Which type are you? Some big game projects that use Mono for scripting: Second Life, and The Sims 3. Also, a very large social networking site I can’t mention by name was recently ported to Mono. One of my long term 5 year goals is for the Stack Overflow discussion engine to become a go-to choice for public internet discussion, on par with phpBB and its kin. Miguel offers his insight into the controversial discussion of whether open sourcing Stack Overflow would destroy our business model. We actually have contributed one open-source component of Stack Overflow back to the community — the Javascript WMD editor. Also, we provide all of our question and answer content back to the community licensed as cc-wiki. Our Stack Exchange hosted solution will offer free versions for non-profit organizations, and we’re also looking at provided an ad-subsidized version of it as well. Miguel de Icaza is also a Stack Overflow user — with 22 answers and 3,484 reputation.  Check out the Mono Migration Analyzer, which will tell you how easily you can (or can’t) port your .NET project to Mono and run it on other platforms. Please do, because feedback from this tool is used to prioritize future Mono development! Miguel committed to speaking at the Boston Stack Overflow DevDays and presenting some of the same Mono goodness he talked about here. In other Stack Overflow news, the Super User semi-public beta is now open. Come join us! Our favorite Stack Overflow question this week: Is Mono ready for prime time? but of course! See for yourself with a new Mono Visual Studio plugin! 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 podcast@stackoverflow.com. You can record a question using nothing but a telephone and a web browser. We also have a [...]

 Podcast #60 | File Type: audio/mpeg | Duration: 1:07:06

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 d[...]

Comments

Login or signup comment.