yordisprieto
Everything that I shared is based on my experience, please don’t be offensive.
npm, ruby gems and now hex. I always have to deal with the same problem: find the best package for my project.
I notice that engineers in general like to just go and reimplement everything from scratch when something doesn’t work as them spec, or even sometimes because they don’t understand the current one.
That’s why you go and search in those websites for some dependencies you find out a huge amount of packages that basically try to resolve exactly the same issue.
I never understand why we (programmers in general) don’t work together as a team, because will always be better to work together and think more than one person in the same situation.
Yes, I understand that sometimes we got so deep in one implementation that we can’t use some packages or the trade off is huge compared with recreate your own.
I also understand that sometimes I will find some project driven by dictatorships, or even people don’t want to change something because somebody else will break.
I am not saying that having a LEADER in projects is bad, also I am not saying that we shouldn’t help “legacy” people
but,
we can’t hold some implementation, or even don’t change something that TECHNICALLY is better because somebody else will break, that’s why we have versioning and is their responsibility to upgrade or not.
All of those and many more problems can be resolve and I would like to find the solution
Anyway
I would like to see a little badge in HEX packages, that means that those packages are well supported and maintained.
Also I will group the packages in categories and I will only give the badge to the one that is the common and mainly use .This way we help people like me and the community.
I don’t believe in having a lot of packages that literally fix the same problem. I prefer to work together.
I would like to continue writing but I think you get the main idea.
And please share your opinion because this is really important for the Elixir community, now that we are smaller enough for curated HEX.
Let’s think together and work together
Trending in Discussions
Other Trending Topics
Chat & Discussions>Discussions
Latest on Elixir Forum
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #phoenix_html
- #iex
- #graphql
- #ai
- #genstage
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex










