I help maintaining one of these awesome lists, awesome-javascript, since 2018. There's been always self-promoting or similar activities, or someone coming up with an idea/forking a repository and doing some small changes, then thinking they're suggesting something groundbreaking. Because of this, we needed to add a few checks over the years to the pull request template, that basically asks if the resource is out there for a while, actively maintained, actively used by people, etc.
Recently, thanks to AI being this cheap and accessible, the amount of shitty PRs quadrupled if not more. And the worst part? Agent doesn't care about the checklist at all and re-writing the PR body with bunch of nonsense that we maintainers need to read, understand, and evaluate. I started keeping the score for the most shittiest PR based on how soon after the first commit made they open the PR. It was 11h, then 10h, and now it is 6h. How on earth a 6h old repository with zero user is considered "awesome" I don't know, but people should stop prompting their agents to create 10s of these PRs every day.
Yes, there's always an alternative: stop maintaining these lists. I don't think it's a viable option either. Sometimes you start using a new piece of tech and want to have access to somewhat curated list of resources that might speed up your understanding. There's still a bit of value to keep them alive and it's dying out bit by bit (literally) every time someone mass-creates these spammy PRs.
Sounds like they don’t even need to pay for AI. Maybe a deterministic script that does some basic quality checks like verifying that the linked repository isn’t day old slop, and auto-rejects the ones that don’t pass muster would be better. For starters, then you could have well-established and documented rules. Which people generally seem to prefer over AI referees that reject things for opaque and confusing reasons (e.g., YouTube moderation) and can’t be reasoned with.
I appreciate the suggestion but in this case I don't believe the solution to AI problem is using more AI. I personally believe what makes these lists "awesome" is the human element, not some deterministic checks that another agent could run.
IMO it's just like using an anti-spam filter in your email. An AI agent should never decide "Yes, this is awesome" but it surely can decide "No, this is obvious trash". Sometimes the simplest rules are best - "Did they follow the PR template? No? Ok, auto-close with a message saying that AI submissions are not allowed"
That assumes one has the money to maintain an AI service/subscription, resources to run the prompt from, and the time to fine-tune the AI to be dependable with a high rate of accuracy in your criteria.
Maybe someone who has a lot of free time and high enthusiasm for AI might consider this to be worth chasing after, but anyone who has dealt with these whack-a-mole scenarios is going to admit the easiest thing to do is just not maintain the resource anymore. There are less-draining projects and endeavors to turn towards instead.
No. Judgment is the thing AI lacks the most. Sure, you can try to give it guidelines, but it sucks at interpreting them because it has no taste and no common sense. It is trivially influenced by bullshit submissions because it overindexes on text it sees and has no theory of the mind or sense of intent.
It is like a naive and prodigious intern with incredible intelligence and factual knowledge, but no sense of how the world works or what will actually fly with human stakeholders.
(suggestions to expand it will be made in a dedicated PR /s)
Great to read that there are still people out there sifting through the noise of Agents shooting PRs in all directions.
In the end you may have to recruit an AI agent to do the (pre) review, otherwise you're ending up being the only human driver on an automated highway (place mental image of Will Smith in I-Robot here)
I'm reminded of the poor human moderator of that German wiki that OpenAI agents hijacked as a message board, who spent hours reverting edits and removing slop pages created by the AI.
> Agent doesn't care about the checklist at all and re-writing the PR body with bunch of nonsense that we maintainers need to read, understand, and evaluate
If it can’t follow a simple checklist, it shouldn’t be a problem, because you don’t even see the PR, because it should be auto-closed.
> How on earth a 6h old repository with zero user is considered "awesome"
It’s not, and you can write a bot that auto-closes such PRs (and any PR from an obviously AI account, and I wish pangram was cheaper, but any PR that is obviously AI text).
He didn't ask if a 6h old repo is awesome or not. Of course it's not.
Ok, repo age being one of hundreds of red flags. Each of these can be auto-detected. But each auto-detection rule will be known and can be gamed afterwards.
In the age of unlimited and very fast content production (for any media, code, images, music, text, or otherwise), I think content curation like this may be more desired than ever.
Maybe I'm too optimistic, but personally it would lower the burden on me so much to have a curated list of *awesome* projects.
The fact that another person has taken from their time, so the hundreds or thousands of people reading this list don't have to do the same amount of investigation to figure out if a project is truly awesome, is in itself awesome.
Exactly good awesome lists have always been and will be the "goldmine" of curated resources. Not only these, I see all slow paced thoughtfully put in content as such. Like take StackOverflow for example. But it's really unfortunate to see people give up.
Yes indeed this article points at some flaws but none of which I think are existential, popular lists becoming outdated and unmaintained whilst also being bombarded with crap is the norm
The problem is digital things don't decay in the same way as physical objects. AI can shit out a webpage for an institute that doesn't really exist and make it sound awesome until you realize there's nothing there. A webpage with a vibrant community behind it that is actively maintained looks, at first glance, the same as a page that's been put out to the pasture. A physical store that's out of business will accumulate cruft, broken windows, vines everywhere. There's not really an equivalent for bitrot. Sure, my website from 1996 looks dated because I used frames and we don't do that no more, but eBay and Yahoo and Myspace are still around. Link rot does set in though. Links to pages that no longer exist because the person running it has passed. Archive.org has such a good purpose.
Thing is though, for software, sometimes things can just be done. If a perfectly good piece of software hasn't been updated in years because it hasn't needed to be updated, then let it sit, ensconced in stone. The problem is it's hard to tell the difference between that, and something that needs maintaining but hasn't been.
The problem is, how do you know what does not need maintaing? how do you know what's going to bite you in the future? And migrating might be a huge effort. So, the instict becomes to not pick something that is already giving you an negative signal.
I'm not saying that I fully agree with that logic, but I think it's a pretty understandable behaviour.
well when it comes to github a great window into an non-updated repository is just looking at the github issues. That will signal to you if theres maintenance to be done being ignored or if the software is of quality and maintenance isn't needed yet.
Depends on what it is, for anything that uses a web interface or runs as a native app I'd question many years without updates just because the deployment targets shift so much. Most of the apps I really enjoy on the Mac, for example, at least get yearly updates to whatever new MacOS API changes occurred in the major release.
A video game emulator getting an update every decade though? Some low level tool that's never changed since the beginning of time? Yeah, they're done, what's the problem.
The ground shifts under software. OSs change, dependencies get updates, engines change, compilers are improved occasionally in ways that aren't backwardly compatible. If the maintainer isn't at least checking it's not broken, and updating a changelog to say that it's still working, then you can't safely assume it's fine. "Not updated for years" is shorthand for "It could be broken, but I don't want to be the person who goes through the effort of checking."
If you want people to run your code against a set of pinned dependencies from the last time it was updated then that's one thing, but if you people to run it with an up-to-date set of dependencies on a new OS and on the latest compiler or runtime, then you can't just say it's 'done', because things can change outside of your code that means it won't work any more.
If the repository has an issue tracker, that helps. Then you can at least see if people are posting issues and whether they are being resolved.
I’ve seen projects that haven’t had a release in years, but the maintainer is still answering questions. I would say that counts as actively maintained, since there’s still someone around to handle bug reports.
> The problem is digital things don't decay in the same way as physical objects.
I'm not so sure of that. Ask anyone who's ever used VBScript, ActiveX, Flash, <blink>, <marquee>, or (soon) XSLT.
The web likes to portray itself as championing backwards-compatibility, but for better or worse, it is quick to drop technologies perceived as harmful or merely wasteful. If you're unfortunate enough to jump on the wrong bandwagon, you can easily be left behind, and any older pages left untouched can quickly become non-functional.
They were always junk, full of formulaic, self-promoting, astroturfing trash. In most cases, it would be more appropriate to view them as content marketing (c.f. digital pollution), not actual developer resources.
Completely disagree. When AI was new I found so many great tools through awesome-* repositories. There was some of that going on for sure, but most lists were a curation of good tools.
Depending on what "generation of developers" you belong to, this could differ by decades :) Are you talking about LLMs probably? At that point, "awesome" lists were already mostly used for spam and marketing, none of the original "curated list" concept remained at this point.
I think I noticed awesome-lists changing from "Here is a curated list of AWESOME software" to "Here is a list of every software ever built, related in any way" somewhere around 2015 (thanks IM logs!), which must have been pretty shortly after the concept was introduced even, but can't remember when that was.
I recently came across some notes from a lecture I went to at Los Alamos in 2013 where the lecturer (Steven Brumby) said "it's out of fashion to call it AI now so I guess this is machine learning" .
yup, remember seeing the same around that time. It used to be incredibly curated and limited, every list since then is just like the top 400 "related" repos
Very variable quality, I agree. But even an astroturfer has to throw in some actually useful tools in there to give cover for the payload they're promoting.
I'm pretty sure the astroturfer would just google for the most visible tools and put them in and then add their own.
i added a PR once to add a package of mine which I thought was useful and he told me it didnt qualify as "awesome" lol. the reaction led me to dig around and I realized "oh, this is just content marketing"
I disagree with the blanket statement. Lists like awesome-scalability [1] are actually pretty useful and full of great references. They dont recommend any specific tool, and it is a very good resource to learn unknown unknowns.
AI suffers the same problem Search Engines had: you cannot ask about something you dont know. Thats why monthly magazines were great: they pushed" knowledge to us so that we learned things we didnt know existed.
Every 'awesome' repo I can remember has seemingly been made by someone who hasn't used the things included and only read a project's readme. This dates back years before the LLM craze.
I would rather hear from users of software and their opinions, otherwise I can't take seriously something ostensibly curated for quality. In my experience such lists serve better as a way to discover new projects using eg. some framework you're interested in, if they're maintained (which is still valuable).
I maintain 4 awesome lists and I agree: it takes a lot of time and some are more catalogs than curated lists. Curation takes time and is like gardening especially given the half-life of content on the web. My solution was to encode my editorial process in the form of contribution guidelines: https://github.com/kdeldycke/awesome-iam/blob/main/.github/c...
I used to be the editor of a newspaper. Eventually, actually reviewing all the articles in the newspaper took too long time, so instead of shutting down the newspaper, I just started accepting every single article, eventually everyone stopped reading it.
I've personally never found awesome lists great at curation, at best they were always a laundry list of what was out there. But I think they were an excellent jumping point for discovery. I was recently working on a new project with C#, and never having used C# or the .NET ecosystem the lists were a great way to find a lot of options (even if I didn't end up using them).
Some of them probably don't really need to exist, I think I saw one that was fantasy book recommendations which looked like it was just a copy of the top 100 fantasy books from goodreads.
I've heleped maintain awesome-bash for years and I see a similar pattern. Almost all of the recent PRs are links to AI-generated projects. And somehow, within days or weeks of their creation, they get hundreds of stars.
There's always been self-promotion and spam, but AI takes it to another level. On many issues, I don't think I'm responding to a real human.
It would be nice if forking and modifying these awesome lists were easier, since many are out of date. I have my own personal catalog, roughly based on many awesome lists, but it was a bit of a hassle to setup.
That highlights a bigger point. In the age anyone can create and publish their own software, including people without the most basic knowledge about it, how is one supposed to distinguish good from bad and avoid drowning in a sea of crap?
Also, this has another angle, let's say I've created some tools I've invested quite a bit of time in but what is the point of publishing it, if anyone that needs it can simply make it for themselves (spending a week or two of time and some tokens)?
Not only it has became essentially impossible to find if a given thing is quality (for example I recently looked for a pi plugin that does tool use classification for AI that I could extend with my ideas. I found one, then I discovered the author copied leaked cloude code source and "released it under MIT license" - which made my work on top of it basically useless and I had to throw it all out and start from scratch, as I wanted to publish the result- the final thing is called adaptive-acl).
And second, is there any point in publishing code? In the "old days" when software was worth something the motivation to publish open source, in addition to feel good factor, was that people would send you patches with functionality you may find useful.
Both that and the feel good time has ended. I still publish some of my stuff that I think may be useful to someone at some point, but I'm not sure there is any actual point in this.
In a way AI has made each of us much more self sufficient. A computer with a good local model and half a dozen GPUs, few TB of software and one can have all of their computing needs fulfilled forever. No Internet or other people required. There is certain power in this. My young pre-internet self would have felt like living in a star trek universe with this :-)
But something is definitely being lost in the process as well.
I found a few lists that I found genuinely useful, like self-hosted. But I also think the problem with them is they were gamed for some reason, maybe because of Github stars and the fact that Github attention is useful for other things. I think it would have been much more useful to have them almost on a different platform. IMBD lists for example seem to work better because there's not much reward in making them except a love of movies.
Also I think another problem is that they were given high recognition on Github, and thus became a formulaic pattern rather that some individual who is really passionate about trying the stuff on the list, which also made most of the later ones generic and much less interesting...
Curation is also really hard to go as a group activity, there are so many different views on value and rules just don't work for taste in any way that works.
> Curation is also really hard to go as a group activity
It really isn't. You establish a process, a review system and the guidelines, then make people write and share notes. It'll be a bit varied initially, but it solidifies and converges a lot quicker than you think.
There are hundreds of examples out in the world of all of these things working properly, everything from galleries to second-hand stores have things like this "implemented" already, take inspiration from them :)
Are you going to click them one by one and figure out what they do? When you need a library/existing tool, do you use Google or come to such a project and do a search?
I am old enough to know Yahoo Directory, and "awesome" projects are exactly that.
You can't really do much other than bookmarking/"starring" and then completely forgetting about it.
Some do, they at least give an overview of a given ecosystem. Of course, like 90% I've seen are not exactly "curated", not for my definition of "curated". But it was a start. I still look for those lists when exploring a new (to me) system or a language, but I have extremely low expectations of them now.
They are better than AI-generated, superficial SEO listicles you usually get with search engines.
Do I come back to those lists? Not that I remember.
They’re a kind of modern version of web directories, and they failed for the same reason the original web directories did (spam/self-promotion, and outdated stuff).
The "actual awesome" lists were awesome, as every single software linked in those were good software.
But yeah, once "influencer developers" got a hold of the concept, misunderstood it to be an index rather than a curated list, it stopped loosing any value the concept had.
Now it's just random individuals who want to "own" a collection, but have zero care about the quality, and just merge whatever additions.
FWIW, I appreciate their contributions to the ecosystem, in the sense that you can just take whatever they're doing, multiply by -1 in each dimension, and there you have your steering vector towards good ideas.
That is genuinely useful and provides a lot of value.
Third, many of them are maintained by people with vested interests - for example they're an "awesome list of marketing automation tools" and the author is the owner of one such tool.
I maintain awesome-bugbounty-tools [0] and have never seen that many PRs before.
I had to add a CI check to fail repos with fewer than 50 stars. In the past two months, I closed more PRs than I have merged in the past 6 years or so.
Honestly, it doesn't add that much value anymore, so at this point archiving the repo will be awesome.
I'd like to better understand the reason behind these pull requests. Its not like Claude is goofing off on the Internet and trolling humans. People are prompting AI to create pull requests against a bunch of repositories.
But why? Are people trying to advertise their tools in the "awesome" lists?
What about the many PRs against popular tools? Are they trying to build a resume through OSS contributions?
AI agents are extremely pro-active. If they run for long enough or with generic enough prompts they will just do shit for the sake of continue running and doing things following a unachievable goal.
I like how Github users independently re-invented the early Yahoo.
Favorite awesome list memory: maintainer of a certain awesome list accepting my project (which made a nice QoL improvement), copying my approach for his own project, and then kicking me off the list. It's his list, which is fine, it's just so petty.
There is a lot of value in good curation but its also extremely time consuming to curate well. Its very difficult to do it as a group activity especially a highly disconnected one via git/opensource and where a lot of these lists started out good the collective effort has ruined their value.
I think we need curation more than ever on the internet on a range of topics where social media of various forms don't work very well. I also think there is a real place for index's as well because search often does adjacency quite poorly since its not really optimised for that. Short curated lists are great for beginning, long ones not so much to anyone.
I used to reach for an awesome list the first thing as i ventured in something new. Nowadays, i almost kinda forgot about them. Still I hold a fond memory of it, they usually contained some real gems (especially when they were relatively new).
Were they ever awesome?
By design, they attract projects looking for visibility etc.
Most of those so-called awesome lists have zero to very little no human judgement when new projects are included. One example I found in the wild is [0], which has ca. 50 awesome projects already while libghostty isn't even stable. I doubt that even 10% of those projects are anywhere good, let alone _awesome_.
I, for one, would like to have an opposite — awful-<something>.
Just so we know which things we should avoid.
With AI, it's getting even more important to know what to use.
"As AI gets better at finding and creating resources (and creating pull requests for said resources), these awesome repositories will become less relevant and less useful."
And how did AI get good at finding awesome resources, according to you?
So, according to this, we should be using LLMs for recommendations of materials we need, but we shouldn't trust LLMs when they publish a list of materials we might need. Got it.
It's kind of inevitable that they stale because of the growth. Let's say it is about programming language - if it's good language then there're more good materials about it, that means more content to maintain in an "awesome repo", and then again and again, with or without AI it would go fully stale or unmaintainable.
I guess there's no solution, these things should go to history and we need to find a better way to find "best of the best" individually while avoiding SEO-hacked resources with some bs.
I actually think there's future in individual learning, so everybody will have their own learning plan, their own learning materials and all that adapted to the way they think and consume information.
awesome-selfhosted was very nice in a way that most other awesome repos are not. I think this was because it covered a pretty broad topic that didn't require a lot of skill to get started in.
Many awesome repos target such a narrow topic that the projects on the list would be early in search results anyway.
I’m wondering if there are techniques people are using to get their content featured by LLMs. Of course you won’t get clicks or attribution so maybe there’s no point.
The difference today is just that AI has supercharged the sloppening, making it obvious even to the most oblivious of observers, that the format has issues.
Which is a common theme in many things that have been "ruined by AI"
In the long run we need to find viable alternatives to github.
I don't mean gitlab either. I think we kind of need repositories
for everyone, as a human right - sounds strange but IMO we kind
of need to build a new web with a lasting impact on the world.
We should not need web-archive; things should be documentable.
(Github is not responsible for disappearing web-pages as such,
mind you; I just mean that we need to look at the whole problem
here, not just on github only as gatekeeper.)
I don't like Google, but google-docs is great. LibreOffice should
have something like that too. Every state as well. I really think
this all needs to become a human right. Why is a US company offering
this and just about everyone else is not, including governments? I
don't understand it. And that is also just one example of many more
things. We need to change the web to a better variant. In many ways
the 1990s was better than what we have today. Everyone built websites.
Today this is a bit ... well. Gone. People may at best put their
"website" on facebook. That's a walled garden. It's not the same as
having separate websites. I don't want the world wide web to become
a walled garden gatekept by a few companies. But I don't see alternatives
emerging - and nobody has time anymore, which is another problem.
“Socialism, like the old politics from which it emanates, confuses Government and Society. This is why every time we do not want a thing to be done by the Government, it concludes that we do not want that thing to be done at all. We reject instruction by the State; therefore we do not want instruction. We reject a State religion; therefore we do not want religion. We reject equalization by the State; therefore we do not want equality, etc., etc. It is as if they accused us of not wanting men to eat because we reject the cultivation of wheat by the State.”
https://sourcelibrary.org/book/the-law-bastiat/page/6992c4c0...
But that’s why it’s so important that each of us are driven to make things. We can all make the world a little better by making the things that we want to exist in the world. Thou art that. It’s up to us! Shape the world, make it closer to what you want—
I have never heard of the concept before. I clicked at the "awesome-R" link and... what am I supposed to do with that? It's a huge list of random shit and there's no way for me to filter out things that might be relevant to the problem I am currently trying to solve.
The real tragedy here is the asymmetric warfare AI enables.It costs zero effort for a spammer to script 100 PRs linking to their AI-generated wrappers,but it takes genuine human energy for maintaners to vet and reject It's a fast-track to maintainer burnout.
I help maintaining one of these awesome lists, awesome-javascript, since 2018. There's been always self-promoting or similar activities, or someone coming up with an idea/forking a repository and doing some small changes, then thinking they're suggesting something groundbreaking. Because of this, we needed to add a few checks over the years to the pull request template, that basically asks if the resource is out there for a while, actively maintained, actively used by people, etc.
Recently, thanks to AI being this cheap and accessible, the amount of shitty PRs quadrupled if not more. And the worst part? Agent doesn't care about the checklist at all and re-writing the PR body with bunch of nonsense that we maintainers need to read, understand, and evaluate. I started keeping the score for the most shittiest PR based on how soon after the first commit made they open the PR. It was 11h, then 10h, and now it is 6h. How on earth a 6h old repository with zero user is considered "awesome" I don't know, but people should stop prompting their agents to create 10s of these PRs every day.
Yes, there's always an alternative: stop maintaining these lists. I don't think it's a viable option either. Sometimes you start using a new piece of tech and want to have access to somewhat curated list of resources that might speed up your understanding. There's still a bit of value to keep them alive and it's dying out bit by bit (literally) every time someone mass-creates these spammy PRs.
Thanks for reading my unsolicited rant.
> Yes, there's always an alternative: stop maintaining these lists.
Or use your own AI judge agent to filter out the submissions that clearly don't align with the intention of the list.
Sounds like they don’t even need to pay for AI. Maybe a deterministic script that does some basic quality checks like verifying that the linked repository isn’t day old slop, and auto-rejects the ones that don’t pass muster would be better. For starters, then you could have well-established and documented rules. Which people generally seem to prefer over AI referees that reject things for opaque and confusing reasons (e.g., YouTube moderation) and can’t be reasoned with.
I appreciate the suggestion but in this case I don't believe the solution to AI problem is using more AI. I personally believe what makes these lists "awesome" is the human element, not some deterministic checks that another agent could run.
IMO it's just like using an anti-spam filter in your email. An AI agent should never decide "Yes, this is awesome" but it surely can decide "No, this is obvious trash". Sometimes the simplest rules are best - "Did they follow the PR template? No? Ok, auto-close with a message saying that AI submissions are not allowed"
The deterministic check could help you filter out the chaff - prevent the human element from getting DOSed.
That assumes one has the money to maintain an AI service/subscription, resources to run the prompt from, and the time to fine-tune the AI to be dependable with a high rate of accuracy in your criteria.
Maybe someone who has a lot of free time and high enthusiasm for AI might consider this to be worth chasing after, but anyone who has dealt with these whack-a-mole scenarios is going to admit the easiest thing to do is just not maintain the resource anymore. There are less-draining projects and endeavors to turn towards instead.
No. Judgment is the thing AI lacks the most. Sure, you can try to give it guidelines, but it sucks at interpreting them because it has no taste and no common sense. It is trivially influenced by bullshit submissions because it overindexes on text it sees and has no theory of the mind or sense of intent.
It is like a naive and prodigious intern with incredible intelligence and factual knowledge, but no sense of how the world works or what will actually fly with human stakeholders.
unsolicited rant read and appreciated.
(suggestions to expand it will be made in a dedicated PR /s)
Great to read that there are still people out there sifting through the noise of Agents shooting PRs in all directions.
In the end you may have to recruit an AI agent to do the (pre) review, otherwise you're ending up being the only human driver on an automated highway (place mental image of Will Smith in I-Robot here)
Keep up the great work, it's appreciated!
I'm reminded of the poor human moderator of that German wiki that OpenAI agents hijacked as a message board, who spent hours reverting edits and removing slop pages created by the AI.
https://collusion.wiki/#the-agents-realize-the-site-owner-is...
> Agent doesn't care about the checklist at all and re-writing the PR body with bunch of nonsense that we maintainers need to read, understand, and evaluate
If it can’t follow a simple checklist, it shouldn’t be a problem, because you don’t even see the PR, because it should be auto-closed.
> How on earth a 6h old repository with zero user is considered "awesome"
It’s not, and you can write a bot that auto-closes such PRs (and any PR from an obviously AI account, and I wish pangram was cheaper, but any PR that is obviously AI text).
He didn't ask if a 6h old repo is awesome or not. Of course it's not.
Ok, repo age being one of hundreds of red flags. Each of these can be auto-detected. But each auto-detection rule will be known and can be gamed afterwards.
In the age of unlimited and very fast content production (for any media, code, images, music, text, or otherwise), I think content curation like this may be more desired than ever.
Maybe I'm too optimistic, but personally it would lower the burden on me so much to have a curated list of *awesome* projects.
The fact that another person has taken from their time, so the hundreds or thousands of people reading this list don't have to do the same amount of investigation to figure out if a project is truly awesome, is in itself awesome.
Exactly good awesome lists have always been and will be the "goldmine" of curated resources. Not only these, I see all slow paced thoughtfully put in content as such. Like take StackOverflow for example. But it's really unfortunate to see people give up.
Yes indeed this article points at some flaws but none of which I think are existential, popular lists becoming outdated and unmaintained whilst also being bombarded with crap is the norm
The problem is digital things don't decay in the same way as physical objects. AI can shit out a webpage for an institute that doesn't really exist and make it sound awesome until you realize there's nothing there. A webpage with a vibrant community behind it that is actively maintained looks, at first glance, the same as a page that's been put out to the pasture. A physical store that's out of business will accumulate cruft, broken windows, vines everywhere. There's not really an equivalent for bitrot. Sure, my website from 1996 looks dated because I used frames and we don't do that no more, but eBay and Yahoo and Myspace are still around. Link rot does set in though. Links to pages that no longer exist because the person running it has passed. Archive.org has such a good purpose.
Thing is though, for software, sometimes things can just be done. If a perfectly good piece of software hasn't been updated in years because it hasn't needed to be updated, then let it sit, ensconced in stone. The problem is it's hard to tell the difference between that, and something that needs maintaining but hasn't been.
PHP community would like a word
> If a perfectly good piece of software hasn't been updated in years because it hasn't needed to be updated
This. When people say "I wouldn't use this because it hasn't been updated for years", maybe it's because it doesn't need updating?
The problem is, how do you know what does not need maintaing? how do you know what's going to bite you in the future? And migrating might be a huge effort. So, the instict becomes to not pick something that is already giving you an negative signal.
I'm not saying that I fully agree with that logic, but I think it's a pretty understandable behaviour.
People can explicitely say it in the readme. At least that's what I'm doing (e.g. https://github.com/oxodao/micromigrations)
well when it comes to github a great window into an non-updated repository is just looking at the github issues. That will signal to you if theres maintenance to be done being ignored or if the software is of quality and maintenance isn't needed yet.
Depends on what it is, for anything that uses a web interface or runs as a native app I'd question many years without updates just because the deployment targets shift so much. Most of the apps I really enjoy on the Mac, for example, at least get yearly updates to whatever new MacOS API changes occurred in the major release.
A video game emulator getting an update every decade though? Some low level tool that's never changed since the beginning of time? Yeah, they're done, what's the problem.
maybe it's because it doesn't need updating
The ground shifts under software. OSs change, dependencies get updates, engines change, compilers are improved occasionally in ways that aren't backwardly compatible. If the maintainer isn't at least checking it's not broken, and updating a changelog to say that it's still working, then you can't safely assume it's fine. "Not updated for years" is shorthand for "It could be broken, but I don't want to be the person who goes through the effort of checking."
If you want people to run your code against a set of pinned dependencies from the last time it was updated then that's one thing, but if you people to run it with an up-to-date set of dependencies on a new OS and on the latest compiler or runtime, then you can't just say it's 'done', because things can change outside of your code that means it won't work any more.
If the repository has an issue tracker, that helps. Then you can at least see if people are posting issues and whether they are being resolved.
I’ve seen projects that haven’t had a release in years, but the maintainer is still answering questions. I would say that counts as actively maintained, since there’s still someone around to handle bug reports.
> The problem is digital things don't decay in the same way as physical objects.
I'm not so sure of that. Ask anyone who's ever used VBScript, ActiveX, Flash, <blink>, <marquee>, or (soon) XSLT.
The web likes to portray itself as championing backwards-compatibility, but for better or worse, it is quick to drop technologies perceived as harmful or merely wasteful. If you're unfortunate enough to jump on the wrong bandwagon, you can easily be left behind, and any older pages left untouched can quickly become non-functional.
They were always junk, full of formulaic, self-promoting, astroturfing trash. In most cases, it would be more appropriate to view them as content marketing (c.f. digital pollution), not actual developer resources.
Same with newspaper, ALWAYS been full of JUNK, they never started out well, got exploited and now wildly different than they initially were.
Completely disagree. When AI was new I found so many great tools through awesome-* repositories. There was some of that going on for sure, but most lists were a curation of good tools.
> When AI was new
Depending on what "generation of developers" you belong to, this could differ by decades :) Are you talking about LLMs probably? At that point, "awesome" lists were already mostly used for spam and marketing, none of the original "curated list" concept remained at this point.
I think I noticed awesome-lists changing from "Here is a curated list of AWESOME software" to "Here is a list of every software ever built, related in any way" somewhere around 2015 (thanks IM logs!), which must have been pretty shortly after the concept was introduced even, but can't remember when that was.
I recently came across some notes from a lecture I went to at Los Alamos in 2013 where the lecturer (Steven Brumby) said "it's out of fashion to call it AI now so I guess this is machine learning" .
yup, remember seeing the same around that time. It used to be incredibly curated and limited, every list since then is just like the top 400 "related" repos
Very variable quality, I agree. But even an astroturfer has to throw in some actually useful tools in there to give cover for the payload they're promoting.
I'm pretty sure the astroturfer would just google for the most visible tools and put them in and then add their own.
i added a PR once to add a package of mine which I thought was useful and he told me it didnt qualify as "awesome" lol. the reaction led me to dig around and I realized "oh, this is just content marketing"
I disagree with the blanket statement. Lists like awesome-scalability [1] are actually pretty useful and full of great references. They dont recommend any specific tool, and it is a very good resource to learn unknown unknowns.
AI suffers the same problem Search Engines had: you cannot ask about something you dont know. Thats why monthly magazines were great: they pushed" knowledge to us so that we learned things we didnt know existed.
[1] https://github.com/binhnguyennus/awesome-scalability
Every 'awesome' repo I can remember has seemingly been made by someone who hasn't used the things included and only read a project's readme. This dates back years before the LLM craze.
I would rather hear from users of software and their opinions, otherwise I can't take seriously something ostensibly curated for quality. In my experience such lists serve better as a way to discover new projects using eg. some framework you're interested in, if they're maintained (which is still valuable).
I maintain 4 awesome lists and I agree: it takes a lot of time and some are more catalogs than curated lists. Curation takes time and is like gardening especially given the half-life of content on the web. My solution was to encode my editorial process in the form of contribution guidelines: https://github.com/kdeldycke/awesome-iam/blob/main/.github/c...
I used to be the editor of a newspaper. Eventually, actually reviewing all the articles in the newspaper took too long time, so instead of shutting down the newspaper, I just started accepting every single article, eventually everyone stopped reading it.
I've personally never found awesome lists great at curation, at best they were always a laundry list of what was out there. But I think they were an excellent jumping point for discovery. I was recently working on a new project with C#, and never having used C# or the .NET ecosystem the lists were a great way to find a lot of options (even if I didn't end up using them).
Some of them probably don't really need to exist, I think I saw one that was fantasy book recommendations which looked like it was just a copy of the top 100 fantasy books from goodreads.
I've heleped maintain awesome-bash for years and I see a similar pattern. Almost all of the recent PRs are links to AI-generated projects. And somehow, within days or weeks of their creation, they get hundreds of stars.
There's always been self-promotion and spam, but AI takes it to another level. On many issues, I don't think I'm responding to a real human.
It would be nice if forking and modifying these awesome lists were easier, since many are out of date. I have my own personal catalog, roughly based on many awesome lists, but it was a bit of a hassle to setup.
That highlights a bigger point. In the age anyone can create and publish their own software, including people without the most basic knowledge about it, how is one supposed to distinguish good from bad and avoid drowning in a sea of crap?
Also, this has another angle, let's say I've created some tools I've invested quite a bit of time in but what is the point of publishing it, if anyone that needs it can simply make it for themselves (spending a week or two of time and some tokens)?
Not only it has became essentially impossible to find if a given thing is quality (for example I recently looked for a pi plugin that does tool use classification for AI that I could extend with my ideas. I found one, then I discovered the author copied leaked cloude code source and "released it under MIT license" - which made my work on top of it basically useless and I had to throw it all out and start from scratch, as I wanted to publish the result- the final thing is called adaptive-acl).
And second, is there any point in publishing code? In the "old days" when software was worth something the motivation to publish open source, in addition to feel good factor, was that people would send you patches with functionality you may find useful.
Both that and the feel good time has ended. I still publish some of my stuff that I think may be useful to someone at some point, but I'm not sure there is any actual point in this.
In a way AI has made each of us much more self sufficient. A computer with a good local model and half a dozen GPUs, few TB of software and one can have all of their computing needs fulfilled forever. No Internet or other people required. There is certain power in this. My young pre-internet self would have felt like living in a star trek universe with this :-)
But something is definitely being lost in the process as well.
Same as always: you distinguish good from bad by trying it out for your needs.
There's always been plenty of bad software.
I found a few lists that I found genuinely useful, like self-hosted. But I also think the problem with them is they were gamed for some reason, maybe because of Github stars and the fact that Github attention is useful for other things. I think it would have been much more useful to have them almost on a different platform. IMBD lists for example seem to work better because there's not much reward in making them except a love of movies.
Also I think another problem is that they were given high recognition on Github, and thus became a formulaic pattern rather that some individual who is really passionate about trying the stuff on the list, which also made most of the later ones generic and much less interesting...
Curation is also really hard to go as a group activity, there are so many different views on value and rules just don't work for taste in any way that works.
> Curation is also really hard to go as a group activity
It really isn't. You establish a process, a review system and the guidelines, then make people write and share notes. It'll be a bit varied initially, but it solidifies and converges a lot quicker than you think.
There are hundreds of examples out in the world of all of these things working properly, everything from galleries to second-hand stores have things like this "implemented" already, take inspiration from them :)
awesome-selfhosted maintainers do work quite hard to reject slop, non-notable software, etc.
> You are in most cases better off simply asking a decent AI model for inspiration or the material you need.
I wonder where AI model get their lists from...
Even before AI they hardly provided any value.
Are you going to click them one by one and figure out what they do? When you need a library/existing tool, do you use Google or come to such a project and do a search?
I am old enough to know Yahoo Directory, and "awesome" projects are exactly that.
You can't really do much other than bookmarking/"starring" and then completely forgetting about it.
Some do, they at least give an overview of a given ecosystem. Of course, like 90% I've seen are not exactly "curated", not for my definition of "curated". But it was a start. I still look for those lists when exploring a new (to me) system or a language, but I have extremely low expectations of them now.
They are better than AI-generated, superficial SEO listicles you usually get with search engines.
Do I come back to those lists? Not that I remember.
Never understood those repositories. Always viewed them as a collection of junk.
They’re a kind of modern version of web directories, and they failed for the same reason the original web directories did (spam/self-promotion, and outdated stuff).
The "actual awesome" lists were awesome, as every single software linked in those were good software.
But yeah, once "influencer developers" got a hold of the concept, misunderstood it to be an index rather than a curated list, it stopped loosing any value the concept had.
Now it's just random individuals who want to "own" a collection, but have zero care about the quality, and just merge whatever additions.
They were originally by an influencer developer (Sindre Sorhus), so they were junk from the start.
FWIW, I appreciate their contributions to the ecosystem, in the sense that you can just take whatever they're doing, multiply by -1 in each dimension, and there you have your steering vector towards good ideas.
That is genuinely useful and provides a lot of value.
Third, many of them are maintained by people with vested interests - for example they're an "awesome list of marketing automation tools" and the author is the owner of one such tool.
I maintain a very very niche one of these (an ‘awesome’ list) and for the past few months I’ve received several non-awesome PRs per day.
I maintain awesome-bugbounty-tools [0] and have never seen that many PRs before.
I had to add a CI check to fail repos with fewer than 50 stars. In the past two months, I closed more PRs than I have merged in the past 6 years or so.
Honestly, it doesn't add that much value anymore, so at this point archiving the repo will be awesome.
[0]: https://github.com/vavkamil/awesome-bugbounty-tools
I'd like to better understand the reason behind these pull requests. Its not like Claude is goofing off on the Internet and trolling humans. People are prompting AI to create pull requests against a bunch of repositories.
But why? Are people trying to advertise their tools in the "awesome" lists?
What about the many PRs against popular tools? Are they trying to build a resume through OSS contributions?
AI agents are extremely pro-active. If they run for long enough or with generic enough prompts they will just do shit for the sake of continue running and doing things following a unachievable goal.
I like how Github users independently re-invented the early Yahoo.
Favorite awesome list memory: maintainer of a certain awesome list accepting my project (which made a nice QoL improvement), copying my approach for his own project, and then kicking me off the list. It's his list, which is fine, it's just so petty.
Hope the Github stars are treating you well!
There is a lot of value in good curation but its also extremely time consuming to curate well. Its very difficult to do it as a group activity especially a highly disconnected one via git/opensource and where a lot of these lists started out good the collective effort has ruined their value.
I think we need curation more than ever on the internet on a range of topics where social media of various forms don't work very well. I also think there is a real place for index's as well because search often does adjacency quite poorly since its not really optimised for that. Short curated lists are great for beginning, long ones not so much to anyone.
I used to reach for an awesome list the first thing as i ventured in something new. Nowadays, i almost kinda forgot about them. Still I hold a fond memory of it, they usually contained some real gems (especially when they were relatively new).
Downfall of modern society if things don't change course.
Downloaded the top 1000 repos locally
Point my agent at them and tell it to find useful code - total size is around 100gb
There's lots of junk to waste time on out there get to work!
I get the impression that we need social mechanisms to segment ourselves away from AI.
I'm broadly pro AI, I like datacentres etc, but its clear we cannot let our entire culture be penetrated by it.
At work we'll use AI aggressively, at home we'll socially punish anyone who blurs this line.
> They usually contain curated knowledge and resources related to a certain domain
No, almost never curated.
For R there are CRAN Views, which are well maintained: https://cran.r-project.org/web/views/
I still find a lot of interesting resources and ideas on Awesome List trackers like this: https://www.trackawesomelist.com.
Implicitly credible sources attract those who benefit from exploiting credibility. This weakens credibility until audiences move on.
content curation > content generation
I'd like to add a third reason: SEO hacking
Simple: create an awesome list of awesome lists.
They always felt like the Webrings of the 21st century.
Could have said “awesome repositories considered harmful”
Like YT vids, anything titled with AWESOME, leaves me suspicious.
Were they ever awesome? By design, they attract projects looking for visibility etc.
Most of those so-called awesome lists have zero to very little no human judgement when new projects are included. One example I found in the wild is [0], which has ca. 50 awesome projects already while libghostty isn't even stable. I doubt that even 10% of those projects are anywhere good, let alone _awesome_.
I, for one, would like to have an opposite — awful-<something>. Just so we know which things we should avoid. With AI, it's getting even more important to know what to use.
[0]: https://github.com/Uzaaft/awesome-libghostty
"As AI gets better at finding and creating resources (and creating pull requests for said resources), these awesome repositories will become less relevant and less useful."
And how did AI get good at finding awesome resources, according to you?
So, according to this, we should be using LLMs for recommendations of materials we need, but we shouldn't trust LLMs when they publish a list of materials we might need. Got it.
Disagree. Some material is just timeless or even just having a name is good to go on compared to knowing nothing before.
AI is nice but never gives the same answer, will tunnel you if you have zero idea on the topic, and can be outright wrong or refuse to answer.
> Some material is just timeless
Software tends to not fall into that category, though.
It's kind of inevitable that they stale because of the growth. Let's say it is about programming language - if it's good language then there're more good materials about it, that means more content to maintain in an "awesome repo", and then again and again, with or without AI it would go fully stale or unmaintainable.
I guess there's no solution, these things should go to history and we need to find a better way to find "best of the best" individually while avoiding SEO-hacked resources with some bs. I actually think there's future in individual learning, so everybody will have their own learning plan, their own learning materials and all that adapted to the way they think and consume information.
awesome-selfhosted was a favourite, but has become outdated. Other awesome repos have become a target for self promotion and junk.
+1
awesome-selfhosted was very nice in a way that most other awesome repos are not. I think this was because it covered a pretty broad topic that didn't require a lot of skill to get started in.
Many awesome repos target such a narrow topic that the projects on the list would be early in search results anyway.
What’s the LLM equivalent of SEO?
I’m wondering if there are techniques people are using to get their content featured by LLMs. Of course you won’t get clicks or attribution so maybe there’s no point.
Most of these were as slop as they are now.
The difference today is just that AI has supercharged the sloppening, making it obvious even to the most oblivious of observers, that the format has issues.
Which is a common theme in many things that have been "ruined by AI"
I mean, even at the time of creation, when it was still timely, a link to a top 50 downloaded packages list is a pretty shitty link to include.
Even before slop, I found a lot of those awesome lists and CS degrees repos useless.
In the long run we need to find viable alternatives to github.
I don't mean gitlab either. I think we kind of need repositories for everyone, as a human right - sounds strange but IMO we kind of need to build a new web with a lasting impact on the world. We should not need web-archive; things should be documentable. (Github is not responsible for disappearing web-pages as such, mind you; I just mean that we need to look at the whole problem here, not just on github only as gatekeeper.)
I don't like Google, but google-docs is great. LibreOffice should have something like that too. Every state as well. I really think this all needs to become a human right. Why is a US company offering this and just about everyone else is not, including governments? I don't understand it. And that is also just one example of many more things. We need to change the web to a better variant. In many ways the 1990s was better than what we have today. Everyone built websites. Today this is a bit ... well. Gone. People may at best put their "website" on facebook. That's a walled garden. It's not the same as having separate websites. I don't want the world wide web to become a walled garden gatekept by a few companies. But I don't see alternatives emerging - and nobody has time anymore, which is another problem.
“Socialism, like the old politics from which it emanates, confuses Government and Society. This is why every time we do not want a thing to be done by the Government, it concludes that we do not want that thing to be done at all. We reject instruction by the State; therefore we do not want instruction. We reject a State religion; therefore we do not want religion. We reject equalization by the State; therefore we do not want equality, etc., etc. It is as if they accused us of not wanting men to eat because we reject the cultivation of wheat by the State.” https://sourcelibrary.org/book/the-law-bastiat/page/6992c4c0...
But that’s why it’s so important that each of us are driven to make things. We can all make the world a little better by making the things that we want to exist in the world. Thou art that. It’s up to us! Shape the world, make it closer to what you want—
Make that GitHub alternative! You can do it!
Were they ever?
I have never heard of the concept before. I clicked at the "awesome-R" link and... what am I supposed to do with that? It's a huge list of random shit and there's no way for me to filter out things that might be relevant to the problem I am currently trying to solve.
They never where.
The real tragedy here is the asymmetric warfare AI enables.It costs zero effort for a spammer to script 100 PRs linking to their AI-generated wrappers,but it takes genuine human energy for maintaners to vet and reject It's a fast-track to maintainer burnout.