
<p>Hello, this is your host, Archer72 for another episode of Hacker
Public Radio</p>
<p>In this episode, I talk about how I use Newsboat and Podboat for a
couple of tasks.</p>
<p>I don’t always use Podboat for podcasts, but it is useful when
listening from my laptop</p>
<p>For my other podcast listening, I used Antennapod</p>
<p>Newsboat source of feeds is from a url list in
<code>~/.config/newsboat/urls</code></p>


<h3>Newsboat url list</h3>

<pre>
<code>
# (Bible)
https://feeds.feedburner.com/hl-int-tv-en-kjv "Bible" (Bible)

# (Reddit) 
https://www.reddit.com/r/commandline.rss "Commandline" (Reddit)
https://www.reddit.com/r/raspberry_pi.rss "~Raspberry Pi" (Reddit)

# (Lemmy)
https://lemmy.sdf.org/feeds/local.xml?sort=New "Lemmy SDF" (Lemmy)

# (Podcasts)
http://gnuworldorder.info/ogg.xml "Gnu_World_Order"

# Tuxjam.Otherside.Network
https://tuxjam.otherside.network/feed "TuxJam"
https://tuxjam.otherside.network/feed/uncut "TuxJam Uncut"
https://thebugcast.org/category/podcast/feed "The Bugcast"

# Hacker Public Radio
http://hackerpublicradio.org/rss-future.php HackerPublicRadio_future_feed "~Hacker Public Radio ~ Future feed" (HPR)
http://hackerpublicradio.org/hpr_ogg_rss.php "HPR_two_week_feed" (HPR)
http://hackerpublicradio.org/comments_rss.php HPR_comment_feed "HPR_Comments" (HPR)
https://archive.org/services/collection-rss.php?collection=dlarc-hackerpublicradio "~HPR Amateur Radio - Archive.org" (HPR)

# Other Tech podcasts
https://feeds.fireside.fm/asknoah/rss "The Ask Noah Show"
https://feeds.feedburner.com/urandom-podcast/ogg "Urandom Podcast"
https://ubuntu.social/@linuxmatters

# (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "Luke Smith" (Youtube) 
https://www.youtube.com/feeds/videos.xml?channel_id=UCH6ttJZ3T5gA-r_7PYkHk9g "SGOTI" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg "DistroTube" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UC9x0AN7BWHpCDHSm9NiJFJQ "Network Chuck" (Youtube)

# Import from Newpipe

https://www.youtube.com/feeds/videos.xml?channel_id=UC_SLthyNX_ivd-dmsFgmJVg "Jeremy Fielding" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCJ0-OtVpF0wOKEqT2Z1HEtA "ElectroBOOM" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCv1Kcz-CuGM6mxzL3B1_Eiw "Gardiner Bryant" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UC3s0BtrBJpwNDaflRSoiieQ "Hak5" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCR-DXc1voovS8nhAvccRZhg "Jeff Geerling" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCzgA9CBrIXPtkB2yNTTiy1w "Level 2 Jeff" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCLx053rWZxCiYWsBETgdKrQ "LGR" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw "Linus Tech Tips" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCm9K6rby98W8JigLoZOh6FQ "LockPickingLawyer" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCjFaPUcJU1vwk193mnW_w1w "Modern Vintage Gamer" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCP8QhVVoM7IKD0YwnvnPPbg "Pater Practicus" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCjr2bPAyPV7t35MvcgT3W8Q "The Hated One" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCo71RUe6DX4w-Vd47rFLXPg "typecraft" (Youtube)

## From Mrs. Archer
https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "Brodie Robertson" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCg6gPGh8HU2U01vaFCAsvmQ "Chris Titus Tech" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCoryWpk4QVYKFCJul9KBdyw "Switched To Linux" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCJf7AT2BzFT-31z0d-bc8Rg "Windows, computers and Technology" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UC5UAwBUum7CPN5buc-_N1Fw "The Linux Experiment" (Youtube)
https://www.youtube.com/feeds/videos.xml?channel_id=UCmyGZ0689ODyReHw3rsKLtQ "Michael Tunnell" (Youtube)

# (News)
https://olfconference.org/feed/ "OLF Conference" (News)
</code>
</pre>


<blockquote>
<p>To organize the url list, tags can be used, along with a description
of the feed. This only give an internal description, as the Main title
is determined by the RSS feed itself. This can be manually set, for
example, in the HPR Future feed. The default feed title is the same as
the feed for two weeks. To set manually, us a tilde <code>~</code>
before the Feed Title shown in this example. Tags follow the Feed Title,
typed in parentheses and with no spaces. Multiple tags can be used
here.</p>
</blockquote>
<pre><code>http://hackerpublicradio.org/rss-future.php HackerPublicRadio_future_feed &quot;~Hacker Public Radio ~ Future feed&quot; (HPR)</code></pre>
<p>Not all feeds in the url list are podcasts. Some are Reddit feeds,
while others are youtube channels.</p>
<blockquote>
<p>The first item I go to in the morning is my Bible daily verse. I
heard one new host mention that he reads some, and thought it might be
interesting to include this.</p>
</blockquote>
<p>The next 2 entries are from Reddit, and can be modified to contain
the rss feed in this way:</p>
<ul>
<li>Replace the /r/commandline with /r/commandline.rss</li>
<li>add "Title" and "(Tag)"
<ul>
<li>https://www.reddit.com/r/commandline.rss "Commandline" (Reddit)</li>
</ul></li>
</ul>
<p>The next entry, which I only include one, is the Lemmy instance for
lemmy.sdf.org</p>
<blockquote>
<p>Lemmy is part of the Fediverse, and became popular after the June
2023 controversy involving charging excessive money for Reddit’s
API.<br />
This in turn, caused third party Reddit apps to be no longer viable.</p>
</blockquote>
<p><a
href="https://alternativeto.net/news/2023/7/reddit-s-new-api-charging-policy-forces-popular-reddit-clients-to-shut-down"
title="Alternativeto.net - API Charging Policy">Alternativeto.net - API
Charging Policy</a></p>
<p><a href="https://en.wikipedia.org/wiki/Lemmy_(social_network)"
title="Wikipedia - Lemmy_(social_network)">Wikipedia -
Lemmy_(social_network)</a></p>
<p>Next, we’ll start on the <code>~/.config/newsboat/config</code>
file</p>

