thiagomajesk
PKGX, the blazingly fast, standalone, cross‐platform binary that runs anything
I came across this PKGX tool the other day, if anyone here is using it, could you share your experience?
I’m wondering how useful it would be to have Elixir bindings for PKGX… I know that some elixir libraries like esbuild and tailwind depend on those being packaged as a standalone binary, and it feels that PKGX could make running those tools a lot easier.
Most Liked
halostatue
pkgx is an interesting idea, but there are IMO issues.
Aside from one of them, they are somewhat minor and technical (no support for fish shell; packages managed with pkgx must be relocatable, which may mean substantial maintenance or potential divergence from upstream).
The one that’s not minor is that it’s part of Max Howell’s tea token web3 project. (Related to this, they have raised at least US$17M for the web3-ification of open source development. They will have to make this money back somehow.)
dimitarvp
I’ve spotted pkgx a while ago but found it very messy in terms of implementation and wasn’t sure it would treat my machine well (and whether it will leave a lot of traces and leftovers) – granted that was not a 100% informed opinion, it was based on reviewing random pieces of code over the course of 15 minutes max.
One thing is clear though, we need a much better way of finding / installing / running AND updating programs. Especially the updating part is sorely lacking in many ways, f.ex. if you want to track a latest Golang binary executable then you have to install tools like gup in order to be able to mass-update such binaries.
Same goes for the cargo install-update Rust tool. There are others as well.
And don’t get me started on the various zsh plugin managers, we have no less than 8 separate “plugin managers based on GIT” which are more or less just scripts that do git clone and then subsequently git reset --hard && git pull on a list of directories. Tragic.
But all this underlines how sorely lacking this area is. Of course this also shows how much do we need immutable OS-es where you can temporarily install tools and “lose” them on reboot (or manually; or choose to retain them and put them in the immutable image), and how badly do we need sandboxing as well.
…And none of that even touches on “transactions” on the file system that were needed like 40 years ago and are still not implemented in the mainstream kernels. The file system should be a database.
“Modern” OS-es are pretty primitive still.
/rant
thiagomajesk
Yes, and I think we are having a tooling renaissance with a big focus on DX after the industry neglected it for so much time. And companies know that people simply don’t have time to waste.
This is why people will choose the “easy” way over the “right” way because time and energy are limited resources (especially if the allegedly “right” doesn’t come with good DX). But also because technology is a Wicked Problem, so this purist sense of the “perfect” tool doesn’t exist in practice.
At this point in my life, I’m taking whatever makes my life easier and I’m glad other people are tackling those problems because I surely don’t have time to invest in fixing this BS myself
haha.
dimitarvp
Sincerest apologies, please rest assured it wasn’t meant that way, I’m getting older and often don’t want to put the soft gloves. ![]()
My general stance is that our area never learns. By the time most of us are mature enough to contribute… we usually no longer want to, and then the “innovations” are left for the youngsters who make a whole huge bunch of new and exciting errors. Quite tragic.
Eh. I’m sure we’re forgiven if we do not take seriously people who judge by syntax.
At this point in my life and career I found out I can easily learn and work with most of the programming language syntaxes I ever stumbled upon – and that people’s misgivings about them are usually shallow. Syntax can get in the way of thinking about a problem and that’s a legitimate complaint but again, it’s the one that’s very rarely raised.
My only remark towards Erlang / Elixir is that we could use some more static strong typing but at the end of the day I’ll just use (or roll my own) runtime validation library and that’ll be me nailing my developer experience.
derek-zhou
I meant they are or’ed together. Let me rephrase:
I can only adopt tools that are time tested, or does not depends on hype, or simple to understand. I don’t think PKGX check any of the boxes.








