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!


• ineedasername 4 hours 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?”

• logicprog 4 hours 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 4 hours ago

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

• ineedasername 4 hours ago

Ah, okay-- though that doesn't mean the author can't do better, if I'm not just being too nitpicky.

• jacquesm 3 hours ago

The last thing HN needs is to become more like Slashdot.

• avadodin 25 minutes ago

In Soviet Russia, Slashdot becomes HN!

• Lerc 3 hours ago

Dot product of opinions? Using a fancier term for the same thing might be a significant axis though.

• globalnode an hour ago

maximize your projection onto like minded commenters, create that bubble you always yearned for but until now have never had the add-on to empower the inner-you! finally, you can ignore that filthy plane of delusional outcasts and banish them to the orthogonal abyss forever.

• unethical_ban an hour ago

I've wanted something like this for a long time and also thought of the slashdot system. This is directly from that.

• tyre an hour 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.

• scrozier 9 minutes ago

As a boomer, I had fun trying to decode your last sentence!

• pavel_lishin 33 minutes ago

potato / tomato?

• groby_b 20 minutes 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 2 hours ago

That's such a friend thing to say!

• rustystump 3 hours 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.

• ineedasername 2 hours ago

A foe is also someone you might preemptively punch in the face if they get too close before you could determine if they actually meant you harm right then.

I'd prefer not to label things such that I'm justifying the label's negative potential by the disproportionately small "even if" range of positive ones.

• XorNot 2 hours ago

People I want to ignore I usually disagree with as well, but that's not the problem: the problem is they are repetitive and boring.

• rustystump 2 hours ago

I sure hope the disagreement to ignore ven diagram doesnt look like that. If u never engage, how will you ever know you were wrong about something repetitive and boring?

• XorNot an hour ago

Which is not at all what I wrote.

Most things are interesting if you look deeply into them. People on the other hand can be repetitive and boring about them. Which would extend to the excessive use of meta-argument: complaining people aren't listeninf but also not actually saying anything of substance.

• WorldMaker 3 hours ago

Follow/Distance?

• wartywhoa23 2 hours ago

Arian/Non-Arian

• sebmellen 4 minutes ago

Oh no… hugged to death!

• scrumper 4 hours 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.

• drcongo 4 hours ago

everybody loves jacquesm

• cousinbryce 3 hours ago

Pagerank

• cpeterso 2 hours ago

> Version two: hide foes?

That's a good idea.

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

• verdverm 35 minutes ago

automations get your account in trouble, it's against the rules

• pavel_lishin 34 minutes 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.

• zzo38computer 2 hours 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.

• omoikane 4 hours ago

Related, there is already an extension that allows selected users to be highlighted, but without the shared server data for computing friend-of-a-friend relationships:

https://news.ycombinator.com/item?id=17717598

• brodouevencode 2 hours ago

502 Bad Gateway

• sentrysapper an hour ago

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

• TheJuli an hour ago

HN's hug of death

• duncangh 31 minutes ago

hacker smacker smacked down

• varjag 33 minutes ago

HN smacked

• aendruk an hour 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.

• ddtaylor 3 hours 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

• Reubachi 3 hours 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.

• chatmasta 2 hours 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.

• waltbosz 3 hours ago

https://github.com/samuelclay/hackersmacker/blob/main/web/im...

How old is that icon set? I swear I used that same peppers icon for a Windows app that I published around 2002.

• austinjp an hour ago

At least 15 years, if the git history is to be believed.

• ZpJuUuNaQ5 4 hours 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.

• nickthegreek 3 hours ago
• alt187 4 hours ago

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

• efilife 3 hours ago
• cousinbryce 3 hours 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

• istillcantcode 3 hours 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.

• thinkingemote an hour 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.

• titaniumtown 5 hours ago

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

• logicprog 4 hours 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

• Retr0id 3 hours ago

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

• ImPostingOnHN 4 hours ago

this seems like it would increase tribalism and polarization

• subdavis 3 hours 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 an hour 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 10 minutes ago

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

• jonathanstrange 3 hours 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?

• alt187 3 hours ago

"Less fortunate" is a generous wording and framing.

• goodpoint 3 hours ago

what about privacy?

• n4bz0r 25 minutes ago

Poof!

• Retr0id 3 hours ago

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

• elcapitan 3 hours ago

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

• croisillon 32 minutes ago

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

• SV_BubbleTime 4 hours 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 4 hours 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.

• tomhow 4 hours ago

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

As moderators we can only judge comments according to the guidelines, and can only ban accounts if they repeatedly breach them. You're always welcome to email us (hn@ycombinator.com) about an account that has been continually breaching the guidelines.

• XorNot 2 hours ago

I think that's the point though? Plenty of things not worth engaging with also aren't technically violating any rules: but wasting the brainpower on them also isn't worth it in a reliable way.

That's where an ignore system is useful.

• ddtaylor 3 hours ago

I have emailed HN before when I spot really terrible things and they have been quick to effect change.

• kmeisthax 3 hours ago

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