<h3>Newsboat config file</h3>

<pre>
<code>
# Podboat
 download-path "~/Downloads/podcasts/%h/%n"
# %h - Hostname
# %n - Podcast name
# Example: hub.hackerpublicradio.org
#          gnuworldorder.info
#          media.blubrry.com/The Bugcast
#          archive.org/TuxJam
 download-filename-format "%n - %t.%u" 
# %n - Name of the podcast feed
# %t - Title of the podcast episode
# %u - Indicates the file extension
 podlist-format "%4i [%6dMB/%6tMB] [%5p %%] %-10S %b"
# Table 7. Available Identifiers for podlist-format
# %i - Download index, 4 indicating number of digits
# %6dMB/%6tMB - Downloaded (in MB) / Total file size (in MB)
# [%5p %%] - Percent downloaded
#  %-10S - Status - {queued, downloading, ready, played, deleted}
#
#  4.18. Format Strings
#  %b - Boolean string

# load URLS on launch
auto-reload  yes

# vim binds
bind-key j down
bind-key k up
bind-key j next articlelist
bind-key k prev articlelist
bind-key J next-feed articlelist
bind-key K prev-feed articlelist
bind-key G end
bind-key g home
# bind-key d pagedown - default
bind-key D pagedown
bind-key u pageup
bind-key l open
bind-key h quit
bind-key a toggle-article-read
bind-key n next-unread
bind-key N prev-unread
# bind-key D pb-download - default
bind-key d pb-download
bind-key U show-urls
bind-key x pb-delete

# Colors
highlight article "^Feed:.*" color5 color0 
highlight article "^Title:.*" color3 color0 bold
highlight article "^Author:.*" color2 color0
highlight article "^Date:.*" color223 color0 
highlight article "^Link:.*" color4 color0 
highlight article "^Flags:.*" color9 color0                                     
highlight article "\\[[0-9][0-9]*\\]" color66 default bold
highlight article "\\[image [0-9][0-9]*\\]" color109 default bold


color listnormal cyan default
color listfocus black yellow standout bold
color listnormal_unread cyan default
color listfocus_unread yellow default bold
color info red black bold
color article cyan default

# macro setup
browser linkhandler
macro , open-in-browser

# download-path ~/.newsboat/queue
player "mpv --vid=no"
macro 1 set browser "mpv --vid=no"; one; set browser lynx

# launch video player
macro v set browser "setsid -f mpv" ; open-in-browser ; set browser linkhandler

# download video
macro d set browser "yt-dlp"; open-in-browser ; set browser linkhandler

# download audio only
macro a set browser "yt-dlp --embed-metadata -xic -f bestaudio/best" ; open-in-browser ; set browser linkhandler

</code>
</pre>


<p>When enqueing a podcast for Podboat, I changed the default<br />
download path to <code>~/Downloads/podcasts/</code> using
<code>download-path "~/Downloads/podcasts/%h/%n"</code></p>
<p>Where %h is the Hostname, and %n is the Podcast name</p>
<p>The file name is formatted in the following way</p>
<p><code>%n - %t.%u</code></p>
<p>Where %n is the podcast name, %t is the podcast title and %u
indicates the file extension</p>
<p>Finally, there is a custom line for <code>podlist-format</code> which
for podcast purposes I won’t list out.</p>
<p>This includes a Download index to 4 places, percentage of each
podcast downloaded, and Podcast status</p>
<p>When I use Podboat, after the set of podcasts are enqued I found a
way to monitor the bluetooth connection,<br />
in order to pause a show with the bluetooth button on an earbud.</p>
<p>The first part of this puzzle is to have <code>mpris-proxy</code>,
which is included in the <code>bluez-utils</code></p>
<p><a href="https://wiki.archlinux.org/title/MPRIS"
title="Archwiki - MPRIS">Archwiki - MPRIS</a></p>
<p>Then enable the service with
<code>systemctl --user enable mpris-proxy.service</code> and
<code>systemctl --user start mpris-proxy.service</code></p>
<p>After that,
<code>git clone https://github.com/hoyon/mpv-mpris.git</code> from <a
href="https://github.com/hoyon/mpv-mpris"
title="Github - hoyon/mpv-mpris">Github - hoyon/mpv-mpris</a></p>
<p><code>cd mpv-mpris</code> and <code>make</code>, with the resulting
<code>mpris.so</code> copied to <code>~/.config/mpv/scripts/</code></p>
<h2 id="newsboat-documentation">Newsboat documentation</h2>
<p><a href="https://newsboat.org/releases/2.40/docs/newsboat.html"
title="Newsboat Documentation page">Newsboat Documentation page</a></p>
<h2 id="format-strings">Format strings</h2>
<p><a
href="https://newsboat.org/releases/2.40/docs/newsboat.html#_format_strings"
title="Newsboat Documentation page - Format Strings">Newsboat
Documentation page - Format Strings</a></p>
<p>
<a href="hpr4424_image_1.png">
<img src="hpr4424_image_1_tn.png" title="Screenshot of Newsboat and Podboat in a Tmux session" alt="Screenshot of Newsboat and Podboat in a Tmux session">
</a>
</p>



