Show HN: HN Follow – Follow Your Friends on HN

(val.town)

133 points | by stevekrouse 16 days ago

17 comments

  • alan-stark 16 days ago
    What's the value of bringing Facebook/Instagram mechanics into HN? Wouldn't that skew social dynamics away from egalitarianism, giving rise to "influencers", social bubbles and rise in clickbait? I think that not having a 'follow your friends' mechanism is a feature of HN.
    • jfengel 16 days ago
      I want the opposite of that: "This guy is an asshole and I just don't want to see him ever again."
      • hoosieree 16 days ago
        I have this half-baked idea for an anti-social media website where the only way to "engage" is by blocking people.
        • jfengel 15 days ago
          Some years ago I wanted to create LinkedOut. It was a privacy-conscious web site, where you couldn't spill any secrets because it wouldn't take any information. You got your page, which was blank, and stayed blank. A very anti-social network.

          I'm pretty sure the domain name was taken already.

        • NikkiA 15 days ago
          I mean, reddit is half way there, they just need to increase the pathetic limit of 1000 blocked users.
      • lb4r 15 days ago
        3-minute uBlock script:

        news.ycombinator.com##:xpath(//span[contains(@class, 'comhead')]/a[contains(@href, 'user?id=USERNAME')]/ancestor::td[contains(@class, 'default')])

        Replace USERNAME with the user you don't want to see.

        Edit: it only works on comments, but you can just as easily make one that hides their submissions as well.

        • Arnavion 15 days ago
          Shorter version:

              news.ycombinator.com##.default:has(.hnuser[href$="=USERNAME"])
          
          Alternative version that just makes the text invisible so that you can still highlight it to read it if you really want to:

              news.ycombinator.com##.default:has(.hnuser[href$="=USERNAME"]) .comment > .commtext:style(color: #f6f6ef !important)
          • lb4r 15 days ago
            > Alternative version that just makes the text invisible so that you can still highlight it to read it if you really want to

            Amazing! I had no idea uBlock could actually inject another style.

      • Thiez 15 days ago
        On slashdot you could mark people as friends and foes. You could then assign a penalty to posts by foes (and posts by foes of foes and posts of friends of foes, I think?) so they were unlikely to meet your 'show post' point threshold and would therefor be hidden.
      • aziaziazi 16 days ago
        Great idea! What about fade-away hnstyle with a color teint? Maybe updating à gist with Val Town and referencing that gist from a css file with Stylish? Or another way js only…

        Edit: some can hack it to tint people they like.

    • skinnymuch 16 days ago
      This is HN. The corpo minimal social news site of the most successful VC incubator. Egalitarianism and HN barely overlap.
  • quaintdev 16 days ago
    How about an app that shows a list of friends like below

    pg(3)

    cj(4)

    stevekrouse(2)

    Each of above name is hyperlinked and leads to a page where I can see all their updates. The count in bracket let's me know how many updates they have. This is not necessarily a suggestion for this app. I wish more social media apps adopted this approach instead of current time hogging feeds.

    • stevekrouse 16 days ago
      This is a cool idea too! The easiest thing to do here would be to schedule it to run daily or weekly instead of hourly. But you can also build this aggregation thing too on Val Town. Lmk if you want a hand with that!
  • zoogeny 16 days ago
    Just some random feedback on the val.town interface. The concept is interesting but I have one gripe.

    I want to know what the code I'm about to run will do and I notice the pretty unique `@stevekrouse.hnLatestPosts` type interface where it looks like you can reference functions. But this leads to a deep chain of reference. Like, that function leads to `@stevekrouse.hnSearch` which leads to `@stevekrouse.fetchJSON` which leads to `@stevekrouse.normalizeURL`, etc.

    There is some kind of DAG of dependencies that is invisible to me. I'm wondering what could be done from a UI perspective here? Like, maybe a tree view where each node is expandable? Right now it just pops open a new browser tab and I end up with context spread across multiple tabs.

    The concept of composable references is powerful but I think the UX could be improved.

    • Alifatisk 15 days ago
      You mean like how github does in their search page?

      You hover click on a method and a side panel shows up with source code of that method

  • tomrod 16 days ago
    I like the idea. I worry it will result in skewed incentives affecting content if widely adopted (i.e. LinkedInSanity)
  • toomuchtodo 16 days ago
    Do you have an option to opt out of being followed?
    • stevekrouse 16 days ago
      No, sorry. It's just polling HN via the Agolia API, so if you post on HN publicly, anyone can poll for that data.
      • haswell 15 days ago
        Is there anything preventing you from adding an opt-out feature?

        Yes, anyone can poll, but releasing a product that polls puts the onus on the product to honor the spirit of the site.

        I come here because the site doesn’t have all of the usual social media features, which is arguably part of how/why the community is still an interesting place to visit.

  • badrabbit 16 days ago
    I am sure there are bots/people that follow their enemies and downvote lol. Everytime I post something unpopular, I get my non-controversial posts downvoted predictably for some time. Or maybe that's just shadow moderation.
  • slushh 15 days ago
    The val.town idea is very promising but I think it's not as social as it could be.

    The val.town page is dedicated to developers and convinces with features. What I am missing is content. The explore page [1] has popular functions, which are the content of val.town, but they are not content in a social sense.

    HN and reddit engage users before they make an account. It's very good that I can run code without making an account. But I have to interact and think before I am hooked. Could users be hooked on content? I could imagine a landing page on a second domain that would show the result of scripts that users vote to the top. (Of course the knowledge would lie in preventing dick pics.)

    Adding votes should also be possible for the explore page itself. HN/newest is not as convincing as the ranked HN frontpage. A short Readme section and a result section would make the code more approachable.

    The UX seems to be choosing precision over smoothness. Trying the HN Top Story in /explore, it's surprising that the result is just the title, without a link. To change that, I would prefer if a simple click on the function would directly allow me to edit the function. The ctrl-click with the new tab works, but it doesn't feel right.

    [1] https://www.val.town/explore

  • avgcorrection 16 days ago
    I could never be friends with someone who posts on HN.
    • nashashmi 15 days ago
      Right. They would have nothing different to offer other than what you have already gained from here.

      I found out this the hard way after coming across someone who posted on hn.

    • hdjjhhvvhga 16 days ago
      I don't understand your comment; I have several real-life friends who have accounts here (and normally I discover it by accident, and we don't exchange our nicknames as everybody would try to pretend we enjoy some semi-anonimity here).
  • aejae 16 days ago
    Got to say, the H1 on the main landing page is amazing.
  • Alifatisk 15 days ago
    I like the idea of val.town, each snippet is isolated and can reference to other snippets & packages.

    One thing I wish was that other runtimes would be shipped aswell, like Ruby. But I understand that maintaing such runtime is a burden.

    I know that Vercel supports Ruby as serverless runtime though, so I know it’s possible.

    Other than that, I think val.town will boom in popularity soon. It’s a unique idea.

  • gnicholas 16 days ago
    “When they post”

    Does this include comments, or just posting submissions?

    IMO the former would be overkill for email notifications, and the latter would be not terribly useful.

  • cj 16 days ago
    Just curious, how do you prevent/mitigate abuse or spam in a cloud scripting environment like this?
    • stevekrouse 16 days ago
      Great question!

      Andrew Healey wrote a great blog post about sandboxing, particularly related to us: https://healeycodes.com/sandboxing-javascript-code

      And we recently launched more secure semantics: https://blog.val.town/blog/restricted-library-mode

      But in the general case, it's a hard, never-ending cat-and-mouse game, particularly with free and unauthenticated use. We will eventually probably need to restrict use severely unless you have somehow proved you're a real person (ie connect to your github account) or are a paying customer.

      • rubenfiszel 16 days ago
        Ola from windmill.dev which has some overlap but is focused on enterprise and self-hosted infra.

        We have exactly the same issues for the cloud and ended up securing everything through nsjail and the deno run sandboxing. I admire that you're willing to allow unauthentified users to run computations. Do you guys have timeout ? How do you ensure resource isolation? We use kubernetes for resource isolation, and we use both timeouts and quotas where each second a background process will kill the job if the user/job is over it. Let me know if you guys are up to chat at some point and congrats on the very nice UX.

        • stevekrouse 16 days ago
          Windmill is very cool! Reminds me a bit of pipedream.com too, but it's cool that you guys are open-source and self-hostable.

          Yeah we have a timeout, but will likely need to continue to add restrictions as we scale and get more abuse. We are mostly relying on deno's workers to isolate user code, but will probably add additional process isolation soon, and dedicated private resources for serious customers one day.

          Would love to chat & share tips! Email me? steve@val.town

          • todsacerdoti 16 days ago
            Sounds like we need a support group for founders of companies that let users run any code in the cloud. We have our own bitcoin mining war stories. I am sure Amjad from Repl.it will join.
      • ginto 16 days ago
        > But in the general case, it's a hard, never-ending cat-and-mouse game

        One point of view is that in the general case this problem is solvable, has been solved, and the solution isn't well known.

  • PaulHoule 16 days ago
    … that’s a lot of email isn’t it?
    • akkartik 16 days ago
      Speaking as a heavy user and inbox 0 person, the rule I use for these emails is "skim then delete".
    • stevekrouse 16 days ago
      Depends who you follow, right?
      • mjdowney 16 days ago
        Out of curiosity, any plans on adding push notification primitives?
        • stevekrouse 16 days ago
          We go back and forth on what we should add to the platform vs encourage you to do for yourself. For example, you can do this yourself fairly easily with ntfy.sh: https://www.val.town/v/axelav.sendNotification

          But wouldn't it be even nicer to have `console.push` in the platform and it'd then prompt you to accept notifications right from our desktop or mobile website? Maybe soon!

          • PaulHoule 16 days ago
            I am always hearing from people who'd like to know when somebody replies to one of their comments. It seems like a notification system for Hacker News could be interesting in general. It's not particularly hard to write a script that follows new posts and comments but I'm not so sure how you pick up edits other than just running slow enough that you fetch stuff after the edit window has expired.
            • ra7 16 days ago
              You can use https://www.hnreplies.com to get notified when someone replies to your comments.
            • jimmySixDOF 16 days ago
              God bless Dan Grossman keeping this open and running wherever he is: hnreplies.com
  • hdjjhhvvhga 16 days ago
    Now, the really scary option would be to automatically correlate HN accounts with other accounts and pieces of text based on the previous work done in this area to find alternative HN accounts (that was already awkward enough).
  • orliesaurus 16 days ago
    Why did you choose to build this on Val.town?
    • stevekrouse 16 days ago
      We're the creators of Val Town ;)
  • garbagecoder 15 days ago
    Orange Reddit is real.
  • 2023throwawayy 16 days ago
    Off topic, but I would love the opposite of this. The ability to block certain HN users, just hide their comments entirely. Certain people have shown again and again they are not willing to have good faith arguments, and I simply don't care to be subjected to their nonsense.
    • jedberg 16 days ago
      The downside to allowing blocking is that the site works best when you downvote that kind of content, because then everyone else doesn't have to be subjected to it. It's why we resisted a block feature on reddit for a long time. Because the site only works if bad stuff is downvoted.
      • alwaysbeconsing 16 days ago
        While I understand that argument, I imagine most regular readers do not have the down vote privilege and may not for a long time, if ever. (I'm not sure in fact what the threshhold is, but it seems to be high.) To post enough and get upvoted enough to achieve it probably takes years on average.
        • zamadatix 16 days ago
          That's a very interesting question. I always assumed most daily users do, by a wide margin, but I never actually had any data to base that off of. I even thought this before I had the 501 karma needed.

          By absolute user count I'd definitely expect most to not have it but only because most accounts aren't regularly used (many even abandoned).

          • superturkey650 16 days ago
            A little example: I’ve used the site for a little over 4 years but don’t usually post or comment. If I do comment, it’s something really specific or to try and help clear a misunderstanding so usually low karma amounts. I regularly participate through flagging and upvotes but only have ~50 karma so I still can’t downvote and will likely never be able to.

            Not saying it shouldn’t be this way, but downvotes are heavily biased toward people who regularly post or comment.

          • pow_pp_-1_v 16 days ago
            Another example: I have this account since 2015 and I started reading HN years before. I still can't downvote.
          • alwaysbeconsing 16 days ago
            That's fair; I am also only using supposition.
        • dingledork69 16 days ago
          It's only 500 karma, a handful of successful posts will get you there. If you want to farm points, just go to /new, look for threads with 1-2 other comments and post something that is likely to be upvoted. Don't forget to upvote the post.
          • plugin-baby 16 days ago
            > only 500 karma

            I think you underestimate how little some of us have to say.

            • talhah 16 days ago
              Exactly, I just absorb whatever I read and comment in rare circumstances. In those rare circumstances, there's many times where people have said what I wanted.
      • TACD 16 days ago
        So why not incorporate blocks as a signal for the ranking algorithm? The simple version is every person that blocks $USER causes a -n modifier on all of $USER's content; more complex versions could scale the modifier with the number of people (or the combined "reputation" of the people) blocking $USER or shadowban them once x% of posters block them.

        Open to abuse? Potentially, but so are a lot of community voting features, and reliably muting serial trolls would be a useful feature for a lot of social sites.

        • Avicebron 16 days ago
          One problem I immediately see with this is that it's difficult to define what a serial troll (excluding bot accounts) is vs someone a community doesn't like for whatever reason, using a downvoting system at least provides some leeway in discussion that is on the boundary of what is and isn't commonly accepted for a given comment at a given time within a conversation.
      • nico 16 days ago
        Downvoting doesn’t work that well

        The main issue is that if a comment gets downvoted when newly created, it looses almost all visibility (gets shown further down), and it mostly dies, just from one downvote

        This just creates and echo chamber where only the most accepted/mainstream opinions bubble up

        It would be nice if we could “sort by controversial” or “sort by new”, so that we got more variety of opinions

      • SilasX 16 days ago
        Right, it would make more sense to have a plugin that makes your account automatically downvote any of those users' comments as you encounter them. Or even better, periodically pull up their latest comments and downvote them.

        Not advocating that, of course, and it feels contrary to what the benevolent mod team would prefer. And I assume that the site has some countermeasure for that, like it does against upvoting a submission that you accessed via direct link instead from from the main site?

      • giraffe_lady 16 days ago
        That is kinda shifting more of the moderation burden onto the people most likely to receive negative interaction and harassment yeah?
      • faffffaf 16 days ago
        Interesting that many subreddits have removed downvoting, for a variety of reasons.
        • codetrotter 16 days ago
          One of the problems for subreddits is people coming from the front page or from other subreddits, who are not part of the community of that subreddit, and begin to downvote things etc.

          HN is lucky in this regard; there is just one HN, not uncountable “sub-HNs”.

          Of course people can still come from other places to HN. But to earn downvote privileges here you first need some amount of karma. So hopefully this makes it so that downvote privileges on HN are mostly handed to people who are at least somewhat aligned with the broader community here.

        • pessimizer 16 days ago
          Blocking downvoting hides gamed/promoted comments, so it's a situation that moderators would generally prefer. It's definitely the reason Youtube did it; because it was ditching individual creators without professional production values and trying to promote corporate traditional broadcast content.

          50 inauthentic upvotes for something no one likes, while hundreds of frustrated potential downvoters fume. Then someone puts up a reply designed to be upvoted as a proxy for the lack of ability to downvote the inauthentically boosted comment, and that reply is quickly deleted as trolling or a personal attack.

          Showing the total number of views like Twitter does now is a positively-vibed kludge for people who hate the whiff of negativity, although all of Twitter's stats seem wonky as hell under new leadership. Still, a low upvote/view ratio can also represent indifference or people not believing they're qualified to comment on something, rather than being a great signal for disapproval.

          So you can still game that pretty well by Gish Galloping with a ton of broad references (entire papers or books rather than passages from them or reasonable summaries), and lots of people will disqualify themselves from downvoting because they aren't going to click through to the papers, while others will upvote just because it looks like the commenter is making an effort.

        • mahathu 16 days ago
          Is that actually possible now? I remember a few years ago, some moderators removed downvoting for people who aren't subscribed to their sub using custom css, but of course it was easy to circumvent and didn't affect mobile users.
        • all2 16 days ago
          MY understanding of this community is that we strive to not be Reddit, especially from the discourse and moderation perspectives.
          • pessimizer 16 days ago
            My understanding is that HN exists without reference to reddit, other than to ask people not to compare it to reddit again.
    • Zetice 16 days ago
      A minor point, but the vernacular has shifted to this being called "muting" whereas blocking is the much more toxic, "and they can't see what you post either".

      Platforms that implement blocking almost always see it weaponized by hate groups, not to mention how antithetical it is to allowing a user to control their feed, and the argument of "targeted harassment if people can see my content" doesn't hold water given how trivially easy it is to circumvent (if targeted harassment is the goal).

    • altairprime 16 days ago
      Such a system would fail at HN, if offered by the site itself. Many users have accounts registered for the sole purpose of bypassing “identity over time” recognition, whether by karma and flagging or simply by username recognition. Anyone who perceives themselves to be blocked would just keep registering new accounts to exempt themselves from it, or maintain a collection of accounts to circumvent it. The absence of blocks removes a key benefit of doing so, which helps keep the sockpuppet population down.

      (Note that if you see users that are frequently breaking the guidelines, please consider emailing the site mods using the footer contact link, so that they can consider whether further review and/or action is necessary.)

    • mellosouls 16 days ago
      I haven't particularly noticed this. I mean, sure there are times when I've felt a lack of good faith in the other party, but that tends to be individual discussions rather than seeing repeat offenders; its often been noted the quality of discussion here is higher than most other places - but perhaps I don't spend enough time on here to have noticed the really annoying types.
    • WirelessGigabit 16 days ago
      I wonder if this can be achieved with uBlock Origin.

      Like delete the div where div > div > span=WirelessGigabit.

      • stellartux 16 days ago
        This seems to work.

        table:has(> tbody > tr > td > div > span > a[href="user?id=USERNAME"])

    • krapp 16 days ago
      There are browser plugins that will do this. I use one, it does wonders for my mental health.