HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
sindresorhus
ama
OPEN SOURCE2015–2023
sindresorhus / ama

ama

[[I'm slow at replying these days, but I hope to get back to answering questions eventually]] Ask me anything!

23Distinct people
26Mentions
2Explicit recommenders
145GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

[[I'm slow at replying these days, but I hope to get back to answering questions eventually]] Ask me anything!

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

> This GitHub comment by Sindre Sorhus (author of over 600 modules on npm) is my favorite writeup on the topic: https://github.com/sindresorhus/ama/issues/10#issuecomment-1....…

forgotpwtomain used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year26 dated mentions

Observed mentions: 2015-07-01 17:06:53 UTC to 2023-09-25 05:48:24 UTC.

0369122015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 5 mentions; 4 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 12 mentions; 3 submissions, 9 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC541
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC1239
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC303
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC312
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC110
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Ask me anything! I'm unfortunately currently too busy to answer questions. I'll get back answering at some point. Ask a question     Read questions I get a lot of questions by email. This way anyone can read the answer! Anything means anything. Personal questions. Money. Work. Life. Code. Whatever. Guidelines Ensure your question hasn't already been answered. Use a succinct title and description. Bugs & feature requests should be opened on the relevant issue tracker. Support questions are better asked on Stack Overflow. Be civil and polite. Links Read more AMAs Create your own AMA What's an AMA?
Read the full README on GitHub

What Hacker News says

26 sources
I agree that what I'm describing doesn't hold for a web browser. But I think it's important to remember that "web browsers" are a very unique category - I can't really think of any other software that accidentally became an operating system (and I mean that in an entirely serious way, not derisively). While in retrospect it's understandable why it happened (economic forces etc.), it also means that the web-related specifications were never really designed with the consideration of "how could we build an operating system that doesn't highly centralize complexity". And so we're now effectively stuck with a huge pile of specifications that you pretty much have to implement to call yourself a browser. But for most other software, this isn't true; because most software is implemented according to some pre-defined set of goals and/or requiremen
Read the rest
ts, and there is no external specification to satisfy, other than for some internals that can be outsourced to a library. This allows for much, much more reduction of complexity. > Do you know of any "serious open-source software" of comparable scale, which does not require big companies paying for it, even taking into account the argument around unnecessary complexity? The problematic part in this question is "of comparable scale". To put it bluntly, pretty much all of the software that meets that description has an inherent complexity problem, either having too broad a scope or reinventing too many wheels. So no, I don't think that at that scale corporate funding is avoidable; but I also think that the scale itself is the problem. I do think that corporate funding is largely avoidable with a different approach to open-source development entirely; one that (re-)recognizes that open-source is about a shared public commons, not just freely downloadable software, and that prioritizes collaboration and modular, shared implementations over reinvented wheels. Unfortunately we have a lot of cultural issues to fix to get there, not the least of which is the recent-ish appropriation of "open-source" by certain companies-that-shall-not-be-named as a developer marketing tool, paying basically no mind to the "public commons" part and calling it open-source merely because it's under an open-source license and it looks good on GitHub. That's certainly not to say that this is entirely a corporation or commercial problem, though; there's definitely also an aspect of NIH culture and dependency avoidance among individual developers, where people have wildly inaccurate ideas about the costs and benefits of dependencies, and lacking knowledge in how to manage them effectively. One typical example of this is the JS ecosystem, which gets a lot of flak for one-liner modules[1] but was actually well on the way to addressing this problem - right up until Node.js started getting hyped up, and an endless stream of shiny reinvented wheels from startups started showing up, many of them poor copies of tools that already existed and worked well. Webpack is a notable example here, which really is just a worse Browserify in every sense. Ultimately, this is probably the only plausible solution to this problem that I can see. Modular projects with a well-defined scope, that actually have a reasonable chance to reach feature-complete status, where the implementations are widely available and reusable in a broad variety of different projects that can themselves become feature-complete. Where only one developer has to do the work and it is then forever done. Whether that's in JS or something else entirely. [1] https://github.com/sindresorhus/ama/issues/10#issuecomment-1...
In "Much" of the Rust/Wasmtime team hit by layoffs at Mozilla
I am starting to follow Sindre's philosophy [1] more and more. I published this morning `fch` [2], a 10-15 LoC library (note: undocumented for now). I will test it well and make sure it works everywhere. In exchange, I removed basically the same code from 3 projects (so far), some of them with subtle bugs. The cost of using it is the same as locally, and creation cost is lower per-project if you let npm manage your own libs. Plus, bug fixes are automatically propagated. [1] https://github.com/sindresorhus/ama/issues/10#issuecomment-1... [2] https://github.com/franciscop/fetch
In Evergreen: a React UI Framework built by Segment
FWIW I have always thought this would become a problem for nodejs. Encouraging one-liner packages [1][2] is a recipe for an enormous dependency tree, and a totally impossible-to-manage security situation. Python projects I have recently worked on might max out at 50 packages. The last project I worked on with nodejs as front end had 3000+ packages just for the UI. [1] https://github.com/sindresorhus/ama/issues/10#issuecomment-1... [2] https://github.com/kevva/is-positive
In Devs unknowingly use “malicious” modules snuck into official Python repository
Well it wasn't that you weren't being specific, more that you were casually maligning the JS community unfairly, when the article isn't even about web/JS :) (I also don't agree with 'don't need to'. The main takeaway from the leftpad debarcle was the fixes to the npm module deletion policy, and hopefully people learning they shouldn't rely on an 'npm install' for production deployments! Whether people should use small modules is still up for debate, there are trade-offs [1] [2]). [1] https://github.com/sindresorhus/ama/issues/10#issuecomment-1... [2] https://medium.com/@Rich_Harris/small-modules-it-s-not-quite...
In App sizes are out of control
> A little copying is better than a little dependency. I actually disagree with this. Given that we're already working with projects that can have several hundred dependencies - I think the goal ought to be in removing the weight of including the dependency. sindresorhus says it better than me though https://github.com/sindresorhus/ama/issues/10#issuecomment-1... I imagine it also depends on whether your place of employment is writing one giant single-repository codebase vs. several modular applications, as the latter clearly affords a package manager while the former eschews the complexity of composing systems.
In LeftPad and Go: can tooling help?
forgotpwtomain·Mar 24, 2016Recommendation phrase
> This GitHub comment by Sindre Sorhus (author of over 600 modules on npm) is my favorite writeup on the topic: https://github.com/sindresorhus/ama/issues/10#issuecomment-1.... If anything looking at sindresorhus's activity feed: (https://github.com/sindresorhus) perfectly supports the author's point. Maybe some people have so little to do that they can author or find a relevant package for every single ~10 line function they need to use in their code and then spend countless commits bumping project-versions and updating package.json files. I have no idea how they get work done though..
In NPM and Left-Pad: Have We Forgotten How to Program?
lewisl9029·Mar 24, 2016Recommendation phrase
This comes up a lot when people discuss anything related to npm modules. It's easy to simply dismiss these trivial one-line modules as "insanity" and move on, but there's actually plenty of good reasons as to why many prefer to work with multiple small modules in this manner. This GitHub comment by Sindre Sorhus (author of over 600 modules on npm) is my favorite writeup on the topic: https://github.com/sindresorhus/ama/issues/10#issuecomment-1... TL;DR: Small modules are easy to reason about, and encourage code reuse and sharing across the entire community. This allows these small modules to get a tremendous amount of real world testing under all sorts of use cases, which can uncover many corner cases that an alternative naive inlined solution would never have covered (until it shows up as a bug in production). The entire community benefi
Read the rest
ts from the collective testing and improvements made to these modules. I also wanted to add that widespread use of these small modules over inlining everything makes the new module-level tree-shaking algorithms (that have been gaining traction since the advent of ES6 modules) much more effective in reducing overall code size, which is an important consideration in production web applications.
In NPM and Left-Pad: Have We Forgotten How to Program?

Showing the 15 most recent of 26 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.