Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Extension to highlight and tag users on Hacker News (github.com/veggiedefender)
70 points by eat_veggies on Aug 8, 2018 | hide | past | favorite | 38 comments



Funny, I just made something like this today (but more primitive), mostly so that I won't miss Walter Bright's comments.

    // ==UserScript==
    // @name     Hacker News VIP highlighter
    // @version  1
    // @grant    none
    // @match    https://news.ycombinator.com/*
    // ==/UserScript==

    function highlightVIPs() {
      'use strict';

      const VIPs = [
        "WalterBright"
      ];

      const userTags = Array.from(document.getElementsByClassName("hnuser"));

      userTags.forEach(tag => {
        const username = tag.href.split("=")[1];
        if (VIPs.includes(username)) {
          tag.style.fontWeight = 'bold';
        }
      });
    }

    highlightVIPs();

(I'm not much of a JavaScript programmer, but it seems to work.)


Pretty cool! If you want to speed your script up, consider implementing VIPs as a Set() so lookups are approx. O(1) rather than O(n).

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...


His solution is fine -- the asymptotic complexity in this case doesn't matter since N is bounded and small.


Probably won't see much speedup with one VIP? b^)


I currently have nine usernames in the array (removed all except Walter from the comment for brevity and privacy), but it's still a pretty small `n`. I don't know at what `n` the set becomes faster than the array, but I haven't noticed any performance impact from the script, and I can't be bothered even googling how to profile it in the browser.


To be fair, Walter is a pretty solid choice. He's a successful businessman and extremely technically smart. There are quite a handful of similar people on here, who are very successful and intelligent and whose comments are always well thought out and insightful. (I want to be one of them one day but my career is just budding, so only time will tell.)

It almost makes me think HN should have a related feature, where people can universally stand out, separate from the leaderboard (link at the bottom). But knowing HN's philosophy, I know this would be against the spirit of the humble-meritocracy they're trying to build, and would do more harm than good.

In fact, I even wonder if this HN-Friends extension is going to have an adverse affect on its users. Right now the usernames are (probably intentionally) understated, to draw more attention to the content than the author. If we notice the person, we already have a bias not only toward their comment, but to read their comment before anyone else's. This goes against the meritocracy that I love about HN. But I also wonder how many thread discussion I had where I missed the context of who is talking, and the direction could have gone so much differently because of it.

And even more importantly, I love and encourage this kind of innovation, and don't in any way want to discourage you or anyone from making clever things like this!


It's always fun to read a great comment and only then notice that it was Walter Bright who wrote it (and it often is).


What exactly is the b^) face? Smily staring cyclops? If it's an emotion, it escapes me.


Looks like a side profile, with glasses


Could be a misspelled B^) which looks more like a smiley with a nose.

http://symbolhound.com/?q=b%5E%29


That seems possible. I'm not so up on my smileys as I might be.


My right eye is missing and I wear an eyepatch.


Hashing sets add a large fixed cost that dominates for small n. IIRC the rule of thumb is that arrays are better up til around a dozen or two.


If you're interested, I just put https://followalong.co into alpha. It lets you follow people on HN and get email alerts when they post


I'd like an extension to remove usernames entirely. I would rather my opinions about commentary be less biased, not more.


in that case, just add .hnuser to your ad-blocking rules.


You'd probably want them hashed instead (maybe with a salt based on toplevel thread ID) - while you may prefer to not know who are you reading, you probably want to know whether a series of comments are written by the same person.


If you're the kind of person who wants this, you may also be interested in my RSS feed of good HN commenters: http://hnblogs.thume.net/


http://hnblogs.thume.net/feed.xml returns 500 for me :(


Very cool! I think it's especially great that this is a browser plugin instead of a separate website. It's great when developers make things as easy as possible on users. Nice job, I'll be giving it a try!


Agree! I am an app developer, and I like to think about how to make app developers jobs (and onboarding) easier, and the next thing I will write on that vein I think, already decided with the idea and design mostly formulated, will be a Chrome extension (for Pivotal Tracker users that also connect Bitbucket to a CI, to aid in merge request management)

This example is great, as it is open source and supports Firefox too. Maybe I'll do both browsers as well! This HN friends extension does most if not all of the primitive things that I will need to do, so I'm being sincere and I think it's a great publish.


Luckily, both Chrome and Firefox use the webextensions API, so supporting both is pretty simple.


This is super! I was able to understand how to use it right away, installed and upvoted. I don't know how much I will use it, but I have often noticed the same insightful people popping up in discussions I am interested in, and so I will get some value out of it, and I guess I love the logo, too.


I have noticed that sites like reddit and HN feel implicitly anonymous. it'd be interesting to see how this helps reduce some of that. I've been trying my own ways of improving how I interact with people on reddit, maybe I'll try this.


added it to my slowly growing list of HN ( and related ) resources https://github.com/keithn/HackerNewsCommunity


Would be neat if you could tag people with different colors, to indicate like/dislike, or to indicate the primary topic that you have encountered them talking about in the past.


I would think that would be generally harmful for the point of thoughtful discussion as you are essentially labeling a person from the get-go with a certain bias.


I think it could actually have the opposite effect — that someone you've tagged at one point as someone you disagree with later posts something that you agree with (or vice versa).


More pessimistically, it could make you disagree posts because they're made by someone you disagree with.


Works well when the labeled person writes thoughtful comments.


this is just like reddit RES that's pretty cool

I was meaning to write my own userscript / chrome extension to show a button if there's a reddit-thread with same URL trending in hackernews, so you can click and go to those comments. It would say how many comments there are, and pull up the one with the most upvotes/comments within a 6 month timespan.

Haven't gotten around to it yet unless someone else wants to make it

I made one for my favorite notetaking app though, that I use fairly often. I made a write up of things I learned to write it

http://vincentmtang.com/2018/06/29/adventures-in-writing-a-t...


There is actually a HNES[0] with both firefox[1] and chrome[2] support. I use it primarily because it highlights new comments from the last time I visited a submission.

[0] https://github.com/etcet/HNES

[1] https://addons.mozilla.org/en-US/firefox/addon/hnes/

[2] https://chrome.google.com/webstore/detail/bappiabcodbpphnojd...


Seems useful, does anyone know of a similar thing for Safari or as a userscript that works in Tampermonkey (across all browsers) or Stylish?


With Stylish or similar, you can do the username highlight like so:

a.hnuser[href*="id=dewey"] { background-color: orange !important; color: white !important; }


There's my userscript that I posted in another comment, but it's not as featureful. It just makes certain usernames specified in a static array bold. https://news.ycombinator.com/item?id=17717736


Love it. Thanks. Even better if tag is visible btw.


I'll work on it!


Also I would personally prefer for the "tag" box to have a save button next to it. It wasn't clear to me whether it autosaves or if I was supposed to type the name before clicking "add friend". Could just be me though, but I would like this feature. Added this issue so that if people agree or disagree, they can vote on it through thumbs up/down in the Github interface: https://github.com/veggiedefender/hn-friends/issues/1




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

Search: