Hacker News new | past | comments | ask | show | jobs | submit login
Assorted improvements to News.YC (ycombinator.com)
59 points by pg on July 3, 2008 | hide | past | favorite | 57 comments



Another is to gray down comments with negative scores to near invisibility, in the hope that this will cause downvotes to tail off.

I'm not sure how long this has been going on but it's really annoying. I end up having to highlight the text to read it. The methods of hiding unpopular comments that Reddit and Digg use are much better because they provide the option to view the comment unobstructed if desired.


I think it signifies a trust in user votes; basically, if you hit a certain negative votes, the odds of you wanting to see this comment is thought of as low... having the system this way builds trust among fellow members of the commmunity (hope I'm not way off here)


I actually think this one is counter-productive.

Firstly, when I see an extremely light gray comment, I'm always curious to see what could possibly have been so ridiculous as to justify that kind of downmodding, so I'm more likely to read it than I am a positive-karma comment.

Secondly, if it truly was a stupid or objectionable comment, it gives some satisfaction to downvote it, and watch it turn an even lighter shade of gray.

So for me at least, this feature actually encourages the two things it's supposed to discourage: reading negative-karma comments and downvoting them to oblivion.


Whereas I think the greying out is not merely funny, but also useful and elegant.

But I don't make a habit of reading downmodded comments. Life is too short. So I'm not one to comment on their legibility.


I think the sorting is much more effective than the graying out.


I end up having to highlight the text to read it.

Perhaps this is related to the gamma of your monitor? I understand that Macs use a different gamma (1.8) than PCs (2.2), which would make bright tones calibrated for a PC less distinguishable on a Mac. I'm using a PC, and I have yet to see a comment I needed to highlight to read.


Perhaps - what about this comment:

http://news.ycombinator.com/item?id=173351

Granted I'm on a Macbook, but this is very hard to read for me.


Yeah, that's pretty unreadable for me as well. I guess I haven't seen posts modded down that far; I must be fortunate in my choice of threads.


+1. I also have resorted to the highlighting hack on many an occasion.


I noticed this one today, got a kick out of it!


I wonder why Paul cares so much about people being collectively downmodded under the ground. Some of the stuff I said here scored way below -10 mark and I didn't care, why would PG?

This is just a little game we're all playing: popularity in high school, karma points on some Internet board, who knows, maybe someone is selling fake Facebook friends... Paul, you're taking this too seriously! :-)

Why create a little democracy only to manipulate it slightly to his understanding of "the right thing to do"? Although I'd love the idea of printing McCain name nearly invisible on the ballot. That would do the trick.


News.YC was "manipulated" from the beginning. There have always been customs about how to behave, and software for enforcing some of them. For example, there has always been protection against spam and sockpuppets.

The most important thing to me about this site is the community. In any community you seem to have to have rules to prevent abuses.


It's a pretty cool game. My karma has been growing since i started playing here. I upvoted a lot of comments i agree with and down voted some i disagree with. I even did some cool stuff like upvote -5 or lower comments just for fun. I even posted a dumb comment once to see how my karma would change(i deleted it after i saw the result, im not 15 any more and spamming isn't as interesting) It is a game, and i don't take it verry seriously. But i do reread and reedit my comments before posting, but i mainly do ti because of my bad English, i've been learning it for 12 years now and my spelling is still horrible.


This is just a little game we're all playing: popularity in high school...

I used to tell myself that high school popularity was just a silly game. Then I grew older, the web was invented, and I got to read the stories of geeks whose unpopularity in school led to them being beaten with bicycle chains in the parking lot.

Never underestimate the power of social dynamics. When humans play a "little game", that game can become real.


"Please don't downvote comments that are only mildly mistaken or disagreeable to scores as low as -10. That kind of score should only be for spams and trolls."

Why not just limit it to -5? There's already the flag for spam and trolls. Just add that to comments as well as posts.


