top | item 47141119

Show HN: Hacker Smacker – Spot great (and terrible) HN commenters at a glance

144 points| conesus | 5 days ago |hackersmacker.org

Hacker Smacker adds friend/foe functionality to Hacker News. Three little orbs appear next to every commenter's name. Click to friend or foe a commenter and you'll more easily spot them on future threads. Makes it easy to scroll and spot the commenters you love to read (and hate to read).

Main website: https://hackersmacker.org

Chrome/Edge extension: https://chromewebstore.google.com/detail/hacker-smacker/lmcg... Safari extension: https://apps.apple.com/us/app/hacker-smacker/id1480749725 Firefox extension: https://addons.mozilla.org/en-US/firefox/addon/hacker-smacke...

The interesting part is friend-of-a-friend: if you friend someone who also uses Hacker Smacker, you'll see their friends and foes highlighted too. This lets you quickly scan long comment threads and find the good stuff based on people you trust.

I built this to learn how FoaF relationships work with Redis sets, then brought the same technique to NewsBlur's social layer. The backend is CoffeeScript/Node.js/Redis, and the extension works on Chrome, Edge, Firefox, and Safari.

Technically I wrote this back in 2011, but never built a proper auth system until now. So I've been using it for 15 years and it's been great. PG once saw it on my laptop (back when he was still moderating HN, in 2012) and remarked that it was neat.

Thanks to Mihai Parparita for help with the Chrome extension sandboxing and Greg Brockman for helping design the authentication system.

Source is on GitHub: https://github.com/samuelclay/hackersmacker

Directly inspired by Slashdot's friend/foe system, which I always wished HN had. Happy to answer questions!

167 comments

order

scrumper|3 days ago

I wonder what the second order effects of this on the HN karma system will be. It'll create a graph of karmic supernodes perhaps. Say I green-blob someone with a big reputation here, say jacquesm; no doubt lots of other people will do the same. The friends-of-friends icon is going to appear widely but it'll all be a single edge away from Jacques' node. Is that much of a signal? I dunno. That's 30 seconds of thought about it. It's a fun idea though so I'll try it.

Version two: hide foes? Come to think of it, maybe the 'foe' aspect is the fun part...

EDIT: it's like I summoned him.

bigbadfeline|2 days ago

> I wonder what the second order effects of this on the HN karma system will be

My first thought was this replacement of the HN karma system would make it a lot like FB and Xitter - a collection of disjoint echo chambers. My second thought was the same, then I stopped thinking about it.

sdwr|1 day ago

It's not bi-directional. When you friend jacques, you see people who he has friended as FoaF, not people who have friended him. It's a curator-style system, not a direct popularity one.

drcongo|3 days ago

everybody loves jacquesm

cpeterso|3 days ago

> Version two: hide foes?

That's a good idea.

Here's my bad idea: the extension auto downvotes foes and auto upvotes friends. :)

jimnotgym|2 days ago

I'm interested in peoples thoughts about this. There are people in here that I generally respect, but on certain subjects I have seen comments that are not helpful. If I saw one of them first I might click 'foe' and then ignore them in the future.

And this seems normal. I have a friend in real life who I like talking to, we share some views, and vehemently disagree on other subjects. He likes to bring them up and I tend to divert the discussion because I don't want to lose them as a friend

TonyStr|2 days ago

