5 comments

[ 3.4 ms ] story [ 21.1 ms ] thread
Reason to build: I've seen few blogs that link to HN as primary forum and think it's great, but AFAIU that forces you to update post after publishing to add HN link. With this you can just link to discuss-on-hn.xyz/go and it will update itself.

Inside it uses HN Algolia API [0] to search and redirect to first item and in-memory hashmap; I'll add rate limiting tomorrow, right now I need some sleep. Also this is my first Common Lisp project ever, that turns out to be quite fun.

[0] https://hn.algolia.com/api

What does it do when Algolia doesn't find the post?

An "advanced" feature request: Some sites are rewritten, for example https://example.blogspot.com.ar is transformed to by HN to https://example.blogspot.com and BlogSpot will transform it to whatever country you are, so it would be nice to add in version 2 some canonizations to make it more compatible with HN. Also, medium is a nightmare, because it adds a random mark to the url and the HN post may have a different random mark. And the nytimes adds something like &r_1=0 or something. (Probably medium is the more important use case.)

Another idea: Can you transform this into a bookmarklet?

If Algolia doesn't find it, DoHN reports it and suggests to submit it to HN.

Right now there is one canonization -- it strips utm tags, I'll think about more canonizations, thanks!

I thought about bookmarklet, but decided to postpone -- due to CSP bookmarklets don't work in quite few places (like Github).

I added bookmarklet (it works if there is no CSP nor Noscript enabled).
I think this could be against the HN rules as read in the FAQ[1], if anyone who came to the link were to upvote the post. HN penalizes these posts by not allowing them to be promoted outside of newest.

> Can I ask people to upvote my submission?

> No. Users should vote for a story because it's intellectually interesting, not because someone is promoting it.

> When the software detects a voting ring, it penalizes the post. Accounts that vote like this eventually get their votes ignored.

1. https://news.ycombinator.com/newsfaq.html