p.enthalabs

Show HN: I made Google Trends for Hacker News by indexing 18 years of comments

hackernewstrends.com · Read Story HN original

Comments

Hello HN,

This was a small project of mine after I've found out that I can simply the whole hackernews archive (~48GB) and play around with it.

You can compare terms just like in google trends and you can also see the exact posts & comments from that time.

I like that you can discover what went crazy in the timeline, they just come up as small burst of activity, it's quite fun to play around with it. https://hackernewstrends.com/?q=litecoin&q=dogecoin&q=solana...

I also have a seperate page for the "Who is Hiring?" posts, here is the distribution of programming languages over each monthly "Who is hiring?" post in HN ever. https://hackernewstrends.com/who-is-hiring

Any kind of feedback is welcome.

Honestly the HN archive is very valuable. If you had it all on a local db with everything indexed you basically end up with a offline search engine.

Where is this archive located you speak of?

This is excellent.

A minor suggestion - I'd like to be able to render the current graph taller (full height of my browser window).

Also some sentiment analysis on the "people" graphs would be very insightful (particularly for the likes of Edward Snowdon, Julian Assange, Elon Musk and Sam Altman). Perhaps colour the area under the graph red-orange-green based on the sentiment?

Thanks for the feedback, noted the full-screen request.

The sentiment analysis is very interesting, I can do that easily. Could be a new page as well. Did you see this anywhere else or just your idea?

Just my idea. I'm working on a side project https://newsavista.com/invite/ASAD68923E that aggregates news and tracks news trends and changing sentiment on the major stories. With cheap cloud LLMs (and "free" local LLMs) it turns out to be a trivial feature to build.
ooh this is sick! really nice ui too!
Does the trend only show absolute numbers? Because I think it should be divided by the number of posts during the time frame (day?).
love it
Hug of death

` /api/hn -> 504 An error occurred with your deployment FUNCTION_INVOCATION_TIMEOUT cle1::c8vgv-1782399959042-aeba3cae05ff `

yeah we killed it :(
back in my day we called this a good ole' fashioned slashdotting.
Our startup (~20 people) got slashdotted in 1998 or so. I was the only one randomly awake at the time. Remember watching all the logs from our web server in realtime, ready to immediately kill anything or anyone threatening the overall availability.

512 kbps uplink, I think. Even accidental DoS was trivial. We had a self-hosted little data center at our office with the only available stupidly expensive commercial connection.

Felt some dread having to restart the main (async, single-process) web server a few times to keep things going due to bugs in our code. So many* people on dial-up patiently waiting for the page to load.

It was exhilarating though :).

*) Surely at least a hundred!

One of the things I love about HN is having stories like this in the comments from otherwise random unassuming usernames
Its funny that these days the bottleneck is usually the data layer. Servers are so powerful now that even your average $5 server can handle HN levels of load if configured correctly.
If this project is an ad for their product (Upstash, promising "Highly Available, Infinitely Scalable"), then the last thing they'd want is a hug of death :/
Oof that would be hilarious/tragic
Downstash
Must stash
We will be with you shortly :)
I get

/api/hn -> 502 {"error":"Search entry should have an initialized schema, command was: [\"SEARCH.AGGREGATE\",\"hn\",\"{\\\"$or\\\":[{\\\"title\\\":{\\\"$eq\\\":\\\"anthropic\\\",\\\"$boost\\\":5}},{\\\"text\\\":{\\\"$eq\\\":\\\"anthropic\\\"}}]}\",\"{\\\"by_month\\\":{\\\"$dateHistogram\\\":{\\\"field\\\":\\\"time\\\",\\\"fixedInterval\\\":\\\"30d\\\"}},\\\"top_authors\\\":{\\\"$terms\\\":{\\\"field\\\":\\\"by\\\",\\\"size\\\":6}},\\\"by_type\\\":{\\\"$terms\\\":{\\\"field\\\":\\\"type\\\",\\\"size\\\":4}}}\"]"}

