Live data from Hacker News

PG: What's your current take on reddit's comment system?

reddit.com

31–40 of 67 posts

Re: PG: What's your current take on reddit's comment system?

#31
post #23

Earlier quoted context omitted.

How do you get the full thread for a given parent? Selecting based on the parentid alone gives you only immediate descendants. Recursive queries are generally a no-no, as they drag your performance down fairly quickly. Selecting based on the newsid gives you every single comment on the item, and then you'll have to do a lot of work (basically building up the full tree structure in memory) to find out which are childr…

You would find the full thread by searching for comments with the appropriate newsid. To simplify the recursive function (using data in memory, not in the database), you could also have another field, called indent, that stores the level in the comments. You could find all the comments with one SQL statement (where newsid = news.id), then go through each level of each comment, and sort it that way. You could even mak…

Interesting examples of what?

Re: PG: What's your current take on reddit's comment system?

#32
post #29

Earlier quoted context omitted.

I mentioned a possible solution here: http://news.ycombinator.com/item?id=33902 , but I'm really commenting because there's a really cool connection between PG's approach of storing it as an in-memory tree and my approach of a 2048-bit index: Y'know how in a typical CS datastructures course you'll have to build a heap, and then reimplement with an array? A heap is conceptually a balanced binary tree where every leaf…

Just thinking off the cuff here, but couldn't one store a lisp-style list as a string in a relational database. If I was using Ruby on Rails, I could simply build a simple lisp interpreter in Ruby to parse the string, then capture it as an in-memory tree. This way I would only have active items in memory and could use some of the advantages of the standard web development platforms for whatever else I was doing. Edit…

Sure you could. You could also select all comments on the item and rebuild the tree in-memory, as Vlad suggests elsewhere on this thread. The code isn't even as hard as I'd thought it'd be:

  comments = dbh.query('SELECT * FROM comments WHERE news_id = $newsid')
  response_tree = {}
  for comment in comments:
      comment.children = []
      response_tree[comment.id] = comment
  for comment in comments:
      response_tree[comment.parent_id].children.append(comment)
The nifty thing about storing it in the database is that you need no application-level post-processing, you can take advantage of the DB for ad-hoc queries (what if you want to show subtrees of all posts by a certain user, like the "threads" page here?), and it happens to map to a set of simple and fast operations provided by most databases.

Re: PG: What's your current take on reddit's comment system?

#33
post #16
post #11

Earlier quoted context omitted.

That really interesting; your emphasis on community custom is not something I'd really thought about. You could even go so far as to classify reddit's innovations as an attempt to programatically encourage or enforce such customs. I wonder if you could take it further programatically. Off the top of my head you could go the email route and switch to a three button system for comments: "up", "down", and "troll". I'm g…

Clay Shirky has a couple good essays about this: http://www.shirky.com/writings/group_enemy.html http://shirky.com/writings/broadcast_and_community.html I agree with most of his points. Better technology can not substitute for better people, although I observe a strong correlation between mental acuity and humility and, hence, 133t hacker skills. One of the unfortunate things about communities (reddit included) is th…

I wonder if there may be a way to build the wall you describe in the general-public site. Pretend you could rate commenters, not publicly but privately--for your own private use. If you spot a particularly dumb comment on reddit, you could blacklist the commenter--privately, so that your action would affect only you. Similarly, when you notice a brilliant comment you will want to permanently highlight its author so that for you--and only you--the author has an advantage on your attention in the future. Commenters you perceive as intolerable would never have another shot at your attention while commenters you view as geniuses would forever get artificially modded up--but only to your eyes.

The same algorithm could work for postings. If I want more Ron Paul, peace be upon Him, I can privately champion those authors who celebrate his news items. You may have had enough of the distinguished doctor-representative from Texas, so you could exercise your prerogative to ignore (or artificially down-mod, just for you) submitters whom you view are overly sympathetic to Him.

Further thoughts on reddit's comment system...

