
Can you use the terminal for everything? [video] - bane
https://www.youtube.com/watch?v=0-2Ja7T9YF8
======
clon
[https://neomutt.org/](https://neomutt.org/)

The guy is absolutely right. Mutt is not a gimmick like ascii video on
terminal.

It actually makes a lot of sense as an email client and is surprisingly
ergonomic. I also enjoy the fact that my config is a normal dotfile that I can
version control etc. Also, your passwords can be encrypted using the tools
that you choose, as opposed to whatever home grown crypto (if any) the [insert
random Electron email client] uses. Some ways are outlined here:

[https://www.mail-archive.com/mutt-
users@mutt.org/msg36375.ht...](https://www.mail-archive.com/mutt-
users@mutt.org/msg36375.html)

~~~
rsync
"The guy is absolutely right. Mutt is not a gimmick like ascii video on
terminal."

I personally use (al)pine and I could not agree more.

But here is a different, and I hope very provocative, reason that you should
consider a terminal email client:

Local mail delivery does not traverse the Internet, or any network.

So, for instance, when I send an email to one of my engineers at rsync.net,
even though it is sent in plaintext, it is a private communication and cannot
be intercepted by either an ISP or some global observer. It's nothing but a
local file operation between two mailspools...

Further, it would be extremely difficult to phish someone who is viewing their
email in the terminal. The effort that it takes to view and copy a URL is
greater than the discernment required to identify it as suspicious - so you'll
catch them every time.

~~~
sitkack
Is Alpine still getting security updates? UW doesn't maintain it anymore, like
at all. It exists as git repo out in the ether [1]

I'd probably run it in a non-privileged container.

Infact, I should be doing that for Mutt ...

[1] [http://repo.or.cz/alpine.git](http://repo.or.cz/alpine.git)

~~~
rsync
"I'd probably run it in a non-privileged container."

Does mutt talk to the network or have a daemon or run as a service ? I don't
know the answer to that but I know that for my own use-case, pine is basically
a text editor. It executes no programs or code and does not talk to anything
but the local SMTP daemon.

How much sanity checking and bounds checking does sendmail (or postfix or
whatever) do on email ? That's the question, I think, because again, in my
case, the threat vector is _very limited_ \- basically an arbitrary (weird)
email or piece of an email that somehow breaks pine.

So no, I don't run it in a container - in fact, I run it as the user whose
mail spool is the highest sensitivity asset that user owns ... so a container
wouldn't help. If you get the mail spool, you get everything - at least or
that user...

~~~
sitkack
When I used Alpine, it was talking to IMAP and definitely segfaulted a couple
times. But an RCE in Alpine != RCE in Postfix (great architecture). I dunno
MUAs are so personal, they feel like a perfect place to target and handle more
edge cases than upstream processes.

------
gumby
Seems like the kinds of people who'd make/watch a video rather than read/write
about the topic are not likely to be able to answer "yes".

Is there a transcript? Or is the summary "no"?

~~~
pq0ak2nnd
IMHO The 20+ years spent trying to make a desktop version of linux has
SEVERELY reduced overall knowledge of unix practices and patterns. I'm not
just talking about things like automake or the contents in /bin that younger
programmers never learn, but the CLI in general. A while back I was working
with an intern who as struggling with using distributed linux boxes because
all he knew was Gnome: the CLI was utterly foreign to him. So I find it
upsetting that this "article" would even be necessary.

~~~
amelius
But if you had to do something _now_ on some alien OS that you didn't know the
internals of, wouldn't you prefer a GUI?

~~~
nothrabannosir
Contrary to everyone else here: hell yes, every single time.

GUIs are discoverable, and have lower friction for first time users. Example :
a video codec GUI will always be easier to use than ffmpeg. I still Google how
to use ffmpeg after 10years , and I have to read the entire man page because I
don’t know _what I don’t know_! Is there a newer, better option to this flag
available? Like lame for mp3s (another great example), a man page which (used
to?) start off with bitrate options, but at the end says; forget all that,
just use --preset. Or imagemagick, which decides to go for undiscoverability
gold and split their entire program up over multiple binaries so you now get
to read multiple man pages! After you guess what the names of those programs
are, of course.

Hell. Give me a gui for any unfamiliar task, any time.

Of course, were I encodig movies every day, I’d be singing a very different
tune.

Edit: another example: I resize images about once a week and I still have to
google imagemagick’s convert. I keep forgetting how to resize to known width,
keeping height ratio. It’s so frustrating that I’ve just given up and sort of
guess with % instead, until it’s close enough. Not to mention resizing to a
desired file size (is that even possible? With a gui, at least I’d know if it
were at all. Now I’m just tired of reading the man page. I give up.
Imagemagick wins.)

~~~
rdc12
That is more a product of complexity thou.

The other day I was doing some basic data collection and graphing, with the
initial version being done in Excel, for something as basic as adding a
trendline I had to resort to googling the answer, and following a sequence of
several click this, then click this style to get what I needed.

Turns out it was actually easier to understand how to do what I needed using
python matplotlib (not a CLI program granted).

Design, documentation and managing complexity are far more important to
discoverability than GUI vs CLI.

------
Keyframe
Samba gave me flashback to last week where I had an external drive on my
Fedora workstation which I wanted to share with my network... external drive
was NTFS. Many hours later, and an setenforce 0 it showed up, but no permanent
solution.

That's the usability of common things in everything not major desktop/user OS,
and always has been. OTOH, when I'm programming, I would NEVER give up the
comfort of GNU stuff. It's just so convenient. Even the editors. Yes, VS Code
is great, but oh man - in vim I have a persistent undo with branching, among
many many other things.

It's actually amazing how, on the one hand, you have this advanced system for
complicated stuff geared towards awesome usability and on the other hand it
trips over itself on mundane things which keep it away from the year of Linux
(GNU more like it) on desktop.

~~~
digi_owl
Samba is a "mess" because anything Microsoft is a mess to be compatible with
if you are not MS.

That said, sharing files across networks is a hell all its own. In particular
if you want something to just automagically appear in some GUI across the
office/world/whatever.

Only "reliable" ones are those that require the user at the other end to know
what address to enter to get access.

------
millette
/me procedes to launch "youtube-dl -f22
[https://www.youtube.com/watch?v=0-2Ja7T9YF8"](https://www.youtube.com/watch?v=0-2Ja7T9YF8")

~~~
c487bd62
[https://mpv.io/](https://mpv.io/)

~~~
teddyh
AFAIK, mpv calls youtube-dl internally.

~~~
c487bd62
Yes but it's easier for when you just want to open a link to watch. You get
subtitles, audio channels, can skip to the part you want, without downloading
the entire video. I think it's DASH but more options are available, it works
for Twitch and many other sites (thanks to youtube-dl I guess). With a browser
extension you can click on links and open mpv directly.

------
busfahrer
I think there's a version of elinks (or one of the other text based browsers)
that can display images if you are running on a framebuffer console

~~~
gnulinux
Not only that but there are tons of image viewer, video viewer, pdf viewer etc
application for framebuffer (for linux). But this begs the question whether
framebuffer can be considered "terminal". Also, to me it's still perfectly
"terminal", if you use X and run a terminal emulator and live inside it unless
you need to see a image, video or pdf. To me, the answer to this question is
"yes".

~~~
copperx
The only problem with the framebuffer is that it adds a perceptible delay vs
using a "raw" TTY. It's a small delay, perhaps a few ms, and I guess most
people can't notice it, but it can be distracting if you live on the terminal.

You can actually see it if you cat a big file to the screen.

------
hjek
> Spreadsheets in the terminal: Totally doable.

I disagree. I find vim, mutt and pandoc superior to LO Writer and Thundrbird
for text editing and emailing, but sc is just nowhere near LO Calc or even
Gnumeric.

I really wish someone would make a text user interface for Gnumeric.

~~~
kqr
Have you tried Org mode tables? They have some spreadsheet functionality, but
I'm not sure how big the overlap is.

~~~
hjek
Ok, that[0] does actually look pretty impressive. It can evaluate elisp
formulas! Way more advanced that sc.

However, the sad state state of the world is that _other people_ use Word and
Excel to edit documents. I wish there was a program that would do to Excel
spreadsheets what Pandoc does to Word documents: Letting you edit them in the
terminal and allowing you to pass them off to _other people_ in the formats
they prefer.

Those _other people_ would hate me if I sent them Emacs Org mode spreadsheets
to work on.

[0]: [http://orgmode.org/manual/The-spreadsheet.html#The-
spreadshe...](http://orgmode.org/manual/The-spreadsheet.html#The-spreadsheet)

------
skadamat
Related to this, Omar Rizwan did a great talk recently on file system
interfaces:

[https://www.youtube.com/watch?v=pfHpDDXJQVg](https://www.youtube.com/watch?v=pfHpDDXJQVg)
(Four Fake File Systems)

------
Snortibartfast
I used Alpine as my main email client for a while. I really like it, but I had
problems with Fastmail's LDAP-addressbook. And if I remember correctly I
couldn't use Office365's addressbook either.

Another problem was integrating Alpine with calendars (at least O365).

khal (with vdirsyncer) is a nice calendar app. I haven't got it working
perfectly with Office635 yet though; I use a read-only url to the calendar, so
I can at least see it, but cannot edit it. The Fastmail calendar works.

~~~
kxyvr
My solution has been to use the Fastmail website to accept calendar invites,
but use khal and vdirsyncer to manager the majority of my calendar. As far as
contacts, I believe Fastmail can import and export to vCard, which can be
managed locally with khard and vdirsyncer as well. I use khard directly with
mutt to access email contacts and I've been happy with it.

------
tomcooks
Having wasted my childhood lurking the (unfortunately stale) KMandla's
precious blogposts [0] to find new ways to squeeze functionality out of my
EeePC701, I did not really find this video particularly interesting.

Maybe i'm not the target audience.

[0]([https://kmandla.wordpress.com/2010/10/19/howto-switch-to-
a-c...](https://kmandla.wordpress.com/2010/10/19/howto-switch-to-a-console-
lifestyle/))

------
nisc
Will the terminal ever disappear?

I would assume that the percentage of computer users who do significant work
in a terminal (email, IRC, coding, etc.) is still decreasing steadily today.
What I'm not sure about, how does this decline in penetration compare to the
(still real) growth in the worldwide computer user base?

Seems that at least the Internet user base is still growing ~10% p.a. What
does this mean for absolute terminal user numbers? I would guess they peaked
already a decade ago, with people switching to / starting out with smartphones
and tablets instead of notebooks/desktops.

I can also see a world in which a highly disruptive technology (e.g., brain-
computer interfaces) would make the terminal redundant once and forever,
assuming that the new technology was more efficient/productive than a
terminal.

~~~
pfranz
Maybe I'm a bit biased by my love for the terminal for most of my work
responsibilities--I just can't imagine doing my job without it. Maybe I'm old
and things from 10-20 years ago seem recent. Apple deciding to stick a
terminal in OSX 20 years ago (a lot of people didn't expect them to include
one) helped with the boom of Silicon Valley engineers choosing Apple laptops.
PowerShell, first released only 10 years ago by Microsoft with major versions
being released every couple years, shows they feel there's a need for
investing in Terminals. Windows Subsystem for Linux was first released 2 years
ago. While it's technically just compatibility with Linux binaries, I've only
seen it being used via a terminal.

You're right, with more and more computer users added every day, as a
percentage command line users have probably been shrinking for a long time.
But I would also expect in raw numbers they're probably still growing.

------
vex3d
I really like using the terminal when it makes my workflow faster, using git
etc. But checking email and YouTube? No thanks.

------
purplezooey
You know, there's even a text mode display manager for X. I forget the name,
but it's on GitHub.

~~~
agumonkey
lovely

------
amanzi
How can I watch this YouTube video using just my terminal?

~~~
merraksh
This will display the video as ASCII art:

    
    
      vlc -V aa <youtube link>
    

For color ASCII he suggests

    
    
      vlc -v caca <youtube link>

~~~
glandium
Ironically, displaying that video with this method will make it unreadable.

~~~
sitkack
Well, the OP should have posted it as
[https://asciinema.org/](https://asciinema.org/)

------
trumped
you probably can make a whole virtual OS running on top of terminal

~~~
fasafsaf3
Yes, it was called Windows 95

~~~
trumped
lol, true. probably 3.11 too....

------
rustcharm
I used to use a terminal for everything! And it was a big step forward over
punch cards. I remember using my first VT-100 in college, after having taken
CS-101 to learn IBM 370 (BAL) assembly language on punched cards. And up until
1988 or so, we were using text terminals for everything, until I got a job at
Adobe and started using a Sun workstation. Even then, the windowing
environment was used mainly to open terminal windows.

