Show HN: Blogs.hn – tiny blog directory

blogs.hn

224 points by surprisetalk 2 years ago

Like others on here, I was inspired by the "personal blogs" post :)

[0] https://news.ycombinator.com/item?id=36575081

In proper HN fashion, the site is open-source and requires no JS!

There's instructions on how to add/edit a blog on the Github README.

[1] https://github.com/surprisetalk/blogs.hn

Note that your blog might appear in blogs.json, but not on the site! Right now I'm using the following code to filter out blogs. Your blog might appear if you add more metadata:

  if (
    3 > 0  
      + !!blog.title  
      + (blog.desc.length > 40)  
      + !!blog.about  
      + !!blog.now  
      + !!blog.feed  
      + 3 * (blog.hn.length > 1)      
  )
    continue;

As I mention on the /about page, if you don't already have a blog, I recently made a minimal static site generator! It's easier than ever to begin your writing journey :)

[2] https://github.com/surprisetalk/worstpress

marginalia_nu 2 years ago

> https://github.com/surprisetalk/blogs.hn/commits/main

Uh, wanna talk about your commit messages? I mean I love it to bits, but I feel something needs to be said. Not sure what. It may be U+2603.

  • surprisetalk 2 years ago

    Ha! I added an “emoji roulette” script to my workflow for personal projects.

    There’s something fun about seeing my experience with a commit randomly summarized by an emoji haha

    • DANmode 2 years ago

      What kind of algo is it that summarizes your coding session as "carnival tent emoji"?

      Or does roulette imply (pseudo?) random?

      • surprisetalk 2 years ago

        Here's the entire script that determines the commit message:

          const ems = [ ':)' , ':-o' , ':(' ]; // etc
        
          process.stdout.write(ems[Math.floor(Math.random() * ems.length)]);
        

        Sometimes I'll see a carnival tent or horse face during a late night coding session and think to myself, "Wow this emoji perfectly captures how I'm feeling right now!"

        I know it's stupid, but it makes me smile :)

        • Daviey 2 years ago

          I feel you may also like lolcommits[0], it doesn't pollute the public repository, but takes a webcam photo of you and can optionally add the commit message into the image. Every few months I would convert the images into an animation and it's interesting watching the facial expressions, change in appearance and locations.

          [0] https://lolcommits.github.io/

  • Hamuko 2 years ago

    I'd have a fucking aneurysm if someone tried to pass off those commit messages at work.

    • capableweb 2 years ago

      Imagine being a doctor's patient and someone write that in your medical file! U+1F631

      Luckily, this is clearly not a professional project in any way, so no aneurysms were had this day.

    • Zandikar 2 years ago

      Glad I'm not the only one.

    • matthews2 2 years ago

      You're not at work though, this is someone's personal project that they built for their own enjoyment.

handsclean 2 years ago

Because I was curious, frequency counts:

    256 - own domain, original tld
        208 - .com
        29 - .net
        19 - .org
    95 - own domain, cctld
        38 - other, <5 each
        20 - .io
        19 - .me
        9 - .ca
        9 - .in
    85 - own domain, new tld
        41 - other, <5 each
        31 - .dev
        7 - .blog
        6 - .xyz
    73 - platform’s domain
        36 - .substack.com
        20 - .github.io
        9 - .medium.com
        8 - other
dang 2 years ago

Recent and related:

Show HN: Hacker News user blogroll - https://news.ycombinator.com/item?id=36605493 - July 2023 (183 comments)

Show HN: OPML list of Hacker News Users Personal Blogs - https://news.ycombinator.com/item?id=36627112 - July 2023 (83 comments)

