Atlas · Stevey's Tech Talk · Stevey's Tech Talk
Jeff Atwood (Stack Overflow cofounder)
Steve: Hey, everybody, and welcome back to Stevey's Tech Talk. I have our first ever really famous guest today. I finally landed a big fish — I've got Jeff Atwood here, from Stack Overflow and now Discourse. Jeff was the co-founder of Stack Overflow, and he's had an illustrious and remarkable career that we've all followed for a long time. As you know, Stack Overflow is the most important resource for programmers around the world — and when Jeff started it, I actually didn't think it was going to work. I don't think I ever told him that. Anyway, Jeff, we're really glad to have you on the show. We had a camera issue we couldn't resolve, so we're going to do audio only today. So, Jeff, take it away.
Jeff Atwood: It's an incredible compliment to say that Stack Overflow is such an important resource. I like to think of myself as a tool builder — and partially that's because I'm overcompensating, because I'm a terrible, terrible mentor. I'm just not good at mentoring. But I'm really, really good at execution and tool building. And I feel like Stack Overflow was this Venn diagram of things that we needed. Me and Joel Spolsky — I approached Joel.
Steve: You probably did, and I probably went, no, that's stupid, because I didn't get it. I didn't think it would fly. Google had tried something like that and it didn't get off the ground. So I just completely misunderstood the scale it was going to be able to operate at, and how successful it would be. My loss.
Jeff Atwood: I approached a number of people online — I might have actually emailed you — because I remember having all this energy in my blog, all these people paying attention. This was back when people used to blog. And Joel came back with this great idea: there's this site, Experts Exchange, with a very unfortunate URL. Once you combine those two words, you get kind of another word in the middle that you don't really want. The service it was providing was a good service, but presented in the worst possible used-car-sales scammy way imaginable. It was a Q&A site for programmers and would come up all the time in your Google searches. But it was just like walking onto the lot of a really terrible used car salesman — the plaid suit, the horrible tie, just the worst imaginable experience.
Jeff Atwood: And Joel and I were like, what if that, but not sucking? Remove all the horrible stuff and get to the basis of it: what if we had a Creative Commons Q&A for programmers, by programmers? I thought that was a brilliant idea, because I'm not a good idea person — I'm really an execution person. I'm good at iterating and I'm good at execution, but I'm not that kind of dreamer. And Joel had that idea. We ran with it and came up with this Venn diagram of stuff that we saw working online. It's in the blog post that I wrote. It has four circles — things we thought were working on the web. One was Wikipedia. One was Digg slash Reddit, back when Digg was still a thing. And the other was blogs; blogs were working at the time. We combined things we knew were working and said, okay, if we combine the good aspects of all these sites into a general-purpose Creative Commons Q&A for programmers, that would be a big step forward. And it was a way to engage with the community — you have this whole audience paying attention to the blog, and it's like, well, let's do something. Let's not just read a blog entry — let's read a blog entry and then, like the underpants gnomes, question mark, question mark, question mark, solve problems. So we'd be building this searchable archive of programming knowledge.
Jeff Atwood: It also had downsides that were hard to see at the beginning. Wikipedia is not an institution that's free from controversy — what is notability? Should every man, woman, and child on Earth have a Wikipedia page? So we absorbed a lot of tension from some of these choices, but also a lot of stuff that worked. That was the genesis of the idea. It was me and Joel, and we had a podcast. We'd talk every week, very much like this, about, oh, we're going to do this thing — we were kind of coy about what it was because we were still figuring it out. So we had another artifact from the process that we could share. And that itself was a lesson about working in public versus working in private. Ideas don't spring forth from your head like Athena from the head of Zeus, fully formed. You have an idea, and then you think, well, gosh, what about this? And then you have to try things. There's a lot of iteration built into the model, which was very natural for me, because you can't build things without shipping them. You have to ship and build and build and ship.
Jeff Atwood: There's this Super Bowl commercial — I think for IBM, of all companies — about building an airplane while you're flying it. They visually showed people riding on an airplane while it's being assembled, serving drinks, and the drinks are flying in people's faces because of the wind. It's a perfect analogy for building software as you go, which is risky — you're in an airplane flying thousands of feet in the air, and you're building it while you're flying it. It sounds like a really bad idea, but paradoxically it's much better than the idea that you can build this perfect thing without actually experimenting.
Jeff Atwood: So that was the start of everything — me and Joel having these calls. And then I recruited a few people. Geoff Dalgas, who I'd worked with at a previous job. Jarrod Dixon, who I'd worked with at a previous job. Those were the four people that started Stack Overflow. Technically — and I don't mean this in a derogatory way — Michael Pryor was also a partner, just because Joel always split things down the middle with Michael. That's how they did business. And there wasn't really money involved. That's the other surprising thing — I thought of Joel as this rich, successful person, and I was like, okay, so you'll pay for this. And he's like, no. So we built it out of pocket. Luckily we were in a privileged place — we had savings, we were programmers making a good living. I could quit my job and pay myself a very small nominal salary. We put in like $10,000 each — me, Michael Pryor, and Joel — just so we'd have an LLC. And I was paying Geoff Dalgas and Jarrod Dixon out of pocket, like $1,000 a month, because that's what I could afford. There wasn't any magical gifting of funds. It was just a bunch of programmers fooling around who had the time and money to try something.
Steve: Right, so it was before cloud, more or less. You guys basically did one of those 80s or 90s garage startups people talk about — initially there's not even any investors. You're just cranking it out. What did you write it in?
Jeff Atwood: It was Microsoft, because that's the stack I was most familiar with. They had just come out with a sort of modern, Rails-ish framework for building web apps that was more aligned with the state-of-the-art thinking of how to build a web app — which was strongly influenced by Rails and Ruby. So we had a very reliable set of tools that was actually very, very fast. People really underrate the speed of compiled code versus interpreted code. You can do sleight-of-hand tricks, but man, it is staggering. Compiled versus interpreted — it's a big, big difference.
Steve: And what's Stack Overflow written in now?
Jeff Atwood: I would assume pretty much the same stuff — I left in 2011. They're SQL Server and everything. And the expensive bit is always SQL Server. That's where they get you, with the enterprise licenses — the databases. It's the lesson of Oracle. The world's most evil person, Larry Ellison — that's his gift to the world, very, very expensive databases.
Steve: Yeah, and databases are still where cloud providers make a large amount of their money. Most of their users use basically compute, network, and storage — like S3 or Google Cloud Storage. But when you get to the databases, that's when they start to ratchet up the costs. It's handy to have managed, hosted databases — don't get me wrong, I love that they automatically make backups for me — but man, they charge you a lot of money. It's pretty crazy. I have a little bitty database that costs me close to a thousand bucks a month for my game, just to have it. I was looking at switching to a BigTable at one point, and it was going to be like 16 grand a year for an empty BigTable. So they really gouge you there. But they've got to make their money somehow.
Jeff Atwood: When we started Discourse, we actually racked hardware, because we were trying to run really lean. Even today, the price of cloud stuff has come down substantially — if you look at S3 pricing, it's dramatically lower than it was at the start of that era. But even factoring for that, hardware is so cheap and so fast, co-located. The thing is, it's effort. You have to buy it, rack it, someone has to install it — it's not frictionless. And if you need more, you have to go buy more; you can't just push a magic button. So I think hybrid is maybe even on the way out — I think cloud is going to become so dominant that co-located hardware kind of goes the way of the dodo. But even today, it's an order of magnitude cheaper, if not more, to do stuff on bare metal. And it's incredibly fast. The stuff you can buy now — the M.2 drives, and the number of cores that AMD pressured Intel into giving everyone finally. Thank you, AMD. It turns out competition actually does matter.
Jeff Atwood: Even stupid stuff like ECC — error-correcting memory. I had to be convinced this was a thing. I was like, on paper I get it, but are you going to tell me that every single computing device in the world without ECC is just randomly flipping bits all over the place? How would anything work if that was the case? I've since come around — it's more like an insurance policy, particularly as you get to scale. At scale it does matter; individually it doesn't.
Steve: Well, you just hit on the reason that even though colo hardware is super cheap and super fast — if you're successful, you're going to become a victim of your own success. The biggest problem is not installing it or maintaining it. It's that you're going to have hardware failures. Nodes will fail once you get to scale, and you're going to have to replace them. That's the value the cloud providers give you — they make sure the hardware layer is constantly being kept up.
Jeff Atwood: Yes, but you've got to realize you have the same pressures on the consumer side. No consumer company wants their stuff to be unreliable, because that's expensive. If you ship CPUs and 5% of them are defective, that's pure cost. So there's all this pressure for the consumer stuff to get really reliable.
Jeff Atwood: So the myth of the server hardware: Intel wants you to believe that Xeon CPUs are forged like the ring in the Fellowship of the Ring, in a magical forge where enterprise-y equipment is made that's better than everything else. But the reality is, it's the same stuff from the same foundries, with literally a trace cut so you don't get the enterprise functionality — in this case, ECC. Intel's like, nope, if you want ECC, you've got to pay the Xeon tax. And it's complete marketing nonsense. AMD pushed Intel on this — nope, we're going to give ECC to everybody. And everybody was like, yes, finally. Why, if you could almost for free have additional memory integrity, would you put it behind the mythical gate of the enterprise hardware? So, God bless AMD. God bless competition. It works.
Steve: This is reopening old wounds — I used to be a double-E major. I was at the University of Washington, and actually computer engineering, but it was in the double-E department, so I had to learn hardware. I had to learn how transistors are fabricated, the logic-gate diagrams, all the stuff that goes into making chips, how DC-to-AC circuits work. And I don't know, man — I just wanted to be writing programs. I learned pretty quickly that I preferred software over hardware, and I actually switched majors, which was a huge shit show, because it was in a different school. But I'm so glad I did, because I don't ever want to think about hardware. I'd rather be higher up the abstraction stack. I spent five years of my career programming in 8086 assembly language — not 80x86, no, 8086 — with these 16-bit registers. We were writing literally in assembly language for five years. I've been down there at that level of the abstraction stack, and I don't ever want to be there again. I feel like cloud has done a really good job of making it so that regular people don't need to worry about that.
Jeff Atwood: Well, I think the progression of hardware is part of what makes computers fun and interesting. There's this almost hyperbolic curve of how much performance we're getting over time. Part of the fun for me was seeing computers go from playing Atari 2600, with incredibly bad graphics — I mean, these graphics are pathetic, but the box art was beautiful. In fact, on my wall I have a framed portrait of a bunch of Atari box art, because I loved the mental energy that went into imagining if games looked like that. And now we have games that actually look as good as the art on the Atari 2600 box, better even. That was the dream, man. I was in love with that dream.
Jeff Atwood: I remember the first video card. 3dfx was the first really good video card for PCs. It was an add-on card, and I pre-ordered it. It arrived at my work address, and I had to go to work after hours, and I forgot the key, and I almost ripped the door off its hinges because I was so desperate to get to my 3dfx card. Luckily it wasn't fully closed — it's a long story, I didn't actually break into the office, but that's how excited I was. They didn't call them GPUs back then — it was just a video card. And what you could do with it was just revelatory. I was like, holy crap, the 3D — we can actually simulate the real world, now things look real. I was head over heels in love with this progression of how fast things were moving. It loses a lot of its flavor when you go from "yay, now I have 16 cores" — yesterday I had 12 — not quite as exciting as going from one core to dual core. But the question is, what do we do now? We solved the most immediate problem, which was make the games look really good. Now what?
Steve: The graphics were not very good, but the games were always amazing, even back then. Now our standards go up, and if you go back and play those games, they don't seem so amazing anymore. I watched that progression — I watched the NES come out, and all the arcade games started to go by the wayside as they moved into your house. I remember when Costco first started selling personal computers, and I bought one. It was so exciting — this was early 90s. And remember 9,600-baud modems? Remember 14.4? Remember how awesome that was? I feel like a lot of people these days grew up with hardware being good enough. There's some economics law — I think I heard about it in Harvard Business School — that technology always advances to the point where it outstrips people's need for it. Your DSLR camera is probably way more powerful than most people need; your laptop has more computing power than most people need. But we grew up in a time when that wasn't true.
Steve: The weird thing is that the games didn't actually get better. Take Breath of the Wild — it's not necessarily a better game than Ocarina of Time was 20 years before. They were really, really good games back then, even though they were smaller. There's something about creativity, where you have these constraints — your hardware is going to be your constraint — and yet people still find ways to make magical experiences out of whatever crummy hardware you've got. I freaking played Wing Commander on a 286, and you could literally see the screen refresh during the cut scenes, it was that slow. But it was still hella fun. There's lots and lots of talent out there — hardware talent, software talent, people who are really good at the craft side of things — but nobody knows what to do with it. To your question, what do we do next? Ideas are really hard to come by, and good ideas are even harder. So I haven't talked much about the evolution of hardware, because I always felt hardware's been good enough to do great stuff. But certainly it's still happening. There's probably going to be another revolution. Have you been following the AR/VR space at all?
Jeff Atwood: Well, I'm very bearish on VR.
Steve: But I've been wrong about practically every big thing that's happened in the last 20 years. I didn't think the iPhone was going to be that interesting. I thought Yahoo was going to be great. I didn't think Amazon was going to be as big as it was. I keep missing — my intuition's just not very good for guessing what happens to things at scale. So since I'm bearish on VR, it's probably going to be freaking huge.
Jeff Atwood: One thing I want to point out in this progression is the uncanny valley. With the Atari 2600 — if anyone's listening, humor me, go to YouTube, search for Atari 2600, watch people play those games — realize that most of the art was coming from your imagination, not the actual game. Then play something new. There are some things in gameplay that have actually changed — open-world games like Grand Theft Auto, where you're simulating a world like the Matrix. You're simulating larger and larger spaces where there's actually NPCs that have a daily routine, and the world gets really sophisticated, because you have the memory and the computational power to simulate a world with that level of complexity. But there's also a point of diminishing returns — how realistic can you make a 3D model look? Wasn't there a controversy where the NVIDIA founder did a presentation, and then weeks later told people that wasn't actually him — that was a GPU-rendered version of him? And it was impressive, because nobody called it. He only appears in a short scene, not the entire presentation — I'm actually fact-checking here, I'm not just randomly making stuff up. But nobody called out that section where it wasn't actually him. So I view that as a success. If you look at the classic Turing test — can you tell if you're talking to a computer or a person, via typing? People were complaining that with GPT-3, that's already passed, because you put in a bunch of text and it just figures out the rules based on the corpus. Is that still a valid Turing test?
Steve: The models haven't gotten sophisticated enough yet to really fool a lot of people. Although I don't think we're that far off — if the computer pretends to be a dumb person, then it's probably going to be pretty convincing. But in my opinion, no — the Turing test is still valid. I don't think anybody has successfully made it so a computer can pass that test super reliably.
Jeff Atwood: Well, we're getting closer. Again, I think we're hitting the uncanny valley, where you're getting close enough. It's like, you know how in any computing project you're always 90% done, and then the other 10% is the remaining 90% of the project you didn't get done? The uncanny valley is that same sentiment captured in graphics and text. That last 10%. So I have a bet with John Carmack — surprisingly, one of my idols. It was such an honor for him to reach out to me. And you're also one of my idols, actually, for the record — you're up there with John Carmack in my book, as far as influence.
Steve: Well, he's actually done stuff.
Jeff Atwood: One of your blog posts made a very compelling case that you don't actually have to do stuff to influence people — which I think is quite profound, and also true. So you should maybe reread one of your old blog posts and talk yourself back into it, because you were right when you said that. But it is nice to actually build things, too. If you can build things, build things. So John Carmack and I have a bet that by 2030 there will be fully autonomous, self-driving, level-five — there's a special designation for it — motor vehicles, with no human involved, in one of the top 10 major U.S. cities. He's saying yes, I'm saying no. It's $10,000 to the charity of the winner's choice. And I'm going to win, I'll just tell you that straight up — because that last 10% is so friggin' hard to get past. Those little tells.
Steve: Regulators are going to move too slowly for it to happen. So John will win in the sense that it'll be possible. But if your bet was actually rolling them out, then no, I don't think it'll happen. So I'm on your side.
Jeff Atwood: You're on my side for the wrong reason, so I don't allow that. You're actually on John's side, so I'm pushing you over to his side. Because philosophically, the point of the bet is that it's not about regulations. It's about whether this is actually possible in a safe manner. I'll concede that I've lost if in some other city self-driving cars are just going nuts, driving around all day with no problems. The top 10 wasn't about regulation — it was more about, are they serious about this or not?
Steve: There are going to be situations where the car has no choice, because somebody jumped in front of it. So you have to be really careful about your definition of what's an acceptable risk. What if self-driving cars regularly kill people, but less often than humans do?
Jeff Atwood: It's the SAE J3016 level five — so it's been rules-lawyered to within an inch of its life already, organizationally. If it can meet that criteria, then John wins, in a major city. Even if it's not top 10 — say it's top 20 — fine, John wins. It does have to be the U.S.
Steve: I would say I'm probably in John's camp, especially since it's eight years out. People tend to overestimate what you can do in five years and underestimate what you can do in 10 years.
Jeff Atwood: A lot of people — even really smart people — underestimate that 90/10 rule. The last 10 is so incredibly difficult to get down. Driving on the highway, easy mode — if everything was just highways, clearly marked, no weird weather, no other erratic human drivers, sure, self-driving all day long, baby. But that's not the world we live in. We're talking about the real world, full of ambiguity and oddities and once-in-a-million things that shouldn't have happened but did.
Steve: Who ultimately has to pay when there's an accident involving bodily harm? It's the insurance companies, who have a lot of influence over this stuff. First of all, I'm not sure people are really aware just how dangerous driving actually is, and how many fatalities there are. It's pretty insane. So the bar is low — cars only have to be as good as human drivers. We're going to set the bar a lot higher, and computers will get there. But it all comes down to the machine learning models. Jeff, I don't know if you've been following ML, but it's terrifying how good ML is getting. It's accelerating exponentially, and the shape of the curve is steeper than other exponential things happening in the computing world. It's the next big thing. It's going to eliminate a bunch of jobs. It's scary, but it's also really promising. With enough models, you can handle all of those edge cases — they're just going to brute-force it, label all the data, and retrain the models every time there's an accident. Will it happen by 2030? That's what makes your bet really interesting — it's just close enough that it's conceivable. Every year it goes faster than before. So I think we're going to see shocking developments over the next 10 years.
Jeff Atwood: And where's it coming from? It's GPUs. And what did GPUs drive? Graphics. And we started with the Atari 2600. So basically, without video games we'd be dead in the water, because GPUs were really designed to run video games, at least at the start. Now they're used in special-purpose computing scenarios that they're very good at — much better than CPUs. The reason people got performance wrong on PCs is because they were looking at the CPU chart. They weren't looking at the GPU chart, which has a much different curve.
Steve: Moore's law is dead now, right?
Jeff Atwood: It's really not, though. It's slowed down, but it's not dead in the water. We've had fairly significant increases in single-threaded performance. That's important to me because Discourse is a JavaScript application, and JavaScript is basically single-threaded. Most of the computing you do on a day-to-day basis is essentially single-threaded — that's going to determine how fast it happens, unless you're rendering Toy Story the movie, or doing image processing. Those tasks can be highly parallelized and are amenable to GPUs.
Steve: You keep coming back to the uncanny valley, because you know there's something that's going to happen. I'll tell you what's going to happen. Deepfakes are going to become so cheap and so ubiquitous that you're not going to be able to trust video evidence anymore. You'll see a video of me walking in, robbing a liquor store, and it's not actually me — it's a deepfake, but it's convincingly me. And that's going to change our culture in crazy ways, because video evidence is often the gold standard for resolving disputes, and it's always going to be suspect. And it's going to happen very soon.
Jeff Atwood: We live in very interesting times. I kind of honestly wish we lived in less interesting times, to be honest with you. And a lot of it is how fast CPU power and GPU power have progressed — and that was my dream as a kid. I want to play games that look like the box art on my Atari 2600. And I did not fully think through all the consequences of that desire.
Steve: It's funny that the graphics have become really good because of the parallelizability of the rendering pipeline, whereas the games themselves — when I complain they're not getting any better, it's because the story is still a single-threaded effort, by and large, of some writer trying to write through it. Maybe there are subplots and side quests that some other writer is doing, but it's usually a small group trying to come up with a great story. So you get a great game like Far Cry 6 — and I'm a fan of the Far Cry franchise — and visually it's incredible. You go to this island that's basically a fully realized Puerto Rico or whatever. And the story is like, meh.
Jeff Atwood: Far Cry 2 sucked, first of all — I want to get that on the record. Far Cry 2 is a terrible, terrible game, and I'm ashamed that it exists. But with that being said, 3, 4, 5 all follow almost exactly the same pattern. They just add a bit more stuff, a bit more items. It's kind of like you're playing the same game over and over with different skins, which gets a little tedious. But they invented this open-world paradigm where you have a sandbox, and that part's good. To me, the mark of a great game is, when your character dies — first of all, you don't actually die, which is amazing — but second, you think, hmm, I'm going to try it a different way this time. I have three different ideas of three ways I can solve this problem, given the environment, given the tools, given the sandbox in front of me. You see this in Breath of the Wild too, because a lot of it's physics. So the sandbox part is amazing. But the storyline and the mechanics get really repetitive. It's like they can't figure out anything new to do in the sandbox.
Steve: It's like they can't win. Games come up with something really new, and people are like, eh. Or they come out with a game that's not new, and people say, well, they're not being adventurous enough. So it's a tough gig. But hey, before we run out of time — we're already at 47 minutes, this has just been rolling along — you mentioned Discourse a few times. Can you tell us a little bit about it?
Jeff Atwood: When I wrote it up in my blog post, the best analogy I have is: Stack Overflow is a scalpel. It's a very sharp, precision instrument designed to do one thing really well. And it assumes a lot of training and initiative of the person handling the tool. That's the tricky part of Stack Overflow — it's a Q&A system designed for people who are already proficient to some degree. You don't hand a scalpel to a six-year-old. You don't even hand a scalpel to an adult without explaining that, by the way, this is super sharp.
Jeff Atwood: So Discourse is the table knife to Stack Overflow's scalpel. It's a much more general-purpose tool. It does more than Q&A. It can be used for subjects that aren't about data, facts, and science. Because Stack Overflow, the system, assumes there is an answer — or four or five good answers — to any given question. But for a lot of stuff, there could be a hundred answers, or ten thousand. You're in a discussion, dealing with matters of opinion. Discourse loosens all those constraints. The closest analogy is a forum. And — how ironic — that was the missing Venn diagram puzzle piece: forums. It was forums, blogs, Wikipedia, and Digg/Reddit. Those are the four pieces. How ironic that I would forget forums, since forums were an inspiration for Stack Overflow.
Jeff Atwood: You're not supposed to go to Stack Overflow and just hang out and crack jokes — you're supposed to get stuff done. It's a school environment, a place of learning, like a community college. Whereas Discourse is more like, hey, I'm going to open a bar, a restaurant, a clubhouse for people to hang out, do whatever we want, hopefully not get hurt in the process, hopefully not hurt anyone else. There's tooling built into Discourse to help you moderate those spaces. There are a lot of really unmoderated spaces — 4chan and others — and we went all in on really hardcore, really deep moderation tools that help whoever's in charge set whatever rules they want. And Discourse is fully open source. Now, Joel always hated the idea of open-sourcing Stack Overflow. In fact, there was one podcast — it was so funny — he hated the concept so much that he literally started talking about the weather, just to make a point. He's like, how about that weather? But in the end he was right, because Stack Overflow is such a specialized tool that you really need almost training to use it properly, just like a scalpel.
Steve: Well, Stack Exchange is like an offshoot of Stack Overflow.
Jeff Atwood: Stack Exchange is Stack Overflow, just with different topics.
Steve: But I don't think that has anything to do with open-sourcing. I think what happened is you guys built a network — accidentally or intentionally. You know how buyers go where sellers are, and sellers go where buyers are? Well, seekers of knowledge go where the answers are, and the answerers go where the seekers are. You created a network effect with Stack Overflow, and that means nobody can beat it, because it's a network.
Jeff Atwood: The reason the information is so good, though, is because the rule set was so strict. You can look at Quora, back in the day. Venture capitalists insisted that Quora — because it was ex-Facebook people — was obviously the future of the internet. And I kept telling people, no, Quora has no idea what they're doing, because they're allowing questions like — this is literally a question on Quora — "What did Jesus' farts smell like?" And I'm like, dude, the minute you allow stuff like that on your platform, you don't know what you're doing. First of all, that can't be answered. Second, it doesn't solve any problem for anyone in the entire world. They didn't know what they were building, whereas we kind of did know what we were building. We got some stuff wrong, to be fair, but we adjusted quickly and realized, okay, we're building a scalpel. It's a sharp instrument. We need a lot of training and discipline around getting this thing to work. And in the end, hey, you have a surgeon that can use the scalpel to save your life. That's pretty sweet. But that didn't just magically happen. There was a lot of training and a lot of processes we had to invent to get the surgeon and the tool together.
Steve: So for Discourse — when you described it, the first thing that popped to mind was Quora, which, despite languishing and not being the site everybody thought it would be, still actually is the only place with answers to a lot of interesting questions. And then we have this whole collection of really crummy, 90s-era forum and BBS software. Forums are still alive and well — if I want to talk about my preamp hardware with a group of people online, I'm going to go to a forum. So is Discourse basically saying, all that software is garbage, and we're doing a better job of it, so move your forums over to Discourse? Is that an oversimplification?
Jeff Atwood: I would say we've pivoted a little bit to the utility part. The entertainment part is important — because if you're going to go to a party, it has to be fun. Fun is a requirement for people to hang out together in any space, online or offline. Whereas if you're in a school, you're trying to get a degree. You're on Stack Overflow because you have a job — you're going to get fired if you don't figure out this problem, or it's going to ding you on your performance review.
Steve: Of course you want it to be entertaining. And I never thought I'd find myself uttering this particular sentence, but — on Discourse, can I ask what Jesus's farts smelled like?
Jeff Atwood: You're going to get a weird response depending on which Discourse you ask it on. But yeah, that's totally allowed, because each one has its own rule set. It's an open-source engine. Let a million flowers bloom.
Jeff Atwood: We should have lots of methods of interacting on the internet — but they should be open source, and we should hold them to fairly high standards, in terms of supporting an open internet, not letting everything belong to Discord, belong to Facebook slash Meta, belong to Google. They should belong to us. And that is a barrier, because it's effort. It's a lot easier to just push the button that says create a Discord. Boom. Done. Now I have a community, problem solved, move on to my next problem. I get it. So that's really our biggest enemy: friction. How can we make it easier to get started, remove all the barriers? I can't give you a free server to run the free software on. But I can make the setup as painless and simple as possible — a wizard that guides you through it. That's the best we can really do.
Steve: Do you have a migration or import facility, so people can bring their old history over?
Jeff Atwood: We have entire frameworks of migration, but migrations are still special snowflakes. Every migration is unique. There's so much forum software out there, all on different versions, that it's still quite a bit of friction to get things pulled in. There's a certain amount of work that's kind of inevitable, no matter how easy you try to make it. This is why decentralized anything is super hard. Centralization is easy, real easy. Decentralized — oh my God, it is unbelievably difficult.
Steve: I think that, just like database migrations, everybody kind of knows they need to get off their current database. But actually doing it requires the pain to reach a certain threshold, and then they do it. The same thing probably goes for forum software. You need to be like, okay, man, I need to spring-clean. Just like I completely remodeled my studio here — I put it off for years, and I finally rolled up my sleeves and spent a couple of months redoing it from scratch. So I think people just roll in gradually, as they find their forum software is starting to collapse or not meet modern needs.
Jeff Atwood: Yeah. I mean, you could always do better, but we're hiring, we're growing, the graphs are going up and to the right like you want them to. You could argue, well, you should have an Instagram. And it's like, sorry, I wasn't in the right place at the right time. When people realized the only kind of camera you'd ever carry would be the one on your cell phone, Instagram just got there first — right place, right time. But I'm super happy with what we created. It's a really sophisticated piece of software that you can be proud of. And in fact, we're adding a chat functionality as we speak — we're beta-testing it ourselves. That was one of the big missing pieces. There are two types of communication: fast lane and slow lane. Fast lane is about presence — I need to know if Joe is here, because we're having this problem with a customer and I need to know right now how to fix it. Slow lane is — the reason we have this problem is that this text is really confusing, or there's no text that describes the feature. So we acquiesced, and rather than just integrating with chat, we're actually implementing chat, so you can smoothly move from slow lane to fast lane and back.
Jeff Atwood: If you've seen the Pixar movie Inside Out — every memory rolls along as this little ball, and you've got to decide, is this a short-term memory that I throw away, or a long-term memory that goes into storage? It was really hard to change that text — what if we made it easier to change the text whenever we have problems like this? That would give us a better product, because we can move more rapidly. That's a longer-term discussion. You can have both of those on the same platform now, and that was a big oversight on my part. I resisted it for a long time, and that's on me. But I now acknowledge that chat is dominating the internet, for better or worse. You can see this with Discord, but it really struggles with memory, because people come in and ask the same question over and over and over, because there's no long-term memory. So with Discourse, we're really trying to merge those two worlds, in open source, in a place that you own. Discord owns Discord. You don't own that space. I will say that it's healthier for the internet when you actually own the spaces that you gather in.
Steve: So, hey, Jeff, we are a little over time, and so I'm probably going to have to edit some of this out. But it's been an absolute pleasure having you on the show. I would love to have you back again sometime, since we could obviously talk all day.
Jeff Atwood: It would be lovely. Anyone listening to this — even if you just look at Discourse and provide feedback — I love that kind of feedback, because ultimately the point of software is to be used. You don't want to build a house nobody lives in. So for people who are living in our house that we built together, I will always prioritize your feedback, because I'm in there with you, buddy. We're living in the same house. I'm just trying to build a place to live in that doesn't make me lose my damn mind, and hopefully lets you retain your sanity too — while also building knowledge for the internet that we can build on. Standing on the shoulders of giants, man.
Steve: All right, man. We will see you next time. And folks, I hope you enjoyed having the famous Jeff Atwood on our show. If you like this content, please subscribe to the channel — it actually matters, because YouTube won't surface me unless I get enough subscribers. It's been a real honor and a privilege to have Jeff on the show today. And we'll see you next week for Stevey's Tech Talk.
Jeff Atwood: Bye, everybody.