INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hostid`, `series`, `explicit`, `license`, `tags`, `version`, `downloads`, `valid`) VALUES (3371,'2021-07-05','HPR Community News for June 2021',3988,'Dave and Ken talk about shows released and comments posted in June 2021','<style>\ntable td.shrink {\n    white-space:nowrap\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nThere were no new hosts this month.\n</p>\n\n<h2>Last Month\'s Shows</h2>\n<table id=\"t01\">\n<tr>\n<th>Id</th>\n<th>Day</th>\n<th>Date</th>\n<th>Title</th>\n<th>Host</th>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3347\" target=\"_blank\">3347</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-06-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3347\" target=\"_blank\">Ethical Analysis of Renewable Energy and Conservation</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0383.html\" target=\"_blank\">Paul Quirk</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3348\" target=\"_blank\">3348</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-06-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3348\" target=\"_blank\">Feedback on the Article by hedorah about HPR</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3349\" target=\"_blank\">3349</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-06-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3349\" target=\"_blank\">Linux Inlaws S01E31: Interview with Paul Ramsey FOSS aficionado and entrepreneur</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3350\" target=\"_blank\">3350</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-06-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3350\" target=\"_blank\">Blending Layers</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3351\" target=\"_blank\">3351</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-06-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3351\" target=\"_blank\">HPR Community News for May 2021</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3352\" target=\"_blank\">3352</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-06-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3352\" target=\"_blank\">HPR 2020 - 2021 New Years Eve Show Episode 4</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3353\" target=\"_blank\">3353</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-06-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3353\" target=\"_blank\">My terminal journey, part 01.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3354\" target=\"_blank\">3354</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-06-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3354\" target=\"_blank\">My Devices</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3355\" target=\"_blank\">3355</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-06-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3355\" target=\"_blank\">Tiki Hell</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3356\" target=\"_blank\">3356</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-06-14</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3356\" target=\"_blank\">HPR 2020 - 2021 New Years Eve Show Episode 5</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3357\" target=\"_blank\">3357</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-06-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3357\" target=\"_blank\">My terminal journey, part 02.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3358\" target=\"_blank\">3358</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-06-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3358\" target=\"_blank\">BlastEm! A wicked awesome Sega Genesis/Megadrive emulator</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0115.html\" target=\"_blank\">sigflup</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3359\" target=\"_blank\">3359</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-06-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3359\" target=\"_blank\">Linux Inlaws S01E32: Politicians and artificial intelligence part 3</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3360\" target=\"_blank\">3360</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-06-18</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3360\" target=\"_blank\">Android Malware Alert</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3361\" target=\"_blank\">3361</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-06-21</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3361\" target=\"_blank\">HPR 2020 - 2021 New Years Eve Show Episode 6</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3362\" target=\"_blank\">3362</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-06-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3362\" target=\"_blank\">Spam Bot Honey Pot: Eating your own dog food</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0293.html\" target=\"_blank\">Rho`n</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3363\" target=\"_blank\">3363</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-06-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3363\" target=\"_blank\">Electronics podcasts I listen to</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3364\" target=\"_blank\">3364</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-06-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3364\" target=\"_blank\">Part One - all the covid crap</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0315.html\" target=\"_blank\">Clinton Roy</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3365\" target=\"_blank\">3365</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-06-25</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3365\" target=\"_blank\">Diablo 2 Portable and Modding</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3366\" target=\"_blank\">3366</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-06-28</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3366\" target=\"_blank\">HPR 2020 - 2021 New Years Eve Show Episode 7</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3367\" target=\"_blank\">3367</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-06-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3367\" target=\"_blank\">Making books with linux - part 1</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0268.html\" target=\"_blank\">Andrew Conway</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3368\" target=\"_blank\">3368</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-06-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3368\" target=\"_blank\">Infosec Podcasts Part 4 - Social Engineering Podcasts</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0394.html\" target=\"_blank\">Trey</a></td>\n</tr>\n</table>\n\n<h2>Comments this month</h2>\n\n<p>These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere are 23 comments in total.</p>\n<h3>Past shows</h3>\n<p>There are 7 comments on\n5 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3263#comments\" target=\"_blank\">hpr3263</a></strong>\n(2021-02-03) \"<em>My Beginnings in Tech</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0390.html\" target=\"_blank\">o9l</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3263#1\" target=\"_blank\">Comment 1</a>:\narcher72 on 2021-06-03:\n\"Welcome to HPR\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3329#comments\" target=\"_blank\">hpr3329</a></strong>\n(2021-05-06) \"<em>Linux Inlaws S01E29: The (one and only) Linux Kernel Contributor Panel</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3329#1\" target=\"_blank\">Comment 1</a>:\nKen Fallon on 2021-06-05:\n\"Who ?\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3342#comments\" target=\"_blank\">hpr3342</a></strong>\n(2021-05-25) \"<em>HPR 2020 - 2021 New Years Eve Show Episode 2</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3342#2\" target=\"_blank\">Comment 2</a>:\ncrvs on 2021-06-24:\n\"thank you for the reminder\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3343#comments\" target=\"_blank\">hpr3343</a></strong>\n(2021-05-26) \"<em>The Forth programming language</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0326.html\" target=\"_blank\">Brian in Ohio</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3343#1\" target=\"_blank\">Comment 1</a>:\ncagey on 2021-06-02:\n\"My experience with Forth (at SAO)\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3343#2\" target=\"_blank\">Comment 2</a>:\nDave Morriss on 2021-06-06:\n\"What does SAO stand for?\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3345#comments\" target=\"_blank\">hpr3345</a></strong>\n(2021-05-28) \"<em>Audio for Podcasting: Episode 2 - Equalization</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0270.html\" target=\"_blank\">Thaj Sara</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3345#1\" target=\"_blank\">Comment 1</a>:\narcher72 on 2021-06-03:\n\"Another great episode.\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3345#2\" target=\"_blank\">Comment 2</a>:\nTrey on 2021-06-08:\n\"Thank you.\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 16 comments on 7 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3348#comments\" target=\"_blank\">hpr3348</a></strong>\n(2021-06-02) \"<em>Feedback on the Article by hedorah about HPR</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3348#1\" target=\"_blank\">Comment 1</a>:\nHawkinsTheWizard on 2021-06-02:\n\"hpr3348 feedback\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3348#2\" target=\"_blank\">Comment 2</a>:\nDave Morriss on 2021-06-02:\n\"I was trying to remember \"This American Life\"\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3352#comments\" target=\"_blank\">hpr3352</a></strong>\n(2021-06-08) \"<em>HPR 2020 - 2021 New Years Eve Show Episode 4</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3352#1\" target=\"_blank\">Comment 1</a>:\nHonkeymagoo on 2021-05-11:\n\"Thanking\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3353#comments\" target=\"_blank\">hpr3353</a></strong>\n(2021-06-09) \"<em>My terminal journey, part 01.</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3353#1\" target=\"_blank\">Comment 1</a>:\nFXB on 2021-06-09:\n\"Good listening.\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3353#2\" target=\"_blank\">Comment 2</a>:\njezra on 2021-06-09:\n\"Hey, that\'s how I learned!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3353#3\" target=\"_blank\">Comment 3</a>:\nTrey on 2021-06-11:\n\"Well done!  Keep up the great work!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3353#4\" target=\"_blank\">Comment 4</a>:\narcher72 on 2021-06-11:\n\"Good to hear this one\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3353#5\" target=\"_blank\">Comment 5</a>:\nSome Guy On The Internet on 2021-06-16:\n\"Giving Thanks.\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3353#6\" target=\"_blank\">Comment 6</a>:\nsesamemucho on 2021-06-19:\n\"Nice\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3353#7\" target=\"_blank\">Comment 7</a>:\nfrank on 2021-06-30:\n\"Comments and feedback on your show (part 1)\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3353#8\" target=\"_blank\">Comment 8</a>:\nfrank on 2021-06-30:\n\"Comments and feedback on your show (part 2)\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3356#comments\" target=\"_blank\">hpr3356</a></strong>\n(2021-06-14) \"<em>HPR 2020 - 2021 New Years Eve Show Episode 5</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3356#1\" target=\"_blank\">Comment 1</a>:\nHonkeymagoo on 2021-05-11:\n\"Thanking\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3356#2\" target=\"_blank\">Comment 2</a>:\nKevin O&#39;Brien on 2021-06-14:\n\"Nice show, but too long\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3357#comments\" target=\"_blank\">hpr3357</a></strong>\n(2021-06-15) \"<em>My terminal journey, part 02.</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3357#1\" target=\"_blank\">Comment 1</a>:\nbjb on 2021-06-29:\n\"hpr3357 :: My terminal journey, part 02. - feedback/comment\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3361#comments\" target=\"_blank\">hpr3361</a></strong>\n(2021-06-21) \"<em>HPR 2020 - 2021 New Years Eve Show Episode 6</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3361#1\" target=\"_blank\">Comment 1</a>:\nHonkeymagoo on 2021-05-11:\n\"Thanking\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3366#comments\" target=\"_blank\">hpr3366</a></strong>\n(2021-06-28) \"<em>HPR 2020 - 2021 New Years Eve Show Episode 7</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3366#1\" target=\"_blank\">Comment 1</a>:\nHonkeymagoo on 2021-05-11:\n\"Thanking\"</li></ul><br/>\n</li></ul>\n\n<h2>Mailing List discussions</h2>\n<p>\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the <a href=\"https://hackerpublicradio.org/maillist\"\ntarget=\"_blank\">Mail List</a> which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/\">Mailman</a>.\n</p>\n<p>The threaded discussions this month can be found here:</p>\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-June/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-June/thread.html</a>\n\n\n<h2>Events Calendar</h2>\n<p>With the kind permission of <strong>LWN.net</strong> we are linking to\n<a href=\"https://lwn.net/Calendar/\" target=\"_blank\">The LWN.net Community Calendar</a>.</p>\n<p>Quoting the site:</p>\n<blockquote>This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.</blockquote>\n\n<h2>Any other business</h2>\n<h3 id=\"condolences\">Condolences</h3>\n<p>Our deepest condolences to Randy Noseworthy on the loss of his wife.</p>\n<h3 id=\"older-hpr-shows-on-archive.org\">Older HPR shows on archive.org</h3>\n<p>This month 100 additional shows in the range 1-870 have been uploaded.</p>\n<p>Since we don\'t want to upload shows without summaries or tags the <em>old shows</em> and <em>tag and summary</em> projects are now tied together. So we will be all the more welcoming of tag and summary updates submitted as described on the <a href=\"https://hackerpublicradio.org/report_missing_tags.php\">summary page</a>.</p>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Thanks to the following contributors for sending in updates in the past month:<br />\n<b><a href=\"https://hackerpublicradio.org/correspondents/0318.html\">Archer72</a>, <a href=\"https://hackerpublicradio.org/correspondents/0225.html\">Dave Morriss</a></b></p>\n<p>Over the period tags and/or summaries have been added to 82 shows which were without them.</p>\n<p>There are now 295 shows which need a summary and/or tags.</p>\n<p>If you would like to contribute to the tag/summary project visit the summary page at <a href=\"https://hackerpublicradio.org/report_missing_tags.php\" class=\"uri\">https://hackerpublicradio.org/report_missing_tags.php</a> and follow the instructions there.</p>\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1),
(3391,'2021-08-02','HPR Community News for July 2021',4611,'HPR Volunteers talk about shows released and comments posted in July 2021','<style>\ntable td.shrink {\n    white-space:nowrap\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nThere were no new hosts this month.\n</p>\n\n<h2>Last Month\'s Shows</h2>\n<table id=\"t01\">\n<tr>\n<th>Id</th>\n<th>Day</th>\n<th>Date</th>\n<th>Title</th>\n<th>Host</th>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3369\" target=\"_blank\">3369</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-07-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3369\" target=\"_blank\">Linux Inlaws S01E33: The Return of the Rust</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3370\" target=\"_blank\">3370</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-07-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3370\" target=\"_blank\">More Free Images?</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3371\" target=\"_blank\">3371</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-07-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3371\" target=\"_blank\">HPR Community News for June 2021</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3372\" target=\"_blank\">3372</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-07-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3372\" target=\"_blank\">HPR 2020 - 2021 New Years Eve Show Episode 8</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3373\" target=\"_blank\">3373</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-07-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3373\" target=\"_blank\">HPR RPG Club reviews Starfinder</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3374\" target=\"_blank\">3374</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-07-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3374\" target=\"_blank\">Why I love the MacBook Mid 2010</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0297.html\" target=\"_blank\">swift110</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3375\" target=\"_blank\">3375</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-07-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3375\" target=\"_blank\">Car ODB2 Fun and Fail</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3376\" target=\"_blank\">3376</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-07-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3376\" target=\"_blank\">Making books with Linux - part 2</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3377\" target=\"_blank\">3377</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-07-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3377\" target=\"_blank\">Chromebook support and more</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0377.html\" target=\"_blank\">Zen_Floater2</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3378\" target=\"_blank\">3378</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-07-14</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3378\" target=\"_blank\">A bit of my experience with Starlink internet service</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0243.html\" target=\"_blank\">Jezra</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3379\" target=\"_blank\">3379</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-07-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3379\" target=\"_blank\">Linux Inlaws S01E34: The one with the intelligence</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3380\" target=\"_blank\">3380</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-07-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3380\" target=\"_blank\">Building a Better Goodreads with ActivityPub</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3381\" target=\"_blank\">3381</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-07-19</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3381\" target=\"_blank\">Learning to skate</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3382\" target=\"_blank\">3382</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-07-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3382\" target=\"_blank\">How I fixed a fault on my car for free thanks to YouTube</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0201.html\" target=\"_blank\">MrX</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3383\" target=\"_blank\">3383</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-07-21</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3383\" target=\"_blank\">My gEeeky Experiment - Part 1</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0152.html\" target=\"_blank\">Claudio Miranda</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3384\" target=\"_blank\">3384</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-07-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3384\" target=\"_blank\">Page Numbers in EPUB eBook Files</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0238.html\" target=\"_blank\">Jon Kulp</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3385\" target=\"_blank\">3385</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-07-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3385\" target=\"_blank\">DIY Cat feeder!</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3386\" target=\"_blank\">3386</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-07-26</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3386\" target=\"_blank\">What\'s for dinner?</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3387\" target=\"_blank\">3387</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-07-27</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3387\" target=\"_blank\">Infosec Podcasts Part 5  Grab bag</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0394.html\" target=\"_blank\">Trey</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3388\" target=\"_blank\">3388</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-07-28</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3388\" target=\"_blank\">Linux Inlaws S01E35: The Free Software Foundation Europe</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3389\" target=\"_blank\">3389</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-07-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3389\" target=\"_blank\">Tales of a Tagger</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3390\" target=\"_blank\">3390</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-07-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3390\" target=\"_blank\">Intro to DOS Series</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n</table>\n\n<h2>Comments this month</h2>\n\n<p>These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere are 18 comments in total.</p>\n<h3>Past shows</h3>\n<p>There are 5 comments on\n3 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3357#comments\" target=\"_blank\">hpr3357</a></strong>\n(2021-06-15) \"<em>My terminal journey, part 02.</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3357#2\" target=\"_blank\">Comment 2</a>:\nSome Guy On The Internet on 2021-07-08:\n\"apt-mark hold\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3367#comments\" target=\"_blank\">hpr3367</a></strong>\n(2021-06-29) \"<em>Making books with linux - part 1</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0268.html\" target=\"_blank\">Andrew Conway</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3367#1\" target=\"_blank\">Comment 1</a>:\nJon Kulp on 2021-07-11:\n\"Page numbers\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3367#2\" target=\"_blank\">Comment 2</a>:\ndangerseeker on 2021-07-16:\n\"Fonts and LaTeX\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3368#comments\" target=\"_blank\">hpr3368</a></strong>\n(2021-06-30) \"<em>Infosec Podcasts Part 4 - Social Engineering Podcasts</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0394.html\" target=\"_blank\">Trey</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3368#1\" target=\"_blank\">Comment 1</a>:\nPorkchop on 2021-07-01:\n\"recommendation\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3368#2\" target=\"_blank\">Comment 2</a>:\nTrey on 2021-07-05:\n\"Thanks for the feedback, Porkchop.\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 13 comments on 8 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3369#comments\" target=\"_blank\">hpr3369</a></strong>\n(2021-07-01) \"<em>Linux Inlaws S01E33: The Return of the Rust</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3369#1\" target=\"_blank\">Comment 1</a>:\nKevin O&#39;Brien on 2021-07-01:\n\"I loved the show\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3371#comments\" target=\"_blank\">hpr3371</a></strong>\n(2021-07-05) \"<em>HPR Community News for June 2021</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3371#1\" target=\"_blank\">Comment 1</a>:\nfrank on 2021-07-05:\n\"A comment on your comment about my comment\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3371#2\" target=\"_blank\">Comment 2</a>:\nTrey on 2021-07-05:\n\"Congrats on joining the Ham community!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3371#3\" target=\"_blank\">Comment 3</a>:\nKen Fallon on 2021-07-06:\n\"Errors in comments\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3371#4\" target=\"_blank\">Comment 4</a>:\nb-yeezi on 2021-07-06:\n\"Ranger previously on HPR\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3372#comments\" target=\"_blank\">hpr3372</a></strong>\n(2021-07-06) \"<em>HPR 2020 - 2021 New Years Eve Show Episode 8</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3372#1\" target=\"_blank\">Comment 1</a>:\nHonkeymagoo on 2021-05-11:\n\"Thanking\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3377#comments\" target=\"_blank\">hpr3377</a></strong>\n(2021-07-13) \"<em>Chromebook support and more</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0377.html\" target=\"_blank\">Zen_Floater2</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3377#1\" target=\"_blank\">Comment 1</a>:\nClinton Roy on 2021-07-13:\n\"Well,\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3381#comments\" target=\"_blank\">hpr3381</a></strong>\n(2021-07-19) \"<em>Learning to skate</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3381#1\" target=\"_blank\">Comment 1</a>:\nJon Kulp on 2021-07-21:\n\"Consultant available\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3381#2\" target=\"_blank\">Comment 2</a>:\nJon Kulp on 2021-07-21:\n\"Skate Shoes\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3383#comments\" target=\"_blank\">hpr3383</a></strong>\n(2021-07-21) \"<em>My gEeeky Experiment - Part 1</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0152.html\" target=\"_blank\">Claudio Miranda</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3383#1\" target=\"_blank\">Comment 1</a>:\nZen_floater2 on 2021-07-22:\n\"Why I love OpenBSD\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3388#comments\" target=\"_blank\">hpr3388</a></strong>\n(2021-07-28) \"<em>Linux Inlaws S01E35: The Free Software Foundation Europe</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3388#1\" target=\"_blank\">Comment 1</a>:\nBrian-in-ohio on 2021-07-30:\n\"free speech\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3390#comments\" target=\"_blank\">hpr3390</a></strong>\n(2021-07-30) \"<em>Intro to DOS Series</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3390#1\" target=\"_blank\">Comment 1</a>:\nBrian-in-ohio on 2021-07-30:\n\"great show\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3390#2\" target=\"_blank\">Comment 2</a>:\nKevin O&#39;Brien on 2021-07-30:\n\"You are most welcome\"</li></ul><br/>\n</li></ul>\n\n<h2>Mailing List discussions</h2>\n<p>\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the <a href=\"https://hackerpublicradio.org/maillist\"\ntarget=\"_blank\">Mail List</a> which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/\">Mailman</a>.\n</p>\n<p>The threaded discussions this month can be found here:</p>\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-July/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-July/thread.html</a>\n\n\n<h2>Events Calendar</h2>\n<p>With the kind permission of <strong>LWN.net</strong> we are linking to\n<a href=\"https://lwn.net/Calendar/\" target=\"_blank\">The LWN.net Community Calendar</a>.</p>\n<p>Quoting the site:</p>\n<blockquote>This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.</blockquote>\n\n<h2>Any other business</h2>\n<h3 id=\"older-hpr-shows-on-archive.org\">Older HPR shows on archive.org</h3>\n<p>This month 35 additional shows in the range 1-870 have been uploaded.</p>\n<p>Since we don\'t want to upload shows without summaries or tags the <em>old shows</em> and <em>tag and summary</em> projects are now tied together. So we will be all the more welcoming of tag and summary updates submitted as described on the <a href=\"https://hackerpublicradio.org/report_missing_tags.php\">summary page</a>.</p>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Thanks to the following contributors for sending in updates in the past month:<br />\n<b><a href=\"https://hackerpublicradio.org/correspondents/0318.html\">Archer72</a>, <a href=\"https://hackerpublicradio.org/correspondents/0293.html\">Rho`n</a>, <a href=\"https://hackerpublicradio.org/correspondents/0225.html\">Dave Morriss</a></b></p>\n<p>Over the period tags and/or summaries have been added to 71 shows which were without them.</p>\n<p>There are currently 222 shows which need a summary and/or tags.</p>\n<p>If you would like to contribute to the tag/summary project visit the summary page at <a href=\"https://hackerpublicradio.org/report_missing_tags.php\" class=\"uri\">https://hackerpublicradio.org/report_missing_tags.php</a> and follow the instructions there.</p>\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1),
(3114,'2020-07-09','Using the Akaso EK7000 Pro',666,'Some tips on using the camera based on my limited experience on one trip.','<p>I found this camera to be useful, but it has a few quirks. Here is what I learned about using it. I took it on a cruise in the Caribbean Sea in February 2020, just before the coronavirus hit everything.</p>\r\n<ul>\r\n<li><a href=\"https://www.palain.com/photography/using-the-akaso-ek7000-pro/\" class=\"uri\">https://www.palain.com/photography/using-the-akaso-ek7000-pro/</a></li>\r\n</ul>\r\n',198,0,0,'CC-BY-SA','Camera, Waterproof Camera, Action camera',0,0,1),
(3125,'2020-07-24','GIMP: The Canvas',785,'The Canvas is the first key concept in learning Gimp','<p>The Canvas is the main stage on which all of the action takes place, and it controls some aspects of the final image. When you get ready to export, you only export what is on the canvas.</p>\r\n<h3 id=\"links\">Links:</h3>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/XCF_(file_format)\" class=\"uri\">https://en.wikipedia.org/wiki/XCF_(file_format)</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/the-canvas/\" class=\"uri\">https://www.ahuka.com/gimp/the-canvas/</a></li>\r\n</ul>',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, canvas, layer',0,0,1),
(3110,'2020-07-03','Finding an Android phone to run LineageOS',2277,'Join Ken on this 6 year long journey of success but also failure','<h1 id=\"finding-an-android-phone-to-run-lineageos\">Finding an Android phone to run LineageOS</h1>\r\n<p>Affordable phone that support school apps, and allow firewall.</p>\r\n<h2 id=\"tldr\">TL;DR</h2>\r\n<p>Don\'t, unless you are willing to loose the money you are paying.</p>\r\n<h2 id=\"requirements\">Requirements</h2>\r\n<ul>\r\n<li>Supported for 3-5 years.</li>\r\n<li>Apps = Android = LineageOS</li>\r\n<li>Firewall = AFWall+ = Unlocked + Root</li>\r\n<li>Affordable</li>\r\n</ul>\r\n<h3 id=\"support\">Support</h3>\r\n<p>Getting a brand new phone means that Developers have not had time to release code.</p>\r\n<p>Older phones are no longer available for purchase, and actually become more expensive.</p>\r\n<p>Too old a version and apps are no longer supported.</p>\r\n<h2 id=\"finding-a-phone-that-can-be-unlocked\">Finding a phone that can be unlocked</h2>\r\n<p>I use a site called <a href=\"https://tweakers.net/smartphones/vergelijken/\">Tweakers.net</a> which allows you to do parameter search.</p>\r\n<p>Set the maximum price you are willing to pay.</p>\r\n<p>The current version of Android is 10 so select only those. You want your phone to be supported for as long as possible.</p>\r\n<p>Make any other selections that you think are critical, like memory, processor etc but be prepared to adjust this later.</p>\r\n<p>In my case I selected a minimum of 4G Ram and 64G Storage the first time.</p>\r\n<p>Sort by price low to high, and loop through, finding what support there is for <a href=\"https://twrp.me/Devices/\">TWRP</a>. That will tell you how open the phone is. If the Manufacturer support (the spirit of) unlocking, then remove them from the list.</p>\r\n<ul>\r\n<li>HTC support unlocking but not don\'t give code to the developers so it\'s useless.</li>\r\n<li>Motorola support was good but since the take over by Lenovo they have stopped supporting unlocking.</li>\r\n<li>Google phones are unlocked and are ideal for developers but are too expensive.</li>\r\n<li>Xiaomi requires you to wait until the EU 14 day no questions asked warranty has expired.</li>\r\n<li>Fairphone too expensive.</li>\r\n<li>PinePhone may be an option but people report the current version being too slow.</li>\r\n</ul>\r\n<p>After finding a phone that can be unlocked and rooted, then check to see if there is an <em>official</em> version for <a href=\"https://wiki.lineageos.org/devices/\">LineageOS</a></p>\r\n<p>If no phone meets all the requirements then try the next one.</p>\r\n<p>It\'s very likely you will not find a phone. You are then faced with the choice of adjusting your parameters, for example picking a more expensive model, but at the end of the day be prepared that you may not find a phone.</p>\r\n<p>If you do find a phone, it\'s very likely that it may be a different version than the one supported. I have had to return several phones that I had unlocked and just hoped that the supplier would take them back and refund me.</p>\r\n<p>Even on supported phones, especially newer ones, it\'s quite often that a major piece of functionality will not work. I have had issues with no GPS on one phone, and bluetooth/wifi not working on another until files were manually edited on each reboot.</p>\r\n<p>Do not do this if you want a stress free life, and also if you are not willing to accept the waste of all the money, and time involved.</p>\r\n<h3 id=\"links\">Links</h3>\r\n<ul>\r\n<li><a href=\"https://tweakers.net/smartphones/vergelijken/\">Tweakers.net</a></li>\r\n<li><a href=\"https://twrp.me/Devices/\">TWRP</a></li>\r\n<li><a href=\"https://wiki.lineageos.org/devices/\">LineageOS</a></li>\r\n<li><a href=\"https://github.com/Genymobile/scrcpy\">scrcpy</a></li>\r\n<li><a href=\"https://tektab.com/2015/10/31/android-bootloaderfastboot-mode-and-recovery-mode-explained/\">Android bootloader/fastboot mode and recovery mode explained/Android boot process</a> October 31, 2015 Saad Faruque</li>\r\n<li><a href=\"https://www.pine64.org/pinephone/\">pinephone</a></li>\r\n</ul>\r\n',30,0,1,'CC-BY-SA','TWRP,Tweakers,LineageOS,scrcpy,tektab.com,bootloader,fastboot,Sony Xperia XA2,pinephone',0,0,1),
(3102,'2020-06-23','RFC 5005 Part 2 – Webcomics, subscribers and feed readers',902,'fluffy, Jamey and I go on for another ten minutes about how webcomic artists feel about feeds','<p>An interview with two passionate RFC 5005 fans on how to handle big Atom feeds</p>\r\n\r\n<p>This conversation took almost an hour, so I split it into two shows:</p>\r\n\r\n<ul>\r\n  <li>Part 1 talks mostly about the RFC itself, what it means and why. <a href=\"https://hackerpublicradio.org/eps.php?id=3082\">HPR 3082</a></li>\r\n  <li>Part 2 goes into personal experiences with the RFC and with syndication in general, in particular in the context of web comics.</li>\r\n</ul>\r\n\r\n<p>This is part 2.</p>\r\n\r\n<p>In this show I’m talking to:</p>\r\n\r\n<h3 id=\"fluffy\">fluffy</h3>\r\n\r\n<ul>\r\n  <li>Federated social web:<br />\r\n<a href=\"https://queer.party/@fluffy\">https://queer.party/@fluffy</a></li>\r\n  <li>Writes and makes things in several creative fields:<br />\r\n<a href=\"https://beesbuzz.biz/\">https://beesbuzz.biz/</a></li>\r\n  <li>Publ is like a static site generator, but dynamic. It produces RFC 5005 archive feeds, of course:<br />\r\n<a href=\"https://publ.beesbuzz.biz/\">https://publ.beesbuzz.biz/</a></li>\r\n  <li>Thoughts on ephemeral content vs content worth archiving and how they relate to protocols:<br />\r\n<a href=\"https://beesbuzz.biz/blog/5709-Keeping-it-personal\">https://beesbuzz.biz/blog/5709-Keeping-it-personal</a></li>\r\n</ul>\r\n\r\n<h3 id=\"jamey\">Jamey</h3>\r\n\r\n<ul>\r\n  <li>Federated social web:<br />\r\n<a href=\"https://toot.cat/@jamey\">https://toot.cat/@jamey</a></li>\r\n  <li>Blog:<br />\r\n<a href=\"https://minilop.net/\">https://minilop.net/</a></li>\r\n  <li>Made a prototype full-history reader that follows RFC 5005 links:<br />\r\n<a href=\"https://reader.minilop.net/\">https://reader.minilop.net/</a></li>\r\n  <li>Made a webcomic reader mostly mentioned in Part 2:<br />\r\n<a href=\"https://www.comic-rocket.com/\">https://www.comic-rocket.com/</a></li>\r\n  <li>Made a WordPress plugin implementing RFC 5005:<br />\r\n<a href=\"https://github.com/jameysharp/wp-fullhistory\">https://github.com/jameysharp/wp-fullhistory</a></li>\r\n  <li>Made an RFC 5005 archive feed synthesizer for sites with a predictable post frequency and URL structure:<br />\r\n<a href=\"https://github.com/jameysharp/predictable/\">https://github.com/jameysharp/predictable/</a><br />\r\nHosted at <a href=\"https://fh.minilop.net/\">https://fh.minilop.net/</a></li>\r\n  <li>Was on HPR 9 years ago, talking about X.Org!<br />\r\n<a href=\"https://hackerpublicradio.org/eps.php?id=0825\">https://hackerpublicradio.org/eps.php?id=0825</a></li>\r\n</ul>\r\n\r\n<h2 id=\"conversation-notes\">Conversation notes</h2>\r\n\r\n<ul>\r\n  <li>Back in 2002, Aaron Swartz published his joke MIME-header-based <em>RSS 3</em>:<br />\r\n<a href=\"https://www.aaronsw.com/weblog/000574\">https://www.aaronsw.com/weblog/000574</a><br />\r\nThe cultural context at the time and the rivalry between RSS 0.91+, RSS 1.0, RSS 2.0 and Atom deserves a show of its own.</li>\r\n</ul>\r\n',311,0,0,'CC-BY-SA','webcomics, rfc5005, atom, rss, feeds',0,0,1),
(3099,'2020-06-18','Linux Inlaws S01E08 The review of the review',2741,'In this short episode our two heroes rant about Linus, Transmeta, EdgeOS','<h2>S01E08: <a href=\"https://hackerpublicradio.org/eps.php?id=3099\" target=_blank>The review of the review</a></h2>\r\n<p>More shenanigans from our two heroes. In this short episode our two heroes rant about Linus and other old people, Transmeta and other history, discuss Martin\'s EdgeOS woes and discover that MIPS is indeed a CPU architecture supported by standard Debian. The show concludes with a short review of Claudio\'s <a href=https://hackerpublicradio.org/eps.php?id=3093>review</a> and poxes about the Arch wiki and Californication. You have been warned!</p>\r\n\r\n<h3>Links:</h3>\r\n<ul>\r\n<li>Linus Torvald\'s 80 column rant: <a href=https://lkml.iu.edu/hypermail/linux/kernel/2005.3/08168.html target=_blank>https://lkml.iu.edu/hypermail/linux/kernel/2005.3/08168.html</a></li>\r\n<li>Linux\'s device tree explained: <a href=https://elinux.org/Device_Tree_Reference target=_blank>https://elinux.org/Device_Tree_Reference</a></li>\r\n<li>Debian packages for EdgeOS: <a href=https://help.ui.com/hc/en-us/articles/205202560-EdgeRouter-Add-Debian-Packages-to-EdgeOS target=_blank>https://help.ui.com/hc/en-us/articles/205202560-EdgeRouter-Add-Debian-Packages-to-EdgeOS</a></li>\r\n<li>Arch Wiki: <a href=https://wiki.archlinux.org target=_blank>https://wiki.archlinux.org</a></li>\r\n<li>Californication: <a href=https://www.sho.com/californication target=_blank>https://www.sho.com/californication</a></li>\r\n<li>The Italian music extract is courtesy of Christian Petermann from his piece Folk Festival (CC-BY-SA)</li>\r\n</ul>\r\n',384,111,1,'CC-BY-SA','Linus, Transmeta, EdgeOS, Arch, Californication, device tree ',0,0,1),
(3096,'2020-06-15','Unscripted ramblings on a walk:  PC Building.',135,'I take a walk and discuss my experience building a new PC after having not done so for many years.','<p>I certainly want to say that this episode isn\'t a brag-a-thon about my new rig. I try to discuss what surprised me most about how PC building has changed in the last 10-15 years.</p>\r\n<p>The parts for my build:</p>\r\n<ul>\r\n<li>AMD Threadripper 1920X 3.5 GHz 12-Core Processor</li>\r\n<li>ASRock X399 Taichi ATX sTR4 Motherboard</li>\r\n<li>EVGA 850 B3, 80+ Bronze 850W, Fully Modular PSU</li>\r\n<li>Noctua NH-U14S TR4-SP3, Premium-Grade CPU Cooler</li>\r\n<li>MSI Gaming GeForce GT 710</li>\r\n<li>Fractal Design Define C case</li>\r\n<li>Corsair LPX 32GB (2x16GB) 3200MHz C16 DDR4 DRAM Memory Kit</li>\r\n<li>GELID GC-Extreme thermal paste</li>\r\n<li>Random 500GB SSD from my parts bin</li>\r\n</ul>',241,57,0,'CC-BY-SA','pc,hardware,build,battlestation,discussion,review,walk',0,0,1),
(3101,'2020-06-22','Metrics',1553,'A layman\'s explanation of the mathematical concept of metric.','<p>Whether you are writing a simple darts simulation 8-bit computer game or are traversing the galaxy Elite-style, you might well find yourself tangling with the mathematical concept known as the metric. In this episode I describe the mathematical concept of a metric which I address with the following questions. Brief answers are provided below but the show, I hope, gives more context and colour.</p>\r\n<h3 id=\"what-is-a-metric\">What is a metric?</h3>\r\n<p>A type of ruler that is used in mathematics.</p>\r\n<h3 id=\"why-not-just-use-a-ruler\">Why not just use a ruler?</h3>\r\n<p>You can if all you want to do is measure distances in real life but if you want to work out distances from coordinates you need a metric.</p>\r\n<h3 id=\"whats-the-simplest-example-of-a-metric\">What\'s the simplest example of a metric?</h3>\r\n<p>In 1D, distance s equals change in x coordinate.</p>\r\n<h3 id=\"ok-can-i-have-a-more-interesting-example-please\">OK, can I have a more interesting example please?</h3>\r\n<p>On a flat 2D surface, distance squared is the change in x squared plus change in y squared.</p>\r\n<h3 id=\"isnt-that-pythagoras\">Isn\'t that pythagoras?</h3>\r\n<p>Yes, it is, but using the word distance and two co-ordinates.</p>\r\n<h3 id=\"what-other-co-ordinates-can-we-use-for-a-flat-2d-surface\">What other co-ordinates can we use for a flat 2D surface?</h3>\r\n<p>Those x and y co-ordinates are called Cartesian co-ordinates. Instead we can use polar co-ordinates: radius r, and the angle φ (or phi) measured clockwise from the vertical. These might be more convenient in some cases, say for a dart board computer game, or if you are working with a compass bearing, eg head east for 1 km would become start at the origin (r=0) and move with phi=90° until r=1 km.</p>\r\n<h3 id=\"does-pythagoras-still-work-in-polar-coords\">Does Pythagoras still work in polar coords?</h3>\r\n<p>Yes and no. No, it is no longer true to say that distance squared equals radius squared plus φ squared, but since the geometry is the same - a flat 2D surface - we can say that a <em>change</em> in distance squared equals the <em>change</em> in radius squared plus radius squared times the <em>change</em> in φ squared.</p>\r\n<h3 id=\"why-do-we-have-to-talk-about-changes-in-s-r-and-φ\">Why do we have to talk about changes in s, r and φ?</h3>\r\n<p>Because one of our coordinates now appears in the metric. That is, the radius squared multiplies on to the change in φ squared. This means that a change in φ depends on r. In other words, bigger circles have bigger circumferences. Actually, it\'s more intricate than that, as we must deal with infinitesimals: quantities which are very, very, very small but not zero.</p>\r\n<h3 id=\"can-we-use-cartesian-or-polar-co-ordinates-on-the-surface-of-the-earth\">Can we use Cartesian or polar co-ordinates on the surface of the Earth?</h3>\r\n<p>Only over short distances, much smaller than the radius of the Earth which is 6400 km. So up to about 100 km that\'s fine for many purposes, but not when flying a plane over great distances, say London to Singapore.</p>\r\n<h3 id=\"why-not\">Why not?</h3>\r\n<p>The surface of the Earth may look locally flat but of course the Earth has a curved 2D surface. This means that this surface has a non-euclidean geometry, which means that Pythagoras does not hold and we cannot even define Cartesian co-ordinates, let alone use them.</p>\r\n<h3 id=\"i-want-to-know-more-or-my-mind-is-not-fully-blown\">I want to know more OR my mind is not fully blown.</h3>\r\n<p>I will probably do more shows on this.</p>\r\n<h3 id=\"can-i-have-some-links\">Can I have some links?</h3>\r\n<p>Sure:</p>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Alcubierre_drive\">Alcubierre drive</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Darts\">Dart board</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Polar_coordinate_system\">Polar coordinates</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Metric_(mathematics)\">Metric</a></li>\r\n</ul>\r\n',268,0,0,'CC-BY-SA','mathematics,relativity,physics',0,0,1),
(3103,'2020-06-24','A warning about browser extensions and add-ons.',93,'A unmaintained extension lead to a popup storm','<p>\r\nI started getting popups while going to safe websites in chromium-browser. I disabled all browser extensions and then turned them back on individually. I found one that which was causing the problem and it is no longer on the app store. It was however still working and had not been revoked on my browser.\r\n</p>\r\n<p>\r\nPlease check your extensions and add-ons to make sure they are regularly updated.\r\n</p>',30,0,0,'CC-BY-SA','extensions,add-ons,firefox,chromium,chrome,thunderbird',0,0,1),
(3116,'2020-07-13','Unscripted ramblings on a walk:  Crisis at The Manor',1137,'A walk and a talk about a lightning strike zapping a network.','<p>In an episode years ago, I talked about \"libernil.net\" (a network for my family and friends). That network grew to be known as \"The Manor\" (manor.space) and has hosted more friends over time. Not too long ago our primary infrastructure was knocked out by lightning. On today\'s walk, I talk a little bit about what happened.</p>',241,0,1,'CC-BY-SA','networks,post-mortem,retrospective,community,walk,rambling',0,0,1),
(3108,'2020-07-01','Fuguita as a Desktop',3148,'I cover all the wonderful things about using Fuguita as your Desktop','<p>I cover many issues about using OpenBSD based Fuguita as your Desktop. I wouldn\'t have it any other way, I use Fuguita for my main Desktop these days.</p>\r\n',377,0,0,'CC-BY-SA','OpenBSD,Fuguita,Desktop,Portability,Sanity',0,0,1),
(3119,'2020-07-16','Converting to FFS2',2426,'FFS2, FuguIta encryption and UUID\'s and 9 volt batteries','<p>I talk about converting my I386 Dell Mini 10 running OpenBSD6.7 to the new FFS2 file system. I also talk about the two new features of FuguIta 6.7 which are data encryption and the use of UUID\'s in the noasks file which is used for automatic booting. I also talk about 9 volt batteries and high technology transistor radios. I am also surprised by an SD card discovery I found on my Dell Mini 10.</p>\r\n',377,0,0,'CC-BY-SA','FFS2, SD cards, OpenBSD',0,0,1),
(3120,'2020-07-17','How open are roleplaying games?',2767,'Klaatu and mcnalu talk through what open and free mean in roleplaying games.','<p>Roleplaying games open you up to a seemingly unlimited array of possibilities taking place in many universes. But truly unlimited freedom would literally mean nothing without a context of history, lore and rules for your adventures. Klaatu and mcnalu talk through what open and free mean in roleplaying games with a particular focus on Dungeons &amp; Dragons which Klaatu has been been running for the HPR community in recent months.</p>\r\n<p>If you want to play D&amp;D you can go to the website of its publisher <a href=\"https://dnd.wizards.com/\">Wizards of the Coast</a> and browse for the player and other manuals. But if you want to play but can\'t or won\'t pay then you can use the <a href=\"https://dnd.wizards.com/articles/features/systems-reference-document-srd\">System Reference Document (SRD)</a> which is published under the <a href=\"https://www.opengamingfoundation.org/ogl.html\">Open Game License (OGL)</a>. You can even use that document to create and publish your own adventures.</p>\r\n<p>However, if you want to publish an adventure with the full set of D&amp;D rules from official manuals — every monster and every spell — then you need the publisher\'s approval. To do this for D&amp;D you need to publish through the <a href=\"https://support.dmsguild.com/hc/en-us/articles/360024677993-Getting-Started-on-Dungeon-Masters-Guild\">Dungeon Masters\' Guild</a>.</p>\r\n',268,0,0,'CC-BY-SA','open,free,roleplaying,licensing',0,0,1),
(3128,'2020-07-29','Linux Inlaws S01E11 The Python Bumper Part 2',4065,'The chaps continue to shed more light on our beloved programming language','<ul>\r\n    <li>TIOBE index: <a href=https://www.tiobe.com/tiobe-index target=_blank>https://www.tiobe.com/tiobe-index</a></li>\r\n    <li>Stackoverflow index: <a href=https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-loved target=_blank>https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-loved</a></li>\r\n    <li>PEP 520 (the Zen of Python): <a href=https://www.python.org/dev/peps/pep-0020 target=_blank>https://www.python.org/dev/peps/pep-0020</a></li>\r\n    <li>PEP 572: <a href=https://www.python.org/dev/peps/pep-0572 target=_blank>https://www.python.org/dev/peps/pep-0572</a></li>\r\n    <li>PEP 572 discussion: <a href=https://twitter.com/llanga/status/989670881176702976 target=_blank>https://twitter.com/llanga/status/989670881176702976</a></li>\r\n    <li>Claudio\'s link: <a href=https://www.kevra.org/TheBestOfNext/DifferentNeXTSpellings/DifferentNeXTSpellings.html target=_blank>https://www.kevra.org/TheBestOfNext/DifferentNeXTSpellings/DifferentNeXTSpellings.html</a></li>\r\n    <li>Secret Diary of a Call Girl: <a href=https://en.wikipedia.org/wiki/Secret_Diary_of_a_Call_Girl target=_blank>https://en.wikipedia.org/wiki/Secret_Diary_of_a_Call_Girl</a></li>\r\n    <li>Sophie Wilson interview: <a href=\"https://www.youtube.com/watch?v=R2SdSLCMKEA&t=1852s\" target=_blank>https://www.youtube.com/watch?v=R2SdSLCMKEA&amp;t=1852s</a></li>\r\n</ul>\r\n\r\n\r\n',384,111,1,'CC-BY-SA','Python 3.9, Mortgages in New York, Williamsburg, Wirecard, middle-aged blondes',0,0,1),
(3106,'2020-06-29','Linux Inlaws S01E09 Postgres',3851,'The lads talk to Bruce Momjian Postgres evangelist','<h2>S01E09:</h2>\r\n<p><a href=\"https://hackerpublicradio.org/eps.php?id=3106\" target=_blank>Postgres</a><br/>\r\nListen to our two OAP interviewing Bruce\r\nMomjian, Postgres evangelist and long-time supporter of this popular SQL\r\ndatabase. Expect lots of strong language around SQL and NoSQL topics and\r\nsome ranting about MINT\'s attitude towards snaps, a fun breach of a health\r\nservice provider in the UK and why broadcasters should stick to\r\nmonopolies.</p>\r\n<ul>\r\n<li>MINT Chromium issue: <a href=https://blog.linuxmint.com/?p=3766 target=_blank>https://blog.linuxmint.com/?p=3766</a></li>\r\n<li>PostgreSQL: <a href=https://www.postgresql.org target=_blank>https://www.postgresql.org</a></li>\r\n<li>Babylon Health breach: <a href=https://www.bbc.com/news/technology-52986629 target=_blank>https://www.bbc.com/news/technology-52986629</a></li>\r\n</ul>',384,111,1,'CC-BY-SA','Postgres, SQL, NoSQL, MINT',0,0,1),
(3107,'2020-06-30','Generating comfortable passwords',1800,'generating passwords to be comfortably type-able','<h2 id=\"random-password-generation\">Random Password Generation</h2>\r\n<p>First implementation: 14 character long with 6 letters and 8 digits</p>\r\n<pre><code>#!/usr/bin/env python3\r\n# file: passgen-v1.py\r\n\r\nimport random\r\n\r\nLETTERS = &quot;abcdefghijklmnopqrstuvwxyz&quot;\r\n\r\nif __name__ == &quot;__main__&quot;:\r\n\r\n    passwd = []\r\n\r\n    for i in range(6):\r\n            passwd.append(random.choice(LETTERS))\r\n\r\n    for i in range(8):\r\n            passwd.append(random.choice(&quot;1234567890&quot;))\r\n\r\n    print(&quot;&quot;.join(passwd))\r\n</code></pre>\r\n<p>The passwords that come out of this are a bit difficult to type so I forced it to alternate between the left and right hands</p>\r\n<pre><code>#!/usr/bin/env python3\r\n# file: passgen-v2.py\r\n\r\nimport random\r\n\r\nLEFTS = &quot;&#39;,.pyaoeui;qjkx&quot;\r\nRIGHTS = &quot;fgcrldhdhtns-bmwvz&quot;\r\n\r\nif __name__ == &quot;__main__&quot;:\r\n\r\n    passwd = []\r\n\r\n    for i in range(6):\r\n        if i % 2 == 0:\r\n            passwd.append(random.choice(LEFTS))\r\n        else:\r\n            passwd.append(random.choice(RIGHTS))\r\n\r\n    for i in range(8):\r\n        if i % 2 == 0:\r\n            passwd.append(random.choice(&quot;123456&quot;))\r\n        else:\r\n            passwd.append(random.choice(&quot;7890&quot;))\r\n\r\n    print(&quot;&quot;.join(passwd))\r\n</code></pre>\r\n<p>The regularity of switching between left and right hands (intuitively, and almost surely) decreases the entropy of the password, so use markov models to make that happen for the most part but critically NOT enforce it.</p>\r\n<pre><code>#!/usr/bin/env python3\r\n# file: passgen-v3.py\r\n\r\nimport random\r\n\r\nLs = [\r\n    &quot;aoeui&quot;,  # L1\r\n    &quot;&#39;,.py&quot;,  # L2\r\n    &quot;;qjkx&quot;,  # L3\r\n    &quot;123456&quot;, # L4\r\n    &quot;-snthd&quot;, # R1\r\n    &quot;lrcgf&quot;,  # R2\r\n    &quot;zvwmb&quot;,  # R3\r\n    &quot;7890&quot;    # R4\r\n]\r\n\r\nA = [[ .03,  .03,  .03, .01,  .27,  .27,  .27, .09],\r\n     [ .03,  .03,  .03, .01,  .27,  .27,  .27, .09],\r\n     [ .03,  .03,  .03, .01,  .27,  .27,  .27, .09],\r\n     [.004, .003, .003, .09,  .03,  .03,  .03, .81],\r\n     [ .27,  .27,  .27, .09,  .03,  .03,  .03, .01],\r\n     [ .27,  .27,  .27, .09,  .03,  .03,  .03, .01],\r\n     [ .27,  .27,  .27, .09,  .03,  .03,  .03, .01],\r\n     [ .03,  .03,  .03, .81, .004, .003, .003, .09]]\r\n\r\npi = [ .41, .03, .03, .03, .41, .03, .03, .03]\r\n\r\ndef sample( l ):\r\n    l_partial = [ sum(l[:i+1],0) for i in range(len(l))]\r\n    u = random.uniform(0,1)\r\n    for j,v in enumerate(l_partial):\r\n        if v &gt; u:\r\n            return j\r\n\r\nif __name__ == &quot;__main__&quot;:\r\n\r\n    passwd = []\r\n\r\n    s = sample(pi)\r\n    for i in range(20):\r\n        s = sample(A[s])\r\n        passwd.append(random.choice(Ls[s]))\r\n\r\n    print(&quot;&quot;.join(passwd))\r\n</code></pre>\r\n<p>For increased entropy should also consider peppering in a few upper case characters.</p>\r\n<pre><code>#!/usr/bin/env python3\r\n# file: passgen-v3.py\r\n\r\nimport random\r\n\r\nLs = [\r\n    &quot;aoeui&quot;,  # L1\r\n    &quot;&#39;,.py&quot;,  # L2\r\n    &quot;;qjkx&quot;,  # L3\r\n    &quot;123456&quot;, # L4\r\n    &quot;-snthd&quot;, # R1\r\n    &quot;lrcgf&quot;,  # R2\r\n    &quot;zvwmb&quot;,  # R3\r\n    &quot;7890&quot;    # R4\r\n]\r\n\r\nA = [[ .03,  .03,  .03, .01,  .27,  .27,  .27, .09],\r\n     [ .03,  .03,  .03, .01,  .27,  .27,  .27, .09],\r\n     [ .03,  .03,  .03, .01,  .27,  .27,  .27, .09],\r\n     [.004, .003, .003, .09,  .03,  .03,  .03, .81],\r\n     [ .27,  .27,  .27, .09,  .03,  .03,  .03, .01],\r\n     [ .27,  .27,  .27, .09,  .03,  .03,  .03, .01],\r\n     [ .27,  .27,  .27, .09,  .03,  .03,  .03, .01],\r\n     [ .03,  .03,  .03, .81, .004, .003, .003, .09]]\r\n\r\npi = [ .41, .03, .03, .03, .41, .03, .03, .03]\r\n\r\nUPPER=.1\r\n\r\ndef sample( l ):\r\n    l_partial = [ sum(l[:i+1],0) for i in range(len(l))]\r\n    u = random.uniform(0,1)\r\n    for j,v in enumerate(l_partial):\r\n        if v &gt; u:\r\n            return j\r\n\r\nif __name__ == &quot;__main__&quot;:\r\n\r\n    passwd = []\r\n\r\n    s = sample(pi)\r\n    for i in range(20):\r\n        s = sample(A[s])\r\n        c = random.choice(Ls[s])\r\n        u = random.uniform(0,1)\r\n        if u &lt; UPPER:\r\n            c = c.upper()\r\n        passwd.append(c)\r\n\r\n    print(&quot;&quot;.join(passwd))\r\n</code></pre>\r\n<p>Finally, generating the matrix by hand was a bit of a pain, so I made it a bit easier by making a small procedure with few control knobs (the variables <code>SWITCH_HAND</code> and <code>SWITCH_CHAR</code> which control how likely it is that a character pair will result in a hand switch, or a switch between general characters and digits).</p>\r\n<pre><code>#!/usr/bin/env python3\r\n\r\nimport random\r\nimport numpy\r\n\r\n# this version uses a markov chain to make it more likely to alternate hands\r\n# (in dvorak) so that the password is easy to type (in dvorak)\r\n\r\nLs = [\r\n    &quot;aoeui&quot;,  # L1\r\n    &quot;&#39;,.py&quot;,  # L2\r\n    &quot;;qjkx&quot;,  # L3\r\n    &quot;123456&quot;, # L4\r\n    &quot;-snthd&quot;, # R1\r\n    &quot;lrcgf&quot;,  # R2\r\n    &quot;zvwmb&quot;,  # R3\r\n    &quot;7890&quot;    # R4\r\n]\r\n\r\nSWITCH_HAND = .8\r\nSWITCH_CHAR = .3\r\nUPPER=.1\r\n\r\ndef prob( i , j ):\r\n    switch_hand = int(i / 4) != int(j / 4)\r\n    to_num = (j % 4) == 3\r\n    from_num = (i % 4) == 3\r\n\r\n    prob = 1\r\n\r\n    if to_num and from_num:\r\n        prob *= (1 - SWITCH_CHAR)\r\n    elif to_num:\r\n        prob *= (SWITCH_CHAR)\r\n    elif from_num:\r\n        prob *= (SWITCH_CHAR / 3)\r\n    else:\r\n        prob *= ((1 - SWITCH_CHAR) / 3)\r\n\r\n    if switch_hand:\r\n        prob *= SWITCH_HAND\r\n    else:\r\n        prob *= (1 - SWITCH_HAND)\r\n\r\n    return prob\r\n\r\n\r\nA = numpy.array([ [ prob(i,j) for j in range(8)  ] for i in range(8) ])\r\n\r\npi = [ 1.0 / 8 for i in range(8) ]\r\n\r\ndef sample( l ):\r\n    l_partial = [ sum(l[:i+1],0) for i in range(len(l))]\r\n    u = random.uniform(0,1)\r\n    for j,v in enumerate(l_partial):\r\n        if v &gt; u:\r\n            return j\r\n\r\nif __name__ == &quot;__main__&quot;:\r\n\r\n    passwd = []\r\n\r\n    s = sample(pi)\r\n    for i in range(20):\r\n        s = sample(A[s])\r\n        c = random.choice(Ls[s])\r\n        u = random.uniform(0,1)\r\n        if u &lt; UPPER:\r\n            c = c.upper()\r\n        passwd.append(c)\r\n\r\n    print(&quot;&quot;.join(passwd))\r\n</code></pre>\r\n',385,0,1,'CC-BY-SA','passwords, python',0,0,1),
(3109,'2020-07-02','Matchbox Restoration Part 4',277,'In this the 4th in the series Tony discusses paint removal on the castings of the MK10 Jaguars','<p>Good day to all in HPR land, this is Tony Hughes coming to you again from Blackpool in the UK. To recap this is the 4th in a series of shows about my hobby of restoring Matchbox and other Die cast models. In the last show I went through the process of stripping the models down to their component parts. In this episode I will discuss the process I use to remove the paint and prepare the casting for repainting and reassembly.</p>\r\n<p>So first off, and I should have said this last episode, a health and safety warning. If there are young people listening to this some of the things talked about on today\'s show require parental supervision, and are not recommended for young people unless properly supervised. So with that public service announcement out of the way let\'s get on with the show.</p>\r\n<p>So before the base can be put in the paint stripper the wheels and axles need to be removed. As you can see from the picture there are flanges holding on the wheels to the metal axle and one side is only a small flange.</p>\r\n<p>Picture 000<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3109/img_000.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3109/img_000_thumbnail.jpg\" alt=\"Picture 000\" /></a></p>\r\n<p>This can be removed with a small needle file or a small rotary file attachment for my rotary tool. Once removed the bases can be put in with the rest of the casting for paint removal.</p>\r\n<p>Picture 001<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3109/img_001.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3109/img_001_thumbnail.jpg\" alt=\"Picture 001\" /></a></p>\r\n<p>So let\'s talk about paint removal, obviously the first one you will think of is some kind of chemical paint stripper and I use 2 different methods of this. The first and probably the safest in the first instance is a commercial paint stripper from one of the chain DIY stores here in the UK, B&Q. There is a local store about 10 minutes drive from me so it is convenient during normal shopping times just to pop in and grab a 2.5Ltr container of their own brand DIAL paint stripper that is fantastic for this job and quite economic.</p>\r\n<p>The second is a little more aggressive if you need fast results but requires a little more in the way of care when using it as it is very corrosive and can be harmful if the fumes are breathed in, or the product gets onto your skin or in your eyes. This is caustic soda and I buy this through eBay and have it delivered in 1Kg pouches. It needs to be stored in an air tight container in a dry environment to keep it from getting damp as this is a potential fire hazard as if it gets contaminated buy moisture a chemical reaction starts which generates heat. So if you go with the caustic soda method you need to take adequate safety precautions. With the Jaguar I mainly used the caustic soda method to remove the paint but one casting I put in the paint stripper to show that method.</p>\r\n<p>With the caustic soda place the castings in a jar with enough room to cover with just boiled water so that it does not overflow when the caustic soda crystals are added slowly, I use a long handle tea spoon and add 2-3 tea spoons of the soda until it has a good fizz. Then leave for about 15 minutes but the longer the better, I sometimes do this and leave over night and this gives a great result. Remember to wear gloves when doing this to prevent getting the caustic on your hands.</p>\r\n<p>Picture 002<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3109/img_002.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3109/img_002_thumbnail.jpg\" alt=\"Picture 002\" /></a></p>\r\n<p>Picture 003<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3109/img_003.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3109/img_003_thumbnail.jpg\" alt=\"Picture 003\" /></a></p>\r\n<p>Picture 004<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3109/img_004.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3109/img_004_thumbnail.jpg\" alt=\"Picture 004\" /></a></p>\r\n<p>Picture 005<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3109/img_005.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3109/img_005_thumbnail.jpg\" alt=\"Picture 005\" /></a></p>\r\n<p>With the paint stripper I have a plastic click lock box with this in that I immerse the casting into and leave for several hours for best results. This can be reused many times as you can see in this picture keeping it an economic method as most of the stripper is left in the box when you remove the casting. The results for both methods are similar, but I find the caustic although you need to be careful, is the less messy of the two options, and the casting is easier to clean after paint removal.</p>\r\n<p>Picture 006<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3109/img_006.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3109/img_006_thumbnail.jpg\" alt=\"Picture 006\" /></a></p>\r\n<p>So after removal of the paint the castings are polished up with either a hand wire brush or a wire brush attachment for the rotary tool. You can see the base before and after and a picture of the polished main casting in the notes.</p>\r\n<p>Picture 007<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3109/img_007.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3109/img_007_thumbnail.jpg\" alt=\"Picture 007\" /></a></p>\r\n<p>Picture 008<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3109/img_008.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3109/img_008_thumbnail.jpg\" alt=\"Picture 008\" /></a></p>\r\n<p>So we now have a casting ready for repainting, which I will cover in the next episode. So until next time this is Tony Hughes saying goodbye to all those in HPR land. Keep safe until the next instalment.</p>\r\n',338,114,0,'CC-BY-SA','Matchbox Cars,Diecast Models,Restoration,paint removal,caustic soda,paint stripper',0,0,1),
(3403,'2021-08-18','Forth on microcontrollers',1341,'A little more about forth and a couple of chapters in the novel of my life','<ul>\r\n<li><p>microlisp<br />\r\nlisp on avr microcontrollers (and others)<br />\r\n<a href=\"https://www.ulisp.com/\" class=\"uri\">https://www.ulisp.com/</a></p></li>\r\n<li><p>ben eater<br />\r\n<a href=\"https://eater.net/\" class=\"uri\">https://eater.net/</a></p></li>\r\n<li><p>computer on breadboards<br />\r\n<a href=\"https://6502.org/\" class=\"uri\">https://6502.org/</a></p></li>\r\n<li><p>forth on avr microcontrollers</p>\r\n<ul>\r\n<li>eforth <a href=\"https://forth.org/eforth.html\" class=\"uri\">https://forth.org/eforth.html</a></li>\r\n<li>amforth <a href=\"https://amforth.sourceforge.net/\" class=\"uri\">https://amforth.sourceforge.net/</a></li>\r\n<li>flash forth <a href=\"https://www.flashforth.com/\" class=\"uri\">https://www.flashforth.com/</a></li>\r\n</ul></li>\r\n<li><p>incantations</p></li>\r\n</ul>\r\n<pre><code>  sudo avrdude -c usbtiny -p m328p -e -U flash:w:uno.hex:i -U eeprom:w:uno.eep.hex:i\r\n  sudo avrdude -c usbtiny -p m328p -e -U flash:w:uno.hex:i -U eeprom:w:uno.eep.hex:i\r\n  sudo avrdude -P usbtiny -p m328p -e -U efuse:w:0x05:m -U hfuse:w:0xD9:m -U lfuse:w:0xFF:m</code></pre>',326,0,0,'CC-BY-SA','programming, history, arduino',0,0,1),
(3112,'2020-07-07','finishing the frame on the long wheelbase recumbent',529,'a narrated slideshow of the next steps in building a bespoke recumbent bicycle','<ul>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=1282\">hpr 1282</a> john kulps efforts</li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2869\">hpr 2869</a> part one of my build</li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2875\">hpr 2875</a> part two</li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2962\">hpr 2962</a> part three</li>\r\n</ul>\r\n<!-- - -->\r\n<ul>\r\n<li>recycled recumbent can be found at:<br />\r\n<a href=\"https://sites.google.com/site/recycledrecumbents/home\" class=\"uri\">https://sites.google.com/site/recycledrecumbents/home</a></li>\r\n</ul>\r\n<p>Rear triangle in jig<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_000.jpg\" alt=\"Rear triangle in jig\" /></p>\r\n<p>Close up<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_001.jpg\" alt=\"Close up\" /></p>\r\n<p>View from the front<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_002.jpg\" alt=\"View from the front\" /></p>\r\n<p>Jig ready for bending<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_003.jpg\" alt=\"Jig ready for bending\" /></p>\r\n<p>Bending process complete<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_004.jpg\" alt=\"Bending process complete\" /></p>\r\n<p>Jigging up rear triangle onto frame<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_005.jpg\" alt=\"Jigging up rear triangle onto frame\" /></p>\r\n<p>Rear triangle brazed to frame<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_006.jpg\" alt=\"Rear triangle brazed to frame\" /></p>\r\n<p>Making emt bottom rails<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_007.jpg\" alt=\"Making emt bottom rails\" /></p>\r\n<p>Prying cuts open<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_008.jpg\" alt=\"Prying cuts open\" /></p>\r\n<p>Finished and ready to fit in frame<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_009.jpg\" alt=\"Finished and ready to fit in frame\" /></p>\r\n<p>Emt bending tool<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_010.jpg\" alt=\"Emt bending tool\" /></p>\r\n<p>Bottom rails ready for brazing<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3112/img_011.jpg\" alt=\"Bottom rails ready for brazing\" /></p>\r\n<!-- picture01-rear-triangle-in-jig.jpg -->\r\n<!-- Rear triangle in jig -->\r\n<!-- picture02-triangle-close-up.jpg -->\r\n<!-- Close up -->\r\n<!-- picture03-triangle-front-view.jpg -->\r\n<!-- View from the front -->\r\n<!-- picture04-bending-jig.jpg -->\r\n<!-- Jig ready for bendoing -->\r\n<!-- picture05-triangle-bend-complete.jpg -->\r\n<!-- Bending process complete -->\r\n<!-- picture06-rear-triangle-on-frame.jpg -->\r\n<!-- Jigging up rear triangle onto frame -->\r\n<!-- picture07-rear-triangle-brazed.jpg -->\r\n<!-- Rear triangle brazed to frame -->\r\n<!-- picture08-emt-opening.jpg -->\r\n<!-- Making emt bottom rails -->\r\n<!-- picture09-prying-open.jpg -->\r\n<!-- Prying cuts open -->\r\n<!-- picture10-say-ahh.jpg -->\r\n<!-- Finished and ready to fit in frame -->\r\n<!-- picture11-bending-tool.jpg -->\r\n<!-- Emt bending tool -->\r\n<!-- picture12-bottom-rails-ready-to-braze.jpg -->\r\n<!-- Bottom rails ready for brazing -->\r\n',326,115,0,'CC-BY-SA','bicycle, recumbent',0,0,1),
(3130,'2020-07-31','More Quick Tips',667,'This time tips onNvidia ffmpeg transcoding Fallout Perks Late to Movies,Shared 2FA,Time to leave app','<ol type=\"1\">\r\n<li>I talk about using Nvidia to quickly transcode</li>\r\n<li>Go over fallout 76 perks</li>\r\n<li>Show up to movies 20min late to miss th BS</li>\r\n<li>Shared 2FA because everybody uses SMS for some reason even tho the feds say now not to ... it took us 10 years to get here lol</li>\r\n<li>Time to leave app ! never be late to anything again... LOL .. you wish !</li>\r\n</ol>\r\n<p>-rmccurdy.com</p>\r\n',36,0,1,'CC-BY-SA','Nvidia ffmpeg transcoding,Fallout Perks,Late to Movies,Shared 2FA,Time to leave app',0,0,1),
(3135,'2020-08-07','Quick Tips for May 20 20',977,'BlueTooth,Carseats,tweezers,waffles ','<ol type=\"1\">\r\n<li>Talk about Bluetooth...</li>\r\n<li>We can put a man on the moon but we can\'t make a carseat that doesn\'t make me want to murder people when I try to move it ...</li>\r\n<li>Sharpen those tweezers!</li>\r\n<li>Waffffffffelz! YUM!</li>\r\n</ol>',36,0,1,'CC-BY-SA','BlueTooth,Carseats,tweezers,waffles ',0,0,1),
(3140,'2020-08-14','GIMP: Selection Tools',962,'The key to using GIMP effectively is to select the area you want to work on.','<p>Selection Tools define the area that other tools will work within. For example, if you want to add color to an image, you probably want to add it to a specific area, not to the entire image. Selection Tools help you to pick the area precisely, and are useful for photo retouching purposes.</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.8/en/\">https://docs.gimp.org/2.8/en/</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/tools-selection/\">https://www.ahuka.com/gimp/tools-selection/</a></li>\r\n</ul>\r\n',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, selection',0,0,1),
(3150,'2020-08-28','GIMP: Paint Tools',1097,'With Paint Tools you begin to operate on the image.','<p>Paint Tools are where you begin to add things to an image. You can add a large variety of things depending on the tool, from thin lines to broad strokes, to gradients, and so on.</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.8/en/\">https://docs.gimp.org/2.8/en/</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/paint-tools/\">https://www.ahuka.com/gimp/paint-tools/</a></li>\r\n</ul>\r\n',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, paint, draw',0,0,1),
(3160,'2020-09-11','GIMP: Transform Tools',992,'With Transform Tools you can stretch, move, and crop the image.','<p>Transform Tools are where you start to manipulate an image. You can move it around, stretch it, rotate it, crop it, and so on. This is the third of the four groups of tools we will look at for GIMP.</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.8/en/\" class=\"uri\">https://docs.gimp.org/2.8/en/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Transformation_matrix\" class=\"uri\">https://en.wikipedia.org/wiki/Transformation_matrix</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/transform-tools/\" class=\"uri\">https://www.ahuka.com/gimp/transform-tools/</a></li>\r\n</ul>\r\n',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, transform',0,0,1),
(3113,'2020-07-08','OpenJDK 15 - Unsafe Garbage',893,'We take a quick look at what is coming in JDK 15','<p><a href=\"https://youtu.be/7duUZYvNFWw\">Youtube: OpenJDK 15 - Unsafe Garbage</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/339\">339: Edwards-Curve Digital Signature Algorithm (EdDSA)</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/360\">360: Sealed Classes (Preview)</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/371\">371: Hidden Classes</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/372\">372: Remove the Nashorn JavaScript Engine</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/373\">373: Reimplement the Legacy DatagramSocket API</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/374\">374: Disable and Deprecate Biased Locking</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/375\">375: Pattern Matching for instanceof (Second Preview)</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/377\">377: ZGC: A Scalable Low-Latency Garbage Collector</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/378\">378: Text Blocks</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/379\">379: Shenandoah: A Low-Pause-Time Garbage Collector</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/381\">381: Remove the Solaris and SPARC Ports</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/383\">383: Foreign-Memory Access API (Second Incubator)</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/384\">384: Records (Second Preview)</a></p>\r\n<p><a href=\"https://openjdk.java.net/jeps/385\">385: Deprecate RMI Activation for Removal</a></p>\r\n',382,0,0,'CC-BY-SA','java, news',0,0,1),
(3118,'2020-07-15','Linux Inlaws S01E10 The Python Bumper Part 1',5436,'A discussion of Python questions and their answers (part 1). Plus news on Brad and Alia','<ul>\r\n    <li>Linux 5.8RC1: <a href=\"https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.8-rc1-Released\" target=_blank>https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.8-rc1-Release\r\nd</a></li>\r\n  <li>Stackless Python: <a href=\"https://github.com/stackless-dev/stackless/wiki\" target=_blank>https://github.com/stackless-dev/stackless/wiki</a></li>\r\n  <li>Python 3 documentation: <a href=\"https://docs.python.org/3\" target=_blank>https://docs.python.org/3</a></li>\r\n  <li>Guido van	Rossum:	<a href=\"https://gvanrossum.github.io\" target=_blank>https://gvanrossum.github.io</a></li>\r\n    <li>Python Enhancement Proposals (PEPs): <a href=\"https://www.python.org/dev/peps\" target=_blank>https://www.python.org/dev/peps</a></li>\r\n    <li>PEP 404: <a href=\"https://www.python.org/dev/peps/pep-0404\" target=_blank>https://www.python.org/dev/peps/pep-0404</a></li>\r\n    <li>PEP 572: <a href=\"https://www.python.org/dev/peps/pep-0572\" target=_blank>https://www.python.org/dev/peps/pep-0572</a></li>\r\n    <li>Brad & Alia: <a href=\"https://www.gala.de/stars/news/l_a__news/brad-pitt--ist-er-mit-dieser-schauspielerin-zusammen--22244236.html\" target=_blank>https://www.gala.de/stars/news/l_a__news\r\n/brad-pitt--ist-er-mit-dieser-schauspielerin-zusammen--22244236.html</a></li>\r\n</ul>',384,111,1,'CC-BY-SA','Python, PEP, Linux, Alia Shawkat, Brad Pitt, Stackless Python',0,0,1),
(3117,'2020-07-14','The joy of retro computing',1914,'Knightwise talks about the old computers in his attic and how it is a loverly geek getaway','<p>Knightwise talks about his collection of old macs and pc\'s and how he uses them as a little \"getaway\" of the rush of modern day life. Show recorded in the car, excuse the road noise.</p>',111,0,0,'CC-BY-SA','Retro computer',0,0,1),
(3123,'2020-07-22','Arduino controlled Christmas lights',170,'Controlling Christmas LED lights with an Arduino','<ol type=\"1\">\r\n<li><p>Inspired by an Instructable project</p>\r\n<p><a href=\"https://www.instructables.com/id/LED-VU-Meter-With-Arduino-UNO\">https://www.instructables.com/id/LED-VU-Meter-With-Arduino-UNO</a></p></li>\r\n<li><p>Started the project with Arduino Uno.</p>\r\n<ul>\r\n<li>Found that power it with the barrel plug made audio input stable</li>\r\n<li>Tested this theory by using USB power</li>\r\n<li>Suspect this was due to grounding not being as good with the USB</li>\r\n<li>This caused LED\'s to light even without an audio input</li>\r\n<li>Ended up using an generic Arduino Nano to control the project</li>\r\n</ul></li>\r\n<li><p>Modified an audio mic preamplifier from Amazon to condition the output from the laptop music source</p></li>\r\n<li><p>Ran the output from this to A0 on the Arduino</p></li>\r\n<li><p>Split the signal out to an external speaker</p></li>\r\n<li><p>Used digital outputs listed in the sketch to power the LED indicators</p>\r\n<ul>\r\n<li>For reference, a sketch is the program that the Arduino runs through a loop.</li>\r\n</ul></li>\r\n<li><p>Used pins 10 to 12 as AnalogWrite pin to provide the power to the solid state relays.</p></li>\r\n<li><p>Used a dremel to separate the power to the hot side of the two power outlets</p>\r\n<ul>\r\n<li>Used three of the outlets to power three strings of Christmas tree LED lights.</li>\r\n<li>Used the other outlet to power the Arduino</li>\r\n</ul></li>\r\n<li><h4 id=\"bonus\">Bonus</h4>\r\n<ul>\r\n<li>Using these particular solid state relays, there is still a 10Vac output in <em>off</em> state. It actually worked for good, as the lights are at a nice brightness without a music input.</li>\r\n<li>Kindly leave a note in the comments if this is common to Solid State relays.</li>\r\n</ul></li>\r\n</ol>\r\n<h3 id=\"links\">Links:</h3>\r\n<h4 id=\"gy-max4466-electret-microphone-amplifier\">GY-MAX4466 Electret Microphone Amplifier</h4>\r\n<p><a href=\"https://www.amazon.com/gp/product/B07C3HXPJ9/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;psc=1\">https://www.amazon.com/gp/product/B07C3HXPJ9/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;psc=1</a></p>\r\n<h4 id=\"solid-state-relay-on-ebay\">Solid State relay on Ebay</h4>\r\n<p><a href=\"https://www.ebay.com/itm/25A-40A-SSR-25DA-SSR-40DA-250V-Solid-State-Relay-Module-Alloy-Heat-Sink/401478280169?hash=item5d79f863e9:g:dkwAAOSwiqFaX3f8\">https://www.ebay.com/itm/25A-40A-SSR-25DA-SSR-40DA-250V-Solid-State-Relay-Module-Alloy-Heat-Sink/401478280169?hash=item5d79f863e9:g:dkwAAOSwiqFaX3f8</a></p>\r\n<h4 id=\"elegoo-for-arduino-nano-v3.0\">ELEGOO for Arduino Nano V3.0</h4>\r\n<p><a href=\"https://www.amazon.com/gp/product/B0713XK923/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;psc=1\">https://www.amazon.com/gp/product/B0713XK923/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;psc=1</a></p>\r\n<h4 id=\"analogwrite\">AnalogWrite</h4>\r\n<p><a href=\"https://www.arduino.cc/en/pmwiki.php?n=Reference/AnalogWrite\">https://www.arduino.cc/en/pmwiki.php?n=Reference/AnalogWrite</a></p>\r\n<p><a href=\"https://www.arduino.cc/en/Tutorial/AnalogInOutSerial\">https://www.arduino.cc/en/Tutorial/AnalogInOutSerial</a></p>\r\n<h3 id=\"my-video\">My video</h3>\r\n<p><a href=\"https://archive.org/details/vid-20191217-192821-no-audio\">Sound\r\nReactive Christmas lights on Archive.org</a></p>\r\n<p><img src=\"https://ia801506.us.archive.org/34/items/screenshot-20200630-014101/Screenshot_20200630-014101.png\" style=\"width:200px;\" /></p>\r\n<p><strong>Edit:</strong></p>\r\n<p>Here is the song I meant to add, to see if it matches my video of the lights.</p>\r\n<p>It is the Trans Siberian Orchestra, Carol of the Bells.</p>\r\n<p><a href=\"https://m.youtube.com/watch?v=sCabI3MdV9g\" target=\"_blank\">https://m.youtube.com/watch?v=sCabI3MdV9g</a></p>\r\n',318,91,0,'CC-BY-SA','Arduino, Christmas, lights, Solid state relays',0,0,1),
(3170,'2020-09-25','GIMP: Color Tools',1199,'With Color Tools you can adjust the colors and brightness of an image.','<p>Color Tools are where you can adjust the colors and brightness of an image.You can change the color balance, adjust individual colors or transparency without affecting other colors, and so on. This is the fourth of the four general groups of tools we will look at for GIMP. There will also be some miscellaneous tools.</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.8/en/\" class=\"uri\">https://docs.gimp.org/2.8/en/</a></li>\r\n<li><a href=\"https://osdn.net/projects/separate-plus/\" class=\"uri\">https://osdn.net/projects/separate-plus/</a></li>\r\n<li><a href=\"https://learn.leighcotnoir.com/artspeak/elements-color/hue-value-saturation/\" class=\"uri\">https://learn.leighcotnoir.com/artspeak/elements-color/hue-value-saturation/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Complementary_colors\" class=\"uri\">https://en.wikipedia.org/wiki/Complementary_colors</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/transform-tools/\" class=\"uri\">https://www.ahuka.com/gimp/transform-tools/</a></li>\r\n</ul>\r\n',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, color',0,0,1),
(3180,'2020-10-09','GIMP: Miscellaneous Tools',803,'These few remaining tools are important, but don\'t fit neatly into one category.','<p>The Miscellaneous tools do a number of useful things without fitting neatly into a category. The Paths tool takes Selections up a notch and also lets you add interesting effects. Zoom is one you would use every day, and Measure is handy in some situations. Finally, GEGL Operations are the future of all GIMP development</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.8/en/\" class=\"uri\">https://docs.gimp.org/2.8/en/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/B%C3%A9zier_curve\" class=\"uri\">https://en.wikipedia.org/wiki/B%C3%A9zier_curve</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Font_hinting\" class=\"uri\">https://en.wikipedia.org/wiki/Font_hinting</a></li>\r\n<li><a href=\"https://www.webopedia.com/TERM/A/antialiasing.html\" class=\"uri\">https://www.webopedia.com/TERM/A/antialiasing.html</a></li>\r\n<li><a href=\"https://docs.gimp.org/2.8/en/gimp-tool-gegl.html\" class=\"uri\">https://docs.gimp.org/2.8/en/gimp-tool-gegl.html</a></li>\r\n<li><a href=\"https://docs.gimp.org/2.10/en/gimp-tool-gegl.html\" class=\"uri\">https://docs.gimp.org/2.10/en/gimp-tool-gegl.html</a></li>\r\n<li><a href=\"https://www.youtube.com/watch?v=aEsqVMCgpJ8\" class=\"uri\">https://www.youtube.com/watch?v=aEsqVMCgpJ8</a></li>\r\n<li><a href=\"https://www.patreon.com/m/649544/posts\" class=\"uri\">https://www.patreon.com/m/649544/posts</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/miscellaneous-tools/\" class=\"uri\">https://www.ahuka.com/gimp/miscellaneous-tools/</a></li>\r\n</ul>\r\n',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, paths, zoom, GEGL',0,0,1),
(3124,'2020-07-23','Matchbox Restoration Part 5',310,'In this the 5th in the series Tony discusses the painting process on the castings of the MK10 Jaguar','<h2 id=\"hpr-matchbox-show-episode-5\">HPR Matchbox show Episode 5</h2>\r\n<p>Good day to all in HPR land, this is Tony Hughes coming to you again from Blackpool in the UK. To recap this is the 5th in a series of shows about my hobby of restoring Matchbox and other Die cast models. In the last show I went through the process I use to remove the paint and prepare the casting for repainting and reassembly. In this episode we will look at the painting of the castings and \'Spoiler\' what to do if things go wrong.</p>\r\n<p>After polishing and before painting I degrease the casting in some alcohol. I use a cheap own brand nail polish remover from the Co-Op but there are many ways of doing this and as many products on the market, so use what you have to hand. Even a good clean in hot soapy water, dry with a lint free cloth and then a wipe over with alcohol wipes works well. Remember to wear gloves when handling the casting after this process as the grease from your hands can undo all your hard work.</p>\r\n<p>So the first thing to say is that I am still in the early stages of learning this hobby and use what are referred to as \'Rattle\' cans in this community, it just means spray can painting rather than the use of an Air Brush, which I will be moving onto at some point so I can mix my own paint colours and not just those available in a spray can.</p>\r\n<p>So far I have been painting the casting outside during a warm dry day with little or no wind, or in a sheltered spot behind the garage if the wind is a little strong. I have now set up a small portable spray booth in the garage for this so will be able to paint in all conditions weather wise, which will make life easier.</p>\r\n<p>Image 001<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_000.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_000_thumbnail.jpg\" alt=\"Image 001\" /></a></p>\r\n<p>So back to the casting, I use a Hemostat Clamp to hold the casting on this model it is attached to the post that holds the model together as this will not be seen when reassembled, I used a grey primer, spraying light coats all over the model until it is completely covered in the primer. Priming helps smooth out any small imperfections for the final paint coat, and as the casting is over 50 years old, it also lays down a consistent base colour and ensures that the colour coat should be the same all over when final paint is applied. As you can see in the picture it also shows up the casting lines and if desired these can be filed away prior to final painting, as this is a restoration I left this casting as original as possible, and left these in.</p>\r\n<p>Image 002<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_001.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_001_thumbnail.jpg\" alt=\"Image 002\" /></a></p>\r\n<p>Image 003<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_002.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_002_thumbnail.jpg\" alt=\"Image 003\" /></a></p>\r\n<p>After leaving the casting to dry for about an hour I came back with the colour coat, the original model was a metallic brown, but the nearest match I was able to find in the local pound shops is a metallic gold. Not perfect but the final results look good, but a little lighter than the original paint. I applied the paint in smooth fine strokes, getting what is called a tack coat of the paint all over the model casting to start, then applying another coat (the wet coat) all over until there is no sign of the primer and all looks smooth but with no runs in the paint finish. The balance needs to be just right with not too little or too much paint, but with practice you get there in the end. Unforseeably on this occasion there was a reaction with the primer on the rear of the model which caused bubbling of the paint.</p>\r\n<p>Image 004<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_003.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_003_thumbnail.jpg\" alt=\"Image 004\" /></a></p>\r\n<p>Image 005<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_004.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_004_thumbnail.jpg\" alt=\"Image 005\" /></a></p>\r\n<p>So after allowing the paint to fully cure I used a little wet and dry fine sanding paper to smooth out this area and gave the casting another coat of paint, and fortunately this time all was well as you can see from the pictures in the show notes.</p>\r\n<p>Image 006<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_005.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_005_thumbnail.jpg\" alt=\"Image 006\" /></a></p>\r\n<p>Image 007<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_006.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_006_thumbnail.jpg\" alt=\"Image 007\" /></a></p>\r\n<p>While the casting was fully curing I turned my attention to the screen plastic. I found the best of the ones I had salvaged, from the 4 castings, picture 008 in the notes, and gave it a polish with some auto sol polishing compound using a cotton bud, and it came out quite nice. I then gave it a wash in soapy water to remove the residue of the polishing compound and after drying gave it a dip in some Pledge floor shine, it works great.</p>\r\n<p>Image 008<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_007.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_007_thumbnail.jpg\" alt=\"Image 008\" /></a></p>\r\n<p>Image 009<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_008.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_008_thumbnail.jpg\" alt=\"Image 009\" /></a></p>\r\n<p>Image 010<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_009.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_009_thumbnail.jpg\" alt=\"Image 010\" /></a></p>\r\n<p>After coating the screen in the Pledge it is placed on a pad of paper towel and covered with a plastic pot to stop dust getting on it while drying.</p>\r\n<p>Image 011<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3124/img_010.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3124/img_010_thumbnail.jpg\" alt=\"Image 011\" /></a></p>\r\n<p>Although the original casting had a black painted base I liked the look of the polished base so decided to leave this as it was, but if painting the base it is the same process as the main casting.</p>\r\n<p>Well that\'s it for this episode, on the next I will look at putting the wheels and axles back on the base and the reassembly process.</p>\r\n<p>This is Tony Hughes for Hacker Public Radio, saying goodbye for now, keep safe everyone and I\'ll be back soon with the next instalment.</p>\r\n',338,114,0,'CC-BY-SA','Matchbox Cars, Diecast Models, Restoration, painting, Rattle cans, Air brushing, Plastic polishing',0,0,1),
(3121,'2020-07-20','Opposing Views on Tattoos',1866,'Windigo and Mrs. Honeyhume discuss their views on tattoos','<p>\r\nNote: Phone recording came with a little bit of a hiss. Sorry about that!\r\n</p>\r\n<p>\r\nI discuss the subject of tattoos with my partner of fifteen years, Mrs. Honeyhume. While we agree on many subjects, tattoos are not one of them.\r\n</p>\r\n<p>\r\nShe enjoys and appreciates tattoos, seeing them as a permanent form of art that you can display on your own body. She has several of her own. I do not mind if other people tattoo themselves, but I am very opposed to getting them myself.\r\n</p>\r\n<p>\r\nWe discuss cultural influences of tattooing, some different methods used to tattoo skin, and many hypothetical situations to try to pin down the source of my opposition to getting one.\r\n</p>\r\n',196,0,1,'CC-BY-SA','tattoos',0,0,1),
(3126,'2020-07-27','Metrics part II',1967,'The metric of a 2D curved surface','<p>In this show I continue from where I left off in my last show (<a href=\"https://hackerpublicradio.org/eps.php?id=3101\">3101</a>) and talk about the geometry of curved 2D surfaces such as that of a sphere.</p>\r\n<p>Using the Earth\'s surface as an example we can use familiar the co-ordinates of longitude and latitude, illustrated on this diagram:</p>\r\n<img alt=\"Sphere with latitude and longitude\" src=\"https://hackerpublicradio.org/eps/hpr3126/FedStats_Lat_long.png\">\r\n\r\n<p><em>Source: Public domain, <a href=\"https://commons.wikimedia.org/wiki/File:FedStats_Lat_long.png\">Wikimedia commons</a></em></p>\r\n<p>On the left we see circles of constant latitude. The largest of these circles is at latitude 0° and is called the <strong>equator</strong>. Its circumference is equal to that of the Earth and so it is an example of a <strong>great circle</strong>.</p>\r\n<p>On the right we see lines of constant longitude. These run from pole to pole and are perpendicular to the equator. Each of these lie on a great circle (in fact they are half a great circle each).</p>\r\n<p>Great circles on the surface of a sphere are analogous to straight lines on a flat 2D surface. They offer a way to connect any two points with the shortest distance. Lines in 2D or great circles on a sphere are examples of what is called a <strong>geodesic</strong>. In physics, particles that are not subject to any forces will follow geodesics.</p>\r\n<p>In Einstein\'s General Theory of Relativity, the presence of mass or energy will alter the shape of spacetime and that will determine the metric. From the metric you can derive the geodesics and from that you can predict the motion of objects with no forces acting on them. In this way you can do away with the approximation that is Newton\'s gravitational force and replace it by a description that only involves the curvature of spacetime. I only touch on this in this show but will likely return to it in future shows.</p>\r\n<p>Here are the equations discussed in this show and the previous one:</p>\r\n<img alt=\"Sphere with latitude and longitude\" src=\"https://hackerpublicradio.org/eps/hpr3126/metric_equations.png\">\r\n\r\n',268,0,0,'CC-BY-SA','maths,relativity,physics,earth',0,0,1),
(3122,'2020-07-21','Devuan review - and commentary',2086,'Devuan  Review plus I talk about race','<p>\r\nFrom <a href=\"https://en.wikipedia.org/wiki/Devuan\">Wikipedia</a>, the free encyclopedia\r\n</p>\r\n<p>\r\n<b><a href=\"https://devuan.org/\">Devuan</a></b> is a fork Debian that uses sysvinit or OpenRC instead of systemd, which is the default in newer Debian releases. The Devuan development team aim to maintain compatibility with other init systems in the future and not detach Linux from other Unix systems.\r\n</p>\r\n<p>\r\n<small>[Edit: Ken 2020-07-21]</small>\r\n</p>\r\n<p>\r\nA significant portion of this show relates to the U.S Supreme Court decision in the case of <a href=\"https://www.supremecourt.gov/opinions/19pdf/18-9526_9okb.pdf\">McGIRT v. OKLAHOMA</a>, and speculation as to possible ramifications.\r\n</p>\r\n\r\n',377,0,0,'CC-BY-SA','Devuan, Debian, sysvinit, OpenRC, systemd',0,0,1),
(3190,'2020-10-23','GIMP Brushes',1219,'Paint tools, and particularly the Paintbrush Tool, require the use of brushes.','<p>Brushes are a key part of using Paint tools, and in particular the Paintbrush Tool. And in this episode we look at how to work with, edit, download, and save different brushes. We look at the Brush Dialog, and examine the different settings that make them easier to work with.</p>\r\n<p>Links:</p>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.8/en/\" class=\"uri\">https://docs.gimp.org/2.8/en/</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/paint-tools/\" class=\"uri\">https://www.ahuka.com/gimp/paint-tools/</a></li>\r\n<li><a href=\"https://franz.com/support/documentation/current/doc/cg/cg-pixmaps.htm\" class=\"uri\">https://franz.com/support/documentation/current/doc/cg/cg-pixmaps.htm</a></li>\r\n<li><a href=\"https://ergodic.ugr.es/cphys_pedro/unix/athena5.html\" class=\"uri\">https://ergodic.ugr.es/cphys_pedro/unix/athena5.html</a></li>\r\n<li><a href=\"https://conceptartempire.com/gimp-brushes/\" class=\"uri\">https://conceptartempire.com/gimp-brushes/</a></li>\r\n<li><a href=\"https://opensource.com/article/17/10/7-must-have-gimp-brushes\" class=\"uri\">https://opensource.com/article/17/10/7-must-have-gimp-brushes</a></li>\r\n<li><a href=\"https://logosbynick.com/free-download-gimp-brushes/\" class=\"uri\">https://logosbynick.com/free-download-gimp-brushes/</a></li>\r\n<li><a href=\"https://daviesmediadesign.com/the-best-free-brushes-for-gimp-in-2020/\" class=\"uri\">https://daviesmediadesign.com/the-best-free-brushes-for-gimp-in-2020/</a></li>\r\n<li><a href=\"https://www.makeuseof.com/tag/install-gimp-brushes/\" class=\"uri\">https://www.makeuseof.com/tag/install-gimp-brushes/</a></li>\r\n<li><a href=\"https://www.deviantart.com/\" class=\"uri\">https://www.deviantart.com/</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/brushes/\" class=\"uri\">https://www.ahuka.com/gimp/brushes/</a></li>\r\n</ul>\r\n',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, brushes',0,0,1),
(3129,'2020-07-30','Followup on HPR3122',2157,'Followup on HPR3122 and *MORE* - percent *MORE* undescribed','https://www.youtube.com/watch?v=OFWCbGzxofU',377,0,0,'CC-BY-SA','Followups MORE',0,0,1),
(3127,'2020-07-28','HPR AudioBook Club 20 - Quarter Share',9131,'The HPR Audiobook Club reviews the audiobook Quarter Share by Nathan Lowell','<h1 id=\"in-this-episode-the-hpr-audiobook-club-discusses-the-audiobook-quarter-share-by-nathan-lowell\">In this episode the HPR Audiobook Club discusses the audiobook <a href=\"https://scribl.com/books/P2A75/quarter-share\">Quarter Share</a> by Nathan Lowell</h1>\r\n<hr />\r\n<h1 id=\"non-spoiler-thoughts\">Non-Spoiler Thoughts</h1>\r\n<hr />\r\n<ul>\r\n<li>This may be Pokey\'s all time favorite audiobook.</li>\r\n<li>This book takes the \'fish out of water\" trope and turns it on it head to a certain extent.</li>\r\n<li>Is Klaatu really Bilbo Baggins?</li>\r\n<li>Ishmael Wang is kinda our hero.</li>\r\n<li>So Traveller is a huge influence on these books.</li>\r\n<li>You know you want to deep dive on the lore of this universe. <a href=\"https://solarclipper.com/\">Go ahead</a>.</li>\r\n<li>Buy more Nathan Lowell books.</li>\r\n<li>WWID, What Would Ishmael Do</li>\r\n<li>Excellent recording, despite equipment of dubious quality.</li>\r\n<li>Solar Clipper Universe vs. StarDrifter Universe, and how we are fantastically lucky to have both.</li>\r\n</ul>\r\n<h1 id=\"beverage-reviews\">Beverage Reviews</h1>\r\n<hr />\r\n<p>As usual, the HPR AudioBook Club took some time to review the beverages that each of us were drinking during the episode</p>\r\n<ul>\r\n<li><strong>Thaj:</strong> Grapefruit Juice, simple, delicious.</li>\r\n<li><strong>x1101:</strong> Shipyards Signature Series IPA</li>\r\n<li><strong>pokey:</strong> I like Roma Sambuka in my coffee. It\'s muggy here today, so I\'m happy to discover that it\'s just as good in ice coffee. Roma Sambuka does not seem to have a website. The trick, imho, is to make your coffee as you normally would, then add the booze. Don\'t adjust for the booze, other than using a bigger glass.</li>\r\n<li><strong>FiftyOneFifty:</strong> <a href=\"https://olesmoky.com/pages/distillery\">Ole Smokey Tennessee Moonshine</a></li>\r\n</ul>\r\n<h1 id=\"things-we-talked-about\">Things We talked about</h1>\r\n<hr />\r\n<ul>\r\n<li>We definitely can\'t keep these books straight. Just read them all. You\'ll thank us.</li>\r\n<li>Pokey found a plot bullet, maybe. Thaj may disagree.</li>\r\n<li>All the characters are there for a reason.</li>\r\n<li>Nathan\'s reading voice is perfect for this series.</li>\r\n<li>Wormholes, wormholes, wormholes.</li>\r\n<li>We discuss the details of how to use the technology from this series to fly into a system.</li>\r\n<li>Pokey wishes promotions in the real world worked they way they work on the ship.</li>\r\n<li>Find the Podiobook Easter eggs.</li>\r\n</ul>\r\n<h1 id=\"our-next-audiobook\">Our Next Audiobook</h1>\r\n<hr />\r\n<p><a href=\"https://scribl.com/books/P98FB/the-terrible-business-of-salmon-and-dusk\">The Terrible Business of Salmon &amp; Dusk</a></p>\r\n<h1 id=\"the-next-audiobook-club-recording\">The Next Audiobook Club Recording</h1>\r\n<hr />\r\n<p>Right now we are working through a backlog of older episode that have already been recorded. Once that ends we fully anticipate recording new episodes with listener participation.</p>\r\n<h1 id=\"further-recommendations\">Further Recommendations</h1>\r\n<hr />\r\n<ul>\r\n<li>Daredevil</li>\r\n<li>The DCEU</li>\r\n<li>We talk about a picture I can no longer find a link for.</li>\r\n<li>Pokey gets a new <a href=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fi.ytimg.com%2Fvi%2FMey_Q4ZhvD4%2Fmaxresdefault.jpg&amp;f=1&amp;nofb=1\">motorcycle</a>.</li>\r\n<li>FiftyOneFifty talks about actual computer stuff.</li>\r\n<li>Windows probs...</li>\r\n<li>Web Browsers editorializing the Internet.</li>\r\n<li>Is Flash dead yet?</li>\r\n</ul>\r\n<h1 id=\"feedback\">Feedback</h1>\r\n<hr />\r\n<p>Thank you very much for listening to this episode of the HPR AudioBookClub. We had a great time recording this show, and we hope you enjoyed it as well. We also hope you\'ll consider joining us next time we record a new episode. Please leave a few words in the episode\'s comment section.</p>\r\n<p>As always; remember to visit the HPR contribution page HPR could really use your <a href=\"https://hackerpublicradio.org/help_out.php\">help</a> right now.</p>\r\n<p>Sincerely, The HPR Audiobook Club</p>\r\n<p><em>P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.</em></p>\r\n<h1 id=\"our-audio\">Our Audio</h1>\r\n<hr />\r\n<p>This episode was processed using <a href=\"https://audacity.sourceforge.net/\">Audacity</a>. We\'ve been making small adjustments to our audio mix each month in order to get the best possible sound. Its been especially challenging getting all of our voices relatively level, because everyone has their own unique setup. Mumble is great for bringing us all together, and for recording, but it\'s not good at making everyone\'s voice the same volume. We\'re pretty happy with the way this month\'s show turned out, so we\'d like to share our editing process and settings with you and our future selves (who, of course, will have forgotten all this by then).</p>\r\n<p>We use the \"Truncate Silence\" effect with it\'s default settings to minimize the silence between people speaking. When used with it\'s default (or at least reasonable) settings, Truncate Silence is extremely effective and satisfying. It makes everyone sound smarter, it makes the file shorter without destroying actual content, and it makes a conversations sound as easy and fluid during playback as it was while it was recorded. It can be even more effective if you can train yourself to remain silent instead of saying \"uuuuummmm.\" Just remember to ONLY pass the file through Truncate Silence ONCE. If you pass it through a second time, or if you set it too aggressively your audio may sound sped up and choppy.</p>\r\n<p>Next we use the \"Compressor\" effect with the following settings:</p>\r\n<pre><code>    Threshold: -30db\r\n    Noise Floor: -50db\r\n    Ratio: 3:1\r\n    Attack Time: 0.2sec\r\n    Decay Time: 1.0 sec\r\n</code></pre>\r\n<p>\"Make-up Gain for 0db after compressing\" and \"compress based on peaks\" were both left un-checked.</p>\r\n<p>After compressing the audio we cut any pre-show and post-show chatter from the file and save them in a separate file for possible use as outtakes after the closing music.</p>\r\n<p>We adjust the Gain so that the VU meter in Audacity hovers around -12db while people are speaking, and we try to keep the peaks under -6db, and we adjust the Gain on each of the new tracks so that all volumes are similar, and more importantly comfortable. Once this is done we can \"Mix and Render\" all of our tracks into a single track for export to the .FLAC file which is uploaded to the HPR server.</p>\r\n<p>At this point we listen back to the whole file and we work on the shownotes. This is when we can cut out anything that needs to be cut, and we can also make sure that we put any links in the shownotes that were talked about during the recording of the show. We finish the shownotes before exporting the .aup file to .FLAC so that we can paste a copy of the shownotes into the audio file\'s metadata.</p>\r\n<p>At this point we add new, empty audio tracks into which we paste the intro, outro and possibly outtakes, and we rename each track accordingly.</p>\r\n<p>Remember to save often when using Audacity. We like to save after each of these steps. Audacity has a reputation for being \"crashy\" but if you remember save after every major transform, you will wonder how it ever got that reputation.</p>\r\n',157,53,1,'CC-BY-SA','Nathan Lowell, Audiobooks, SciFi, Space Opera',0,0,1),
(3132,'2020-08-04','Keeping track of where I am',1362,'How I keep track of where I am','<p>This episode covers how I keep track of what I\'m listening to</p>\r\n<p>I almost never produced this podcast as I discovered part way through that I had covered it in my show \"Describing how I listen to podcasts PART 2\" (HPR 2889). I\'m conscious I have a tendency to repeat myself in real life, I think this is because I have such a terrible memory. Despite this I decided to continue with the episode but will go into subject in a bit more detail.</p>\r\n<p>These ideas slowly evolved over time and I think some of them may now be redundant. I think I need to do some tidying.</p>\r\n<p>As I\'ve previously mention I used cordless headphones to listen to my podcasts and audiobooks. The headphones come with base transmitter which was originally plugged into my old Compaq home server. This server was generally turned on when I came home from work and turned off before going to bed. Each night I had to remember which track I was on and where about in the track. I often forgot and had to try and find the place again. This quickly became a tiresome task.</p>\r\n<p>My first solution was to use some bash Kung Fu jiggery pokery to create list of files which I placed in each podcast folder. In the process I learned a bit about using bash commands.</p>\r\n<p>Command used to create index</p>\r\n<pre><code>id3v2 -l *.mp3 | grep &#39;TIT2&#39; | cut -c44- &gt;&gt; readme.txt\r\nid3v2 -l *.mp3 | grep &#39;TIT2&#39; | cut -c44- | egrep &#39;HPR[01][9][7-9]&#39; &gt;&gt; readme.txt\r\nid3v2 -l *.mp3 | grep &#39;TIT2&#39; | cut -c44- | egrep &#39;HPR[1-9]&#39; |less &gt;&gt; readme.txt\r\n========================================================\r\n========================================================</code></pre>\r\n<p>Example output</p>\r\n<pre><code>epr0006.mp3 - dosman                            complete\r\nhpr0010.mp3 - linux boot process, part 1        complete\r\nhpr0012.mp3 - zen virtulization                 complete\r\nhpr0018.mp3 - book review                       complete</code></pre>\r\n<p>The downside of this was that at the end of each night I had to remember to update my file lists recording what I had listened to and what position I was in within the track. From time to time I had to update this list by appending the latest episodes sitting on my server using the previous id3v2 command.</p>\r\n<p>As you can imagine this took up a fair amount of time and became very tiresome, I would sometimes forget to do it this would cause me a headache next time I started listening to my podcasts.</p>\r\n<p>My next solution involved creating a bash script that attempted to persuade my music player moc to find the track I was previously listening to.</p>\r\n<p>The script sometimes worked but it was a bit flaky and didn\'t always work.</p>\r\n<p>My final solution is in multiple parts</p>\r\n<p>The 1st part consists of a bash script and a log file, it\'s a handy way of checking the last podcast episode and last position, this information is recorded to the log file when the front end of moc is exited by hitting Q. Of course this doesn\'t work if mocp closes for any other reason ie if I forgot to hit Q or my Pi crashed.</p>\r\n<p>First script</p>\r\n<pre><code>~/scripts/podcasts\r\n\r\nquick lash up of script created 29/12/12 (DD/MM/YY)\r\nCreated to keep track of last position of listened podcast\r\n\r\nScript displays last 4 lines of logfile &quot;podcasts.txt&quot;\r\nThe four lines consist of a Dashed line separator, the last recorded Track\r\nTitle, last recorded Filename and the last recorded track position.\r\nThe script then pauses and displays a message saying\r\npress any key to continue.\r\nRuns mocp\r\nWhen the frontend of mocp exits\r\nThe script gets the current track filename\r\nIf the result is empty ie no filename then\r\n    exit with error saying (moc was not playing anything)\r\nif not empty\r\n    append a dashed line separator, the current track title, the current\r\n    filename, the current track position to logfile it then display last 4 lines\r\n    of logfile and exits the script\r\n\r\nSo in essence I get a reminder of the track and position I&#39;m listening to\r\nevery time a start or stop the front end of moc\r\n\r\nThe logfile located at /home/pi/scripts/podcast.txt\r\npodcasts.txt as of 4th October 2019 is 168KB in size and currently has 4904\r\nlines as each entry has 4 lines this means it currently contains 1226 entries.</code></pre>\r\n<p>The 2nd script I use runs as a cron job every night at 11.01pm. This script keeps track of all the files copied to the MP3 directory of my raspberry pi, this is where I put my podcasts that I want to listen to. I can then grep the log file to see the latest version of a particular episodes that\'s been copied to my mp3 directory as from time to time I delete the episodes I\'ve listened to before copying new ones in.</p>\r\n<pre><code>~/scripts/update-podcast-episode-log\r\n Below are the comments taken directly from my script\r\nCreated to keep track of the latest podcast episode I&#39;ve\r\nlistened to it does this by logging the contents\r\nof the mp3 directory on the raspberry pi.\r\nThe script checks the logfile exists, then checks the\r\npodcast (mp3) directory exists, it then use the find\r\ncommand to list the files in the mp3 directory and send the  listing to a log\r\nfile, a date stamp is added at the beginning of the listing.\r\nV1 11 July 2015\r\n\r\nLogfile located at /home/pi/files/logs/podcast-episodes.log\r\nAs of the 4th October 2019 the log file is an impressive 688Kb containing\r\na whopping 28,158 lines, the first entry was dated  15th July 2013</code></pre>\r\n<p>The 3rd script is also runs as a cron job every every night at 11.00pm</p>\r\n<pre><code>/home/pi/scripts/update-podcast-position-log\r\nBelow are the comments taken directly from my script\r\nCreated to log current position of current podcast\r\nThe script checks the logfile exists, then checks that mocp  is installed on\r\nthe system it then writes a timestamp, and track position information to\r\na logfile using moc with -Q flag to get current track position, track title\r\n&amp; file name\r\nV1 Created by MrX 11th July 2015\r\n\r\nLogfile located at /home/pi/files/logs/podcast-position.log\r\nSize is 148Kb as of 4th October 2019 currently has a 1495 lines, the first\r\nentry was dated 15th July 2013</code></pre>\r\n<p>Example logfile output</p>\r\n<pre><code>15:09:06:23:01 | 01:12 | Dave Morriss - HPR1811: Life and Times of a Geek part 2 (Hacker Public Radio) | hpr1811.mp3\r\n\r\nYY:MM:DD:HH:MM | Track position (MM:SS) | ID3 track title | Filename</code></pre>\r\n<p>The 4th script is identical to the previous script but is used to update the current audiobook position to a log file, like the previous script it runs as a cron job every night.</p>\r\n<pre><code>/home/pi/scripts/update-audiobook-position-log</code></pre>\r\n<p>The 5th and final script</p>\r\n<pre><code>home/pi/scripts/logs</code></pre>\r\n<p>Was created to easily view podcast and audiobook logs The script first checks that the logfiles exists, then displays the last three lines of my podcasts and audiobooks logs so I can quickly see the most recent episode positions that were stored by the cron jobs at 11pm.</p>\r\n<p>Logs are:-</p>\r\n<pre><code>/home/pi/files/logs/podcast-position.log\r\n/home/pi/files/logs/audiobook-position.log</code></pre>\r\n<h3 id=\"v1-created-by-mrx-13th-july-2015\">V1 Created by MrX 13th July 2015</h3>\r\n<h3 id=\"v2-updated-by-mrx-8th-august-2015\">V2 Updated by MrX 8th August 2015</h3>\r\n<p>This added an option to seach for a string in my episodes position logs to easily find out what the last episode I listened to of a particular book or podcast, the output is piped to less as numerous lines can be returned.</p>\r\n<p>if more than one argument is given then it displays an error and usage message</p>\r\n<h3 id=\"v3-updated-by-mrx-21st-jul-2017\">V3 Updated by MrX 21st Jul 2017</h3>\r\n<p>If a single argument is given now jumps to end of list rather than beginning, this was achieved by using the +G flag with less command.</p>\r\n<p>The script displays contents of logfiles</p>\r\n<pre><code>/home/pi/files/logs/podcast-position.log\r\n/home/pi/files/logs/audiobook-position.log</code></pre>\r\n<h2 id=\"links\">Links</h2>\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org/eps/hpr3132/logs\" class=\"uri\">https://hackerpublicradio.org/eps/hpr3132/logs</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps/hpr3132/update-podcast-episode-log\" class=\"uri\">https://hackerpublicradio.org/eps/hpr3132/update-podcast-episode-log</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps/hpr3132/update-podcast-position-log\" class=\"uri\">https://hackerpublicradio.org/eps/hpr3132/update-podcast-position-log</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps/hpr3132/index.html\" class=\"uri\">https://hackerpublicradio.org/eps/hpr3132/index.html</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps/hpr3132/update-audiobook-position-log\" class=\"uri\">https://hackerpublicradio.org/eps/hpr3132/update-audiobook-position-log</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps/hpr3132/podcasts\" class=\"uri\">https://hackerpublicradio.org/eps/hpr3132/podcasts</a></li>\r\n</ul>\r\n',201,0,1,'CC-BY-SA','Linux, bash, podcasts, audio, scripts',0,0,1),
(3149,'2020-08-27','HPR AudioBook Club 21  - The Terrible Business of Salmon and Dusk',6342,'The HPR Audiobook Club reviews the audiobook The Terrible Business of Salmon and Dusk by Myke Bartle','<h1 id=\"in-this-episode-the-hpr-audiobook-club-discusses-the-audiobook-the-terrible-business-of-salmon--dusk-by-myke-bartlett\">In this episode the HPR Audiobook Club discusses the audiobook <a href=\"https://scribl.com/books/P98FB/the-terrible-business-of-salmon-and-dusk\">The Terrible Business of Salmon &amp; Dusk</a> by Myke Bartlett</h1>\r\n<hr />\r\n<h1 id=\"non-spoiler-thoughts\">Non-Spoiler Thoughts</h1>\r\n<hr />\r\n<ul>\r\n<li>The terrible business of trying to listen to this book (technical difficulties abound)</li>\r\n<li>We talk about the audio players we tried to get around the technical difficulties.</li>\r\n<li>This book is a weird world.</li>\r\n<li>The reading performance is great, and the audio quality is good (minus technical difficulties).</li>\r\n<li>The is a clear distinction between characters by the reader using voice and accents.</li>\r\n<li>This pushes the definition of \"magical realism\". Perhaps \"surrealistic\" is a better description.</li>\r\n<li>The world is slightly more interesting than the characters.</li>\r\n</ul>\r\n<h1 id=\"beverage-reviews\">Beverage Reviews</h1>\r\n<hr />\r\n<p>As usual, the HPR AudioBook Club took some time to review the beverages that each of us were drinking during the episode</p>\r\n<ul>\r\n<li><strong>Thaj:</strong> Water and <a href=\"https://f-droid.org/en/packages/de.ph1b.audiobook/\">Material Player which is now called Voice</a></li>\r\n<li><strong>x1101:</strong> <a href=\"https://www.blacksheepbrewery.com/our-beers/monty-python/holy-grail/\">Monty Python\'s Holy <s>Gr</s>ail - Black Knight\'s Reserve</a></li>\r\n<li><strong>pokey:</strong> <a href=\"https://longtrail.com/age-verification?destination=beers/double-bag%C2%AE\">Long Trail Double Bag Ale</a> and <a href=\"https://racewithrusty.com/\">The Rusty Wallace Formula Experience</a></li>\r\n</ul>\r\n<h1 id=\"things-we-talked-about\">Things We talked about</h1>\r\n<hr />\r\n<ul>\r\n<li>Why are two sticks of chalk important?</li>\r\n<li>Does this end by not ending?</li>\r\n<li>Thaj thinks this is trying too hard to be clever. Both and Thaj and x1101 think Tincture does weird better.</li>\r\n<li>Is the fallen a metaphor for depression?</li>\r\n<li>What is going on with The Albion?</li>\r\n<li>\"There are a <em>LOT</em> of things that can use a little more explanation.\"</li>\r\n<li>Thaj thinks <a href=\"https://en.wikipedia.org/wiki/The_Rainbow_Thief\">The Rainbow Thief</a> and <a href=\"https://en.wikipedia.org/wiki/Adjustment_Team\">Adjustment Team</a> may be inspirations for this story. Pokey raises with Sherlock Holmes and Doctor Who.</li>\r\n<li>Also <a href=\"https://en.wikipedia.org/wiki/Kato_(The_Green_Hornet)\">Kato</a> from The Green Hornet...</li>\r\n<li>We disagree about how the time travel was done.</li>\r\n<li>Nero is the character we all felt the easiest to follow.</li>\r\n</ul>\r\n<h1 id=\"our-next-audiobook\">Our Next Audiobook</h1>\r\n<hr />\r\n<p><a href=\"https://scribl.com/books/P4C82/murder-at-avedon-hill\">Murder at Avedon Hill</a> by P.G. Holyfield</p>\r\n<h1 id=\"the-next-audiobook-club-recording\">The Next Audiobook Club Recording</h1>\r\n<hr />\r\n<p>Right now we are working through a backlog of older episode that have already been recorded. Once that ends we fully anticipate recording new epsiodes with listener participation.</p>\r\n<h1 id=\"further-recommendations\">Further Recommendations</h1>\r\n<hr />\r\n<ul>\r\n<li>Pokey goes to the races.</li>\r\n<li>Sometimes it\'s just easier to nuke and pave.</li>\r\n<li>New (Old) phones.</li>\r\n<li>Android File Explorers</li>\r\n<li>Audio Book Player Link: <a href=\"https://material-player.en.uptodown.com/android\">https://material-player.en.uptodown.com/android</a></li>\r\n<li>F-Droid link: Audiobook player now renamed Voice <a href=\"https://f-droid.org/en/packages/de.ph1b.audiobook/\">https://f-droid.org/en/packages/de.ph1b.audiobook/</a></li>\r\n</ul>\r\n<h1 id=\"feedback\">Feedback</h1>\r\n<hr />\r\n<p>Thank you very much for listening to this episode of the HPR AudioBookClub. We had a great time recording this show, and we hope you enjoyed it as well. We also hope you\'ll consider joining us next time we record a new episode. Please leave a few words in the episode\'s comment section.</p>\r\n<p>As always; remember to visit the HPR contribution page HPR could really use your <a href=\"https://hackerpublicradio.org/help_out.php\">help</a> right now.</p>\r\n<p>Sincerely, The HPR Audiobook Club</p>\r\n<p><em>P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.</em></p>\r\n<h1 id=\"our-audio\">Our Audio</h1>\r\n<hr />\r\n<p>This episode was processed using <a href=\"https://audacity.sourceforge.net/\">Audacity</a>. We\'ve been making small adjustments to our audio mix each month in order to get the best possible sound. Its been especially challenging getting all of our voices relatively level, because everyone has their own unique setup. Mumble is great for bringing us all together, and for recording, but it\'s not good at making everyone\'s voice the same volume. We\'re pretty happy with the way this month\'s show turned out, so we\'d like to share our editing process and settings with you and our future selves (who, of course, will have forgotten all this by then).</p>\r\n<p>We use the \"Truncate Silence\" effect with it\'s default settings to minimize the silence between people speaking. When used with it\'s default (or at least reasonable) settings, Truncate Silence is extremely effective and satisfying. It makes everyone sound smarter, it makes the file shorter without destroying actual content, and it makes a conversations sound as easy and fluid during playback as it was while it was recorded. It can be even more effective if you can train yourself to remain silent instead of saying \"uuuuummmm.\" Just remember to ONLY pass the file through Truncate Silence ONCE. If you pass it through a second time, or if you set it too aggressively your audio may sound sped up and choppy.</p>\r\n<p>Next we use the \"Compressor\" effect with the following settings:</p>\r\n<pre><code>    Threshold: -30db\r\n        Noise Floor: -50db\r\n        Ratio: 3:1\r\n        Attack Time: 0.2sec\r\n        Decay Time: 1.0 sec\r\n</code></pre>\r\n<p>\"Make-up Gain for 0db after compressing\" and \"compress based on peaks\" were both left un-checked.</p>\r\n<p>After compressing the audio we cut any pre-show and post-show chatter from the file and save them in a separate file for possible use as outtakes after the closing music.</p>\r\n<p>We adjust the Gain so that the VU meter in Audacity hovers around -12db while people are speaking, and we try to keep the peaks under -6db, and we adjust the Gain on each of the new tracks so that all volumes are similar, and more importantly comfortable. Once this is done we can \"Mix and Render\" all of our tracks into a single track for export to the .FLAC file which is uploaded to the HPR server.</p>\r\n<p>At this point we listen back to the whole file and we work on the shownotes. This is when we can cut out anything that needs to be cut, and we can also make sure that we put any links in the shownotes that were talked about during the recording of the show. We finish the shownotes before exporting the .aup file to .FLAC so that we can paste a copy of the shownotes into the audio file\'s metadata.</p>\r\n<p>At this point we add new, empty audio tracks into which we paste the intro, outro and possibly outtakes, and we rename each track accordingly.</p>\r\n<p>Remember to save often when using Audacity. We like to save after each of these steps. Audacity has a reputation for being \"crashy\" but if you remember save after every major transform, you will wonder how it ever got that reputation.</p>\r\n',157,53,1,'CC-BY-SA','Audiobook, Review, Creative Commons',0,0,1),
(3133,'2020-08-05','Quick tip - Using MPV with Youtube links',124,'I give a quick tip on shortcut keys for watching Youtube or other video sites in MPV','<h3 id=\"idea\">Idea:</h3>\r\n<p>Quickly copy a Youtube or other video site, and open in the MPV media player.</p>\r\n<h4 id=\"plugins\">Plugins:</h4>\r\n<p>Vim Vixen for Firefox<br />\r\n<a href=\"https://addons.mozilla.org/en-US/firefox/addon/vim-vixen\" class=\"uri\">https://addons.mozilla.org/en-US/firefox/addon/vim-vixen</a></p>\r\n<p>Surfingkeys for Chrome/Chromium browser<br />\r\n<a href=\"https://chrome.google.com/webstore/detail/surfingkeys/gfbliohnnapiefjpjlpjnehglfpaknnc?hl=en-US\" class=\"uri\">https://chrome.google.com/webstore/detail/surfingkeys/gfbliohnnapiefjpjlpjnehglfpaknnc?hl=en-US</a></p>\r\n<h4 id=\"script\">Script:</h4>\r\n<pre><code>#!/bin/bash\r\n## mpvurl\r\n\r\nurl=`xsel -o -b`\r\necho $url\r\nmpv $url</code></pre>\r\n<p>Rename <code>/usr/bin/vlc</code> to <code>/usr/bin/vlc.old</code></p>\r\n<p>Copy script to <code>/usr/bin/vlc</code> and <code>chmod +x /usr/bin/vlc</code></p>\r\n<h4 id=\"how-to-use\">How to use:</h4>\r\n<p>Vim Vixen copy is \'y\' Surfingkeys copy is \'yy\'</p>\r\n<p>Shortcut to open copied video url is Shift-Mod-p, with Mod being the windows key</p>\r\n<p>Tested with Gnome3, Xfce and i3</p>\r\n<p>In i3, press Mod+v then Mod+s.</p>\r\n<p>Any video played this way will be stacked under Firefox/Chromium for the rest of your session.</p>\r\n<h4 id=\"config\">Config:</h4>\r\n<p>In ~/.config/i3/config</p>\r\n<pre><code>#Paste url into mpv player\r\nbindsym $mod+Shift+p exec vlc</code></pre>\r\n<h3 id=\"example-screenshots\">Example screenshots:</h3>\r\n<p>Example of stacked Firefox/MPV layout<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3133/img_001.png\"><img src=\"https://hackerpublicradio.org/eps/hpr3133/img_001_thumbnail.png\" alt=\"Example of stacked Firefox/MPV layout\" /></a></p>\r\n<p>For Gnome3 the setting can be reached with Mod (Windows key) and Shortcuts<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3133/img_002.png\"><img src=\"https://hackerpublicradio.org/eps/hpr3133/img_002_thumbnail.png\" alt=\"For Gnome3 the setting can be reached with Mod (Windows key) and Shortcuts\" /></a></p>\r\n<p>And the Default Applications need to be changed<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3133/img_003.png\"><img src=\"https://hackerpublicradio.org/eps/hpr3133/img_003_thumbnail.png\" alt=\"And the Default Applications need to be changed\" /></a></p>\r\n<p>The setting for Shortcuts in Xfce looks like this<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3133/img_004.png\"><img src=\"https://hackerpublicradio.org/eps/hpr3133/img_004_thumbnail.png\" alt=\"The setting for Shortcuts in Xfce looks like this\" /></a></p>\r\n',318,0,0,'CC-BY-SA','Video, media, bash, i3, Gnome3, Xfce',0,0,1),
(3416,'2021-09-06','HPR Community News for August 2021',5765,'Ken\'s not available so MrX joins Dave to talk about the shows and comments in August','<style>\ntable td.shrink {\n    white-space:nowrap\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nThere were no new hosts this month.\n</p>\n\n<h2>Last Month\'s Shows</h2>\n<table id=\"t01\">\n<tr>\n<th>Id</th>\n<th>Day</th>\n<th>Date</th>\n<th>Title</th>\n<th>Host</th>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3391\" target=\"_blank\">3391</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-08-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3391\" target=\"_blank\">HPR Community News for July 2021</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3392\" target=\"_blank\">3392</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-08-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3392\" target=\"_blank\">Structured error reporting</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3393\" target=\"_blank\">3393</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-08-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3393\" target=\"_blank\">We need to talk about XML</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3394\" target=\"_blank\">3394</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-08-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3394\" target=\"_blank\">Be an XML star with xmlstarlet</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3395\" target=\"_blank\">3395</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-08-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3395\" target=\"_blank\">Hacking Stories with Reacted: part 1</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3396\" target=\"_blank\">3396</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-08-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3396\" target=\"_blank\">Card roles in Magic the Gathering</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3397\" target=\"_blank\">3397</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-08-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3397\" target=\"_blank\">What is a PineTime</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0382.html\" target=\"_blank\">Daniel Persson</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3398\" target=\"_blank\">3398</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-08-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3398\" target=\"_blank\">Anacron</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3399\" target=\"_blank\">3399</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-08-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3399\" target=\"_blank\">Linux Inlaws S01E36: Open Source Licenses</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3400\" target=\"_blank\">3400</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-08-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3400\" target=\"_blank\">Normal Layer Modes: Normal, Dissolve, Color Erase</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3401\" target=\"_blank\">3401</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-08-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3401\" target=\"_blank\">Mana hacks</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3402\" target=\"_blank\">3402</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-08-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3402\" target=\"_blank\">Reading a manifesto: Declaration of Digital Autonomy</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0311.html\" target=\"_blank\">clacke</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3403\" target=\"_blank\">3403</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-08-18</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3403\" target=\"_blank\">Forth on microcontrollers</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0326.html\" target=\"_blank\">Brian in Ohio</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3404\" target=\"_blank\">3404</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-08-19</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3404\" target=\"_blank\">Suse 15.3 Leap</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3405\" target=\"_blank\">3405</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-08-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3405\" target=\"_blank\">Hacking Stories with Reacted: part 2</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3406\" target=\"_blank\">3406</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-08-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3406\" target=\"_blank\">A study of cards in games</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3407\" target=\"_blank\">3407</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-08-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3407\" target=\"_blank\">Software Freedom Podcast</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3408\" target=\"_blank\">3408</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-08-25</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3408\" target=\"_blank\">Composting</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0293.html\" target=\"_blank\">Rho`n</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3409\" target=\"_blank\">3409</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-08-26</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3409\" target=\"_blank\">Linux Inlaws S01E37: All about Hacker Public Radio</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3410\" target=\"_blank\">3410</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-08-27</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3410\" target=\"_blank\">Operating Systems</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3411\" target=\"_blank\">3411</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-08-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3411\" target=\"_blank\">Dominion card game</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3412\" target=\"_blank\">3412</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-08-31</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3412\" target=\"_blank\">Reading a license: Creative Commons Attribution ShareAlike 3.0 Unported</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0311.html\" target=\"_blank\">clacke</a></td>\n</tr>\n</table>\n\n<h2>Comments this month</h2>\n\n<p>These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere are 24 comments in total.</p>\n<h3>Past shows</h3>\n<p>There are 9 comments on\n5 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3323#comments\" target=\"_blank\">hpr3323</a></strong>\n(2021-04-28) \"<em>The alternate Internet you never knew existed</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3323#1\" target=\"_blank\">Comment 1</a>:\nbjb on 2021-08-29:\n\"Interesting\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3331#comments\" target=\"_blank\">hpr3331</a></strong>\n(2021-05-10) \"<em>Audio for Podcasting: Episode 1 - The Microphone</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0270.html\" target=\"_blank\">Thaj Sara</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3331#2\" target=\"_blank\">Comment 2</a>:\nbjb on 2021-08-08:\n\"Question about mic positioning\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3377#comments\" target=\"_blank\">hpr3377</a></strong>\n(2021-07-13) \"<em>Chromebook support and more</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0377.html\" target=\"_blank\">Zen_Floater2</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3377#2\" target=\"_blank\">Comment 2</a>:\nGuardian on 2021-08-08:\n\"Lousy sound quality abuses audience.\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3382#comments\" target=\"_blank\">hpr3382</a></strong>\n(2021-07-20) \"<em>How I fixed a fault on my car for free thanks to YouTube</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0201.html\" target=\"_blank\">MrX</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3382#1\" target=\"_blank\">Comment 1</a>:\nDave Morriss on 2021-08-06:\n\"I hadn\'t quite appreciated what was happening\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3382#2\" target=\"_blank\">Comment 2</a>:\nMrX on 2021-08-07:\n\"Oops\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3382#3\" target=\"_blank\">Comment 3</a>:\nShortFatBaldGuy on 2021-08-28:\n\"Appreciation for episode\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3388#comments\" target=\"_blank\">hpr3388</a></strong>\n(2021-07-28) \"<em>Linux Inlaws S01E35: The Free Software Foundation Europe</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3388#2\" target=\"_blank\">Comment 2</a>:\ndragestil on 2021-08-07:\n\"Regarding RMS\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3388#3\" target=\"_blank\">Comment 3</a>:\nBob on 2021-08-10:\n\"Clarification\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3388#4\" target=\"_blank\">Comment 4</a>:\ndragestil on 2021-08-11:\n\"Re: Clarification\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 15 comments on 7 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3393#comments\" target=\"_blank\">hpr3393</a></strong>\n(2021-08-04) \"<em>We need to talk about XML</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3393#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-08-06:\n\"Thank you.\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3393#2\" target=\"_blank\">Comment 2</a>:\nKevin O&#39;Brien on 2021-08-08:\n\"I loved the show\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3394#comments\" target=\"_blank\">hpr3394</a></strong>\n(2021-08-05) \"<em>Be an XML star with xmlstarlet</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3394#1\" target=\"_blank\">Comment 1</a>:\nnorrist on 2021-08-05:\n\"My one cool xmlstarlet trick\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3395#comments\" target=\"_blank\">hpr3395</a></strong>\n(2021-08-06) \"<em>Hacking Stories with Reacted: part 1</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3395#1\" target=\"_blank\">Comment 1</a>:\nnorrist on 2021-08-06:\n\"Please do more\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3395#2\" target=\"_blank\">Comment 2</a>:\nKevin O&#39;Brien on 2021-08-09:\n\"I loved this story\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3395#3\" target=\"_blank\">Comment 3</a>:\nBeeza on 2021-08-23:\n\"Social Engineering Access\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3399#comments\" target=\"_blank\">hpr3399</a></strong>\n(2021-08-12) \"<em>Linux Inlaws S01E36: Open Source Licenses</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3399#1\" target=\"_blank\">Comment 1</a>:\nKevin O&#39;Brien on 2021-08-14:\n\"Another good show\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3400#comments\" target=\"_blank\">hpr3400</a></strong>\n(2021-08-13) \"<em>Normal Layer Modes: Normal, Dissolve, Color Erase</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3400#1\" target=\"_blank\">Comment 1</a>:\nbjb on 2021-08-12:\n\"Thanks\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3400#2\" target=\"_blank\">Comment 2</a>:\nKevin O&#39;Brien on 2021-08-12:\n\"You are most welcome\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3407#comments\" target=\"_blank\">hpr3407</a></strong>\n(2021-08-24) \"<em>Software Freedom Podcast</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3407#1\" target=\"_blank\">Comment 1</a>:\nSome Guy On The Internet on 2021-08-27:\n\"Great Show.\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3410#comments\" target=\"_blank\">hpr3410</a></strong>\n(2021-08-27) \"<em>Operating Systems</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3410#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-08-27:\n\"Love this history\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3410#2\" target=\"_blank\">Comment 2</a>:\nKevin O&#39;Brien on 2021-08-27:\n\"You are most welcome\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3410#3\" target=\"_blank\">Comment 3</a>:\nJan on 2021-08-27:\n\"Observations\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3410#4\" target=\"_blank\">Comment 4</a>:\nKevin O&#39;Brien on 2021-08-30:\n\"Audio quality\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3410#5\" target=\"_blank\">Comment 5</a>:\nKen Fallon on 2021-08-30:\n\"Can you define broken\"</li></ul><br/>\n</li></ul>\n\n<h2>Mailing List discussions</h2>\n<p>\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the <a href=\"https://hackerpublicradio.org/maillist\"\ntarget=\"_blank\">Mail List</a> which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/\">Mailman</a>.\n</p>\n<p>The threaded discussions this month can be found here:</p>\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-August/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-August/thread.html</a>\n\n\n<h2>Events Calendar</h2>\n<p>With the kind permission of <strong>LWN.net</strong> we are linking to\n<a href=\"https://lwn.net/Calendar/\" target=\"_blank\">The LWN.net Community Calendar</a>.</p>\n<p>Quoting the site:</p>\n<blockquote>This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.</blockquote>\n\n<h2>Any other business</h2>\n<h3 id=\"older-hpr-shows-on-archive.org\">Older HPR shows on archive.org</h3>\n<p>This month 10 additional shows in the range 1-870 have been uploaded.</p>\n<p>Since we don\'t want to upload shows without summaries or tags the <em>old shows</em> and <em>tag and summary</em> projects are now tied together. So we will be all the more welcoming of tag and summary updates submitted as described on the <a href=\"https://hackerpublicradio.org/report_missing_tags.php\">summary page</a>.</p>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Thanks to the following contributors for sending in updates in the past month:<br />\n<b><a href=\"https://hackerpublicradio.org/correspondents/0318.html\">Archer72</a>, <a href=\"https://hackerpublicradio.org/correspondents/0293.html\">Rho`n</a>, <a href=\"https://hackerpublicradio.org/correspondents/0030.html\">Ken Fallon</a>, <a href=\"https://hackerpublicradio.org/correspondents/0225.html\">Dave Morriss</a></b></p>\n<p>Over the period tags and/or summaries have been added to 108 shows which were without them.</p>\n<p>There are currently 114 shows which need a summary and/or tags.</p>\n<p>If you would like to contribute to the tag/summary project visit the summary page at <a href=\"https://hackerpublicradio.org/report_missing_tags.php\" class=\"uri\">https://hackerpublicradio.org/report_missing_tags.php</a> and follow the instructions there.</p>\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1),
(3436,'2021-10-04','HPR Community News for September 2021',3268,'HPR Volunteers talk about shows released and comments posted in September 2021','<style>\ntable td.shrink {\n    white-space:nowrap\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nWelcome to our new hosts: <br />\n\n    <a href=\"https://hackerpublicradio.org/correspondents/0395.html\" target=\"_blank\">CoGo</a>, \n    <a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a>.\n</p>\n\n<h2>Last Month\'s Shows</h2>\n<table id=\"t01\">\n<tr>\n<th>Id</th>\n<th>Day</th>\n<th>Date</th>\n<th>Title</th>\n<th>Host</th>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3413\" target=\"_blank\">3413</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-09-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3413\" target=\"_blank\">Bash snippet - using coproc with SQLite</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3414\" target=\"_blank\">3414</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-09-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3414\" target=\"_blank\">Critical Thinking may make You Critical of the Covid Crisis</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0395.html\" target=\"_blank\">CoGo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3415\" target=\"_blank\">3415</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-09-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3415\" target=\"_blank\">Hacking Stories with Reacted: part 3</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3416\" target=\"_blank\">3416</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-09-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3416\" target=\"_blank\">HPR Community News for August 2021</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3417\" target=\"_blank\">3417</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-09-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3417\" target=\"_blank\">Ceph cluster hardware</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0382.html\" target=\"_blank\">Daniel Persson</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3418\" target=\"_blank\">3418</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-09-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3418\" target=\"_blank\">My gEeeky Experiment - Part 2</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0152.html\" target=\"_blank\">Claudio Miranda</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3419\" target=\"_blank\">3419</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-09-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3419\" target=\"_blank\">Linux Inlaws S01E38: Tiny kernels</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3420\" target=\"_blank\">3420</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-09-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3420\" target=\"_blank\">Normal Layer Modes: Erase, Merge, and Split</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3421\" target=\"_blank\">3421</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-09-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3421\" target=\"_blank\">BlacKernel\'s Journey Into Technology: Episode 1</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3422\" target=\"_blank\">3422</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-09-14</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3422\" target=\"_blank\">Update about Phones and Devices</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3423\" target=\"_blank\">3423</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-09-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3423\" target=\"_blank\">\"upg.sh\" my \"dump.txt\" to \"note.md\"</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3424\" target=\"_blank\">3424</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-09-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3424\" target=\"_blank\">Infosec Podcasts Part 6 - Infosec Leadership</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0394.html\" target=\"_blank\">Trey</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3425\" target=\"_blank\">3425</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-09-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3425\" target=\"_blank\">Hacking Stories with Reacted: part 4</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3426\" target=\"_blank\">3426</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-09-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3426\" target=\"_blank\">Rust 101: Episode 0 - What in Tarnishing?</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3427\" target=\"_blank\">3427</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-09-21</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3427\" target=\"_blank\">Ranger for the Win!</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0300.html\" target=\"_blank\">b-yeezi</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3428\" target=\"_blank\">3428</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-09-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3428\" target=\"_blank\">Bad disk rescue</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0268.html\" target=\"_blank\">Andrew Conway</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3429\" target=\"_blank\">3429</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-09-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3429\" target=\"_blank\">Linux Inlaws S01E39: Ubuntu and the Community</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3430\" target=\"_blank\">3430</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-09-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3430\" target=\"_blank\">Booting</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3431\" target=\"_blank\">3431</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-09-27</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3431\" target=\"_blank\">Living in the Terminal</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3432\" target=\"_blank\">3432</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-09-28</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3432\" target=\"_blank\">Reading a license: Creative Commons Attribution ShareAlike 4.0 International</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0311.html\" target=\"_blank\">clacke</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3433\" target=\"_blank\">3433</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-09-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3433\" target=\"_blank\">A Squirrels thoughts about RMS</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0377.html\" target=\"_blank\">Zen_Floater2</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3434\" target=\"_blank\">3434</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-09-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3434\" target=\"_blank\">From 0 to K8s in 30 minutes</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n</table>\n\n<h2>Comments this month</h2>\n\n<p>These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere are 27 comments in total.</p>\n<h3>Past shows</h3>\n<p>There are 2 comments on\n2 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3297#comments\" target=\"_blank\">hpr3297</a></strong>\n(2021-03-23) \"<em>Nextcloud Application Updating</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0273.html\" target=\"_blank\">ToeJet</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3297#2\" target=\"_blank\">Comment 2</a>:\nKen Fallon on 2021-09-21:\n\"+1\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3377#comments\" target=\"_blank\">hpr3377</a></strong>\n(2021-07-13) \"<em>Chromebook support and more</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0377.html\" target=\"_blank\">Zen_Floater2</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3377#3\" target=\"_blank\">Comment 3</a>:\nFSA on 2021-09-30:\n\"Sound Quality Trolling?\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 25 comments on 13 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3413#comments\" target=\"_blank\">hpr3413</a></strong>\n(2021-09-01) \"<em>Bash snippet - using coproc with SQLite</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3413#1\" target=\"_blank\">Comment 1</a>:\nb-yeezi on 2021-09-01:\n\"New tool for my toolbox\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3413#2\" target=\"_blank\">Comment 2</a>:\nTrey on 2021-09-02:\n\"Excellent detail!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3413#3\" target=\"_blank\">Comment 3</a>:\nDave Morriss on 2021-09-02:\n\"Re: New tool for my toolbox\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3413#4\" target=\"_blank\">Comment 4</a>:\nDave Morriss on 2021-09-02:\n\"Re: Excellent detail!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3414#comments\" target=\"_blank\">hpr3414</a></strong>\n(2021-09-02) \"<em>Critical Thinking may make You Critical of the Covid Crisis</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0395.html\" target=\"_blank\">CoGo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3414#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-09-02:\n\"Controversial topic... Love it!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3414#2\" target=\"_blank\">Comment 2</a>:\ndrad on 2021-09-03:\n\"Great Episode!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3414#3\" target=\"_blank\">Comment 3</a>:\nBarbara Ann Walko on 2021-09-09:\n\"hpr3414\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3414#4\" target=\"_blank\">Comment 4</a>:\nJoel on 2021-09-09:\n\"Excellent analysis!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3415#comments\" target=\"_blank\">hpr3415</a></strong>\n(2021-09-03) \"<em>Hacking Stories with Reacted: part 3</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3415#1\" target=\"_blank\">Comment 1</a>:\nWillingness on 2021-09-04:\n\"Awesome\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3416#comments\" target=\"_blank\">hpr3416</a></strong>\n(2021-09-06) \"<em>HPR Community News for August 2021</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3416#1\" target=\"_blank\">Comment 1</a>:\nKevin O&#39;Brien on 2021-09-07:\n\"My former profession\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3417#comments\" target=\"_blank\">hpr3417</a></strong>\n(2021-09-07) \"<em>Ceph cluster hardware</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0382.html\" target=\"_blank\">Daniel Persson</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3417#1\" target=\"_blank\">Comment 1</a>:\nMichael on 2021-09-08:\n\"Why Ceph?\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3420#comments\" target=\"_blank\">hpr3420</a></strong>\n(2021-09-10) \"<em>Normal Layer Modes: Erase, Merge, and Split</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3420#1\" target=\"_blank\">Comment 1</a>:\nmu.rupeshkumar@gmail,com on 2021-09-12:\n\"can\'t hear in Mobile\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3420#2\" target=\"_blank\">Comment 2</a>:\nKen Fallon on 2021-09-13:\n\"Fixed\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3421#comments\" target=\"_blank\">hpr3421</a></strong>\n(2021-09-13) \"<em>BlacKernel\'s Journey Into Technology: Episode 1</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3421#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-09-13:\n\"Welcome &amp; thanks for sharing!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3423#comments\" target=\"_blank\">hpr3423</a></strong>\n(2021-09-15) \"<em>\"upg.sh\" my \"dump.txt\" to \"note.md\"</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3423#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-09-15:\n\"Great work\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3426#comments\" target=\"_blank\">hpr3426</a></strong>\n(2021-09-20) \"<em>Rust 101: Episode 0 - What in Tarnishing?</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3426#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-09-20:\n\"Thank you.\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3426#2\" target=\"_blank\">Comment 2</a>:\nHipstre on 2021-09-20:\n\"Rust 101, Episode 0\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3427#comments\" target=\"_blank\">hpr3427</a></strong>\n(2021-09-21) \"<em>Ranger for the Win!</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0300.html\" target=\"_blank\">b-yeezi</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3427#1\" target=\"_blank\">Comment 1</a>:\njrullo on 2021-09-22:\n\"Vim lover\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3429#comments\" target=\"_blank\">hpr3429</a></strong>\n(2021-09-23) \"<em>Linux Inlaws S01E39: Ubuntu and the Community</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3429#1\" target=\"_blank\">Comment 1</a>:\nClinton Roy on 2021-09-23:\n\"Just the usual complaint\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3430#comments\" target=\"_blank\">hpr3430</a></strong>\n(2021-09-24) \"<em>Booting</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3430#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-09-24:\n\"Trip down memory lane...\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3430#2\" target=\"_blank\">Comment 2</a>:\nKevin O&#39;Brien on 2021-09-24:\n\"You are most welcome\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3431#comments\" target=\"_blank\">hpr3431</a></strong>\n(2021-09-27) \"<em>Living in the Terminal</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3431#1\" target=\"_blank\">Comment 1</a>:\nOperat0r on 2021-09-27:\n\"Kids these days!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3431#2\" target=\"_blank\">Comment 2</a>:\nb-yeezi on 2021-09-28:\n\"+1 for cnus\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3431#3\" target=\"_blank\">Comment 3</a>:\nsesamemucho on 2021-09-29:\n\"The text\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3431#4\" target=\"_blank\">Comment 4</a>:\nDave Morriss on 2021-09-29:\n\"Very enjoyable\"</li></ul><br/>\n</li></ul>\n\n<h2>Mailing List discussions</h2>\n<p>\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the <a href=\"https://hackerpublicradio.org/maillist\"\ntarget=\"_blank\">Mail List</a> which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/\">Mailman</a>.\n</p>\n<p>The threaded discussions this month can be found here:</p>\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-September/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-September/thread.html</a>\n\n\n<h2>Events Calendar</h2>\n<p>With the kind permission of <strong>LWN.net</strong> we are linking to\n<a href=\"https://lwn.net/Calendar/\" target=\"_blank\">The LWN.net Community Calendar</a>.</p>\n<p>Quoting the site:</p>\n<blockquote>This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.</blockquote>\n\n<h2>Any other business</h2>\n<h3 id=\"older-hpr-shows-on-archive.org\">Older HPR shows on archive.org</h3>\n<p>This month 5 additional shows in the range 1-870 have been uploaded.</p>\n<p>Since we don\'t want to upload shows without summaries or tags the <em>old shows</em> and <em>tag and summary</em> projects are now tied together. So we will be all the more welcoming of tag and summary updates submitted as described on the <a href=\"https://hackerpublicradio.org/report_missing_tags.php\">summary page</a>.</p>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Thanks to the following contributors for sending in updates in the past month:<br />\n<b><a href=\"https://hackerpublicradio.org/correspondents/0318.html\">Archer72</a>, <a href=\"https://hackerpublicradio.org/correspondents/0293.html\">Rho`n</a></b></p>\n<p>Over the period tags and/or summaries have been added to 76 shows which were without them.</p>\n<p>There are currently 38 shows which need a summary and/or tags.</p>\n<p>If you would like to contribute to the tag/summary project visit the summary page at <a href=\"https://hackerpublicradio.org/report_missing_tags.php\" class=\"uri\">https://hackerpublicradio.org/report_missing_tags.php</a> and follow the instructions there.</p>\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1),
(3134,'2020-08-06','Tomorrowland 2020',584,'Explaining the experience of the first virtual music festival','<p>The music festival Tomorrowland was made virtual this year.</p>\r\n<p>Usually, they have 200k visitors over two weekends on a small area of 128 football (soccer) fields. This year they digitally did it all, which was engaging and fun. I\'ve never attended, but I loved this year, where I could be a part of the experience.</p>\r\n<p>This recording was made at 01.00 AM right after the festival had ended, so I still had the hype, totally sober but euphoric.</p>\r\n<ul>\r\n<li><p>Katy Perry<br />\r\n<a href=\"https://www.youtube.com/watch?v=i65puYqFh6Q\" class=\"uri\">https://www.youtube.com/watch?v=i65puYqFh6Q</a></p></li>\r\n<li><p>David Guetta<br />\r\n<a href=\"https://www.youtube.com/watch?v=xs7eqBkQCYM\" class=\"uri\">https://www.youtube.com/watch?v=xs7eqBkQCYM</a></p></li>\r\n</ul>\r\n',382,0,0,'CC-BY-SA','music,dance,house,festival,tomorrowland',0,0,1),
(3136,'2020-08-10','Matchbox Restoration Part 6',286,'Matchbox Cars, Diecast Models, Restoration, Reassembly of the model','<p>Good day to all in HPR land, this is Tony Hughes coming to you again from Blackpool in the UK. To recap this is the 6th in a series of shows about my hobby of restoring Matchbox and other Die cast models. In the last show I went through the process I use to paint and prepare the casting for reassembly. In this episode I will discuss how I put back the wheels onto the base and reassemble the final model, before revealing in the show note pictures how the model came out.</p>\r\n<p>So before putting back the plastic wheels onto the axles I polished the axles in my drill bit using a little bit of fine wet and dry emery paper.</p>\r\n<p>Picture 001<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3136/img_001.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3136/img_001_thumbnail.jpg\" alt=\"Picture 001\" /></a></p>\r\n<p>After selecting the best 4 of the plastic tyres from the models we originally dismantled I washed these in a little soapy water and after drying they these were fit for putting back on the restored model. The cleaned up axle is assembled on the base with the first tyre in place with the large dome end of the axle sat on a nail punch held in a vice. The second tyre is then placed on the axle and holding this all in place a small hammer is used to peen over the end of the axle by hitting it gently so the end is peened over but the axle does not bend. It is possible to do this stage in a drill press using another nail punch in the drill chuck, but I do not have a drill press at the moment, so have to do this the old school way, with a bit of brute force and ignorance.</p>\r\n<p>Picture 002<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3136/img_002.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3136/img_002_thumbnail.jpg\" alt=\"Picture 002\" /></a></p>\r\n<p>So we now have all the parts ready for reassembly. The base has the axles and wheels back on, the screen has been polished and the plastic seating given a clean in soapy water and dried, and the body is repainted and ready to go.</p>\r\n<p>Picture 003<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3136/img_003.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3136/img_003_thumbnail.jpg\" alt=\"Picture 003\" /></a></p>\r\n<p>So being careful not to damage the paint work the casting is placed with the base side up and the window unit is placed into it.</p>\r\n<p>Picture 004<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3136/img_004.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3136/img_004_thumbnail.jpg\" alt=\"Picture 004\" /></a></p>\r\n<p>Followed by the plastic interior, the eagle eyed among you will notice a colour change to the body work as I forgot to take a picture of this stage on the gold model. You have to ensure that the tab with the tow hitch (yes Matchbox put a tow hitch on a posh car) is fully over the retaining post or the base will not seat properly.</p>\r\n<p>Picture 005<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3136/img_005.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3136/img_005_thumbnail.jpg\" alt=\"Picture 005\" /></a></p>\r\n<p>The base is then placed back on the model by sliding it over the tab at the front and clicking it down over the rivet post.</p>\r\n<p>Picture 006<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3136/img_006.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3136/img_006_thumbnail.jpg\" alt=\"Picture 006\" /></a></p>\r\n<p>I then used some \'5 second Fix\' UV glue to glue around the post to hold it in place. You can also drill out the post with a 1.5mm drill and using an M2 tap then use a small M2 screw to hold the base in place, but in this case I was happy with the glue as it was for display and will not be handled frequently enough to require the more secure retention of a screw. With these small models there is a risk of damaging the post while drilling and tapping them so it is personal preference as to the method used to hold it all together at the end.</p>\r\n<p>Picture 007<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3136/img_007.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3136/img_007_thumbnail.jpg\" alt=\"Picture 007\" /></a></p>\r\n<p>Picture 008<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3136/img_008.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3136/img_008_thumbnail.jpg\" alt=\"Picture 008\" /></a></p>\r\n<p>The model is now completed and the final picture in the show notes is a small collection of what it looks like now it is ready to display again.</p>\r\n<p>Picture 009<br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3136/img_009.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3136/img_009_thumbnail.jpg\" alt=\"Picture 009\" /></a></p>\r\n<p>So that is the story of how to restore a Die-cast model back from the dead (well almost). These small models are comparatively easy, but some of the larger scale models with many more parts can take many days to restore, and require a lot of patience to do so. But from small beginnings we all start, and maybe in the future I will feel confident enough to tackle something a little more complicated. I have recently done a few models with opening doors which have a retaining spring holding them in place.</p>\r\n<p>So this short story is finished so this is Tony Hughes for Hacker Public Radio, saying goodbye for now, keep safe everyone and I\'ll be back at some time with another show. At the moment I\'m not sure about what, but I will be back, so Ken can rest assured I still owe him a show.</p>\r\n',338,114,0,'CC-BY-SA','Matchbox Cars, Diecast Models, Restoration, Reassembly of the model',0,0,1),
(3137,'2020-08-11','Coronavirus Update 2020-07-30',1364,'Where we are with this pandemic, and how should we respond?','<p>This is an update to my earlier shows to pull together what we know about the Coronavirus on this date, and what measures we can take. It focuses on the lack of solid information at this point and suggests a prudent course to stay safe. <a href=\"https://www.palain.com/health-topics/coronavirus-update-20200730/\" class=\"uri\">https://www.palain.com/health-topics/coronavirus-update-20200730/</a></p>\r\n<ul>\r\n<li><a href=\"https://jamanetwork.com/journals/jamacardiology/fullarticle/2768916\" class=\"uri\">https://jamanetwork.com/journals/jamacardiology/fullarticle/2768916</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Severe_acute_respiratory_syndrome\" class=\"uri\">https://en.wikipedia.org/wiki/Severe_acute_respiratory_syndrome</a></li>\r\n<li><a href=\"https://www.axios.com/hydroxychloroquine-coronavirus-scott-gottlieb-trump-a7b60575-91db-4239-8c86-59b993c55358.html\" class=\"uri\">https://www.axios.com/hydroxychloroquine-coronavirus-scott-gottlieb-trump-a7b60575-91db-4239-8c86-59b993c55358.html</a></li>\r\n<li><a href=\"https://www.sciencenews.org/article/remdesivir-covid-19-coronavirus-pandemic-gilead\" class=\"uri\">https://www.sciencenews.org/article/remdesivir-covid-19-coronavirus-pandemic-gilead</a></li>\r\n<li><a href=\"https://www.nejm.org/doi/full/10.1056/NEJMoa2021436\" class=\"uri\">https://www.nejm.org/doi/full/10.1056/NEJMoa2021436</a></li>\r\n<li><a href=\"https://news.yale.edu/2020/07/27/yale-lead-trial-potential-covid-19-treatment\" class=\"uri\">https://news.yale.edu/2020/07/27/yale-lead-trial-potential-covid-19-treatment</a></li>\r\n<li><a href=\"https://www.nature.com/articles/s41586-020-2577-1_reference.pdf\" class=\"uri\">https://www.nature.com/articles/s41586-020-2577-1_reference.pdf</a></li>\r\n<li><a href=\"https://news.yale.edu/2020/07/27/yale-lead-trial-potential-covid-19-treatment\" class=\"uri\">https://news.yale.edu/2020/07/27/yale-lead-trial-potential-covid-19-treatment</a></li>\r\n<li><a href=\"https://pubs.acs.org/doi/10.1021/acs.nanolett.0c02278\" class=\"uri\">https://pubs.acs.org/doi/10.1021/acs.nanolett.0c02278</a></li>\r\n<li><a href=\"https://helix.northwestern.edu/article/thalidomide-tragedy-lessons-drug-safety-and-regulation\" class=\"uri\">https://helix.northwestern.edu/article/thalidomide-tragedy-lessons-drug-safety-and-regulation</a></li>\r\n<li><a href=\"https://www.washingtonpost.com/health/7-in-10-americans-would-be-likely-to-get-a-coronavirus-vaccine-a-post-abc-poll-finds/2020/06/01/4d1f8f68-a429-11ea-bb20-ebf0921f3bbd_story.html\" class=\"uri\">https://www.washingtonpost.com/health/7-in-10-americans-would-be-likely-to-get-a-coronavirus-vaccine-a-post-abc-poll-finds/2020/06/01/4d1f8f68-a429-11ea-bb20-ebf0921f3bbd_story.html</a></li>\r\n<li><a href=\"https://nymag.com/intelligencer/2020/07/heres-the-latest-good-and-bad-news-about-covid-19.html\" class=\"uri\">https://nymag.com/intelligencer/2020/07/heres-the-latest-good-and-bad-news-about-covid-19.html</a></li>\r\n<li><a href=\"https://www.cdc.gov/coronavirus/2019-ncov/index.html\" class=\"uri\">https://www.cdc.gov/coronavirus/2019-ncov/index.html</a></li>\r\n<li><a href=\"https://curiositystream.com/\" class=\"uri\">https://curiositystream.com/</a></li>\r\n<li><a href=\"https://www.nature.com/nature/articles?type=nature-podcast\" class=\"uri\">https://www.nature.com/nature/articles?type=nature-podcast</a></li>\r\n<li><a href=\"https://www.youtube.com/user/thehealthcaretriage\" class=\"uri\">https://www.youtube.com/user/thehealthcaretriage</a></li>\r\n<li><a href=\"https://www.palain.com/health-topics/the-hierarchy-of-evidence/\" class=\"uri\">https://www.palain.com/health-topics/the-hierarchy-of-evidence/</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2870\" class=\"uri\">https://hackerpublicradio.org/eps.php?id=2870</a></li>\r\n<li><a href=\"https://www.youtube.com/scishow\" class=\"uri\">https://www.youtube.com/scishow</a></li>\r\n<li><a href=\"https://www.youtube.com/playlist?list=PLsNB4peY6C6IQediwz2GzMTNvm_dMzr47\" class=\"uri\">https://www.youtube.com/playlist?list=PLsNB4peY6C6IQediwz2GzMTNvm_dMzr47</a></li>\r\n<li><a href=\"https://www.sciencenews.org/\" class=\"uri\">https://www.sciencenews.org/</a></li>\r\n<li><a href=\"https://nymag.com/intelligencer/2020/07/heres-the-latest-good-and-bad-news-about-covid-19.html\" class=\"uri\">https://nymag.com/intelligencer/2020/07/heres-the-latest-good-and-bad-news-about-covid-19.html</a></li>\r\n<li><a href=\"https://www.palain.com/health-topics/coronavirus-update-20200730/\" class=\"uri\">https://www.palain.com/health-topics/coronavirus-update-20200730/</a></li>\r\n</ul>\r\n',198,100,0,'CC-BY-SA','Health, Coronavirus',0,0,1),
(3138,'2020-08-12','Linux Inlaws S01E12: Reminiscing in FLOSS Weekly',5664,'An interview with Randal Schwartz of FLOSS Weekly fame','<ul>\r\n<li>FLOSS Weekly: <a href=\"https://twit.tv/shows/floss-weekly\" target=\"_blank\">https://twit.tv/shows/floss-weekly</a></li>\r\n<li>Kernel patches for Google Futex enhancements: <a href=\"https://lore.kernel.org/lkml/20200722234538.166697-1-posk@posk.io\" target=\"_blank\">https://lore.kernel.org/lkml/20200722234538.166697-1-posk@posk.io</a></li>\r\n<li>Google presentation on Futexes: <a href=\"ttp://pdxplumbers.osuosl.org/2013/ocw//system/presentations/1653/original/LPC%20-%20User%20Threading.pdf\" target=\"_blank\">https://pdxplumbers.osuosl.org/2013/ocw//system/presentations/1653/original/LPC%20-%20User%20Threading.pdf</a></li>\r\n<li>Fuchsia Futexes: <a href=\"https://fuchsia.dev/fuchsia-src/reference/kernel_objects/futex\" target=\"_blank\">https://fuchsia.dev/fuchsia-src/reference/kernel_objects/futex</a></li>\r\n<li>The show where Simon Phipps flips: <a href=\"https://twit.tv/shows/floss-weekly/episodes/521\" target=\"_blank\">https://twit.tv/shows/floss-weekly/episodes/521</a></li>\r\n<li>Perl 6 / Raku: <a href=\"https://raku.org\" target=\"_blank\">https://raku.org</a></li>\r\n<li>Flutter: <a href=\"https://flutter.dev\" target=\"_blank\">https://flutter.dev</a></li>\r\n<li>Dart: <a href=\"https://dart.dev\" target=\"_blank\">https://dart.dev</a></li>\r\n<li>Mouse door opener day: <a href=\"https://www.wdrmaus.de/extras/tueren_auf.php5\" target=\"_blank\">https://www.wdrmaus.de/extras/tueren_auf.php5</a></li>\r\n<li>Grumpy old coders: <a href=\"https://soundcloud.com/user-498377588/grumpy-old-coders-ep-1-fast-change\" target=\"_blank\">https://soundcloud.com/user-498377588/grumpy-old-coders-ep-1-fast-change</a></li>\r\n</ul>\r\n\r\n',384,111,1,'CC-BY-SA','Linux inlaws, communism, free and open source software, FLOSS Weekly, Perl, ship cruises',0,0,1),
(3200,'2020-11-06','Better Social Media 17 - OcapPub',1125,'How using Object Capabilities within ActivityPub could solve some problems with social media.','<p>Social media has some problems, and even federated media is not immune to them. OcapPub proposes to help reduce some problems by moving away from a fundamentally broken model revolving around identity and access to a better model involving objects and capabilities. This could help reduce to problems of identity theft, and help against web site problems like clickjacking and Cross-Site Request Forgery. It is a proposal being worked on, not a finished technology, but it is promising.</p>\r\n<p>Links:</p>\r\n<ul>\r\n<li><a href=\"https://gitlab.com/spritely/ocappub/blob/master/README.org\" class=\"uri\">https://gitlab.com/spritely/ocappub/blob/master/README.org</a></li>\r\n<li><a href=\"https://hacks.mozilla.org/2018/11/decentralizing-social-interactions-with-activitypub/\" class=\"uri\">https://hacks.mozilla.org/2018/11/decentralizing-social-interactions-with-activitypub/</a></li>\r\n<li><a href=\"https://www.w3.org/TR/activitypub/\" class=\"uri\">https://www.w3.org/TR/activitypub/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Actor_model#Fundamental_concepts\" class=\"uri\">https://en.wikipedia.org/wiki/Actor_model#Fundamental_concepts</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Gamergate_controversy\" class=\"uri\">https://en.wikipedia.org/wiki/Gamergate_controversy</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Speakers%27_Corner\" class=\"uri\">https://en.wikipedia.org/wiki/Speakers%27_Corner</a></li>\r\n<li><a href=\"https://waterken.sourceforge.net/aclsdont/current.pdf\" class=\"uri\">https://waterken.sourceforge.net/aclsdont/current.pdf</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Principle_of_least_privilege\" class=\"uri\">https://en.wikipedia.org/wiki/Principle_of_least_privilege</a></li>\r\n<li><a href=\"https://www.zwilnik.com/better-social-media/ocappub/\" class=\"uri\">https://www.zwilnik.com/better-social-media/ocappub/</a></li>\r\n</ul>\r\n',198,108,0,'CC-BY-SA','social media, alternative, Fediverse, ActivityPub, OcapPub',0,0,1),
(3139,'2020-08-13','MIDI Sysex',1238,'Klaatu talks about Sysex functions in MIDI','<p>\r\nThe MIDI spec is available at <a href=\"https://www.midi.org\" target=\"_blank\">MIDI.org</a>\r\n</p>\r\n\r\n<p>\r\nSysex commands are listed at <a href=\"https://www.midi.org/specifications-old/item/table-4-universal-system-exclusive-messages\" target=\"_blank\">midi.org&#47;specifications-old&#47;item&#47;table-4-universal-system-exclusive-messages</a>\r\n</p>\r\n',78,0,0,'CC-BY-SA','midi,music,synth',0,0,1),
(3141,'2020-08-17','Lessons learnt from Magic the Gathering game design',2269,'Lessons learnt from Magic the Gathering game design','<p>\r\nObservations and musings about game design, seen through the lens of MTG.\r\n</p>\r\n',78,95,0,'CC-BY-SA','magic, mtg',0,0,1),
(3142,'2020-08-18','tcsh',1719,'Klaatu talks about tcsh','<p>\r\nTcsh is a shell. It was popular once, I think. Anyway, I talk about why I sometimes use it, fondly, sometimes.\r\n</p>',78,0,0,'CC-BY-SA','shell,csh,bash,tcsh',0,0,1),
(3210,'2020-11-20','GIMP: Patterns and Gradients',1337,'Patterns and Gradients are useful for drawing with more than just color.','<p>Patterns and Gradients let you create images that go beyond simple colors and let you create more interesting images. And using them also means we begin to see how to combine a variety of tools, like paint tools, selection tools, and brushes, to create the effects we want in our images.</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.8/en/\" class=\"uri\">https://docs.gimp.org/2.8/en/</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/paint-tools/\" class=\"uri\">https://www.ahuka.com/gimp/paint-tools/</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=3150\" class=\"uri\">https://hackerpublicradio.org/eps.php?id=3150</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/miscellaneous-tools/\" class=\"uri\">https://www.ahuka.com/gimp/miscellaneous-tools/</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=3180\" class=\"uri\">https://hackerpublicradio.org/eps.php?id=3180</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/patterns-and-gradients/\" class=\"uri\">https://www.ahuka.com/gimp/patterns-and-gradients/</a></li>\r\n</ul>',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, patterns, gradients',0,0,1),
(3220,'2020-12-04','PixelFed',1183,'A look at a federated alternative to Instagram.','<p>Maybe you want to share some photos with your family and friends. You could use Instagram, but that is part of the Surveillance Capitalist media environment. Fortunately, there is a privacy-respecting federated alternative called PixelFed. This episode is an introduction to that platform.</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/ActivityPub\" class=\"uri\">https://en.wikipedia.org/wiki/ActivityPub</a></li>\r\n<li><a href=\"https://www.w3.org/TR/activitypub/\" class=\"uri\">https://www.w3.org/TR/activitypub/</a></li>\r\n<li><a href=\"https://www.digikam.org/\" class=\"uri\">https://www.digikam.org/</a></li>\r\n<li><a href=\"https://www.gimp.org/\" class=\"uri\">https://www.gimp.org/</a></li>\r\n<li><a href=\"https://docs.pixelfed.org/installing-pixelfed/\" class=\"uri\">https://docs.pixelfed.org/installing-pixelfed/</a></li>\r\n<li><a href=\"https://the-federation.info/\" class=\"uri\">https://the-federation.info/</a></li>\r\n<li><a href=\"https://the-federation.info/pixelfed\" class=\"uri\">https://the-federation.info/pixelfed</a></li>\r\n<li><a href=\"https://mastodon.social/@pixelfed/103122742969957333\" class=\"uri\">https://mastodon.social/@pixelfed/103122742969957333</a></li>\r\n<li><a href=\"https://www.zwilnik.com/better-social-media/pixelfed/\" class=\"uri\">https://www.zwilnik.com/better-social-media/pixelfed/</a></li>\r\n</ul>\r\n',198,108,0,'CC-BY-SA','social media, alternative, Fediverse, ActivityPub, PixelFed, photo sharing',0,0,1),
(3143,'2020-08-19','LibreOffice 7.0 Released!',927,'LibreOffice releases a new major update, LibreOffice 7.0','<p>LibreOffice is the premiere open source office suite, and with the major release of 7.0 continues to move forward. In this episode I look at some of the major features of this upgrade and why it matters.</p>\r\n<h2 id=\"links\">Links</h2>\r\n<ul>\r\n<li><a href=\"https://blog.documentfoundation.org/blog/2020/08/05/announcement-of-libreoffice-7-0/\" class=\"uri\">https://blog.documentfoundation.org/blog/2020/08/05/announcement-of-libreoffice-7-0/</a></li>\r\n<li><a href=\"https://blog.documentfoundation.org/blog/2020/01/21/odf-1-3-approved-as-oasis-committee-specification/\" class=\"uri\">https://blog.documentfoundation.org/blog/2020/01/21/odf-1-3-approved-as-oasis-committee-specification/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/OASIS_(organization)\" class=\"uri\">https://en.wikipedia.org/wiki/OASIS_(organization)</a></li>\r\n<li><a href=\"https://skia.org/\" class=\"uri\">https://skia.org/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Vulkan_(API)\" class=\"uri\">https://en.wikipedia.org/wiki/Vulkan_(API)</a></li>\r\n<li><a href=\"https://www.documentfoundation.org/governance/advisory-board/\" class=\"uri\">https://www.documentfoundation.org/governance/advisory-board/</a></li>\r\n<li><a href=\"https://www.redhat.com/en\" class=\"uri\">https://www.redhat.com/en</a></li>\r\n<li><a href=\"https://www.collaboraoffice.com/\" class=\"uri\">https://www.collaboraoffice.com/</a></li>\r\n<li><a href=\"https://www.cib.de/en/home.html\" class=\"uri\">https://www.cib.de/en/home.html</a></li>\r\n<li><a href=\"https://www.ahuka.com/libreoffice-7-0-released/\" class=\"uri\">https://www.ahuka.com/libreoffice-7-0-released/</a></li>\r\n</ul>\r\n',198,70,0,'CC-BY-SA','LibreOffice, new release',0,0,1),
(3230,'2020-12-18','Introduction to Layers',1258,'Layers are the most important concept in using GIMP','<p>Layers are the feature that does most of the heavy lifting in GIMP. In this episode we begin looking at them with an introduction, but we\'ll go deeper!</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.8/en/\" class=\"uri\">https://docs.gimp.org/2.8/en/</a></li>\r\n<li><a href=\"https://www.animationconnection.com/about-the-art/original-production-cels\" class=\"uri\">https://www.animationconnection.com/about-the-art/original-production-cels</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/XCF_(file_format)\" class=\"uri\">https://en.wikipedia.org/wiki/XCF_(file_format)</a></li>\r\n<li><a href=\"https://www.webopedia.com/TERM/A/alpha_channel.html\" class=\"uri\">https://www.webopedia.com/TERM/A/alpha_channel.html</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/introduction-to-layers/\" class=\"uri\">https://www.ahuka.com/gimp/introduction-to-layers/</a></li>\r\n</ul>\r\n',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, layers',0,0,1),
(3146,'2020-08-24','Help Me Help you with HPR eps!',358,'What should I do and how should I do it ?','<p>A show about shows ?</p>',36,0,0,'CC-BY-SA','podcasting, hpr',0,0,1),
(3155,'2020-09-04','LastPass Security Dashboard',680,'A recent update to LastPass added a Security Dashboard','<p>LastPass is one of the password managers I use (along with Keepass), and recently they added a Security Dashboard feature to the product. I take a look at this dashboard and review some of the features.</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://blog.lastpass.com/2020/08/new-lastpass-security-dashboard-and-dark-web-monitoring-now-available/\" class=\"uri\">https://blog.lastpass.com/2020/08/new-lastpass-security-dashboard-and-dark-web-monitoring-now-available/</a></li>\r\n<li><a href=\"https://www.pcmag.com/picks/the-best-password-managers\" class=\"uri\">https://www.pcmag.com/picks/the-best-password-managers</a></li>\r\n<li><a href=\"https://www.cnet.com/how-to/best-password-manager-to-use-for-2020-1password-last-password-more-compared/\" class=\"uri\">https://www.cnet.com/how-to/best-password-manager-to-use-for-2020-1password-last-password-more-compared/</a></li>\r\n<li><a href=\"https://www.tomsguide.com/us/best-password-managers,review-3785.html\" class=\"uri\">https://www.tomsguide.com/us/best-password-managers,review-3785.html</a></li>\r\n<li><a href=\"https://www.wired.com/story/best-password-managers/\" class=\"uri\">https://www.wired.com/story/best-password-managers/</a></li>\r\n<li><a href=\"https://www.zwilnik.com/security-and-privacy/hashing-passwords-and-certificates/passwords-entropy-and-good-password-practices/\" class=\"uri\">https://www.zwilnik.com/security-and-privacy/hashing-passwords-and-certificates/passwords-entropy-and-good-password-practices/</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=1620\" class=\"uri\">https://hackerpublicradio.org/eps.php?id=1620</a></li>\r\n<li><a href=\"https://support.logmeininc.com/lastpass/help/what-is-the-security-score-in-my-security-dashboard\" class=\"uri\">https://support.logmeininc.com/lastpass/help/what-is-the-security-score-in-my-security-dashboard</a></li>\r\n<li><a href=\"https://www.sans.org/security-awareness-training/blog/time-password-expiration-die\" class=\"uri\">https://www.sans.org/security-awareness-training/blog/time-password-expiration-die</a></li>\r\n<li><a href=\"https://haveibeenpwned.com/\" class=\"uri\">https://haveibeenpwned.com/</a></li>\r\n<li><a href=\"https://www.enzoic.com/\" class=\"uri\">https://www.enzoic.com/</a></li>\r\n<li><a href=\"https://www.zwilnik.com/the-lastpass-security-dashboard/\" class=\"uri\">https://www.zwilnik.com/the-lastpass-security-dashboard/</a></li>\r\n</ul>\r\n',198,74,0,'CC-BY-SA','LastPass, passwords, security, monitoring',0,0,1),
(3144,'2020-08-20','Pentesting: Insecure Object Reference',726,'How an insecure object reference lead to a covid-related databreach','<p>Insecure object reference is a very common bug in online applications which most of the time leads to significant data breaches. In this episode I talk about one such vulnerability I discovered recently in a covid-related application.</p>',387,74,0,'CC-BY-SA','pentesting,security,hacking',0,0,1),
(3145,'2020-08-21','A light bulb moment, part 1',649,'Finding the working voltage of a bulb','<p>This show came about because of an email from Dave Morriss on the 4th March 2020</p>\r\n<p>The upshot of it was that Dave came into possession of an illuminated lantern that he wanted to use. He had a problem however as the lantern in question was sealed and he didn\'t know the working voltage of the bulb within. He asked me if there was a way of working it out.</p>\r\n<p>Well first of all before I go any further I should probably say I\'m not a bulb expert, however I set about doing a little investigating. What I was about to discover is that calculating this is not as straightforward as you might think.</p>\r\n<p>One thing you might think to do is to use a meter to measure the resistance of the bulb. Even doing this however is fraught with difficulty because measuring the resistance of a cold bulb not at working temperature will give a misleading answer. This is because the resistance of a standard bulb changes with temperature.</p>\r\n<p>I can demonstrate this by measuring the resistance of two light bulbs I have lying around the house.</p>\r\n<p>One is a clear traditional Bayonet tungsten filament house bulb rated at 40W. I live in the UK so its operating voltage is 240V I used my trusty Fluke 77 Digital Ohmmeter but any meter capable of measuring resistance will do. This bulb at room temperature measured a resistance of 108 ohms</p>\r\n<p>The other bulb was a Halogen E14 screw in bulb rated at 28W and its operating voltage like the previous bulb was 240V. Its measured resistance at room temperature was 144 ohms)</p>\r\n<p>Diagrams Created using LibreOffice Draw \"Version: 6.0.7.3\"</p>\r\n<p>Formulae<br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3145/img_001.png\" alt=\"Formulae\" /></p>\r\n<p><strong>Calculations For (tungsten filament bulb)</strong></p>\r\n<pre><code>V/R = I (Amps)\r\nso 240V / 108 ohms = 2.2 Amps\r\n\r\nV x I = P (Watts)\r\nso 240V x 2.2 Amps = 528W</code></pre>\r\n<p><strong>Calculations For (halogen bulb)</strong></p>\r\n<pre><code>V/R = 240V / 144 ohms = 1.7 Amps    (halogen)\r\n\r\nV x I = W\r\nso 240V x 1.7 Amps = 408W</code></pre>\r\n<p>As per usual I used google and come up with somebody asking the same sort of question at <a href=\"https://www.candlepowerforums.com/vb/showthread.php?64832-How-to-identify-voltage-of-an-unmarked-bulb\" class=\"uri\">https://www.candlepowerforums.com/vb/showthread.php?64832-How-to-identify-voltage-of-an-unmarked-bulb</a> yes it seems like there a forum for just about anything you can think of.</p>\r\n<p>One person on the forum made the point that there really isn\'t such a thing as a working voltage it just depends on how long you want the bulb to last. For this reason I always turn down the brightness on any car I own that his dimmable dashboard lights changing these bulbs can be a real pain and or can be expensive.</p>\r\n<p>Sometimes the stated working voltage for a bulb can be misleading for example a car bulb will often state a working voltage of 12V but is likely to be running at a higher voltage when the engine is running due to the operation of cars alternator.</p>\r\n<p>Another person suggested trying to estimate the length of the filament and using this to determine the working voltage.</p>\r\n<p>Yet somebody else suggested just using a variable supply and to just slowly increase the voltage until a reasonable amount of light is generated. This might be quite simple if it\'s a low voltage bulb and you could even use some batteries lying around connecting them in series adding one battery at a time until the required brightness is achieved.</p>\r\n<p>It isn\'t so simple if bulb requires a higher voltage.</p>\r\n<p>In the end I just passed this information onto Dave wishing him luck in his path to discovering the optimal working voltage for his lantern.</p>\r\n<p>Feel free to write a comment if any of you out there have any other idea on finding the working voltage of a bulb this way it can be shared with the rest of us during the Community News, better still send in your own show.</p>\r\n',201,0,1,'CC-BY-SA','Hardware, electrical',0,0,1),
(3147,'2020-08-25','NIST\'s Quantum Cryptography Update',825,'NIST has concluded Round Two of the quantum encryption search and moved to Round Three','<p>NIST initiated a competition to find and test algorithms for quantum encryption that would resist quantum decryption back in December of 2016. Two rounds of testing have been completed, and an initial group of 69 submissions have been winnowed to 15. These 15 are now in Round Three of the testing process, and it is anticipated that as many as 4 of them will be approved as standards. This news update is intended to bring you up to date on the process.</p>\r\n<p>Links:</p>\r\n<ul>\r\n<li><a href=\"https://www.zwilnik.com/security-and-privacy/encryption-and-quantum-computing/\" class=\"uri\">https://www.zwilnik.com/security-and-privacy/encryption-and-quantum-computing/</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2860\" class=\"uri\">https://hackerpublicradio.org/eps.php?id=2860</a></li>\r\n<li><a href=\"https://letsencrypt.org/\" class=\"uri\">https://letsencrypt.org/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Public-key_cryptography\" class=\"uri\">https://en.wikipedia.org/wiki/Public-key_cryptography</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Whitfield_Diffie\" class=\"uri\">https://en.wikipedia.org/wiki/Whitfield_Diffie</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Martin_Hellman\" class=\"uri\">https://en.wikipedia.org/wiki/Martin_Hellman</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Ralph_Merkle\" class=\"uri\">https://en.wikipedia.org/wiki/Ralph_Merkle</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Pretty_Good_Privacy\" class=\"uri\">https://en.wikipedia.org/wiki/Pretty_Good_Privacy</a></li>\r\n<li><a href=\"https://gcn.com/articles/2016/12/22/nist-quantum-encryption.aspx\" class=\"uri\">https://gcn.com/articles/2016/12/22/nist-quantum-encryption.aspx</a></li>\r\n<li><a href=\"https://gcn.com/articles/2019/02/04/nist-quantum-semifinals.aspx\" class=\"uri\">https://gcn.com/articles/2019/02/04/nist-quantum-semifinals.aspx</a></li>\r\n<li><a href=\"https://csrc.nist.gov/publications/detail/nistir/8309/final\" class=\"uri\">https://csrc.nist.gov/publications/detail/nistir/8309/final</a></li>\r\n<li><a href=\"https://www.nist.gov/news-events/news/2020/07/nists-post-quantum-cryptography-program-enters-selection-round\" class=\"uri\">https://www.nist.gov/news-events/news/2020/07/nists-post-quantum-cryptography-program-enters-selection-round</a></li>\r\n<li><a href=\"https://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html\" class=\"uri\">https://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html</a></li>\r\n<li><a href=\"https://www.zwilnik.com/security-and-privacy/nists-quantum-cryptography-update-20200815/\" class=\"uri\">https://www.zwilnik.com/security-and-privacy/nists-quantum-cryptography-update-20200815/</a></li>\r\n</ul>\r\n',198,74,0,'CC-BY-SA','security, encryption, quantum computing',0,0,1),
(3148,'2020-08-26','Why Open Source matters (to me)',1612,'I go briefly into my own history that has lead me to choose open source software exclusively.','<p>My original website: <a href=\"https://psquirk.tripod.com\" class=\"uri\">https://psquirk.tripod.com</a></p>',383,0,0,'CC-BY-SA','history,open source,matters,vic 20,amiga,commodore',0,0,1),
(3151,'2020-08-31','How I listen to podcasts',393,'This is a reply to MrX episode on how to listen to podcasts','<p>In this episode I talk about the program I use to listen to podcasts.</p>\r\n<p>BeyondPod which has a smart play feature where you can decide how to listen, in what order and how much of each podcast.</p>',382,0,0,'CC-BY-SA','podcast,software,android',0,0,1),
(3152,'2020-09-01','My Pocket Knives',870,'I talk a little about some pocket knives I often carry','<h2 id=\"introduction\">Introduction</h2>\r\n<p>As a boy I was allowed to have a penknife from about the age of 10. Since then I have tended to carry pocket knives with me on a regular basis.</p>\r\n<p>I have three knives that often travel with me, though two might have become illegal in the UK in the recent past because they lock.</p>\r\n<p>The knives are:</p>\r\n<ul>\r\n<li>Victorinox <em>Huntsman</em></li>\r\n<li>Durol locking knife</li>\r\n<li>Roxon KS-S501</li>\r\n</ul>\r\n<h2 id=\"long-notes\">Long notes</h2>\r\n<p>I have provided detailed notes as usual for this episode, and these can be <a href=\"https://hackerpublicradio.org/eps/hpr3152/full_shownotes.html\">viewed here</a>.</p>\r\n<h2 id=\"links\">Links</h2>\r\n<ul>\r\n<li>Victorinox\r\n<ul>\r\n<li><a href=\"https://www.victorinox.com/uk/en\">Victorinox website</a> (UK)</li>\r\n<li><a href=\"https://www.victorinox.com/uk/en/Products/Swiss-Army-Knives/Medium-Pocket-Knives/Huntsman/p/1.3713\">Victorinox <em>Huntsman</em></a> (UK)</li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Swiss_Army_knife\">Wikipedia: Swiss Army knife</a></li>\r\n</ul></li>\r\n<li>Durol\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Thiers,_Puy-de-D%C3%B4me\">Wikipedia: Thiers, Puy-de-Dôme</a></li>\r\n<li><a href=\"https://www.lecouteau.info/couteliers-fabricants-de-thiers/durol/\">Coutellerie &amp; Couteaux - Durol</a> (<em>in French</em>)</li>\r\n</ul></li>\r\n<li>ROXON\r\n<ul>\r\n<li><a href=\"https://roxontool.com/col.jsp?id=111\">KS-S501</a></li>\r\n</ul></li>\r\n</ul>\r\n',225,0,1,'CC-BY-SA','knife,pocket knife,penknife,Victorinox,Durol,Roxon',0,0,1),
(3153,'2020-09-02','Fixing eBooks with Calibre and pdfcrop',308,'Ken uses Calibre to convert a epub to PDF then uses pdfcrop to trim the margins','<pre>\r\npdfcrop --margins \'-4 -4 -4 -5\' --clip input.pdf output.pdf\r\n</pre>\r\n\r\n<p>\r\ncalibre is a powerful and easy to use e-book manager. Users say it’s outstanding and a must-have. It’ll allow you to do nearly everything and it takes things a step beyond normal e-book software. It’s also completely free and open source and great for both casual users and computer experts. \r\n</p>\r\n<p>\r\nPDFCrop is a Perl script that crops the white margins of PDF pages and rescales them to fit a standard size sheet of paper. It makes the printed pages far more attractive to read! \r\n</p>\r\n<h3>Links</h3>\r\n<ul>\r\n<li><a href=\"https://calibre-ebook.com/\">https://calibre-ebook.com/</a></li>\r\n<li><a href=\"https://pdfcrop.sourceforge.net/\">https://pdfcrop.sourceforge.net/</a></li>\r\n</ul>',30,0,0,'CC-BY-SA','calibre,pdfcrop,epub,pdf',0,0,1),
(3154,'2020-09-03','Make NextCloud your next cloud',771,'I go into my reasons for using NextCloud, what it is, and why you might want it.','<p>My federated address is @paul@cloud.pquirk.com</p>',383,0,0,'CC-BY-SA','Raspberry Pi,NextCloud,federated',0,0,1),
(3157,'2020-09-08','Compost',2583,'How and why to compost','<p>\r\n  How to compost food scraps to produce nutrient-rich soil. It&#39;s natural&#33;\r\n</p>',78,93,0,'CC-BY-SA','food, rubbish, landfill, gardening',0,0,1),
(3159,'2020-09-10','Vivaldi - The Four Seasons',2703,'All four movements of Vivaldi\'s Four Seasons, celebrating the Creative Commons license','<p>\r\nAntonio Vivaldi composed The Four Seasons (\'Le quattro stagioni\' in its original Italian) in 1723. It is a set of 4 violin concertos that propose an early form of descriptive music: for example, Winter makes prominent use of pizzicato notes in high registers, whereas Summer evokes a storm in its final movement. The work was first presented as part of Op. 8, being later catalogued as RV 269, 315, 293 & 297. The Four Seasons remain very popular to this day, some of its concertos spawning a great number of derivative works, whereas thousands of recordings of the original pieces have been made. It is still debated if Vivaldi wrote this concertos to accompany four sonnets that may have been written by himself. <br />\r\nFrom <a href=\"https://musopen.org/music/14910-the-four-seasons-op-8/\">Vivaldi The Four Seasons, Op. 8</a>\r\n</p>\r\n\r\n<p>\r\n<a href=\"https://musopen.org/music/performer/the-modena-chamber-orchestra/\">The Modena Chamber Orchestra Music</a>\r\n</p>',383,22,0,'CC-BY-SA','Vivaldi, four seasons, creative commons',0,0,1),
(3158,'2020-09-09','Fingerprint access control? LOL... ',1201,'A story about pentesting physical security','<p>Hello everyone, my name is Cedric and I\'m here again with another story on pentesting and security, straight from the trenches.</p>\r\n<p>Today I\'m going to share a story with you about an assignment we did some time ago for a large entertainment company. Our client, like many entertainment companies, produces a lot of intellectual property. So, one of their biggest concerns is that someone might physically break into their premises and steal some of these designs and products. They had already taken some precautions, like installing intrusion detection alarms and access controls on all doors etc\' The access controls they installed even had a dual function and could be used both as an RFID reader and as a fingerprint reader. So, they were already trying their best to secure their on-site intellectual property. And that\'s also the reason why they hired me and my team: they wanted to check if their investment in security was actually worth its money so far.</p>\r\n<p>We proposed a plan to hack them, in any way our devious minds could possibly think of. Everything was on the table: We could try and hack ourselves in. We could social engineer ourselves in, basically by manipulating people and abusing their trust and confidence. We could do all of that, and we would, eventually. But first, the grand opening of this show, would be an attempt to physically break into their premises at night. And yes, that was as much fun as it sounds ;-)</p>\r\n<p>Our approach was basically the same as that of a professional burglar: we\'d start with a week of preparation and scoping the place.</p>\r\n<p>So how do you do this? Well, we knew the address of course so first we checked out the place on Google Maps. And we were pretty lucky: Google had just recently updated their imagery of the area which meant we had recent maps to work with and the entire thing could be viewed in 3D with a fair amount of detail. That\'s pretty much as perfect as it comes when you\'re planning to do a major heist on a place in the physical world out there :-) So, we started with scouting the area from behind our laptops. We saw where all the entrances to the building were. We also saw that on the frontside the building just gave access to the street, while on the backside of the premise there was a public park. This looked very promising as a potential entrypoint, so our next step would be to actually physically go there and scout the area.</p>\r\n<p>So, first we went there during daylight hours and just took a drive around the block using a rental car. We\'d look for entrances to the building, camera\'s guarding these and the general view of the area, basic things… We didn\'t spot any cameras on the outside of the building. So we figured it would be pretty safe to take a walk and scout the area by foot. There was foot traffic but not too much, so we wouldn\'t draw any attention by just casually walking around and having a closer look.</p>\r\n<p>The main entrance to the building was in a quiet street which led to a small square where a few kids were playing, and on the other side there was a street with some shops and a few restaurants. The entrance to our clients building had a gate through which we could see a quiet courtyard and the general layout of the building. The first thing that drew our attention was an access control device guarding the entrance, it was a fingerprint reader and it had a brand name Suprema printed on it. Straight across the courtyard we could see the trees of the neighboring park. There was a rooftop terrace on the first floor which gave access to the offices of our client. We also noticed the wall that separated this terrace from the park and it was huge, at least 6 meters.</p>\r\n<p>We couldn\'t hang around for too long of course so we decided to continue our walk to the second entrance we spotted just around the corner. We could recognise its anonymous door next to a restaurant because it was guarded by the same Suprema fingerprint device. The restaurant however seemed quite popular, and it had a terras in front of it with a dozen tables, so that pretty much dismissed this entrance as a possible entry for our heist.</p>\r\n<p>Needless to say that while we walked around the block we were also continuously scanning the area for Wifi and bluetooth devices. But nothing interesting had shown up so far. We had spotted our clients network but it was protected. We probably could use this information to set up rogue access-points later during our assignment, but for now this information was of little use to us.</p>\r\n<p>We continued our walk and took a left to end up at the park bordering to the other side of our clients building. While the park was empty at that moment, we didn\'t really feel at ease. On one side the park bordered an apartment building and all of its rear terrasses faced this park. We went to the wall at the far end of the park as casually as possible, and inspected it. It had two large windows, giving the people working in the offices on the inside a nice view of the park. Unfortunately these windows didn\'t seem to have any way of opening. The wall was high, very high, we estimated about 8 meters. On the other side it would give access to the terrace on the first floor. We figured that this would be the perfect entrypoint for our heist. We\'d use the cover of darkness to get a ladder across the park, under the trees against that wall. I\'d climb over it to land on the terrace and that would be our first step onto the premise. Next step would be to find a way into the building and for that we\'d have to find a way to bypass these Suprema fingerprint readers next to every door.</p>\r\n<p>So we went back to our hackerspace and researched this device and we figured the best way to move forward would be to actually buy one of these to first try and hack it in the safety of our lab. So I spent a fair amount of time researching the exact model they had installed and ordering one from a local supplier. The thing came at a hefty price, these Suprema devices are not cheap. But now I had an electronic lock, a relay board, a power supply and one of these fingerprint readers with which I could start playing.</p>\r\n<p>I started off with reading the manual of course, which already was very interesting on its own. I learned that this thing can be configured in a zillion ways. I figured that, like most things, the guys that installed it would probably stick pretty close to how it came out of the box. So that\'s what I did as well: I installed the thing exactly as it came, following the instructions in the manual.</p>\r\n<p>I\'ll give you the summary of this entire installation. Electronic locks are pretty simple technology. Basically it\'s just an electro-magnet, a coil through which you send current to create a magnetic field that pulls a bolt out of the way so the lock can open, that\'s when it makes the clicking sound. Inside of the building, the receptionist can just press a button and a current will flow to the lock. However, on the outside of the building it wouldn\'t be very desirable that anyone can just press a button to open the door. That\'s why most companies implement access controls like RFID-readers or in this case fingerprint readers. A visitor scans his fingerprint with the device next to the door, the software checks if it finds the signature of the print in the database holding all recognized prints, and if so it will open the door.</p>\r\n<p>So if we\'d want to bypass this scheme, we\'d basically have two options: hack the device to open the lock, or duplicate a registered fingerprint to fool the scanner and open the lock. Research had shown that this last option wasn\'t actually so far fetched. It\'s actually a proven feasible attack, last DEFCON even demonstrated an attack where a print was copied in 3D using a 3D printer. The technique we would try involved etching the negative of a high-contrast image from a lifted latent print onto a copper plate. Next we\'d pour hot glue over that etch to actually recreate the fingerprint in 3D. However, this procedure requires some practice and skills, and we didn\'t have time for that. We tried it using our own prints lifted from a glass plate, following the procedure as best as we could but we failed miserably. So, this would not be an option and we already spent a fair amount of time.</p>\r\n<p>So by now it had become clear we would have to hack the device. And as it was laying there in front of me on my desk, basically running the default setup with just my own print registered in the software, it became obvious that I had missed a crucial error in the design the entire time. I had never actually bothered to install this thing \"properly\" like mounted to a board with its cables fitted nicely behind a wall etc. The entire thing was just laying there, in front of me on my desk and all the cables really were a mess, but most importantly: the software wasn\'t showing any warnings whatsoever that the device was not mounted to a wall. I investigated the manual and I learned that the thing has something called a \"tamper alarm\". But this must have been disabled by default because I never had any alarms while the device was just laying there and was continuously shaking and moving it. So this meant that I could probably just pull this thing from a wall without any alarms going off.</p>\r\n<p>I had to validate this premise first before we could continue. If this turned out to be a false assumption we\'d waste valuable time investigating a plan which would probably fail in the end. So the following night I set out again to our clients building. It was like 3:30 in the morning and there was nobody on the streets. We already validated that there were no cameras pointing to the entrance, still I didn\'t feel too confident. My plan was simple but solid: I\'d unscrew the fingerprint reader at the main entrance and put it back in place after 30seconds. I\'d then walk to the little square at the end of the street and sit on the bench there so I would have a clear view of our clients entrance. I figured that, if the tamper alarm was enabled, and if they had someone monitoring it, they would probably come and check the device causing the alarm. I\'d be interested in their response time of course, but most of all I was just hoping nobody would show up. And that\'s also what happened. I waited for 2 whole hours on that bench and nobody showed up, so I concluded the tamper alarm must have been disabled as is the default setting on these things, or nobody is monitoring it. Anyway, now I knew I could safely start tinkering on how I could manipulate this thing into letting me.</p>\r\n<p>So the next day after I had a few hours of sleep we went back to work, playing with that Suprema BioLite and its software. I was in a good mood and had lots of inspiration. We started with investigating the general architecture of this access control scheme. So it turns out you have a client device, the scanner which is next to the door and this client device gets a database of recognized fingerprints from a control server which holds a list of all connected devices. So it\'s on this server where you register new doors and locks and new users that can open these locks. Now, when I installed the setup to experiment with, I learned that I had to register the lock into the control server before I could actually do anything, so I followed that entire procedure but unless I was missing something I didn\'t notice any real checks to be in place during that registration. So what I was thinking was: maybe I can disconnect this device from its network and the control server and reconnect it to my own server. Then I could upload my own prints to the device and then I\'d be able to open the door with my own finger. So that\'s what I tried. I had the entire setup running in my own network, so I re-installed the software once again on my laptop. I then registered another print of mine into this installation. Next I disconnected the device from my network and connected it to a new temporary network running on my laptop: I had it running DHCP and I had a little USB-powered ethernet switch laying around which came in handy for this job. So the device quickly got an ip address from my new network and when I scanned for new fingerprint devices in my network using the Suprema control server that was installed on my laptop, I easily found it and was able to register it in this installation. I then was able to upload a copy of my fingerprints from my laptop to the device and after reconnecting it to the original network I could still open the lock with my newly registered print. So this meant we had our hack to bypass this device: we\'d just upload our own set of prints to it and it would happily accept these and open the door for us.</p>\r\n<p>So we hired a van and a ladder, and with some action cameras geared up we set out in the middle of the following night. We managed to get the ladder across the park and put it against the wall without making too much noise, we didn\'t wake up any curious neighbours. Next, I\'d climb up the ladder, but since it was only 6m and the wall was about 8m high I\'d have to climb the last bit by hand. Fortunately there was some vegetation growing on that wall and it felt like it would be strong enough to hold my weight. So, I gave it a try and pulled myself up from the ladder and the vines fortunately didn\'t break, so I climbed to the top of the wall and hoisted myself on top of it. I jumped off on the other side and landed on the first floor terrace we saw earlier. I went straight to the door and as expected it had one of these Suprema fingerprint readers next to it and I immediately went to work: I unscrewed the device from its mounting bracket and pulled the cables a bit from the wall. I then cut all the wires of the UTP-connection and connected a female RJ-45 socket to the UTP-wires of the fingerprint reader with crocodile clips. Next I hooked it up to my usb-powered switch which connected the device to the network running on my laptop. As I had tested everything in detail, the attack went smooth as a breeze and within no time I had my own fingerprint loaded into the device. I tested it and I could hear the lock of the door clicking while I put my finger onto the reader, so I started screwing the device back into the mounting bracket.</p>\r\n<p>Everything went exactly as planned and I had just put my laptop and all my gear into my backpack again when suddenly I saw the lights go on through the glass door separating me from the inside of the top floor. I could see the elevator doors open and suddenly there I was, standing face to face with a janitor. I could see his face and he could see me so I tried to pull myself together, I had to think quickly. I figured he would let me in, or call the cops and I would probably only get one chance to explain myself. So I pulled my silly face, pointed with a finger to the access control, shrugged my shoulders and lipped slowly \"it\'s not working\". Well, I must have been an actor in a previous life because, sure thing the man came up to the door and opened up for me. While I entered and said a quick \"hey thanks man\", he looked a bit questioning and mumbled something of \"who are you and what are you doing here?\" and as casual as I could I answered \"Oh I\'m from IT, I\'m here for work\". I smiled, thanked him once again while I stepped into the elevator and pressed the button for the ground floor. I was in! My heart was pounding like a racehorse but I was in! This stuff was like straight from the movies.</p>\r\n<p>Now it was time for the fun part of the night: claiming our flag of victory. First I went to the director\'s office, to leave a friendly signature of my presence: I left a bottle of champagne on his desk and I decorated the place with some CYBER-tape :-) On my way out I left a little present in the form of a LAN Turtle 3G. That\'s a 3G-enabled remote access toolkit with a network-connection which I hooked up with an empty socket underneath the receptionist\'s desk. The LAN Turtle would immediately boot and using its 3G connection it established a reverse tunnel using SSH to our command-and-control server. Using that covert connection we now had a way into the network from the outside. Installing it only took about 15 seconds and after having confirmed tunnel using a shell on my phone I went straight to the front-door and left the place. Mission accomplished! We had successfully penetrated the place.</p>\r\n<p>I went to bed with a very big smile on my face early in the morning that day. By Noon I got up after a few hours of sleep and called our clients. They thanked us for the champagne and I gave them the gist of what had happened earlier that day while everyone else was still in bed sleeping.</p>\r\n<p>The following weeks we would continue with our assignment and use our newly granted access into the place to go there physically during daytime hours, posing as an external developer. Eventually we gained full access to the entire place, including their on-premise datacenter holding their intellectual property, the crown jewels as to speak. Apparently, the access control-server was still protected with the default credentials admin/admin so I had pretty easy time expanding my initial foothold.</p>\r\n<p>At the end of our assignment we presented all of our findings to our client and they immediately took appropriate action, including making sure tampering control got enabled on all of their access control devices. And I for my part had learned a whole lot of new fun stuff about access control devices and the possible flaws they can hold.</p>\r\n<p>So, this was yet another story on pentesting and security. I hope you enjoyed this episode. If you\'d like to reach out to me, please use the comment section on Hacker Public Radio or contact me on Twitter or Facebook. See you next time!</p>\r\n',387,74,0,'CC-BY-SA','pentesting,security,hacking,biometrics',0,0,1),
(3161,'2020-09-14','How I manage podcast listening',1192,'Another reply to MrX\'s episode on how he listens to podcasts','<h2 id=\"introduction\">Introduction</h2>\r\n<p>I have spoken in the past about the <a href=\"https://hackerpublicradio.org/eps.php?id=2211\" title=\"My podcast workflow\">podcast management system</a> I have created, but have never gone into much detail about how I manage the playing of episodes.</p>\r\n<p>Prompted by <a href=\"https://hackerpublicradio.org/correspondents/0201.html\">MrX’s</a> <a href=\"https://hackerpublicradio.org/eps.php?id=3132\" title=\"Keeping track of where I am\">HPR episode hpr3132, “Keeping track of where I am”</a> I will describe it now.</p>\r\n<h2 id=\"long-notes\">Long notes</h2>\r\n<p>Follow this link to <a href=\"https://hackerpublicradio.org/eps/hpr3161/full_shownotes.html\">read the detailed notes</a> associated with this episode.</p>\r\n<h2 id=\"links\">Links</h2>\r\n<ul>\r\n<li><a href=\"https://www.rockbox.org/\">Rockbox - an alternative operating system for certain music players</a></li>\r\n<li><a href=\"https://www.figlet.org/\">figlet - a program for making large letters out of ordinary text</a></li>\r\n</ul>\r\n<ul>\r\n<li>HPR links:\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=1656\">hpr1656 :: My audio player collection</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=1992\">hpr1992 :: How I’m handling my podcast-subscriptions and -listening</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2211\">hpr2211 :: My podcast workflow</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=3132\">hpr3132 :: Keeping track of where I am</a></li>\r\n</ul></li>\r\n</ul>',225,0,1,'CC-BY-SA','podcast,software,mp3 player,database',0,0,1),
(3164,'2020-09-17','I\'m Learning Spanish',989,'How I am using a variety of tools to learn Spanish','<p>I decided to use my time spent in relative isolation to do something productive and learn another language. I picked Spanish because I am hoping to visit Mexico and other Latin American countries whenever the plague lifts. I decided to document this for anyone who wants to know what options I found and how they have worked for me so far.</p>\r\n<ul>\r\n<li><a href=\"https://www.babbel.com/\" class=\"uri\">https://www.babbel.com/</a></li>\r\n<li><a href=\"https://actualfluency.com/babbel-review/\" class=\"uri\">https://actualfluency.com/babbel-review/</a></li>\r\n<li><a href=\"https://www.trustpilot.com/review/babbel.com\" class=\"uri\">https://www.trustpilot.com/review/babbel.com</a></li>\r\n<li><a href=\"https://www.alllanguageresources.com/rosetta-stone-vs-babbel/\" class=\"uri\">https://www.alllanguageresources.com/rosetta-stone-vs-babbel/</a></li>\r\n<li><a href=\"https://my.babbel.com/en/prices\" class=\"uri\">https://my.babbel.com/en/prices</a></li>\r\n<li><a href=\"https://support.babbel.com/hc/en-us/articles/360037580132\" class=\"uri\">https://support.babbel.com/hc/en-us/articles/360037580132</a></li>\r\n<li><a href=\"https://www.duolingo.com/\" class=\"uri\">https://www.duolingo.com/</a></li>\r\n<li><a href=\"https://appleinsider.com/articles/13/12/17/apple-announces-best-of-2013-itunes-list-for-music-apps-more\" class=\"uri\">https://appleinsider.com/articles/13/12/17/apple-announces-best-of-2013-itunes-list-for-music-apps-more</a></li>\r\n<li><a href=\"https://www.cnet.com/news/best-language-learning-apps-of-2020-update/#listicle-a538cb59-e3e7-47b1-b029-f9ad8735bcbb\" class=\"uri\">https://www.cnet.com/news/best-language-learning-apps-of-2020-update/#listicle-a538cb59-e3e7-47b1-b029-f9ad8735bcbb</a></li>\r\n<li><a href=\"https://uk.pcmag.com/education/18817/duolingo\" class=\"uri\">https://uk.pcmag.com/education/18817/duolingo</a></li>\r\n<li><a href=\"https://www.influenster.com/reviews/duolingo\" class=\"uri\">https://www.influenster.com/reviews/duolingo</a></li>\r\n<li><a href=\"https://www.memrise.com/apps/\" class=\"uri\">https://www.memrise.com/apps/</a></li>\r\n<li><a href=\"https://www.pcmag.com/reviews/memrise\" class=\"uri\">https://www.pcmag.com/reviews/memrise</a></li>\r\n<li><a href=\"https://www.alllanguageresources.com/memrise-review-good-beginners-dont-overuse/\" class=\"uri\">https://www.alllanguageresources.com/memrise-review-good-beginners-dont-overuse/</a></li>\r\n<li><a href=\"https://www.lifewire.com/memrise-review-1357058\" class=\"uri\">https://www.lifewire.com/memrise-review-1357058</a></li>\r\n<li><a href=\"https://www.spanishpod101.com/\" class=\"uri\">https://www.spanishpod101.com/</a></li>\r\n<li><a href=\"https://www.fluentu.com/blog/spanish/spanishpod101-review/\" class=\"uri\">https://www.fluentu.com/blog/spanish/spanishpod101-review/</a></li>\r\n<li><a href=\"https://www.alllanguageresources.com/spanishpod101/\" class=\"uri\">https://www.alllanguageresources.com/spanishpod101/</a></li>\r\n<li><a href=\"https://actualfluency.com/spanishpod101-review/\" class=\"uri\">https://actualfluency.com/spanishpod101-review/</a></li>\r\n<li><a href=\"https://www.speaktribe.com/\" class=\"uri\">https://www.speaktribe.com/</a></li>\r\n<li><a href=\"https://www.androidguys.com/reviews/speaktribe-a-great-way-of-learning-the-beautiful-spanish-language-review/\" class=\"uri\">https://www.androidguys.com/reviews/speaktribe-a-great-way-of-learning-the-beautiful-spanish-language-review/</a></li>\r\n<li><a href=\"https://www.educationalappstore.com/app/learn-spanish-with-speaktribe\" class=\"uri\">https://www.educationalappstore.com/app/learn-spanish-with-speaktribe</a></li>\r\n<li><a href=\"https://appgrooves.com/app/learn-spanish-with-speaktribe-by-edushire-technologies-private-limited\" class=\"uri\">https://appgrooves.com/app/learn-spanish-with-speaktribe-by-edushire-technologies-private-limited</a></li>\r\n<li><a href=\"https://aaac.co/en-us/en-spa/best-spanish-learning-app-for-ios-android/2059/\" class=\"uri\">https://aaac.co/en-us/en-spa/best-spanish-learning-app-for-ios-android/2059/</a></li>\r\n<li><a href=\"https://appgrooves.com/android/com.ufo.learnspanish/learn-spanish-offline/ufostudio\" class=\"uri\">https://appgrooves.com/android/com.ufo.learnspanish/learn-spanish-offline/ufostudio</a></li>\r\n<li><a href=\"https://appfollow.io/android/learn-spanish-offline/com.ufo.learnspanish\" class=\"uri\">https://appfollow.io/android/learn-spanish-offline/com.ufo.learnspanish</a></li>\r\n<li><a href=\"https://spanishobsessed.com/\" class=\"uri\">https://spanishobsessed.com/</a></li>\r\n<li><a href=\"https://languagelearninglibrary.com/library/spanish-obsessed/\" class=\"uri\">https://languagelearninglibrary.com/library/spanish-obsessed/</a></li>\r\n<li><a href=\"https://www.fluentu.com/blog/spanish/spanish-podcasts/\" class=\"uri\">https://www.fluentu.com/blog/spanish/spanish-podcasts/</a></li>\r\n<li><a href=\"https://www.theguardian.com/education/2015/feb/09/top-podcasts-learning-language-german-japanese\" class=\"uri\">https://www.theguardian.com/education/2015/feb/09/top-podcasts-learning-language-german-japanese</a></li>\r\n<li><a href=\"https://www.palain.com/im-learning-spanish/\" class=\"uri\">https://www.palain.com/im-learning-spanish/</a></li>\r\n</ul>\r\n',198,116,0,'CC-BY-SA','Spanish, Language learning',0,0,1),
(3165,'2020-09-18','Spanish Tools Continued',830,'Part two of how I am using a variety of tools to learn Spanish','<p>I decided to use my time spent in relative isolation to do something productive and learn another language. I picked Spanish because I am hoping to visit Mexico and other Latin American countries whenever the plague lifts. I decided to document this for anyone who wants to know what options I found and how they have worked for me so far. This is the second part of my tools exploration.</p>\r\n<ul>\r\n<li><a href=\"https://www.youtube.com/channel/UC3iaeeUxWOgUXFK6kfIp_Ig\" class=\"uri\">https://www.youtube.com/channel/UC3iaeeUxWOgUXFK6kfIp_Ig</a></li>\r\n<li><a href=\"https://www.alllanguageresources.com/spanish/\" class=\"uri\">https://www.alllanguageresources.com/spanish/</a></li>\r\n<li><a href=\"https://www.youtube.com/watch?v=hyLl_0d0EBw&amp;list=PLTpetkN815Qyuc2RbC1kxxMQvxjQ3RnYG\" class=\"uri\">https://www.youtube.com/watch?v=hyLl_0d0EBw&amp;list=PLTpetkN815Qyuc2RbC1kxxMQvxjQ3RnYG</a></li>\r\n<li><a href=\"https://www.youtube.com/watch?v=QWEXFfqwh7w&amp;list=PL80Flen6gkH_9j4OxsDucs9mbKjl5ccvU\" class=\"uri\">https://www.youtube.com/watch?v=QWEXFfqwh7w&amp;list=PL80Flen6gkH_9j4OxsDucs9mbKjl5ccvU</a></li>\r\n<li><a href=\"https://radiolingua.com/category/coffee-break-spanish/\" class=\"uri\">https://radiolingua.com/category/coffee-break-spanish/</a></li>\r\n<li><a href=\"https://www.fluentu.com/blog/spanish/coffee-break-spanish-review/\" class=\"uri\">https://www.fluentu.com/blog/spanish/coffee-break-spanish-review/</a></li>\r\n<li><a href=\"https://www.alllanguageresources.com/coffee-break-spanish/\" class=\"uri\">https://www.alllanguageresources.com/coffee-break-spanish/</a></li>\r\n<li><a href=\"https://spanishlandschool.com/best-spanish-podcasts/\" class=\"uri\">https://spanishlandschool.com/best-spanish-podcasts/</a></li>\r\n<li><a href=\"https://podcast.duolingo.com/spanish\" class=\"uri\">https://podcast.duolingo.com/spanish</a></li>\r\n<li><a href=\"https://www.alllanguageresources.com/spanish-podcasts/\" class=\"uri\">https://www.alllanguageresources.com/spanish-podcasts/</a></li>\r\n<li><a href=\"https://mashable.com/2017/12/07/duolingo-launches-spanish-podcast/\" class=\"uri\">https://mashable.com/2017/12/07/duolingo-launches-spanish-podcast/</a></li>\r\n<li><a href=\"https://www.thoughtco.com/best-podcasts-for-learning-spanish-4705414\" class=\"uri\">https://www.thoughtco.com/best-podcasts-for-learning-spanish-4705414</a></li>\r\n<li><a href=\"https://www.babbel.com/en/magazine/babbels-spanish-podcasts\" class=\"uri\">https://www.babbel.com/en/magazine/babbels-spanish-podcasts</a></li>\r\n<li><a href=\"https://www.podparadise.com/Podcast/Reviews/1485542323\" class=\"uri\">https://www.podparadise.com/Podcast/Reviews/1485542323</a></li>\r\n<li><a href=\"https://chartable.com/podcasts/a-zero-to-a-hero-learn-spanish\" class=\"uri\">https://chartable.com/podcasts/a-zero-to-a-hero-learn-spanish</a></li>\r\n<li><a href=\"https://www.boulderspanish.com/top-10-podcasts-for-spanish-learners/\" class=\"uri\">https://www.boulderspanish.com/top-10-podcasts-for-spanish-learners/</a></li>\r\n<li><a href=\"https://www.spanishpod101.com/helpcenter/getstarted/itunesfeeds\" class=\"uri\">https://www.spanishpod101.com/helpcenter/getstarted/itunesfeeds</a></li>\r\n<li><a href=\"https://www.fluentin3months.com/spanishpod101-review/\" class=\"uri\">https://www.fluentin3months.com/spanishpod101-review/</a></li>\r\n<li><a href=\"https://www.alllanguageresources.com/spanishpod101/\" class=\"uri\">https://www.alllanguageresources.com/spanishpod101/</a></li>\r\n<li><a href=\"https://actualfluency.com/spanishpod101-review/\" class=\"uri\">https://actualfluency.com/spanishpod101-review/</a></li>\r\n<li><a href=\"https://www.notesinspanish.com/\" class=\"uri\">https://www.notesinspanish.com/</a></li>\r\n<li><a href=\"https://www.fluentu.com/blog/spanish/spanish-podcasts/\" class=\"uri\">https://www.fluentu.com/blog/spanish/spanish-podcasts/</a></li>\r\n<li><a href=\"https://coffeeshopspanish.com/blog/2016/09/23/top-7-spanish-podcasts-intermediateadvanced-learners/\" class=\"uri\">https://coffeeshopspanish.com/blog/2016/09/23/top-7-spanish-podcasts-intermediateadvanced-learners/</a></li>\r\n<li><a href=\"https://www.merlot.org/merlot/viewCompositeReview.htm?id=389501\" class=\"uri\">https://www.merlot.org/merlot/viewCompositeReview.htm?id=389501</a></li>\r\n<li><a href=\"https://www.newsinslowspanish.com/\" class=\"uri\">https://www.newsinslowspanish.com/</a></li>\r\n<li><a href=\"https://www.mosalingua.com/en/the-best-free-spanish-podcasts/\" class=\"uri\">https://www.mosalingua.com/en/the-best-free-spanish-podcasts/</a></li>\r\n<li><a href=\"https://spanishlandschool.com/best-spanish-podcasts/\" class=\"uri\">https://spanishlandschool.com/best-spanish-podcasts/</a></li>\r\n<li><a href=\"https://coffeeshopspanish.com/blog/2016/09/23/top-7-spanish-podcasts-intermediateadvanced-learners/\" class=\"uri\">https://coffeeshopspanish.com/blog/2016/09/23/top-7-spanish-podcasts-intermediateadvanced-learners/</a></li>\r\n<li><a href=\"https://www.palain.com/spanish-tools-continued/\" class=\"uri\">https://www.palain.com/spanish-tools-continued/</a></li>\r\n</ul>\r\n',198,116,0,'CC-BY-SA','Spanish, Language learning',0,0,1),
(3175,'2020-10-02','International Keyboard',681,'How I learned to implement a keyboard that lets me type in Spanish','<p>I decided to use my time spent in relative isolation to do something productive and learn another language. I picked Spanish because I am hoping to visit Mexico and other Latin American countries whenever the plague lifts. I decided to document this for anyone who wants to know what options I found and how they have worked for me so far. This is the third part where I explain how I implemented the US International Keyboard on a variety of platforms. This lets me type characters that Spanish uses which do not appear on a standard US English keyboard. And best of all, it a purely free software fix.</p>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/British_and_American_keyboards#/media/File:KB_US-International.svg\" class=\"uri\">https://en.wikipedia.org/wiki/British_and_American_keyboards#/media/File:KB_US-International.svg</a></li>\r\n<li><a href=\"https://www.palain.com/international-keyboard/\" class=\"uri\">https://www.palain.com/international-keyboard/</a></li>\r\n</ul>\r\n',198,116,0,'CC-BY-SA','Spanish, Language learning, typing foreign characters',0,0,1),
(3456,'2021-11-01','HPR Community News for October 2021',4849,'HPR Volunteers talk about shows released and comments posted in October 2021','<style>\ntable td.shrink {\n    white-space:nowrap\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nWelcome to our new host: <br />\n\n    <a href=\"https://hackerpublicradio.org/correspondents/0397.html\" target=\"_blank\">hakerdefo</a>.\n</p>\n\n<h2>Last Month\'s Shows</h2>\n<table id=\"t01\">\n<tr>\n<th>Id</th>\n<th>Day</th>\n<th>Date</th>\n<th>Title</th>\n<th>Host</th>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3435\" target=\"_blank\">3435</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-10-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3435\" target=\"_blank\">Hacking Stories with Reacted: part 5</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3436\" target=\"_blank\">3436</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-10-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3436\" target=\"_blank\">HPR Community News for September 2021</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3437\" target=\"_blank\">3437</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-10-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3437\" target=\"_blank\">The HTML document format</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0382.html\" target=\"_blank\">Daniel Persson</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3438\" target=\"_blank\">3438</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-10-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3438\" target=\"_blank\">Ten privacy friendly Google search alternatives.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0397.html\" target=\"_blank\">hakerdefo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3439\" target=\"_blank\">3439</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-10-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3439\" target=\"_blank\">Linux Inlaws S01E40: The One with the BSDs</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3440\" target=\"_blank\">3440</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-10-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3440\" target=\"_blank\">Lighten Layer Modes</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3441\" target=\"_blank\">3441</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-10-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3441\" target=\"_blank\">Murphy Work Bench</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3442\" target=\"_blank\">3442</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-10-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3442\" target=\"_blank\">What is this thing called science</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3443\" target=\"_blank\">3443</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-10-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3443\" target=\"_blank\">Neuton battery replacement</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0293.html\" target=\"_blank\">Rho`n</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3444\" target=\"_blank\">3444</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-10-14</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3444\" target=\"_blank\">The Psion series 5mx</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0381.html\" target=\"_blank\">Nihilazo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3445\" target=\"_blank\">3445</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-10-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3445\" target=\"_blank\">True critical thinking seems to be the key</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3446\" target=\"_blank\">3446</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-10-18</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3446\" target=\"_blank\">Speech To Text</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3447\" target=\"_blank\">3447</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-10-19</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3447\" target=\"_blank\">BlacKernel\'s Journey Into Technology: Episode 2</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3448\" target=\"_blank\">3448</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-10-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3448\" target=\"_blank\">Installing GuixSD</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0293.html\" target=\"_blank\">Rho`n</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3449\" target=\"_blank\">3449</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-10-21</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3449\" target=\"_blank\">Linux Inlaws S01E41: The Halloween Documents</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3450\" target=\"_blank\">3450</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-10-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3450\" target=\"_blank\">Internal Commands</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3451\" target=\"_blank\">3451</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-10-25</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3451\" target=\"_blank\">Bricklink</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3452\" target=\"_blank\">3452</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-10-26</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3452\" target=\"_blank\">Neuton battery test</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0293.html\" target=\"_blank\">Rho`n</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3453\" target=\"_blank\">3453</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-10-27</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3453\" target=\"_blank\">Rust 101: Episode 1 - Hello, World!</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3454\" target=\"_blank\">3454</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-10-28</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3454\" target=\"_blank\">Engineering Notation</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3455\" target=\"_blank\">3455</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-10-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3455\" target=\"_blank\">Podcast Recommendation: IBM and Quantum computing</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n</table>\n\n<h2>Comments this month</h2>\n\n<p>These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere are 38 comments in total.</p>\n<h3>Past shows</h3>\n<p>There are 16 comments on\n7 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2793#comments\" target=\"_blank\">hpr2793</a></strong>\n(2019-04-17) \"<em>bash coproc: the future (2009) is here</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0311.html\" target=\"_blank\">clacke</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2793#5\" target=\"_blank\">Comment 5</a>:\nclacke on 2021-10-08:\n\"Real world use, thanks Dave!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3337#comments\" target=\"_blank\">hpr3337</a></strong>\n(2021-05-18) \"<em>I like that the boat is stuck</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0382.html\" target=\"_blank\">Daniel Persson</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3337#2\" target=\"_blank\">Comment 2</a>:\nWindigo on 2021-10-07:\n\"Amazing\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3414#comments\" target=\"_blank\">hpr3414</a></strong>\n(2021-09-02) \"<em>Critical Thinking may make You Critical of the Covid Crisis</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0395.html\" target=\"_blank\">CoGo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3414#5\" target=\"_blank\">Comment 5</a>:\ne8hffff on 2021-10-16:\n\"Common Sense\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3414#6\" target=\"_blank\">Comment 6</a>:\nDave Morriss on 2021-10-30:\n\"Response to e8hffff, comment #5\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3426#comments\" target=\"_blank\">hpr3426</a></strong>\n(2021-09-20) \"<em>Rust 101: Episode 0 - What in Tarnishing?</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3426#3\" target=\"_blank\">Comment 3</a>:\nHonkeymagoo on 2021-10-04:\n\"another fun way to learn rust\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3431#comments\" target=\"_blank\">hpr3431</a></strong>\n(2021-09-27) \"<em>Living in the Terminal</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3431#5\" target=\"_blank\">Comment 5</a>:\nGumnos on 2021-10-06:\n\"Using \"c\" to pause in cmus\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3433#comments\" target=\"_blank\">hpr3433</a></strong>\n(2021-09-29) \"<em>A Squirrels thoughts about RMS</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0377.html\" target=\"_blank\">Zen_Floater2</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3433#1\" target=\"_blank\">Comment 1</a>:\nBen on 2021-10-02:\n\"Yikes!\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3433#2\" target=\"_blank\">Comment 2</a>:\narcher72 on 2021-10-03:\n\"Good call, Ken\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3433#3\" target=\"_blank\">Comment 3</a>:\nZen_floater2 on 2021-10-05:\n\"Reply to Ben\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3433#4\" target=\"_blank\">Comment 4</a>:\nZen_floater2 on 2021-10-05:\n\"Reply to archer72\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3433#5\" target=\"_blank\">Comment 5</a>:\nKen Fallon on 2021-10-05:\n\"Disapointed with this show\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3433#6\" target=\"_blank\">Comment 6</a>:\nBob on 2021-10-05:\n\"Deliberately misleading ?\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3433#7\" target=\"_blank\">Comment 7</a>:\nZen_floater2 on 2021-10-05:\n\"Reply to Ken Fallon\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3433#8\" target=\"_blank\">Comment 8</a>:\nBen on 2021-10-22:\n\"Reply to #4\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3434#comments\" target=\"_blank\">hpr3434</a></strong>\n(2021-09-30) \"<em>From 0 to K8s in 30 minutes</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3434#1\" target=\"_blank\">Comment 1</a>:\nb-yeezi on 2021-10-01:\n\"What an amazing show\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3434#2\" target=\"_blank\">Comment 2</a>:\nMike Ray on 2021-10-01:\n\"Great show\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 22 comments on 7 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3436#comments\" target=\"_blank\">hpr3436</a></strong>\n(2021-10-04) \"<em>HPR Community News for September 2021</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3436#1\" target=\"_blank\">Comment 1</a>:\nKen Fallon on 2021-10-13:\n\"Clarification\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3438#comments\" target=\"_blank\">hpr3438</a></strong>\n(2021-10-06) \"<em>Ten privacy friendly Google search alternatives.</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0397.html\" target=\"_blank\">hakerdefo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3438#1\" target=\"_blank\">Comment 1</a>:\nClaudioM on 2021-10-07:\n\"Mojeek\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3438#2\" target=\"_blank\">Comment 2</a>:\nLinux4security on 2021-10-19:\n\"browser\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3439#comments\" target=\"_blank\">hpr3439</a></strong>\n(2021-10-07) \"<em>Linux Inlaws S01E40: The One with the BSDs</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3439#1\" target=\"_blank\">Comment 1</a>:\nClaudioM on 2021-10-07:\n\"Best of BSD!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3439#2\" target=\"_blank\">Comment 2</a>:\nZen_floater2 on 2021-10-09:\n\"This show put me up a tree\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3442#comments\" target=\"_blank\">hpr3442</a></strong>\n(2021-10-12) \"<em>What is this thing called science</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3442#1\" target=\"_blank\">Comment 1</a>:\nBrian-in-ohio on 2021-10-13:\n\"science\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3442#2\" target=\"_blank\">Comment 2</a>:\ne8hffff on 2021-10-13:\n\"Re:[HPR3442] Klaatu, CoVID, and Science\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3442#3\" target=\"_blank\">Comment 3</a>:\nkingbeowulf on 2021-10-14:\n\"scientific method selectively apply based on \"feelings\"?\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3442#4\" target=\"_blank\">Comment 4</a>:\nMad Sweeney on 2021-10-15:\n\"Hats Off to You\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3442#5\" target=\"_blank\">Comment 5</a>:\ne8hffff on 2021-10-16:\n\"The Pharmacist\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3444#comments\" target=\"_blank\">hpr3444</a></strong>\n(2021-10-14) \"<em>The Psion series 5mx</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0381.html\" target=\"_blank\">Nihilazo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3444#1\" target=\"_blank\">Comment 1</a>:\nBrian-in-ohio on 2021-10-14:\n\"compliment\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3444#2\" target=\"_blank\">Comment 2</a>:\nGumnos on 2021-10-14:\n\"Looking forward to this one!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3444#3\" target=\"_blank\">Comment 3</a>:\nCometcycle on 2021-10-15:\n\"Trip down memory lane\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3444#4\" target=\"_blank\">Comment 4</a>:\nDave Morriss on 2021-10-16:\n\"Great show!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3445#comments\" target=\"_blank\">hpr3445</a></strong>\n(2021-10-15) \"<em>True critical thinking seems to be the key</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3445#1\" target=\"_blank\">Comment 1</a>:\nironhelixx on 2021-10-13:\n\"This is the way to handle misinformation\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3445#2\" target=\"_blank\">Comment 2</a>:\nAaronb on 2021-10-15:\n\"Reasoning\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3445#3\" target=\"_blank\">Comment 3</a>:\ne8hffff on 2021-10-16:\n\"Common Sense\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3445#4\" target=\"_blank\">Comment 4</a>:\nKevin O&#39;Brien on 2021-10-19:\n\"Bravo!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3445#5\" target=\"_blank\">Comment 5</a>:\nBrian-in-ohio on 2021-10-20:\n\"risk\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3445#6\" target=\"_blank\">Comment 6</a>:\nDave Morriss on 2021-10-30:\n\"Response to e8hffff, comment #3\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3445#7\" target=\"_blank\">Comment 7</a>:\nDave Morriss on 2021-10-30:\n\"Response to Brian-in-ohio, comment #5\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3446#comments\" target=\"_blank\">hpr3446</a></strong>\n(2021-10-18) \"<em>Speech To Text</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3446#1\" target=\"_blank\">Comment 1</a>:\noperat0r on 2021-09-27:\n\"Example script\"</li></ul><br/>\n</li></ul>\n\n<h2>Mailing List discussions</h2>\n<p>\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the <a href=\"https://hackerpublicradio.org/maillist\"\ntarget=\"_blank\">Mail List</a> which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/\">Mailman</a>.\n</p>\n<p>The threaded discussions this month can be found here:</p>\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-October/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-October/thread.html</a>\n\n\n<h2>Events Calendar</h2>\n<p>With the kind permission of <strong>LWN.net</strong> we are linking to\n<a href=\"https://lwn.net/Calendar/\" target=\"_blank\">The LWN.net Community Calendar</a>.</p>\n<p>Quoting the site:</p>\n<blockquote>This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.</blockquote>\n\n<h2>Any other business</h2>\n<h3 id=\"older-hpr-shows-on-archive.org\">Older HPR shows on archive.org</h3>\n<p>This month 70 additional shows in the range 1-870 have been uploaded.</p>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Thanks to the following contributors for sending in updates in the past month:<br />\n<b><a href=\"https://hackerpublicradio.org/correspondents/0318.html\">Archer72</a>, <a href=\"https://hackerpublicradio.org/correspondents/0293.html\">Rho`n</a></b></p>\n<p>Over the period tags and/or summaries have been added to 38 shows which were without them.</p>\n<p>----------------------------------------<br />\n<b>Hooray!</b> There are now no more shows that need summaries or tags!</p>\n<p>Thanks to all of the contributors to this project. According to my records the people who have helped to get to this point are listed below. Apologies if I have omitted anyone from the list:<br />\n<a href=\"https://hackerpublicradio.org/correspondents/0198.html\">Ahuka</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0318.html\">archer72</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0357.html\">bjb</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0152.html\">ClaudioM</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0385.html\">crvs</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0382.html\">Daniel Persson</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0225.html\">Dave Morriss</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0030.html\">Ken Fallon</a><br/><a href=\"Kirk%20Reiser\">Kirk Reiser</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0235.html\">NYbill</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0293.html\">Rho`n</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0338.html\">Tony Hughes</a><br/><a href=\"https://hackerpublicradio.org/correspondents/0215.html\">Windigo</a></p>\n<p>----------------------------------------<br />\n</p>\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1),
(3481,'2021-12-06','HPR Community News for November 2021',5638,'HPR Volunteers talk about shows released and comments posted in November 2021','<style>\ntable td.shrink {\n    white-space:nowrap\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nWelcome to our new hosts: <br />\n\n    <a href=\"https://hackerpublicradio.org/correspondents/0398.html\" target=\"_blank\">one_of_spoons</a>, \n    <a href=\"https://hackerpublicradio.org/correspondents/0399.html\" target=\"_blank\">dnt</a>.\n</p>\n\n<h2>Last Month\'s Shows</h2>\n<table id=\"t01\">\n<tr>\n<th>Id</th>\n<th>Day</th>\n<th>Date</th>\n<th>Title</th>\n<th>Host</th>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3456\" target=\"_blank\">3456</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-11-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3456\" target=\"_blank\">HPR Community News for October 2021</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3457\" target=\"_blank\">3457</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-11-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3457\" target=\"_blank\">Tables</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3458\" target=\"_blank\">3458</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-11-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3458\" target=\"_blank\">Living in the Terminal 2: The Obligatory Sequel</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3459\" target=\"_blank\">3459</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-11-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3459\" target=\"_blank\">Linux Inlaws S01E42: The Open Source Initiative</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3460\" target=\"_blank\">3460</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-11-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3460\" target=\"_blank\">Dodge and Burn</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3461\" target=\"_blank\">3461</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-11-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3461\" target=\"_blank\">Changes to HPR Branding</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3462\" target=\"_blank\">3462</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-11-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3462\" target=\"_blank\">Metal marbles.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0398.html\" target=\"_blank\">one_of_spoons</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3463\" target=\"_blank\">3463</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-11-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3463\" target=\"_blank\">Clonezilla: A backup story</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0293.html\" target=\"_blank\">Rho`n</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3464\" target=\"_blank\">3464</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-11-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3464\" target=\"_blank\">Being irrational</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0268.html\" target=\"_blank\">Andrew Conway</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3465\" target=\"_blank\">3465</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-11-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3465\" target=\"_blank\">Walmart Onn 7 inch tablet gen 2</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3466\" target=\"_blank\">3466</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-11-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3466\" target=\"_blank\">Why HPR has less downloads</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3467\" target=\"_blank\">3467</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-11-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3467\" target=\"_blank\">Protonmail in the terminal</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0399.html\" target=\"_blank\">dnt</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3468\" target=\"_blank\">3468</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-11-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3468\" target=\"_blank\">Distro upgrade intervals on my Raspberry Pi</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0201.html\" target=\"_blank\">MrX</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3469\" target=\"_blank\">3469</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-11-18</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3469\" target=\"_blank\">Linux Inlaws S01E43: The Great Battle or not</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3470\" target=\"_blank\">3470</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-11-19</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3470\" target=\"_blank\">External Commands and Emergency Boot Disk</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3471\" target=\"_blank\">3471</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-11-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3471\" target=\"_blank\">The Sony Walkman WM-F41</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0238.html\" target=\"_blank\">Jon Kulp</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3472\" target=\"_blank\">3472</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-11-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3472\" target=\"_blank\">consuming an AQI API</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0243.html\" target=\"_blank\">Jezra</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3473\" target=\"_blank\">3473</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-11-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3473\" target=\"_blank\">My journey into Amateur Radio</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0314.html\" target=\"_blank\">thelovebug</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3474\" target=\"_blank\">3474</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-11-25</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3474\" target=\"_blank\">H P R and Audio Fun</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3475\" target=\"_blank\">3475</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-11-26</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3475\" target=\"_blank\">How I Watch Everything Using Open Source Software</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0375.html\" target=\"_blank\">minnix</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3476\" target=\"_blank\">3476</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-11-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3476\" target=\"_blank\">My mutt email setup</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3477\" target=\"_blank\">3477</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-11-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3477\" target=\"_blank\">Picking a Forth</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0326.html\" target=\"_blank\">Brian in Ohio</a></td>\n</tr>\n</table>\n\n<h2>Comments this month</h2>\n\n<p>These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere are 20 comments in total.</p>\n<h3>Past shows</h3>\n<p>There are 5 comments on\n4 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2169#comments\" target=\"_blank\">hpr2169</a></strong>\n(2016-11-24) \"<em>How I connect to the awesome #oggcastplanet on mobile</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0311.html\" target=\"_blank\">clacke</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2169#2\" target=\"_blank\">Comment 2</a>:\nclacke on 2021-11-06:\n\"NickServ authentication\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2672#comments\" target=\"_blank\">hpr2672</a></strong>\n(2018-10-30) \"<em>Porteus</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2672#4\" target=\"_blank\">Comment 4</a>:\nhhskladby on 2021-11-02:\n\"Porteus Modularity\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3034#comments\" target=\"_blank\">hpr3034</a></strong>\n(2020-03-19) \"<em>How to bridge Freenode IRC rooms to Matrix.org</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0270.html\" target=\"_blank\">Thaj Sara</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3034#3\" target=\"_blank\">Comment 3</a>:\nclacke on 2021-11-06:\n\"libera.chat\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3454#comments\" target=\"_blank\">hpr3454</a></strong>\n(2021-10-28) \"<em>Engineering Notation</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3454#2\" target=\"_blank\">Comment 2</a>:\nKen Fallon on 2021-11-02:\n\"suffixes\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3454#3\" target=\"_blank\">Comment 3</a>:\nTrey on 2021-11-04:\n\"Great reminder\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 15 comments on 11 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3457#comments\" target=\"_blank\">hpr3457</a></strong>\n(2021-11-02) \"<em>Tables</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3457#1\" target=\"_blank\">Comment 1</a>:\nJon Kulp on 2021-11-07:\n\"Tables and font sizes\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3457#2\" target=\"_blank\">Comment 2</a>:\nGumnos on 2021-11-17:\n\"Storing data in recsel format?\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3459#comments\" target=\"_blank\">hpr3459</a></strong>\n(2021-11-04) \"<em>Linux Inlaws S01E42: The Open Source Initiative</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3459#1\" target=\"_blank\">Comment 1</a>:\nOliver on 2021-11-29:\n\"TerminusDB Link\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3461#comments\" target=\"_blank\">hpr3461</a></strong>\n(2021-11-08) \"<em>Changes to HPR Branding</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3461#1\" target=\"_blank\">Comment 1</a>:\nMike eSpeak Ray on 2021-11-08:\n\"TTS\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3464#comments\" target=\"_blank\">hpr3464</a></strong>\n(2021-11-11) \"<em>Being irrational</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0268.html\" target=\"_blank\">Andrew Conway</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3464#1\" target=\"_blank\">Comment 1</a>:\nbrian-in-ohio on 2021-11-11:\n\"a serendipitous quote\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3465#comments\" target=\"_blank\">hpr3465</a></strong>\n(2021-11-12) \"<em>Walmart Onn 7 inch tablet gen 2</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3465#1\" target=\"_blank\">Comment 1</a>:\nPipeManMusic on 2021-11-12:\n\"Real numbers to an off hand comment.\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3466#comments\" target=\"_blank\">hpr3466</a></strong>\n(2021-11-15) \"<em>Why HPR has less downloads</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3466#1\" target=\"_blank\">Comment 1</a>:\nKen Fallon on 2021-11-15:\n\"On the rise again\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3470#comments\" target=\"_blank\">hpr3470</a></strong>\n(2021-11-19) \"<em>External Commands and Emergency Boot Disk</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3470#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-11-19:\n\"Oh what happy memories\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3470#2\" target=\"_blank\">Comment 2</a>:\nKevin O&#39;Brien on 2021-11-19:\n\"You are most welcome\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3471#comments\" target=\"_blank\">hpr3471</a></strong>\n(2021-11-22) \"<em>The Sony Walkman WM-F41</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0238.html\" target=\"_blank\">Jon Kulp</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3471#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-11-22:\n\"Capacitors\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3471#2\" target=\"_blank\">Comment 2</a>:\nKeith on 2021-11-23:\n\"They really are great devices\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3471#3\" target=\"_blank\">Comment 3</a>:\nJon Kulp on 2021-11-23:\n\"Recapping\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3472#comments\" target=\"_blank\">hpr3472</a></strong>\n(2021-11-23) \"<em>consuming an AQI API</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0243.html\" target=\"_blank\">Jezra</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3472#1\" target=\"_blank\">Comment 1</a>:\nKevin O&#39;Brien on 2021-11-27:\n\"I loved the show\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3473#comments\" target=\"_blank\">hpr3473</a></strong>\n(2021-11-24) \"<em>My journey into Amateur Radio</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0314.html\" target=\"_blank\">thelovebug</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3473#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-11-24:\n\"Congrats\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3474#comments\" target=\"_blank\">hpr3474</a></strong>\n(2021-11-25) \"<em>H P R and Audio Fun</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3474#1\" target=\"_blank\">Comment 1</a>:\nKen Fallon on 2021-11-27:\n\"No please don\'t add silence to the audio\"</li></ul><br/>\n</li></ul>\n\n<h2>Mailing List discussions</h2>\n<p>\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the <a href=\"https://hackerpublicradio.org/maillist\"\ntarget=\"_blank\">Mail List</a> which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/\">Mailman</a>.\n</p>\n<p>The threaded discussions this month can be found here:</p>\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-November/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-November/thread.html</a>\n\n\n<h2>Events Calendar</h2>\n<p>With the kind permission of <strong>LWN.net</strong> we are linking to\n<a href=\"https://lwn.net/Calendar/\" target=\"_blank\">The LWN.net Community Calendar</a>.</p>\n<p>Quoting the site:</p>\n<blockquote>This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.</blockquote>\n\n<h2>Any other business</h2>\n<h3 id=\"providing-a-valid-link-to-your-shows-audio\">Providing a valid link to your show\'s audio</h3>\n<p>In the upload form there is the option to provide shows via a URL. This must be a publicly available URL that is accessible without authentication via command line tools like wget or curl.</p>\n<h3 id=\"older-hpr-shows-on-archive.org\">Older HPR shows on archive.org</h3>\n<p>This month 115 additional shows in the range 1-870 have been uploaded.</p>\n<p>The number of shows left to upload in this range is now: 369.</p>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p><b>Hooray!</b> There are now no more shows that need summaries or tags!</p>\n<p>See the notes for episode <a href=\"https://hackerpublicradio.org/eps.php?id=3456\">3456</a> for a list of all the contributors to this project</p>\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1),
(3162,'2020-09-15','Introduction to Ansible',2674,'Klaatu demonstrates some Ansible tricks, and how Ansible can be a better choice than scripting.','<p>\r\nIntroduction to Ansible.\r\n</p>',78,0,0,'CC-BY-SA','ansible,sysadmin',0,0,1),
(3163,'2020-09-16','Linux Inlaws S01E13: The road to communism and freedom',3855,'Our old heroes discuss their legacy and how they arrived at open source software and communism','<ul>\r\n<li>brytlyt: <a href=https://www.brytlyt.com target=_blank>https://www.brytlyt.com</a></li>\r\n<li>OS/2: <a href=https://en.wikipedia.org/wiki/OS/2 target=_blank>https://en.wikipedia.org/wiki/OS/2</a></li>\r\n<li>CCP/M: <a href=https://en.wikipedia.org/wiki/Multiuser_DOS#CCP/M-86 target=_blank>https://en.wikipedia.org/wiki/Multiuser_DOS#CCP/M-86</a></li>\r\n<li>Communism and open source: <a href=https://medium.com/@diego.graziano/open-source-the-communism-of-knowledge-fe76334b9b10 target=_blank>https://medium.com/@diego.graziano/open-source-the-communism-of-knowledge-fe76334b9b10</a></li>\r\n<li>Why Emacs is better than vi (aka The Church of Emacs): <a href=https://www.gnu.org/fun/jokes/gospel.html target=_blank>https://www.gnu.org/fun/jokes/gospel.html</a></li>\r\n<li>(Open)VMS: <a href=https://en.wikipedia.org/wiki/OpenVMS target=_blank>https://en.wikipedia.org/wiki/OpenVMS</a></li>\r\n<li>Mach: <a href=\"https://en.wikipedia.org/wiki/Mach_(kernel)\" target=_blank>https://en.wikipedia.org/wiki/Mach_(kernel)</a></li>\r\n<li>Dave Cutler: <a href=\"https://en.wikipedia.org/wiki/Dave_Cutler\" target=_blank>https://en.wikipedia.org/wiki/Dave_Cutler</a></li>\r\n<li>The ultimate remedy for insomnia: <a href=https://www.routledge.com/Advances-in-Object-Oriented-Metalevel-Architectures-and-Reflection/Zimmermann/p/book/9780849326639 target=_blank>https://www.routledge.com/Advances-in-Object-Oriented-Metalevel-Architectures-and-Reflection/Zimmermann/p/book/9780849326639</a></li>\r\n<li>Randal\'s departure from FLOSS Weekly: <a href=https://twit.tv/posts/inside-twit/doc-searls-new-host-floss-weekly target=_blank>https://twit.tv/posts/inside-twit/doc-searls-new-host-floss-weekly</a></li>\r\n<li>The Rust Foundation: <a href=https://blog.rust-lang.org/2020/08/18/laying-the-foundation-for-rusts-future.html target=_blank>https://blog.rust-lang.org/2020/08/18/laying-the-foundation-for-rusts-future.html</a></li>\r\n</ul>',384,111,1,'CC-BY-SA','open source, communism, escort services, freedom, Mach, VMS, accounts',0,0,1),
(3166,'2020-09-21','Using Ansible to mirror a Git repo',1580,'Klaatu uses Ansible to mirror a Git repo on two separate Git hosts','<p>\r\nI came up with a way to easily clone a repo living on Github and mirror it, with all the latest commits, on another Git host. You can schedule Ansible to run periodically to ensure your mirror stays updated.\r\n</p>\r\n\r\n<p>\r\nThis is <a href=\"https://github.com/dwayne-lee/mirrored_repos\" target=\"_blank\">Dwayne Lee&#39;s improved implementation based on my original script</a>.\r\n</p>',78,0,0,'CC-BY-SA','ansible,sysadmin,git',0,0,1),
(3169,'2020-09-24','Ludwig van Beethoven with a hint of Chopin',2518,'A fine treat to satisfy your earholes.','<p>All music in this episode is freely available from musopen.org.</p>\r\n\r\n<h3>Links</h3>\r\n\r\n<ul>\r\n<li><a href=\"https://musopen.org/music/2547-piano-sonata-no-14-in-c-sharp-minor-moonlight-sonata-op-27-no-2/\">Beethoven Piano Sonata no. 14 in C-sharp minor \'Moonlight Sonata\', Op. 27 no. 2</a></li>\r\n<li><a href=\"https://musopen.org/music/2567-symphony-no-5-in-c-minor-op-67/\">Beethoven Symphony no. 5 in C minor, Op. 67</a></li>\r\n<li><a href=\"https://musopen.org/music/612-fantaisie-impromptu-op-66/\">Chopin Fantaisie - Impromptu, Op. 66</a></li>\r\n<li><a href=\"https://musopen.org/music/33-piano-sonata-no-8-in-c-minor-pathetique-op-13/\">Beethoven Piano Sonata no. 8 in C minor \'Pathetique\', Op. 13</a></li>\r\n<li><a href=\"https://musopen.org/music/46-piano-sonata-no-21-in-c-major-waldstein-op-53/\">Beethoven Piano Sonata no. 21 in C major \'Waldstein\', Op. 53</a></li>\r\n</ul>\r\n',383,22,0,'CC-BY-SA','Ludwig Van Beethoven,Fredrick Chopin,classical,energetic,music,public domain',0,0,1),
(3167,'2020-09-22','A ramble with the Pentland Squires (part 1)',2547,'MrX and Dave Morriss chat from opposite sides of the Pentland Hills, Edinburgh','<h2 id=\"introduction\">Introduction</h2>\r\n<p>Once again the two HPR hosts based in Edinburgh got together over Mumble to have a chat during the COVID-19 pandemic.</p>\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org/correspondents/0201.html\">MrX</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/correspondents/0225.html\">Dave Morriss</a></li>\r\n</ul>\r\n<p>We recorded this conversation in the evening of Sunday 23<sup>rd</sup> August 2020.</p>\r\n<p>The audio was quite long when we’d finished, so we decided to cut it into two similar-length pieces and the remainder is released as a second episode.</p>\r\n<h3 id=\"show-title\">Show title</h3>\r\n<p>Although a explaining a joke can often destroy it, it’s probably worth saying that the title of this show was derived from the name of a variety of potato, <em>Pentland Squire</em>, and the fact that the two participants were separated by the Pentland Hills in Edinburgh! <code>\"</code>Where was the joke?<code>\"</code> you ask…</p>\r\n<h2 id=\"notes\">Notes</h2>\r\n<p>Some of the topics we discussed:</p>\r\n<ul>\r\n<li>Our positions relative to the Pentland Hills: MrX is to the East and Dave is to the West of the area, which is to the south of Edinburgh, about 6 or 7 miles out.\r\n<ul>\r\n<li><a href=\"https://www.pentlandhills.org/\">Pentland Hills Regional Park</a></li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>The state of COVID-19 and the lockdown in Scotland\r\n<ul>\r\n<li><a href=\"https://www.travellingtabby.com/scotland-coronavirus-tracker/\">Scotland Coronavirus Tracker</a></li>\r\n<li><a href=\"https://coronavirus.data.gov.uk/\">Coronavirus (COVID-19) in the UK</a> - no longer offering a simple CSV download as it originally did, but now has a detailed API.</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Processing HPR shownotes:\r\n<ul>\r\n<li>Experiences:\r\n<ul>\r\n<li>HTML, preferred but needs to be high quality</li>\r\n<li>Markdown, if well formatted this is the easiest to deal with</li>\r\n<li>Plain text, gets converted to Markdown by volunteers</li>\r\n</ul></li>\r\n<li><a href=\"https://github.com/retext-project/retext\">ReText, an editor for Markdown and reStructuredText markup languages</a></li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Glasgow Podcrawl\r\n<ul>\r\n<li>A virtual meeting this year over Jitsi</li>\r\n<li>Some people joined from very far away such as <a href=\"https://hackerpublicradio.org/correspondents/0078.html\">Klaatu</a> in New Zealand</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Scripts written in recent times:\r\n<ul>\r\n<li>MrX: finding the duration of a video with <a href=\"https://ffmpeg.org/ffprobe-all.html\"><code>ffprobe</code></a>.</li>\r\n<li>Dave: choosing a meal from a list in a database to cook for the family</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Vegetarianism\r\n<ul>\r\n<li>MrX’s experiences</li>\r\n<li>Dave often makes a <a href=\"https://en.wikipedia.org/wiki/Nut_roast\"><em>Nut Roast</em></a> for Christmas dinner</li>\r\n</ul></li>\r\n</ul>\r\n',225,0,1,'CC-BY-SA','COVID-19,physical isolation,discussion',0,0,1),
(3168,'2020-09-23','FreeBSD Jails and iocage',531,'Use iocage to manage freebsd jails','<h2 id=\"freebsd-jails-with-iocage\">FreeBSD Jails with iocage</h2>\r\n<h3 id=\"introduction\">Introduction</h3>\r\n<p>FreeBSD jails allow users to run multiple, isolated instances of FreeBSD on a single server. Iocage simplifies the management of FreeBSD Jails.</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/OS-level_virtualization\">https://en.wikipedia.org/wiki/OS-level_virtualization</a></p>\r\n<p>The jails will be configured to bind to an IP address on the jail host\'s internal network. The host OS will pass traffic from the external network to the jail.</p>\r\n<p>The jails will be managed with Iocage. Iocage uses ZFS properties to store configuration data for each jail, so a ZFS file system is required.</p>\r\n<h3 id=\"network-setup\">Network setup</h3>\r\n<p>These steps will:</p>\r\n<ol>\r\n<li>Set up the internal network.</li>\r\n<li>Enable the <strong>pf</strong> packet filter</li>\r\n<li>Configure pf pass internet traffic to and from the jail.</li>\r\n</ol>\r\n<p>PF is full featured firewall, and can do more than just pass traffic to an internal network. Refer to the PF documentation for additional configuration options.</p>\r\n<h4 id=\"run-the-following-to-configure-the-internal-network-and-enable-pf\">Run the following to configure the internal network and enable pf.</h4>\r\n<pre><code>sysrc cloned_interfaces+=&quot;lo1&quot;\r\nsysrc ifconfig_lo1=&quot;inet 192.0.2.1/24&quot;\r\nsysrc pf_enable=&quot;YES&quot;\r\n</code></pre>\r\n<h4 id=\"put-the-following-in-etcpfconf\">Put the following in <code>/etc/pf.conf</code></h4>\r\n<pre><code># Variables\r\n# ext_if should be set to the hosts external NIC\r\next_if = &quot;vtnet0&quot;\r\njail_if = &quot;lo1&quot;\r\njail_net = $jail_if:network\r\n\r\n# NAT allows the jails to access the external network\r\nnat on $ext_if from $jail_net to any -&gt; ($ext_if)\r\n\r\n# Redirect traffic on port 80 to the web server jail\r\n# Add similar rules for additional jails\r\nrdr pass on $ext_if inet proto tcp to port 80 -&gt; 192.0.2.10\r\n</code></pre>\r\n<p><em>Reboot</em> to activate the network changes</p>\r\n<h3 id=\"zfs\">ZFS</h3>\r\n<p>The best way to use ZFS on a VPS is to attach block storage as a new disk.</p>\r\n<p>If block storage is not available, you can optionally use a file as the ZFS device.</p>\r\n<h4 id=\"enable-and-start-zfs\">Enable and start ZFS.</h4>\r\n<pre><code>sysrc zfs_enable=&quot;YES&quot;\r\nservice zfs start\r\n</code></pre>\r\n<h4 id=\"zfs-using-block-storage\">ZFS using Block storage</h4>\r\n<p>List the available disks. If you are using a VPS, the block store will probably be the second disk.</p>\r\n<pre><code>geom disk list\r\n</code></pre>\r\n<p>Create a ZFS pool named jailstore.</p>\r\n<pre><code>zpool create jailstore  /dev/vtbd1\r\n</code></pre>\r\n<h4 id=\"zfs-using-a-file\">ZFS using a file</h4>\r\n<p>Create the ZFS file.</p>\r\n<pre><code>dd if=/dev/zero of=/zfsfile bs=1M count=4096\r\n</code></pre>\r\n<p>Create a ZFS pool named jailstore.</p>\r\n<pre><code>zpool create jailstore /zfsfile\r\n</code></pre>\r\n<h3 id=\"install-iocage\">Install iocage</h3>\r\n<pre><code>pkg install py36-iocage\r\n</code></pre>\r\n<h3 id=\"using-iocage\">Using iocage</h3>\r\n<pre><code>iocage activate jailstore\r\niocage fetch\r\n\r\niocage create -n www ip4_addr=&quot;lo1|192.0.2.10/24&quot; -r 11.1-RELEASE\r\niocage start www\r\niocage console www\r\n</code></pre>\r\n<p>Once you have a shell <strong>inside the jail</strong>, install and start Apache.</p>\r\n<pre><code>pkg install apache24\r\nsysrc apache24_enable=&quot;yes&quot;\r\nservice apache24 start\r\n</code></pre>\r\n<p>Port 80 on the jail will now be accessible on the hosts IP address.</p>\r\n<h3 id=\"multiple-jails\">Multiple jails.</h3>\r\n<p>Additional jails can be installed using the example above.</p>\r\n<ol>\r\n<li>Install the new jail with the <code>iocage create</code> command , but use a different IP address</li>\r\n<li>Expose the new jail to the network by adding additional rules to pf.conf.</li>\r\n</ol>\r\n<h3>Book recommendation</h3>\r\n<ul>\r\n<li><a href=\"https://www.tiltedwindmillpress.com/product/fmjail\"><em>FreeBSD Mastery: Jails</em>, Michael W Lucas</a><br/>\r\nMichael W Lucas is great Technical book author.</li>\r\n</ul>\r\n',342,0,0,'CC-BY-SA','BSD',0,0,1),
(3172,'2020-09-29','A ramble with the Pentland Squires (part 2)',2983,'Second half of the chat between MrX and Dave Morriss','<p>The two HPR hosts based in Edinburgh got together over Mumble on the evening of Sunday 23<sup>rd</sup> August 2020 to have a chat during the COVID-19 pandemic.</p>\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org/correspondents/0201.html\">MrX</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/correspondents/0225.html\">Dave Morriss</a></li>\r\n</ul>\r\n<p>This is the second half of the conversation. For the first part see <a href=\"https://hackerpublicradio.org/eps.php?id=3167\">HPR show 3167</a>.</p>\r\n<h2 id=\"notes\">Notes</h2>\r\n<p>Some of the topics we discussed:</p>\r\n<ul>\r\n<li>Listening to podcasts\r\n<ul>\r\n<li>MrX’s recent show <a href=\"https://hackerpublicradio.org/eps.php?id=3132\"><em>Keeping track of where I am</em></a></li>\r\n<li>Using phone-based apps like <a href=\"https://antennapod.org/\">Antennapod</a></li>\r\n<li><a href=\"https://www.rockbox.org/\">Rockbox (free music player firmware)</a> on Sansa Fuze, Sansa Clip, Clip+, Clip Zip, etc</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Mobile phones and tablets\r\n<ul>\r\n<li>MrX likes his <a href=\"https://www.nokia.com/phones/en_gb/nokia-5310\">Nokia 5310</a></li>\r\n<li>Dave is interested in the <a href=\"https://www.pine64.org/pinephone/\">PinePhone</a></li>\r\n<li>MrX has a Samsung Galaxy tablet (and did an HPR episode about it: <a href=\"https://hackerpublicradio.org/eps.php?id=3030\">hpr3030 :: My new Samsung tablet</a>)</li>\r\n<li><em>Smart</em> devices want to make you a <em>victim</em>!</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Digital data versus pieces of paper\r\n<ul>\r\n<li>Dave is using a Google spreadsheet shopping list which he can share with his kids who are shopping for him</li>\r\n<li>There’s still a desire to keep things on paper though</li>\r\n<li>The tendency to hoard bits of paper</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Using Windows\r\n<ul>\r\n<li>Multiple (virtual) desktops on Windows 10, a counter-intuitive design</li>\r\n<li>Outlook as a mail client (with Exchange) is very poor compared to open source options</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>3D printing\r\n<ul>\r\n<li><a href=\"https://www.openscad.org/\">OpenSCAD: <em>The Programmers Solid 3D CAD Modeller</em></a></li>\r\n<li>A <a href=\"https://en.wikipedia.org/wiki/Slicer_(3D_printing)\">Slicer</a>: software for converting a 3D model into instructions for a 3D printer in the form of <a href=\"https://en.wikipedia.org/wiki/G-code\">G-code</a>.</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>The current pandemic\r\n<ul>\r\n<li>Lockdown controls exposure to the virus and limits cases</li>\r\n<li>Fewer cases means the health service can cope better</li>\r\n<li><em>Sheltering</em> keeps vulnerable people safe until a vaccine is available</li>\r\n<li><em>Herd Immunity</em> is when the majority of people are immune to the virus and don’t transmit it to vulnerable people</li>\r\n<li>Long-term effects of COVID-19</li>\r\n<li>Asymptomatic carriers of the virus</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>HPR listening and contributing in the time of COVID\r\n<ul>\r\n<li>Current times tend to make it harder to keep up to date with shows</li>\r\n<li>It’s also harder to make time to make contributions at the moment</li>\r\n<li>Issues with motivation</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Miscellaneous\r\n<ul>\r\n<li>MrX’s car needing attention due to rust</li>\r\n<li>Dave’s anecdote of his neighbour losing power late one night</li>\r\n</ul></li>\r\n</ul>\r\n',225,0,1,'CC-BY-SA','COVID-19,physical isolation,discussion',0,0,1),
(3240,'2021-01-01','Linux Under Attack',978,'A look at how malware is now targeting Linux, especially servers','<p>At one time most malware targeted Windows because it was the most popular OS, but as Linux has risen in popularity, particularly in the data center, it has become a target. We look at some of the recent attacks on Linux, and note some common features of the attacks. This then suggests some ways we can protect ourselves</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://build5nines.com/linux-is-most-used-os-in-microsoft-azure-over-50-percent-fo-vm-cores/\" class=\"uri\">https://build5nines.com/linux-is-most-used-os-in-microsoft-azure-over-50-percent-fo-vm-cores/</a></li>\r\n<li><a href=\"https://w3techs.com/technologies/comparison/os-linux,os-windows\" class=\"uri\">https://w3techs.com/technologies/comparison/os-linux,os-windows</a></li>\r\n<li><a href=\"https://gs.statcounter.com/os-market-share\" class=\"uri\">https://gs.statcounter.com/os-market-share</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Chrome_OS\" class=\"uri\">https://en.wikipedia.org/wiki/Chrome_OS</a></li>\r\n<li><a href=\"https://www.zdnet.com/article/this-surprise-linux-malware-warning-shows-that-hackers-are-changing-their-targets/\" class=\"uri\">https://www.zdnet.com/article/this-surprise-linux-malware-warning-shows-that-hackers-are-changing-their-targets/</a></li>\r\n<li><a href=\"https://www.zwilnik.com/security-and-privacy/ssh-and-tunneling/ssh-introduction/\" class=\"uri\">https://www.zwilnik.com/security-and-privacy/ssh-and-tunneling/ssh-introduction/</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=1850\" class=\"uri\">https://hackerpublicradio.org/eps.php?id=1850</a></li>\r\n<li><a href=\"https://www.bleepingcomputer.com/news/security/russian-hacker-pleads-guilty-for-role-in-infamous-linux-ebury-malware/\" class=\"uri\">https://www.bleepingcomputer.com/news/security/russian-hacker-pleads-guilty-for-role-in-infamous-linux-ebury-malware/</a></li>\r\n<li><a href=\"https://www.theregister.com/2016/09/02/alleged_linux_hacker_arrested/\" class=\"uri\">https://www.theregister.com/2016/09/02/alleged_linux_hacker_arrested/</a></li>\r\n<li><a href=\"https://www.helpnetsecurity.com/2018/12/07/linux-backdoors-openssh/\" class=\"uri\">https://www.helpnetsecurity.com/2018/12/07/linux-backdoors-openssh/</a></li>\r\n<li><a href=\"https://www.welivesecurity.com/wp-content/uploads/2018/12/ESET-The_Dark_Side_of_the_ForSSHe.pdf\" class=\"uri\">https://www.welivesecurity.com/wp-content/uploads/2018/12/ESET-The_Dark_Side_of_the_ForSSHe.pdf</a></li>\r\n<li><a href=\"https://www.helpnetsecurity.com/2018/12/07/linux-backdoors-openssh/\" class=\"uri\">https://www.helpnetsecurity.com/2018/12/07/linux-backdoors-openssh/</a></li>\r\n<li><a href=\"https://www.nsa.gov/news-features/press-room/Article/2311407/nsa-and-fbi-expose-russian-previously-undisclosed-malware-drovorub-in-cybersecu/\" class=\"uri\">https://www.nsa.gov/news-features/press-room/Article/2311407/nsa-and-fbi-expose-russian-previously-undisclosed-malware-drovorub-in-cybersecu/</a></li>\r\n<li><a href=\"https://www.zdnet.com/article/fbi-and-nsa-expose-new-linux-malware-drovorub-used-by-russian-state-hackers/\" class=\"uri\">https://www.zdnet.com/article/fbi-and-nsa-expose-new-linux-malware-drovorub-used-by-russian-state-hackers/</a></li>\r\n<li><a href=\"https://www.bleepingcomputer.com/news/security/lucifer-cryptomining-ddos-malware-now-targets-linux-systems/\" class=\"uri\">https://www.bleepingcomputer.com/news/security/lucifer-cryptomining-ddos-malware-now-targets-linux-systems/</a></li>\r\n<li><a href=\"https://www.bleepingcomputer.com/news/security/lemon-duck-cryptominer-malware-now-targets-linux-devices/\" class=\"uri\">https://www.bleepingcomputer.com/news/security/lemon-duck-cryptominer-malware-now-targets-linux-devices/</a></li>\r\n<li><a href=\"https://www.bleepingcomputer.com/news/security/fritzfrog-malware-attacks-linux-servers-over-ssh-to-mine-monero/\" class=\"uri\">https://www.bleepingcomputer.com/news/security/fritzfrog-malware-attacks-linux-servers-over-ssh-to-mine-monero/</a></li>\r\n<li><a href=\"https://www.amazon.com/SSH-Mastery-OpenSSH-PuTTY-Tunnels/dp/1642350028\" class=\"uri\">https://www.amazon.com/SSH-Mastery-OpenSSH-PuTTY-Tunnels/dp/1642350028</a></li>\r\n<li><a href=\"https://www.zwilnik.com/security-and-privacy/linux-under-attack/\" class=\"uri\">https://www.zwilnik.com/security-and-privacy/linux-under-attack/</a></li>\r\n</ul>\r\n',198,74,0,'CC-BY-SA','Linux, malware, ssh',0,0,1),
(3174,'2020-10-01','Linux Inlaws S01E14: The big programming language panel',3174,'Our heroes host an eclectic panel of experts discussion C(++), Python and Rust. ','<br/>Shownotes:<br/>\r\n<ul>\r\n<li>Bottlerocket: <a href=\"https://aws.amazon.com/about-aws/whats-new/2020/08/announcing-general-availability-of-bottlerocket\" target=\"_blank\">https://aws.amazon.com/about-aws/whats-new/2020/08/announcing-general-availability-of-bottlerocket</a></li>\r\n<li>Windows as a rolling release: <a href=\"https://ubuntupodcast.org/2020/08/27/s13e23-horseshoe\" target=\"_blank\">https://ubuntupodcast.org/2020/08/27/s13e23-horseshoe</a></li>\r\n<li>LPC Rust in kernel: <a href=\"https://program.linuxplumbersconf.org/event/7/contributions/804/attachments/641/1168/barriers-to-in-tree-rust.pdf\" target=\"_blank\">https://program.linuxplumbersconf.org/event/7/contributions/804/attachments/641/1168/barriers-to-in-tree-rust.pdf</a></li>\r\n<li>Redox OS: <a href=\"https://www.redox-os.org\" target=\"_blank\">https://www.redox-os.org</a></li>\r\n<li>FC33: <a href=\"https://fedoramagazine.org/btrfs-coming-to-fedora-33\" target=\"_blank\">https://fedoramagazine.org/btrfs-coming-to-fedora-33</a></li>\r\n<li>Linux kernel history report: <a href=\"https://www.linuxfoundation.org/resources/publications/2020-kernel-history-report\" target=\"_blank\">https://www.linuxfoundation.org/resources/publications/2020-kernel-history-report</a></li>\r\n<li>Thunderbird 78 with OpenPGP: <a href=\"https://wiki.mozilla.org/Thunderbird:OpenPGP:2020\" target=\"_blank\">https://wiki.mozilla.org/Thunderbird:OpenPGP:2020</a></li>\r\n<li>Python Software Foundation: <a href=\"https://www.python.org/psf\" target=\"_blank\">https://www.python.org/psf</a></li>\r\n<li>Rust project website: <a href=\"https://www.rust-lang.org\" target=\"_blank\">https://www.rust-lang.org</a></li>\r\n<li>ISO C working group: <a href=\"https://www.open-std.org/jtc1/sc22/wg14\" target=\"_blank\">https://www.open-std.org/jtc1/sc22/wg14</a></li>\r\n<li>ISO C++ standard: <a href=\"https://isocpp.org\" target=\"_blank\">https://isocpp.org</a></li>\r\n<li>Rust @ Microsoft: <a href=\"https://www.youtube.com/watch?v=NQBVUjdkLAA\" target=\"_blank\">https://www.youtube.com/watch?v=NQBVUjdkLAA</a></li>\r\n<li>Rainbow escort: <a href=\"https://www.etsy.com/de/market/rainbow_escort_card\" target=\"_blank\">https://www.etsy.com/de/market/rainbow_escort_card</a></li>\r\n</ul>\r\n',384,111,1,'CC-BY-SA','C++, Python, Rust, Rainbow Escorts, Halloween',0,0,1),
(3185,'2020-10-16','Pandemics In History',1062,'Infectious disease is one of the most important factors influencing human history','<p>This is a look at how infectious diseases have changed the course of human history. It is admittedly a bit Euro- or Western-centric since that is what I know best. But I think the point of its importance applies more broadly.</p>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Plague_of_Athens\" class=\"uri\">https://en.wikipedia.org/wiki/Plague_of_Athens</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Antonine_Plague\" class=\"uri\">https://en.wikipedia.org/wiki/Antonine_Plague</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Plague_of_Cyprian\" class=\"uri\">https://en.wikipedia.org/wiki/Plague_of_Cyprian</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Crisis_of_the_Third_Century\" class=\"uri\">https://en.wikipedia.org/wiki/Crisis_of_the_Third_Century</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Plague_of_Justinian\" class=\"uri\">https://en.wikipedia.org/wiki/Plague_of_Justinian</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Black_Death\" class=\"uri\">https://en.wikipedia.org/wiki/Black_Death</a></li>\r\n<li><a href=\"https://www.amazon.com/1491-Revelations-Americas-Before-Columbus/dp/1400032059\" class=\"uri\">https://www.amazon.com/1491-Revelations-Americas-Before-Columbus/dp/1400032059</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/0\" class=\"uri\">https://en.wikipedia.org/wiki/0</a></li>\r\n<li><a href=\"https://www.pri.org/stories/2019-01-31/european-colonization-americas-killed-10-percent-world-population-and-caused\" class=\"uri\">https://www.pri.org/stories/2019-01-31/european-colonization-americas-killed-10-percent-world-population-and-caused</a></li>\r\n<li><a href=\"https://www.amazon.com/Guns-Germs-Steel-Fates-Societies/dp/0393317552\" class=\"uri\">https://www.amazon.com/Guns-Germs-Steel-Fates-Societies/dp/0393317552</a></li>\r\n<li><a href=\"https://www.scientificamerican.com/article/mass-deaths-in-americas-start-new-co2-epoch/\" class=\"uri\">https://www.scientificamerican.com/article/mass-deaths-in-americas-start-new-co2-epoch/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Cocoliztli_epidemics\" class=\"uri\">https://en.wikipedia.org/wiki/Cocoliztli_epidemics</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Spanish_flu\" class=\"uri\">https://en.wikipedia.org/wiki/Spanish_flu</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Cytokine_storm\" class=\"uri\">https://en.wikipedia.org/wiki/Cytokine_storm</a></li>\r\n<li><a href=\"https://dc.gov/measles/downloads/MeaslesDataAndStatsSlideSet.pdf\" class=\"uri\">https://dc.gov/measles/downloads/MeaslesDataAndStatsSlideSet.pdf</a></li>\r\n<li><a href=\"https://www.palain.com/health-topics/pandemics-in-history/\" class=\"uri\">https://www.palain.com/health-topics/pandemics-in-history/</a></li>\r\n</ul>\r\n',198,100,0,'CC-BY-SA','Health, Infectious Disease, History, Pandemics',0,0,1),
(3171,'2020-09-28','A Week On Soylent',735,'Lostnbronx tries eating nothing but Soylent, so you don\'t have to.','<p>I bought - and ate - a jar of Soylent, which is a powdered food replacement product. These are my thoughts.</p>\r\n<ul>\r\n<li><p>Company Website:<br />\r\n<a href=\"https://soylent.com/\" class=\"uri\">https://soylent.com/</a></p></li>\r\n<li><p>Wikipedia Article:<br />\r\n<a href=\"https://en.wikipedia.org/wiki/Soylent_(meal_replacement)\" class=\"uri\">https://en.wikipedia.org/wiki/Soylent_(meal_replacement)</a></p></li>\r\n</ul>',107,0,0,'CC-BY-SA','soylent, food, health, diet, lostnbronx',0,0,1),
(3173,'2020-09-30','Manage your Raspberry Pi fleet with Ansible',1209,'A solution to the problem of updating difficult-to-reach Raspberry Pis in the enterprise.','<p>\r\nThis is the final show in the miniseries on how to manage your RaspberryPis with ansible. The goal is to produce a common base Raspberry Pi OS image that doesn\'t change often but, once it\'s installed, can automatically be customized, maintained, and managed remotely.\r\n</p>\r\n<p>\r\nWe will create the base image using the <a href=\"https://github.com/kenfallon/fix-ssh-on-pi\">script fix-ssh-on-pi<a/> which is available on GitHub. \r\n</p>\r\n<p>\r\nThen we will identify the hosts on the network with tips from <a href=\"https://hackerpublicradio.org/correspondents/0036.html\">operat0r</a> in show <a href=\"https://hackerpublicradio.org/eps.php?id=3090\">hpr3090 :: Locating Computers on a Enterprise Network</a>, or for simpler networks from my own show <a href=\"https://hackerpublicradio.org/eps.php?id=3052\">hpr3052 :: Locating computers on a network</a>.\r\n</p>\r\n<p>\r\nFinally we will provision the devices using tips from <a href=\"https://hackerpublicradio.org/eps.php?id=3080\">hpr3080 :: Ansible ping</a>, and <a href=\"https://hackerpublicradio.org/eps.php?id=3162\">hpr3162 :: Introduction to Ansible </a>\r\n</p>\r\n<p>\r\nThis show has been been simultaneously published as an <a href=\"https://opensource.com/article/20/9/raspberry-pi-ansible\">article on opensource.com</a>.\r\n</p>\r\n\r\n<h3>Links</h3>\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org/correspondents/0036.html\">https://hackerpublicradio.org/correspondents/0036.html</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/correspondents/0078.html\">https://hackerpublicradio.org/correspondents/0078.html</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2356\">https://hackerpublicradio.org/eps.php?id=2356</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=3052\">https://hackerpublicradio.org/eps.php?id=3052</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=3080\">https://hackerpublicradio.org/eps.php?id=3080</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=3090\">https://hackerpublicradio.org/eps.php?id=3090</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=3162\">https://hackerpublicradio.org/eps.php?id=3162</a></li>\r\n<li><a href=\"https://man7.org/linux/man-pages/man8/losetup.8.html\">https://man7.org/linux/man-pages/man8/losetup.8.html</a></li>\r\n<li><a href=\"https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html\">https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html</a></li>\r\n<li><a href=\"https://docs.ansible.com/ansible/latest/modules/apt_module.html\">https://docs.ansible.com/ansible/latest/modules/apt_module.html</a></li>\r\n<li><a href=\"https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html\">https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html</a></li>\r\n<li><a href=\"https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html\">https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html</a></li>\r\n<li><a href=\"https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html\">https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Ansible_%28software%29%23Design_goals\">https://en.wikipedia.org/wiki/Ansible_%28software%29%23Design_goals</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software\">https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/DevOps\">https://en.wikipedia.org/wiki/DevOps</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Domain_Name_System\">https://en.wikipedia.org/wiki/Domain_Name_System</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol\">https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Enterprise_resource_planning\">https://en.wikipedia.org/wiki/Enterprise_resource_planning</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Hostname\">https://en.wikipedia.org/wiki/Hostname</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Idempotent\">https://en.wikipedia.org/wiki/Idempotent</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/ISO_9000\">https://en.wikipedia.org/wiki/ISO_9000</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/MAC_address\">https://en.wikipedia.org/wiki/MAC_address</a></li>\r\n<li><a href=\"https://github.com/kenfallon/fix-ssh-on-pi\">https://github.com/kenfallon/fix-ssh-on-pi</a></li>\r\n<li><a href=\"https://github.com/nmcclain/raspberian-firstboot\">https://github.com/nmcclain/raspberian-firstboot</a></li>\r\n<li><a href=\"https://wiki.debian.org/DebianReleases\">https://wiki.debian.org/DebianReleases</a></li>\r\n<li><a href=\"https://www.amazon.com/StarTech-com-4-Slot-USB-C-Card-Reader/dp/B07HVPNQRQ/\">https://www.amazon.com/StarTech-com-4-Slot-USB-C-Card-Reader/dp/B07HVPNQRQ/</a></li>\r\n<li><a href=\"https://www.ansible.com/\">https://www.ansible.com/</a></li>\r\n<li><a href=\"https://www.cyberciti.biz/faq/ansible-apt-update-all-packages-on-ubuntu-debian-linux/\">https://www.cyberciti.biz/faq/ansible-apt-update-all-packages-on-ubuntu-debian-linux/</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/blog/raspberry-pi-4-on-sale-now-from-35/#comment-1510410\">https://www.raspberrypi.org/blog/raspberry-pi-4-on-sale-now-from-35/#comment-1510410</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/documentation/configuration/raspi-config.md\">https://www.raspberrypi.org/documentation/configuration/raspi-config.md</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net_tutorial.md\">https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net_tutorial.md</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/documentation/raspbian/updating.md\">https://www.raspberrypi.org/documentation/raspbian/updating.md</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/education/\">https://www.raspberrypi.org/education/</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/products/raspberry-pi-1-model-b-plus/\">https://www.raspberrypi.org/products/raspberry-pi-1-model-b-plus/</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/products/raspberry-pi-2-model-b/\">https://www.raspberrypi.org/products/raspberry-pi-2-model-b/</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/products/raspberry-pi-3-model-a-plus/\">https://www.raspberrypi.org/products/raspberry-pi-3-model-a-plus/</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/products/raspberry-pi-3-model-b/\">https://www.raspberrypi.org/products/raspberry-pi-3-model-b/</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/\">https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/</a></li>\r\n<li><a href=\"https://www.raspbian.org/\">https://www.raspbian.org/</a></li>\r\n</ul>',30,0,0,'CC-BY-SA','raspberrypi, Raspbian, ansible, opensource.com',0,0,1),
(3250,'2021-01-15','GIMP: Getting Started With Layers',952,'Mastering the basic tools of Layers in GIMP','<p>Layers are the feature that does most of the heavy lifting in GIMP. After our previous introduction, we start to get hands-on with the controls that let us work with Layers</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.10/en/\" class=\"uri\">https://docs.gimp.org/2.10/en/</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/getting-started-with-layers/\" class=\"uri\">https://www.ahuka.com/gimp/getting-started-with-layers/</a></li>\r\n</ul>\r\n',198,113,0,'CC-BY-SA','GIMP, images, photos, graphics, layers',0,0,1),
(3260,'2021-01-29','Free, Public Domain and Creative Commons Assets',1289,'Using images and fonts that are not restricted','<p>In preparation for doing some sample exercises I wanted to first explain about how you can use images and fonts that are not restricted or are available under license terms that are not too restrictive. Any image that is intended for public display or for commercial purposes could be liable for copyright infringement if care is not taken. Fortunately, there are many resources available that you can use, and we look at some of the better ones.</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.10/en/\" class=\"uri\">https://docs.gimp.org/2.10/en/</a></li>\r\n<li><a href=\"https://creativecommons.org/\" class=\"uri\">https://creativecommons.org/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Wikipedia:Public_domain_image_resources\" class=\"uri\">https://en.wikipedia.org/wiki/Wikipedia:Public_domain_image_resources</a></li>\r\n<li><a href=\"https://ccsearch.creativecommons.org/\" class=\"uri\">https://ccsearch.creativecommons.org/</a></li>\r\n<li><a href=\"https://ccsearch.creativecommons.org/search-help\" class=\"uri\">https://ccsearch.creativecommons.org/search-help</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Category:Public_domain_typefaces\" class=\"uri\">https://en.wikipedia.org/wiki/Category:Public_domain_typefaces</a></li>\r\n<li><a href=\"https://www.booksofm.com/2008/08/public-domain-font.html\" class=\"uri\">https://www.booksofm.com/2008/08/public-domain-font.html</a></li>\r\n<li><a href=\"https://www.1001fonts.com/licenses/ffc.html\" class=\"uri\">https://www.1001fonts.com/licenses/ffc.html</a></li>\r\n<li><a href=\"https://www.dafont.com/\" class=\"uri\">https://www.dafont.com/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/SIL_Open_Font_License\" class=\"uri\">https://en.wikipedia.org/wiki/SIL_Open_Font_License</a></li>\r\n<li><a href=\"https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=OFL\" class=\"uri\">https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=OFL</a></li>\r\n<li><a href=\"https://linuxconfig.org/how-to-install-fonts-on-ubuntu-20-04-focal-fossa-linux\" class=\"uri\">https://linuxconfig.org/how-to-install-fonts-on-ubuntu-20-04-focal-fossa-linux</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/free-public-domain-and-cc-assets/\" class=\"uri\">https://www.ahuka.com/gimp/free-public-domain-and-cc-assets/</a></li>\r\n</ul>',198,113,0,'CC-BY-SA','Public Domain, Creative Commons, copyright, images, fonts',0,0,1),
(3177,'2020-10-06','Zero cost VPN',407,'OpenVPN on a Free Tier VPS for securing phone trafic ','<p>A basic overview of the VPN I use</p>\r\n<ul>\r\n<li>Linux on a free/low cost VPS</li>\r\n<li>Helper script install OpenVPN and generate client config file</li>\r\n<li>Transfer client config file to mobile device</li>\r\n<li>Install OpenVPN client on Mobile Device and import the config</li>\r\n</ul>\r\n<p>There are a few options for the Linux server. Free tier cloud providers</p>\r\n<ul>\r\n<li>AWS</li>\r\n<li>Google</li>\r\n<li>Azure</li>\r\n</ul>\r\n<p>VPS with Free credits ($20-$100) for new accounts I\'ve gotten discount codes from podcasts</p>\r\n<ul>\r\n<li>Digital Ocean</li>\r\n<li>Linode</li>\r\n</ul>\r\n<p>VPS requirements for running a OpenVPN server are pretty are basic</p>\r\n<ul>\r\n<li>Internet accessible IP address</li>\r\n<li>Average Network speed</li>\r\n<li>root shell access</li>\r\n</ul>\r\n<p>The openvpn installer is on GitHub. <a href=\"https://github.com/angristan/openvpn-install\">https://github.com/angristan/openvpn-install</a></p>\r\n<p>On the server as root, run</p>\r\n<pre><code>git clone https://github.com/angristan/openvpn-install.git\r\n/openvpn-install/openvpn-install.sh\r\n</code></pre>\r\n',342,0,0,'CC-BY-SA','VPN, OpenVPN',0,0,1),
(3270,'2021-02-12','An Example of Using Layers',900,'Creating a new header image for my WordPress site using Layers in GIMP','<p>There is a point where you need to stop being abstract and start demonstrating what you are talking about, so I thought this was a good opportunity to put some things into practice by creating an image. I chose to do a header image for my site Ahuka Communications that would more accurately reflect the content. This lets us use freely licensed images, an OFL-licensed font, layers, and various tools. Note that you can download all of this stuff from my site.</p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://docs.gimp.org/2.10/en/\" class=\"uri\">https://docs.gimp.org/2.10/en/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Wikipedia:Public_domain_image_resources\" class=\"uri\">https://en.wikipedia.org/wiki/Wikipedia:Public_domain_image_resources</a></li>\r\n<li><a href=\"https://www.clker.com/\" class=\"uri\">https://www.clker.com/</a></li>\r\n<li><a href=\"https://www.clker.com/clipart-1895.html\" class=\"uri\">https://www.clker.com/clipart-1895.html</a></li>\r\n<li><a href=\"https://www.clker.com/clipart-29779.html\" class=\"uri\">https://www.clker.com/clipart-29779.html</a></li>\r\n<li><a href=\"https://www.clker.com/clipart-x-office-spreadsheet.html\" class=\"uri\">https://www.clker.com/clipart-x-office-spreadsheet.html</a></li>\r\n<li><a href=\"https://www.clipartspy.com/\" class=\"uri\">https://www.clipartspy.com/</a></li>\r\n<li><a href=\"https://www.needpix.com/\" class=\"uri\">https://www.needpix.com/</a></li>\r\n<li><a href=\"https://www.needpix.com/photo/96030/file-type-ods-spreadsheet-open-document-spreadsheet-file-open-office\" class=\"uri\">https://www.needpix.com/photo/96030/file-type-ods-spreadsheet-open-document-spreadsheet-file-open-office</a></li>\r\n<li><a href=\"https://www.needpix.com/photo/28685/presentation-people-meeting-office-corporate-seminar-training-professional-businesspeople\" class=\"uri\">https://www.needpix.com/photo/28685/presentation-people-meeting-office-corporate-seminar-training-professional-businesspeople</a></li>\r\n<li><a href=\"https://www.needpix.com/photo/1321215/abstract-background-business-cloud-concept-graphic-group-illustration-office\" class=\"uri\">https://www.needpix.com/photo/1321215/abstract-background-business-cloud-concept-graphic-group-illustration-office</a></li>\r\n<li><a href=\"https://fontlibrary.org/\" class=\"uri\">https://fontlibrary.org/</a></li>\r\n<li><a href=\"https://www.ahuka.com/wp-content/uploads/2020/09/Header.zip\" class=\"uri\">https://www.ahuka.com/wp-content/uploads/2020/09/Header.zip</a></li>\r\n<li><a href=\"https://www.ahuka.com/gimp/an-example-of-using-layers/\" class=\"uri\">https://www.ahuka.com/gimp/an-example-of-using-layers/</a></li>\r\n</ul>\r\n',198,113,0,'CC-BY-SA','GIMP, Layers, WordPress',0,0,1),
(3178,'2020-10-07','Finishing the Recumbent Bicycle',259,'While channeling Stephen Hawking, Brian in Ohio describes finishing and riding the bike','<h2 id=\"websites\">Websites:</h2>\r\n<ul>\r\n<li>recycled recumbent: <a href=\"https://sites.google.com/site/recycledrecumbents/home\" class=\"uri\">https://sites.google.com/site/recycledrecumbents/home</a></li>\r\n<li>cj hoyle milk crate tutorial: <a href=\"https://youtu.be/MvBx_74FzUk\" class=\"uri\">https://youtu.be/MvBx_74FzUk</a></li>\r\n</ul>\r\n<h2 id=\"gallery\">Gallery:</h2>\r\n<p><em>1 - Bending Tools</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_001.jpg\" alt=\"1 - Bending Tools\" /></p>\r\n<p>This is how I clamped up the conduit bending tool in the trusty workmate. In this configuration you can bend the tube to specific angles and make sure the bends stay in plane. The goal here is to create two side rails that are identical. The seat webbing is sewn on to these rails.</p>\r\n<p><em>2 - Needed weights</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_002.jpg\" alt=\"2 - Needed weights\" /></p>\r\n<p>This photo shows some more of how the bending jig was set up. Those are counter weights needed to keep the jig on the ground while the tube is being bent.</p>\r\n<p><em>3 - Seat rail plans</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_003.jpg\" alt=\"3 - Seat rail plans\" /></p>\r\n<p>Mr. Carson provides pdf files that you can print out to be used as templates to match your bends.</p>\r\n<p><em>4 - Marking tubes</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_004.jpg\" alt=\"4 - Marking tubes\" /></p>\r\n<p><em>5 - Sighting down tube</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_005.jpg\" alt=\"5 - Sighting down tube\" /></p>\r\n<p><em>6 - Using marks</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_006.jpg\" alt=\"6 - Using marks\" /></p>\r\n<p><em>7 - Help with angles</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_007.jpg\" alt=\"7 - Help with angles\" /></p>\r\n<p><em>8 - Matching to plans</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_008.jpg\" alt=\"8 - Matching to plans\" /></p>\r\n<p>Pictures 4-8 show the layout of the tubes and how the marks are used to ensure you make mirror image rails for the seat.</p>\r\n<p><em>9 - Matching sides</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_009.jpg\" alt=\"9 - Matching sides\" /></p>\r\n<p><em>10 - Seat backs</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_010.jpg\" alt=\"10 - Seat backs\" /></p>\r\n<p><em>11 - Drilling fish mouths</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_011.jpg\" alt=\"11 - Drilling fish mouths\" /></p>\r\n<p><em>12 - Seat backs ready for trimming</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_012.jpg\" alt=\"12 - Seat backs ready for trimming\" /></p>\r\n<p><em>13 - Finished seat backs</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_013.jpg\" alt=\"13 - Finished seat backs\" /></p>\r\n<p><em>14 - Jigging up</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_014.jpg\" alt=\"14 - Jigging up\" /></p>\r\n<p>Pictures 9-14 outline the steps in fabricating the seat backs. The seat backs tie the rails together and are where the clamps that connect the seat to the frame grab the seat. This part of the construction can be overwhelming if you don\'t take it one step at a time. I had to constantly remind myself that building the bike was not a race but a journey, take your time and enjoy each little milestone. The last picture is the seat frame jigged up and ready for brazing.</p>\r\n<p><em>15 - Seat stay one</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_015.jpg\" alt=\"15 - Seat stay one\" /></p>\r\n<p><em>16 - Seat stay two</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_016.jpg\" alt=\"16 - Seat stay two\" /></p>\r\n<p>The seat stay was at first glance very intimidating. This piece connects the back of the seat down to the frame, supporting the upper part of your body. Its made of many parts, but all they are is cut up pieces of steel rod and threaded rod that are brazed together. No bending is involved only cutting and brazing and in the end it wasn\'t to difficult to fabricate.</p>\r\n<p><em>17 - Seat stay three</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_017.jpg\" alt=\"17 - Seat stay three\" /></p>\r\n<p>The completed seat connected to the frame. The seat is clamped to the frame using hose clamps and clamping blocks made of conduit cut length wise and brazed together at right angles.</p>\r\n<p><em>18 - Seat webbing one</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_018.jpg\" alt=\"18 - Seat webbing one\" /></p>\r\n<p><em>19 - Seat webbing two</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_019.jpg\" alt=\"19 - Seat webbing two\" /></p>\r\n<p>The seat webbing is sewn on using fishing line as described on the website, the only challenge is getting it nice and tight. Needle, line and a few hpr episodes is all you need to get through the task.</p>\r\n<p><em>20 - Finished</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3178/img_020.jpg\" alt=\"20 - Finished\" /></p>\r\n<p>The last picture is the bike finished and ready for its maiden journey.</p>\r\n<h2 id=\"espeak-script\">Espeak script:</h2>\r\n<p>Hello Hacker Public Radio, Brian in Ohio here.</p>\r\n<p>I am out from under my rock, and doing the last of the recumbent bike build episodes. My wife and I are visiting the land of our youth, Colorado, so my recording stuff is at home, hence the espeak rendition of the show. I finished building the bike a while ago and have been riding it around town to do errands and get exercise. I love this bike! The comfort level is unparalleled. Its like sitting in a chase lounge. No more neck strain or pain in the derriere. You don\'t need any fancy bike clothes, like padded biking shorts, in order to feel comfortable. The bike is fast and has responsive handling. Somethings I have learned so far while riding the bike. First, a rear view mirror really helps when riding on the street. Unlike upright bikes turning your head to look back to clear for traffic is not as easy. Next, the handling takes some getting used to. The long lever arm of the steering tube makes the bike feel jerky when you first ride it. After a while you\'ll see that a light hand on the tiller goes a long way to smoothing out the ride. It took me a bit of practice to gracefully get the bike started after coming to a stop. Because you can\'t stand up and hammer on the peddles, coming to a stop requires a bit of work on the gears. Being in a easy gear then shifting up as you get moving is the way to go. If you build one of these bikes, and why wouldn\'t you, you will have to think about storage because throwing a back pack on is not really an option. I found a bike rack that attaches to the back of the bike, a grocery store plastic basket and an instructive video tutorial by C J Hoyle on you tube took care of my storage needs, a link is in the show notes. The last parts that need to be fabricated to complete the bike were the seat and the handle bars, and all of there associated bits and pieces that make up these assemblies. Instead of narrating through all the pictures, I leave you, dear hacker public radio listener, that\'s interested to look at the pictures and read the captions yourself. My general impressions of building the pieces are as follows. The handle bars are relatively easy to fabricate but the big problem for me was the metal on the handle bars you use to make the tiller did not braze well with the conduit. In the end I had to resort to pop rivets and a through bolt to get a safe, sturdy connection. The seat is a collection of many parts and at first glance can be a bit overwhelming. By examining the photos on the recycled recumbent website and studying the plans, focusing on each step the seat came out fine for me, yours will too. The side rails are bent using a conduit bender and the challenge is getting the two sides close to match. Take your time and get some extra conduit, you\'re probably going to need it. The seat back stay is pretty easy to make, but it is made up of quite a few parts, requiring simple cuts and brazing to fashion it. The rest of the seat parts, the various fittings used to clamp the seat to the frame are pretty easy to make and I can\'t compliment Mr. Carsen highly enough for his ingenious design. Fitting out the bike; getting wheels, brakes and drive train together are going to be unique to every bike and will depend on how much money you want to spend, what parts you have laying around and what fittings you might have to create to attach the parts. I opted to use used parts that were at hand so I could get the bike up and running. I plan on upgrading parts, making changes and improvements after I\'ve ridden the bike for a few months and gotten a good number of miles under my belt. I\'ll do an update show in the future to let you know what I\'ve done. Will I do this again? Yes definitely I will build another bike, maybe a mach two or three, the building is fun the bike rides great. Mr Carsen sells parts, kits and completed bikes on his website. When I do it again I may opt to buy the seat from him. I would recommend this project to anyone. You can, go out and build one yourself.</p>\r\n<p>This is Brian in Ohio signing off for now reminding every one to: go fast; take chances.</p>\r\n',326,115,0,'CC-BY-SA','bicycle, recumbent',0,0,1),
(3179,'2020-10-08','MakeMKV to back up media, and a Question',404,'Describing two ways to install MakeMKV DVD/Blu-ray backup program on Fedora 32','<p>Installed Fedora 32 on a spare laptop</p>\r\n<h5 id=\"quick-tip\">Quick tip</h5>\r\n<p>To ignore the handle switch on the laptop triggering a power off:</p>\r\n<p>Put <code>HandleLidSwitch=ignore</code> in <code>/etc/systemd/logind.conf</code></p>\r\n<h4 id=\"install-makemkv-from-source\">Install MakeMKV from source</h4>\r\n<pre><code>dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm\r\n\r\ndnf install zlib-devel openssl-devel expat-devel ffmpeg ffmpeg-devel qt5-qtbase-devel\r\nmkdir git/makemkv.source\r\n\r\ncd makemkv.source\r\nwget https://www.makemkv.com/download/makemkv-oss-1.15.2.tar.gz\r\nwget https://www.makemkv.com/download/makemkv-bin-1.15.2.tar.gz\r\n\r\ntar xpf makemkv-oss-1.15.2.tar.gz\r\ntar xpf makemkv-bin-1.15.2.tar.gz\r\n\r\ncd makemkv-oss-1.15.2/\r\n./configure\r\nmake\r\nsudo make install\r\n\r\ncd ../makemkv-bin-1.15.2/\r\nmake\r\nsudo make install</code></pre>\r\n<h4 id=\"install-makemkv-from-flathub\">Install MakeMKV from flathub</h4>\r\n<pre><code>flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo\r\nflatpak install flathub com.makemkv.MakeMKV</code></pre>\r\n<h4 id=\"install-ccextractor\">Install ccextractor</h4>\r\n<pre><code>dnf install libtesseract-dev autoconf sysconftool\r\n\r\ngit clone https://github.com/CCExtractor/ccextractor.git\r\ncd ccextractor/linux/\r\n./build</code></pre>\r\n<h4 id=\"enable-expert-mode\">Enable expert mode</h4>\r\n<p><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3179/img_001.png\" /></p>\r\n<h4 id=\"provide-path-to-the-ccextractor-binary\">Provide path to the ccextractor binary</h4>\r\n<p><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3179/img_002.png\" /></p>\r\n<h4 id=\"re-encoding-mkv-file\">Re-encoding MKV file</h4>\r\n<pre><code>ffmpeg -i $1 -b:a 128k -b:v 2000k -vcodec mpeg4 -acodec aac &quot;encoded&quot;/&quot;`basename -s .mkv $1`-_2000k_aac.mkv&quot;</code></pre>\r\n<h4 id=\"updated-registration-key-good-for-2-months\">Updated registration key (Good for 2 months?)</h4>\r\n<p><a href=\"https://www.makemkv.com/forum/viewtopic.php?t=1053\">Updated registration key for MakeMKV</a></p>\r\n<h4 id=\"makemkv-registration-code-update-script-untested\">MakeMKV registration code update script (Untested)</h4>\r\n<p><a href=\"https://github.com/AyrA/MakeMKV\">Github link to MakeMKV registration update script</a></p>\r\n<h4 id=\"other-links\">Other links</h4>\r\n<p><a href=\"https://linuxconfig.org/how-to-install-makemkv-on-fedora-linux\">How to install MakeMKV on Fedora Linux</a> <br> <a href=\"https://www.makemkv.com/forum/viewtopic.php?f=3&amp;t=224&amp;sid=4e978698972df3de5f4e055c39370e03\">Forum post for MakeMKV on Linux</a></p>\r\n<h4 id=\"how-to-playrip-blu-ray-discs-on-mplayer-command-line\">How to play/rip Blu-ray discs on Mplayer command line</h4>\r\n<p>For DVD\'s</p>\r\n<pre><code>mplayer dvd:///_/dvd/mount/dir_</code></pre>\r\n<p>For Blu-ray discs <br> Download keydb.cfg and place it in <code>~/.config/aacs/</code> <br> <a href=\"https://fvonline-db.bplaced.net/\">Link to keydb.cfg</a></p>\r\n<pre><code>mplayer br:///_/bluray/mount/dir_\r\nie. mplayer br:////dev/sr0 &lt;br&gt;</code></pre>\r\n<p>note the 3 forward slashes before the block device, as the disk will not be read otherwise</p>\r\n<p>Ripping:</p>\r\n<pre><code>mplayer br:////dev/sr0 -alang en -dumpstream -dumpfile $movie.mpg</code></pre>\r\n<p>Encoding:</p>\r\n<pre><code>mkdir encoded\r\nffmpeg -i $1 -map 0:0 -map 0:1 -b:a 128k -b:v 2000k -vcodec mpeg4 &quot;encoded&quot;/&quot;`basename -s .mpg $1`.mkv&quot;</code></pre>\r\n<h4 id=\"questions-for-the-community\">Questions for the Community:</h4>\r\n<p>Is it antiquated to want to rip Blu-ray/DVD disks to a server?</p>\r\n<p>Is there a better way to accomplish this, rather than using MakeMKV, which continues to be Beta software, and not Free and Open Source?</p>\r\n',318,0,0,'CC-BY-SA','dvd, blu-ray, backup',0,0,1),
(3182,'2020-10-13','Yo-ho-ho, and a bottle of Cholecalciferol',4763,'From Scotland, two HPR hosts chew the fat','<h2 id=\"introduction\">Introduction</h2>\r\n<p>Two HPR hosts from Scotland get together over Mumble one more time to chat about all manner of stuff.</p>\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org/correspondents/0268.html\">Andrew Conway</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/correspondents/0225.html\">Dave Morriss</a></li>\r\n</ul>\r\n<p>We recorded on Saturday 19<sup>th</sup> September 2020, which was <a href=\"https://en.wikipedia.org/wiki/International_Talk_Like_a_Pirate_Day\"><em>International Talk Like A Pirate Day</em></a>, we but managed to avoid any utterances of <em>ARRRR!</em>, and the use of marlinspikes, fids or belaying pins. Also, no timbers were shivered and no mainbraces spliced (not while recording anyway).</p>\r\n<h2 id=\"notes\">Notes</h2>\r\n<p>Some of the topics we discussed:</p>\r\n<ul>\r\n<li>COVID-19:\r\n<ul>\r\n<li>The increase in COVID-19 cases in Scotland, particularly Glasgow\r\n<ul>\r\n<li>Movement in Glasgow is more restricted than in Edinburgh at time of recording</li>\r\n</ul></li>\r\n<li>The <a href=\"https://www.kcl.ac.uk/news/new-symptom-tracking-app-aims-to-slow-spread-of-coronavirus\">KCL COVID tracker</a>, described further in an <a href=\"https://www.kcl.ac.uk/news/spotlight/spotlight-on-covid-tracking-the-symptoms\">article with more details</a>\r\n<ul>\r\n<li>Andrew is using this</li>\r\n</ul></li>\r\n<li>Is Glasgow the most infected city in the UK?</li>\r\n<li><a href=\"https://www.microbe.tv/twiv/\">This week in Virology podcast</a> discussing easing of lock down and return of children to school, both likely to increase infections.</li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Vitamin_D\">Vitamin D</a> (D<sub>3</sub> in particular<a href=\"#fn1\" class=\"footnote-ref\" id=\"fnref1\" role=\"doc-noteref\"><sup>1</sup></a>) seems to have a beneficial effect in COVID-19 cases. Having an optimal level of the vitamin seems to help ameliorate the COVID-19 effects, whereas being deficient can apparently result in more severe effects. See the study in the <a href=\"https://t.co/oXb0fr5NyE?amp=1\"><em>Journal of Steroid Biochemistry and Molecular Biology</em></a></li>\r\n<li>Long-term immunity and t-cells: <a href=\"https://www.nature.com/articles/s41586-020-2550-z\">see the Nature paper mentioned in the episode</a></li>\r\n<li>The virus is called <code>SARS-CoV-2</code><a href=\"#fn2\" class=\"footnote-ref\" id=\"fnref2\" role=\"doc-noteref\"><sup>2</sup></a> (as opposed to <code>SARS-CoV-1</code>, the previous <em>SARS</em> coronavirus). The disease is called <code>COVID-19</code><a href=\"#fn3\" class=\"footnote-ref\" id=\"fnref3\" role=\"doc-noteref\"><sup>3</sup></a>.</li>\r\n<li>Speculations heard:\r\n<ul>\r\n<li>Whether having had the <a href=\"https://en.wikipedia.org/wiki/BCG_vaccine\">BCG immunisation</a> against tuberculosis helps protect from COVID-19.</li>\r\n<li>Whether exposure to other (milder) corona viruses can provide immunity to <code>SARS-CoV-2</code>.</li>\r\n</ul></li>\r\n<li>The puzzling case of Sweden and COVID-19</li>\r\n<li>Have there been randomised controlled trials of the effectiveness of the masks in common use?<a href=\"#fn4\" class=\"footnote-ref\" id=\"fnref4\" role=\"doc-noteref\"><sup>4</sup></a></li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>What we’re doing in lockdown:\r\n<ul>\r\n<li>Dave: cooking for the family 2 nights a week; shopping “<em>by proxy</em>”; not going to the gym yet</li>\r\n<li>Andrew: exercising at home; tried the gym a couple of times but was put off by overcrowding; working on the BBC Micro (check HPR show <a href=\"https://hackerpublicradio.org/eps.php?id=2731\"><em>hpr2731 :: My 8 bit Christmas</em></a>)</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/BBC_Micro\">BBC Micro</a>:\r\n<ul>\r\n<li>A 32KiB 8-bit computer based around the 6502 CPU, made by <a href=\"https://en.wikipedia.org/wiki/Acorn_Computers\">Acorn Computers Ltd.</a></li>\r\n<li>Game: <a href=\"https://bbcmicro.co.uk/game.php?id=89\"><em>Twin Kingdom Valley</em></a> originally played by Andrew in 1982/3. He has been:\r\n<ul>\r\n<li>Disassembling the game (which is in machine code).\r\n<ul>\r\n<li>Disassembly is non-trivial when data is interleaved with the code.</li>\r\n</ul></li>\r\n<li>Rewriting the non-graphic code in C</li>\r\n</ul></li>\r\n<li>The BBC had a paged ROM area known as the <em>Sideways ROM</em> (see the <a href=\"https://mdfs.net/Docs/Comp/BBC/AllMem\">System Memory Map</a>)</li>\r\n<li>Andrew had the ROM game <em>Dr. Who and the Mines of Terror!</em>.</li>\r\n<li>The 65C02 processor is still being made!</li>\r\n<li><a href=\"https://www.youtube.com/c/BenEater\">Ben Eater on YouTube</a> is explaining the workings of the 6502, amongst other things.\r\n<ul>\r\n<li>Andrew has bought a <a href=\"https://eater.net/6502\">6502 kit from Ben Eater</a></li>\r\n</ul></li>\r\n<li>The 6502 could be seen as an early RISC (Reduced Instruction Set) machine (though not intentionally). Acorn created the Acorn RISC Machine (ARM) for the Archimedes and eventually spun off <em>ARM Ltd.</em></li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Internet bandwidth in Scotland\r\n<ul>\r\n<li>Dave’s street has just had optical fibre installed. He has an ADSL link at present which is slow and not always reliable</li>\r\n<li>Andrew has cable, which is very reliable. Reliability is more important than very high speeds, as is low latency</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>HPR queue state:\r\n<ul>\r\n<li>OK for the next couple of weeks (at time of recording)</li>\r\n<li>A new show then arrived <b>at that point</b>!</li>\r\n<li>HPR always needs shows!</li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Programming languages:\r\n<ul>\r\n<li>Dave hasn’t been too keen on using assembler since the late 1980’s</li>\r\n<li>Andrew has been a Java programmer but likes the slimness of C</li>\r\n<li>Dave tinkered with FORTH on the BBC Micro at one time, and wrote some stuff in PostScript as a programming language</li>\r\n<li>FORTH was used to control telescopes at one time</li>\r\n</ul></li>\r\n</ul>\r\n<section class=\"footnotes\" role=\"doc-endnotes\">\r\n<hr />\r\n<ol>\r\n<li id=\"fn1\" role=\"doc-endnote\"><p>Vitamin D<sub>3</sub> is also known as <em>cholecalciferol</em>.<a href=\"#fnref1\" class=\"footnote-back\" role=\"doc-backlink\">↩︎</a></p></li>\r\n<li id=\"fn2\" role=\"doc-endnote\"><p><code>SARS-CoV-2</code>: <code>SARS</code> stands for <em>Severe Acute Respiratory Syndrome</em>, <code>CoV</code> means <em>Corona Virus</em> and the 2 refers to the second SARS corona virus in recent times.<a href=\"#fnref2\" class=\"footnote-back\" role=\"doc-backlink\">↩︎</a></p></li>\r\n<li id=\"fn3\" role=\"doc-endnote\"><p><code>COVID-19</code>: simply means <em>coronavirus disease 19</em>, referring to its arrival in 2019.<a href=\"#fnref3\" class=\"footnote-back\" role=\"doc-backlink\">↩︎</a></p></li>\r\n<li id=\"fn4\" role=\"doc-endnote\"><p>Some clarification of the types of mask being used most commonly might be needed. Andrew was thinking of the fabric masks when speaking about this. Some research after the recording discovered a mask-related trial as follows: <a href=\"https://www.ijidonline.com/article/S1201-9712(20)30399-4/fulltext\">Human coronavirus data from four clinical trials of masks and respirators</a>.<a href=\"#fnref4\" class=\"footnote-back\" role=\"doc-backlink\">↩︎</a></p></li>\r\n</ol>\r\n</section>\r\n',225,0,1,'CC-BY-SA','COVID-19,SARS-Cov-2,Vitamin D,6502 microprocessor,BBC Micro',0,0,1),
(3181,'2020-10-12','RealVNC cloud offering',262,'JWP emails in a show about using VNC while out and about','<p>\r\nJust a short podcast about RealVNC cloud offering.\r\nAn interesting VNC option if you want to connect on the road or the at\r\nthe coffee shop to a server back home without putting holes in your router.\r\n</p>\r\n<p>\r\n<a href=\"https://www.realvnc.com/en/news/what-vnc-cloud/\">https://www.realvnc.com/en/news/what-vnc-cloud/</a>\r\n</p>',129,0,1,'CC-BY-SA','realvnc, remote computing',0,0,1),
(3184,'2020-10-15','Linux Inlaws S01E15: IT Security and stick insects',3368,'How to secure photos of your stick insect collection and more ','<p>In this episode Martin discovers that protecting pictures of stick insects (rated XXX or not)\r\non USB sticks (pun intended) can be an ardous endeavour indeed. Never mind eventually turning\r\nthis into a business including web servers, shared file spaces and password storage. Additional\r\nbonus: the lovely Emma from Rainbow Escorts makes another cameo apperance supported by some Irish, um, students.</p>\r\n<h3>Shownotes:</h3>\r\n<ul>\r\n<li>Linux Unified Key Setup (LUKS): <a href=\"https://gitlab.com/cryptsetup/cryptsetup/blob/master/README.md\" target=\"_blank\">https://gitlab.com/cryptsetup/cryptsetup/blob/master/README.md</a></li>\r\n<li>EncFS: <a href=\"https://vgough.github.io/encfs\" target=\"_blank\">https://vgough.github.io/encfs</a></li>\r\n<li>EcryptFS: <a href=\"https://www.ecryptfs.org\" target=\"_blank\">https://www.ecryptfs.org</a></li>\r\n<li>Keepass: <a href=\"https://keepass.info/\" target=\"_blank\">https://keepass.info/</a></li>\r\n<li>Snort: <a href=\"https://www.snort.org\" target=\"_blank\">https://www.snort.org</a></li>\r\n<li>Fail2ban: <a href=\"https://www.fail2ban.org/wiki/index.php/Main_Page\" target=\"_blank\">https://www.fail2ban.org/wiki/index.php/Main_Page</a></li>\r\n<li>PSAD: <a href=\"https://cipherdyne.org/psad\" target=\"_blank\">https://cipherdyne.org/psad</a></li>\r\n<li>Nextcloud: <a href=\"https://nextcloud.com\" target=\"_blank\">https://nextcloud.com</a></li>\r\n<li>Tor: <a href=\"https://torproject.org\" target=\"_blank\">https://torproject.org</a></li>\r\n<li>OPENVPN: <a href=\"https://openvpn.net\" target=\"_blank\">https://openvpn.net</a></li>\r\n<li>WireGuard: <a href=\"https://www.wireguard.com\" target=\"_blank\">https://www.wireguard.com</a></li>\r\n<li>boringtun: <a href=\"https://github.com/cloudflare/boringtun\" target=\"_blank\">https://github.com/cloudflare/boringtun</a></li>\r\n<li>DistroWatch: <a href=\"https://distrowatch.com\" target=\"_blank\">https://distrowatch.com</a></li>\r\n</ul>',384,111,0,'CC-BY-SA','IT Security, stick insects, Rainbow Escorts, Grumpy Old Coders',0,0,1),
(3183,'2020-10-14','Don\'t trust zipfiles',277,'Zipfiles can contain all kinds of evilness and unpacking them can lead to unexpected results','<p>This show explains the concept of injecting symbolic links into zipfiles and how those can be used to attack a web application.</p>',387,74,0,'CC-BY-SA','pentesting,security,hacking,zip',0,0,1),
(3186,'2020-10-19','A light bulb moment, part 2',450,'The history of lighting','<p><u><strong>A very brief history of lighting </strong></u></p>\r\n<p>Natural light first came from fire</p>\r\n<p>Then using oil and fat with a wick</p>\r\n<p>Early candles used animal fat this smelled awful and tended to spit</p>\r\n<p>Some parts of world used whole animals as candles</p>\r\n<p>These early candles gave so little light that people generally just went to bed at sunset</p>\r\n<p>Electric lighting started first by Humphry Davy in the early 1800’s using an arc, this was developed into commercial lighting in the 1840s</p>\r\n<p>Arc lighting needed a complex mechanism to gradually push the contacts together as they burnt away</p>\r\n<p>Gas lighting started around the 1850s this was improved in the 1870 with the advent of the Gas mantel.</p>\r\n<p>Thomas Edison develop the electric light bulb in 1879 using a carbon filament. It took a great deal of effort to convince people to use it because gas lighting was so well established and worked well.</p>\r\n<p>Many houses in Britain didn\'t install electric lighting until the 1930s</p>\r\n<p>Finally electricity won as it could be used for so many other things.</p>\r\n<p><u><strong>The tungsten filament bulb</strong></u></p>\r\n<p>The filament within the bulb is made up of a tungsten coiled coil wire. This is done because the more compactly a filament can be wound the less heat is lost to the surroundings and the brighter the bulb will glow.</p>\r\n<p><u><strong>The tungsten halogen bulb</strong></u></p>\r\n<p>The next progression was tungsten halogen bulb, these bulbs are more efficient and give out twice as much light as ordinary bulbs and usually last twice as long.</p>\r\n<p>All filament lights waste a lot of energy producing heat. An ordinary light bulb only gives out 10% of its energy as light, the rest is wasted as heat.</p>\r\n<p><u><strong>Fluorescent neon lights</strong></u></p>\r\n<p>Fluorescent neon lights were invented in 1905 by a French man called George Claude. These were used for advertising mainly in America.</p>\r\n<p><u><strong>Fluorescent strip light</strong></u></p>\r\n<p>The first fluorescent light was introduced in 1939 it uses the same principle as the neon light but incorporates a filament at both ends. It is filled with argon and mercury vapour. It mainly gives off ultra violet light the tube is coated on the inside with chemicals to convert the output to mostly visible light using a property called fluorescence.</p>\r\n<p>Fluorescent tubes are four times as efficient as normal incandescent light bulbs and run cool.</p>\r\n<p>The first energy efficient light bulbs were just fluorescent lights folded into a compact bulb shape.</p>\r\n<p><u><strong>Sodium lights</strong></u></p>\r\n<p>Sodium lights used mainly in street lighting are twice as efficient again as fluorescent bulbs they give off a rather horrible orange colour.</p>\r\n<p>The first commercial high-pressure sodium lamps were available in 1965 from companies in the United States, the United Kingdom, and the Netherlands; at introduction a 400 watt lamp would produce around 100 lumens per watt <a href=\"https://en.wikipedia.org/wiki/Sodium-vapor_lamp\" class=\"uri\">https://en.wikipedia.org/wiki/Sodium-vapor_lamp</a></p>\r\n<p>The next big development was LED lighting which I\'ll cover in my next episode.</p>\r\n',201,0,0,'CC-BY-SA','Hardware, electrical',0,0,1),
(3187,'2020-10-20','Ansible for Dynamic Host Configuration Protocol',518,'How I use ansible to configure my OpenBSD router','<h1 id=\"ansible-dhcpd-and-dns\">Ansible DHCPD and DNS</h1>\r\n<h2 id=\"using-ansible-to-configure-dhcpd-and-nds-on-openbsd\">Using Ansible to configure DHCPD and NDS on OpenBSD</h2>\r\n<ul>\r\n<li>Host data is stored in csv files</li>\r\n<li>Ansible templates to create config files</li>\r\n<li>Restart services</li>\r\n</ul>\r\n<h2 id=\"hostname-setup.yml\">hostname-setup.yml</h2>\r\n<pre><code>---\r\n- hosts: localhost\r\n  tasks:\r\n  - name: read subnet 10\r\n    read_csv:\r\n      path: 10.csv\r\n      fieldnames: mac,ip,hostname\r\n    register: subnet_10\r\n  - name: read subnet 11\r\n    read_csv:\r\n      path: 11.csv\r\n      fieldnames: mac,ip,hostname\r\n    register: subnet_11\r\n  - name: read static\r\n    read_csv:\r\n      path: static.csv\r\n      fieldnames: hostname,ip\r\n    register: static_ip\r\n\r\n  - name: write dhcp file\r\n    template:\r\n      src: dhcpd.conf.j2\r\n      dest: /etc/dhcpd.conf\r\n      validate: dhcpd -nc %s\r\n  - name: write local.lan zone file\r\n    template:\r\n      src: local.lan.zone.j2\r\n      dest: /var/nsd/zones/master/local.lan\r\n      owner: root\r\n      group: _nsd\r\n      validate: nsd-checkzone local.lan %s\r\n  - name: nsd_conf\r\n    copy:\r\n      src: nsd.conf\r\n      dest: /var/nsd/etc/nsd.conf\r\n      owner: root\r\n      group: _nsd\r\n      validate: nsd-checkconf %s\r\n  - name: restart nsd\r\n    service:\r\n      name: nsd\r\n      state: restarted\r\n  - name: restart dhcpd\r\n    service:\r\n      name: dhcpd\r\n      state: restarted\r\n  - name: restart unbound\r\n    service:\r\n      name: unbound\r\n      state: restarted</code></pre>\r\n<h2 id=\"csv\">10.csv</h2>\r\n<pre><code>b8:27:eb:8b:7a:6d,192.168.10.100,pi3a\r\nb8:27:eb:ef:f2:d4,192.168.10.101,pi3b\r\n28:10:7b:25:d5:60,192.168.10.79,ipcam3\r\n28:10:7b:0c:fa:7b,192.168.10.80,ipcam1\r\nf0:7d:68:0b:ca:56,192.168.10.81,ipcam2</code></pre>\r\n<h2 id=\"static.csv\">static.csv</h2>\r\n<pre><code>tplink,192.168.10.2\r\ngate,192.168.10.10\r\nwww,192.168.10.10\r\nfox,192.168.10.17</code></pre>\r\n<h2 id=\"dhcpd.conf.j2\">dhcpd.conf.j2</h2>\r\n<pre><code>option  domain-name &quot;local.lan&quot;;\r\noption  domain-name-servers 192.168.10.10;\r\n\r\nsubnet 192.168.10.0 netmask 255.255.255.0 {\r\n        option routers 192.168.10.10;\r\n        range 192.168.10.161 192.168.10.179;\r\n        {% for host in subnet_10.list %}\r\n        host static-client { hardware ethernet {{ host.mac }};fixed-address {{ host.ip }};} #{{ host.hostname }}\r\n        {% endfor %}\r\n}\r\n\r\nsubnet 192.168.11.0 netmask 255.255.255.0 {\r\n    option routers 192.168.11.10;\r\n    range 192.168.11.72 192.168.11.127;\r\n{% for host in subnet_11.list %}\r\nhost static-client { hardware ethernet {{ host.mac }};fixed-address {{ host.ip }};} #{{ host.hostname }}\r\n{% endfor %}\r\n}\r\n</code></pre>\r\n<h3 id=\"rendered-dhcp-entires\">Rendered DHCP entires</h3>\r\n<pre><code>host static-client { hardware ethernet b8:27:eb:de:2f:38;fixed-address 192.168.10.45;} #pi3a\r\nhost static-client { hardware ethernet 28:10:7b:25:d5:60;fixed-address 192.168.10.79;} #ipcam3\r\nhost static-client { hardware ethernet 28:10:7b:0c:fa:7b;fixed-address 192.168.10.80;} #ipcam1\r\n</code></pre>\r\n<h2 id=\"local.lan.zone.j2\">local.lan.zone.j2</h2>\r\n<pre><code>$TTL 3600\r\nlocal.lan. IN     SOA    a.root-servers.net. root. (\r\n                2016092901  ; Serial\r\n                3H          ; refresh after 3 hours\r\n                1H          ; retry after 1 hour\r\n                1W          ; expire after 1 week\r\n                1D)         ; minimum TTL of 1 day\r\n\r\nIN  NS  gate.\r\n\r\nIN  MX  50 gate.local.lan.\r\n\r\nlocal.lan.      IN A    192.168.10.10\r\n\r\n{% for host in static_ip.list%}\r\n{{ host.hostname }} IN A {{ host.ip }}\r\n{% endfor %}\r\n\r\n{% for host in subnet_10.list%}\r\n{{ host.hostname }} IN A {{ host.ip }}\r\n{% endfor %}\r\n\r\n{% for host in subnet_11.list%}\r\n{{ host.hostname }} IN A {{ host.ip }}\r\n{% endfor %}\r\n</code></pre>\r\n<h3 id=\"rendered-a-records\">Rendered A records</h3>\r\n<pre><code>pi3b IN A 192.168.10.101\r\npi3a IN A 192.168.10.45\r\nipcam3 IN A 192.168.10.79\r\nipcam1 IN A 192.168.10.80</code></pre>\r\n<h2 id=\"run-the-playbook\">Run the playbook</h2>\r\n<pre><code>ansible-playbook hostname-setup.yml</code></pre>\r\n',342,0,0,'CC-BY-SA','ansible, dhcp,  dns, openbsd',0,0,1),
(3191,'2020-10-26','Swedish Corona Experience',969,'I will cover my experience of the Corona virus','<p>Swedish Health Authority Recommendation</p>\r\n<ul>\r\n<li>If sick stay at home.</li>\r\n<li>If you have symptoms take a test.</li>\r\n<li>Wash at least 20 seconds use alcohol with atleast 60% alcohol content.</li>\r\n<li>Don\'t touch your face with unwashed hands.</li>\r\n<li>Keep distance arm length (or 2m).</li>\r\n<li>Don\'t gather in large companies.</li>\r\n<li>Avoid public transport, try walking or biking when possible.\r\n<ul>\r\n<li>If required go with public transport book a ticket or go when others don\'t.</li>\r\n</ul></li>\r\n<li>If possible work from home.</li>\r\n</ul>\r\n<p><a href=\"https://www.folkhalsomyndigheten.se/smittskydd-beredskap/utbrott/aktuella-utbrott/covid-19/\" class=\"uri\">https://www.folkhalsomyndigheten.se/smittskydd-beredskap/utbrott/aktuella-utbrott/covid-19/</a></p>\r\n',382,100,0,'CC-BY-SA','corona, sweden',0,0,1),
(3280,'2021-02-26','What We Need For the ActivityPub Network',1026,'This keynote address looks at where federated social media can go if we make it work. ','<p>Federated social media can open up some wonderful possibilities but we need to make it happen. In this opening keynote address Evan Prodromou, who arguably started it all off, shows that he has thought long and deeply about this, and gives us his vision for where we can take it. <a href=\"https://www.zwilnik.com/better-social-media/activitypub-conference-2020/activitypub-2020-evan-prodromou/\" class=\"uri\">https://www.zwilnik.com/better-social-media/activitypub-conference-2020/activitypub-2020-evan-prodromou/</a></p>\r\n<h2 id=\"links\">Links:</h2>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Evan_Prodromou\" class=\"uri\">https://en.wikipedia.org/wiki/Evan_Prodromou</a></li>\r\n<li><a href=\"https://www.w3.org/community/fedsocweb/\" class=\"uri\">https://www.w3.org/community/fedsocweb/</a></li>\r\n<li><a href=\"https://www.w3.org/wiki/Socialwg\" class=\"uri\">https://www.w3.org/wiki/Socialwg</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/ActivityPub\" class=\"uri\">https://en.wikipedia.org/wiki/ActivityPub</a></li>\r\n<li><a href=\"https://conf.tube/videos/watch/c79457a9-aae5-47dd-8731-617e6b09fe06\" class=\"uri\">https://conf.tube/videos/watch/c79457a9-aae5-47dd-8731-617e6b09fe06</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Yo_(app)\" class=\"uri\">https://en.wikipedia.org/wiki/Yo_(app)</a></li>\r\n<li><a href=\"https://www.zwilnik.com/better-social-media/activitypub-conference-2020/activitypub-2020-evan-prodromou/\" class=\"uri\">https://www.zwilnik.com/better-social-media/activitypub-conference-2020/activitypub-2020-evan-prodromou/</a></li>\r\n</ul>',198,108,0,'CC-BY-SA','social media, alternative, Fediverse, ActivityPub',0,0,1),
(3194,'2020-10-29','Linux Inlaws S01E16: The count and the questions',4061,'Linux Inlaws S01E16: This is Linux Inlaws, a series on free and open source software, black humour a','<ul>\r\n<li>Halloween: <a href=\"https://en.wikipedia.org/wiki/Halloween\" target=\"_blank\">https://en.wikipedia.org/wiki/Halloween</a></li>\r\n<li>Ancient vampire folklore: <a href=\"https://en.wikipedia.org/wiki/Vampire_folklore_by_region#Mesopotamia\" target=\"_blank\">https://en.wikipedia.org/wiki/Vampire_folklore_by_region#Mesopotamia</a></li>\r\n<li>Blade franchise: <a href=\"https://en.wikipedia.org/wiki/Blade_(franchise)\" target=\"_blank\">https://en.wikipedia.org/wiki/Blade_(franchise)</a></li>\r\n<li>Judas history: <a href=\"https://authorlyngibson.wordpress.com/2013/08/05/the-legend-of-judas-iscariot-vampire\" target=\"_blank\">https://authorlyngibson.wordpress.com/2013/08/05/the-legend-of-judas-iscariot-vampire</a></li>\r\n<li>Vulcans &amp; Romulans: <a href=\"https://memory-alpha.fandom.com/wiki/Vulcan-Romulan_history\" target=\"_blank\">https://memory-alpha.fandom.com/wiki/Vulcan-Romulan_history</a></li>\r\n<li>The Fly: <a href=\"https://www.imdb.com/title/tt0091064\" target=\"_blank\">https://www.imdb.com/title/tt0091064</a></li>\r\n<li>PETA: <a href=\"https://www.peta.org\" target=\"_blank\">https://www.peta.org</a></li>\r\n<li>Oracle vs. Google: <a href=\"https://techcrunch.com/2020/10/06/standing-by-developers-through-google-v-oracle\" target=\"_blank\">https://techcrunch.com/2020/10/06/standing-by-developers-through-google-v-oracle</a></li>\r\n</ul>',384,111,1,'CC-BY-SA','Count, questions, vlad, legends, Halloween',0,0,1),
(3192,'2020-10-27','A light bulb moment, part 3',777,'The LED revolution','<p><strong><u>LED History</u></strong></p>\r\n<p>The history of the LED revolution is both long and complex but I\'ll do my best to cover it. Please forgive me if I mispronounce some of the materials and processes I\'m not a lighting expert as I stated right back at the beginning of this series.</p>\r\n<p>The following excerpts are from Wikipedia; the link will be in the show notes, <a href=\"https://en.wikipedia.org/wiki/Light-emitting_diode\">https://en.wikipedia.org/wiki/Light-emitting_diode</a></p>\r\n<p>The LED or Light Emitting Diode first appeared as a practical electronic component in 1962, the earliest LEDs emitted low-intensity infrared light.[7] Infrared LEDs are used in remote-control circuits, such as those used with a wide variety of consumer electronics. The first visible-light LEDs were of low intensity and limited to red. Modern LEDs are available across the visible, ultraviolet, and infrared wavelengths, with high light output. A great deal of development and refinement was required to get to this point.</p>\r\n<p>The first commercial visible-wavelength LEDs were commonly used as replacements for incandescent and neon indicator lamps, and in seven-segment displays,[31] first in expensive equipment such as laboratory and electronics test equipment, then later in such appliances as calculators, TVs, radios, telephones, as well as watches (see list of signal uses). Until 1968, visible and infrared LEDs were extremely costly, in the order of US$200 per unit, and so had little practical use.[32]</p>\r\n<p>In 1968 Monsanto was the first organization to mass-produce visible LEDs, these were red LEDs suitable for indicators.[32]</p>\r\n<p>In February 1969, Hewlett-Packard introduced the HP Model 5082-7000 Numeric Indicator, the first LED device to use integrated circuit (integrated LED circuit) technology.[33] It was the first intelligent LED display, and was a revolution in digital display technology, replacing the Nixie tube and becoming the basis for later LED displays.[36]</p>\r\n<p>The early red LEDs were bright enough only for use as indicators, as the light output was not enough to illuminate an area. Readouts in calculators were so small that plastic lenses were built over each digit to make them legible. Later, other colors became widely available and appeared in appliances and equipment.</p>\r\n<p>The first blue-violet LED using magnesium-doped gallium nitride was made at Stanford University in 1972 by Herb Maruska and Wally Rhines</p>\r\n<p>In 1973 Pankove and Ed Miller demonstrated the first blue electroluminescence from zinc-doped gallium nitride, though the subsequent device Pankove and Miller built, the first actual gallium nitride light-emitting diode, emitted green light.[49][50]</p>\r\n<p>Today, magnesium-doping of gallium nitride remains the basis for all commercial blue LEDs and laser diodes. In the early 1970s, these devices were too dim for practical use, and research into gallium nitride devices slowed.</p>\r\n<p>In 1993, high-brightness blue LEDs were demonstrated by Shuji Nakamura of Nichia Corporation using a gallium nitride growth process.[56][57][58] In parallel, Isamu Akasaki and Hiroshi Amano in Nagoya were working on developing the important GaN deposition on sapphire substrates and the demonstration of p-type doping of GaN. This new development revolutionized LED lighting, making high-power blue light sources practical, leading to the development of technologies like Blu-ray[citation needed].</p>\r\n<p>In 1995, Alberto Barbieri at the Cardiff University Laboratory (GB) investigated the efficiency and reliability of high-brightness LEDs and demonstrated a \"transparent contact\" LED using indium tin oxide (ITO) on (AlGaInP/GaAs).</p>\r\n<p>In 2001[62] and 2002,[63] processes for growing gallium nitride (GaN) LEDs on silicon were successfully demonstrated.</p>\r\n<p>In January 2012, Osram demonstrated high-power InGaN LEDs grown on silicon substrates commercially,[64] and GaN-on-silicon LEDs are in production at Plessey Semiconductors.</p>\r\n<p><strong><u>White LEDs and the illumination breakthrough</u></strong></p>\r\n<p>Even though white light can be created using individual red, green and blue LEDs, this results in poor color rendering, since only three narrow bands of wavelengths of light are being emitted. The attainment of high efficiency blue LEDs was quickly followed by the development of the first white LED. In this device a cerium doped phosphor coating produces yellow light through fluorescence. The combination of that yellow with remaining blue light appears white to the eye. Using different phosphors produces green and red light through fluorescence. The resulting mixture of red, green and blue is perceived as white light, with improved color rendering compared to wavelengths from the blue LED/YAG phosphor combination.</p>\r\n<p>The first white LEDs were expensive and inefficient. However, the light output of LEDs has increased exponentially. The latest research and development has been propagated by Japanese manufacturers such as Panasonic, and Nichia, and by Korean and Chinese manufacturers such as Samsung, Kingsun, and others. This trend in increased output has been called Haitz\'s law after Dr. Roland Haitz.[79]</p>\r\n<p><em>Figure 1</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3192/img_001.png\" alt=\"Figure 1\" /><br />\r\n<em>Illustration of Haitz\'s law, showing improvement in light output per LED over time, with a logarithmic scale on the vertical axis</em></p>\r\n<p>Light output and efficiency of blue and near-ultraviolet LEDs rose and the cost of reliable devices fell. This led to relatively high-power white-light LEDs for illumination, which are replacing incandescent and fluorescent lighting.[80][81]</p>\r\n<p>Experimental white LEDs have been demonstrated to produce 303 lumens per watt of electricity (lm/w); some can last up to 100,000 hours.[82][83] However, commercially available LEDs have an efficiency of up to 223 lm/w.[84][85][86]</p>\r\n<p>Below are some comparisons for incandescent bulbs</p>\r\n<p><u><strong>Some figures I found online from Wikipedia</strong></u></p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Incandescent_light_bulb\">https://en.wikipedia.org/wiki/Incandescent_light_bulb</a></p>\r\n<p>(Example figure for Standard Incandescent bulb only 12.6 lm / W)</p>\r\n<p>(Example figures for Halogen bulb being 24 lm / W)</p>\r\n<p>With LEDs continuing to get cheaper and even though for now they cost more than traditional bulbs, having this huge increase in electrical efficiency means the overall cost is significantly cheaper than that of incandescent bulbs.[87]</p>\r\n<p>While indicator LEDs are known for their extremely long life, up to 100,000 hours, lighting LEDs are operated much less conservatively, and consequently have shorter lives. LED technology is useful for lighting designers, because of its low power consumption, low heat generation, instantaneous on/off control, and in the case of single color LEDs, continuity of color throughout the life of the diode and relatively low cost of manufacture. LED lifetime depends strongly on the temperature of the diode. Operating an LED lamp in conditions that increase the internal temperature can greatly shorten the lamp\'s life.</p>\r\n<p>I now use LED lighting in my own home particularly in the areas where lighting is on for extended periods such as in the living room.</p>\r\n<p>As you can see we have come an extremely long way in a relatively short space of time with advancements continuing to accelerate.</p>\r\n<p>It\'s hard to appreciate the massive impact electric lighting has had on the world.</p>\r\n<p>It\'s even harder to imagine living in a time not that long ago where an expensive candle producing a puny amount illumination was the only source of light, with the added not inconsiderable fire risk of having a naked flame sharing a room with combustible materials.</p>\r\n<p>With all these deterrents it\'s little wonder that people just went to bed when the sun went down.</p>\r\n',201,0,1,'CC-BY-SA','Electrical, Hacks',0,0,1),
(3188,'2020-10-21','Thrift store quick fix',67,'Fixing up a dog coat for the cool weather.','<h3 id=\"thrift-store-quick-fix-for-a-dog-coat.\">Thrift store quick fix for a dog coat.</h3>\r\n<ol type=\"1\">\r\n<li>Ripped out stitches on defective velcro.</li>\r\n</ol>\r\n<p><small><em>Picture 1</em></small><br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3188/img_001.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3188/img_001_thumbnail.jpg\" alt=\"Picture 1\" /></a></p>\r\n<ol start=\"2\" type=\"1\">\r\n<li>Re-stitched with the flat surface facing up.</li>\r\n</ol>\r\n<p><small><em>Picture 2</em></small><br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3188/img_002.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3188/img_002_thumbnail.jpg\" alt=\"Picture 2\" /></a></p>\r\n<p><small><em>Picture 3</em></small><br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3188/img_003.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3188/img_003_thumbnail.jpg\" alt=\"Picture 3\" /></a></p>\r\n<ol start=\"3\" type=\"1\">\r\n<li>Hot-glued replacement velcro.</li>\r\n</ol>\r\n<p><small><em>Picture 4</em></small><br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3188/img_004.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3188/img_004_thumbnail.jpg\" alt=\"Picture 4\" /></a></p>\r\n<ol start=\"4\" type=\"1\">\r\n<li>Profit</li>\r\n</ol>\r\n<p><small><em>Picture 5</em></small><br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr3188/img_005.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3188/img_005_thumbnail.jpg\" alt=\"Picture 5\" /></a></p>\r\n',318,0,0,'CC-BY-SA','sewing',0,0,1),
(3189,'2020-10-22','How the Dutch dig Graves',163,'Ken explains how they dig graves when the ground is essentially sand','<p>\r\nOn a lock down walk in the local grave yard, Ken and his Wife stumble upon a new grave. As the soil is mostly sand, the graves need to be shored up to prevent collapse.\r\n</p>\r\n<p>\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3189/1.jpg\" />\r\n</p>\r\n<p>\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3189/2.jpg\" />\r\n</p>\r\n<p>\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3189/3.jpg\" />\r\n</p>',30,0,1,'CC-BY-SA','graves, sand, How Holland Works, Dutch, Netherlands',0,0,1),
(3193,'2020-10-28','Meet Antithesis',1946,'Meet my new computer, a Pinebook Pro, as I explain my rationale, unbox it, and set it up.','<p>In this episode Paul discusses his thoughts in ordering a Pinebook Pro. During the episode he does an unboxing, and then comes back after a week of use to let us know how it preforms in practice.<br />\r\n\r\nYou can get one yourself here: <a href=\"https://www.pine64.org/\" class=\"uri\">https://www.pine64.org/</a></p>\r\n',383,57,0,'CC-BY-SA','Pinebook,Pro,64,unboxing',0,0,1),
(3198,'2020-11-04','Income Life insurance and then Chopin',1381,'I talk about my thoughts on Income Life insurance, and then we listen to some Chopin','<p><code>@paul@cloud.pquirk.com</code></p>',383,0,0,'CC-BY-SA','Income,life,insurance,investment,investing,Chopin',0,0,1),
(3195,'2020-10-30','For your Consideration - the ideal Ham Radio setup',3470,'Introducing a new podcast to me, with a special guest with an interest in amateur radio.','<ol type=\"1\">\r\n<li><p>Host Noah Cheliah</p></li>\r\n<li><p>Plenty of Linux security and IP cameras talk</p></li>\r\n<li><p>Focus on Free Software and related news</p></li>\r\n<li><p>Noah brings on a guest, who describe his ideal Ham Radio setup, which includes use of Software Defined radio.</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Software-defined_radio\" class=\"uri\">https://en.wikipedia.org/wiki/Software-defined_radio</a></p></li>\r\n<li><p>Guest talking about Ham Radio starts at 00:25:42</p>\r\n<p><a href=\"https://podcast.asknoahshow.com/200\" class=\"uri\">https://podcast.asknoahshow.com/200</a></p></li>\r\n</ol>\r\n',318,75,0,'CC-BY-NC-ND','linux, security, amateur radio',0,0,1),
(3197,'2020-11-03','Pens, pencils, paper and ink - 3',1420,'Looking at another batch of writing equipment','<h2 id=\"introduction\">Introduction</h2>\r\n<p>This is the third in a short series about pens, pencils, writing paper and ink.</p>\r\n<p>In this episode I look at two Chinese fountain pens, a mechanical pencil, a gel pen, some inks and some paper.</p>\r\n<h2 id=\"long-notes\">Long notes</h2>\r\n<p>The <a href=\"https://hackerpublicradio.org/eps/hpr3197/full_shownotes.html\">main notes for this episode, including pictures, can be viewed here</a>.</p>\r\n<h2 id=\"links\">Links</h2>\r\n<ul>\r\n<li>Pen &amp; Pencil Brands:\r\n<ul>\r\n<li>Jinhao\r\n<ul>\r\n<li><a href=\"https://qiangu.bjsx12.host.35.com/en/indexen.asp\">Website</a></li>\r\n<li><a href=\"https://stationery.wiki/Jinhao\">Stationery Wiki</a></li>\r\n</ul></li>\r\n<li>Pentel\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Pentel\">Wikipedia page</a></li>\r\n</ul></li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Mechanical Pencil:\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Mechanical_pencil\">Wikipedia page</a></li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Inks:\r\n<ul>\r\n<li><a href=\"https://www.jherbin.com/index.html\">J.Herbin</a></li>\r\n<li><a href=\"https://www.jetpens.com/J.-Herbin-Bleu-Pervenche-Ink-Periwinkle-Blue-30-ml-Bottle/pd/3768\">Jet Pens, Bleu Pervenche Ink, 30ml</a></li>\r\n<li><a href=\"https://www.diamineinks.co.uk/\">Diamine Inks</a></li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>Paper:\r\n<ul>\r\n<li><a href=\"https://www.clairefontaine.com/\">Clairefontaine</a></li>\r\n<li>Oxford:\r\n<ul>\r\n<li><a href=\"https://www.my-oxford.com/gb-en/oxford-campus-notebooks/oxford-campus-refill-pads\">Oxford Campus Refills</a></li>\r\n<li><a href=\"https://www.my-oxford.com/int-en/oxford-black-n-red\">Oxford Black N’ Red</a></li>\r\n</ul></li>\r\n</ul></li>\r\n</ul>\r\n<ul>\r\n<li>HPR links:\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=1941\">hpr1941 :: What’s in my case</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2061\">hpr2061 :: Handwriting</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2273\">hpr2273 :: Fountain Pens</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=3063\">hpr3063 :: Pens, pencils, paper and ink - 1</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=3092\">hpr3092 :: Pens, pencils, paper and ink - 2</a></li>\r\n</ul></li>\r\n</ul>\r\n',225,112,1,'CC-BY-SA','fountain pen,gel pen,mechanical pencil,ink,paper',0,0,1),
(3201,'2020-11-09','A small intro to 3D printing',688,'Everything a newbie needs to know to start 3D printing','<ul>\r\n<li>My Ender 3 printer from Creality</li>\r\n<li>Cura, open source from Ultimaker, <a href=\"https://ultimaker.com/nl/software/ultimaker-cura\" class=\"uri\">https://ultimaker.com/nl/software/ultimaker-cura</a></li>\r\n<li>Octoprint, <a href=\"https://octoprint.org/\" class=\"uri\">https://octoprint.org/</a></li>\r\n</ul>',369,0,0,'CC-BY-SA','3D printing',0,0,1),
(3203,'2020-11-11','The Paul Quirk show: Retro Computing',1838,'I discuss the hobby of retro computing in this episode.','<p>Some links of interest for the listener:</p>\r\n<ul>\r\n<li>Amiga emulation: <a href=\"https://fs-uae.net/\" class=\"uri\">https://fs-uae.net/</a></li>\r\n<li>Commodore 8 bit emulation: <a href=\"https://vice-emu.sourceforge.io/\" class=\"uri\">https://vice-emu.sourceforge.io/</a></li>\r\n<li>Atari emulation: <a href=\"https://hatari.tuxfamily.org/\" class=\"uri\">https://hatari.tuxfamily.org/</a></li>\r\n<li>Apple II emulation: <a href=\"https://apple2games.com/wiki/Apple_2_Emulators\" class=\"uri\">https://apple2games.com/wiki/Apple_2_Emulators</a></li>\r\n<li>A site for the Color Computer: <a href=\"https://cocoquest.com/\" class=\"uri\">https://cocoquest.com/</a></li>\r\n</ul>',383,0,0,'CC-BY-SA','retro,computing,Paul Quirk show,Commodore 64,Commodore 128,Vic 20,Apple II,coco,8-bit,PET,Atari',0,0,1),
(3199,'2020-11-05','Bad Audio Weed Eater Bugs Sprinkler and Bubbles !',1516,'Pushing the definition of \"Audible\" to the limit, join us for some home repair tips','<p>\r\nJoin us for some home repairs, picking up tips and tricks on the way. Sorry for the bad audio.\r\n</p>\r\n<ul>\r\n<li>Bad Audio</li>\r\n<li>Weedeater Bugs</li>\r\n<li>Sprinkler</li>\r\n<li>Bubbles</li>\r\n</ul>',36,0,1,'CC-BY-SA','home improvement,home repair,outdoors,outside ',0,0,1),
(3202,'2020-11-10','A big Question',1118,'In his first show, Padraig asks a big life question. Well ok more like an undead question.','<p>\r\nIn his first show - recorded on Halloween night, Padraig asks a big life question. Well ok more like an undead question. Which is better a Lich, or a Vampire.\r\n</p>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Lich_(Dungeons_%26_Dragons)\">https://en.wikipedia.org/wiki/Lich_(Dungeons_%26_Dragons)</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Vampire_(Dungeons_%26_Dragons)\">https://en.wikipedia.org/wiki/Vampire_(Dungeons_%26_Dragons)</a></li>\r\n</ul>',388,95,0,'CC-BY-SA','DND, Vampires, Lich, Undead, Halloween',0,0,1),
(3205,'2020-11-13','Backups of your Backups of Backups',3205,'Do you have backups of your backups? Well you better! Listen to this rant','This is a general discussion about backups and cloud storage. ',36,0,1,'CC-BY-SA','backups,cloud,spideroak,backup,cloud backup,cloud backups',0,0,1),
(3211,'2020-11-23','Chainsaws',1098,'Info about chainsaws and what I know so far!','In this episode operat0r shares his experiences with chainsaws.',36,0,1,'CC-BY-SA','outdoors,outdoor,outside,mechanic,small engine repair,repair,home,home repair,chainsaws',0,0,1),
(3214,'2020-11-26','Rant about websites',1880,'I go over history of websites and the complex nature of security in complex websites','<p>In this show I go over history of websites and the complex nature of security in complex websites</p>',36,0,1,'CC-BY-SA','internet,security,history,html',0,0,1),
(3225,'2020-12-11','Grill repair',1027,'I go over some grill tips/repair','<p>A few quick tips on how to extend the life of grills.</p>',36,0,1,'CC-BY-SA','outdoor,outdoors,repair,home repair,grills',0,0,1),
(3235,'2020-12-25','Soldering Tips',487,'What little I know about the topic you will learn','<p>\r\nA follow up show in the vein of <a href=\"https://hackerpublicradio.org/eps.php?id=3016\">hpr3016 :: Nixie tube clock and friends!</a>. Also be sure to remove batteries from electronics in storage.</p>',36,103,1,'CC-BY-SA','Solder,Soldering,Electronics',0,0,1),
(3245,'2021-01-08','ELECTRICITY',1843,'I talk about tips on ELECTRICITY','<p>An adhoc show in traffic, about how sockets and 3 way switches work.</p>',36,0,1,'CC-BY-SA','ELECTRICITY',0,0,1),
(3216,'2020-11-30','Buying a second home in France',952,'Steps I have taken up to now for buying a second home in another country','<p><a href=\"https://www.funda.nl/\">funda.nl</a></p>\r\n<ul>\r\n<li><p>Do geo query on <a href=\"https://overpass-turbo.eu/\">overpass-turbo.eu</a></p></li>\r\n<li><p>Find query to query villages here: <a href=\"https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example\" class=\"uri\">https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example</a></p></li>\r\n<li><p>The box on the right is the viewport that you will get data from.</p></li>\r\n<li><p>Used python to convert xml file to Postgres sql table</p></li>\r\n<li><p>Run query for all < my_max_inhabitants</p></li>\r\n<li><p>Run script to query and save to csv</p></li>\r\n<li><p>Import csv into LibreOffice spreadsheet.</p></li>\r\n<li><p>Use global search & replace to make cells with google maps url clickable.</p></li>\r\n<li><p>Nice podcast of French women about buying a house in France<br />\r\n<a href=\"https://joinusinfrance.com/episode/buying-a-house-in-france-episode-239/\" class=\"uri\">https://joinusinfrance.com/episode/buying-a-house-in-france-episode-239/</a></p></li>\r\n</ul>',369,0,0,'CC-BY-SA','second-house,france',0,0,1),
(3204,'2020-11-12','Getting Started in 3D Printing',960,'Thaj gives his opinions and recommendations on how to get started in 3D printing','<p>Getting started in 3D printing</p>\r\n<ul>\r\n<li><p><a href=\"https://top3dshop.com/blog/fff-vs-fdm-difference-and-best-printers\">The FFF vs. FDM Debate</a></p></li>\r\n<li><p><a href=\"https://www.creality.com/goods-detail/ender-3-3d-printer\">Creality Ender 3</a></p></li>\r\n<li><p><a href=\"https://www.reprap.org/wiki/RepRap\">Where to go once you decide you need another 3D printer</a></p></li>\r\n</ul>',270,0,1,'CC-BY-SA','3D Printing',0,0,1),
(3206,'2020-11-16','Dungeons and Dragons for the blind',3511,'I discuss some easy workarounds to make tabletop RPGs easy for both sighted and non-sighted players','<p>Dungeons and Dragons, and most tabletop roleplaying games, are ideal platforms for players with low or no vision. However, because most players are sighted, you have to work-around some assumptions made by the rulebooks.</p>\r\n\r\n<p>I &#91;currently&#93; have vision, but I have played with a blind player before, and I\'ve played as a Dungeon Master with no materials on hand. In this episode, I discuss some easy workarounds to make tabletop RPGs easy for both sighted and non-sighted players.\r\n</p>\r\n\r\n<p>There are audiobook versions of the rule books available at <a href=\"https://listenrpg.com\">https://listenrpg.com</a>.</p>\r\n\r\n<p>The official D&amp;D digital platform is <a href=\"https://www.dndbeyond.com/\" target=\"_blank\">dndbeyond.com</a>, and it is accessible to blind players using a screen reader.</p>\r\n\r\n<p>Wizards of the Coast publishes the basic rules under the <a href=\"https://www.opengamingfoundation.org/licenses.html\" target=\"_blank\">Open Game License (OGL)</a>. As a service to my players, I maintain <a href=\"https://notabug.org/notklaatu/5srdnd.git\">a version of this document in plain text, with third-party OGL additions</a>. It may or may not be useful for screen readers, depending on your workflow.</p>',78,95,0,'CC-BY-SA','dnd,blind,inclusive,5e,tabletop,rpg',0,0,1),
(3217,'2020-12-01','Sump Minion',1106,'My first Internet of Things device, without using python','\r\n<p>1 <b>introduction</b></p>\r\n<p>1.1 back in Ohio using my regular voice<br />\r\n1.2 espeak is no worse than operat0rs audio and we all love his shows.</p>\r\n<p>2 <b>the problem</b></p>\r\n<p>2.1 where i live the water table is high and basement flooding is a problem <a href=\"https://en.wikipedia.org/wiki/Great_Black_Swamp\" class=\"uri\">https://en.wikipedia.org/wiki/Great_Black_Swamp</a><br />\r\n2.2 to counteract the water table problem houses have sumps in the basement</p>\r\n<p><em>sump closet</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3217/img_001.jpg\" alt=\"sump closet\" /></p>\r\n<p><em>sump close up</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3217/img_002.jpg\" alt=\"sump close up\" /></p>\r\n<p>2.2.1 sumps consist of a basin where outside water is collected<br />\r\n2.2.2 a pump, usually electric, that drains the sump<br />\r\n2.2.3 also a good sump system will have some type of backup pump</p>\r\n<p>2.3 the \'real\' problem happens when the sump pump(s) fail<br />\r\n2.3.1 primary pumps fail in many ways, mechanical motor failures, floats sticking electrical outage<br />\r\n2.3.2 secondary pumps also fail battery problems, mechanical problems<br />\r\n2.3.3 i wanted a notification system that would let me know that the water level in my sump was rising. i wanted it set so that if the water level hits where the secondary system kicks in i would get some ind of notification. i wanted a system that would not use python or some kind of \'home spy\' system available from some friendly corporation.</p>\r\n<p>3 <b>the solution</b></p>\r\n<p>3.1 a raspberrry pi, a simple transistor circuit, a c library that allows access to the pi\'s gpio\'s, mutt mail client, some bash scripting and a cron job</p>\r\n<p>\r\nThe probe is meerly 2 wires on the end of a pvc pipe. one wire is higher up on the pipe than the other when both wires are submerged, the circuit is complete. the wires are just some old stuff from a stripped out ethernet cable. you could easily cascade anumber of these circuits and provide a water level meter something like this,<br />\r\n\r\n<img src=\"https://www.homemade-circuits.com/wp-content/uploads/2019/06/water-level.jpg\" alt=\"water level meter\" /><br />\r\n, instead of running leds, you\'d hook each end to a gpio pin on the pie.\r\n</p>\r\n<p>\r\nIn picture 2, the closeup you can see the probe its the small pvc pipe with the blue wires running along the side. I attached the end of the wires to the pipe by stripping the ends and wrapping them around a small 1/2\" self tapping screw. then I screwed one in towards the bottom and on higher up. the one higer up determines when the water alarm goes off. \r\n</p>\r\n\r\n\r\n<p>4 <b>implementation</b></p>\r\n<p>4.1 raspberry pi 3b+<br />\r\n4.1.1 install slackware<br />\r\n<a href=\"https://sarpi.fatdog.eu/\" class=\"uri\">https://sarpi.fatdog.eu/</a><br />\r\nslackware-arm<br />\r\n<a href=\"https://arm.slackware.com/\" class=\"uri\">https://arm.slackware.com/</a><br />\r\npodcast<br />\r\n<a href=\"https://shows.acast.com/slackchat\" class=\"uri\">https://shows.acast.com/slackchat</a><br />\r\n4.1.2 access to gpio\'s<br />\r\n4.1.2.1 initially sysfs, its deprecated<br />\r\n<a href=\"https://www.kernel.org/doc/Documentation/ABI/obsolete/sysfs-gpio\" class=\"uri\">https://www.kernel.org/doc/Documentation/ABI/obsolete/sysfs-gpio</a><br />\r\n4.1.2.2 i was unable to get libgpio to compile<br />\r\n4.1.2.3 other solutions python. wiringpi, project dead<br />\r\n4.1.2.4 a library pigpiod<br />\r\n<a href=\"https://abyz.me.uk/rpi/pigpio/pigpiod.html\" class=\"uri\">https://abyz.me.uk/rpi/pigpio/pigpiod.html</a><br />\r\n4.1.2.5 slackbuilds pigpiod<br />\r\n<a href=\"https://slackbuilds.org/\" class=\"uri\">https://slackbuilds.org/</a><br />\r\n4.1.3 the circuit<br />\r\n4.1.3.1 a rework of a forrest mims water alarm circuit<br />\r\n<a href=\"https://en.wikipedia.org/wiki/Forrest_Mims\" class=\"uri\">https://en.wikipedia.org/wiki/Forrest_Mims</a></p>\r\n<p><em>circuit diagram</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3217/img_003.jpg\" alt=\"circuit diagram\" /></p>\r\n<p>4.1.4 mutt<br />\r\n<a href=\"https://smalldata.tech/blog/2016/09/10/gmail-with-mutt\" class=\"uri\">https://smalldata.tech/blog/2016/09/10/gmail-with-mutt</a><br />\r\n4.1.5 email to text<br />\r\n<a href=\"https://20somethingfinance.com/how-to-send-text-messages-sms-via-email-for-free/\" class=\"uri\">https://20somethingfinance.com/how-to-send-text-messages-sms-via-email-for-free/</a><br />\r\n4.1.6 the script<br />\r\n</p>\r\n<pre><code>#!/bin/bash\r\n\r\nSENSOR=4\r\nRELAY=17\r\nINPUT=0\r\nOUTPUT=1\r\nON=1\r\nOFF=0\r\n\r\nADDRESS1=&lt;your-phone-number&gt;@vtext.com\r\n\r\n#if its 6am send system running sanity text\r\nif [ $(date | cut -c 12-16) == &quot;06:00&quot; ]; then\r\n\r\n#check to make sure daemon is running\r\nif [ &quot;$(pidof pigpiod)&quot; == &quot;&quot; ]; then\r\n   echo &quot;Something is wrong, pigpiod is not running.&quot; | mutt -s &quot;mutt message&quot; $ADDRESS1\r\n   else\r\n   #make sure pin 4 is input, pin 17 output\r\n   if [ &quot;$(pigs modeg $SENSOR)&quot; = $OUTPUT ]; then\r\n      pigs modes $SENSOR R\r\n   fi\r\n   if [ &quot;$(pigs modeg $RELAY)&quot; = $INPUT ]; then\r\n      pigs modes $RELAY W\r\n   fi\r\n      echo &quot;System running.&quot; | mutt -s &quot;mutt message&quot; $ADDRESS1\r\n   fi\r\nfi\r\n\r\n#if its the first wednesday of the month, run a system test\r\nif [ $(date | cut -c 1-3) `= &quot;Wed&quot; ] &amp;&amp; [ $(date | cut -c 12-16) =&#39; &quot;12:00&quot; ] &amp;&amp; [ $(date | cut -c 9-10) -lt &quot;8&quot; ]; then\r\n   echo &quot;Monthly Test.&quot; | mutt -s &quot;mutt message&quot; $ADDRESS1\r\n   pigs w $RELAY $ON\r\n   sleep 1\r\n\r\n   if [ $(pigs r $SENSOR) = 0 ]; then\r\n     echo &quot;Test Passed!&quot; | mutt -s &quot;mutt message&quot; $ADDRESS1\r\n   else\r\n     echo &quot;Something is wrong!&quot; | mutt -s &quot;mutt message&quot; $ADDRESS1\r\n   fi\r\nfi\r\n\r\n#check to see if water is rising, has the reading on pin 4 been driven low?\r\nif [ $(pigs r $SENSOR) = 0 ]; then\r\n   echo &quot;Alert! The water is rising!&quot; | mutt -s &quot;mutt message&quot; $ADDRESS1\r\nfi</code></pre>\r\n<p><em>testing on breadboard</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3217/img_004.jpg\" alt=\"testing on breadboard\" /></p>\r\n<p><em>strip board</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3217/img_005.jpg\" alt=\"strip board\" /></p>\r\n<p><em>final installation</em><br />\r\n<img src=\"https://hackerpublicradio.org/eps/hpr3217/img_006.jpg\" alt=\"final installation\" /></p>\r\n<p>5 <b>conclusion</b></p>\r\n<p>5.1 fun project, shows the power of linux and floss and hope it inspires you</p>\r\n',326,103,0,'CC-BY-SA','raspberry pi, slackware',0,0,1),
(3226,'2020-12-14','Using taskwarrior to structurize your work',970,'How using taskwarrior can help you to structure your work','<ul>\r\n<li><a href=\"https://taskwarrior.org/\">taskwarrior.org</a>\r\n<ul>\r\n<li>Taskwarrior is Free and Open Source Software that manages your TODO list from the command line. It is flexible, fast, and unobtrusive. It does its job then gets out of your way.</li>\r\n</ul></li>\r\n</ul>\r\n<!-- x -->\r\n<ul>\r\n<li><a href=\"https://timewarrior.net/\">timewarrior.net</a>\r\n<ul>\r\n<li>Timewarrior is Free and Open Source Software that tracks time from the command line.</li>\r\n</ul></li>\r\n</ul>\r\n<!-- x -->\r\n<ul>\r\n<li><a href=\"https://medium.com/@jrisch/tracking-time-with-taskwarrior-and-timewarrior-6759f3542276\">Article on the Medium website</a>\r\n<ul>\r\n<li><em>Tracking time on the command line with Taskwarrior and Timewarrior</em></li>\r\n</ul></li>\r\n</ul>',369,0,0,'CC-BY-SA','command-line,taskwarrior,timewarrior,todo-list',0,0,1),
(3215,'2020-11-27','Why I Gave Away a 3-D Printer',442,'I briefly had a 3-D printer and gave it away. This is why.','<p>Ken Fallon asked for shows abut 3-D printers and I told him I had given mine away. So of course he asked for a show about why I had done that. This is that show.</p>\r\n<ul>\r\n<li><a href=\"https://olfconference.org/\" class=\"uri\">https://olfconference.org/</a></li>\r\n<li><a href=\"https://2021.penguicon.org/\" class=\"uri\">https://2021.penguicon.org/</a></li>\r\n<li><a href=\"https://canonical.com/\" class=\"uri\">https://canonical.com/</a></li>\r\n<li><a href=\"https://www.vmware.com/\" class=\"uri\">https://www.vmware.com/</a></li>\r\n<li><a href=\"https://www.redhat.com/en/authors/joe-brockmeier\" class=\"uri\">https://www.redhat.com/en/authors/joe-brockmeier</a></li>\r\n<li><a href=\"https://enablingthefuture.org/\" class=\"uri\">https://enablingthefuture.org/</a></li>\r\n<li><a href=\"https://www.zwilnik.com/why-i-gave-away-a-3-d-printer/\" class=\"uri\">https://www.zwilnik.com/why-i-gave-away-a-3-d-printer/</a></li>\r\n</ul>',198,0,0,'CC-BY-SA','3D Printers, prosthetics',0,0,1),
(3209,'2020-11-19','Linux Inlaws S01E17: Nextcloud',4189,'Chat with Frank Karlitschek about Nextcloud and forking your company','<ul>\r\n<li>Nextcloud: <a href=\"https://nextcloud.com\" target=\"_blank\">https://nextcloud.com</a></li>\r\n<li>PHP: <a href=\"https://www.php.net\" target=\"_blank\">https://www.php.net</a></li>\r\n</ul>',384,111,1,'CC-BY-SA','Nextcloud, PHP, Golang, forking a company, technical debt',0,0,1),
(3207,'2020-11-17','Fireside chat with E Nigma',3799,'Ken talks to the original HPR and Today with a Techie Admin.','<p>In this rambling episode, we talk to <a href=\"https://hackerpublicradio.org/correspondents/0039.html\">Enigma</a> about the old days of HPR. He helped out with Today With A Techie and <a href=\"https://hackerpublicradio.org/correspondents/0001.html\">Droops</a> asked him if he would like lead the project. After 300 episodes he, <a href=\"https://www.urbandictionary.com/define.php?term=Dual_Parallel\">Dual Parallel</a>, <a href=\"https://hackerpublicradio.org/correspondents/0001.html\">Droops</a>, and  <a href=\"https://en.wikipedia.org/wiki/StankDawg\">StankDawg</a> decided to pivot and rebrand as Hacker Public Radio. A nod to <a href=\"https://en.wikipedia.org/wiki/NPR\">National Public Radio</a>.</p>\r\n\r\n<h3>Links</h3>\r\n<ul>\r\n<li><a href=\"https://oldskoolphreak.com/radio.html\">https://oldskoolphreak.com/radio.html</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/twat.html\">https://hackerpublicradio.org/twat.html</a></li>\r\n<li><a href=\"https://www.binrev.com/forums/\">https://www.binrev.com/forums/</a></li>\r\n<li><a href=\"https://lottalinuxlinks.com/\">https://lottalinuxlinks.com/</a></li>\r\n<li><a href=\"https://archive.org/details/Linux_Reality_Podcast_Archive_DVD\">https://archive.org/details/Linux_Reality_Podcast_Archive_DVD</a></li>\r\n<li><a href=\"https://archive.org/details/BRRseason1\">https://archive.org/details/BRRseason1</a></li>\r\n<li><a href=\"https://archive.org/details/BRRseason2\">https://archive.org/details/BRRseason2</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/correspondents/0039.html\">Enigma https://hackerpublicradio.org/correspondents/0039.html</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Digital_DawgPound\">https://en.wikipedia.org/wiki/Digital_DawgPound</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Infonomicon\">https://en.wikipedia.org/wiki/Infonomicon</a></li>\r\n<li><a href=\"https://www.urbandictionary.com/define.php?term=Dual_Parallel\">https://www.urbandictionary.com/define.php?term=Dual_Parallel</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/StankDawg\">https://en.wikipedia.org/wiki/StankDawg</a></li>\r\n</ul>',30,0,1,'CC-BY-SA','HPR, TWAT, DDP, Infonomicon, Binrev, RFA',0,0,1),
(3208,'2020-11-18','The Paul Quirk show: Wacom with Pinebook, and thoughts on the DMCA takedown',1120,'I got a Wacom tablet to use with my Pinebook, and then share my thoughts on the recent DMCA takedown','<ul>\r\n<li><p>My fediverse address: <span class=\"citation\" data-cites=\"paul\">@paul</span><span class=\"citation\" data-cites=\"cloud.pquirk.com\">@cloud.pquirk.com</span></p></li>\r\n<li><p>See my first Wacom doodle here: <a href=\"https://cloud.pquirk.com/index.php/s/CAnAwwD6S6AczC6\" class=\"uri\">https://cloud.pquirk.com/index.php/s/CAnAwwD6S6AczC6</a></p></li>\r\n<li><p><a href=\"https://en.wikipedia.org/wiki/Citizens_United_v._Federal_Election_Commission\" class=\"uri\">https://en.wikipedia.org/wiki/Citizens_United_v._Federal_Election_Commission</a></p></li>\r\n<li><p><a href=\"https://www.canlii.org/en/ca/scc/doc/2000/2000scc57/2000scc57.html\" class=\"uri\">https://www.canlii.org/en/ca/scc/doc/2000/2000scc57/2000scc57.html</a></p></li>\r\n</ul>',383,0,0,'CC-BY-SA','Pinebook,Pro,Wacom,tablet,DMCA,takedown,Youtube,Canadian,Canada,Music',0,0,1),
(3212,'2020-11-24','A Pi Model 3B as your daily driver? You must be joking.',755,'Beeza\'s laptop is away being fixed. Can he manage for a few days using just his Raspberry Pi 3B?','<p>My Dell laptop had to go away to have a new cooling fan fitted. I\'ve got 3 other laptops to call upon, but instead I decided to conduct an experiment I\'ve theorised about for ages. Could a Raspberry Pi 3B serve as my daily driver?</p>\r\n<p>This idea goes back some way and since then, of course, the much more powerful model 4 has been released. However, there must be thousands of 3Bs out there doing nothing, so perhaps they could have a new lease of life providing basic browsing and internet capabilities to people who might otherwise not be in a position to buy a computer.</p>\r\n<p>Hardware: Raspberry Pi Model 3B<br />\r\nOS: Raspberry Pi OS (current version as of 31st October 2020)<br />\r\nMicroSD: SanDisk 16GB</p>\r\n<p>ADDITIONAL SOFTWARE INSTALLED</p>\r\n<ul>\r\n<li>Audio Editor: mhWaveEdit 1.4.23</li>\r\n<li>Audio Format Converter: SoundConverter 2.1.3</li>\r\n<li>Image Editor: GIMP 2.10</li>\r\n</ul>\r\n',246,0,0,'CC-BY-SA','Raspberry Pi, Software Review',0,0,1),
(3213,'2020-11-25','Electrical Safety',1835,'I discuss why and how I stay safe when working with electricity, with some ear candy at the end.','<ul>\r\n<li>Circuit breaker failures:\r\n<ul>\r\n<li><a href=\"https://www.youtube.com/watch?v=0Xov-nXpBmM\" class=\"uri\">Breaker Panel Explosion</a></li>\r\n<li><a href=\"https://www.youtube.com/watch?v=PN7qtQVJXXM\" class=\"uri\">DB-25 Circuit Breaker Blows Up</a></li>\r\n</ul></li>\r\n<li>Electrical socket failures:\r\n<ul>\r\n<li><a href=\"https://www.youtube.com/watch?v=Kzv1Qn1pPpc\" class=\"uri\">Multiple socket outlet catching fire</a></li>\r\n<li><a href=\"https://www.youtube.com/watch?v=nPhgQpRFe5A\" class=\"uri\">Loose wires cause fires.</a></li>\r\n</ul></li>\r\n</ul>\r\n<p>Please be safe!</p>',383,0,0,'CC-BY-SA','Electrical,safety,code,electricity,electrocution',0,0,1),
(3218,'2020-12-02','An introduction to Darktable',1574,'A brief introduction to RAW photography, the Darktable application, and then sheep may safely graze','<ul>\r\n<li><a href=\"https://darktable.org/\" class=\"uri\">https://darktable.org/</a></li>\r\n<li><a href=\"https://musopen.org/music/3446-the-lively-hunt-is-all-my-hearts-desire-bwv-208/\" class=\"uri\">https://musopen.org/music/3446-the-lively-hunt-is-all-my-hearts-desire-bwv-208/</a></li>\r\n</ul>\r\n<pre><code>@paul@cloud.pquirk.com\r\n@quirk@mastodon.social</code></pre>',383,0,0,'CC-BY-SA','darktable,RAW,photo,photography,editing',0,0,1),
(3219,'2020-12-03','Linux Inlaws S01E18: Voice Recognition and Text to Speech',4603,'How to place fake prank calls into podcasts and what does TTS have to do with this','<p>\r\nIn this episode, Chris is harassed by quite a few artificial nuisance callers, among\r\ndrug lords, Irish nurses and some random Linux Inlaws Chief Financial Officer. Based\r\non these examples, our two heroes discuss the history and current state of text-to-\r\nspeech (TTS) and voice recognition. We attempted to use voice recognition software in order\r\nto produce a <a href=\"https://linuxinlaws.eu/S01E18_trans.txt\" target=\"_blank\">transcript of the show</a>.\r\n</p>\r\n<br/>Shownotes:<br/>\r\n<ul>\r\n<li>Wavenet: <a href=\"https://deepmind.com/blog/article/wavenet-generative-model-raw-audio\" target=\"_blank\">https://deepmind.com/blog/article/wavenet-generative-model-raw-audio</a></li>\r\n<li>Tacotron: <a href=\"https://ai.googleblog.com/2017/12/tacotron-2-generating-human-like-speech.html\" target=\"_blank\">https://ai.googleblog.com/2017/12/tacotron-2-generating-human-like-speech.html</a></li>\r\n<li>DeepSpeech: <a href=\"https://github.com/mozilla/DeepSpeech\" target=\"_blank\">https://github.com/mozilla/DeepSpeech</a></li>\r\n<li>Lyrebird / Welcome.AI: <a href=\"https://www.welcome.ai/lyrebird\" target=\"_blank\">https://www.welcome.ai/lyrebird</a></li>\r\n<li>Nvidia Tacotron 2: <a href=\"https://github.com/NVIDIA/tacotron2\" target=\"_blank\">https://github.com/NVIDIA/tacotron2</a></li>\r\n<li>Tensorflow: <a href=\"https://www.tensorflow.org\" target=\"_blank\">https://www.tensorflow.org</a></li>\r\n<li>PyTorch: <a href=\"https://pytorch.org\" target=\"_blank\">https://pytorch.org</a></li>\r\n<li>Melspectrograms: <a href=\"https://medium.com/analytics-vidhya/understanding-the-mel-spectrogram-fca2afa2ce53\" target=\"_blank\">https://medium.com/analytics-vidhya/understanding-the-mel-spectrogram-fca2afa2ce53</a></li>\r\n<li>GRAPHCORE: <a href=\"https://www.graphcore.ai\" target=\"_blank\">https://www.graphcore.ai</a></li>\r\n<li>FGPA: <a href=\"https://en.wikipedia.org/wiki/Field-programmable_gate_array\" target=\"_blank\">https://en.wikipedia.org/wiki/Field-programmable_gate_array</a></li>\r\n<li>IBM ROMP: <a href=\"https://en.wikipedia.org/wiki/IBM_ROMP\" target=\"_blank\">https://en.wikipedia.org/wiki/IBM_ROMP</a></li>\r\n<li>Google\'s TTS: <a href=\"https://cloud.google.com/text-to-speech\" target=\"_blank\">https://cloud.google.com/text-to-speech</a></li>\r\n<li>Apple M1: <a href=\"https://www.gsmarena.com/the_apple_m1_is_the_first_armbased_chipset_for_macs_with_the_fastest_cpu_cores_and_top_igpu-news-46222.php\" target=\"_blank\">https://www.gsmarena.com/the_apple_m1_is_the_first_armbased_chipset_for_macs_with_the_fastest_cpu_cores_and_top_igpu-news-46222.php</a></li>\r\n<li>Secure Enclaves: <a href=\"https://support.apple.com/guide/security/secure-enclave-overview-sec59b0b31ff/web\" target=\"_blank\">https://support.apple.com/guide/security/secure-enclave-overview-sec59b0b31ff/web</a></li>\r\n<li>OSDU: <a href=\"https://www.opengroup.org/osdu/forum-homepage\" target=\"_blank\">https://www.opengroup.org/osdu/forum-homepage</a></li>\r\n<li>Jack Kerouac\'s On the Road: <a href=\"https://en.wikipedia.org/wiki/On_the_Road\" target=\"_blank\">https://en.wikipedia.org/wiki/On_the_Road</a></li>\r\n</ul>\r\n',384,111,1,'CC-BY-SA','voice recognition, text to speech, wavenet, tacotron 2, DeepSpeech, Lyrebird',0,0,1),
(3222,'2020-12-08','Musings about writing a book about the Odoo software suite',1616,'How I started writing again after 20 years and this time about the Odoo software','<p>In this podcast I describe how I met another Dutch guy at the Ubucon 2018 conference in Spain. And how he asked me to write another book, this time about Odoo. How I learned how the Odoo ecosystem works, with the Odoo S.A. company and the Odoo Community Association (OCA).</p>\r\n<p>At the end I had a finished book.</p>\r\n<p>You can find the book here: <a href=\"https://www.lulu.com/en/en/shop/jeroen-baten/jumpstart-your-business-with-odoo-12-ennl/paperback/product-1wkzmj52.html\" class=\"uri\">https://www.lulu.com/en/en/shop/jeroen-baten/jumpstart-your-business-with-odoo-12-ennl/paperback/product-1wkzmj52.html</a></p>\r\n<p>If you have questions or comments, please leave a comment at the HPR site.</p>\r\n<p>Warm regards, Jeroen Baten</p>\r\n',369,0,0,'CC-BY-SA','odoo, writing, book',0,0,1),
(3223,'2020-12-09','My COVID year summary',1090,'I summarize what I\'ve been doing for the last year','<h1 id=\"links\">Links</h1>\r\n<ul>\r\n<li><a href=\"https://www.cdc.gov/coronavirus/2019-ncov/lab/reporting-lab-data.html\">https://www.cdc.gov/coronavirus/2019-ncov/lab/reporting-lab-data.html</a></li>\r\n<li><a href=\"https://coronavirus.jhu.edu/map.html\">https://coronavirus.jhu.edu/map.html</a></li>\r\n<li><a href=\"https://www.fda.gov/emergency-preparedness-and-response/mcm-legal-regulatory-and-policy-framework/emergency-use-authorization#covid19euas\">https://www.fda.gov/emergency-preparedness-and-response/mcm-legal-regulatory-and-policy-framework/emergency-use-authorization#covid19euas</a></li>\r\n</ul>',300,100,0,'CC-BY-SA','covid,healthcare,coronavirus,laboratory',0,0,1),
(3224,'2020-12-10','Adventures in Retrocomputing with the Mac Plus',1479,'I talk more about my hobby with retrocomputing, and then Greensleeves.','<h2 id=\"links\">Links</h2>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Macintosh_Plus\" class=\"uri\">https://en.wikipedia.org/wiki/Macintosh_Plus</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Zip_drive\" class=\"uri\">https://en.wikipedia.org/wiki/Zip_drive</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Steve_Jobs\" class=\"uri\">https://en.wikipedia.org/wiki/Steve_Jobs</a></li>\r\n<li><a href=\"https://www.applegazette.com/ipod/steve-jobs-and-minimalism/\" class=\"uri\">https://www.applegazette.com/ipod/steve-jobs-and-minimalism/</a></li>\r\n</ul>',383,71,0,'CC-BY-SA','Mac,Plus,Iomega,zip,drive,OS,7.5.5,6.0.8,retro,computing',0,0,1),
(3501,'2022-01-03','HPR Community News for December 2021',4324,'HPR Volunteers talk about shows released and comments posted in December 2021','<style>\ntable td.shrink {\n    white-space:nowrap\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nWelcome to our new host: <br />\n\n    <a href=\"https://hackerpublicradio.org/correspondents/0401.html\" target=\"_blank\">Mechatroniac</a>.\n</p>\n\n<h2>Last Month\'s Shows</h2>\n<table id=\"t01\">\n<tr>\n<th>Id</th>\n<th>Day</th>\n<th>Date</th>\n<th>Title</th>\n<th>Host</th>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3478\" target=\"_blank\">3478</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-12-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3478\" target=\"_blank\">Audio Wiring Hack on a Classroom Podium</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0238.html\" target=\"_blank\">Jon Kulp</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3479\" target=\"_blank\">3479</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-12-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3479\" target=\"_blank\">Linux Inlaws S01E49: Version Control Systems and why bother</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3480\" target=\"_blank\">3480</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-12-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3480\" target=\"_blank\">Darken Layer Modes</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3481\" target=\"_blank\">3481</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-12-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3481\" target=\"_blank\">HPR Community News for November 2021</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3482\" target=\"_blank\">3482</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-12-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3482\" target=\"_blank\">Introduction to Post Apocalyptic Robotics Meta Technology</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0401.html\" target=\"_blank\">Mechatroniac</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3483\" target=\"_blank\">3483</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-12-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3483\" target=\"_blank\">Pinephone64 review</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0115.html\" target=\"_blank\">sigflup</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3484\" target=\"_blank\">3484</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-12-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3484\" target=\"_blank\">My vim setup with GnuPG</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3485\" target=\"_blank\">3485</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-12-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3485\" target=\"_blank\">50 years since the 1st Edition of Unix was published</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3486\" target=\"_blank\">3486</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-12-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3486\" target=\"_blank\">Unleash the true potential of GNU nano text editor</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0397.html\" target=\"_blank\">hakerdefo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3487\" target=\"_blank\">3487</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-12-14</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3487\" target=\"_blank\">Installing a cat door</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0293.html\" target=\"_blank\">Rho`n</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3488\" target=\"_blank\">3488</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-12-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3488\" target=\"_blank\">Binaural 3d audio recording, please listen at normal speed with good head phones.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0110.html\" target=\"_blank\">Quvmoh</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3489\" target=\"_blank\">3489</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-12-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3489\" target=\"_blank\">Equality of structured errors</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3490\" target=\"_blank\">3490</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-12-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3490\" target=\"_blank\">The Path</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3491\" target=\"_blank\">3491</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-12-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3491\" target=\"_blank\">My Github and flickmetrix</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3492\" target=\"_blank\">3492</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-12-21</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3492\" target=\"_blank\">Linux Inlaws S01E44: Pipewire Just another audio server Think again</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3493\" target=\"_blank\">3493</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-12-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3493\" target=\"_blank\">My First Spanish HPR Episode</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0152.html\" target=\"_blank\">Claudio Miranda</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3494\" target=\"_blank\">3494</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-12-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3494\" target=\"_blank\">Recent Generator Repairs and Maintenance</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0238.html\" target=\"_blank\">Jon Kulp</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3495\" target=\"_blank\">3495</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-12-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3495\" target=\"_blank\">Podcast Recommendation: The Retroist</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3496\" target=\"_blank\">3496</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2021-12-27</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3496\" target=\"_blank\">How I record HPR Episodes</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0342.html\" target=\"_blank\">norrist</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3497\" target=\"_blank\">3497</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2021-12-28</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3497\" target=\"_blank\">Jankilators.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0398.html\" target=\"_blank\">one_of_spoons</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3498\" target=\"_blank\">3498</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2021-12-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3498\" target=\"_blank\">Linux Inlaws S01E45: The Big Xmas New Year bash with the Grumpies</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3499\" target=\"_blank\">3499</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2021-12-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3499\" target=\"_blank\">Fixing a noisy blower motor</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3500\" target=\"_blank\">3500</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2021-12-31</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3500\" target=\"_blank\">Contrast Layer Modes</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n</table>\n\n<h2>Comments this month</h2>\n\n<p>These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere are 14 comments in total.</p>\n<h3>Past shows</h3>\n<p>There are 6 comments on\n4 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3292#comments\" target=\"_blank\">hpr3292</a></strong>\n(2021-03-16) \"<em>Squirrel FSF blog</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0377.html\" target=\"_blank\">Zen_Floater2</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3292#5\" target=\"_blank\">Comment 5</a>:\ndodddummy on 2021-12-18:\n\"Where\'s the thumbs down button?\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3394#comments\" target=\"_blank\">hpr3394</a></strong>\n(2021-08-05) \"<em>Be an XML star with xmlstarlet</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3394#2\" target=\"_blank\">Comment 2</a>:\ndnt on 2021-12-22:\n\"I consulted this episode this week\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3473#comments\" target=\"_blank\">hpr3473</a></strong>\n(2021-11-24) \"<em>My journey into Amateur Radio</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0314.html\" target=\"_blank\">thelovebug</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3473#2\" target=\"_blank\">Comment 2</a>:\nTrey on 2021-12-02:\n\"UGH!  Correction.\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3474#comments\" target=\"_blank\">hpr3474</a></strong>\n(2021-11-25) \"<em>H P R and Audio Fun</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3474#2\" target=\"_blank\">Comment 2</a>:\nOperat0r on 2021-12-06:\n\"replace Ken Fallon with a script\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3474#3\" target=\"_blank\">Comment 3</a>:\nKen Fallon on 2021-12-07:\n\"Thanks for Volunteering\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3474#4\" target=\"_blank\">Comment 4</a>:\nOperat0r on 2021-12-10:\n\"fun\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 8 comments on 7 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3478#comments\" target=\"_blank\">hpr3478</a></strong>\n(2021-12-01) \"<em>Audio Wiring Hack on a Classroom Podium</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0238.html\" target=\"_blank\">Jon Kulp</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3478#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-12-01:\n\"I am sure the Audio/Video department loves you\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3479#comments\" target=\"_blank\">hpr3479</a></strong>\n(2021-12-02) \"<em>Linux Inlaws S01E49: Version Control Systems and why bother</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3479#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-12-02:\n\"Thanks for sharing.\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3482#comments\" target=\"_blank\">hpr3482</a></strong>\n(2021-12-07) \"<em>Introduction to Post Apocalyptic Robotics Meta Technology</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0401.html\" target=\"_blank\">Mechatroniac</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3482#1\" target=\"_blank\">Comment 1</a>:\nWindigo on 2021-12-30:\n\"Fascinating subject\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3485#comments\" target=\"_blank\">hpr3485</a></strong>\n(2021-12-10) \"<em>50 years since the 1st Edition of Unix was published</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3485#1\" target=\"_blank\">Comment 1</a>:\nmonochromec on 2021-11-24:\n\"The show\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3493#comments\" target=\"_blank\">hpr3493</a></strong>\n(2021-12-22) \"<em>My First Spanish HPR Episode</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0152.html\" target=\"_blank\">Claudio Miranda</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3493#1\" target=\"_blank\">Comment 1</a>:\nDNT on 2021-12-04:\n\"Great episode\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=3493#2\" target=\"_blank\">Comment 2</a>:\nOyente#1 on 2021-12-25:\n\"Gracias\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3495#comments\" target=\"_blank\">hpr3495</a></strong>\n(2021-12-24) \"<em>Podcast Recommendation: The Retroist</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3495#1\" target=\"_blank\">Comment 1</a>:\nTrey on 2021-12-24:\n\"Great recommendation\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3496#comments\" target=\"_blank\">hpr3496</a></strong>\n(2021-12-27) \"<em>How I record HPR Episodes</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0342.html\" target=\"_blank\">norrist</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3496#1\" target=\"_blank\">Comment 1</a>:\nDave Morriss on 2021-12-30:\n\"Great show\"</li></ul><br/>\n</li></ul>\n\n<h2>Mailing List discussions</h2>\n<p>\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the <a href=\"https://hackerpublicradio.org/maillist\"\ntarget=\"_blank\">Mail List</a> which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/\">Mailman</a>.\n</p>\n<p>The threaded discussions this month can be found here:</p>\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-December/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-December/thread.html</a>\n\n\n<h2>Events Calendar</h2>\n<p>With the kind permission of <strong>LWN.net</strong> we are linking to\n<a href=\"https://lwn.net/Calendar/\" target=\"_blank\">The LWN.net Community Calendar</a>.</p>\n<p>Quoting the site:</p>\n<blockquote>This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.</blockquote>\n\n<h2>Any other business</h2>\n<h3 id=\"older-hpr-shows-on-archive.org\">Older HPR shows on archive.org</h3>\n<p>This month 125 additional shows in the range 1-870 have been uploaded.</p>\n<p>The number of shows left to upload in this range is now: 244.</p>\n<h3>\nThanks to all HPR contributors in 2021!\n</h3>\n<p>\n<a href=\"https://hackerpublicradio.org/correspondents/0285.html\">2BFrank</a>, <a href=\"https://hackerpublicradio.org/correspondents/0198.html\">Ahuka</a>, <a href=\"https://hackerpublicradio.org/correspondents/0268.html\">Andrew Conway</a>, <a href=\"https://hackerpublicradio.org/correspondents/0393.html\">Anonymous Host</a>, <a href=\"https://hackerpublicradio.org/correspondents/0318.html\">Archer72</a>, <a href=\"https://hackerpublicradio.org/correspondents/0138.html\">arfab</a>, <a href=\"https://hackerpublicradio.org/correspondents/0300.html\">b-yeezi</a>, <a href=\"https://hackerpublicradio.org/correspondents/0246.html\">Beeza</a>, <a href=\"https://hackerpublicradio.org/correspondents/0396.html\">BlacKernel</a>, <a href=\"https://hackerpublicradio.org/correspondents/0326.html\">Brian in Ohio</a>, <a href=\"https://hackerpublicradio.org/correspondents/0311.html\">clacke</a>, <a href=\"https://hackerpublicradio.org/correspondents/0152.html\">Claudio Miranda</a>, <a href=\"https://hackerpublicradio.org/correspondents/0315.html\">Clinton Roy</a>, <a href=\"https://hackerpublicradio.org/correspondents/0395.html\">CoGo</a>, <a href=\"https://hackerpublicradio.org/correspondents/0385.html\">crvs</a>, <a href=\"https://hackerpublicradio.org/correspondents/0382.html\">Daniel Persson</a>, <a href=\"https://hackerpublicradio.org/correspondents/0225.html\">Dave Morriss</a>, <a href=\"https://hackerpublicradio.org/correspondents/0073.html\">deepgeek</a>, <a href=\"https://hackerpublicradio.org/correspondents/0399.html\">dnt</a>, <a href=\"https://hackerpublicradio.org/correspondents/0039.html\">Enigma</a>, <a href=\"https://hackerpublicradio.org/correspondents/0397.html\">hakerdefo</a>, <a href=\"https://hackerpublicradio.org/correspondents/0269.html\">Honkeymagoo</a>, <a href=\"https://hackerpublicradio.org/correspondents/0159.html\">HPR Volunteers</a>, <a href=\"https://hackerpublicradio.org/correspondents/0243.html\">Jezra</a>, <a href=\"https://hackerpublicradio.org/correspondents/0238.html\">Jon Kulp</a>, <a href=\"https://hackerpublicradio.org/correspondents/0129.html\">JWP</a>, <a href=\"https://hackerpublicradio.org/correspondents/0030.html\">Ken Fallon</a>, <a href=\"https://hackerpublicradio.org/correspondents/0078.html\">klaatu</a>, <a href=\"https://hackerpublicradio.org/correspondents/0401.html\">Mechatroniac</a>, <a href=\"https://hackerpublicradio.org/correspondents/0375.html\">minnix</a>, <a href=\"https://hackerpublicradio.org/correspondents/0384.html\">monochromec</a>, <a href=\"https://hackerpublicradio.org/correspondents/0201.html\">MrX</a>, <a href=\"https://hackerpublicradio.org/correspondents/0381.html\">Nihilazo</a>, <a href=\"https://hackerpublicradio.org/correspondents/0342.html\">norrist</a>, <a href=\"https://hackerpublicradio.org/correspondents/0390.html\">o9l</a>, <a href=\"https://hackerpublicradio.org/correspondents/0398.html\">one_of_spoons</a>, <a href=\"https://hackerpublicradio.org/correspondents/0036.html\">operat0r</a>, <a href=\"https://hackerpublicradio.org/correspondents/0383.html\">Paul Quirk</a>, <a href=\"https://hackerpublicradio.org/correspondents/0110.html\">Quvmoh</a>, <a href=\"https://hackerpublicradio.org/correspondents/0293.html\">Rho`n</a>, <a href=\"https://hackerpublicradio.org/correspondents/0115.html\">sigflup</a>, <a href=\"https://hackerpublicradio.org/correspondents/0391.html\">Some Guy On The Internet</a>, <a href=\"https://hackerpublicradio.org/correspondents/0297.html\">swift110</a>, <a href=\"https://hackerpublicradio.org/correspondents/0270.html\">Thaj Sara</a>, <a href=\"https://hackerpublicradio.org/correspondents/0314.html\">thelovebug</a>, <a href=\"https://hackerpublicradio.org/correspondents/0392.html\">timttmy</a>, <a href=\"https://hackerpublicradio.org/correspondents/0273.html\">ToeJet</a>, <a href=\"https://hackerpublicradio.org/correspondents/0394.html\">Trey</a>, <a href=\"https://hackerpublicradio.org/correspondents/0389.html\">TrumpetJohn</a>, <a href=\"https://hackerpublicradio.org/correspondents/0364.html\">Tuula</a>, <a href=\"https://hackerpublicradio.org/correspondents/0215.html\">Windigo</a>, <a href=\"https://hackerpublicradio.org/correspondents/0377.html\">Zen_Floater2</a>.\n</p>\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1),
(3526,'2022-02-07','HPR Community News for January 2022',2626,'HPR Volunteers talk about shows released and comments posted in January 2022','<style>\ntable td.shrink {\n    white-space:nowrap\n}\np#ignore, li#ignore {\n    background-color: lightgreen;\n    color:maroon;\n}\ndiv#highlight {\n  border-style: solid;\n  border-color: red;\n  padding-right: 20px;\n  padding-left: 20px;\n}\nhr.thin {\n    border: 0;\n    height: 0;\n    border-top: 1px solid rgba(0, 0, 0, 0.1);\n    border-bottom: 1px solid rgba(255, 255, 255, 0.3);\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nThere were no new hosts this month.\n</p>\n\n<h2>Last Month\'s Shows</h2>\n<table id=\"t01\">\n<tr>\n<th>Id</th>\n<th>Day</th>\n<th>Date</th>\n<th>Title</th>\n<th>Host</th>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3501\" target=\"_blank\">3501</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2022-01-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3501\" target=\"_blank\">HPR Community News for December 2021</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3502\" target=\"_blank\">3502</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2022-01-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3502\" target=\"_blank\">New year Greetings and a short review of my new Juno PC</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0338.html\" target=\"_blank\">Tony Hughes AKA TonyH1212</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3503\" target=\"_blank\">3503</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2022-01-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3503\" target=\"_blank\">Configuring Mumble</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3504\" target=\"_blank\">3504</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2022-01-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3504\" target=\"_blank\">James Webb Space Telescope</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3505\" target=\"_blank\">3505</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2022-01-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3505\" target=\"_blank\">A DX with Hotel Bravo 9 Hotel November Tango</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0288.html\" target=\"_blank\">beni</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3506\" target=\"_blank\">3506</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2022-01-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3506\" target=\"_blank\">HPR CONTEST 2022 01</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3507\" target=\"_blank\">3507</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2022-01-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3507\" target=\"_blank\">USB Turntable fix and sound journey</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3508\" target=\"_blank\">3508</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2022-01-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3508\" target=\"_blank\">Differences between C# and Haskell</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3509\" target=\"_blank\">3509</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2022-01-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3509\" target=\"_blank\">Linux Inlaws S01E46: The Matrix Project (Without Neo)</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3510\" target=\"_blank\">3510</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2022-01-14</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3510\" target=\"_blank\">Syntax, Switches, and Help</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3511\" target=\"_blank\">3511</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2022-01-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3511\" target=\"_blank\">Podman like Vagrant</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3512\" target=\"_blank\">3512</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2022-01-18</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3512\" target=\"_blank\">Auld Acquaintance</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0243.html\" target=\"_blank\">Jezra</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3513\" target=\"_blank\">3513</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2022-01-19</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3513\" target=\"_blank\">HB9HNT and PA7KEN on SOTA, Summits on the Air</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0288.html\" target=\"_blank\">beni</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3514\" target=\"_blank\">3514</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2022-01-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3514\" target=\"_blank\">Hacking Stories: Soft Drink</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3515\" target=\"_blank\">3515</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2022-01-21</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3515\" target=\"_blank\">ADB and scrcpy</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3516\" target=\"_blank\">3516</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2022-01-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3516\" target=\"_blank\">Rant about RX</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3517\" target=\"_blank\">3517</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2022-01-25</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3517\" target=\"_blank\">Hp stream laptop with Lubuntu 20.04</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3518\" target=\"_blank\">3518</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2022-01-26</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3518\" target=\"_blank\">Linux Inlaws S01E47: BigBlueButton and NAT</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3519\" target=\"_blank\">3519</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2022-01-27</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3519\" target=\"_blank\">Rust 101: Episode 2 - Rolling With the Errors</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0396.html\" target=\"_blank\">BlacKernel</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3520\" target=\"_blank\">3520</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2022-01-28</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3520\" target=\"_blank\">Inversion Layer Modes</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3521\" target=\"_blank\">3521</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2022-01-31</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=3521\" target=\"_blank\">Upgrades to Acer Aspire 5 Slim</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n</table>\n\n<h2>Comments this month</h2>\n\n<p>These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere are 9 comments in total.</p>\n<h3>Past shows</h3>\n<p>There are 4 comments on\n4 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3322#comments\" target=\"_blank\">hpr3322</a></strong>\n(2021-04-27) \"<em>Tune system performance with tuned</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3322#1\" target=\"_blank\">Comment 1</a>:\nWindigo on 2022-01-21:\n\"Lost udev episode\"\n<br/><hr class=\"thin\">I was surprised to hear you say you\'ve never done an episode on udev, because I distinctly remember that episode! You were discussing creating your own udev rules to automatically run tasks upon inserting a USB drive.<br />\n<br />\nIt may be that you\'ve never done an episode on HPR about it; I can\'t find it for the life of me.<br />\n<br />\nEither way, thank you - as always - for the excellent episode. :)\n</li><br/></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3485#comments\" target=\"_blank\">hpr3485</a></strong>\n(2021-12-10) \"<em>50 years since the 1st Edition of Unix was published</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3485#2\" target=\"_blank\">Comment 2</a>:\nwynaut on 2022-01-07:\n\"thanks great show\"\n<br/><hr class=\"thin\">agree with prev comment, listener who just turned 51 :)\n</li><br/></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3496#comments\" target=\"_blank\">hpr3496</a></strong>\n(2021-12-27) \"<em>How I record HPR Episodes</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0342.html\" target=\"_blank\">norrist</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3496#2\" target=\"_blank\">Comment 2</a>:\nReto on 2022-01-09:\n\"a good idea\"\n<br/><hr class=\"thin\">Hi,<br />\nThank you for this program and the introduction as a podcast.<br />\n<br />\nI just downloaded the .zip from GitLab and while trying the commands, I realize a section with dependencies is missing. I think pip is too large, so, I usually do run it in an virtualenv.<br />\nIn other Phython projects like here: https://github.com/jonaswinkler/paperless-ng/blob/master/requirements.txt you find a requirements.txt. I was wondering if you add one too?<br />\n<br />\nBr,<br />\nReto\n</li><br/></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3498#comments\" target=\"_blank\">hpr3498</a></strong>\n(2021-12-29) \"<em>Linux Inlaws S01E45: The Big Xmas New Year bash with the Grumpies</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0384.html\" target=\"_blank\">monochromec</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=3498#1\" target=\"_blank\">Comment 1</a>:\noperat0r on 2022-01-09:\n\"Love this show\"\n<br/><hr class=\"thin\">reminds me a little bit of udev random  podcast. this one had a lot of laughs! You guys are my friends for now. Mine won\'t do anything.. Holidays  are hard for some/most people. Shooting the shit and ranting are my fav podcast eps!<br />\n<br />\nTake care of yourselves! your the only U you have!\n</li><br/></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 5 comments on 5 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3504#comments\" target=\"_blank\">hpr3504</a></strong>\n(2022-01-06) \"<em>James Webb Space Telescope</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3504#1\" target=\"_blank\">Comment 1</a>:\ndnt on 2022-01-06:\n\"Mission control\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3505#comments\" target=\"_blank\">hpr3505</a></strong>\n(2022-01-07) \"<em>A DX with Hotel Bravo 9 Hotel November Tango</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0288.html\" target=\"_blank\">beni</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3505#1\" target=\"_blank\">Comment 1</a>:\nbaffled on 2022-01-11:\n\"Nice show!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3510#comments\" target=\"_blank\">hpr3510</a></strong>\n(2022-01-14) \"<em>Syntax, Switches, and Help</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3510#1\" target=\"_blank\">Comment 1</a>:\nTuula on 2022-01-17:\n\"This brought some memories\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3516#comments\" target=\"_blank\">hpr3516</a></strong>\n(2022-01-24) \"<em>Rant about RX</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3516#1\" target=\"_blank\">Comment 1</a>:\nJanedoc on 2022-01-26:\n\"empathize with you\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=3517#comments\" target=\"_blank\">hpr3517</a></strong>\n(2022-01-25) \"<em>Hp stream laptop with Lubuntu 20.04</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=3517#1\" target=\"_blank\">Comment 1</a>:\nJesse on 2022-01-25:\n\"Monty Mint phone\"</li></ul><br/>\n</li></ul>\n\n<h2>Mailing List discussions</h2>\n<p>\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the <a href=\"https://hackerpublicradio.org/maillist\"\ntarget=\"_blank\">Mail List</a> which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/\">Mailman</a>.\n</p>\n<p>The threaded discussions this month can be found here:</p>\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2022-January/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2022-January/thread.html</a>\n\n\n<h2>Events Calendar</h2>\n<p>With the kind permission of <strong>LWN.net</strong> we are linking to\n<a href=\"https://lwn.net/Calendar/\" target=\"_blank\">The LWN.net Community Calendar</a>.</p>\n<p>Quoting the site:</p>\n<blockquote>This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.</blockquote>\n\n<h2>Any other business</h2>\n<h3 id=\"older-hpr-shows-on-archive.org\">Older HPR shows on archive.org</h3>\n<p>This month 120 additional shows in the range 1-870 have been uploaded.</p>\n<p>The number of shows left to upload in this range is now: 124.</p>\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1),
(3227,'2020-12-15','Fresh water Aquarium Basics',1589,'Enigma discusses the high level basics of getting into the aquarium hobby','<p>Enigma discusses the high level basics of getting into the aquarium hobby and what to consider when purchasing your first aquarium.</p>\r\n<h2>Links:</h2>\r\n<ul>\r\n<li><a href=\"https://www.amazon.com/API-FRESHWATER-800-Test-Freshwater-Aquarium/dp/B000255NCI/ref=asc_df_B000255NCI/?tag=hyprod-20&linkCode=df0&hvadid=198072615033&hvpos=&hvnetw=g&hvrand=14659243461056273975&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9012091&hvtargid=pla-348697791053&psc=1\"> API Test kit </a></li>\r\n<li><a href=https://www.walmart.com/ip/Aqua-Culture-10-Gallon-Aquarium-Starter-Kit-With-LED-Lighting/35326017?wmlspartner=wlpa&selectedSellerId=0&wl13=941&&adid=22222222253447309554&wl0=&wl1=g&wl2=c&wl3=469838565059&wl4=aud-1025747331336:pla-319527574754&wl5=9012091&wl6=&wl7=&wl8=&wl9=pla&wl10=8175035&wl11=local&wl12=35326017&wl13=941&veh=sem&wl18=showcase&gclid=Cj0KCQiAkuP9BRCkARIsAKGLE8WOkLhoN56nLuuG29VXdC1NFBMNnhKdRM8lJs-vvP0qnrJYUDVuLNYaAja9EALw_wcB\"> 10 Gallon (38 liter) starter kit </a></li>\r\n</ul>',39,0,1,'CC-BY-SA','Aquariums',0,0,1),
(3229,'2020-12-17','Linux Inlaws S01E19: Redis',4418,'Our two chaps interview Itamar Haber of Redis fame','<p>In this episode our two heroes interview Itamar Haber, community liaison for Redis, a popular open-source\r\nin-memory NoSQL database. Technology prevails in this episode; communism, free love and drugs\r\ntake a backseat (but only for the moment! :-). The trio discuss the legacy of redis, bemoan their old age\r\nand reveal why Itamar initially wanted to be a mermaid. Listen to the episode\r\nfor more shocking epiphanies!</p>\r\n<br/>Shownotes:<br/>\r\n<ul>\r\n<li>Kaypro: <a href=\"https://en.wikipedia.org/wiki/Kaypro\" target=\"_blank\">https://en.wikipedia.org/wiki/Kaypro</a></li>\r\n<li>Salvatore Sanfilippo: <a href=\"https://github.com/antirez\" target=\"_blank\">https://github.com/antirez</a></li>\r\n<li>redis: <a href=\"https://github.com/redis/redis\" target=\"_blank\">https://github.com/redis/redis</a></li>\r\n<li>Redis Labs: <a href=\"https://redislabs.com\" target=\"_blank\">https://redislabs.com</a></li>\r\n<li>Redis Streams: <a href=\"https://redis.io/topics/streams-intro\" target=\"_blank\">https://redis.io/topics/streams-intro</a></li>\r\n<li>Redis Modules: <a href=\"https://redis.io/modules\" target=\"_blank\">https://redis.io/modules</a></li>\r\n<li>Windows: <a href=\"https://bugs.launchpad.net/ubuntu/+bug/1\" target=\"_blank\">https://bugs.launchpad.net/ubuntu/+bug/1</a></li>\r\n<li>WSL 2: <a href=\"https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux#WSL_2\" target=\"_blank\">https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux#WSL_2</a></li>\r\n<li>On the Bro\'d: <a href=\"https://www.mikelacher.com/work/on-the-brod\" target=\"_blank\">https://www.mikelacher.com/work/on-the-brod</a></li>\r\n</ul>\r\n\r\n\r\n',384,111,1,'CC-BY-SA','Redis, mermaids, communism, Israel',0,0,1),
(3239,'2020-12-31','New Community Project Proposal',516,'Enigma discusses a project proposal called Hacker exchange','<p>Enigma discusses a project proposal called Hacker exchange, a proposed content sharing site that would aggregate audio/video and text based tutorials.</p>\r\n<p>Come chat about this project on <code>irc.freenode.net #hackerexchange</code></p>',39,0,1,'CC-BY-SA','hpr, community_projects, ddp, binrev',0,0,1),
(3228,'2020-12-16','YAML basics',2027,'Learn about sequence and mapping in YAML','<p>YAML has two data elements that serve as building blocks for complex data structures: sequences and mappings.</p>\r\n\r\n<h2>Sequence</h2>\r\n\r\n<p>This is a sequence:</p>\r\n\r\n<pre><code>\r\n---\r\n- Emperor\r\n- Gentoo\r\n- Little Blue\r\n</code></pre>\r\n\r\n<h2>Mapping</h2>\r\n\r\n<p>\r\nThis is a mapping:\r\n</p>\r\n\r\n<pre><code>\r\n---\r\nPenguin: Emperor\r\n</code></pre>\r\n\r\n<p>\r\nIn this case, <strong>Penguin</strong> is a <em>key</em> and <strong>Emperor</strong> is a <em>value</em>. This is often called a &#34;key and value pair&#34;, but in YAML it&#39;s just called a mapping.\r\n</p>\r\n\r\n<h2>Combining data blocks</h2>\r\n\r\n<p>\r\nYou can embed these data types into one another. Here is a mapping that has a sequence as its value:\r\n</p>\r\n\r\n<pre><code>\r\n---\r\nPenguin:\r\n  - Emperor\r\n  - Gentoo\r\n  - Little Blue\r\n</code></pre>\r\n\r\n<p>\r\nHere is a sequence of mappings:\r\n</p>\r\n\r\n<pre><code>\r\n---\r\n- Penguin: Emperor\r\n- Penguin: Gentoo\r\n- Penguin: Little Blue\r\n</code></pre>\r\n\r\n<h2>yamllint</h2>\r\n\r\n<p>Use yamllint to detect errors in your YAML. To install:\r\n</p>\r\n\r\n<pre>\r\n<code>\r\n$ pip install yamllint\r\n</code></pre>\r\n\r\n<p>Run it:\r\n</p>\r\n\r\n<pre>\r\n<code>\r\n$ yamllint good.yaml\r\n$ yamllint bad.yaml\r\nbad.yaml\r\n  1:1       warning  missing document start \"---\"  (document-start)\r\n  4:14      error    no new line character at the end of file  (new-line-at-end-of-file)\r\n</code></pre>\r\n\r\n<h2>yaml2json</h2>\r\n\r\n<p>\r\nSometimes it&#39;s useful to convert your YAML to JSON so you can view the data structure in a different way. There are probably dozens of YAML-to-JSON converters out there, but here&#39;s the one I use: <a href=\"https://gitlab.com/slackermedia/yaml2json.git\" target=\"_blank\">https://gitlab.com/slackermedia/yaml2json.git</a>\r\n</p>\r\n\r\n<p>\r\nRun it:\r\n</p>\r\n\r\n<pre><code>\r\n$ cat example.yaml\r\n---\r\npenguins:\r\n  - Gentoo\r\n  - Little Blue\r\n  - Rockhopper\r\ndragons:\r\n  - black\r\n  - white\r\n  - red\r\n$ ~/bin/yaml2json.py example.yaml\r\n{\"penguins\": [\"Gentoo\", \"Little Blue\", \"Rockhopper\"], \"dragons\": [\"black\", \"white\", \"red\"]}\r\n</code></pre>\r\n\r\n<h2>YAML police</h2>\r\n\r\n<p>There are no YAML police. As long as yamllint finds no errors, your YAML is valid and can be parsed by any one of the dozens of YAML libraries out there. However, these YAML libraries aren&#39;t magical, so you must understand the internal logic of your own YAML data. Keep that in mind when devising a scheme for the data you\'re recording.\r\n</p>\r\n\r\n<p>YAML is a great method for creating configuration files, or storing simple data structures, and it\'s essential for Ansible playbooks.</p>\r\n\r\n<p>\r\nEnjoy!\r\n</p>\r\n\r\n',78,25,0,'CC-BY-SA','yaml,data,parse,lint,json',0,0,1),