Problem: Logical fallacies largely go unchecked. Just today, someone replying to my comment pulled a tautology so I reflexively linked to the appropriate Wikipedia page. As mentioned, ad hominem is a more popular sin and the list goes on. What if, when I clicked on the "Report" link, I could select from several logical fallacies? In this way, if enough others agreed with me, we could get an official-looking stamp on the offending comment--corresponding to what the community felt was the logical fallacy (e.g., straw man, false analogy, non sequitur).

Problem: Today, if I submit a comment and I down-mod all other comments I increase my comment's visibility. I want my comment to have visibility (that is why I wrote it) and I suspect other redditors may employ the cheat. So I face an ethical dilemma. We can talk about real-life karma, but why tease commenters to begin with? Solution: If you comment you can't vote in the thread.

Problem: I imagine a lot of redditors, like me, sort by top->flat and I suspect most of the remaining redditors sort by top->nested. So if I comment, I significantly increase my visibility odds if I reply to the front-runner comment. To the extent I care that people will read what I write, I will tend to favor the popular comments--even if they are not as worthy of a response as those nearer the bottom.

Re: PG: What's your current take on reddit's comment system?

#34
post #5

Earlier quoted context omitted.

I agree, basically. Except I think customs are as important as or more important than makeup. That's why I try to discourage ad hominems. To be fair to the reddits, it wasn't their fault that the discussion on reddit sank down toward that of digg and slashdot. They have really strong beliefs against censorship. They were never going to jump into a discussion and tell people to stop being jerks. But empirically it loo…

"They were never going to jump into a discussion and tell people to stop being jerks." Really? Isn't that more or less what they did with Pica when they requested that he stop using certain epithets?

I believe richardkulisz was also dinged. His new username is "redditcensoredme". So it does seem to only be the most extreme cases.

There are some very popular forum sites that have existed for years and maintained civility. Any Reddit-type site could learn a lot from them. They almost all have a group of core users who act as moderators and enforce a set of published rules. It's critical that they not make up the rules on the fly, otherwise users won't respect the decisions.

Re: PG: What's your current take on reddit's comment system?

#35
post #29

Earlier quoted context omitted.

Just thinking off the cuff here, but couldn't one store a lisp-style list as a string in a relational database. If I was using Ruby on Rails, I could simply build a simple lisp interpreter in Ruby to parse the string, then capture it as an in-memory tree. This way I would only have active items in memory and could use some of the advantages of the standard web development platforms for whatever else I was doing. Edit…

Sure you could. You could also select all comments on the item and rebuild the tree in-memory, as Vlad suggests elsewhere on this thread. The code isn't even as hard as I'd thought it'd be: comments = dbh.query('SELECT * FROM comments WHERE news_id = $newsid') response_tree = {} for comment in comments: comment.children = [] response_tree[comment.id] = comment for comment in comments: response_tree[comment.parent_id]…

After some reflection, I suppose my only hesitation with this method is that it locks one into dealing with the comments in a particular way, whereas the lisp model I outlined is easily adaptable to a variety of schemas.

However, I'm not sure how else one would want to model things. Must think more...

Re: PG: What's your current take on reddit's comment system?

#36
post #17

Earlier quoted context omitted.

"They were never going to jump into a discussion and tell people to stop being jerks." Really? Isn't that more or less what they did with Pica when they requested that he stop using certain epithets?

Did they? I didn't know about that, but I'm not surprised. Still, it shows how tolerant they were if it took him to make them say something.

I really doubt that they did...

Re: PG: What's your current take on reddit's comment system?

#37
post #16

Earlier quoted context omitted.

Clay Shirky has a couple good essays about this: http://www.shirky.com/writings/group_enemy.html http://shirky.com/writings/broadcast_and_community.html I agree with most of his points. Better technology can not substitute for better people, although I observe a strong correlation between mental acuity and humility and, hence, 133t hacker skills. One of the unfortunate things about communities (reddit included) is th…

I wonder if there may be a way to build the wall you describe in the general-public site. Pretend you could rate commenters, not publicly but privately--for your own private use. If you spot a particularly dumb comment on reddit, you could blacklist the commenter--privately, so that your action would affect only you. Similarly, when you notice a brilliant comment you will want to permanently highlight its author so t…

