Interviews: Ask Stack Overflow Co-Founder Jeff Atwood a Question
Jeff Atwood is an author, entrepreneur, and software developer. He runs the popular programming blog Coding Horror and is the co-founder of Stack Overflow and the Stack Exchange Network. In early 2012 he decided to leave Stack Exchange so he could spend more time with his family. A year later he announced his new company the Civilized Discourse Construction Kit, Inc. and the Discourse open-source discussion platform which aims to improve conversations on the internet. Jeff has agreed to give some of his time to answer any questions you may have. As usual, ask as many as you'd like, but please, one question per post.
It has an unfortunate acronym: C-DiCK. Not very civilized. :(
Why don't neckbeards take a bath?
What is the root password for the majority of your systems?
Wonder if he'll implode with the free-wheeling slashdot "no specific criteria" for these questions.
If you had a magic wand to make one change in technology right now, what would it be?
comes directly from search engines, vs. people who log in to the web site directly?
Jeff,
How does this Slashdot question thing actually work? Does some Slashdroid from Dice cold call you and ask you to do the Slashdot community the favor of answering our questions? Or, do you pay Dice for access to their community for your marketing purposes.
Many people will take this question as an offense or a challenge, I mean no such disrespect. I think that many others here on Slashdot would like to know the truth behind these community ask Slashdot posts.
As a follow up; if the answer is the latter, that you initiated the "conversation", why did you choose Slashdot and not Reddit?
Moderators who cherrypick questions, rigged elections, insane groupthink. The whole organization is worse than WIkipedia and no where near as useful.
Jeff, have you thought about how to use reputation mechanisms to improve the quality of published scientific results? I'm asking in the context of John P. A. Ioannidis's famous paper http://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.0020124.
It seems to me one fix for this (horrible) problem might be an online reputation mechanism where scientists could rate the reproduciblility of published results.
Thoughts?
(thanks for inventing Stack Exchange - you've done the world a big favor)
Hi Jeff, I am a long time Stack Exchange user and community moderator on Programmers.
You seem to operate your startup space out of New York as opposed to the popular incubator location of the Silly Valley. Is this out of a conscious choice or rejection of the Silicon Valley VC culture? If so, what is your opinion of the potentially unethical recruiting strategies and inherent discrimination of these strategies as employed and evangelized to founders by organizations like Y Combinator? Do you have any opinions of Y Combinator?
How much civilized discourse do you think actually happens on /. ?
Non-Linux Penguins ?
Is this the dumbest question you've ever been asked?
Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
First, I commend you on coming up with a great idea, civilized discourse has been sorely lacking on the internet. And I'm definitely looking forward to signing up as soon it's ready.
Question: As you're well aware, the overwhelming portion of nasty and vitriolic comments on the internet are posted by low-information liberals/Dems. Will your system use political beliefs as a signal to determine whether the applicant should be excluded from signing up in the first place? Thank you.
------
Cruz/Palin 2016 - The only choice for cleaning up after the last 8 years of filthy Godless whore-libs ruining this country!
In hindsight, would you have reduced the scope of on-topic questions for Stackoverflow to where it's at today when you started the site knowing what you do now, and do you think it would've made the site less popular?
== Jez ==
Do you miss Firefox? Try Pale Moon.
Why did you feel it necessary to ban the entire population of the WTDWTF Discourse install from meta.d? After all, these are the people who, over a period of 18 months, have picked up more bugs and inconsistencies in your software than the whole of your team of paid developers and testers. The same people who are now looking to migrate off Discourse.
If you could ask anyone anything, who would you ask, what would you ask them, and why?
I don't mean to minimize StackOverflow's contribution to the online knowledge base, because it's a great tool when used properly. I'm a systems guy and Server Fault is often more useful than vendor support for looking up strange error messages and possible troubleshooting routes. But, there are a lot of low skill programmers and sysadmins out there who lean on these tools way too much. How do you feel about these properties contributing to the crappy cargo cult programming and sysadmin work we see in our field?
Jeff,
In 2012 you left Stack Exchange "to be with your familiy" and then a year later you launched another project/startup. This more than implies that after only one year, you no longer wanted to be with your family, or that your previous reasons fro leaving were not what was stated. My question is,what really happened? Did you lie in 2012 when you left Stack exchange, or do you really not want to be with your family anymore?
P.S. I suppose that there is a third possibility, that you wanted to be with your family but burned through all your cash in a year and now are forced to go back to work.
Also if some question is even slightly controversial or in any way subjective, it is locked down by a gang of annoying Nazi mods. Don't these guys have anything better to do?
Almost any question about "is x better than y?" is closed. Threads should be closed only if there is some kind of abuse.
From time to time I search stackoverflow for easy answers and I would say about 20% of the time the question has been closed even though it is the reason I went to stackoverflow in the first place. In most of these instances a useful answer was also provided before closure. So my question to you is simply what gives.
The most common reason for closure I run into is that the people closing it don't have any domain clue what is being asked and appear to assume if they don't understand nobody else does either.
Another common reason for closure is the "duplicate" question meme in which nuance is overlooked and questions are marked as duplicates because the people doing the marking failed to understand or appreciate the difference. This is very annoying.
Less common but equally annoying issues are closure due to chatter about domain specific algorithms not being "programming questions" or even more amusing someone posting a question that is more specifically addressed by one of a hundred different stack exchanges even though it is still on topic.
Jeff,
I see a lot of users on the Discourse meta forums that appear to be suspended for no particular reason. Many of them seem to have contributed a lot to discourse (if their Senior Tester badges are to be believed). What happened to them?
As SO ages, some of the offered solutions are no longer valid.
Are there currently plans to automate some way of validating old answers automatically?
This problem seems to be a larger problem with forums in general. Do you have any musings regarding aging forums?
I wanted to ask, but technically this question should be closed as off-topic and soliciting community opinion.
(Kind of like everything I go to stackoverflow to see... always closed because some tard thinks he knows what I'm searching for)
"This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question."
Stack Overflow is a great resource. However, it's license is problematic. Several posts on the license discussion makes it hard to use the code in your project.
The simple solution would be to make everything public domain.
Have you considering changing the license to make it public domain?
In reading your work for years and seeing your various contributions, it seems like you are fascinated with filtering out the most useful information. In many of your blog posts the insight is not yours but rather a conglomeration of chosen useful quotes and sources. I very much appreciate this. My question for you is how do you handle critical feedback vs trolls when dealing with communities. For example, the down button is often a disagree button rather than a negative point. How do you deal with mixed opinions?
To use a real life personal example, TEF noted how he felt you were suggesting that people shouldn't play around to learn. (Source: https://www.youtube.com/watch?v=csyL9EC0S0c ) Yet, the way he said it was clearly inflammatory. How do you separate the legitimate concern and critical feedback from the troll who doesn't want to listen to your response?
Why did you leave StackExchange? Real reason?
Not long ago I was reading a recent discussion on reddit's woes and the hiring of a new CEO. It made me think how we have seen communities come and go for many years.
Clay Shirky wrote about his experience in 1978: "Communitree was founded on the principles of open access and free dialogue... And then, as time sets in, difficulties emerge. In this case, one of the difficulties was occasioned by the fact that one of the institutions that got hold of some modems was a high school. ... the boys weren't terribly interested in sophisticated adult conversation. They were interested in fart jokes. They were interested in salacious talk. ... the adults who had set up Communitree were horrified, and overrun by these students. The place that was founded on open access had too much open access, too much openness. They couldn't defend themselves against their own users. The place that was founded on free speech had too much freedom."
There are two clear trends. One is that less input and customization tends to grow bigger. Note how Geocities was replaced with Myspace which was then replaced with Facebook and Twitter. These newer systems take away personal freedom of expression and makes people follow a 'prescribed' system, albeit an easier one to use. The other trend is that communities that try to be truly free and open end up either stifled by that openness or give up. The only obvious exception is a platform that allows us to simply filter out everything we don't want to see, which becomes a series of the feared echo chamber. With the excessive amount of data and the build up of complex rules on how information is shared, where does this leave us? It seems that like the famous iron triangle allowing free (and legal) speech with the possibility of diverse opinions, a cohesive group, and growth only allows you to pick two.
It seems to me this is a wicked problem, perhaps unsolvable. But I wonder what you think regarding what other design options exist? Is this even possible with human nature as it is? Which do you value most: free speech, a cohesive group or growth?
How come my java server socket works in telnet but fails from a java client socket? JK
What has been your involvement in SO/SE/discourse.org at a programming level? (Kudos anyway. The results are certainly impressive).
Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
Why do notifications about posts being moved point to where they were rather than where they are now? It makes things hard to follow when threads are split up.
Asking here cause I can't on meta.d
You left Stack Exchange to spend more time with your family yet a year later you launched another company. Was the time spent with your family not all that great compared to developing a new business idea? I can see a lot of hard nosed entrepreneurs suffering from boredom when not out on the edge. However, you only get what you give; at work _and_ at home.
I came to the datacenter drunk with a fake ID, don't you want to be just like me?
A few years ago you used a very uneducated math point of view in a laughable attempt to debunk Dijkstra. Have you learned that all programming is mathematics yet?
Why did you let SO go to shit? It is a worthless place to ask a question because actual discussion(read: education) is not allowed and is worthless to find an answer to all but the most simple question.
Discourse is an ugly, JS filled pile of shit. Why?
Have you figured why it was not a bad idea for Fog Creek to create a superset of VB yet?
How does it feel to know that the opinions you espouse on your blog about software development are almost always wrong?
The "no software recomendations!!!!" rule is the worst one.
"I need a library that can do X" "Here's the 10 most popular ones". That's a useful exchange, why ban it? Sometimes you just need to be pointed in a useful direction.
Wikipedia is also useless since their "neutrality" means they have to list programs with 100 million users along with programs with 100 users.
I think its probably inarguable that the biggest innovation StackOverflow brought to the web was the centrality of reputation and user moderation to its design. Sure, our own /. had done something similar years before, and it was hardly the first either, but no website I know of had before taken it to its logical conclusion in quite the way SO does. This effectively "crowdsourced" a lot of traditional website administrative activities, which turned out to be an incredibly powerful idea. Practically all the functionality of SO is built around the concept.
So when I saw you were tackling online message boards, I expected the same kind of thing. But browsing around a typical Discourse thread, I'm not seeing that at all. Sure, users can "heart" posts, but all that does is bump a small counter next to the heart. There is no way to tell at a glance which posts users found the best and/or worst. Higher rated posts don't sort to the top, or get bigger or anything. As a result, I don't even see that feature used much. Certainly its nothing like SO, where post voting is the central activity. It also seems like moderation on Discourse is designed to be done by administrators, not users. I don't see any facility for users getting moderation privs as they gain reputation. Compared to SO, Discourse seems kind of, well, like a big step backwards in interactivity.
I'm sure I'm missing something here. What is it? Or did you really decide SO's centering of its design around users and their opinion on posts was a mistake, or perhaps just not a good fit for a more generalized discussion board?
I don't see many large, high profile sites running an entire Microsoft Windows stack nowadays (IIS/SQL Server, etc) but Stack Exchange is one of them.
What were the reasons behind choosing a full Microsoft stack versus any of the Open Source alternatives which seem much more prevalent, especially in start-ups and smaller businesses for web presence?
Have a squat over at the hobo house.
Are you still on an anti-gun crusade? Cause you remember, forks make you and I fat. NOT the people holding the forks.
Why'd you leave New York City for San Francisco? You could have brought your extended family here. Were we just too awesome? Is New York an inspiration for the Civilized Discourse Kit?
It seems like the internet is mostly a terrible place to have debates. Many forums quickly become echo chambers for people who want to be as offensive as possible just to prove that they can exercise their free speech rights. Other times debates are derailed by cheap tactics like being deliberately offensive to derail the arguments and bog everyone down in accusations that they are "SJWs". Ad-hominems and obvious logical fallacies seem to be the norm.
How do you plan to avoid this happening? So far no-one seems to have found a way.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
Given the huge number of questions both here and on stack exchange that have been asked, do you have a question which you think should be asked which hasn't been? Do you have an answer to that question? (It doesn't have to be a question directed to you but it could be)
Mr Atwood, how can we improve the quality of debates on Slashdot? We don't have access to the source code so suggestions that users can implement would be best, but I'm sure the staff are reading too.
Lately it has become apparent that certain topics are impossible to debate on Slashdot, e.g. women in tech. They rapidly devolve into an echo chamber of rage and outright trolling, and dissenting voices are mod-bombed into oblivion even though the meta-moderation system is supposed to prevent that. There are rules, e.g. for how to apply moderation, but people ignore or abuse them to shape the debate how they want it.
What can we do to fix this?
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
Why is Discourse so awful?
How is it that you've managed to make Stack Overflow the top 10 search results for common programming questions despite your own supposed efforts at deduping and the fact that Google usually groups similar pages from the same site itself?
It's OK Bender, there's no such thing as 2.
How do you feel about the fact that while important questions go unanswered people are harvesting points simply by taking the word "thanks" off the end of posts? Does it worry you at all that the kind of people most attracted to your site are not interested in actually answering questions?
It's OK Bender, there's no such thing as 2.
Why do even accepted answers live below the comments of people who have misread the question and are claiming it's a duplicate, or worse just making fun of the question?
It's OK Bender, there's no such thing as 2.
You matter why?
When I google a problem, I often encounter the crapexchange sites in the first few hits. OF these maybe on a good hit there is a 40% chance of getting a good answer. 30% of the time I get a wrong answer, about half are those are so oviously wrong the person must be under the influence of some pretty strong hallucinogens. 30% are shutdown because some Nazirator is pissed that he can't answer the question in 5 minutes. If he can't get the karma no one can!
Imagine the following scenario, a person posts a question to a DIY forum. A person responds by suggesting that the person stick a screwdriver into an electric socket. Another person calls the first person a moron.. It's the second person who gets punished. The person who suggests the screwdriver gets increased karma.
I'm not a big fan of nastiness on the net, but you know what? if someone says something really stupid, they should get called on it!
One of the better descriptions of the problems of the whole class http://michael.richter.name/bl..."> is here.
So why did you create a sert of sites that seem to discourage experts ( except in a few rare exceptions ) and encourage mediocracy?
it seems to me that the whole thing is a scam to promote the clueless
A question on the history of Stack Exchange. What was the original idea that drove you to make StackExchange and how has it evolved or added since?
Chance favors the prepared mind.
Perfect is the enemy of good.
I'm building a bike shed. What color should I paint it?
Sites like slashdot and the most of the media certainly have an agenda.
Every time I see "this question is closed as "not constructive", I'd like to give StackOverflow a taste of their own medicine. For example, StackOverflow exec's would be having an board meeting over the phone, and all of a sudden the phone clicks off and a pre-recorded voice says, "This meeting has been closed as primarily opinion-based and not constructive".
Do you believe google developer will ever make a decent javascript engine? like Apple does?
It seems like it wouldn't since its pushing his "html with widgets" project (Polymer) to everyone in order to tackle her performance issues?
Also are you going to rewrite discourse from zero because of this?
For some reason, my previous post got eaten by the internet faeries. I have thusly sacrificed one chicken (which may or may not have been a virgin, probably not if I know my cockerel) to meta.discourse.org and will try again. May of my questions have already been asked, so I'll stick to the ones that haven't.
Discourse starts with what sounds like a good idea - a better forum engine than any of the horrible bug-ridden insecure PHP trash that's out there. Hell, it might even be argued that it's a good idea to have the reinventing of forums done by someone who, by their own admission, does not, and never has, used forums.
So. Question number one. Jeff. In what way is Discourse better than phpBB or any of the other "toxic hellstew" engines out there, given that large amounts of expected functionality simply does not exist in Discourse? As an easy illustration, in Discourse there is no way to easily see which threads / conversations I have participated in.
Jeff has previously (and correctly) pointed out the foolishness of trying to parse with regular expressions. I'm all with this - regular expressions are not a parser, and anybody trying to use them as such is a dangerous fool.
Question number 2. Why did it seem like a good idea to try and parse your hellish "do it all" hybrid markup system[1] using a rat's nest of regular expressions?
Bonus Question 2a. In what universe did it seem like a good idea to have it possible for these regular expressions to differ between client and server?
Bonus Question 2b. Why aren't you using CommonMark, given that you re involved in that?
Jeff doesn't believe in pages. Unfortunately, in an imperfect world where it is not possible to load infinite data in finite time, pagination is arguably a far better solution than faking infinite scrolling.
Question number 3. Given that Discourse already serves pages to search engines, why not offer a paginated view as a backup for your users stuck on "wet string" internet and / or who like having scrollbars and other standard browser widgets that work as expected?
Question number 4. What were you smoking when you invented your green scroll blob widget? I don't want any, I want to avoid it.
Discourse overrides numerous browser standard features.
Question number 5. Could Discourse's search be any more awful?
Discourse fails almost totally on mobile. Most "hellstew" forums work acceptably (albeit in "desktop" mode), and many even have apps designed to make mobile access behave more like an "app".
Question number 6. In a world where mobile is more and more important, what's your excuse? I was under the impression that "for the next 10 years" didn't refer to the amount of time mobile users would have to wait before their devices were considered powerful enough for your software.
Question number 7. Android.
Security is important.
Question number 8. In an increasingly security-conscious world, how sensible is it to deliver half a megabyte of externally-authored javascript per page?
Various idiotic choices.
Question number 9. Rather than deliver a couple of hundred K of default avatar images with every Discourse install, you have a separate CDN that generates and serves those *static* images on the fly. Are you an idiot?
Question number 10. What the hell are "coldmaps" and what are they supposed to mean?
Question number 11. I know you've been drinking the gamification kool-aid, but loading my user page takes over 20 seconds. In what alternate universe is this an acceptable response time for an "asynchronous" page load?
meta.discourse.org
Question number 12. Having watched meta.d for a while, all I see happening is your employees agreeing with whatever you say, presumably for fear of losing their salaries, and vast quantities of bikeshedding. With this in mind, and given your focus on tweaking the inconsequential, at what Discourse release number do you anticipate having more functionality than bugs and reversions?
Thanks
A. Discourse. User.
[1] A mixture of html, bbcode, markdown and lord knows what else.
The one thing that sets Stackexchange apart is that it's not another discussion forum but a Q&A platform. So a question of a nature that invites discussion, and is unlikely to have the one best answer (ie votes on answers ~ normal distro), is arguably off-topic because it should better be asked in a forum.