29 comments

[ 5.6 ms ] story [ 66.1 ms ] thread
This looks great! Is there a CLI utility that uses the site to do the same, perhaps?
Some shells have this built in, like Fish and my own one ( https://murex.rocks ) too
Fish has it? Which one is it? I use fish but I didn't know that.
It’s on the front page: https://fishshell.com/

> Other shells support programmable completions, but only fish generates them automatically by parsing your installed man pages.

Fish isn’t the only one though. In fact I’m not even sure it was the first. But it’s definitely the most mainstream shell to support it.

Old url, but it is awesome, thanks for remembers it me.

Is there a cli (offline) alternative?

Imagine if a programming language had at least two compilation targets from the start: machine code/byte code and prose.
This is a really neat idea! I wonder how close you could get the prose to actually explaining the codes purpose as opposed to just saying "this is a for loop"?
The purpose (intent) wouldn’t be explained, but it could be useful for tools which have oddball syntax and are only used sometimes (infrequent enough for you to forget).
The Lucene search library has something like this. Data is stored /retrieved via codecs. Most write binary data, but one codec actually writes out all data as text. It is, of course, too slow for production use, but it is great for figuring out what is going on under the covers.

https://blog.mikemccandless.com/2010/10/lucenes-simpletext-c...

Every couple of months I need this and can’t remember it’s name! So good to come across this again. Now on I’ll go through my hn comments.
HN let's you add a favorite too
The service is pretty neat. It's probably parsing the man pages somehow to create this. I wonder if it would be possible to utilize this parsed information to create type checking tools for shell scripts... Something which checks if correct count of arguments is given for command etc.
> true(1)

Translates to

"Do nothing, successfuly"

This tickles my imposter syndrome

This is neat. Though when I ran a fairly simple ffmpeg command through here to try and make sense of it, it was only semi-useful. (Not a knock against this service, but just a testament to the complexity of ffmpeg lol)

> ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 2000k output.webm

https://explainshell.com/explain?cmd=+ffmpeg+-i+input.mp4+-c...

It doesn't seem to know what to do with combined flags in this case.

> (Not a knock against this service, but just a testament to the complexity of ffmpeg lol)

I found a modified a ffmpeg shell script no later than yesterday that finds all my movies files and generates one jpeg with 16 "tiles" thumbnails for each movie to try to make sense of the countless family "MOV40931.MOV" and whatnots and I've got to say: I agree with you.

My big moment of solitude was when I started to work on parallelizing my shell script only to realize that, of course, ffmpeg already makes good use of all the cores so there's no point in parallelizing the shell script.

> I found a modified a ffmpeg shell script no later than yesterday that finds all my movies files and generates one jpeg with 16 "tiles" thumbnails for each movie

I wrote a script called dovid I left on Pastebin that creates contact sheets (what you are describing) for every video file of any popular format in the directory executed and then combines them into a webpage or pdf. But it isn't an exceptional script because it just utilizes vcs[1] and convert (ImageMagick). At some point, I stopped using the script and just aliased this command (arbitrarily as 'peak') in my ~/.bash_profile

     alias peak='for i in *.mkv *.mpg *.wmv *.avi *.mov *.m4v *.mp4; do echo "$i"; /opt/local/bin/vcs -q -q -j -dt -ds -dp -u "0" -n 16 -c 4 -H 162 "$i"; done; echo ".......... converting jpgs to a pdf"; /opt/local/bin/convert *.jpg index.pdf; /bin/rm *.jpg'
Creates a pdf of contact sheets 4x4@162dpi, much neater than a directory filled with as many jpegs as videos. Obviously, this is dangerous and destructive if there are other jpeg files in that directory.

[1] http://p.outlyer.net/vcs (ffmpeg is a dependency)

Would you be willing to share that script, or the one you modified to make it?
Jetbrains IDEs provide a link to explainshell.com with the highlighted shell command. Have used it often. Very helpful.