This is my concern as well. IMO, one of the great aspects of HN is the semi-anonymity (no profile pics, names are just strings that you probably don't memorize unless you see the same name often, no visible upvotes, etc.). This makes us take the comments and submissions at face value, evaluating the content rather than relying on past experiences with the author, or other people's evaluation of it (upvotes).

I feel that any system which injects opinions into comments/submissions before you read and process it, work against the principles of Hacker News. A system like this might be great for a community full of trolls, but another one of Hacker News' strengths is it's heavy moderation. I see maybe <5% troll/bad-taste comments, and most of those are already flagged and [dead].

p0w3n3d|2 days ago

But marking someone as foe based on their first comment might be very misleading, not to speak of good practice of discussion despite of agreement or disagreement. I'm coming to the stage of my life that I try (sometimes hardly) to speak with people with which I disagree. It's my crusade against cancel culture. People are more than one dimensional and even if we disagree on one two dimensions we might agree on others, or just play D&D together sometime

casey2|1 day ago

It's the difference between 99% and 100% of an accounts' posts. Maybe for those rare accounts that only speak when they have something to say on a topic they are knowledgeable on it's higher.

I'd divide that green by the amount of posts the account makes (and maybe start red lower and multiply) test that and you'd probably find most accounts are beige.

nextlevelwizard|2 days ago

As kid who grew up on anonymous boards, I never even read user names. Accounts are ephemeral and worthless. Ideas are only things that matter.

dewey|2 days ago

> Accounts are ephemeral and worthless.

I'd state the exact opposite, especially in times where fake news, bot farms and AI generated content are everywhere it matters if something comes from a trusted source or not.

thesnide|14 hours ago

I'm actually loving HN because it hasn't such a system.

While it looks like a very good idea at first, it will evolve in echo chambers. Which are the bane of current society, as noone listen to challenging opinions anymore.

So, very much like the "ban of VPN" for minors, it is a seemingly good idea that will backfire in horrible ways.

zzo38computer|3 days ago

I would prefer to do the opposite, where everything is displayed in chronological order (with an option to display by threads or not; even if not you can still find what each one is a reply to) regardless of voting and regardless of who wrote them.

magicalhippo|2 days ago

I've been wishing for a News (NNTP) portal for HN. Would solve that as well as making it easier to follow larger threads by allowing you to track read/unread.

Mostly because I really miss newsgroups though.

sodimel|2 days ago

That's a nice project!

I searched a few comments I agreed using the "Ask HN: What are some iconic comments on HN?" thread (https://news.ycombinator.com/item?id=40719253) and I'm pleased to see some green comments here and there :)

I also made 2 QoL [fire|grease]monkey extensions for hn:

- display favicons of sites next to links: https://gist.github.com/corentinbettiol/6d9dc3a032c17ebcd94d...

- display karma next to usernames: https://gist.github.com/corentinbettiol/289503b4033a788df91f...

ineedasername|3 days ago

I’d encourage a change of labels away from “friend/foe”. It may seem minor but the subtle loaded nature of those paired terms encourages an adversarial stance rather than one of productive discourse. It’s not catchy so there’s probably better than this but, just as an example— “engage/ignore” could better signal to the user a neutral “do I want to bother with this person?”

derefr|2 days ago

That would imply a slightly different semantics than what the extension currently provides, though.

If you truly want certain users to be "ignored", then you probably want any of their comments (and the subtree of descendant comments) to be hidden/collapsed/made less legible, so that you don't accidentally read them, and thereby don't accidentally get rage-baited by them into wasting your day arguing with them. Same as e.g. kill files on Usenet.

Given that this comment collapsing/hiding/visibility-decreasing is something already built into HN (for comments/subtrees with strongly-negative score), it'd be really easy for the extension to hijack this functionality for its own purposes... if it actually wanted the red button to mean "ignore".

That the extension doesn't do that, implies to me that the extensions intended semantics for "foes" isn't "I don't want to engage with this person" but rather "I want to notice this person more." Perhaps "so that I can take the opportunity to actively antagonize them / argue with everything they say."

(I'm not saying that this is a good thing; just that insofar as "the purpose of a system is what it does", this is the purpose of a plain "foe" signal!)

logicprog|3 days ago

Agreed, independent of where the terminology came from, I think if you're trying to promote healthier engagement both for yourself and others using this extension, then not having such adversarial names it's probably a good idea. It should just end up being a sort of web of trust to help you decide what's worth engaging with — and sometimes perfectly valid people that you're not actually enemies with or anything just aren't worth your time engaging with because of fundamental axiological or positional differences.

jacquesm|3 days ago

That's just Slashdot's influence. They did the same thing at some point.

jimnotgym|2 days ago

I see this as a very hn type commenting. Nitpicking over semantics rather than engaging the whole. Your comment is fine, but the whole response in the rest of the thread is boorish.

I'm fine with friend or foe, because they are in reality, just coloured blobs

rustystump|3 days ago

I like friend and foe far more than engage and ignore. A foe isnt someone you ignore. Ignoring is what builds bubbles. A foe can often be right even if you disagree.

ehnto|2 days ago

Agree, one of the great parts of HN is that we can still have wholehearted, earnest discussions with people we disagree with. I don't think bringing the combative nature of other platforms makes sense here. We're not at war with eachother or people we disagree with, as much as most media outlets want that to be the case.

groby_b|2 days ago

I'd suggest to move even beyond "engage/ignore".

This is HN. The focus should be "does this person provide interesting or thought provoking comments", not "relationships" or "engagement".

There are plenty of HN commenters whose opinions I absolutely dislike (I'm sure it's mutual ;), but I still read them - they are at least well reasoned or point out missing facts. I don't have to like them to learn from them.

ting0|3 days ago

That's such a friend thing to say!

raddan|2 days ago

Bring back hot or not!

WorldMaker|3 days ago

Follow/Distance?

tyre|3 days ago

favorite / potato

Although there are some commenters I would want to follow because they are potato.

There is something so magical about some of the more delulu Take Havers around here.

polotics|2 days ago

I propose: Bubble/Whistle

ddtaylor|3 days ago

I created and shared Ethos which is a sentiment and discourse analysis thing for HN and it's been plugging away. You're welcome to use its API if you want. Submit a PR for the CORS to be changed as needed.

Original post: https://news.ycombinator.com/item?id=46993774

istillcantcode|3 days ago

I have a text file of commentors I normally disagree with and check in on them from time to time (about weekly). Its good fun and often I find there will be topics I do agree with them on. Reading the same opinions all the time is no fun.

aendruk|3 days ago

I just keep a custom stylesheet that annotates usernames with various emoji. Most of the time I update it as I read, but occasionally I’ll peruse the hidden comments to note e.g. uncharitable participation and revealed bigotry.

Reubachi|3 days ago

A question, per your final comment on being available to answer questions:

What do you feel is the benefit to the community for this that isn't offered by native blocking/existing extensions?

I ask not out of malice, I ask because 2 reasons: 1. I imagine spending time on this/it's working well required you to see the value/benefit to it. 2. We must assume all hacker news commenting follows the rules, IE; good faith comment with relevant experience when required. This seems like a way to promote getting around that.

conesus|2 days ago

The reason I have this extension is because I don't want to hide those comments. I want to be able to read them when I quickly scroll a thread. Oftentimes, I'm reading so many Hacker News threads that I want to be able to pull out the commenters that I like. I even like reading the comments from commenters that I dislike in the hopes that I see if I still disagree with them.

I'm not hiding anybody. I'm just making it more apparent when they're commenting

chatmasta|3 days ago

> that isn't offered by native blocking/existing extensions

There is no “native blocking” on HN. You cannot block a user or hide their comments and submissions in perpetuity. You can only hide on a per-story basis.

brodouevencode|3 days ago

502 Bad Gateway

conesus|2 days ago

Oh man, I had no idea this got reposted and I just discovered now, 8 hours later. Anyway, I kicked the server and its back up.

sentrysapper|3 days ago

Same here. Thought it was my firewall at first. Thanks for confirming.

TheJuli|3 days ago

HN's hug of death

duncangh|3 days ago

hacker smacker smacked down

varjag|3 days ago

HN smacked

vivzkestrel|2 days ago

- can we get an extension that blocks all of ragebait, racist remarks, hostile comments on twitter

- like it is literally trained on some data set to identify posts that are trying to bait people into commenting on them and simply hide such posts.

- the world would be a far better place if we had such an extension

jimnotgym|2 days ago

I'm afraid you just have to delete Twitter. The algorithm, is designed to push rage bait to the top.

ZpJuUuNaQ5|3 days ago

Interesting. I'd love to have a browser extension that automatically blocks all comment sections on every site I visit, so I wouldn't feel the need to interact with anyone online.

alt187|3 days ago

As opposed to OP's extension, I would heartily recommend this one.

numbers|2 days ago

I'm color blind, and those colors look very similar to me. I could not tell if it was green or red or something else. Please use something like blue and red.

MinimalAction|2 days ago

Perhaps you'd like if the "green" blob for friend also included a "+" symbol and "red" one a "-"?

pavel_lishin|3 days ago

Funny; I wrote a greasemonkey script to be able to highlight certain commenters here, but didn't even once consider adding a "networked" element to it.

benj111|2 days ago

Is the friend of friend limited to one deep?

What happens if friends conflict?

Personally I like hn because there is karma, but it's an afterthought. Although I'll it a try. I suspect the problems of reputation and the internet are unsolvable, that doesn't mean we can't try and improve it.

nomel|1 day ago

All the possible states are up at the top, right under the title (I missed it too!). It'll be a pill that's half friend half foe, just like on Slashdot.

ImPostingOnHN|3 days ago

this seems like it would increase tribalism and polarization

subdavis|3 days ago

Indeed. Why engage with ideas on the merits when you can color (literally) your own opinion of them before even reading.

I guess if you just prefer wearing horse blinders?

sickofparadox|3 days ago

Another step towards the Redditification of hackernews. This is the exact opposite kind of functionality pages like HN need, we need ways to get people to engage with others' ideas more substantively rather than literally put someone on the "bad guy I won't talk to list".

JohnMakin|2 days ago

people seem to prefer only reading things from people they agree with

apwheele|2 days ago

This is cool, but for folks concerned about privacy, even if the cached layer is anonymized, in the aggregate I bet you can likely figure out who a person is.

I imagine just looking at the first degree connections of the votes would be a pretty strong signal.

titaniumtown|3 days ago

Installed! Lets see how this goes. I'm going through previous interactions I've had with people.

cousinbryce|3 days ago

Way down on my list of projects to vibe code is tags for HN users. I.e `Elon Stan` , `smart about aeronautics` , `grumpy` , `reasonable` etc etc. I like reading different opinion but if I formed an opinion about a user id like to record that without using my brain

Noumenon72|2 days ago

I wish Twitter had this. It's always frustrating to read someone I've been following for a long time saying some bit of lore or unusual position that would change the whole way I think about them, except I know I won't be able to remember to associate it with their username next time I see them.

jonathanstrange|3 days ago

That's weird, I'm reading HN every day and never felt a need for something like that. In my experience, the quality of comments is very high and really bad ones tend to be downvoted or flagged fast. Could this be a time zone issue such that people in certain time zones are less fortunate than others?

jmye|2 days ago

I think it frequently depends on the thread you're reading and your expertise in that area? There are a few things I'm intermediate to expert in - frequently the quality of comments in those threads is quite poor, but the noise & upvote-y memes look like signal in those areas, so it may not look as bad from the outside.

On the other hand, there are a number of things I'm not very informed about, and I do frequently find a few posters in those threads who seem to have very insightful things to say, but I'm not sure if they actually are (sometimes you can tell from replies) or if it's just because I'm a neophyte.

Which all goes to say I don't know if this system would really help, or would just turn into bad opinions getting even more support because the crowd-sourcing is coming from others who don't have the necessary expertise to evaluate what's worth listening to.

alt187|3 days ago

"Less fortunate" is a generous wording and framing.

nottorp|2 days ago

Hey, how about an extension that will hide user names completely when browsing HN comments?

Edit: wait, just a custom CSS will do it.

How about an option in the HN settings to hide user names then?

Tepix|2 days ago

Neat project, but please increase the contrast between the text and the background on the page in the appendix.

saagarjha|2 days ago

I don’t think this should be implemented but I would be really curious to know who the most disliked commenter on the site is

spondyl|2 days ago

Putting aside questions of the second order effects this might have, I do like how it has that classic Newsblur styling.

conesus|2 days ago

Hah, at least I'm consistent.

Retr0id|2 days ago

I've been testing it out for a bit, unfortunately the layout shift when all the icons load in is very distracting.

conesus|2 days ago

The layout doesn't shift down. It only moves the meta information to the right of the user name over a little bit.

logicprog|3 days ago

Hmm, I installed this in Waterfox for Android, and I don't appear to be able to tap on the bubbles next to people's usernames

conesus|2 days ago

I made some changes and the extension now recognizes if you can't hover and will allow you to tap to show the orbs before selecting one. It now works on mobile browsers with extensions.

yowayb|2 days ago

I wish there was a way for HN to sponsor scale up so that sites have more availability for the HN hug of death

enmerk4r|2 days ago

It sounds great, except I am getting 502 Bad Gateway when following the URL. I think the site went down.

p0w3n3d|2 days ago

1. Create an app (possibly HN related)

2. Deploy it on cloud

3. Post it on HN

4. Sell your house to pay cloud debts

(I mean the page is down already)

dewey|2 days ago

Thanks for actually providing a Safari extension, this is rare!

conesus|2 days ago

That was the toughest lift of all! Firefox and Chrome extensions were easy, just had to go through a quick review. Apple rejected the safari extension 4-5 times and wanted me to make changes to the metadata and even questioned the extension itself. Took a lot of back and forth to get the safari extension approved.

mediumsmart|1 day ago

Friends come and go, foes accumulate.

nadis|2 days ago

Getting a 502 bad gateway error when I try to access the main website as an FYI.

tamimio|2 days ago

What’s the purpose? More echo chambers and circle jerking parties?! Why some people are so inclined to label others? I might dislike someone’s comment on something or disagree with their opinion about it, but absolutely love their comments on another topic. And if that is an “overall” score for a person’s comments, then who are you to hijack my personality and tell me this person is good or not to engage with? Unless it’s just a joke, the concept is stupid.

conesus|2 days ago

I have not found that to be the case. I have over 150 commenters on my Hacker Smacker foe list and I have only found once or twice that somebody who goes into the red bucket deserves to go into the green bucket.

Now the way I use the friend/foe system of labeling may be different than others, and it's a personal decision for how you choose to label commenters. But the way I do it, if somebody has an opinion that puts them on my red list, that's great to know, because when I see them comment elsewhere I now have the context for why I feel the way I do about them.

Retr0id|3 days ago

It'd be interesting to run pagerank over the trust graph

swaminarayan|2 days ago

Nice, so it shows green/white/red badge above commentors. I would suggest HN team to integrate this feature. It looks really cool.

Antibabelic|2 days ago

HN was never the place to add trendy, unnecessary "features" and I doubt there would be a point in adding this one, considering how it seemingly goes against the entire ethos of the community: engaging with the substance of what the people are saying.

thinkingemote|3 days ago

I used https://github.com/ToneyAlexander/HackerTagger for a bit almost a decade ago. Data locally stored, good but didn't transfer across machines, not so great.

It had a little text label next to names so you could manually add whatever you want. Recently I've thought about this extension and using it to tag the LLM users, or the humans who tend to pop up to fan the flames or who regularly post thought terminating comments - little tags to remind me to ignore the bots and trolls.

sebmellen|2 days ago

Oh no… hugged to death!

erikbye|2 days ago

Comments from your "preferred commenter" are like songs from your favorite band, sometimes they disappoint you.

goodpoint|3 days ago

what about privacy?

Retr0id|3 days ago

It would appear that friend/foe lists are entirely public (the latter feels a bit rude)

SV_BubbleTime|3 days ago

I would suggest categorizing the quality of comments by its content and not its creator. Oh, nevermind, that’s a silly thought.

Challenge my core belief? Well… I could rationally evaluate that, or, I could just use a tool to block it from my vision! Bubble thickener.

netsharc|3 days ago

There are some trolls in here that seemingly evade getting banned despite their moronic comments...

Also, many comments just take a wrong premise and attack you (e.g. that not wanting the slaughter of innocent people equals supporting terrorists who want to slaughter innocent people). They don't offer anything more than that, so that IMO taking the time to consider their mostly one-note opinion is just wasting said time.

kmeisthax|3 days ago

There are enough bad-faith commenters on HN that I personally would find this very useful.

INTPenis|2 days ago

Everyone is going to get this extension just to see how it classifies their own comments. This is like the virtual equivalent of scratching your ass and sniffing the finger.

elcapitan|3 days ago

Finally someone brings this place the explicit toxicity it had been missing all those years. /s

croisillon|3 days ago

If you're on HN and you look in the comments and can't tell who the toxic one is, it's you.

rambambram|2 days ago

Yeah, polarizing! /s

I have a better idea. Why not distinguish quality from non-quality by reading a series of characters and then deciding for yourself if you like the subject and tone of voice? People themselves can choose how many characters they use. Let's call these characters the alphabet.

rfrey|2 days ago

A lot of discussion on the labels. I agree friend/foe is counter to what most of us would like HN to be about. How about align/diverge or similar, suggesting whether a commenters position usually reinforces or challenges your viewpoint?

sadeshmukh|2 days ago

How would two neutral labels sound? There's something somewhat confrontational about "friend/foe" and those dynamics seem to worsen discussion. At the least, it should auto hide "foes", since predisposing people to be against a comment before reading it isn't ideal. Neutral labels, like "apple/orange", with slight connotations could be interesting. Of course, this kills networks, but I'd question if that's even a good idea in the first place.

conesus|2 days ago

Thanks to the HN moderators for re-posting this after I posted this a few days ago. I only notice now that it's on the front page.

Happy to answer any questions. Let me tell you, I've really enjoyed having those writers that I like highlighted on this comment thread because it makes it very easy to scan it.

I think it's important to remember that this is not about hiding writers you disagree with. It's simply about making it so that you can read more Hacker News threads and quickly scanning the comments, teasing out those writers that you agree with. It's also fun to read the writers you disagree with, if anything, to reinforce your opinion of them.

card_zero|2 days ago

Is that what it's about?

> identify quality authors and filter out obnoxious commenters

> not about hiding writers you disagree with

> It's also fun to read the writers you disagree with

[But] > to reinforce your opinion of them. [Did you misspeak here?]

> this reduces the time I spent on Hacker News

> find the good stuff based on people you trust

This is very confused.

* Do we want to avoid ideas that we disagree with?

* Do we want to avoid authors we've labelled as annoying? (This is about meta-level bad ideas, about how to interact.)

* Do we want to avoid meta-level ideas that we disagree with?

* What if your friends disagree about who their friends and enemies are?

* What it they don't disagree, isn't that creepy? Echo chamber much?

* Is it right to pre-empt your own interest by labelling material before reading it? I don't know!

Seems to me that rational pre-filtering should be along subtle, personal, ever-changing lines, and you should constantly be deciding on the spot based on complex information including your current mood and dyspepsia. How should interest work? You may start reading a thing and decide "this is not for me" (or "this is a troll or a bot"). Or with a tool like this one you may carry out the same process faster, and more crudely, using less information and less serendipity. So you're encouraging people to be in a rush and make more superficial choices instead of mining for the gold. On the other hand, maybe they are in a rush and need to be like that.

sixeyes|2 days ago

i clicked to fast. "please leave the link in your about section and it'll allow..." it will do what? i don't want to put ands there. what was the function of leaving it?