Show HN: Stack Parts - a way to find possible parts for your stack
48 comments
This is a great tool. I can see this being extremely useful.
Have you considered including a set of metrics which measure the maturity and status of each project? How about listing noteworthy uses in production? Also, recency and quantity of commits, bug fixes etc.
If things go wrong (and they invariably do), I can sleep safer at night knowing that there is a thriving community behind the project, which can provide guidance on any issues.
Admittedly what I have suggested presents some UI difficulties, at least on the home page. It would also need to be updated quite frequently. That could be partially automated by pinging public version control servers, for instance.
Still, a great job. Looking forward to seeing how it progresses.
Have you considered including a set of metrics which measure the maturity and status of each project? How about listing noteworthy uses in production? Also, recency and quantity of commits, bug fixes etc.
If things go wrong (and they invariably do), I can sleep safer at night knowing that there is a thriving community behind the project, which can provide guidance on any issues.
Admittedly what I have suggested presents some UI difficulties, at least on the home page. It would also need to be updated quite frequently. That could be partially automated by pinging public version control servers, for instance.
Still, a great job. Looking forward to seeing how it progresses.
This is great stuff. This could end up like a wikipedia for web developers. I've been wanting to do something like this for myself. With all the options available out there, its much easier to process when everything is organized.
Interesting that google had this as an internal webpage. I wonder what other really useful tools companies use that could benefit us if it were public.
Interesting that google had this as an internal webpage. I wonder what other really useful tools companies use that could benefit us if it were public.
We could merge our efforts, someway. I provide some projects' metadata (along their history) via http://appdate.it . It's really a rough job to do... mostly web page scraping, because a structured way to present those informations does not exist and if it would exist, well, it should be embraced by each project.
There aren't many stand-alone ORMs with last-gen frameworks, but they're increasingly important for noSQL. Would you add an ORM category?
Also, you could avoid the spatial UI problems nesting may cause if there's a tooltip with meta data & links on rollover.
Also, you could avoid the spatial UI problems nesting may cause if there's a tooltip with meta data & links on rollover.
clickable: http://stackparts.com/
To me it seems it's a great idea that may save time looking for alternatives to a technology from its name.
Still, I think the most valuable part this site may add is the very notion of stack: what vertical choices work well together. For example would you or could you rather combine C# and MySQL or Python, Django and MySQL for a given context (scalability, criticity, developers profile ...)
Still, I think the most valuable part this site may add is the very notion of stack: what vertical choices work well together. For example would you or could you rather combine C# and MySQL or Python, Django and MySQL for a given context (scalability, criticity, developers profile ...)
I can see the value in something like this, especially for more novice web developers who may not know the terms to search for in Google or StackOverflow to find what they need.
I understand it's rough, but here are something of the things I was expecting to see while I was browsing around:
- Some "category" pages, like dbm, are missing definitions. It would be great if definitions were present on every category page.
- I really like that some category pages include a curated list of articles that compare the different options within this class of products. This is exactly what I search for when researching new technologies.
- It'd be nice to have links to the Stackoverflow "tag" page on individual technology pages. For example, the MySQL page could link to this: http://stackoverflow.com/questions/tagged/mysql
I could also see this information being shown in a more visual way. It'd be pretty interesting to allow companies to create an account and build a profile of what their web stack looks like. Maybe something similar to how GuitarGeek.com shows the rigs of famous guitarists? I'd be willing to bet that most web stacks would look more like Eddie Van Halen's setup (http://guitargeek.com/rigview/258/) rather than Angus Young's (http://guitargeek.com/rigview/312/) :)
I understand it's rough, but here are something of the things I was expecting to see while I was browsing around:
- Some "category" pages, like dbm, are missing definitions. It would be great if definitions were present on every category page.
- I really like that some category pages include a curated list of articles that compare the different options within this class of products. This is exactly what I search for when researching new technologies.
- It'd be nice to have links to the Stackoverflow "tag" page on individual technology pages. For example, the MySQL page could link to this: http://stackoverflow.com/questions/tagged/mysql
I could also see this information being shown in a more visual way. It'd be pretty interesting to allow companies to create an account and build a profile of what their web stack looks like. Maybe something similar to how GuitarGeek.com shows the rigs of famous guitarists? I'd be willing to bet that most web stacks would look more like Eddie Van Halen's setup (http://guitargeek.com/rigview/258/) rather than Angus Young's (http://guitargeek.com/rigview/312/) :)
We have added definitions to most of the category pages, please let us know your feedback.
Thanks for all your suggestions, will follow up on the rest of the suggestions!
Thanks for all your suggestions, will follow up on the rest of the suggestions!
yeah. although the main issue here is that the set of possible stacks ends up being a graph, so that's harder to represent. so it is difficult.
i bet the vast majority of stacks are still LAMP... but i agree with everything else.
i bet the vast majority of stacks are still LAMP... but i agree with everything else.
Interesting idea. Suggestion: sort the categories at the top by how likely a project is to need/use them. Without getting into religious arguments, I think a fair example would be "language" and "webserver" should sort higher than "graph-store" and "mapreduce".
Also might be a good idea to define the categories for newbies. Most of the categories will need explanation for newbies.
Cool idea, though. I used to use jakarta.apache.org for a similar purpose.
Also might be a good idea to define the categories for newbies. Most of the categories will need explanation for newbies.
Cool idea, though. I used to use jakarta.apache.org for a similar purpose.
We have roughly sorted the categories from bottom to top stack order, let us know your feedback :)
I can see that it's sorted now, but I don't think I explained my intention well before. What I meant was the order should be something like:
- language
- sql
- webserver
- webframework
- sourcecontrol
...
- stuff most people don't use on their projects, like mapreduce and graph-store
Also, the tooltip definitions are helpful but it's not obvious that they are there. I only knew they were there because you said so here. :-)
Good luck!
- language
- sql
- webserver
- webframework
- sourcecontrol
...
- stuff most people don't use on their projects, like mapreduce and graph-store
Also, the tooltip definitions are helpful but it's not obvious that they are there. I only knew they were there because you said so here. :-)
Good luck!
good idea.
Cool idea! Definitely makes research a lot easier! Any reason why CSS isn`t on the list of languages? My web stack in the past has included CSS pre-processers, like LESS and Sass.
What I would be more interested is interconnectivity between these elements of the stack, which rdbms have an API for the language I have selected for example.
You could load it into Neo4j and generate some connectivity visualizations.
we have some of that.
eg:
http://stackparts.com/pymongo
connects python to mongo?
we're not sure what to tag these as. bindings?
eg:
http://stackparts.com/pymongo
connects python to mongo?
we're not sure what to tag these as. bindings?
Awesome! I would love to see a "this is my stack" tool: let people choose parts (maybe in an easy click and drag way) to show their complete stack. With a few stack data points, you could have templates, which users can start with and tweak to show their exact stack.
ohloh.net has a "stacks" feature that crowd-sources this kind of information. It would be neat to tie these together.
One small point - I found it quite hard to read. When I first saw it I assumed it was just some type of tag cloud until I realised that the link on the left is the category.
Also any plans for having it so that I can start with a language, get a list of data-stores that can talk to my chosen language, then get a list of web-servers and so on until I've chosen my stack. Then building on this it would be great if I could get all the API's for the chosen stack!
Thanks for the great little tool!
Also any plans for having it so that I can start with a language, get a list of data-stores that can talk to my chosen language, then get a list of web-servers and so on until I've chosen my stack. Then building on this it would be great if I could get all the API's for the chosen stack!
Thanks for the great little tool!
Add cherokee under webserver. Lovely configuration, fast, flexible.
submitted the form. hasn't showed up on the homepage yet.
I maintain something like this personally, in the form of private structured notes, and I know other engineers that do as well. Except we go beyond listing all possible things that can fit into a given category, into instead making quality and suitability judgments about them. What's "best" or the no-brainer/default for a given role, either in the general case or in various special cases. It's a very useful professional technique.
To wit, I generated the following page from my structured notes, and added it to my public website, a few weeks ago:
http://synisma.com/comp_dump/gototech.html
To wit, I generated the following page from my structured notes, and added it to my public website, a few weeks ago:
http://synisma.com/comp_dump/gototech.html
I like that page, thank you for setting it up. Now I wonder what the 'rest of us' are using, it would be great to see this same list with a larger number of people and what their reasons for picking one technology over another in the same segment are.
That could probably ignite the flamewar thread of the century.
That could probably ignite the flamewar thread of the century.
I noticed there is no Common Lisp or Scheme. Both are great languages for apps/web.
no judgements, i just don't know the space very well so i didn't do it yet.
i should write up the file format so people who are so minded can just send me a file to upload.
i should write up the file format so people who are so minded can just send me a file to upload.
Nice idea.
Could you include an approximation of each components popularity or longevity?
This would allow people to know if they are picking mainstream or more obscure/specialised/enterprise/unstable/etc components.
Could you include an approximation of each components popularity or longevity?
This would allow people to know if they are picking mainstream or more obscure/specialised/enterprise/unstable/etc components.
Speaking as someone whose web development skills are out of date, this is great.
Great.
I'd suggest arranging the categories in a rough data flow, so webserver would be near the "outside" (top?), wsqi inside that, frameworks inside that.
wsgi might become part of a larger cgi-ish category: app container? app connector? You'd include fcgi and the various php equivalents in there; maybe subcategories.
Debatable: firewalls? Virtual environments like virtualenv and whatever the other guys use.
I'd suggest arranging the categories in a rough data flow, so webserver would be near the "outside" (top?), wsqi inside that, frameworks inside that.
wsgi might become part of a larger cgi-ish category: app container? app connector? You'd include fcgi and the various php equivalents in there; maybe subcategories.
Debatable: firewalls? Virtual environments like virtualenv and whatever the other guys use.
We have roughly sorted the categories from bottom to top stack order, let us know your feedback :)
We have added environment managers as a category (virtualenv, rvm, rbenv, bundler)
We have added environment managers as a category (virtualenv, rvm, rbenv, bundler)
It might be a good idea to tag the age of articles because some may be complaints or has missing features that would get resolved.
Also, no Source Control (Git/SVN/etc) or Configuration Control (Chef/Puppet/etc)?
Also, no Source Control (Git/SVN/etc) or Configuration Control (Chef/Puppet/etc)?
Based on your suggestion, we have added source control, configuration control, and deployment tools categories.
so, when i worked at google there was a great internal webpage that listed all the various parts and systems one could use to build something. i've always wanted something like that for the real world, so here it is.
the idea is basically to index widely used and good stack parts so that people can figure out what they need to build their applications.
this is still very rough. we're still working on figuring out the metadata, how to display it, and how to link it. in addition, some of the metadata is wrong as we evolve how to describe things.
how it works: tornado, yaml, github.