Normally we downweight follow-ups but this is cool and I think there's room for one more!

  • animesh 2 years ago

    If several people create this, it is quite a decentralized way to discover blogs. More people should do this.

    • marginalia_nu 2 years ago

      Yeah it's been an extremely useful dataset.

      I've been using it to calibrate my search engine's quality website detection since it's effectively a large set of high quality websites.

      • stavros 2 years ago

        Aw, my blog is still not in there :(

      • culi 2 years ago

        some personal notes you may find useful

          - indieblog.page, gossipsweb.net, html.energy, yesterweb.org, xn--sr8hvo.ws, personalsit.es, readsomethinginteresting.com, ooh.directory, hotlinewebring.club
            - indieweb.org, handmade.network, indiewebify.me
          - 1mb.club, 512kb.club, 250kb.club, 10kbclub.com, 1kb.club
          - no-js.club, js1k.com, js1024.fun
          - nocss.club
          - uses.tech, nownownow.com, aprilcools.club
          - whimsical.club, brutalistwebsites.com, spaghetti.directory
          - neocities.org, tildeverse.org
          - passkeys.directory
        • marginalia_nu 2 years ago

          Sweet, I'm always on the look collections of websites with consistently higher quality. Anything is better than the sketchy SQL queries I have to resort to in order to grow the index programmatically.

          • MrVandemar 2 years ago

            Probably anything from the planets (eg: planet-if, planet gnome) should be of reasonable quality too, and focused by general topic.

      • the-printer 2 years ago

        Thank you. With respect to the various individuals working to build their own directories, marginalia search is the missing element that allows me to sift through the register of blogs that are being collected.

        This whole thing that's been happening the past few days feels like HN at its finest.

    • simonjgreen 2 years ago

      I think we call it the year 2002 and I love it. A normally distributed Internet is the way.

reaperducer 2 years ago

It feels like a single HN post a few days ago reinvented web rings and DMOZ for a whole new generation.

hyperorca 2 years ago

Great! Nice design as well. There were so many great blogs on that post, and scrolling 1000 comments got a bit tedious.

Made me want to create my own blog, I'll see what I can come up with. I'll try to submit PR when I do. Love taylor.town as well!

alpb 2 years ago

Do you think blogs with most recent posts can be bumped up (instead of a static ordering)?

  • MuffinFlavored 2 years ago

    Like... an RSS feed keeping tabs on all of these blogs/their "last updated" field value?

  • jcynix 2 years ago

    Remember "folksonomy" ...? So I would like to see some kind of automated keyword extraction for each blog to allow selection of topical blogs.

    OK, keywords would need to normalied (e.g.plural to singular, plus maybe a bit of abstraction) and this would be a first (tiny) step to make it a blog-centered search engine ... ;-0

    • marginalia_nu 2 years ago

      I've been experimenting with techniques for figuring out the topic of a blog, and never quite gotten anything to work well that didn't involve extreme computational costs that just do not work on a search-engine scale without a serious hardware budget (zero shot classifiers did a decent job IIRC). An unga bunga technique like TF-IDF works well for a given document, but less well for a website.

      Had some half-decent success finding similar blogs given a reference though.

      • jcynix 2 years ago

        Yes, I expect full text extraction and normalization to be computationally expensive. I did some simple minded experiments on Usenet feeds back in the 90ies and it was quite some work for the VAX it ran on.

        • marginalia_nu 2 years ago

          You can get it to run fairly fast on modern hardware. Like run a text extraction, tokenization and POS-tagging workflow on a quarter billion documents on PC hardware, takes like 24-36 hours. That's doable and affordable. But ML-adjacent methods are not. Requires far too much GPU compute, have no A100s :-/

_han 2 years ago

It has something listed under my blog (https://www.hankruiger.com) that doesn’t seem to link to my blog (something about “Hiring advice for startups from Hackruiter (YC S10)”).

  • surprisetalk 2 years ago

    Ah! Sorry about that. Looks like Algolia search did some fuzzy matching :) I'll fix that up.

    • _han 2 years ago

      No problem! Cheers and thanks for making this. :)

KronisLV 2 years ago

Made another site like this, that attempts to also generate combined RSS feeds for either all of the blogs or the top 100 users' (by karma) blogs: https://news.ycombinator.com/item?id=36643086

That said, blogs.hn looks way more aesthetically pleasing and usable, good job! Getting sites that are both pretty to look at but also comfortable to use has always been challenging for me.

influx 2 years ago

Couple of notes, I'm not an Node person, but you need a later version of Node than what comes default with Ubuntu 22.04.2 LTS, and your instructions have us installing modules globally, which #1 didn't work for me, and #2 requires root in Linux (please don't require me to install as root to update a text file).

It actually worked when I did:

  $ node -v
  v18.16.1

  $ npm init -y
  $ npm install axios cheerio
  • surprisetalk 2 years ago

    Yikes! I’ll fix the script and update the instructions when I get home later today.

    I tried to make it so that the script wasn’t required, so people should also feel free to enter in their info manually :)

    • influx 2 years ago

      Awesome, thanks for doing this!

akkartik 2 years ago

"In proper HN fashion, the site is open-source and requires no JS!"

It seems unfortunate that opening a PR requires having npm installed.

  • marginalia_nu 2 years ago

    Seems fair though. Given how adversarial the web is with botspam, you basically need some form of bot mitigation. GitHub does a decent enough job, and has the nice feature of being easy to migrate off, since git itself is designed to be decentralized.

    • akkartik 2 years ago

      I don't quite follow. I don't have a problem with git or Github. I just don't happen to have npm installed.

      • marginalia_nu 2 years ago

        Ah nevermind, I misunderstood how it worked.

  • surprisetalk 2 years ago

    Opening a PR doesn't actually require npm! The npm script is just supposed to save a few keystrokes :) I'll update the readme to reflect that

adrianwaj 2 years ago

If it matters, I don't use titles in any of my blog posts, so the feed has a bunch of <title></title> in it.