5 ms·
AppFS [0] solves a similar problem but with much lower learning curve and overhead for using it, since it removes the install step altogether. [0] https://appf
by rkeene2 4y ago
AppFS [0] solves a similar problem but with much lower learning curve and overhead for using it, since it removes the install step altogether.
[0] https://appfs.net/ https://appfs.net/
- one-punch 4y ago1. Not sure how AppFS could have lower overhead than Nix in terms of removing the install step. 2. AppFS appears to be written by a user named rkeene, and I am replying to a comment by rkeene2. I think a disclosure would be helpful when comparing AppFS with other tools.
- rkeene2 4y agoNix has an install step to use a package, AppFS does not -- not having a step is easier than having one. If you want to use a package, you just use it. Additionally, I'm the author of AppFS.net just redirects you to AppFS.rkeene.org -- I'm not sure what kind of disclosure is needed when discussing it in this context though.
- one-punch 4y ago> Nix has an install step to use a package Not true. See "Using Nix to run software with no installation steps" https://determinate.systems/posts/nix-run https://determinate.systems/posts/nix-run for example. This feature has been one of the main use cases of Nix. > Nix has an install step ... AppFS does not... I'm the author of AppFS.net... I appreciate the disclosure, as it helps readers (like me) to judge the merits of your claims, especially regarding AppFS vs other options, and whether those claims could be biased (due to differences in familiarity, for example). > I'm not sure what kind of disclosure is needed... Over Hacker News and other forums, when the author of a tool wants to promote their work (nothing wrong with this, I learnt a lot with such promotions) in the context of competing tools, the following disclosures are common: 1. Disclosure: I wrote AppFS. 2. Author of AppFS here. (Just like what you did.) 3. Shameless plug. (Note: I personally do not see this as a shame, but I just want to give examples of common disclosure styles in such contexsts.)
- DangitBobby 4y agoFrom the linked docs, it's not obvious to me how I could use this tool in the way TFA uses nix-shell to resolve script dependencies.
- rkeene2 4y agoYou just use the dependencies, for example: $ cat /tmp/hello.py #! /opt/appfs/rkeene.org/python3/platform/latest/bin/python3 print("Hello, world!".rjust(20, "-")) $ /tmp/hello.py -------Hello, world!
- DangitBobby 4y agoThe really nice thing about the nix-shell example is I can specify external python dependencies within the script itself, and even the python version itself, all within one file, and nix-shell just takes care of it.
- rkeene2 4y agoIf you change `latest` to the version [0], then you'll get that exact version. Additionally any external dependencies can be specified by just accessing them the same way you would in `nix-shell`, just using the path instead of installing. For example, if you wanted to use the "awscli" (the only Python package I already created within AppFS) you would do: $ cat /tmp/aws.py #! /opt/appfs/rkeene.org/python3/platform/latest/bin/python3 import sys sys.path.append('/opt/appfs/rkeene.org/aws-cli/platform/latest/lib/python3.6/site-packages') import awscli print(awscli) $ /tmp/aws.py <module 'awscli' from '/opt/appfs/rkeene.org/aws-cli/platform/latest/lib/python3.6/site-packages/awscli/__init__.py'> [0] https://browser.appfs.net/rkeene.org/python3/linux-x86_64/3.6.4/bin https://browser.appfs.net/rkeene.org/python3/linux-x86_64/3....