838 karma · joined April 19, 2012
Building a business on a stack of other people’s hobbies isn’t sustainable. I mean, just tell that to anybody outside of tech and watch their reaction.
I’d argue it’s worth the switch, but I’m highly biased!
For a while we would pin library versions (e.g. libvips) only to have the pin break the build because the package was no longer provided. That’s only a few months later, not years. It seriously impacts the repeatability of Docker builds.
Now we don’t pin to the same extent and lack some confidence, but at least it doesn’t break the build.
Brian Called Brian: You don't need to follow me! You don't need to follow anybody! You got to think for yourselves! You're all individuals! You're all different!
Man: I'm not...
Anecdotally speaking, he hasn't been hands on with Oban[1], yet he still offers advice and guidance around the project because it is in the Elixir community.
From what I recall HiPE isn't widely used and will be (may be?) removed.
[0]: https://thinkingelixir.com/podcast-episodes/017-jit-compiler...
0: https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELO...
That said, HN readers from outside the Elixir should know there are great libraries for all of those use cases. Point in case is background job processors—we have plenty of options, though I’m especially fond of Oban[0] (full disclosure, I’m the author).
This is something I explored initially for Oban[0] and I interviewed a few successful OSS product owners. They attributed zero sales to licensing. All sales were driven by features that a business needed once they had already invested in the core project.
That is a broad generalization that assumes most applications are operating at mega scale. The benefits of simplified dependencies (a single database instance), transactional guarantees (a single database instance) and persistence (not using Redis) far outweigh the eventual possibility that the queue will place too large a load on your database.
As the author of Oban[0] (an PG backed persistent queue in Elixir) I'm definitely biased. However, the level of adoption in the Elixir community seems to signal that a lot of companies favor simplicity and safety over a possible scale issue down the road. The primary application I work on processes ~500k-1m jobs a day and the queue overhead is virtually invisible.
I love DDG and am a long time user. I’d just prefer that nobody had billboards.
How do I know this? Because i received a takedown notice regarding a domain I run to sell background job licenses (oban.dev). The business is entirely unrelated, but the clearinghouse alerting system still brought it to the trademark holder’s attention.
We're trying to prepare for an alternate name and all of the changes that entails and hoping that a domain change is sufficient.
If somebody can't do the exercise in their language of choice I have doubts about their competency in general. That seems different than asking arbitrary questions about specific language constructs.
I wish core JS had more functionality built in to alleviate the need for all these tiny packages.