Big sharkdp fan. Ty you for making awesome software that i use DAILY.
bat, fd, hexyl, hyperfine
I'm going to take this moment to remind all of you well-paid engineers that if we each spread $10 a month sponsoring talented software makers like sharkdp the Internet would be a better place.
So many great little tools out there and we should try to support an ecosystem for them.
bat, fd, and hyperfine are all by the same person??? That's incredible, I love all of these utilities.
Seems like David Peter works at Astral now, as does Andrew Gallant (ripgrep).
It's a dream team for rust cli tools over there.
I owe hours of my life to Andrew Gallant aka BurntSushi's xsv. Nothing else tries to handle splitting long files into N-row chunks [1]. I was using the command line utility, but that's his wrapper around his rust-csv library. So if you need CSV parsing in rust, I strongly recommend this library.
[1] rows included linebreaks so your standard sed/head/tail/something-from-coreutils approach would not work.
I have spent a lot of hours looking at `watch "xsv select ... | xsv table"`.
They are very good tools but I now prefer duckdb for CSV processing.
Not that there is necessarily that much churn in csv processing, but last I looked, the xsv repo has not received much maintenance for a while.
This is an active fork: https://github.com/dathere/qsv
Never realized it was a fork. qsv is great. I parsed lots of 4Gb files with it and was really happy.
There's also DSQ which uses SQL instead of its own language. https://github.com/multiprocessio/dsq
When software is feature complete, fast and working correctly, what is it exactly you expect to change?
I mean there are 131 open issues and some 30+ PRs, so clearly people have some desire for change.
No criticism to the author. He is way more productive than I will ever be, but xsv does appear to be on the back burner. Open source means the author can spend their time how they like and I am entitled to nothing.
https://news.ycombinator.com/item?id=43494894 discusses xan https://github.com/medialab/xan
readme says this tool is originally a fork of BurntSushi's xsv, but has been nearly entirely rewritten at that point, to fit SciencesPo's médialab use-cases, rooted in web data collection and analysis geared towards social sciences (you might think CSV is outdated by now, but read our love letter to the format before judging too quickly). xan therefore goes beyond typical data manipulation and expose utilities related to lexicometry, graph theory and even scraping.
IIRC it was just deprecated in nixpkgs for this reason
Was just going to say, the fd,bat author reminds me of burntsushi (xsv, rg), in terms of the massive benefit they've added to the *nix command-line ecosystem.
Same Astral as `uv` makers? Geez, these guys are specializing on "making things go zoom-zoom"!
semi related: how does astral actually make money to pay the devs?
Astral is primarily funded by venture capital firms. The head honcho, Charlie, has mentioned a few times that he’d like to develop and sell services that integrate well with Astral’s open-source tools. However, nothing concrete has been established or announced yet.
Man should write a tutorial on writing good utility software. Or teach even.
According to his website, he has:
https://shark.fish/rustlab2019
I would not call that a tutorial on how to write good utility software. It's a quite specific description of how sub(1) was written, and it contains some useful lessons, but not many that would apply to the broad class of "utility software". I think.
ah well, he pwned me i just wasn't aware of it :)
https://github.com/sharkdp
in complete agreement, with tools like fd getting more visibility!
we sponsored fd's development a while back and we occasionally sponsor terminal tool authors from time to time at Terminal Trove where we have more tools in the trove. (0)
we're currently sponsoring zellij which I encourage you to check out and sponsor! (1)
https://terminaltrove.com/ (0)
https://github.com/zellij-org/zellij (1)
Hard agree about zellij. I used screen, then tmux, for years. Zellij feels "right" for me in a way those never quite did. It's brilliant.
What differences between Zellij and tmux do you see as game changers?
It's like so many other projects we're talking about here: it has sane defaults. If you start Zellij for the first time, it shows you menus to do all the things you might want. A big plus is that it supports mouse scrolling by default, and the scrolling works 100% of the time as far as I can tell.
I don't know if it can do everything that tmux or screen can do. I bet it probably can't. But it does all the things I want such a thing to do, and without needing any configuration on my part.
Interesting. When I tried Zellij I found that the menus were too much in my face, compared to tmux/screen more minimal design. I see how this is a good thing when you start using it but I wonder if it gets tiring in the long run, in a clippy sort of way.
But yes it makes sense that this feature makes it superior to tmux for some users. A good case for having diversity in software.
I could see that. I use Emacs with all the toolbars etc turned off. I get it.
I’m not a hardcore tmux user. I just like having persistent sessions on remote machines and bouncing between tabs, things like that. When I want to do something beyond that, with tmux I’d have to RTFM each time. In Zellij, the menu bar lets me discover it easily.
Bottom line: you’re right. I’m glad they both exist!
Never knew about Terminal Trove.looks like an awesome place that collects a lot of useful terminal tools. This website must be a separate HN posting.
Only default of Zellij I can't stand is ctrl-q exits the whole instance
I'm glad you identified the author -- I'm a big fd and bat fan but didn't know they were created by the same person. I'll have to check out his other tools.
You should also check out numbat. It's insanely good.
Link for anyone interested: https://github.com/sharkdp
I wish there was an easy way to find people to sponsor whose repos I use (not depend on because every project I use multiplies the same dependencies) but there are tools I use daily that aren't dependencies in my project like wezterm or atuin.
Completely in line to put some money where my mind is regarding opensource (just sponsored framasoft from another thread).
Do keep in mind how much how trillonaire/billionaire companies sponsor the free software they use while doing so.
bat, fd, rg for me