/api/hn -> 502 {"error":"Your database has been temporarily rate-limited, please contact support@upstash.com for further details."}
I'm also getting /api/hn -> 504 An error occurred with your deployment FUNCTION_INVOCATION_TIMEOUT cle1::48fnt-1782412720840-4855b2b75b5a after a few lookups
This is the only HN submission I ever upvoted because it is amazing
I know right
If more people spent time on /new looking for awesome stuff and vouching for dead items, HN would be a better place.
Has anyone tried to make some sort of algorithm to find cool stuff on HN or sort by upvotes etc? I know it's cool and intended that such things don't exist, but has anyone tried?
There's that one side that tracks were a post ranks overtime and you can see things drop off quickly when they get flagged for being flame bait and there's a lot of cool stuff on/new that other people kill cool stuff makes it to the front page but a lot of cool stuff doesn't. There's a second chance pool, but maybe there should be a third and fourth one as well.
Thanks, it was my first ever post here as well, would you look at that
Very cool!

I'd love to have some sort of normalization option to separate more subtle positive trends from the general increase in number of posts.

insane ! I don't know if it's possible but it would be huge if we had access to the localisation of the trends
But can it discover new trends without having to type the keywords?
The example comparisons made me smile. Well done!
nice. i guess AWS still had nothing to fear from GCP/Azure. ty for this
IMO, using AI to assign keywords to a broader group of strict synonymous keywords would make the comparison much more helpful.

Because in general we want to know the trend of categories more than of a word, asking for “auto pilot” for ex. should include “self driving”, FSD etc.

I would not like this. This is the kind of change that made google search so annoying. (Eg what if I want to track the history of 'self-driving' vs 'auto pilot' in sales pitches? Or more basically, what if the system wrongly interprets me wrongly?) Better to support | or similar old-fashioned search engine syntax and dwis and not dwim.
Synonym functionality is good as long as there's an easy way to disable it, either globally or by wrapping the term in quotes.
This is great, I was just hoping to find a tool like this and specifically scoped to "Show HN" posts? Is there a way to do that?
Great idea actually, I'll add that as well for sure
Nice. Is the data points y-axis normalized by total amount of comments at that time?

Edit: Nvm seems like absolute count if you click the graph.

COOOOOOOOOOL!!!!!!
too slow or broker right now
We had to take the site down for a second, it'll be online in a few minutes. Thanks for trying it out
Reminds me of this side project I'm working on.

https://gitlab/here_forawhile/torum

It's a HN clone, that syncs with HN that allows you to basically establish smaller private communities who can discuss anything that's on HN without actually being on HN.

It also indexes and let's you search through the DB which I find is really useful to find things that peak my interest.

*pique

'peak' refers to the top of a thing, commonly mountains

*find things that align with my intrest peaks
Perfect. I love it.
Really beautiful, informative, and functional layout. Great work!
Love this, seems to struggle with newly indexed words. Will try again when the FP load is gone
One useful feature would be to normalize by total so that I can see changes in something as opposed to just total site growth. Right now I have to chart a single generic parameter but if I pick poorly it’ll confuse the issue.
I'd love to see the opposite as well, ie how much has HN grown over time.
Agreed. That would make this way more insightful. Otherwise most searches will basically be a version of https://xkcd.com/1138/ during periods of site growth.
Really cool! Where would you get the data for something like this? Is it open, or its scraped?
Hello, /api/hn -> 502 {"error":"Your database has been temporarily rate-limited, please contact support@upstash.com for further details."}
I'd be interested in "google ngram for hacker news" instead
What is missing from it? I've used ngrams as well and I this was partly inspired by that.
Yup your upstash is rate limited
The 'flash vs html5' chart looks strange juxtaposed with that conclusion
There are a few technologies with pretty generic names which don’t lend themselves so well to this kind of trend analysis.

I was curious about Atom. According to the trend it’s still neck and neck with VS Code. But are people really talking about Atom the text editor that much still, or other types of atoms?