Your algorithm suggestion is interesting, but probably not sufficient. Although reddit trolls are one step up from internet spammers, the same principle applies. With sufficient quantity of trolls/spammers blocking each one individually becomes an incredibly time intensive task - enough to drive away all those who don't have tons of time on their hands.

Pg speaks above about customs, but the problem with customers have to both (1) be educated about site customs (2) want to be educated about site customs. I think with any influx of 14 year olds of sufficient you will find both 1 & 2 problematic.

Now, personally, I think there is a significant difference between a news aggregation site and a community site. In a community site persons actually develop relationships and relate to each other on this basis. I have no seen that happen much on reddit or here. One reason for this is the speed of discussion - most of the best online discussions I have been involved with have taken days or weeks to fully develop. In any news-blog-digg driven site the time frame is closer to 24 hrs.

What I would favor is a multi-tiered system. For something like YC News there could be something like three tiers: (1) Old school hackers with experience in startups (2) Less experienced coders (3) Whoever wants to participate. Each conversation could be assigned a tier, and people of that tier and above tiers could participate. For example, a tier 3 discussion would accommodate people of tier 1,2 &3, a tier 2 discussion could accommodate tiers 1&2.

In many ways this model is what we already do. We have low-tier sites like digg which we may check, we come to places like this for a free form discussion mostly among people of type 2, and type 1 discussions are mainly engaged in via email. So in some ways the only innovation I propose is that some of these type 1 discussions be viewable to the public, so we can see what cool lisp hackers talk about in private (and solicit them for advice).

Response to other reddit comment comments:

Fallacy - I don't think the fallacy thing will work simply because (as with the site customs described above) one has to be educated as to what any given fallacy means.

Ethical dilemma - funny I never thought of doing that, although I think your solution would work.

Popular comments - yes this is a big problem; I have noticed it.

Re: PG: What's your current take on reddit's comment system?

#38
post #17

Earlier quoted context omitted.

"They were never going to jump into a discussion and tell people to stop being jerks." Really? Isn't that more or less what they did with Pica when they requested that he stop using certain epithets?

Did they? I didn't know about that, but I'm not surprised. Still, it shows how tolerant they were if it took him to make them say something.

I remember reading something from spez (I think) to the effect of "We asked him to tone it down, and he did." And I think pica said he'd been told to say "n-word" instead of, well, the n-word.

I have no idea why this was satisfactory to the reddits, since all it did was add a hilarious dash of ironic political correctness.

Re: PG: What's your current take on reddit's comment system?

#39
post #34

Earlier quoted context omitted.

"They were never going to jump into a discussion and tell people to stop being jerks." Really? Isn't that more or less what they did with Pica when they requested that he stop using certain epithets?

I believe richardkulisz was also dinged. His new username is "redditcensoredme". So it does seem to only be the most extreme cases. There are some very popular forum sites that have existed for years and maintained civility. Any Reddit-type site could learn a lot from them. They almost all have a group of core users who act as moderators and enforce a set of published rules. It's critical that they not make up the ru…

I think richardkulisz just misunderstood the reporting algorithm. He was a little less polite than pica, so people resented and reported him rather than downmodding and ignoring.

Re: PG: What's your current take on reddit's comment system?

#40
post #28

Earlier quoted context omitted.

Alex, this is very interesting. Do you think there might be a way to get one's hands on the original? If there is a person/persons at Yahoo to contact I would do it, as this is something I have thought about quite a bit and would love to see more about the definitions of core, light, new, long-time, large and small. You can email me if you like.

So I heard this talk at the Cornell Microsoft International Symposium on Self-Organizing Online Communities. The presentation was called "Implications for Future Research; Theory and Methods in Large Scale Analysis of Online Communities." And the three Yahoo presenters were Ravi Kumar, Andrew Tomkins, and Cameron Marlow. Not sure which one those three specifically, but I'm sure you could ask any of them. I've develop…

At least one related paper is available online:

http://research.yahoo.com/publication/structure_and_evolutio...

I probably won't have time to read it until this evening, but will post then.

Post reply on HN