top | item 30925843

Navi- an interactive cheatsheet tool for the command line

132 points| humility | 3 years ago |github.com

15 comments

order

HenryMulligan|3 years ago

How does this stack up versus cheat.sh ? I really should be making use of one of these and I would prefer to learn the most useful.

baby|3 years ago

It’s quite insane the amount of nice tooling people have been building thanks to Rust. I’m wondering why is it that Rust transitioned us to a new era for open source. My bet is the package manager.

xcambar|3 years ago

As far as I'm concerned, my preference when learning a new language is to build (in order of preference):

* a CLI tool

* a backend service

* a plugin to an existing tool

* an HTTP API / web app

You will note that a basic CLI tool requires nothing but arg parsing to get started, no complicated library or abstraction layer, while as you advance in the list above, you will most certainly use more libs and less of the raw language constructs.

Also, in the case of Rust and other compiled languages, ease of distribution as a binary rather than a package or some form of arbitrarily complicated installation method certainly helps.

YMMV of course but this is my approach and maybe it explains a bit of the trend you're wondering about.

qbasic_forever|3 years ago

I wouldn't say it's a new era of open source, there's nothing novel about licensing from rust. But from a tool perspective both rust and golang support easy static binary creation and IMHO that's why you see both of them being popular with modern CLI tools.

Gone are the days of packaging up distro-specific binaries, or worse yet depending on some system installed script interpreter (and all the myriad of ways it can be broken or out of date on your user's machines). Now you just download a single executable, put it in your path, and you're done. It will always work--today, tomorrow, ten years from now. It's so easy and reproducible you can even just commit the tools into your source repo if you want.

mkotowski|3 years ago

Honestly, I think part of this perception is the fact that things developed in Rust are more likely to advertise themselves as such. For example, I know that micro text editor is developed in Go only because I checked. I have no need to know this as an end-user, but many Rust-based projects seem quite eager to highlight that.

voidfunc|3 years ago

It seems to be becoming the new Go.