Alternatively, you could let people downvote as much as they want but cap the karma hit at -10.


Comment posts do have the flag, but only if you look at the comment on its own page, e.g., your comment: http://news.ycombinator.com/item?id=234897


You've just exposed one of my objections against this type of limit: it's arbitrary. -5? -10? -15?... I don't like arbitrary limits if we can do without.


So once a non-spam/troll comment has been downvoted, a nonupvote is enough to signal agreement?


Once it's been downvoted to what seems a sufficiently low score, yes.


The confusion over this issue springs from the overloading of voting as both "promote/demote" (community appropriateness) and "agree/disagree" (personal opinion).

It's easy to understand why a 'demote' should be withheld once the community goal of deemphasizing a inappropriate comment has been reached.

It's harder to understand why someone should withhold their personal opinion, simply because they were later to vote. To the extent the net score is an opinion poll, more votes are more representative, no matter how late they arrive.

These two sometimes-conflicting senses could be split into two axes of community feedback, one promote(up)/demote(down), the other agree/disagree. Agree/disagree would be shown as a different score, or tiny sparkline-like bars reflecting not just the net value but the separate agree/disagrees totals. Then people would have an outlet for 'piling on' with personal opinions without unwanted karmic or order-of-display impact.

This might also serve to highlight some interesting classes of comments: those respected (upvoted) but generally disagreed-with, or those with high simultaneous levels of both agreement or disagreement. (Right now there's no way to tell if a comment scored 1 has no votes, or 20 upvotes and 20 downvotes.)

(My previous comments suggesting the same can be found via http://news.ycombinator.com/item?id=214521 .)


> It's harder to understand why someone should withhold their personal opinion, simply because they were later to vote.

You can think of it as a strange and illogical tradition of this particular community if that helps. However, I think there's a good reason for it: "beating up" on unpopular comments, or even wrong ones, is "unneighborly". In a conversation amongst a group of people, if someone says something wrong, and one person corrects them, it would look pretty weird if all the others took turns saying "yeah, I think you're wrong too".

Personally, what I would love to see is this: I see a comment that is from someone, say a regular who I respect, that is flat out factually incorrect. It's already at -1, where I think it should stay, and someone has already responded with a comment citing correct information. It would be ideal to have a "hold at -1" button that adds my downvote if anyone else happens to vote the comment up. But it really doesn't matter all that much. The most important thing is the community spirit of the thing.


You can think of it as a strange and illogical tradition of this particular community if that helps.

Oh, I understand it.

But I suspect it's hopeless, long term, to try to convey that subtle idea as usership grows. The mod-up/mod-down is an 'attractive nuisance' that will always attract agree/disagree piling-on, because you can't untrain people of their expectations of what 'voting'/'polling' means, and it's just so darn easy, when you've only got one bit worth of reaction to a comment, to use a click rather than a reply to express yourself. (It'd even be better for the site, if that one click didn't trigger karma resentments and feelings of censorship.)

A river finds the sea; simple agree/disagree sentiment is flowing into mod-up/mod-down because that's the easiest path for its expression.


It's harder to understand why someone should withhold their personal opinion, simply because they were later to vote.

That's the way things already work in the real world. One is less likely to complain about something when a lot of other people have already complained about it. It's considered "beating a dead horse."


If voting is only a 'complaint', sure.

But in a poll or election, there's no general taboo against expressing your redundant opinion. In fact, it's encouraged, to get a complete or representative sample.

And especially when a comment provokes strong opinions, but is already well-expressed, a simple click-vote-with-tally is almost irresistant to people as an outlet. It's quick, it's easy, it doesn't bloat the thread with vertically-expensive 'my thoughts exactly' or 'I couldn't disagree more' one-line replies.

The one downside is that it also affects karma and display position, and thus is likely to generate resentments and competitions. That's what makes it a bit unseemly; 'beating a dead horse' or unneighborly 'piling-on'.

Hence the solution: give people a pure agree/disagree vote separate from mod-up/mod-down.


Don't be misled by the use of the word "vote." Upvotes are not like an election or poll. They're really 1-bit comments.


I know that's your intent, but each wave of new users is only going to pick that up slowly -- if ever.

And it's not just the word 'vote' that's a problem. The UI/functionality doesn't completely support that intent: they're "comments" that can be erased when the next person votes the other way. They're reported like a poll -- a summary number. But downvotes sting more than respectful disagreement, because they imply transgression.

The coarsening of discussion, the anguish over piling-on, the long threads about proper voting, the karmic games -- they're all worsened because the 1-bit message 'this comment is bad' and the 1-bit message 'I disagree' are forced into a single 1-bit channel.

(Forcing "this comment is good" and "I agree" in the same channel isn't problematic the same way, because neither sentiment conveys opprobrium and triggers defensiveness.)


Pure curiosity here, but why not just put a cap on the amount a post can be downvoted?

Cap it at say, -10; If it's truly offensive, it will probably get flagged anyways.


It would be too easy for users to collude and vote each other's comments up regardless. Maybe algorithms to check that? Also, the 'pile up' effect can be quite bad too. People should use their discretion.


There is already software for discovering voting rings.


Nice. Any comment on what was changed to keep comments from timing out for a half hour?


  (mac timed-arform (lasts f . body)
    (w/uniq (gl gf)
      `(withs (,gl ,lasts ,gf ,f)
         (tag (form method 'post action rfnurl*)
           (fnid-field (if ,gl (timed-fnid ,gl ,gf) (fnid ,gf)))
           ,@body))))


My understanding of downvoting is that it is meant to tag/reinforce negatively any behavior that is not in keeping with what is considered the ground rules or standards of the community. This definition should promote keeping signal/noise ratio high. The definition of downvoting that says downvote=disagree seems to be a problem. There is also some grey area, for example do you downvote claims that are known to be incorrect factually? This is different from disagreeing on matters of opinion. I would say lay off the downvote in that case and consider writing a reply to correct the error.

Maybe there should be a small color coded menu that opens for down votes, to specify the reason for downvoting. That would serve two purposes. 1: it would be slightly more difficult to downvote and 2: the color coded downvotes could be used to paint the text, indicating in which way the comment is considered off the mark. On second thought, painting the text would draw unwanted attention to it, but use the colors somewhere on the heading maybe?


So, looks like this is the bit where all the users weigh in with their $0.02 about what should have been changed instead? ;)

I've always thought that a karma system where downvotes had a cost would be pretty good. Ie, perhaps you could only submit as many downvotes as you have karma yourself, and maybe downvotes would actually reduce your own karma as well. That would mean that a user would be tempted to only downvote comments that were really objectionable, and never downvote something that is already negative (since it would be pointless.) Users who post good comments would be more "powerful" in their ability to prune.

Or just do away with it altogether. Humans find it easier to criticize than praise.


user accounts are now lazily loaded, which has made server restarts more than twice as fast.

PG: can you please explain more about this? What is lazily loading user accounts? and, how are your measuring perf?


Lazily loaded would refer to the fact that it's only loaded when needed. In other words, when he restarts the server, he doesn't load up any data for the users. Instead he just creates a reference to the filename that contains all the user info and creates a data structure to hold all that info in. Then, when someone attempts to login, he searches through the file and finds the credentials, and if successful pulls all of the users information into memory.

Before this change, he stored the information for all users in memory, even the ones who no longer use the site, as soon as the server restarted.


Almost, but it's not only at login that you need user data.

Basically I changed the code that looks up stuff about users (formerly just a hash table in functional position) to call a function that loads a user from disk first if necessary.


how about perf? how are your measuring that - # of connections?


I usually just look at average time for generating the frontpage.


got it. thanks very much,


I can vote again!


Doesn't the flag feature make downvoting superfluous and meaningless?

The automatic ranking systems (Google, Flickr, etc) usually only calculate positive points, or otherwise they simply ban irrelevant/offensive content manually. You're either good or irrelevant - that's the philosophy and it's very positive in all respects.


Suggestion: give a max limit of downvotes per user per day/week/month, this way they will think twice before they "spent" their downvotes.


Will there be an updated ARC tarball drop with the latest News.YC code?


I think the voting problem is a serious one. Apparently, only a minority of readers and posters vote and they seem to have a gang mentality that works like this: "If I don't like you, I'll vote you down regardless of what you write." This sucks the big one.

The same problem is happening on every site where voting is allowed. There is usually a loud, highly emotional and political minority with a lot of time on their hands that invariably takes over and impose a fascist dictatorship on the rest of the community. Digg, Slashdot and Wikipedia are cases in point. I wish there was a way to motivate a greater percentage of readers to take part in the voting process.

Another problem is that a lot of people receive updates via RSS news readers and I suspect that most go directly to the link and rarely check the comments or attempt to vote. YC needs a way to entice people to visit the site and incorporate the number of times a link is clicked to the formula that computes the popularity value of the story. Just one man's opinion.


"I think the voting problem is a serious one. Apparently, only a minority of readers and posters vote and they seem to have a gang mentality that works like this: "If I don't like you, I'll vote you down regardless of what you write." This sucks the big one."

Maybe fade the commenter's name when a comment is posted and restore it to full visibility, say 24 (or 48 or 100) hours later? This way you are forced to focus on the content of the comment and not the commenter.


I agree, I posted the feature request here not too long ago: http://news.ycombinator.com/item?id=223238


Agreed, I do my part to try and vote on stuff as much as I can, especially comments that have obviously taken time and effort to create.


Amazon has had the problem of bi-modal review distributions for a while (most reviews are either 5 or 1 stars.) They've done some ineffective things to try to change that, like specifically requesting reviews from people. But then, unless people are emotional about a product, why bother?

Skinner: [Looking at political buttons at Cockamamie's] Hmm. These campaign buttons are all partisan. Don’t you have any neutral ones? "May the better man win," "Let's have a good, clean election," that sort of thing?

The best solution would be to do what governments have always done: Limit the amount of votes per person.


>Limit the amount of votes per person.

There are more subtle ways. Raising karma needed for downvote, better as a function of site size. Making downvotes cost you karma. Giving "objetive" scores to certain comments so voting them has an effect on voters' karma. Hiding comments score so you don't get influenced by others' votes. Delaying application of karma so you have to behave instead of probing how to game the system.

One thing that I've seen that doesn't work is to use simplistic algorithms that operate automatically based on karma and agreement. That method results in groupthink and, if the site is popular enough, people gaming the system for profit. Other times it generates two confronted bands. It seems that an external human feedback is needed peridically to inform the system what's undesirable.


Also to give modding quotas, so one only receives a fixed number of mod points that can be applied before having to wait to receive more. That would make each user have a similar impact on the board, whereby an upper limit is placed to curtail people from going on an unthinking modding binge.


That creates a strong bias for people with lots of time on their hands which I reckon tips the voting bias towards people not actually running a startup.


I don't understand. What exactly does create strong bias?


Karma isn't a function of usefulness to the community, it's a function of time spent on the site, broadly speaking. As such, I suspect that those that have the most experience with startups on average tend to be below the mean in the karma pool. Thus giving those with the most karma an additional boost in shaping the site dynamics would push the site further in the direction of "fans of startups" as opposed to "people working on startups".


I kind of wonder if PG/YC would reject the top karma people out of hand as time wasters:-)


Or fans of PG. Anything he posts automatically gets double digits of upvotes in minutes.


Aren't most people here fans of his to some degree? I mean, I don't accept his writing as The Word of Landru, but I thought most people found the site due to his writings and linking to it?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: