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

148 points by conesus ↗ HN
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!

82 comments

[ 5.2 ms ] story [ 82.0 ms ] thread
Installed! Lets see how this goes. I'm going through previous interactions I've had with people.
(comment deleted)
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?”
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.
(comment deleted)
That's such a friend thing to say!
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.

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.

Bring back hot or not!
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!)

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

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.
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.

> Version two: hide foes?

That's a good idea.

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

> 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.

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.
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.

There are enough bad-faith commenters on HN that I personally would find this very useful.
this seems like it would increase tribalism and polarization
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?

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.
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
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.
Finally someone brings this place the explicit toxicity it had been missing all those years. /s
It'd be interesting to run pagerank over the trust graph
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?
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

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.
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.

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
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.
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".
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.
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.

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.