-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
moreutils
moreutils is a growing collection of the unix tools that nobody thought to write long ago when unix was young. Read-only version of `git://git.joeyh.name/moreutils`
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
ripgrep
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
-
miller
Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
Long time ago, a colleague of mine created "evenmoreutils" : https://github.com/rudymatela/evenmoreutils
here's a little wrapper around i made around "find" which i always have to install on every new box i manage ....
https://github.com/figital/fstring
(just shows you more useful details about what is found)
Depends on your editor i suppose, but vipe checks the exit code of it [1]. In vim you can exit with an error using :cq
[1]: https://github.com/pgdr/moreutils/blob/f4a811d0a1fafb3d7b0e7...
My favorite missing tool of all time is `ack` [0]. It's grep if grep were made now. I use it all the time, and it's the first thing I install on a new system.
[0] https://beyondgrep.com
mv can't, or, more correctly the rename system call can not.
rename is an atomic operation from any modern filesystem's perspective, you're not writing new data, you're simply changing the name of the existing file, it either succeeds or fails.
Keep in mind that if you're doing this, mv (the command line tool) as opposed to the `rename` system call, falls back to copying if the source and destination files are on different filesystems since you can not really mv a file across filesystems!
In order to have truly atomic writes you need to:
open a new file on the same filesystem as your destination file
write contents
call fsync
call rename
call sync (if you care about the file rename itself never being reverted).
This is some very naive golang code (from when I barely new golang) for doing this which has been running in production since I wrote it without a single issue: https://github.com/AdamJacobMuller/atomicxt/blob/master/file...
What about the Silver Searcher? It's even faster than ack
https://github.com/ggreer/the_silver_searcher
What about ripgrep? It's even faster than the Silver Searcher
https://github.com/BurntSushi/ripgrep
The absolute number one Unix tool that should have - and, more to the point, COULD have - been written long ago is mlr.
https://github.com/johnkerl/miller
"Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON."
This should have been part of the standard unix toolkit for the last 40 years.
I tried to prototype my own implementation of `vidir` in Node.JS a while back (not realizing that it existed under this name in moreutils), and I ended up getting derailed after realizing how incomplete Node.JS's support was for getting the group / username corresponding to a G/UID: https://github.com/stuartpb/whomst