423 lines
39 KiB
Plaintext
423 lines
39 KiB
Plaintext
|
|
Episode: 3431
|
||
|
|
Title: HPR3431: Living in the Terminal
|
||
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3431/hpr3431.mp3
|
||
|
|
Transcribed: 2025-10-24 23:18:13
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
This is Hacker Public Radio Episode 3431-4 Monday, the 27th of September 2021.
|
||
|
|
Tid's show is entitled, Living in the Terminal, and is part of the series' lightweight
|
||
|
|
upset is hosted by Black Colonel, and is about 46 minutes long, and carries an explicit flag.
|
||
|
|
The summary is, Black Colonel shows you some programs you'll need for living life without exorg.
|
||
|
|
This episode of HPR is brought to you by Ananasthost.com.
|
||
|
|
Get 15% discount on all shared hosting with the offer code HPR15. That's HPR15.
|
||
|
|
Better web hosting that's honest and fair at Ananasthost.com.
|
||
|
|
Hello and welcome to Hacker Public Radio. My name is Black Colonel, and today I'm going to be talking about
|
||
|
|
this would probably eventually come up in my technology, my journey through technology series,
|
||
|
|
but I decided that after talking to some guy on the internet that it might be a good idea to
|
||
|
|
have this be its own video just about the applications that I used during this time. So it happened
|
||
|
|
was that there was a time where I was trying to install Arch Linux, and it was going okay,
|
||
|
|
but whenever I tried to use the graphical settings because I didn't really know a lot at the time
|
||
|
|
about the way that X actually worked on your system with the X authority file and lock files and
|
||
|
|
all of this other nonsense quite frankly. So I didn't really know how to fix it when it wouldn't
|
||
|
|
actually load the graphical user interface. So I decided, you know what, I'm just going to use
|
||
|
|
the terminal for until I get to a point where I can't use the terminal anymore, and it took
|
||
|
|
a couple of years because I used the terminal for a couple of years and nothing else.
|
||
|
|
I'm going to I'm going to go over today the applications that I used as well as some of the
|
||
|
|
BasharC stuff that I have. I'm going to start out with the BasharC stuff. So the first thing I want to
|
||
|
|
go over is the environment variables that I use. So all of these environment variables are in the
|
||
|
|
form export, and then the name of the variable in all caps, and then an equal sign without. So
|
||
|
|
sorry, it's export all lowercase, and then a space, and then whatever the variable is in all caps,
|
||
|
|
and then an equal sign, and then the value. So no space between the equal sign, and either the
|
||
|
|
variable name or the value. So the environment variables that I have set are for my editor,
|
||
|
|
my pager, my browser, and then also for my directories, for my xdg, that's x-ray delta
|
||
|
|
gulf data home, and my xdg config home. Those are standards set up by the free desktop.org
|
||
|
|
people that basically just allow for all of your programs to know where to send stuff and to
|
||
|
|
keep all of your stuff well organized. The editor that I use is NeoVim. NeoVim is a
|
||
|
|
successor to Vim, which is a successor to 6, which is the standard text editor on Unix.
|
||
|
|
I've heard a lot of people call it like Vi or Vi, but it's, I'm pretty sure it's pronounced 6,
|
||
|
|
sort of like how Mac OS 10 is pronounced, Mac OS 10, because it's the Roman numerals Vi.
|
||
|
|
Anyway, then the pager that I use is most, which Clatsu actually is the one that sort of told me
|
||
|
|
about that one during his going through the Slackware package series. I just like the functionality
|
||
|
|
that it gives me, because if I'm going to be using a terminal, I would like to have things
|
||
|
|
at least somewhat color coded for some kind of visual reference. I mean, I can read everything
|
||
|
|
on the same color text, but it just makes it a little bit more differentiated when I have those
|
||
|
|
sort of color cues. And the browser that I'm using is links. Now, that's links Lima Yankee,
|
||
|
|
November X-ray, not links Lima, India, November, Kilo, Sierra. I just like this version,
|
||
|
|
the Yankee, November X-ray version, because I've just found it works a little bit better for me.
|
||
|
|
It handles more, I mean, I don't actually know if it handles more protocols, I think it does.
|
||
|
|
I don't know if I don't know if Lima, India, November, Kilo, Sierra, I don't know if that handles
|
||
|
|
go for links or FTP links. I could be wrong about that, but there was something about it that
|
||
|
|
it just seemed less feature rich than Lima Yankee, November X-ray. I could be wrong about that,
|
||
|
|
but that's the one that I've used. And then I have my SDG data home and my SDG config home set to
|
||
|
|
their standard values, which is the home directory. And then in the case of the data home,
|
||
|
|
that's slash.local slash share. And then in case of the config home, it's home directory slash.config.
|
||
|
|
And those are the ones that are sort of set up by standard for by the free desktop.org people.
|
||
|
|
Next, I have my PS1 environment variable, which is my bash prompt, sort of the thing you get in
|
||
|
|
the terminal where you start typing things and everything before the command you start typing in.
|
||
|
|
I know that some people like to have it be like only a single character and then some people like to
|
||
|
|
have it be like incredibly long with a return line at the end of it and then starting it on the
|
||
|
|
second line. And both of those just seem, well, honestly, the second one seems more insane to me.
|
||
|
|
I can use a terminal where I just have a single character. And if I need to find out what director
|
||
|
|
I'm in, I just type PWD or if you need to find out who I am, I can type out who am I and it'll give you
|
||
|
|
your username, I can use hostname to find out what hostname is. It's not. And then I can use get
|
||
|
|
status to see if I'm going to get a repository or all that. It's not difficult to figure out, but I don't
|
||
|
|
really have a problem with like I would rather have the information at my fingertips and have that sort
|
||
|
|
instant differentiation rather than having to type in more commands. In addition to I don't really
|
||
|
|
get bothered by having to wrap my bash commands very much. And if I do hit the end of a line,
|
||
|
|
and I want to sort of visually differentiate it, I can always use a backslash return, which will allow
|
||
|
|
me to continue a command on the next line, even in the bash prompt. I know that some guy on the
|
||
|
|
internet was talking about doing that on in a script, but you can also do that just in the command
|
||
|
|
line and it'll work as well. So anyway, my prompt is I have my username and I have it set to blue,
|
||
|
|
if it's a regular user and red, if it's root, till once again give that kind of visual
|
||
|
|
differentiation. Then I have the at symbol, then I have the hostname in green. I don't know why I
|
||
|
|
really decided on green. I saw it on some other system and I just really liked the way that it
|
||
|
|
looked as far as the differentiation goes. And then I have a colon, and then I have my working directory,
|
||
|
|
whatever directory I'm currently in. And then I have whether or not I'm in a git branch.
|
||
|
|
So it'll say, and what git branch I'm in. So right now I'm working on my waste paper basket,
|
||
|
|
which is a command line trash application written in Rust. And I need to make sure, because I'm not
|
||
|
|
really a power user of git or anything, I've really just started using it in earnest.
|
||
|
|
So I want to know if I'm on the dev branch or the master branch, or if I need to, like,
|
||
|
|
where I actually am in my git repo. And that's useful for me because I may or may not have tried
|
||
|
|
to merge master into dev. And I'm just glad that it didn't work the way I was typing it out,
|
||
|
|
because that would have been a pain in the butt to fix. Anyway, if I'm root, I also have it set to,
|
||
|
|
well, after the git branch, I have it set to for a normal user, it's the dollar sign. And for root,
|
||
|
|
it is the hash hash symbol, which I know that there's some people that say that it recently got
|
||
|
|
called a hash tag, and that's like a new development. But ever since, like, see the
|
||
|
|
octathorp, which is sort of the most general name for that, was used for hash tables,
|
||
|
|
which is like the Python equivalent of a dictionary, where it's a key value pair. So hash tag came
|
||
|
|
out, like it was called that because of the symbols already used for the hash table. And it was a tag
|
||
|
|
that started with the hash symbol. So that's how that whole thing came out. Sorry, that's just a pet
|
||
|
|
peep of mine where people don't know the history of things. So after all of that, I have a couple
|
||
|
|
of aliases. I only have two really. One of them is aliasing them to NeoVim or NVim, which is the
|
||
|
|
command. And I alias play to MPV because I do have socks installed, which will play would normally
|
||
|
|
go to, but I would rather type play and then an audio file and have it play through MPV, which
|
||
|
|
I'll get into what that is because it's one of the applications on this list than going through
|
||
|
|
socks. So first thing that I want to talk about as far as the applications go is what I use to
|
||
|
|
sort of, I guess would be sort of called a window manager type of thing. It's very similar to a
|
||
|
|
tyling window manager, except for there is no accession. There are no graphical anything.
|
||
|
|
It's tmux, which is the terminal multiplexer. It's pretty easy to use, and let's you actually
|
||
|
|
use it on a TTY, which is not with an accession running, which is useful for this whole thing.
|
||
|
|
Also, let's you use it in the SSH session and a couple of other things which are very useful
|
||
|
|
as far as that's concerned. You can also get multiple workspaces on your TTY for free by using
|
||
|
|
the control alt f keys in order to switch between the various workspaces and you can count something
|
||
|
|
running in one while you switch to another and it'll keep playing. Like if you have, I'll get into
|
||
|
|
a little bit later how I watch your video on the terminal and how I look at pictures on the
|
||
|
|
terminal. And if you have a video open in one of your TTYs, I haven't tried it recently and I
|
||
|
|
remember there was some kind of a little bit of an issue with it, but you can switch to a different
|
||
|
|
TTY and do more typing things while you have a video playing in a different TTY. And I think the
|
||
|
|
audio still works. I should test that really quickly, but I'm not going to. So I'll test it
|
||
|
|
after I record this and if there isn't a problem, if there isn't a problem then I won't say anything
|
||
|
|
and if there is a problem, I'll leave a note in the show notes saying what happened and what the
|
||
|
|
problem is. So you also can get a lot of the benefits that you get from TTY when a man tree can
|
||
|
|
move around to different pains. You can have all of these things open. So if you don't know basically
|
||
|
|
what the terminal multiplexer does is you have your regular terminal screen and then at the bottom
|
||
|
|
you have a sort of taskbar. It has your date and end time as well as your prompt and all of that
|
||
|
|
kind of stuff as well as what program you have currently running in your current pain. You can
|
||
|
|
press control B and then the arrow keys to switch between pains and you can use control B is sort
|
||
|
|
of going into command mode and then you can use the arrow keys to switch between pains. You can
|
||
|
|
use the braces, the curly braces to switch around where the pains are to control B and then
|
||
|
|
left curly brace will sort of rotate all of your stuff around a little bit and get that back
|
||
|
|
to where it was. And there's a bunch of other stuff. You can also do multiple windows so you can
|
||
|
|
actually have multiple workspaces on the same TTY going through different windows and tmux and
|
||
|
|
it's very very feature which I'm going to put links to all of these programs is all of their
|
||
|
|
home pages in the show notes below. But I just kind of want to give you a basic because I have a
|
||
|
|
lot of them to go through. I want to give you kind of a basic overview of what the actual program
|
||
|
|
is. So that's basically how it works and it lets you run multiple terminals all on the same
|
||
|
|
screen. Kind of in the similar ways you would with a tiling window manager or a regular window manager
|
||
|
|
where you'd have multiple windows open where you might have Firefox or GIMP or whatever open
|
||
|
|
whereas in this case you'd have links and you'd have I mean I suppose you could edit photos if
|
||
|
|
you have them in bitmap format you could edit them in VIM but I don't want to think about that
|
||
|
|
too much because that sounds horrible. Anyway you can also set up a little part of your Bashar
|
||
|
|
C which is if open square bracket tech tango which is hyphen tango zero closed square bracket
|
||
|
|
ampersand ampersand double open square bracket hyphen zulu dollar sign all caps tango mic uniform
|
||
|
|
x-ray double closing square bracket ampersand ampersand double opening square bracket dollar sign
|
||
|
|
hyphen equals asterisk india asterisk double closing square bracket semicolon then exec tmux exec
|
||
|
|
is echo x-ray echo charlie tmux tango mic uniform x-ray semicolon five f i fox chart india
|
||
|
|
and what that whole thing will do and once again that will be in the show notes what that whole
|
||
|
|
thing will do is that it's going to test if you are in a like a valid terminal like not a log
|
||
|
|
in terminal well I mean I guess the dollar sign hyphen equals asterisk india asterisk that tests if
|
||
|
|
you're in an interactive terminal as opposed to a log in terminal so it's not going to log you
|
||
|
|
out when you close tmux but what this basically will do is that when you start a terminal session
|
||
|
|
be it in your terminal emulator or in a TTY then it will start tmux automatically and when you
|
||
|
|
close when you exit out of tmux it will also exit out of your terminal session so it'll kind of
|
||
|
|
it matches up your tmux and your terminal so it makes it so that it's really easy to keep track of
|
||
|
|
it so you're never stuck in a terminal without tmux because it's very useful I didn't even mention like
|
||
|
|
one of the main things tmux is used for which is that you can detach sessions from tmux so if you're
|
||
|
|
logged into a necessary server for example then you can start your Damon or whatever and have it
|
||
|
|
hang in that terminal and then you can just detach that terminal and you can still use your that
|
||
|
|
server and have that demon running and then if you ever wanted to reattach in order to view logs or
|
||
|
|
if you want to re-interact with that thing then you can reattach that tmux session to your terminal
|
||
|
|
and it really is a very nice system for handling multiple terminal sessions and this allows you
|
||
|
|
to never be stuck in a situation where you logged into the SSH server or you logged into your computer
|
||
|
|
and you are starting a Damon and something and you think oh man I want to I'm going to just detach
|
||
|
|
this tmux session wait I forgot to run tmux before I started this Damon and now you're stuck
|
||
|
|
and you're very sad but that's that's one of the things that you could do to do that so the next
|
||
|
|
thing I'm going to talk about is CMuse which is one of my favorite programs it is the CMuse
|
||
|
|
player it is a little encursive application so it's getting more and more difficult to explain to
|
||
|
|
a new user what encursive is if you're familiar with DOS it's kind of like the graphical
|
||
|
|
like the interfaces you would have with a DOS application the one that is screaming in my mind is
|
||
|
|
word perfect but I I don't think anybody knows what word perfect is anymore and I it makes me kind
|
||
|
|
of sad and kind of happy all at the same time but essentially what it is is it's a way of drawing
|
||
|
|
graphics on the screen using I mean essentially it's ASCII text is what it is really
|
||
|
|
uh you could just how do I even explain um it's end curses that's what it is if you use the
|
||
|
|
slackware install manager if you use the Debian installer Debian seller uses end curses the it's
|
||
|
|
basically what you can have as a graphically user interface if you use something like
|
||
|
|
midnight commander which I don't know why you would use midnight command I mean I guess I do
|
||
|
|
know why you would use midnight commander but I never used it like I would just use two teamux
|
||
|
|
windows and then copy files around that way midnight commander if you don't know is a file manager
|
||
|
|
in the terminal that uses this end curses interface anyway the point is is that CMUS uses this
|
||
|
|
end curses interface it's very easy to you bet you press one to go to your library press two to go
|
||
|
|
to the all of the cute songs like all of the songs that you have available three will trade your
|
||
|
|
playlists sorry uh one is your sort of artist album interface so it is an organized list of your
|
||
|
|
library two is like all of the files just thrown in your library three is your playlists four is your
|
||
|
|
play queue five is a um a file browser so you can use it to go to different files in order to add
|
||
|
|
them to your library uh six will show you your library filters where it'll actually be able to
|
||
|
|
show like if if a date tag is set on it where it's in the 1990s then it'll label it as 90s music
|
||
|
|
if you haven't played it it'll mark it as unheard all that kind of stuff uh and then seven is all
|
||
|
|
of the settings that you can set on CMUS and I think that's all of them yeah there's no nine or eight
|
||
|
|
even so if I go back to one then I can see all of the artists and uh albums that I have and it'll
|
||
|
|
start me off in the artist tab so I'm just going to go to fat chance lester so I have um the album
|
||
|
|
napalm lounge by fat chance lester I need to I got this one from klaxoo site from the archive and
|
||
|
|
it's the one hour just the entire album in one track and I need to either split that up or
|
||
|
|
just go and pay for it which I probably will um because I really cannot be bothered to split audio
|
||
|
|
right now or in the near future so that's basically out and if I go over to napalm lounge and then
|
||
|
|
I press well hold on I don't want to mess up my current setup right now so I'm going to press tab
|
||
|
|
again so now I'm back in the artist one if you press tab on fat chance lester it'll go into the
|
||
|
|
track view and it will show you your um it'll select it over on the song but right now I want to go
|
||
|
|
to if I click the number three and I go to playlist view and if I type in colon pl hyphen create
|
||
|
|
and then a space and then I'm going to call this uh hotel papa Romeo hpr then it'll create a new
|
||
|
|
playlist called hpr and then I'm going to go down on the playlist view so it's selecting hpr and then
|
||
|
|
I'm going to click space which will move the asterisk from default to hpr so now I have hpr
|
||
|
|
selected and I'm going to go to one which will go to my library view I have fat chance lester still
|
||
|
|
selected I'm going to click tab to select napalm lounge then I'm going to hit Y which will yank
|
||
|
|
napalm lounge or the track that's selected into the playlist that's selected with that asterisk
|
||
|
|
so if I click three then you'll see that fat chance lester napalm lounge is added to the hpr
|
||
|
|
playlist and then if I tap again then I can enter on the track or I can enter when I have the hpr
|
||
|
|
selected and it will play through either the track and then play through the whole playlist or we'll
|
||
|
|
play through the whole playlist from the beginning if I just select the playlist and that's basically
|
||
|
|
how that works and it'll play all of your music that you want to do I shock about how to add music
|
||
|
|
real quick though just going to delete that playlist which is capital D the way that you add music
|
||
|
|
is that if you're in I think any of you really but I'm going to do it in the in view number one
|
||
|
|
you type colon ADD and then you can type a path to wherever your music files are so like for
|
||
|
|
example my music is in till day slash music slash library and it has tab completion then if I
|
||
|
|
enter on that then it'll add all of the music that's in that directory or any of its sub-directories
|
||
|
|
it will add that straight into my library and then you can add create playlist the way that I said
|
||
|
|
you can add songs to playlist the way that I said yank them into playlists and all of that and then
|
||
|
|
play all of your music that's why and it's a very very nice music manager and I even use it on my
|
||
|
|
smart phone I have an android smart phone running termux which is a terminal emulator for android
|
||
|
|
and I actually use CMuse in termux to play my music just because I like the interface and the
|
||
|
|
the user interaction a lot better than most of the most of the most of the applications that I can
|
||
|
|
get for android to manage music because for example if I go to another band that I have a lot of
|
||
|
|
music for that if I if you have multiple albums it will lay them out very cleanly where it'll have
|
||
|
|
the name of the album and I'll tell you how long the album is it'll tell you all of the information
|
||
|
|
about the album will just be in a really clean list that's just so nice I mean I I realized that I
|
||
|
|
have a very particular aesthetic but that's the aesthetic that I like that's basically all you need
|
||
|
|
to know and probably more than you wanted to know about CMuse and that's it for for CMuse now I'm
|
||
|
|
going to talk about pictures I actually don't know if this is going to screw with my recording I don't
|
||
|
|
think it will I've never tried to record while I'm using using this one so the pictures anything
|
||
|
|
that's to with pictures or video is going to utilize something called the Linux frame buffer
|
||
|
|
you can do it in other ways I know there's a way of doing it poorly which is essentially
|
||
|
|
something called lib kaka is probably the best way to do it but it doesn't actually work on a TTY it
|
||
|
|
works in a virtual or like a terminal emulator pretty okay but why would you use it in a terminal
|
||
|
|
emulator if you have access to X I mean maybe this reason if there's a reason let me know I want to know
|
||
|
|
but I really wish that they would work on making those libraries a little bit better of displaying
|
||
|
|
text I can think of a couple of ways that I would that I might be able to do it but I do not have
|
||
|
|
time I'm already struggling to try to record each PR episodes I have so many in my backlog that I
|
||
|
|
need to get through and I just I don't have time to add another programming project on top of that
|
||
|
|
especially one is complicated as TTY based image manipulation which I I understand it well enough
|
||
|
|
to know how complicated that would be and I just don't have time anyway this is not what we're
|
||
|
|
talking about we're talking about a program called FIM which is FOX trot india mic which stands for
|
||
|
|
FBI improved which FBI is for frame buffer image I think but basically what this will do is that if
|
||
|
|
you just type in FIM FIA FOX trot india mic space and then the name of a of an image file so I'm
|
||
|
|
going to open up the cover of one of my albums that I have one of these it's like well I mean this
|
||
|
|
gives into one of the things that I wanted to talk about but it will actually require it requires
|
||
|
|
special privileges in order to use so what and I'm going to have to do this on the fly I guess so
|
||
|
|
what you have to do is you have to do pseudo or sue you need as root user mod and then the name of your
|
||
|
|
user and you want to add your user to so that's capital GA to add yourself to a group and the
|
||
|
|
group is going to be video I'm going to type in the passwords all right I think it's a lowercase
|
||
|
|
a capital G and then video yep that one is it type in groups I am now still not in the why am I
|
||
|
|
not in the video group I'm doing something wrong hold on that's right I it could be that the the
|
||
|
|
user needs to be the last argument that was not it do I need to re-log in all right well I can't
|
||
|
|
I'm pretty sure that I need to re-log in in order to actually have the groups sync but I'm recording
|
||
|
|
so I'm not going to do that so instead I'm just going to do it as a root because screw it so if I do
|
||
|
|
um that is root then it opens up the image which looks really terrible over the team much but if
|
||
|
|
you don't have team much running then it's fine uh and it looks like my audio is still good so that
|
||
|
|
did not in fact destroy my audio um but it'll basically it'll pop up the image in the Linux
|
||
|
|
frame buffer so even though you're in a terminal it will display the graphics over your terminal
|
||
|
|
really nicely like it's not ASCII text it's not any of that it's actually drawing the image
|
||
|
|
to the screen as a graphic which is nice a problem with it is that it takes up your entire screen
|
||
|
|
not just one of the team much pains which is annoying which is why I kind of wish that somebody
|
||
|
|
would write a better libkaka type thing that would actually it would actually work and show actual
|
||
|
|
video and not look terrible uh but that's besides the point um I said I'm actually going to talk
|
||
|
|
about is my video as well as um radio and uh single audio files so for music I generally use
|
||
|
|
um CMuse but for audio files like podcasts or audiobooks uh I use mpv is the name of the program
|
||
|
|
and the way that it works so you can type in mpv and then whatever you're going to
|
||
|
|
play as audio in there and then it'll just play it then you can use spacebar to pause you can
|
||
|
|
prosecute quit you can press p to pause or play as well it's very nice very very nice there's
|
||
|
|
other options as well it's like the reason I don't like socks is because it's very difficult to
|
||
|
|
pause it I know that there's a way of doing it but I don't remember what it is I should probably
|
||
|
|
mention that in CMuse pauses the letter c for some reason but that's what it is and then you
|
||
|
|
can press r to enable repeat mode and s to enable shuffle in CMuse but that's how we're talking
|
||
|
|
about mpv in an mpv you pause with spacebar or the letter p pop up um what you can also do is you
|
||
|
|
can also play videos and if you're on the terminal you can press you can do uh mic pop of victor
|
||
|
|
which is mpv then you can do hyphen victor oscar for video output and you can put equals and if you
|
||
|
|
wanted to do something like the lib kaka you can type in kaka which is charlie alpha charlie alpha
|
||
|
|
and then if you wanted to actually do it the good way you would type in DRM which stands for
|
||
|
|
direct direct read monitoring or something like that stands for direct something and it writes it
|
||
|
|
directly to the the frame buffer um which gives you actually good video or as good as your screen
|
||
|
|
will allow video as opposed to asky text that is any rough approximation of video which is what
|
||
|
|
lib kaka gives you which is impressive like it's it isn't anything to sneeze at and if you can
|
||
|
|
make the font size smaller excuse me and if you can make the font size smaller it's actually
|
||
|
|
pretty decent the problem is is that on the t ty it's very difficult to make your font size
|
||
|
|
smaller dynamically so i don't i just use DRM which does not stand for digital rights management
|
||
|
|
by the way it's not different DRM this is a good DRM uh you can use mpv to handle all of like like
|
||
|
|
radio files like pls files for soma fm as well as any web video links you have it'll it'll play
|
||
|
|
those through the the video output and all of that i think you need to have youtube dl in order to
|
||
|
|
to that in order to have that work but you can use pip install youtube dl in order to get that
|
||
|
|
i actually do not have that in my thing i only know that because it threw a hissy fit at me on my
|
||
|
|
phone when i was trying to play video through it so let me just update that in the show notes real
|
||
|
|
quick he choirs youtube dl for video i'm gonna grab the url for that when we talk about my browser
|
||
|
|
but for right now i also want to talk about my what i use for podcasts and rss so for podcasts
|
||
|
|
and rss i use a program called newsboat which has a podcast manager called podboat newsboat
|
||
|
|
i have nothing bad to say about it newsboat is um newsboat is a very good rss reader it has all
|
||
|
|
of your rss feeds delineated in a very similar way see mucin and then curse this type of interface
|
||
|
|
you can press control r sorry shift r capital r to reload all of your rss feeds you can enter
|
||
|
|
them with enter and you can you know do all that stuff read the articles that are in the rss
|
||
|
|
feed you can press o to open them in your browser if you have a browser set to the browser that
|
||
|
|
i'm going to talk about that it will open up in that and you can read it on the terminal as well
|
||
|
|
and if you are in a podcast you can press e and it will and q it into podboat which is a separate
|
||
|
|
command so you need to get out of newsboat and go into podboat and i'll have your q
|
||
|
|
and you press d on like delta lowercase delta on the podcast episode and it will download it
|
||
|
|
but be warned the default download is just the root of your home folders just till day
|
||
|
|
that's just where all your stuff goes but you can change that in the config file to be
|
||
|
|
actually sane and a good one and my point is that for articles newsboat is very very good
|
||
|
|
for podcast it requires a little bit of configuration and you set up an actually sane place to put
|
||
|
|
your your podcasts and then you set your player because by default it will not play them automatically
|
||
|
|
from within podboat but if you set it in your player to mpv space hyphen hyphen save hyphen position
|
||
|
|
hyphen on hyphen quit then when you quit the podcast it will save your position and you'll be able
|
||
|
|
to start it where you left off and you won't have to restart from the beginning it's very useful
|
||
|
|
for podcasts as well as audiobooks i really wish it had better integration with either itself
|
||
|
|
or with something like cmuse to allow you to make a playlist or all that that's another project
|
||
|
|
that i'm trying not to work on because i have too many projects so i want someone else to work
|
||
|
|
on one of these projects um the runner up that i have for this is podfox which i used a little bit
|
||
|
|
uses python which i think is the most most of the reason why i didn't use it just because i don't
|
||
|
|
really like using python applications personally i do anyway because i know youtube dl is a python
|
||
|
|
application but i i don't prefer it just on a moral level but podfox has some nice features like
|
||
|
|
it can be configured with json uh it has a better directory structure than podboat where it'll
|
||
|
|
store everything in a podcast directory that i will store each show in its own directory which
|
||
|
|
does make it easier to integrate with something like cmuse but it also has like it doesn't integrate
|
||
|
|
super well as far as having a playlist or having a play queue or any of this kind of stuff
|
||
|
|
it's i just want there to be a better terminal podcast app and if you know a better terminal
|
||
|
|
podcast app please please please let me know about it um so the next i'm going to go into what i
|
||
|
|
used for text essay i already mentioned this it's neo-vim which is the successor to them which is
|
||
|
|
the successor to the six text editor or as some people call it vi or vi but you know some people
|
||
|
|
also say macOS x and people get very mad when they say that anyway uh you can use this with along with
|
||
|
|
get x flavored markdowns that stuff like get lab or get t uh markdown flavors as well as pan
|
||
|
|
doc which uh you can use to uh translate a markdown file into pdf or t javu or uh actually i don't
|
||
|
|
think it does day javu so you can do it into a pdf you can do it into a excel excel or xml file
|
||
|
|
g's um or whatever queued into html all those kind of formats you can just use pan doc to handle all
|
||
|
|
those things and move them all around uh i i feel like org mode would be better if emax wasn't just
|
||
|
|
kind of i can't work with emax emax has it's too lucy goosey with how it handles text like the
|
||
|
|
number of times where i've had to undo like eight times because i accidentally rewrote my entire
|
||
|
|
file and sometimes i accidentally have saved over a file which i know is my problem because it's
|
||
|
|
like oh you should just i don't know be better at remembering the commands i guess i
|
||
|
|
is what i need to do or just tip i honestly i don't know what i could have done better
|
||
|
|
really i know that i should have if i knew that i had typed in a command incorrectly i should have
|
||
|
|
controlled g'd immediately to quit out of that command but it just it just seems very dangerous
|
||
|
|
to me to have that to play it so fast and loose with text files that's why i like them is because
|
||
|
|
it has a very very strict delineation between uh editing mode and command mode you cannot type
|
||
|
|
in command mode in vim which is very useful because when i'm typing commands i do not want those
|
||
|
|
to ever touch my file this is just my sort of soapbox on why i don't use emax i mean i'm sure if
|
||
|
|
if that's how your brain works i'm really glad happy for you because org mode is amazing
|
||
|
|
and i've seen how it can structure with everything and i wish i could use it but i can't use emax
|
||
|
|
because that's not how my brain works so i can't use org mode there are some things for like
|
||
|
|
vim org mode but they're not quite there yet and they rely on i mean python again
|
||
|
|
and i don't like using python i can't use it on my phone is one of the reasons where it's just
|
||
|
|
it doesn't it can't handle all of that abstraction on my phone and it's annoying um but yeah
|
||
|
|
so the next thing that i'm going to talk about is the what i use for my audio recording and i'm
|
||
|
|
using it actually right now for my audio recording and what i use is ffmpeg and the way that
|
||
|
|
i have it set up is i have a alias for recording which is alias space record equals quote ffmpeg space
|
||
|
|
hyphen f alsa hyphen channels space one space hyphen india space hotel whiskey colon one and
|
||
|
|
quote and the reason i know that is what it is because the uh hardware interface which is the
|
||
|
|
hotel whiskey number one is what my uh usb microphone is i use a mod an antline mod mic in order
|
||
|
|
to record and so that'll record it to so i can have been record raw.wav and it will start recording
|
||
|
|
from my microphone to raw.wav in addition to this i have three functions that i put in my
|
||
|
|
bash rc which i'm going to put in the show notes as scripts which um do a little bit of post
|
||
|
|
processing i have one called a trim which trims out all of the silence in the middle of the like
|
||
|
|
whenever there's a long period of silence in i think i would set to um 75 percent of a second
|
||
|
|
i guess point seven five seconds we're gonna say 75 milliseconds but i think it's 750 milliseconds
|
||
|
|
anything over that gets trimmed down to 750 milliseconds and i have top and tail which adds the
|
||
|
|
the hacker public radio theme and end card and then i also have a norm which normalizes the audio
|
||
|
|
utilizing what is it um it's like loud norm is the name of the ffmpeg filter and there's a
|
||
|
|
python script called ffmpeg hyphen lh which is for loud norm helper which gives you all of the
|
||
|
|
options that you need for loud norm and just plops them right into your ffmpeg um once again i'll
|
||
|
|
have a link to that in the show notes as well and so basically what this does is i can record
|
||
|
|
i can trim out all the silence i can add the hpr stuff and i can normalize it and i can actually do
|
||
|
|
that all in one line because of however it in the scripts so the way that the scripts are set up
|
||
|
|
is that they can take input and output or they can just accept input or they don't need to have
|
||
|
|
any arguments and the way that that works is that it will actually read from standard input and
|
||
|
|
write to standard output so the way that i'm actually recording this episode is i have it set to
|
||
|
|
record and then raw.wav and then ampersand ampersand so it'll wait for my recording to finish
|
||
|
|
and then if it succeeds then it will pipe or then it will go to then it will run the next command
|
||
|
|
which i have as cat raw.wav so it will print out all of raw.wav into standard output and i have
|
||
|
|
that piped to hrm which will cut out all of the silence and then i have that piped top tail which
|
||
|
|
will put on the hpr opening card and end card and i have that piped to a norm as the input parameter
|
||
|
|
and then for the output parameter i have final.wav so it will take it from recording straight to final.wav
|
||
|
|
all in one one line i don't have that alias because sometimes you might want to mess around with
|
||
|
|
how you're actually post processing it and i don't have remove raw.wav because that way i can do
|
||
|
|
whatever post processing i want to the original file at some other point if i messed up or
|
||
|
|
if i did whatever and then i can rerun it through the scripts in order to do some post processing
|
||
|
|
on the edited version if i need to. that's basically how that audio recording stuff works.
|
||
|
|
now next is my web browser which i mentioned already is links which is
|
||
|
|
lima yankee november x right and it's just really fun and fast to use it cuts out all of the
|
||
|
|
images and all of the ads well most of the ads and it's just very fast and very i don't know like
|
||
|
|
it does it does your web browsing stuff let's you read articles it lets you go to social media
|
||
|
|
as you see posts that people post on mastodon all that all that kind of stuff it can leverage
|
||
|
|
web 4.0 technologies like gofer which is what i put in the show notes because it will run gofer
|
||
|
|
and fdp and hdp hdps and all of that i don't think it has a way of running jemini yet i don't know
|
||
|
|
if i already said that or if that was the previous take but anyway it can't run jemini which means
|
||
|
|
that you need a different terminal application or do that from the terminal but and some sites break
|
||
|
|
kind of kind of bad because any site that relies on like javascript etc it's not really going to
|
||
|
|
work so well running in text mode but like most of the time i don't even use sites like that so it
|
||
|
|
doesn't even matter and last and probably least is email which i don't actually i didn't actually
|
||
|
|
use at the time i didn't really use any email services at the time just because i didn't really
|
||
|
|
have a need for it i wasn't really in a good place at the time i'll just say and there was nobody
|
||
|
|
knocking down my email door in order to send me anything at all but and now that i'm not in
|
||
|
|
that situation anymore i got proton mail which you can only access really effectively through the
|
||
|
|
webmail which is annoying and i'm probably going to have to change that but let me let me know what
|
||
|
|
you think like let me know how you have your email set up so you can access it through a email
|
||
|
|
client like whether or not you host your own service or whether or not there's another service
|
||
|
|
that you trust uh the biggest thing that it is for me is that i don't really want email stored
|
||
|
|
in plain text on a server that i don't control which is why i use i mean proton mail has some
|
||
|
|
isn't necessarily the best for this but it's the best that i've been able to find as far as having
|
||
|
|
good spam blocking features and i might just have to roll my own things when it comes to stuff
|
||
|
|
like that but anyway it's the the best one that i've been able to sort of do and everything
|
||
|
|
is supposedly encrypted on there and it really doesn't really make sense a whole lot of sense to
|
||
|
|
me how and this has been come under scrutiny by other people but how it it would be secure like
|
||
|
|
how would they not be able to access your emails if you're accessing them in a web browser i mean
|
||
|
|
i suppose what it is is that they have you set the gbg password and everything is encrypted
|
||
|
|
to that password so they can't access it without that password i guess that's how it works
|
||
|
|
either way i'm definitely looking for a better solution to all of that um but that's all of the
|
||
|
|
programs that i have here so that's basically what i use in order to live off of the terminal
|
||
|
|
for about two years and it works pretty okay for me i give it a try like the terminal never really
|
||
|
|
was something that frightened me just because if you've listened to my episode on my journey into
|
||
|
|
technology then i was introduced to computers kind of with assembly language which is how all of
|
||
|
|
the bits get moved around in the computer so uh you doing things in terminal just seemed natural
|
||
|
|
to me tell the computer what you want it to do and the computer will do what you want it to do
|
||
|
|
and that's kind of how i always get kind of frustrated with some graphical user interfaces
|
||
|
|
because of how convoluted they are when i can just tell the computer what i want to do
|
||
|
|
and it will do the thing mostly um but yeah i'll in the in the description i'll put show notes
|
||
|
|
that'll have links to all of the programs their home pages as well as the audio scripts that i
|
||
|
|
use in order to record this as well as a link to contact me via email or via mastodon so i guess
|
||
|
|
that's it i'll talk to you guys later
|
||
|
|
you've been listening to hecka public radio at hecka public radio dot org
|
||
|
|
we are a community podcast network that releases shows every weekday Monday through Friday
|
||
|
|
today's show like all our shows was contributed by an hbr listener like yourself
|
||
|
|
if you ever thought of recording a podcast then click on our contribute link to find out
|
||
|
|
how easy it really is hecka public radio was founded by the digital dog pound and the
|
||
|
|
infonomicant computer club and it's part of the binary revolution at binwave.com if you have
|
||
|
|
comments on today's show please email the host directly leave a comment on the website or record
|
||
|
|
a follow-up episode yourself unless otherwise status today's show is released on the creative
|
||
|
|
commons attribution share a light 3.0 license
|