First 10 of 59 Posts
NobbZ
There is already awesome-elixir and also there has been another list that had an interactive search AFAIR and also tagged its packages, but I can’t remember the URL.
Also I do not like to have some kind of batch on hex. Hex is the “central authority” when it comes to packages. If it were advertising one package over another it would have a huge impact on the community and how new packages will be created or found.
yordisprieto
I wouldn’t mind to support the idea of badges or something. Yes I don’t want Hex to hide any package at all but I would like to see features that I allow me to filter Hex packages.
We will end like npm where is pretty much useless to find anything on it because is just bad unless you are familiar with the packages. I just want to create a community mindset where we work together instead of going alone and creating packages that fix the same issue.
Sometimes is good to have some common vision (like Ecto), and there I relay on the more experienced developers.
This is about something like @h4cc package that have 1,580 issues related to “Evaluate Package”. Let’s bring that to Hex instead.
Even go father and create subset where one package could compete each other and the community decide about the final decision
ericmj
I think it’s better to let Hex focus on serving packages. It would be too much work for me to go through 2800 packages and evaluate if they are good or bad and then decide which ones are the “best” in each category. The other alternative would be to have the “community” vote, but it’s not clear from your post how that should actually work. I don’t think it should be part of Hex either since Hex should focus on its core features, which is publishing and serving packages. There’s a lot of work running and maintaining a package manager and the core team has a long list of more important enhancements and features to work on before we can focus on curation or community voting.
It’s not a bad idea to have a place where you can find recommended packages. There is GitHub - h4cc/awesome-elixir: A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things. Updates: · GitHub and http://toolbox.elixir.pm/ already that does similar things. Maybe you can help out on those efforts? Both those projects use the HTTP API from the specifications and you should be able to build a service with the API that would be just as good as if the service was part of Hex.
yordisprieto
Right now, either inside Hex or outside but a place that allow us to go and pretty much know that we have a curated list. It’s more around that idea.
I can’t give you the final answer in how to curated, that’s why I created this post and expecting people to participate and try to resolve a legit problem in packages management systems.
We as a community can contribute to this list but as well have some management and inputs from the “leaders” of Elixir community.
AstonJ
I think sorting by popularity (downloads) has often served as a really good way to see what is ‘hot’.
I like the idea of voting and reviews/comments - however I am not sure Hex.pm would be the best place for it as it would add a lot of work for Eric and the maintainers (because they will require some sort of moderation, and not just for spam).
What could be really handy is whenever a package has an associated github then the number of watchers and stars are added (updated daily or weekly).
hykw
I agree the idea.
gausby
I don’t know how any of these measurements of package «popularity» would work. I fear that anything we could come up with would become a skewed popularity contest.
Had we had a system that let people vote for their favourite package back when Chris started Phoenix it would have been shadowed by the popularity of Dynamo, which was build by Jose himself, and would gain tons of up-votes because of that. (Not saying this is how it would have panned out—this example is based on a big «what-if», and is pure fiction)
Besides that, stars on Github is not a good measure of what is good about the project. Say we have a project with a very funny Readme; tons of people would hit that star because of the lols. It might not solve the problem it claims to do, but it has a really funny Readme…
…and what if some popular twitter account post a link to a project on Github? Hoard of people would come to the page, each with a different idea about what it means to star something; some of them might use stars for «Interesting, should look into later», others might think «I have vetted this project and I use it in production.»
Not to mention all the projects that are not hosted on GitHub.
The best thing I’ve seen is something some of my friends whipped together for NPM called http://node-modules.com/ If you personalise your account the «popularity contest» is based on what your friends/followed on Github likes—not the entire world. This is not perfect, as it require the project to be on Github, but one great benefit about this is that you can ask your friends about their experience with a given package.
Hex should not deal with popularity contests in my opinion—only serve packages. A thing like node-modules for hex would be great but it should be a stand-alone service.
yordisprieto
This is why I need you (community) to decide which one is most proper package in specific group.
We have to either stop going crazy like NPM and create packages that resolve exactly the same issue in almost exactly the same or do something for at least help the community.
This is a rough task and we need to work together specially the Leaders of Elixir community. No everybody will get some badge identifier that easier.
And yes I dont want to relay on Stars on Github or stuff like that. I want to work with you (community) in a solution that at least help us.
I really don’t want to see what happen with NPM guys
P.S: My searching for elasticsearch packages, I got this GitHub - Zatvobor/tirexs: An Elixir flavored HTTP client and DSL library for Elasticsearch · GitHub and this one GitHub - werbitzky/elastix: A simple Elasticsearch REST client written in Elixir. · GitHub
Who is the best one? At the end of the day no matter what they are trying to resolve the same issue. Just merge the projects, bring the best ideas of both sides and booom the best for the community.
But those contributors have to be open to feedbacks and make changes when are required, even when you break people (that’s why versioning exists) and …
Please, either in hex.pm or any website, let’s fix this issue, I take responsibility to implement it but I need your feedbacks about it in how could work.
yordisprieto
For example, if I just type ORM keyword I will separate in two list the packages. I would put the “recommended by the community” on top and whatever else in the bottom.
As you can see, I never said: hide packages, but just at least is something that help the community. I prefer people contributing to some package than creating their own, but again Owners and Contributors have to be really open to feedbacks and changes.
sotojuan
Maybe it’s too late now but Ember does something like this. Every package has a score:
Ember Observer Click on “Explain this” under the score.
Package curation is tricky and imprecise though, especially in the early days of a language. Also, open source is not a job. I may write the best and most maintained package ever, but tomorrow I can stop working on it forever. What then?
Too late for that. Search for “cache” in Hex
I’m a pessimist so I think Hex will be a mess like every package manager is, but we’ll get on by using the same 10-20 dependencies in most of our apps so whatever’s in Hex won’t matter much. Hex’s problem is to serve and host packages, not decide which is “best”, which is hard to do and will lead to politics/drama anyway. Just let Hex be messy. I take the time to review possible dependencies and their repos to see if they’re maintained well, but I don’t think the community can do that as a whole.
Check out: npms We can at least have a search like that for Hex. It all comes down to search: I don’t care if there are 1000 bad cache implementations if search returns the best one.