https://terminaltrove.com/new/
https://terminaltrove.com/tool-of-the-week/
Every tool added has images/gifs and a quick way to install it.
We love this list and sponsored the development of fd which we heavily use ourselves!
https://github.com/lycheeverse/lychee?tab=readme-ov-file#nix...
https://github.com/sharkdp/fd?tab=readme-ov-file#on-nixos--v...
https://github.com/umlx5h/gtrash?tab=readme-ov-file#nixpkgs-...
Thanks for the heads up!
Probably goes without saying, but for anyone who doesn't know about it, `jq` is life changing, was kind of surprised not to see it. It's a sort of query language for querying JSON blobs. I use it almost every single day. It's indispensable.
For websites which can publish JSON extracts, piping that through jq to get just what you want and how you want it is an absolute lifesaver.
https://github.com/PaulJuliusMartinez/jless
For when you aren't manipulating or querying json and just want a nice UI for exploring it.
https://github.com/brittonhayes/pillager
https://terminaltrove.com/pillager/
powerful rules functionality to recursively search directories for sensitive information in files.
At it's core, Pillager is designed to assist you in determining if a system is affected by common sources of credential leakage as documented by the MITRE ATT&CK framework.
Good for catching those Oops I deployed the company password list again SNAFU's.Intel-era Mac?
$ brew deps --include-build eza
autoconf
automake
ca-certificates
cabal-install
certifi
cmake
ghc
ghc@9.8
libgit2
libssh2
llvm@18
lz4
m4
mpdecimal
ninja
openssl@3
pandoc
pkg-config
python@3.11
python@3.12
readline
rust
sphinx-doc
sqlite
xz
zstd
(If you care, "brew deps <package> --tree" will tell you.)
eza
└── libgit2
├── libssh2
│ └── openssl@3
│ └── ca-certificates
└── openssl@3
└── ca-certificates
There's (generally) 4 types of dependencies:
- Toolchains (frameworks, compilers)
- Build (headers and libraries)
- Runtime (libraries)
- Test (frameworks, headers, libraries)
And those dependencies all bring their own dependencies...Homebrew can accidentally end up configured to do this in a number of ways. Some of these may no longer be issues; this list is from memory and should be taken with a grain of salt:
- You might be running an outdated homebrew.
- You might have homebrew checked out as a git checkout, thus missing "brew update" abilities. "brew doctor" will report on this.
- You might have "inherited" your Homebrew install from a prior Mac (e.g. via disk clone or Time Machine), or from the brief transitional period where Homebrew was x86-via-Rosetta on ARM macs, thus leaving your brew in a situation where it can't find prebuilt packages ("bottles") for what it observes as a hybrid/unique platform. Tools, including your shell, which install Homebrew for you might install it as the wrong (rosetta-emulated) architecture if any process-spawning part of the tool is an x86-only binary. More details on a similar situation I found myself in are here: https://blog.zacbentley.com/post/dtrace-macos/
- (I'm pretty sure most issues in this area have been fixed, but) you might have an old or "inherited" XCode or XCode CLT installation. These, too, can propagate from backups. Removing Homebrew, uninstalling/reinstalling XCode/CLT, and reinstalling Homebrew can help with this.
- The HOMEBREW_ARCH, HOMEBREW_ARTIFACT_DOMAIN, HOMEBREW_BOTTLE_DOMAIN, or other environment variables may be set in your shell such that Homebrew either thinks the platform doesn't have bottles available or it shouldn't download them: https://docs.brew.sh/Manpage#environment
- Perhaps obvious, but your "brew" command might be invoked such that it always builds from source, e.g. via a shell alias.
- Homebrew may be unable to access the bottle repository (https://ghcr.io/v2/homebrew/core/), either due to a network/firewall issue or a temporary outage.
Noob me has had to troubleshoot homebrew. Like keeping laptop and desktop in sync. Like fixing stuff I've somehow borked.
So I tried a handful of GUIs (wrappers). Like these two top hits:
But sort of bounced off.
Noob friendly homebrew seems like such a great idea. I especially want just one strategy which spans both utils and apps (casks). Versus cobbling together Apple App Store, SetApp, and homebrew.
Those GUIs would be even more useful if they spotted and explained the config issues you listed. (I have no idea if "brew doctor" suffices.)
https://github.com/charmbracelet/glow
It's a commandline markdown viewer/renderer.
Has this gone away?
More details can be found here:
# dra - download releases from gh
devmatteini/dra
# bat - modern cat replacement
sharkdp/bat
# btop - process explorer
aristocratos/btop
# difftastic - better diff
difft;Wilfred/difftastic
# eza - modern ls replacement
eza-community/eza
# fd - find replacement
sharkdp/fd
# fzf - fuzzy finder
junegunn/fzf
# gdu - disk usage analyzer similar to ncdu but faster
dundee/gdu
# jless - json viewer
PaulJuliusMartinez/jless
# jq - json query tool
jqlang/jq
# lazydocker - terminal docker management ui
jesseduffield/lazydocker
# pandoc - document conversion tool
jgm/pandoc
# pandoc dependency
typst/typst
# restic - repository based backup tool
restic/restic
# rg - ripgrep, better grep tool
rg;BurntSushi/ripgrep
# rga - ripgrep-all, grep for PDF
rga;phiresky/ripgrep-all
# starship - powerlevel10k replacement
starship/starship
# tone - audio tagger
sandreas/tone
# yazi - terminal file manager
sxyazi/yazi
# zellij - terminal multiplexer
zellij-org/zellij
# zoxide - modern cd replacement
ajeetdsouza/zoxide
https://github.com/rustic-rs/rustic
It’s a rewrite of restic in rust, but has a few more quality of life features and a config file for setting params (instead of restic only having cli flags).
It’s what changed my backups from something I’d poke at every few days to completely on autopilot.
Killer feature is backup without providing the decrypt key, but restic has a huge userbase and a more promising future
> Stability rustic currently is in beta state and misses regression tests. It is not recommended to use it for production backups, yet.
(Note: I'm not asking this from a "down with the old ways!" perspective, but just out of curiosity. I assume there's a reason people are making separate tools instead of improving the existing ones, I just don't know what that reason is.)
Also, people have tried to make GNU grep uses multiple threads. As far as I know, none of those attempts have led to a merged patch.
There are a boatload of other reasons to be honest as well.
And there's no reason why I specifically need to do it. I've written extensively on how and why ripgrep is fast, all the way down to details in the regex engine. There is no mystery here, and anyone can take these techniques and try to port them to another grep.
And then there's the language choice, as well as code quality. I don't really want to start a huge discussion about this, but it should be pretty obvious that many people are more comfortable and productive using languages that are not C, and that some of these tools don't have the best C code you can find.
A lot of "Rewrite in Rust" (or Go, Python, what-have-you) isn't really about the "Rewrite in Rust" as such, but rather about "Rewrite so I can play around with ideas I have".
Also see my comment from a while ago when someone asked "why do this when $other_tool already exists?": https://github.com/arp242/elles/issues/1#issuecomment-216855...
burntsushi has a blog post on it here: https://blog.burntsushi.net/ripgrep/
[1] https://yazi-rs.github.io [2] https://github.com/ranger/ranger/blob/bd9b37faee9748798f3970...
I have it integrated into zsh so the current directory is whatever dir I was in when exiting lf.
https://github.com/x-cmd/x-cmd
A vast and interesting collection of CLI that can then bootstrap lots of other programs / functions in a consistent and structured way (X bootstrap 1000+ tools and your scripts)
It’s a benchmarking CLI tool that can be used as an alternative to `time`. I often use it to detect flacky tests, I run something like `hyperfine —show-output -n=100 'go test ./… -count=1' and it helps me catch tests that fail unreliably
https://github.com/jftuga/DateTimeMate
Golang package and CLI to compute the difference between date, time or duration
Here is a more detailed announcement:
I solved this by combining it with fzf. Get all the directories you've ever visited and pass on to fzf (sorted by frequency). Then do your matching. You can trivially see if the match is taking you where you want. If not it is likely the second or third match. You're no longer constrained to navigating only to the top matched directory.
I have this bound to a keystroke in my shell.
Pair it with dotenv to automatically set my my shell environment for that project, whatever it is I'm doing at the moment, and it's sooo ergonomic to bounce around between tasks.
Anyone have a view on whether I should switch from zsh-z (~2k gh stars) to Zoxide (~22k stars)?
It’s a cli that lets you query anything table-like with sql. csv, excel, parquet, and other dbs all in one comfy sql interface.
It's a slowly developing trend, but I also wish that a --json output flag was a part of all cli utility output.
Tldr sounds interesting. Man pages are awful for quick reference. At this point it should be possible to collect the statistically ranked most common example usages of commands and provide them, especially if there are very very common associated commands that are piped with them.
now, for the same use case, I search for the man page on Kagi, use the LLM "ask this page questions" feature to ask the man page how to do what I want, and then ctrl-f with the flags it outputs and read the man page entries for those to ensure no hallucinations.
I recently started using forgit and find it really usefull without having to change my workflow too much.
And instead of tldr i just do `curl cheat.sh/tar`