A dictionary? I mean, that's neat and all, but not all that useful is it? I might check the weather once a day, tops. This is better solved by having a widget on my smartphone. Same for the dictionary, and same for short google searches too (Firefox Focus).
I had a twinge of hope that this might have been more of an introduction to using the terminal effectively on Linux for diagnoses.
I'm new to Linux, and every time I have an issue and find a thread addressing it, they ask for me to run a whole bunch of commands and paste a bunch of logs. I'm happy to do that, don't get me wrong, but I rarely have the faintest idea of what it is that I'm typing in.
I love finding good command line replacements for UIs. One I've grown to rely on a lot these days is awslogs:
https://github.com/jorgebastida/awslogs
Which allows you to stream Cloudwatch logs via a command like:
awslogs get <log group name> ALL --watch
which is cool because you can just specify the log group and get all streams without having to dig around for the specific stream in the AWS console.There's a python based command line HN client (https://github.com/donnemartin/haxor-news) that's nice, although I think the dependencies need updating (I get various conflicts if I try to install other packages in the same venv).
For twitter, rainbowstream is nice:
I love my dependence on the GUI, otherwise would still be stuck using MS-DOS.
Work in progress, but sixel support may be coming to mainline tmux:
git clone git://github.com/tmux/tmux
git switch sixel
git checkout b1904c9b8db514133d3372aac13b2ff0b2093cc3
This will give you the "placeholder" box for sixels in terminals that do not support sixel (but you should use mlterm on Linux or mintty on Windows)
The upcoming feature is to replace this placeholder box by unicode art for the sixels, cf https://github.com/tmux/tmux/issues/1613 for the current discussion.
Then you will be able to break your dependency on the GUI just by using w3m and your favorites sites, whether your terminal supports sixel or not (but it should, it's just better!)
apt-get install libsixel1-bin
w3m -sixel -o display_image=1 google.com
Cf https://apple.stackexchange.com/questions/244930/how-do-i-vi...
There are other apps with integrated sixel support like mikkuter for twitter, gnuplot (there was https://github.com/csdvrx/sixel-gnuplot , but now the sixel backend is compiled by default in the official gnuplot-nox starting from debian-10)
At the moment, I'm working on a mutt hack rendering outlook emails with all their included thingies (images etc) into sixels.
If someone is looking for an idea, it'd be great to have a IRC client that replaces URL containing pictures by their sixels renditions, a bit like what lsix does ( https://github.com/hackerb9/lsix )
I'm a little late to the party, but something I've come realize recently is that my affection towards CLI applications comes from the fact that I usually don't have to take my hands off the keyboard.
Human hands can move very fast, faster than we can assemble cogent thoughts thanks to muscle memory (and other things that I'm sure I'm not aware of). I don't know if this is a universal thing, but I like it when I don't have to think about how to get something done. I consciously picture the end goal in my mind, and my hands just do.
Of course, I'm a sloppy typist, and still relatively unrehearsed when it comes to working with Vim and friends. But I've been most of the standard GNU applications long enough to realize that my brain no longer directs my hands to interact with the keyboard for frequent simple tasks (generate a line plot for this two column CSV, use awk to get the penultimate column of this file, hash files in a directory to remove duplicates, open HN in a browser...).
I'm also a big sucker for working with programs that compose well with other programs. If I had all the time and money in the world, I'd love to have more GUI apps that explored GUI/CLI interop better. I think one example many developers can comment on is how nice it is when you can combine CLI git commands with git in your code editor. Sometimes, it's just easier to resolve ugly merge conflicts with a GUI. Or there's a really weird command that doesn't exist in your GUI so you need to type it out on the commandline.
There's definitely a lot more work to be done in this domain and I'm excited to see how software/OS/library developers explore this in years to come.
I like awk as a calculator:
calc () { awk "BEGIN { print "$*" }" }
$ calc "2^16"
65536
$ calc "2*16"
32
$ calc "2+16"
18
I never tried googler, but I have used lynx before. Far from a productivity boost, all it really did was help me look busy to the untrained eye while reading HN.
You can use this CLI to plan you haircut by browsing queue times for Cutters hair salons:
https://github.com/draperunner/cutters
Which enables you to run:
$ npx cutters | grep Oslo | head -3
to get queue times in Oslo. Made by a colleague of mine.If you use Haskell, then I'd recommend just using ghci over bc because you can't do floating point stuff in bc:
1/3
0
Whereas ghci, or your language's REPL, will likely do better: > 1/3
0.3333333333333333
Lots of people in this thread are recommending blogs, videos or books to get to know the command line or just tell to RTFM.
I'd like to note that no manual at all is needed to understand a basic menu structure or a GUI system with consistently used widgets.
Does anyone know of a similar tool to the weather api wttr.in for stock prices?
This is really cool. Has anyone made a version for Windows?
awful scroll-jacking on this site. I really hate that.
It's funny how condescending some will try to be about use of the command line, as if it's something special.
You can quickly invert this to read as: GUI configurations to break your dependence on the command line.
In moment's thought, it becomes very obvious that a GUI can readily conceal complexity and require earned skill in the same way any text mode interface might. Text command skills also evaporate just as quickly when you realize you were just locked into preferences specific to the system they bind to.
The command line is not better than other ways of completing tasks. When Linux (and each and every last variant) dies (however long that may take), it will become all too obvious that the essential commands people memorized were only useful within the scope of that particular operating system
This article is awful. You're not going to "break your dependence on the GUI" by replacing 5 things you do a few times a day with obscure, less good CLI alternatives. What about things like manipulating files and running programs? Aren't they the things people do with computers?
Also, bc is especially terrible. Nobody who is already "dependent on the GUI" is going to want to know about scale= and all that. Better to use Python or even bash (echo $((123+456)) etc)