I think Google Trends is actually smart enough to suggest which topic you want to see for the same keywords -- it understands the semantics.
I think atom is no longer being developed, so it must not be a that popular topic. is that what you meant?
That’s my assumption, yes.
The colors of the lines of the big graph are inverted compared to the smaller ones.
Very cool!

one subtle consistency bug that made it hard for me to interpret when I was clicking around: the small thumbnail plot vs the full plot often (always?) seem to use different colors.

The blue / orange gets assigned to the opposite labels in the A vs. B when you click, which made it confusing to understand.

This is actually very cool!
This is actually very cool@
Are those raw numbers or adjusted for active users at given point in time?
The huge spike of "lk-99" in science & frontier tech is amusing...

This is cool concept, would love a positive/negative sentiment computed for each comment that refers to a given word, so you can see trends of "cloudflare (positive)" vs "cloudflare (negative)" where first one counts comments only if sentiment confidence is greater than say 0.6 and the other one counts comments only if sentiment is less than 0.4 (assuming [0,1] sentiment score)

This is quite useful at-a-glance
Google Trends is about searches

This is about published text. More like if Google Trends counted word occurrences on webpages. Or if Google Ngrams counted webpages instead of books

People don't write much about non-newsworthy things whereas many people search "burger" anytime they want a burger delivery. The datasets aren't usable in the same way

Edit: not to say it's not a cool product! Just keep this in mind and enjoy using it :)

Now if Algolia had a dataset of what people are searching for on HN that'd be it
Was considering that as well, but I doubt that people use Algolia in the same way that they use Google
Someone asked an imo good question (that I was going to vouch for, idk why it was dead), but deleted it. Not sure why, but so I'll not credit the username in case they don't want that and changed some words for stylometrics avoidance

> The concept seems pretty comparable. From the title I had a good idea of what it was; when clicking on it, the visual presentation felt familiar & intuitive. \n\n Being a little less literal can be useful!

That's why I'm pointing it out: the title leads you to think they're the same metric, the page looks visually similar, and so you treat it as the same data type; but when you read the data through this lens, you draw wrong conclusions. It took me a while, scrolling down the examples, before I realised why it felt so off and that my mindset is wrong. It's what's being written about currently, not what people on HN are actually looking for

It's indeed not about being nonliteral, it's for me about having been confused about the data being shown

>Someone asked an imo good question but deleted it. Not sure why

it was me, and i deleted it because i realized my last sentence "being a little less literal can be useful" came across as unnecessarily blunt, which i didn't want. but i wasnt sure how to express what i wanted to say without it being that way. so i deleted it while rethinking my phrasing, and rethinking your comment.

in the end, i kind of came around to understand where you were coming from, so i didnt bother to recomment.

Thanks! Didn't come across like that to me though, all good
Yeah I feel like hackernews trends is alright but the post title is a bit misleading, noted
> The datasets aren't usable in the same way

I strongly disagree, especially since this tool aggregates both posts and comments. While they don't measure the exact same thing, HN posts and comments are quite similar to searches from the standpoint of "What are people interested in finding more about and discussing" - stories that get popular usually have a lot of comments, thus boosting relevant terms, while posts about topics that don't trend score low because they don't get any relevant discussion comments.

Heck, just try it yourself - I compared "blockchain" to "OpenAI" with this tool, and got a predictable result (blockchain had some spikes up until the late teens, then OpenAI took over with the launch of ChatGPT). Interestingly, the Google Trends plot for these two terms looks very similar.

Great job! I've also been wanting to do similar statistics recently, wanting to know when LLMs becoming the absolute dominant topic on HN. Now it seems like half of the posts were about LLMs.
It probably also got swamped in real-time...
Do you mean it's not updated? You gotta sort by update_time column. Looks sorted, but you gotta sort it with a query like:

SELECT * FROM hackernews_history

ORDER BY update_time DESC

LIMIT 100;

And yeah, I got that from deepseek because I don't have a brain.