# Thank You For Being a Friend

**URL:** <https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372>\
**Category:** blog\
**Created:** [April 20, 2026, 5:21pm UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372 "2026-04-20T17:21:40Z")\
**Posts on this page:** 12\
**Page:** 2

<div class="post-metadata">

**Author:** ![codinghorror](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/codinghorror/32/36371_2.png) [@codinghorror](https://discourse.codinghorror.com/u/codinghorror)\
**Post date:** [June 28, 2026, 10:00am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/22 "2026-06-28T10:00:53Z")

</div>

> [@cjs](#):
>
> I can’t really see where you’re trying to go with this

That makes two of us. I really have no clue what point you’re trying to make. Perhaps it’s better if we both just walk away. I suggest _you_, sir, write a blog entry about whatever the hell it is you’re trying to say. I’d be happy to read it, and I think it’d be a lot clearer than… whatever this was?

> [@cjs](#):
>
> Without questions, you have no answers.

You will _always_ have questions. This is a completely nonsensical statement,. If you are alive – the implied question is already there… why? _Why_ are you alive? Why are _any of us_ alive?

So to make this whimsical armchair philosopher statement.. I mean, I don’t know about you, man, but _I got actual work to do_… like trying to take on poverty? Meanwhile can you explain to me exactly what it is that _you_ are doing? Ideally on your own blog, in your own blog post, that we can all read together on the open web?

> [@cjs](#):
>
> And this is probably unfixable; I’d be interested to hear how you would fix it, if you have a way.

I already did, above. Allow myself to introduce… _myself_…

> [@codinghorror](#):
>
> Asking is much easier, and often done lazily, which is why the LLMs intercepting these low-effort questions is such a boon in the big picture.

I also already answered another part you’re heavily implying when I wrote (checks calendar) [these words](https://stackoverflow.blog/2011/07/01/its-ok-to-ask-and-answer-your-own-questions/) in the year of our lord Two Thousand and Eleven:

> [@codinghorror](#):
>
> To be crystal clear, **it is not merely OK to ask and answer your own question, it is _explicitly encouraged_**.

In summary: start your own commuity. Use your own rules. Write your own damn blog, if nothing else. I mean it! This is a compliment! I don’t want a world of monocultures like The Facebooks and The Instagrams and The Nazi Bar Formerly Known As Bird dominated by jackasses like Zuck and Musk – I want a world of vibrant, diverse communities doing their thing because _they love it_. That’s _exactly_ why my second project [after Stack Overflow](https://blog.codinghorror.com/stack-overflow-none-of-us-is-as-dumb-as-all-of-us/) was [Discourse](https://blog.codinghorror.com/civilized-discourse-construction-kit/). And [my third project](https://blog.codinghorror.com/launching-the-rural-guaranteed-minimum-income-initiative/) is me telling everyone in tech..

> Hey tech friends, how 'bout we take on poverty together instead of Kara Swisher pointing out we built Yet Another Photos App?

As she said, verbatim, in 2018, [here at 17:37 in the documentary General Magic](https://youtu.be/JQymn5flcek?si=akgyg4Xw7V8SrtVy&t=1057):

> So a lot of people in the valley, they have this idea that they’re changing the world and they say that a lot. They sometimes call themselves “chief change agents,” and stuff like that.
> 
> It’s mostly bullshit, but they have to believe it in order, you know, you don’t make a photo app and you’re not changing the world with a photo app. You’re just not. It’s not solving cancer, **it’s not solving poverty,** it’s not solving climate change.
> 
> You know, they all have this idea that they are doing something bigger than what the actual thing is, but it’s like… the car, the lightbulb, it’s the idea of a computer in your pocket, it’s a really big idea. This device that allows them to access everything. But back then, there wasn’t an internet, there wasn’t the worldwide network of information. There weren’t people using it, there wasn’t cell phones then, 'cause there wasn’t, you know, wireless, like everything there wasn’t, _wasn’t._
> 
> The reason I started covering it, was because when I saw it, I was like, “Oh! This is where it leads.” The idea of mobile computing _started_ at General Magic.

Not that she’d actually give a damn if we did take on poverty, because [_we did_](https://blog.codinghorror.com/launching-the-rural-guaranteed-minimum-income-initiative/), and she has given no indication whatsoever that she knows or even cares.

---

<div class="post-metadata">

**Author:** ![cjs](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/cjs/32/79351_2.png) [@cjs](https://discourse.codinghorror.com/u/cjs)\
**Post date:** [June 29, 2026, 1:27pm UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/24 "2026-06-29T13:27:24Z")

</div>

I am unclear on why you appear to be arguing against me here, and I suspect we may at many points you’re discussing be at what Usenet folks call “violent agreement.”

For example, you say, “it is not merely OK to ask and answer your own question, it is explicitly encouraged.” This is something I explicitly do on SEs and have to fight for when people suggest such things are “not right” somehow. So if both you and I strongly believe that this should be encouraged, what’s going on? Do you think I’m not in full agreement with you on this?

Well, you do say I’m “heavily implying” something that prompts you to write something that _shows you agree with me,_ so I’d suggest there’s a miscommunication here. How much is me not being clear enough, and how much is you reading what you want to hear into what I write I’m not sure, but I suspect you’ve fallen into the, “I think of this person as an enemy” trap and are interpreting what I write with least, rather than most, charity. Try starting with the assumption that we’re in complete agreement about everything and any criticisms I level at you are because I misread _you,_ and see where that takes you.

> [@codinghorror](#):
>
> You will _always_ have questions… If you are alive – the implied question is already there… why? _Why_ are you alive? Why are _any of us_ alive?

Right, so try posting that to SO and see how long it stays up. Heck, prefix it with, “My program doesn’t work” so that it’s clearly on topic.

> [@codinghorror](#):
>
> In summary: start your own commuity. Use your own rules.

This is what I’m trying to figure out: why do you want me to start my own community rather than support yours, which already uses the rules I want to use?

I read _your_ blog posts such as [Optimizing For Pearls, Not Sand](https://stackoverflow.blog/2011/06/13/optimizing-for-pearls-not-sand/) and see a massive amount of agreement here. Though that post is somewhat confused: in and amongst its “questions are sand” thing, it keeps going on and on about questions:

> …we value good questions (and asking a great question is absolutely an art)…  
> …we began to actively block low quality questions, too…  
> …If we don’t do our part to cull the bad questions, then we risk alienating the true experts…  
> [We] added 10 additional “question-only” daily votes to encourage people to vote more on questions, so we can better discern their value.  
> We now limit users (and IP addresses) to a maximum of 6 questions per day and 50 questions per month.  
> Downvotes on questions no longer cost the casting user 1 reputation, so they are effectively “free”.  
> That’s why we’re determined to keep question quality high…  
> …having the wrong sorts of questions is far more dangerous. The fastest way to kill any Q&A; site is to flood it with low-quality questions.

And, of course, the _pièce de résistance,_ a quote from a meta answer:

> > when I go to a Stack Exchange home page, I see a list of questions. If most of those are terrible questions with little to no indication that I’d be wasting my time by reading them, the value proposition of visiting and participating is diminished: I have better things to do.

In other words, for attracting and keeping those who answer the questions (which is the whole freaking point of the site), the questions are more important than the answers. Tons of truly brilliant answers simply go unseen if you’re awash in bad questions.

> [@codinghorror](#):
>
> > [@cjs](#):
> >
> > And this is probably unfixable; I’d be interested to hear how you would fix it, if you have a way.
> 
> I already did, above. Allow myself to introduce… _myself_…

I [just checked](https://stackoverflow.com/q/7948494/107294), and no, you’ve not fixed it. I don’t know what you think you’ve changed in the last couple of days, but whatever it was, those answers are still broken.

Read carefully. The highest-voted answer still starts with, “Any Python file is a module…” Dead wrong. The second-highest still starts with “A module is a single file…” Dead wrong.

If answers are so important to you, why do you put up with bad ones and even claim that they’re good?

---

<div class="post-metadata">

**Author:** ![codinghorror](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/codinghorror/32/36371_2.png) [@codinghorror](https://discourse.codinghorror.com/u/codinghorror)\
**Post date:** [July 1, 2026, 3:52am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/26 "2026-07-01T03:52:43Z")

</div>

> [@cjs](#):
>
> If answers are so important to you, why do you put up with bad ones and even claim that they’re good?

I don’t.

> [@cjs](#):
>
> for attracting and keeping those who answer the questions (which is the whole freaking point of the site), the questions are more important than the answers

No, they are not.

> [@cjs](#):
>
> how much is you reading what you want to hear into what I write I’m not sure, but I suspect you’ve fallen into the, “I think of this person as an enemy” trap

I disagree. See above. “the questions are more important than the answers”. I don’t think you of as an enemy – I think of you as someone who wrote

> the questions are more important than the answers

I’m not seeing any miscommunication whatosever. We simply disagree. I suggest you blog this if you feel so strongly about it.

---

<div class="post-metadata">

**Author:** ![cjs](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/cjs/32/79351_2.png) [@cjs](https://discourse.codinghorror.com/u/cjs)\
**Post date:** [July 1, 2026, 4:48am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/27 "2026-07-01T04:48:13Z")

</div>

> [@codinghorror](#):
>
> I think of you as someone who wrote
> 
> > the questions are more important than the answers

Nice stripping of context there. You appear to be arguing in bad faith, to win rather than enlighten. Unless you no longer agree with [your own blog post](https://stackoverflow.blog/2011/06/13/optimizing-for-pearls-not-sand/). (Have a look at the condition on that, which you have clearly read and decided to strip.)

> [@codinghorror](#):
>
> > [@cjs](#):
> >
> > If answers are so important to you, why do you put up with bad ones and even claim that they’re good?
> 
> I don’t.

Except that you do: I pointed out a specific example _twice_ and you have refused to address it both times.

At any rate, refusing to address arguments inconvenient to you does make it clear that we’re not going to get anywhere with this; I just wish you would have said earlier that you’re not going to listen to anybody else.

---

<div class="post-metadata">

**Author:** ![codinghorror](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/codinghorror/32/36371_2.png) [@codinghorror](https://discourse.codinghorror.com/u/codinghorror)\
**Post date:** [July 1, 2026, 4:53am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/28 "2026-07-01T04:53:01Z")

</div>

Thank you for having a discussion with me over voice – you’re right, we have far more in common than I realized. I apologize for the misunderstanding… and thank you for your shared dedication to the commons, which is what Stack Overflow is, and was, always about. 🤗

(But I will never concede that “questions are more important than answers”, that one I can’t do)

---

<div class="post-metadata">

**Author:** ![codinghorror](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/codinghorror/32/36371_2.png) [@codinghorror](https://discourse.codinghorror.com/u/codinghorror)\
**Post date:** [July 5, 2026, 5:24am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/29 "2026-07-05T05:24:46Z")

</div>

> [@cjs](#):
>
> Except that you do: I pointed out a specific example _twice_ and you have refused to address it both times.

I needed you to explain it better. It’s about the supermassive inertia of very early, very long ago (10-20 year old) upvotes outweighting recent bursts of perhaps more valuable and powerful RECENT upvotes.

> [@cjs](#):
>
> Read carefully. The highest-voted answer still starts with, “Any Python file is a module…” Dead wrong. The second-highest still starts with “A module is a single file…” Dead wrong.
> 
> If answers are so important to you, why do you put up with bad ones and even claim that they’re good?

Then we need decade long vote decays, as discussed. An answer, ten to twenty years later - unless it has been heavily edited, does not DESERVE the full weight of a 15 year upvote, does it?

---

<div class="post-metadata">

**Author:** ![cjs](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/cjs/32/79351_2.png) [@cjs](https://discourse.codinghorror.com/u/cjs)\
**Post date:** [July 7, 2026, 3:07am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/30 "2026-07-07T03:07:48Z")

</div>

> [@codinghorror](#):
>
> It’s about the supermassive inertia of very early, very long ago (10-20 year old) upvotes

Well, in this case there’s only a 6½ year difference, less than the age of the younger post. (The two higher-voted posts are 14½ years old; mine is 9 years old.) So it’s not totally obvious that this is “supermassive” inertia. It would be intersting to look at the voting history of all three posts _after_ all three were available.

Actually, come to think of it, we can, to a limited degree, anyway. The page is [available on archive.org](https://web.archive.org/web/20260000000000*/https://stackoverflow.com/questions/7948494/whats-the-difference-between-a-module-and-package-in-python), though only since early 2023 for some reason. But looking at [that version of the page](https://web.archive.org/web/20230815143422/https://stackoverflow.com/questions/7948494/whats-the-difference-between-a-module-and-package-in-python) we see 769, 450 and and 69 votes, versus 807, 457 and 82 votes, for increases of 38, 7 and 13. So an answer that starts wrong is still, years later, getting votes at three times the rate of an answer that starts correctly.

As I mentioned, I don’t have a solution for this. But the phenomenon is certainly worth noting.

> [@codinghorror](#):
>
> An answer, ten to twenty years later - unless it has been heavily edited, does not DESERVE the full weight of a 15 year upvote, does it?

Kinda depends on how good the answer is, doesn’t it! Especially given the evidence above that this is not really about age, I suspect that problem may be more that many people prefer easy answers over correct answers. (I know I often enough do!)

---

<div class="post-metadata">

**Author:** ![JimPas](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/jimpas/32/76163_2.png) [@JimPas](https://discourse.codinghorror.com/u/JimPas)\
**Post date:** [July 7, 2026, 4:47am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/31 "2026-07-07T04:47:48Z")

</div>

> [@cjs](#):
>
> I suspect that problem may be more that many people prefer easy answers over correct answers.

That’s it in a nut shell!

---

<div class="post-metadata">

**Author:** ![codinghorror](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/codinghorror/32/36371_2.png) [@codinghorror](https://discourse.codinghorror.com/u/codinghorror)\
**Post date:** [July 15, 2026, 7:59am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/32 "2026-07-15T07:59:04Z")

</div>

> [@cjs](#):
>
> But looking at [that version of the page](https://web.archive.org/web/20230815143422/https://stackoverflow.com/questions/7948494/whats-the-difference-between-a-module-and-package-in-python) we see 769, 450 and and 69 votes, versus 807, 457 and 82 votes, for increases of 38, 7 and 13

Yes, but 69-82 is a nearly 20% increase in total upvotes (2023 → now) , whereas 769-807 is 5% and 450-457 is 2%. That’s significant. So weighting votes by age in this way on older answers makes sense, perhaps also weighted (even as a multiplier) by trust level of the user, too.

---

<div class="post-metadata">

**Author:** ![cjs](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/cjs/32/79351_2.png) [@cjs](https://discourse.codinghorror.com/u/cjs)\
**Post date:** [July 15, 2026, 9:40am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/33 "2026-07-15T09:40:48Z")

</div>

I’m not sure if I was clear or not. If all the votes had been reset in 2023, the answer that starts out with incorrect information would still have three times as many votes as mine. (Though perhaps you’re thinking this would change if people weren’t seeing how popular that one answer is, and often seeing that answer first due to sorting in highest-voted order?)

I’m kinda feeling it’s just a perhaps insurmountable “simple answers are better than complex ones, even if the simple ones are incorrect” problem. Which I have _no_ idea whatsoever how one might fix.

---

<div class="post-metadata">

**Author:** ![codinghorror](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/codinghorror/32/36371_2.png) [@codinghorror](https://discourse.codinghorror.com/u/codinghorror)\
**Post date:** [July 25, 2026, 7:08am UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/34 "2026-07-25T07:08:57Z")

</div>

> [@cjs](#):
>
> erhaps you’re thinking this would change if people weren’t seeing how popular that one answer is, and often seeing that answer first due to sorting in highest-voted order?

You could (sometimes? half the time? for new users only?) hide all the votes for older questions (and present answers in random order) to get a fresh slate. There’s a lot of innovative things we could try here because on a scale of DECADES we need some other strategies.

---

<div class="post-metadata">

**Author:** ![cjs](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/cjs/32/79351_2.png) [@cjs](https://discourse.codinghorror.com/u/cjs)\
**Post date:** [July 27, 2026, 2:43pm UTC](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372/35 "2026-07-27T14:43:01Z")

</div>

Yes, some of those ideas had come to my mind, too, and who knows, they might work if the issue is that people vote for what’s popular. They won’t if people vote for what’s easy. But definitely worth trying, so we can at least find out more about what the problem really is.

[Previous page](https://discourse.codinghorror.com/t/thank-you-for-being-a-friend/10372.md?page=1)
