INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hostid`, `series`, `explicit`, `license`, `tags`, `version`, `downloads`, `valid`) VALUES (3959,'2023-10-05','Download any HPR series with english file names',165,'A dir with the series name will be created and all shows will be renamed to ShowTitle.mp3 inside it','<p>Hello all. This is gemlog from Terrace, bc, canada just up near the\nalaska panhandle.</p>\n<p>Some of you may know me from in COM chat on sdf dot org or as a\nfedizen on the tilde dot zone instance of mastodon.</p>\n<p>Now, the other day I finally got around to checking out HPR properly,\neven though my masto-pal claw-dio-m turned me on to it a couple of years\nago.</p>\n<p>Recently, on a friday night in irc on tilde radio, I noticed there\nwere whole series on hpr and not only single shows and that got me kind\nof excited.<br />\nI guess I\'m easily excitable.</p>\n<p>Anyhow, something I could listen to at work or while driving. Still,\nI managed to forget about it until /just/ before I was leaving the house\nfor work on Monday morning. I rushed to copy over a few shows - nearly\nat random onto my phone and headed out to work.</p>\n<p>After I got my morning sorted at work, I told VLC to play-all and\nenjoyed a couple of shows. I noticed that each show I had chosen had a\nbeg post at the beginning. I figured I could make one on at least\nsomething from my messy gemlog/bin dir.</p>\n<p>However, after a break, I came back and couldn\'t remember which 4\ndigit numbered dot mp3 I had finished up on, which mildly irked me.\nWell, as we all know, irk becomes itch and I put my sad regex skills to\nthe test scraping the hpr website with a custom bash script later when I\ngot home.</p>\n<p>A very custom bash script. Like all scrapers, if any of the guys at\nhpr even breathe the wrong way, it will probably break horribly. On the\nother hand, I\'ve had scrapers that looked just as sad running for many\nyears against a canadian government site. So. Who knows?</p>\n<p>All the script uses are some built-ins from bash along with sed and\nwget for the actual getting. My local instance of searX N G was left\nsmoking as scrambled for sed incantations to string together. I\'m not a\nsed guy.</p>\n<p>Usage is simple, as the script only accepts one argument: ... the\nfour digit series number of the show you want to download. It will\ncreate a dir with the series name and download every mp3 it finds,\nrenaming each show to the show title.</p>\n<p>I was tempted to doll it up with some niceties like options for\ndownload dir, a selector for a series with a dialog of some kind... yada\nyada yada.</p>\n<p>But... we all know what happens when you stretch a quick hack with a\nbash script too far for the scripting language: hours of misery wishing\nyou\'d started with some other language.</p>\n<p>So far, I\'ve used the script to download 8 series. DU dash S H tells\nme they add up to 2 dot 2 gig, so it seems to work well enough.</p>\n<p>It comes with the same iron clad warranty as everything I write:</p>\n<p>If it breaks, you get to keep all the pieces. Thanks for\nlistening.</p>\n<pre><code>#!/bin/bash\n# gemlog@gemlog.ca 2023-08-26\n# License: CC BY-SA 4.0.\n# not proud of my continuing lack of regex foo frankly...\n\nif [ $# -lt 1 ]; then\n  echo 1&gt;&amp;2 &quot;$0: You need to enter the HPR Series Number to download as 4 digits&quot;\n  echo &quot;The full list of HPR Series is at https://hackerpublicradio.org/series/index.html&quot;\n  exit 2\nfi\n\nsnumber=$1\nre=&#39;^[[:digit:]]{4}$&#39;\nif [[ $snumber =~ $re ]]; then\n    wget https://hackerpublicradio.org/series/$snumber.html -q -O /tmp/$snumber.html\n    content=$(&lt;/tmp/$snumber.html)\n    declare -a shows\n    shows=$(grep -P &#39;^(?=.*h3)(?=.*title)&#39; /tmp/$snumber.html)\nelse\n    echo &quot;&#39;$snumber&#39; is not exactly 4 digits like an HPR series number&quot;\n    exit 2\nfi\n\nseries=$(echo $content | sed -e :a -e &#39;s/&lt;[^&gt;]*&gt;//g;/&lt;/N;//ba&#39; | grep -o -P -m1 &#39;(?&lt;=In-Depth Series:).*(?=Number)&#39; | sed &#39;s/[ t]*$//&#39; )\nseries=$(echo ${series// /_} | cut -b 2-50 | sed &#39;s/_*$//&#39; | sed &#39;s/^_*//&#39; | sed s/[^A-Za-z0-9_.]/_/g)\n\n#outdir=&quot;/home/gemlog/Music/Audio/HPR/$series-Se$snumber/&quot;\noutdir=~/&quot;Downloads/HPR/$series-Se$snumber/&quot;\nmkdir -p &quot;$outdir&quot;\necho &quot;Files for the series &quot;$series&quot; will be saved in $outdir&quot;\n\ndeclare -a shows\ndeclare -a url_array\nshows=$(grep -P &#39;^(?=.*h3)(?=.*title)&#39; /tmp/$snumber.html)\nIFS=$&#39;n&#39;\n\nfor line in $shows\n  do\n    f=$((f+1))\ndone\necho\necho\necho &quot;Downloading $f mp3 files&quot;\n\n\nfor line in $shows\n  do\n    i=$((i+1))\n    title=$(echo $line | sed -e :a -e &#39;s/&lt;[^&gt;]*&gt;//g;/&lt;/N;//ba&#39; | grep -o -P &#39;(?&lt;=::).*(&#39;host&#39;)&#39;  | sed &#39;s/host//&#39; | sed &#39;s/[ t]*$//&#39; | sed s/[^A-Za-z0-9_.]/_/g | sed &#39;s/ /_/g&#39; | sed &#39;s/^_*//&#39; )\n    enumber=$(echo $line | sed -e :a -e &#39;s/&lt;[^&gt;]*&gt;//g;/&lt;/N;//ba&#39; | grep -o -P &#39;(?&lt;=hpr).*(&#39;::&#39;)&#39; | sed &#39;s/:://&#39;)\n    enumber=$(printf &quot;%04d&quot; $((enumber)) )\n    outfile=$outdir$title-Ep$enumber.mp3\n    url=&quot;https://www.hackerpublicradio.org/eps/hpr$enumber.mp3&quot;\n    echo &quot;Downloading file $i: $title&quot;\n    wget --verbose --max-redirect 2 $url -O $outfile\n    sleep 2\n  done\n\n\necho\nttlfiles=$(ls -1 $outdir | wc -l)\necho &quot;$ttlfiles files for the series &quot;$series&quot; were saved in $outdir&quot;\n\nexit 0</code></pre>\n',425,42,1,'CC-BY-SA','Bash, sed, grep, wget, scraper',0,0,1),
(2761,'2019-03-04','HPR Community News for February 2019',4022,'HPR Volunteers talk about shows released and comments posted in February 2019','\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\" summary=\"Last month\'s shows\">\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 valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2740\" target=\"_blank\">2740</a></strong></td>\n    <td>Fri</td>\n    <td>2019-02-01</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2740\" target=\"_blank\">Pop!_OS 18.10 (quick) review</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0370.html\" target=\"_blank\">Yannick the french guy from Switzerland</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2741\" target=\"_blank\">2741</a></strong></td>\n    <td>Mon</td>\n    <td>2019-02-04</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2741\" target=\"_blank\">HPR Community News for January 2019</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2742\" target=\"_blank\">2742</a></strong></td>\n    <td>Tue</td>\n    <td>2019-02-05</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2742\" target=\"_blank\">SAP Hana Certification Directory</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2743\" target=\"_blank\">2743</a></strong></td>\n    <td>Wed</td>\n    <td>2019-02-06</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2743\" target=\"_blank\">Character build in the d20 system</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2744\" target=\"_blank\">2744</a></strong></td>\n    <td>Thu</td>\n    <td>2019-02-07</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2744\" target=\"_blank\">Yet Another Rambling Drive Into Work</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0201.html\" target=\"_blank\">MrX</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2745\" target=\"_blank\">2745</a></strong></td>\n    <td>Fri</td>\n    <td>2019-02-08</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2745\" target=\"_blank\">My YouTube Subscriptions #1</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2746\" target=\"_blank\">2746</a></strong></td>\n    <td>Mon</td>\n    <td>2019-02-11</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2746\" target=\"_blank\">My software part 2</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0338.html\" target=\"_blank\">Tony Hughes AKA TonyH1212</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2747\" target=\"_blank\">2747</a></strong></td>\n    <td>Tue</td>\n    <td>2019-02-12</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2747\" target=\"_blank\">checking oil</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0329.html\" target=\"_blank\">brian</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2748\" target=\"_blank\">2748</a></strong></td>\n    <td>Wed</td>\n    <td>2019-02-13</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2748\" target=\"_blank\">Writing Web Game in Haskell - Special events</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2749\" target=\"_blank\">2749</a></strong></td>\n    <td>Thu</td>\n    <td>2019-02-14</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2749\" target=\"_blank\">Lostnbronx and Klaatu commentary from episode 2743</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2750\" target=\"_blank\">2750</a></strong></td>\n    <td>Fri</td>\n    <td>2019-02-15</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2750\" target=\"_blank\">Windmill is on the Fritz</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2751\" target=\"_blank\">2751</a></strong></td>\n    <td>Mon</td>\n    <td>2019-02-18</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2751\" target=\"_blank\">Battling with English - part 3</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2752\" target=\"_blank\">2752</a></strong></td>\n    <td>Tue</td>\n    <td>2019-02-19</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2752\" target=\"_blank\">XSV for fast CSV manipulations - Part 2</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0300.html\" target=\"_blank\">Mr. Young</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2753\" target=\"_blank\">2753</a></strong></td>\n    <td>Wed</td>\n    <td>2019-02-20</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2753\" target=\"_blank\">Specific Settings In Storytelling</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2754\" target=\"_blank\">2754</a></strong></td>\n    <td>Thu</td>\n    <td>2019-02-21</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2754\" target=\"_blank\">Craigslist Scam Catch</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0372.html\" target=\"_blank\">Edward Miro / c1ph0r</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2755\" target=\"_blank\">2755</a></strong></td>\n    <td>Fri</td>\n    <td>2019-02-22</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2755\" target=\"_blank\">My YouTube Subscriptions #2</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2756\" target=\"_blank\">2756</a></strong></td>\n    <td>Mon</td>\n    <td>2019-02-25</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2756\" target=\"_blank\">Bash Tips - 20</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0225.html\" target=\"_blank\">Dave Morriss</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2757\" target=\"_blank\">2757</a></strong></td>\n    <td>Tue</td>\n    <td>2019-02-26</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2757\" target=\"_blank\">How to DM</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2758\" target=\"_blank\">2758</a></strong></td>\n    <td>Wed</td>\n    <td>2019-02-27</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2758\" target=\"_blank\">Haskell - Data types and database actions</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a></td>\n    </tr>\n    <tr valign=\"top\">\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2759\" target=\"_blank\">2759</a></strong></td>\n    <td>Thu</td>\n    <td>2019-02-28</td>\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2759\" target=\"_blank\">Cleaning the Potentiometers on a Peavey Bandit 65</a></td>\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0238.html\" target=\"_blank\">Jon Kulp</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\nreleased during the month or to past shows.<br/>\nThere are 10 comments in total.</p>\n<p>There are 6 comments on\n5 previous shows:</p>\n<ul><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#3\" target=\"_blank\">Comment 3</a>:\nclacke on 2019-02-26:\n\"Re: Test-driving Linux in computer stores\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2706#comments\" target=\"_blank\">hpr2706</a></strong>\n(2018-12-17) \"<em>Why I love the IBM AS/400 computer systems</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0369.html\" target=\"_blank\">Jeroen Baten</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2706#4\" target=\"_blank\">Comment 4</a>:\nRob on 2019-02-27:\n\"hpr2706 - episode about AS/400\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2707#comments\" target=\"_blank\">hpr2707</a></strong>\n(2018-12-18) \"<em>Steganalysis 101</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0372.html\" target=\"_blank\">Edward Miro / c1ph0r</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2707#3\" target=\"_blank\">Comment 3</a>:\nrtsn on 2019-02-05:\n\"!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2708#comments\" target=\"_blank\">hpr2708</a></strong>\n(2018-12-19) \"<em>Ghostscript</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=2708#1\" target=\"_blank\">Comment 1</a>:\nSteve on 2019-02-07:\n\"Just what I needed\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2737#comments\" target=\"_blank\">hpr2737</a></strong>\n(2019-01-29) \"<em>My Pioneer RT-707 Reel-to-Reel Tape Deck</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>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2737#6\" target=\"_blank\">Comment 6</a>:\nVulcanRidr on 2019-02-06:\n\"Excellent!\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2737#7\" target=\"_blank\">Comment 7</a>:\nJon Kulp on 2019-02-06:\n\"the RT-909\"</li></ul><br/>\n</li></ul>\n<p>There are 4 comments on 4 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2741#comments\" target=\"_blank\">hpr2741</a></strong>\n(2019-02-04) \"<em>HPR Community News for January 2019</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=2741#1\" target=\"_blank\">Comment 1</a>:\nBrian in Ohio on 2019-02-06:\n\"show notes\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2743#comments\" target=\"_blank\">hpr2743</a></strong>\n(2019-02-06) \"<em>Character build in the d20 system</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=2743#1\" target=\"_blank\">Comment 1</a>:\nTuula on 2019-02-06:\n\"Pleasure to listen to\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2754#comments\" target=\"_blank\">hpr2754</a></strong>\n(2019-02-21) \"<em>Craigslist Scam Catch</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0372.html\" target=\"_blank\">Edward Miro / c1ph0r</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2754#1\" target=\"_blank\">Comment 1</a>:\nklaatu on 2019-02-27:\n\"this episode\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2759#comments\" target=\"_blank\">hpr2759</a></strong>\n(2019-02-28) \"<em>Cleaning the Potentiometers on a Peavey Bandit 65</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=2759#1\" target=\"_blank\">Comment 1</a>:\nNYbill on 2019-02-28:\n\"Stepping on toes!\"</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/2019-February/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-February/thread.html</a>\n\n\n<h2>Any other business</h2>\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: <b><a href=\"https://hackerpublicradio.org/correspondents/0215.html\">windigo</a></b></p>\n<p>Over the period tags and/or summaries have been added to 24 shows which were without them.</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),
(2466,'2018-01-15','ShareX is awesome',447,'ShareX, for all your screenshot needs and more','<p>Find it at <a href=\"https://getsharex.com/\" class=\"uri\">https://getsharex.com/</a></p>',79,0,0,'CC-BY-SA','Windows, Screenshot, documentation',0,0,1),
(2468,'2018-01-17','THE WELL',408,'I record a video with audio on my fathers well setup in the sticks','<p>I record a video with audio on my fathers well setup in the sticks</p>\r\n<p><a href=\"https://rmccurdy.com/scripts/videos/rmccurdy_com/THE_WELL.mp4\" class=\"uri\">https://rmccurdy.com/scripts/videos/rmccurdy_com/THE_WELL.mp4</a></p>',36,0,1,'CC-BY-SA','well, pump, troubleshooting',0,0,1),
(2469,'2018-01-18','A flight itinerary in Bash',1065,'Working out dates and times in a Bash script','<h1 id=\"a-flight-itinerary-in-bash\">A flight itinerary in Bash</h1>\n<p>My daughter flew out to New Zealand before Christmas 2017 to spend some time with her brother, who had been there with his girlfriend since November. I saw her flight itinerary from the airline, but had no idea of how the times related to time back home, so I wrote a little Bash script to calculate times in UTC (my local timezone).</p>\n<p>Both of my children have travelled a fair bit in the past few years. I like to keep track of where they are and how they are progressing through their journeys because otherwise I tend to worry. This one was a reasonably simple journey, two flights via Doha in Qatar, with not too long a wait between them. The overall journey was <em>long</em> of course.</p>\n<p>When my daughter flew out to Indonesia in 2015 (4 flights and a boat trip, over 38 hours travel time) I built a spreadsheet. Just whatever provides a good distraction!</p>\n<p><a href=\"hpr2469_full_shownotes.html\">The rest of the notes, including details of the <code>date</code> command and the script I wrote can be found here.</a></p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li>GNU documentation for <a href=\"https://www.gnu.org/software/coreutils/manual/html_node/date-invocation.html#date-invocation\"><code>date</code></a> (You can also use <code>man date</code> or <code>info date</code> for the full details. I prefer the HTML version because I don\'t like the <code>info</code> tool very much).</li>\n<li>The <a href=\"https://www.gnu.org/software/bash/manual/bash.html\">GNU Bash Reference Manual</a></li>\n<li>Dann Wasko\'s <em>&quot;Linux in the Shell&quot;</em> episode <a href=\"http://hackerpublicradio.org/eps/hpr1182\"><em>hpr1182 :: LiTS 023: Date</em></a>, which is full of useful information.</li>\n<li>Resources:\n<ul>\n<li>The script I wrote, called <a href=\"hpr2469_edi_akl\"><code>edi_akl</code></a> (named to denote the starting and ending airports).</li>\n</ul></li>\n</ul>\n',225,42,1,'CC-BY-SA','Bash,date,ISO 8601,epoch',0,0,1),
(2470,'2018-01-19','Obamacare Update At The End Of 2017',798,'Where is US Health Care policy as we head into 2018?','<p>In 2017 Obamacare was the subject of a great deal of political jockeying, and yet by the end of the year almost nothing changed. So what happened, and why?</p>\r\n<ul>\r\n<li><a href=\"https://www.theguardian.com/us-news/2017/jun/26/koch-network-piggy-banks-closed-republicans-healthcare-tax-reform\" class=\"uri\">https://www.theguardian.com/us-news/2017/jun/26/koch-network-piggy-banks-closed-republicans-healthcare-tax-reform</a></li>\r\n<li><a href=\"https://www.foxbusiness.com/politics/2017/06/26/gop-donors-close-checkbooks-frustrated-with-lack-progress-on-taxes-health-care.html\" class=\"uri\">https://www.foxbusiness.com/politics/2017/06/26/gop-donors-close-checkbooks-frustrated-with-lack-progress-on-taxes-health-care.html</a></li>\r\n<li><a href=\"https://fortune.com/2017/12/21/obamacare-enrollment-surge-despite-trump/\" class=\"uri\">https://fortune.com/2017/12/21/obamacare-enrollment-surge-despite-trump/</a></li>\r\n<li><a href=\"https://www.washingtonpost.com/blogs/plum-line/wp/2017/12/27/republicans-failure-on-health-care-is-even-greater-than-they-realize/\" class=\"uri\">https://www.washingtonpost.com/blogs/plum-line/wp/2017/12/27/republicans-failure-on-health-care-is-even-greater-than-they-realize/</a></li>\r\n<li><a href=\"https://www.palain.com/?page_id=325\" class=\"uri\">https://www.palain.com/?page_id=325</a></li>\r\n</ul>\r\n',198,100,0,'CC-BY-SA','Health Insurance, Health Policy, Insurance Marketplace, Obamacare',0,0,1),
(2479,'2018-02-01','Intergraph workstation',1725,'My rebuild of my Intergraph workstation','<p>Been going through my old work servers.</p>\r\n<p>They typically run until I can\'t update them anymore and then sit not used until I have a bit of free time. So I have an old intergraph box in it that I new pentium 4 motherboard from about 8 years back. I had the receipt taped to the inside of the box. And the Expense statement from work. I had centos 6.0 on it try as it must It got no more updates and repros. It also has a weak PSU as I had to remove the DVD and graphics card to get to work.</p>\r\n<p>About intergraph:</p>\r\n<blockquote>\r\n<p>Intergraph Corporation is an American software development and services company. It provides enterprise engineering and geospatially powered software to businesses, governments, and organizations around the world. Intergraph operates through three divisions: Hexagon PPM, Hexagon Safety &amp; Infrastructure, and Hexagon Geospatial. The company\'s headquarters is in Huntsville, Alabama, USA. In 2008, Intergraph was one of the 100 largest software companies in the world. In 2010, Intergraph was acquired by Hexagon AB. Intergraph was founded in 1969 as M&amp;S Computing, Inc., by former IBM engineers who had been working with NASA and the U.S. Army in developing systems that would apply digital computing to real-time missile guidance. The company was later renamed to Intergraph Corporation in 1980. In 2000, Intergraph exited the hardware business and became purely a software company. On July 21, 2000, it sold its Intense3D graphics accelerator division to 3Dlabs, and its workstation and server division to Silicon Graphics. The companies incorporated SmartSketch, a drawing program used previously for the PenPoint OS and EO tablet computer. When Pen computing did not take off, SmartSketch was ported to the Windows and Macintosh platforms. <a href=\"https://www.cnet.com/news/intergraph-delivers-cheap-workstations/\" class=\"uri\">https://www.cnet.com/news/intergraph-delivers-cheap-workstations/</a></p>\r\n</blockquote>\r\n<p>The new TD-300 and TD-400 &quot;Personal Workstations&quot; offer 3D graphics capabilities equal to or below the prices of PCs configured as 3D workstations, the company said. The TD-300 and TD-400 Personal Workstations are available immediately, with prices starting at $5,495. <a href=\"https://www.intergraph.com/about_us/history_90s.aspx\" class=\"uri\">https://www.intergraph.com/about_us/history_90s.aspx</a></p>\r\n<p>So the box now has a Pentium 4 dual core in it which is 64 bit. This chip is 2004-2007. <a href=\"https://en.wikipedia.org/wiki/Pentium_4\" class=\"uri\">https://en.wikipedia.org/wiki/Pentium_4</a></p>\r\n<p>So I have the ubuntu 32 bit work. And Suse Enterprise 12, tumbleweed and leap on hyperV. I had my Transmeta box on Debian I386 32 bit. So I need a redhat flavor. Since its 64 bit I picked CentOS. <a href=\"https://www.centos.org/\" class=\"uri\">https://www.centos.org/</a></p>\r\n<p>What is CentOS?</p>\r\n<blockquote>\r\n<p>CentOS (/ˈsɛntɒs/, from Community Enterprise Operating System) is a Linux distribution that attempts to provide a free, enterprise-class, community-supported computing platform functionally compatible with its upstream source, Red Hat Enterprise Linux (RHEL). In January 2014, CentOS announced the official joining with Red Hat while staying independent from RHEL, under a new CentOS governing board. In July 2010, CentOS overtook Debian to become the most popular Linux distribution for web servers, with almost 30% of all Linux web servers using it. Debian retook the lead in January 2012.</p>\r\n<p>In January 2014, Red Hat announced that it would sponsor the CentOS project, &quot;helping to establish a platform well-suited to the needs of open source developers that integrate technologies in and around the operating system&quot;. As a result of these changes, ownership of CentOS trademarks was transferred to Red Hat, which now employs most of the CentOS head developers; however, they work as part of Red Hat\'s Open Source and Standards team, which operates separately from the Red Hat Enterprise Linux team. A new CentOS governing board was also established.</p>\r\n<p>CentOS developers use Red Hat\'s source code to create a final product very similar to RHEL. Red Hat\'s branding and logos are changed because Red Hat does not allow them to be redistributed. CentOS is available free of charge. Technical support is primarily provided by the community via official mailing lists, web forums, and chat rooms. CentOS version numbers for releases older than 7.0 have two parts, a major version and a minor version, which correspond to the major version and update set of Red Hat Enterprise Linux (RHEL) used to build a particular CentOS release. For example, CentOS 6.5 is built from the source packages of RHEL 6 update 5 (also known as RHEL version 6.5), which is a so-called &quot;point release&quot; of RHEL 6.</p>\r\n<p>Starting with version 7.0, CentOS version numbers also include a third part that indicates the monthstamp of the source code the release is based on. For example, version number 7.0-1406 still maps this CentOS release to the zeroth update set of RHEL 7, while &quot;1406&quot; indicates that the source code this release is based on dates from June 2014. Using the monthstamp allows installation images to be reissued for (as of July 2014) oncoming container and cloud releases, while maintaining a connection to the related base release version.</p>\r\n<p>Since mid-2006 and starting with RHEL version 4.4, which is formally known as Red Hat Enterprise Linux 4.0 update 4, Red Hat has adopted a version-naming convention identical to that used by CentOS (for example, RHEL 4.5 or RHEL 6.5). AltArch releases are released by the Alternative Architecture Special Interest Group (AltArch SIG) to supporThere are three primary CentOS repositories (also known as channels), containing software packages that make up the main CentOS distribution: base - contains packages that form CentOS point releases, and gets updated when the actual point release is formally made available in form of ISO images. updates - contains packages that serve as security, bugfix or enhancement updates, issued between the regular update sets for point releases. Bugfix and enhancement updates released this way are only those unsuitable to be released through the CentOS-Fasttrack repository described below. addons - provides packages required for building the packages that make up the main CentOS distribution, but are not provided by the upstream. The CentOS project provides several additional repositories that contain software packages not provided by the default base and updates repositories. Those repositories include the following: CentOS Extras - contains packages that provide additional functionality to CentOS without breaking its upstream compatibility or updating the base components. CentOSPlus - contains packages that actually upgrade certain base CentOS components, changing CentOS so that it is not exactly like the upstream provider\'s content. CentOS-Testing - serves as a proving ground for packages on their way to CentOSPlus and CentOS Extras. Offered packages may or may not replace core CentOS packages, and are not guaranteed to work properly. CentOS-Fasttrack - contains bugfix and enhancement updates issued from time to time, between the regular update sets for point releases. The packages released this way serve as close candidates for the inclusion into the next point release. This repository does not provide security updates, and does not contain packages unsuitable for uncertain inclusion into point releases. CR (Continuous Release) - makes generally available packages that will appear in the next point release of CentOS. The packages are made available on a testing and hotfix basis, until the actual point release is formally released in form of ISO images. debuginfo - contains packages with debugging symbols generated when the primary packages were built contrib - contains packages contributed by CentOS users that do not overlap with any of the core distribution packages Software Collections - provides versions of software newer than those provided by the base distribution, see above for more details</p>\r\n</blockquote>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/CentOS\" class=\"uri\">https://en.wikipedia.org/wiki/CentOS</a></li>\r\n<li><a href=\"https://wiki.centos.org/FrontPage\" class=\"uri\">https://wiki.centos.org/FrontPage</a></li>\r\n</ul>\r\n<p>The end of support on my box is currently 2024. During my setup I let the centos do something with LVM the drive had two WD 320GB disks. One was very hot so I moved it so it have some more air.</p>\r\n<p>LVM:</p>\r\n<blockquote>\r\n<p>In Linux, Logical Volume Manager (LVM) is a device mapper target that provides logical volume management for the Linux kernel. Most modern Linux distributions are LVM-aware to the point of being able to have their root file systems on a logical volume.</p>\r\n<p>Heinz Mauelshagen wrote the original LVM code in 1998, taking its primary design guidelines from the HP-UX\'s volume manager. LVM is used for the following purposes: Creating single logical volumes of multiple physical volumes or entire hard disks (somewhat similar to RAID 0, but more similar to JBOD), allowing for dynamic volume resizing. Managing large hard disk farms by allowing disks to be added and replaced without downtime or service disruption, in combination with hot swapping. On small systems (like a desktop), instead of having to estimate at installation time how big a partition might need to be, LVM allows filesystems to be easily resized as needed. Performing consistent backups by taking snapshots of the logical volumes. LVM can be considered as a thin layer of continuity and ease-of-use for managing hard drive replacement, repartitioning and backup. software layer on top of the hard disks and partitions, which creates an abstraction Basic functionality Volume groups (VGs) can be resized online by absorbing new physical volumes (PVs) or ejecting existing ones. Logical volumes (LVs) can be resized online by concatenating extents onto them or truncating extents from them. LVs can be moved between PVs. Creation of read-only snapshots of logical volumes (LVM1), or read-write snapshots (LVM2). VGs can be split or merged in situ as long as no LVs span the split. This can be useful when migrating whole LVs to or from offline storage. LVM objects can be tagged for administrative convenience. VGs and LVs can be made active as the underlying devices become available through use of the lvmetad daemon.</p>\r\n</blockquote>\r\n<p>Setup with CentOS is not as simple as linux mint or ubuntu and very different than debian. You have to click and know a little about what you doing. For me with the basic 500GB install disk I got only a bare server with ssh. The machine was having power issues and would not boot from a usb stick so I had to go through 4 different DVD drives until I found one that worked with the DVD-R format. I had to use another deskop and power the DVD threw the other desk up connecting only the sata port the IDE drive was not working well either on this old board.</p>\r\n<p>I had to remove the old centos 6 from the drives using Gparted. There were errors with the gparted but the centos installer worked great after I removed ext4 part of the lvms.</p>\r\n<p>GParted is a free partition editor for graphically managing your disk partitions.</p>\r\n<p>With GParted you can resize, copy, and move partitions without data loss,</p>\r\n<p>Getting the mirrors working and getting it to work through a fire wall was pretty hard I had to make two config changes to the yum.conf one with the proxy address and the other to allow http cache. I also used <code>export_proxy=</code> to get it work globally. I had really trouble finding a fast mirror but I did not give up hope after a while it found fast mirrors that I got over 2MB per second from.</p>\r\n<p>So I installed Gnome and made boot up at startup I will install x2go or vncserver on it also just in case I need it.</p>\r\n<p>After some time of playing with it I was able to get it to fully update.</p>\r\n<p>I then moved to the server room, got the IP address and connected it it from putty. I think the advantage of this box is that I will always have a Redhat 7 install ready to demo or learn something without having to setup a lot of things.</p>\r\n<h2 id=\"links\">Links</h2>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Intergraph\" class=\"uri\">https://en.wikipedia.org/wiki/Intergraph</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/CentOS\" class=\"uri\">https://en.wikipedia.org/wiki/CentOS</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)\" class=\"uri\">https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)</a></li>\r\n</ul>\r\n',129,0,0,'CC-BY-SA','Intergraph Corporation, Pentium 4, CentOS, Logical Volume Manager',0,0,1),
(2480,'2018-02-02','What\'s In My Podcatcher 1',1067,'A current report, with descriptions, of the podcasts I enjoy','<p>I listen to many podcasts as my primary form of audio entertainment, and because Hacker Public Radio listeners also tend to be podcast listeners (pretty much by definition) I am sharing my finds with the community. Besides, Ken made me do it.</p>\r\n<p>Links:</p>\r\n<ul>\r\n<li><a href=\"https://www.alphabeatical.com/\" class=\"uri\">https://www.alphabeatical.com/</a></li>\r\n<li><a href=\"https://altonbrown.com/tag/podcast/\" class=\"uri\">https://altonbrown.com/tag/podcast/</a></li>\r\n<li><a href=\"https://www.astronomycast.com/\" class=\"uri\">https://www.astronomycast.com/</a></li>\r\n<li><a href=\"https://www.benfranklinsworld.com/\" class=\"uri\">https://www.benfranklinsworld.com/</a></li>\r\n<li><a href=\"https://www.bigfinish.com/podcasts\" class=\"uri\">https://www.bigfinish.com/podcasts</a></li>\r\n<li><a href=\"https://theensembleproject.com/cadence/\" class=\"uri\">https://theensembleproject.com/cadence/</a></li>\r\n<li><a href=\"https://thecommandline.net/\" class=\"uri\">https://thecommandline.net/</a></li>\r\n<li><a href=\"https://www.dancarlin.com/common-sense-home-landing-page/\" class=\"uri\">https://www.dancarlin.com/common-sense-home-landing-page/</a></li>\r\n<li><a href=\"https://www.sneakydragon.com/category/podcast/compleatly-beatles/\" class=\"uri\">https://www.sneakydragon.com/category/podcast/compleatly-beatles/</a></li>\r\n<li><a href=\"https://www.dancarlin.com/hardcore-history-60-the-celtic-holocaust/\" class=\"uri\">https://www.dancarlin.com/hardcore-history-60-the-celtic-holocaust/</a></li>\r\n<li><a href=\"https://www.fab4free4all.com/\" class=\"uri\">https://www.fab4free4all.com/</a></li>\r\n<li><a href=\"https://soundcloud.com/fabcast-870039074\" class=\"uri\">https://soundcloud.com/fabcast-870039074</a></li>\r\n<li><a href=\"https://fivethirtyeight.com/tag/politics-podcast/\" class=\"uri\">https://fivethirtyeight.com/tag/politics-podcast/</a></li>\r\n<li><a href=\"https://www.palain.com\" class=\"uri\">https://www.palain.com</a></li>\r\n</ul>\r\n',198,75,0,'CC-BY-SA','Podcasts',0,0,1),
(2490,'2018-02-16','What\'s In My Podcatcher 2',959,'A current report, with descriptions, of the podcasts I enjoy','<p>I listen to many podcasts as my primary form of audio entertainment, and because Hacker Public Radio listeners also tend to be podcast listeners (pretty much by definition) I am sharing my finds with the community. Besides, Ken made me do it.</p>\r\n<p>Links:</p>\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org\" class=\"uri\">https://hackerpublicradio.org</a></li>\r\n<li><a href=\"https://soundcloud.com/healthcaretriage\" class=\"uri\">https://soundcloud.com/healthcaretriage</a></li>\r\n<li><a href=\"https://thehistoryofrome.typepad.com/\" class=\"uri\">https://thehistoryofrome.typepad.com/</a></li>\r\n<li><a href=\"https://www.ihearofsherlock.com/\" class=\"uri\">https://www.ihearofsherlock.com/</a></li>\r\n<li><a href=\"https://www.bbc.co.uk/programmes/b00snr0w/episodes/downloads\" class=\"uri\">https://www.bbc.co.uk/programmes/b00snr0w/episodes/downloads</a></li>\r\n<li><a href=\"https://inquiring.show/\" class=\"uri\">https://inquiring.show/</a></li>\r\n<li><a href=\"https://imagination.ucsd.edu/_wp/feed/podcast/\" class=\"uri\">https://imagination.ucsd.edu/_wp/feed/podcast/</a></li>\r\n<li><a href=\"https://www.katebushnews.com/index.php/category/www-katebushnews-com/kate-bush-fan-podcast/\" class=\"uri\">https://www.katebushnews.com/index.php/category/www-katebushnews-com/kate-bush-fan-podcast/</a></li>\r\n<li><a href=\"https://podnutz.com/category/linux-for-the-rest-of-us/\" class=\"uri\">https://podnutz.com/category/linux-for-the-rest-of-us/</a></li>\r\n<li><a href=\"https://www.linuxvoice.com/category/podcasts/\" class=\"uri\">https://www.linuxvoice.com/category/podcasts/</a></li>\r\n<li><a href=\"https://mugglecast.com/\" class=\"uri\">https://mugglecast.com/</a></li>\r\n<li><a href=\"https://www.nature.com/nature/podcast/index.html\" class=\"uri\">https://www.nature.com/nature/podcast/index.html</a></li>\r\n<li><a href=\"https://www.palain.com\" class=\"uri\">https://www.palain.com</a></li>\r\n</ul>\r\n',198,75,0,'CC-BY-SA','Podcasts',0,0,1),
(2467,'2018-01-16','I randomly talk about my laptops',574,'Random talk about my laptops and the linux distros that are on them','<p>Just decided to start talking about my laptops after I installed Ubuntu Mate 16.04 to my x60.</p>',297,0,0,'CC-BY-SA','laptop, linux, fun, computers',0,0,1),
(2472,'2018-01-23','Forum Failure',1000,'Lostnbronx talks about his recent experiment in running a forum.','<p>In 2017 I created a forum over at Proboards dedicated to my audio work and writing. It didn\'t attract a user base, and I deleted it when 2018 rolled around.</p>\r\n<p>These are just some thoughts about why I wanted it to begin with, and why I think it failed.</p>\r\n<p>I still believe Proboards is a good way to jump into forums and using forum software, and still recommend it for that reason:</p>\r\n<p><a href=\"https://proboards.com/\" class=\"uri\">https://proboards.com/</a></p>\r\n<p>Here are some of my projects mentioned briefly in this episode:</p>\r\n<ul>\r\n<li><a href=\"https://www.cavalcadeaudio.com/\" class=\"uri\">https://www.cavalcadeaudio.com/</a></li>\r\n<li><a href=\"https://downloads.cavalcadeaudio.com/lnbsaudiodiary/?p=home\" class=\"uri\">https://downloads.cavalcadeaudio.com/lnbsaudiodiary/?p=home</a></li>\r\n</ul>\r\n',107,0,0,'CC-BY-SA','forum,lostnbronx,platform,community',0,0,1),
(2473,'2018-01-24','Frotz - A Portable Z-Machine Interpreter',608,'How to use Frotz to play those old Infocom text adventure games from the 80s.','<p>Frotz is an interpreter for Infocom games (like Zork) and other Z-machine games. You can install it via your respective package manager or download the source code from the URLs below.</p>\r\n<ul>\r\n<li>Website: <a href=\"https://frotz.sourceforge.net\" class=\"uri\">https://frotz.sourceforge.net</a></li>\r\n<li>Github: <a href=\"https://github.com/DavidGriffith/frotz/\" class=\"uri\">https://github.com/DavidGriffith/frotz/</a></li>\r\n</ul>\r\n',152,0,0,'CC-BY-SA','Frotz,Z-code,Z-machine,Interactive Fiction',0,0,1),
(2474,'2018-01-25','Open Source Gaming #3 The Atari Jaguar',832,'Episode 3 is about the Atari Jaguar which has been open source since 1999','<a href=\"https://www.atariage.com/Jaguar/archives/HasbroRights.html\">https://www.atariage.com/Jaguar/archives/HasbroRights.html</a>\r\n\r\n<pre>\r\nHasbro Releases Jaguar Publishing Rights\r\nFOR IMMEDIATE RELEASE:\r\nCONTACTS:\r\nDana Henry\r\nHasbro Interactive\r\n978-921-3759\r\ndhenry@hasbro.com\r\n\r\nBeverly, MA (May 14, 1999) - Leading entertainment software publisher, \r\nHasbro Interactive announced today it has released all rights that it \r\nmay have to the vintage Atari hardware platform, the Jaguar.\r\n\r\nHasbro Interactive acquired rights to many Atari properties, including \r\nthe legendary Centipede, Missile Command, and Pong games, in a March \r\n1998 acquisition from JTS Corporation.\r\n\r\nThis announcement will allow software developers to create and publish \r\nsoftware for the Jaguar system without having to obtain a licensing \r\nagreement with Hasbro Interactive for such platform development. \r\nHasbro Interactive cautioned, however, that the developers should not \r\nuse the Atari trademark or logo in connection with their games or \r\npresent the games as authorized or approved by Hasbro Interactive.\r\n\r\n\"Hasbro Interactive is strictly focused on developing and publishing \r\nentertainment software for the PC and the next generation game \r\nconsoles,\" said Richard Cleveland, Head of Marketing for Hasbro \r\nInteractive\'s Atari Business Unit. \"We realize there is a passionate \r\naudience of diehard Atari fans who want to keep the Jaguar system alive, \r\nand we don\'t want to prevent them from doing that. We will not interfere \r\nwith the efforts of software developers to create software for the \r\nJaguar system.\"\r\n\r\nHasbro Interactive, Inc. is a leading all-family interactive games \r\npublisher, formed in 1995 to bring to life on the computer the deep \r\nlibrary of toy and board games of parent company, Hasbro, Inc. (ASE:HAS). \r\nHasbro Interactive has expanded its charter to include original and \r\nlicensed games for the PC, the Playstation(R) and Nintendo(R) 64 game \r\nconsoles and for multi-player gaming over the internet. Headquartered \r\nin Beverly, Massachusetts, Hasbro Interactive has offices in the U.K., \r\nFrance, Germany, Japan and Canada. For more information, visit the \r\nHasbro Interactive Web site at https://www.hasbro-interactive.com.\r\n</pre>',354,0,1,'CC-BY-SA','Atari Corporation, Atari Jaguar',0,0,1),
(2475,'2018-01-26','Information Underground -- Sex, Drugs, and Rock-n-Roll',2601,'The IU guys examine the first Sexual Revolution in America, back during Prohibition.','<p>Deepgeek, Klaatu, and Lostnbronx look back at the flappers and speakeasies of the 1920\'s and 30\'s, and attempt to draw a line from the newly independent women of that era, up through the Playboy Bunnies of the 1950\'s, all the way to today.</p>\r\n<p>Are things better or worse? Is what we &quot;know&quot; about history really important? And do the Info-Underground boys have any clue what they\'re even talking about?</p>',107,99,1,'CC-0','sex,alcohol,women,prohibition,freedom,history,pornography,oppression,playboy,hugh hefner',0,0,1),
(2483,'2018-02-07','Useful Bash functions - part 4',2386,'A Bash function for parsing lists of numbers and ranges','<h1 id=\"useful-bash-functions---part-4\">Useful Bash functions - part 4</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This is the fourth show about the Bash functions I use, and it may be the last unless I come up with something else that I think might be of general interest.</p>\n<p>There is only one function to look at this time, but it\'s fairly complex so needs an entire episode devoted to it.</p>\n<p>As before it would be interesting to receive feedback on this function and would be great if other Bash users contributed ideas of their own.</p>\n<h2 id=\"full-notes\">Full Notes</h2>\n<p>Since the notes explaining this subject are long, <a href=\"hpr2483_full_shownotes.html\">they have been placed in a file on the server</a>.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li>The <a href=\"https://www.gnu.org/software/bash/manual/bash.html\">GNU Bash Reference Manual</a>\n<ul>\n<li><a href=\"https://www.gnu.org/software/bash/manual/bash.html#ANSI_002dC-Quoting\">ANSI-C Quoting</a> section</li>\n</ul></li>\n<li>Previous HPR episodes in this group <em>Useful Bash functions</em>:\n<ul>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr1757\">Part 1</a>: \'<code>pad</code>\' and \'<code>yes_no</code>\' functions</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2096\">Part 2</a>: \'<code>yes_no</code>\' revisited</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2448\">Part 3</a>: \'<code>read_value</code>\', \'<code>check_value</code>\' and \'<code>read_and_check</code>\'</li>\n</ul></li>\n<li>Download the <a href=\"hpr2483_range_parse.sh\"><em>range_parse</em></a> function and the <a href=\"hpr2483_range_demo.sh\"><em>range_demo.sh</em></a> test script.</li>\n</ul>\n',225,42,1,'CC-BY-SA','coding,Bash,script,function',0,0,1),
(2500,'2018-03-02','What\'s In My Podcatcher 3',1272,'A current report, with descriptions, of the podcasts I enjoy','<p>I listen to many podcasts as my primary form of audio entertainment, and because Hacker Public Radio listeners also tend to be podcast listeners (pretty much by definition) I am sharing my finds with the community. Besides, Ken made me do it.</p>\r\n<h3 id=\"links\">Links:</h3>\r\n<ul>\r\n<li><a href=\"https://soundcloud.com/guitar-player-magazine\" class=\"uri\">https://soundcloud.com/guitar-player-magazine</a></li>\r\n<li><a href=\"https://www.planetary.org/multimedia/planetary-radio/\" class=\"uri\">https://www.planetary.org/multimedia/planetary-radio/</a></li>\r\n<li><a href=\"https://revisionisthistory.com/\" class=\"uri\">https://revisionisthistory.com/</a></li>\r\n<li><a href=\"https://www.revolutionspodcast.com/\" class=\"uri\">https://www.revolutionspodcast.com/</a></li>\r\n<li><a href=\"https://www.sciencefriday.com/podcast/\" class=\"uri\">https://www.sciencefriday.com/podcast/</a></li>\r\n<li><a href=\"https://www.scientificamerican.com/podcast/science-talk/\" class=\"uri\">https://www.scientificamerican.com/podcast/science-talk/</a></li>\r\n<li><a href=\"https://www.scientificamerican.com/podcast/60-second-science/\" class=\"uri\">https://www.scientificamerican.com/podcast/60-second-science/</a></li>\r\n<li><a href=\"https://twit.tv/shows/security-now\" class=\"uri\">https://twit.tv/shows/security-now</a></li>\r\n<li><a href=\"https://www.sherlockholmespodcast.com/\" class=\"uri\">https://www.sherlockholmespodcast.com/</a></li>\r\n<li><a href=\"https://somethingaboutthebeatles.com/\" class=\"uri\">https://somethingaboutthebeatles.com/</a></li>\r\n<li><a href=\"https://nakedsecurity.sophos.com/category/audio-and-video/podcast/\" class=\"uri\">https://nakedsecurity.sophos.com/category/audio-and-video/podcast/</a></li>\r\n<li><a href=\"https://www.startalkradio.net/\" class=\"uri\">https://www.startalkradio.net/</a></li>\r\n<li><a href=\"https://swingingthroughthesixties.com/\" class=\"uri\">https://swingingthroughthesixties.com/</a></li>\r\n<li><a href=\"https://beatlesexaminer.podbean.com/\" class=\"uri\">https://beatlesexaminer.podbean.com/</a></li>\r\n<li><a href=\"https://twit.tv/shows/this-week-in-google\" class=\"uri\">https://twit.tv/shows/this-week-in-google</a></li>\r\n<li><a href=\"https://twit.tv/shows/this-week-in-tech\" class=\"uri\">https://twit.tv/shows/this-week-in-tech</a></li>\r\n<li><a href=\"https://twit.tv/shows/triangulation\" class=\"uri\">https://twit.tv/shows/triangulation</a></li>\r\n<li><a href=\"https://www.undiscoveredpodcast.org/\" class=\"uri\">https://www.undiscoveredpodcast.org/</a></li>\r\n<li><a href=\"https://www.welcometonightvale.com/\" class=\"uri\">https://www.welcometonightvale.com/</a></li>\r\n<li><a href=\"https://smlr.us/\" class=\"uri\">https://smlr.us/</a></li>\r\n<li><a href=\"https://www.palain.com\" class=\"uri\">https://www.palain.com</a></li>\r\n</ul>\r\n',198,75,1,'CC-BY-SA','Podcasts',0,0,1),
(2510,'2018-03-16','26 - Diffie-Hellman-Merkle Key Exchange',1231,'A basic explanation of how Diffie-Hellman-Merkle Key Exchange works','<p>Diffie-Hellman Key Exchange is based on work initially done by Ralph Merkle, and remains one of the key developments in secure communication over the Internet. In this episode I try to explain just how this works, with an example of a calculated key exchange.</p>\r\n<p>For more go to <a href=\"https://www.zwilnik.com/?page_id=955\" class=\"uri\">https://www.zwilnik.com/?page_id=955</a></p>\r\n<h3 id=\"links\">Links</h3>\r\n<ul>\r\n<li><a href=\"https://ee.stanford.edu/~hellman/publications/24.pdf\" class=\"uri\">https://ee.stanford.edu/~hellman/publications/24.pdf</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Modular_arithmetic\" class=\"uri\">https://en.wikipedia.org/wiki/Modular_arithmetic</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Discrete_logarithm\" class=\"uri\">https://en.wikipedia.org/wiki/Discrete_logarithm</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Man-in-the-middle_attack\" class=\"uri\">https://en.wikipedia.org/wiki/Man-in-the-middle_attack</a></li>\r\n<li><a href=\"https://www.zwilnik.com/?page_id=955\" class=\"uri\">https://www.zwilnik.com/?page_id=955</a></li>\r\n</ul>\r\n',198,74,0,'CC-BY-SA','Diffie-Hellman, Encryption',0,0,1),
(2476,'2018-01-29','Gnu Awk - Part 9',1956,'In part 9 of the series, we discuss the printf function','<h1 id=\"awk-series-part-9---printf\">Awk Series Part 9 - printf</h1>\n<p>The <code>printf</code> function allows for greater control over the output, in comparison to <code>print</code>.</p>\n<p>To follow along, you can either use these show notes or refer to <a href=\"https://www.gnu.org/software/gawk/manual/gawk.html\">the gawk manual</a>.</p>\n<p>There are 3 main areas to cover:</p>\n<ul>\n<li>Basic <code>printf</code> syntax</li>\n<li>Format Control letters</li>\n<li>Format modifiers</li>\n</ul>\n<h2 id=\"syntax\">Syntax</h2>\n<pre><code>printf format, item1, item2, …</code></pre>\n<p>The big difference in the syntax of printf statements is the <em>format</em> argument. It allows you to use complex formatting and layouts for outputs. Unlike <code>print</code>, <code>printf</code> does not automatically start a new line after the function. This can be useful when you want to print all of the items in a column on a single line.</p>\n<p>For example, remember the example file, file1.csv:</p>\n<pre><code>name,color,amount\napple,red,4\nbanana,yellow,6\nstrawberry,red,3\ngrape,purple,10\napple,green,8\nplum,purple,2\nkiwi,brown,4\npotato,brown,9\npineapple,yellow,5</code></pre>\n<p>Look at the difference between the following outputs:</p>\n<pre><code>awk -F, &#39;NR!=1{print &quot;Color&quot;, $2, &quot;has&quot;, $3}&#39; file1.csv</code></pre>\n<p>and</p>\n<pre><code>awk -F, &#39;NR!=1{printf &quot;Color %s has %s. &quot;, $2, $3}&#39; file1.csv</code></pre>\n<h2 id=\"control-letters\">Control Letters</h2>\n<p>Control letters control or cast the output to specific types. Use it as a way to convert ints to floats, ints to chars, etc.</p>\n<p><code>%c</code> = to char. <code>printf &quot;%c&quot;, 65</code> prints a<br />\n<code>%i</code>, <code>%d</code> = to int. <code>printf &quot;%i&quot;, 3.4</code> prints 3<br />\n<code>%f</code> = to float. <code>printf &quot;%c&quot;, 65</code> prints 65.000000<br />\n<code>%e</code>, <code>%E</code> = to scientific notation. <code>printf &quot;%e&quot;, 65</code> prints 6.500000e+01. If you use <code>%E</code> will use a capital E instead of e.<br />\n<code>%g</code> = to either scientific notation or int. <code>printf &quot;%.2g&quot;, 65</code> prints 65, while <code>printf &quot;%.1g&quot;, 65</code> prints 6e+01<br />\n<code>%s</code> = to string. <code>printf &quot;%s&quot;, 65</code> prints 65<br />\n<code>%u</code> = to unsigned int. <code>printf &quot;%u&quot;, -6</code> prints 18446744073709551610</p>\n<p>There are others. See documentation.</p>\n<h2 id=\"formatting\">Formatting</h2>\n<p><code>N$</code> = positional specifier. <code>printf &quot;%2$s %1$s&quot;, &quot;second&quot;, &quot;first&quot;</code><br />\n<code>n</code> = spaces to the left of the string.<br />\n<code>-n</code> = spaces to the right of string.<br />\n<code>space</code> = prefix positive numbers with a space, negative numbers with a -<br />\n<code>+</code> = prefix all numbers with a sign (either + or -)<br />\n<code>0n</code> = leading 0\'s before input. <code>printf &quot;%03i&quot;, 65</code> prints 065.<br />\n<code>\'</code> = comma place holder for thousands. <code>printf &quot;%\'i&quot;, 6500</code> prints 6,500</p>\n<p>Below is an (crude) illustration of how I like to think when formatting output:</p>\n<pre><code>          7          2\n├──────┼───────┼────┼──┤\n Color: RedXXXX Sum: X6</code></pre>\n<pre><code>       18            3\n├──────────────────╂───┤\n Total Sum:XXXXXXXX X34</code></pre>\n<p>See the following awk file</p>\n<pre><code>BEGIN {\n    FS=&quot;,&quot;;\n}\nNR != 1 {\n    a[$2]+=$3;\n    c+=$3;\n    d+=1;\n}\nEND {\n    for (b in a) {\n        printf &quot;Color: %-7s Sum: %2i\\n&quot;, b, a[b];\n    }\n    print &quot;----------------------&quot;\n    printf &quot;%-18s %3i\\n&quot;, &quot;Total Sum:&quot;, c;\n    printf &quot;%-18s %3i\\n&quot;, &quot;Total Count:&quot;, d;\n    printf &quot;%-18s %3.1f\\n&quot;, &quot;Mean:&quot;, c / d;\n}</code></pre>\n<p>This gives the following output:</p>\n<pre><code>Color: brown   Sum: 13\nColor: purple  Sum: 12\nColor: red     Sum:  7\nColor: yellow  Sum: 11\nColor: green   Sum:  8\n----------------------\nTotal Sum:          51\nTotal Count:         9\nMean:              5.7</code></pre>\n<h1 id=\"resources\">Resources</h1>\n<ol type=\"1\">\n<li><a href=\"https://www.gnu.org/software/gawk/manual/gawk.html#Printf\" class=\"uri\">https://www.gnu.org/software/gawk/manual/gawk.html#Printf</a></li>\n<li><a href=\"https://www.grymoire.com/Unix/Awk.html\" class=\"uri\">https://www.grymoire.com/Unix/Awk.html</a></li>\n<li><a href=\"https://datascienceatthecommandline.com/\" class=\"uri\">https://datascienceatthecommandline.com/</a></li>\n</ol>\n',300,94,1,'CC-BY-SA','awk,bash,Linux,command line',0,0,1),
(2477,'2018-01-30','Reading Audio Books While Distracted',610,'My attempt to solve the problem of listening to audio books when you can\'t fully concentrate. ','<p>Just a quick and dirty episode on my attempt to solve the problem of listening to audio books at work or anytime you can\'t fully concentrate on the important thing, the audio book, of course.</p>\r\n<h3 id=\"problem\">Problem</h3>\r\n<p>I have more time to listen to books than to read them. I have no issues listening to audio books on my commute or when taking walks. The problem occurs at work. I have about 4 hours a day I could be listening to audio books. Over the years I\'ve tried countless times, all with the same result. I get distracted by work and find I\'ve missed key parts of the story and end up listening to music or podcasts I don\'t mind missing instead.</p>\r\n<p>There\'s nothing wrong with music or podcasts I don\'t mind missing but that doesn\'t help with my growing list of books I want to \'read\'.</p>\r\n<p>I decided to treat this like a regular problem and break it down to see if I can find a solution to this problem.</p>\r\n<p>Here are the variable I have to play with. These might be different for you.</p>\r\n<ul>\r\n<li>Book in one file or broken into chapters</li>\r\n<li>Listening speed</li>\r\n</ul>\r\n<h3 id=\"design-goals\">Design goals</h3>\r\n<p>Be able to listen to an audio book and have reasonable comprehension. Super Simple. I can\'t be seen as messing around with my player more than whatever it is that\'s keeping me from my player :)</p>\r\n<p>Normally I listen to books in one large file because at one point in time it was easier for me to keep track of them in my player and bookmarking was easier for my little brain to handle. But I got to thinking this might solve the problem of wasted time when needing to repeat sections of the book. If the book were broken into pieces, I wouldn\'t need to repeat as often. I tried listening to 3 chapters at a time and had two issues. The first is that 3 chapters is still quite a bit of time and I was repeating sections I didn\'t need to repeat. For example, I might have been able to follow along with chapter 1 but not chapters 2 and 3. This meant repeating chapter 1 or messing around to manually skip chapter 1 when I repeat. Not good.</p>\r\n<p>The second issue I had when listening to 3 chapter chunks was spoilers. If I got distracted during chapter 1 but not chapter 3, chapter 3 would contain spoilers for chapter 1 and chapter 1 would be spoiled on the re-listen :)</p>\r\n<h3 id=\"solution\">Solution</h3>\r\n<p>As it turns out listening in 1 chapter chunks solved both of these issues. So now I play one chapter on a loop until I feel I comprehend it well enough and then move to the next. This reduces the time when I need to re-listen because I was distracted and is simple because I only need to mess with the player when I\'m ready to move to the next chapter.</p>\r\n<p>It also reduces the spoiler issue. While there are still spoilers, they are limited to spoiling the same chapter. A good enough compromise for me.</p>\r\n<p>As far as playback speed goes, I like to speed audio up when I can concentrate on the audio but prefer to listen at normal speed when I can\'t.</p>\r\n<h3 id=\"other-considerations\">Other considerations</h3>\r\n<p>Some content might lend itself more to being broken into chunks by time rather than chapters. After all, not all chapters are the same length and podcasts don\'t usually have chapters. Assuming I decide to stick with this approach, I\'ll probably try running podcasts which require one to pay attention through a script that splits them up into chunks based on duration and treat those chunks as chapters in books.</p>\r\n<p>If you try this and find it useful and/or have modifications, by all means, share.</p>\r\n<p>Also, if this is a well known technique, feel free to make fun of me. It\'ll be fun listening to the comments being read on the community news show.</p>\r\n',151,0,0,'CC-0','Audio book, reading',0,0,1),
(2478,'2018-01-31','City Of Masks - HPR_AudioBookClub',5187,'The HPR Audiobook Club reviews City Of Masks with author Mike Reeves-McMillan','<h3>SUMMARY</h3>\r\n<p>In this episode, the HPR_AudioBookClub discusses City Of Masks by Mike Reeves-Mc-Millian</p>\r\n<p>It\'s available from Scribl <a href=\"https://scribl.com/books/PC439/city-of-masks/\">https://scribl.com/books/PC439/city-of-masks/</a></p>\r\n<p>It is also available as a paperback or an ebook. https://www.amazon.com/City-Of-Masks-Mike-Reeves-Mcmillan/dp/0473122138</p>\r\n<h3>Non-Spoiler Thoughts</h3>\r\n<p> Pokey loved this AudioBook! It\'s one of his all time favorites. It ranks up there with Lester Del Ray\'s Badge of Infamy</p>\r\n<h3>BEVERAGE REVIEWS</h3>\r\n<p>As usual, the HPR_AudioBookClub took some time to review the beverages that each of us were drinking during the episode</p>\r\n<ul>\r\n<li>Thaj: No liquids.....can\'t pee......send help!</li>\r\n<li>x1101: <a href=\"https://www.beeradvocate.com/beer/profile/147/38470/\">Stone Sublimely Self-Righteous Ale</a></li>\r\n<li>pokey: Kentucky Bourbon Barrel Stout <a href=\"https://www.kentuckyale.com/kentucky-bourbon-barrel-stout\">https://www.kentuckyale.com/kentucky-bourbon-barrel-stout</a></li>\r\n<li>Mike Reeves-Mcmillan: Water. Tasty Shire water.</li>\r\n<li>Semioticrobotic: Tea</li>\r\n</ul>\r\n<h3>Things We Talked About</h3>\r\n<p>https://gplus.to/mikerm  will link to everything else. It\'s also where I hang out the most. I  post samples of whatever I\'m working on at the moment on G+ most  Saturdays, as part of the #saturdayscenes group.\r\n<br/>\r\nhttps://csidemedia.com/gryphonclerks is my blog. There\'s a signup link for the mailing list in the sidebar, or the direct link is: \r\n<br/>\r\nhttps://eepurl.com/vB-t5\r\n<br/>\r\nThere\'s  some member-only content for mailing list members, and I\'m planning to  release another piece of content for them soon (a 12,000-word novelette  in my Gryphon Clerks setting).</p>\r\n<p>Mike\'s G+ Page: https://gplus.to/mikerm </p>\r\n<h3>OUR NEXT AUDIOBOOK</h3>\r\n<p><strong><a href=\'https://scribl.com/books/PDB66/matcher-rules\'>Matcher Rules</a></strong> by Mary Holland</p>\r\n<h3>NEXT RECORDING</h3>\r\n<p>Our next book club recording will be 2015/02/10T23:00:00+00:00. <a href=\"https://en.wikipedia.org/wiki/ISO_8601#Times\">https://en.wikipedia.org/wiki/ISO_8601#Times</a>. If you\'d like a Google calendar invite, or if you\'d like to be on the HPR_AudioBookClub mailing list, please get in contact with us on  the HPR mailing list \'hpr at hackerpublicradio dot org\'</p>\r\n<h3>FURTHER RECOMMENDATIONS</h3>\r\n<h3>Other mostly unrelated points</h3>\r\n<p>Port knocking: https://www.portknocking.org/ </p>\r\n<p>Cask of Amontillado https://en.wikipedia.org/wiki/The_Cask_of_Amontillado </p>\r\n<p>NetSplits https://en.wikipedia.org/wiki/Netsplit </p>\r\n<p>Valerian Root https://www.subzin.com/quotes/M145312bbc/Fight+Club/Chew+some+Valerian+root+and+get+more+exercise </p>\r\n<h3>FEEDBACK</h3>\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. Please  leave a few words in the episode\'s comment section.\r\n <br/>As always; remember to visit the HPR contribution page HPR could really use your help right now.</p>\r\n<p><a href=\"https://hackerpublicradio.org/contribute.php\">https://hackerpublicradio.org/contribute.php</a></p>\r\n<p>Sincerely,\r\n <br/>The HPR_AudioBookClub</p>\r\n<p>P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.</p>\r\n<h3>OUR AUDIO</h3>\r\n<p>This episode was processed using Audacity <a href=\"https://audacity.sourceforge.net/\">https://audacity.sourceforge.net/</a>. We\'ve been making small adjustments to our audio mix each month in order to get the best possible sound. It\'s 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>Mumble uses a sample rate of 48kHz, but HPR requires a sample rate of   44.1kHz   so the first step in our audio process is to resample the  file  at   44.1kHz. Resampling can take a long time if you don\'t have  a  powerful   computer, and sometimes even if you do. If you record late  at  night,   like we do, you may want to start the task before you go  to  bed, and   save it first thing in the morning, so that the file is  ready  to go the   next time you are.</p>\r\n<p>Next we use the \"Compressor\" effect with the following settings:</P>\r\n <ul>\r\n  <li>Threshold: -30db</li>\r\n  <li>Noise Floor: -50db</li>\r\n  <li>Ratio: 3:1</li>\r\n  <li>Attack Time: 0.2sec</li>\r\n  <li>Decay Time: 1.0 sec</li>\r\n  <li>\"Make-up Gain for 0db after compressing\" and \"compress based on peaks\" were both left un-checked.</li>\r\n </ul>\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>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. We use the \"Truncate Silence\" effect with its default settings to minimize the silence between people speaking. When used with its 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>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>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 FTP server.</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','Audiobooks, City of Masks, Mike Reeves-McMillan',0,0,1),
(2482,'2018-02-06','lca2018: Katie McLaughlin',1368,'An interview with Katie McLaughlin at linux.conf.au 2018','<p>Clinton interviews Katie McLaughlin at linux.conf.au 2018 on her role with the conference as community liaison and as the lead organiser of PyCon Australia.</p>\r\n<p><small><small><em>Editor\'s Note: Corrected audio now available</em></small></small></p>\r\n',315,0,1,'CC-BY-SA','lca2018',0,0,1),
(2485,'2018-02-09','The Alien Brothers Podcast - S01E05 - I Saw the Invisible Man',4629,'Casper and Rutiger discuss the now-old-by-internet-standards news of New York Times piece about real','<p>Recorded December 23 2017</p>\r\n<p>All links are external.</p>\r\n<p><a href=\"https://www.goldminemag.com/articles/engineer-andy-johns-discusses-the-making-of-the-rolling-stones-exile-on-main-street\"><u>Real mobile recording platform</u></a>(recording <em>Exile on Main Street)</em></p>\r\n<p><a href=\"https://www.youtube.com/watch?v=NqUrl2N4GE4\"><u>&ldquo;</u><u>Let Me Drown&rdquo; by Soundgarden</u></a></p>\r\n<p><a href=\"https://www.accuradio.com/\"><u>T-Mobile AccuRadio Online</u></a></p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Slint\"><u>Slint</u></a>(band)</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Sonic_Youth\"><u>Sonic Youth</u></a>(band)</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Thurston_Moore\"><u>Thurston Moore&rsquo;s other bands</u></a></p>\r\n<p>&ldquo;<a href=\"https://www.nytimes.com/2017/12/16/us/politics/pentagon-program-ufo-harry-reid.html\"><u>Glowing Aura&rsquo;s and Black Money&rdquo; (the New York Times)</u></a></p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Robert_Bigelow\"><u>Robert Bigelow</u></a>(wikipedia)</p>\r\n<p><a href=\"https://consequenceofsound.net/2017/10/tom-delonges-new-ufo-academy-is-crowdfunding-a-spaceship/\"><u>Tom DeLonge&rsquo;s UFO Academy</u></a>(consequence of sound)</p>\r\n<p><a href=\"https://www.youtube.com/watch?v=-h8zs898lr4\"><u>Big Audio Dynamite &ldquo;Rush&rdquo;</u></a>(YouTube)</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Mick_Jones_(The_Clash_guitarist)\"><u>Mick Jones</u></a>(wikipedia)</p>\r\n<p><a href=\"https://www.amazon.com/Bass-Guitar-Tuning-Keys/b?ie=UTF8&amp;node=11968171\"><u>Buy tuning machines!</u></a>(amazon)</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Ministry_(band)\"><u>Ministry (band) </u></a>(wikipedia)</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/The_Elf_on_the_Shelf\"><u>The truth behind the Elf on the Shelf</u></a>(wikipedia)</p>\r\n<p><a href=\"https://twitter.com/LeeCamp?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor\"><u>Redacted </u></a>(twitter)</p>\r\n<p><a href=\"https://www.nationalreview.com/article/314025/how-did-harry-reid-get-rich-betsy-woodruff\"><u>How Did Harry Reid Get Rich?</u></a>(national review)</p>\r\n<p><a href=\"https://www.youtube.com/watch?v=ky_mhbKIe3M\"><u>Mr Show - &ldquo;Praying Machines&rdquo;</u></a>(youtube)</p>\r\n<p><a href=\"https://www.youtube.com/watch?v=KZkxR7x6qiM\"><u>The Firm (film)</u></a>(youtube)</p>\r\n<p><a href=\"https://www.loomisbros.com/lint-collectors.html\"><u>Link collector</u></a>(Loomis Bros)</p>\r\n<p><a href=\"https://knowyourmeme.com/memes/miracles-fucking-magnets-how-do-they-work\"><u>Magnets and how they work</u></a>(know your meme)</p>\r\n<p><a href=\"https://www.youtube.com/watch?v=SJcshY5ywro\"><u>Mechanical Man</u></a>(Devo) (youtube)</p>\r\n<p><a href=\"https://www.hometips.com/repair-fix/dryer-open.html\"><u>How to take apart a dryer</u></a>(hometips.com)</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Electrical_injury\"><u>Electrocution</u></a>(wikipedia)</p>\r\n<p><a href=\"https://www.characterweb.com/maytag.html\"><u>Maytag Repair Man</u></a>(Characterweb)</p>\r\n<p><a href=\"https://www.sweetwater.com/c929--Extra_Heavy_1_5mm_Guitar_Picks\"><u>Extra heavy guitar picks</u></a>(sweetwater sound)</p>\r\n<p><a href=\"https://www.zzounds.com/item--BEHMS8000?siid=196478&amp;-qDTBRD-ARIsAJ_10yKMqEyjWNkpIcfI37J1TzCewBIzORjqfoTduPwPE9NrnIbJXuI-vpMaAuXCEALw_wcB=\"><u>Headphone splitter</u></a>(zsounds)</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Man_in_the_Moon\"><u>The man in the moon</u></a>(wikipedia)</p>\r\n<p><a href=\"https://en.wikipedia.org/wiki/Buddhism\"><u>Buddhism</u></a></p>\r\n',359,0,1,'CC-BY-SA','parties,fun,x-files,aliens,harry reid,martial law, star chamber,greetings,belated',0,0,1),
(2486,'2018-02-12','Some stuff I bought at a recent amateur radio rally',968,'In this episode I talk about some stuff I bought at a recent amateur radio rally.','<p>Links to the stuff I bought at a recent amateur radio rally I attended.</p>\r\n<ul>\r\n<li><p>Kindle 4<br />\r\n<a href=\"https://en.wikipedia.org/wiki/Amazon_Kindle#Kindle_4\" class=\"uri\">https://en.wikipedia.org/wiki/Amazon_Kindle#Kindle_4</a></p></li>\r\n<li><p>Powerex Maha WizardOne MH-C9000 Battery Charger<br />\r\n<a href=\"https://www.amazon.co.uk/WizardOne-MH-C9000-Analyser-Rechargeable-Batteries/dp/B00E8F7T1G/ref=sr_1_1?ie=UTF8&amp;qid=1503175924&amp;sr=8-1&amp;keywords=mh-c9000\" class=\"uri\">https://www.amazon.co.uk/WizardOne-MH-C9000-Analyser-Rechargeable-Batteries/dp/B00E8F7T1G/ref=sr_1_1?ie=UTF8&amp;qid=1503175924&amp;sr=8-1&amp;keywords=mh-c9000</a></p></li>\r\n<li><p>Frequency Counter, Watson FC-130 Example<br />\r\n<a href=\"https://www.amazon.co.uk/WATSON-FC-130-FREQUENCY-COUNTER/dp/B00877AZY4\" class=\"uri\">https://www.amazon.co.uk/WATSON-FC-130-FREQUENCY-COUNTER/dp/B00877AZY4</a></p></li>\r\n<li><p>Frequency Counter, Watson FC-130 (User Manual)<br />\r\n<a href=\"https://my.rs-online.com/webdocs/002d/0900766b8002d721.pdf\" class=\"uri\">https://my.rs-online.com/webdocs/002d/0900766b8002d721.pdf</a></p></li>\r\n<li><p>Roll Example unfortunately with no egg inside<br />\r\n<img src=\"https://i39.tinypic.com/sdfhv4.jpg\" alt=\"https://i39.tinypic.com/sdfhv4.jpg\" /></p></li>\r\n<li><p>Cake Example<br />\r\n<a href=\"https://www.bbc.co.uk/food/recipes/millionaires_shortbread_76712\" class=\"uri\">https://www.bbc.co.uk/food/recipes/millionaires_shortbread_76712</a></p></li>\r\n<li><p>Drink Example<br />\r\n<img src=\"https://eliquidleicester.co.uk/wp-content/uploads/2013/07/IRON-BREW2-300x300.jpg\" alt=\"https://eliquidleicester.co.uk/wp-content/uploads/2013/07/IRON-BREW2-300x300.jpg\" /></p></li>\r\n</ul>\r\n',201,43,1,'CC-BY-SA','Amateur Radio, Ham Radio',0,0,1),
(2484,'2018-02-08','The Big Idea',1164,'A breezy look at what a \"big idea\" means in storytelling.','<p>\r\nLostnbronx looks at the concept of the \"big idea\" in storytelling and various genres, arguing that such a creative tool may not actually be all that necessary to tell a compelling tale.\r\n</p>',107,105,0,'CC-BY-SA','writing,storytelling,lostnbronx, science fiction,fantasy,history,historical romance, story structure',0,0,1),
(2487,'2018-02-13','Simple LibreOffice Repo for Fedora',185,'Simple LibreOffice Repo for Fedora','<p>Simple LibreOffice Repo for Fedora</p>\r\n\r\n<p>My setup: You can look at the real setup. Hosted at home on a DLS connection so real usage is discouraged. https://home.toebesacademy.com/libreoffice/</p>\r\n\r\n<p>Actual Script <a href=\"https://home.toebesacademy.com/libreoffice/LOrepo\">https://home.toebesacademy.com/libreoffice/LOrepo</a></p>\r\n\r\n<p>Repo file to put in /etc/yum.repo.d <a href=\"https://home.toebesacademy.com/libreoffice/home.toebesacademy.com.repo\">https://home.toebesacademy.com/libreoffice/home.toebesacademy.com.repo</a></p>\r\n\r\n<p>Cron Entry.  Should be run as web user, not root.</p>\r\n<pre>\r\n# m h d m w\r\n# * * * * * command to be executed\r\n# - - - - -\r\n# | | | | |\r\n# | | | | +----- day of week (0 - 6) (Sunday=0)\r\n# | | | +------- month (1 - 12)\r\n# | | +--------- day of month (1 - 31)\r\n# | +----------- hour (0 - 23)\r\n# +------------- min (0 - 59)\r\n# m     h    dom mon dow command\r\n0       3    *   *   *    /var/www/html/libreoffice/LOrepo\r\n</pre>\r\n',273,0,0,'CC-BY-SA','LibreOffice,Fedora,repository',0,0,1),
(2488,'2018-02-14','Psychology of Love',792,'A look at some of the neuroscience and psychology behind love','<ul>\r\n<li><p>Love and the Brain:<br />\r\n<a href=\"https://neuro.hms.harvard.edu/harvard-mahoney-neuroscience-institute/brain-newsletter/and-brain-series/love-and-brain\" class=\"uri\">https://neuro.hms.harvard.edu/harvard-mahoney-neuroscience-institute/brain-newsletter/and-brain-series/love-and-brain</a></p></li>\r\n<li><p>The Neuroscience of Love:<br />\r\n<a href=\"https://sites.tufts.edu/emotiononthebrain/2014/12/08/the-neuroscience-of-love/\" class=\"uri\">https://sites.tufts.edu/emotiononthebrain/2014/12/08/the-neuroscience-of-love/</a></p></li>\r\n<li><p>On selfless love:<br />\r\n<a href=\"https://news.yale.edu/2014/02/11/meditation-helps-pinpoint-neurological-differences-between-two-types-love\" class=\"uri\">https://news.yale.edu/2014/02/11/meditation-helps-pinpoint-neurological-differences-between-two-types-love</a></p></li>\r\n<li><p>The Five Love Languages<br />\r\n<a href=\"https://en.wikipedia.org/wiki/The_Five_Love_Languages\" class=\"uri\">https://en.wikipedia.org/wiki/The_Five_Love_Languages</a></p></li>\r\n<li><p>\'Askers\' vs. \'Guessers\'<br />\r\n<a href=\"https://www.theatlantic.com/national/archive/2010/05/askers-vs-guessers/340891/\" class=\"uri\">https://www.theatlantic.com/national/archive/2010/05/askers-vs-guessers/340891/</a></p></li>\r\n</ul>\r\n',361,0,1,'CC-BY-SA','psychology, relationships, neuroscience, love',0,0,1),
(2489,'2018-02-15','CONTEXT IS EVERYTHING',1634,'Lostnbronx creates a tiny video, from a large audio file.','<h2 id=\"context-is-everything\">CONTEXT IS EVERYTHING</h2>\r\n<h4 id=\"hosted-by-lostnbronx\">hosted by Lostnbronx</h4>\r\n<p>Turning a large audio file into a tiny video file for a very specific use case.</p>\r\n<p>This solution probably won\'t work for you, because none of the ones I found on the Internet worked for me. Trial and error led me here, and it\'s probably the only guide you\'ll have as well.</p>\r\n<p>Start with as high a quality audio file as you can manage. .wav is good, but it\'s big. Let\'s convert it to .flac. If you already have a .flac file, skip this part.</p>\r\n<p>1.) Convert .wav to .flac.</p>\r\n<pre><code>sox INPUT.wav OUTPUT.flac</code></pre>\r\n<p>2.) Convert the .flac to a very small mono .opus. Bitrate can be even smaller. I went down to 14.</p>\r\n<pre><code>opusenc --bitrate 18 --downmix-mono INPUT.flac OUTPUT.opus</code></pre>\r\n<p>3.) Combine the .opus file with a single static image, and output to a .webm video. This should not be very much bigger in file size than the .opus and .jpg combined. The smaller the image file, the better. (I tried using a .gif, but it was actually bigger than the .jpg I ended up with.)</p>\r\n<pre><code>ffmpeg -i INPUT.opus -r 1 -loop 1 -i INPUT.jpg -c:v libvpx -tune stillimage -shortest -y -c:a copy OUTPUT.webm</code></pre>\r\n<p>The final file. It doesn\'t sound great, but it\'s listenable, which is all that was desired.</p>\r\n<p><a href=\"https://social.nasqueron.org/media/pEXqQotxC5P4GNJpf9U\" class=\"uri\">https://social.nasqueron.org/media/pEXqQotxC5P4GNJpf9U</a></p>\r\n<p>Here\'s a better quality version of the audiobook.</p>\r\n<p><a href=\"https://downloads.cavalcadeaudio.com/stardrifter-novels/01-motherload/?p=home\" class=\"uri\">https://downloads.cavalcadeaudio.com/stardrifter-novels/01-motherload/?p=home</a></p>\r\n<p>The process and final result can be improved upon by people smarter than I, without doubt, but this works for now.</p>\r\n<p>SPECIAL THANKS to the Urandom guys (X1101, Thaj, and Pokey), Monsterjavaguns (Jason van Gumster), and the ever-fabulous Klaatu, for their suggestions and encouragement. I would not have found a solution to this, nor even thought to do an episode of HPR, without them!</p>\r\n<p><small><small>Editor\'s Note 2018-02-15: The wrong audio was accidentally released with this show. It has been corrected and should be re-uploaded by your podcatcher.</small></small></p>\r\n',107,0,1,'CC-BY-SA','opus,opusenc,ffmpeg,avconv,webm,lostnbronx',1,0,1),
(2493,'2018-02-21','YouTube Subscriptions - update',885,'Some of the YouTube channels I have subscribed to in the last year','<h1 id=\"youtube-subscriptions---update\">YouTube Subscriptions - update</h1>\n<h2 id=\"introduction\">Introduction</h2>\n<p>I reported on some of my YouTube subscriptions in show <a href=\"http://hackerpublicradio.org/eps/hpr2202\" title=\"Makers on YouTube\">2202</a>, where I concentrated on the various <em>Maker</em> channels I subscribe to.</p>\n<p>Since then I have added a few more such channels, but this time I also want to talk about some of the others I subscribe to.</p>\n<h2 id=\"youtube-channels\">YouTube Channels</h2>\n<ol type=\"1\">\n<li><a href=\"https://www.youtube.com/channel/UCCkFJmUgzrZdkeHl_qPItsA\"><em>Anne of All Trades</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCtM5z2gkrGRuWd0JQMx76qA\"><em>bigclivedotcom</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UC9-y-6csu5WGm29I7JiwpnA\"><em>Computerphile</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCcapFP3gxL1aJiC8RdwxqRA\"><em>David Waelder</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCUuMYw2l2UeWyTGYixYfRCA\"><em>EvanAndKatelyn</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCbiGcwDWZjz05njNPrJU7jA\"><em>ExplainingComputers</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UC6pdMJwtkbCNoQRwbaNt77A\"><em>HomeMadeModern</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCO39zTYpvWL5jx2q15Ma_Hw\"><em>izzy swan</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCaI4Tib6te88f_P9r8w5Tmw\"><em>Jackman Works</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCRVruzlQF5cqpw9jQgIgNdw\"><em>mugumogu</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCNyGbxoEo6CQvaRVEvItxkA\"><em>Pask Makes</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCIhkgdWrCmPTCRSNQaeTDOg\"><em>Phil Pinsky Productions</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UC8NjHgDV5nHEfQGj7JNfp9Q\"><em>RetroWeld</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCb8Rde3uRL1ohROUVg46h1A\"><em>Thomas Sanladerer</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UC3CvHbiVAaYiMY2DMd1fcEQ\"><em>tim sway</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCzM1HPpclXyriKNAvr5m5qA\"><em>Unemployed Redneck Hillbilly Creations</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCG756ycwVyBKwttHLtF_OVQ\"><em>William Lutes</em></a></li>\n<li><a href=\"https://www.youtube.com/channel/UCcXhhVwCT6_WqjkEniejRJQ\"><em>Wintergatan</em></a></li>\n</ol>\n<h2 id=\"long-notes\">Long notes</h2>\n<p>I have another version of the above channel list in the <a href=\"hpr2493_full_shownotes.html\">long notes</a> with more details and with some of my observations.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li>HPR show 2202: <a href=\"http://hackerpublicradio.org/eps/hpr2202\"><em>Makers on YouTube</em></a></li>\n<li><a href=\"hpr2493_full_shownotes.html\">Long notes for this episode</a></li>\n</ul>\n',225,0,1,'CC-BY-SA','YouTube,channel',0,0,1),
(2491,'2018-02-19','Some news with Finux',1061,'Just a short little podcast on some recent(ish) security related news stories','<p>The 3 stories covered in this episode</p>\r\n<ul>\r\n<li><p>So firstly Clownflares... i mean cloudstrike!!! and scihub<br />\r\n<a href=\"https://torrentfreak.com/cloudflare-terminates-service-to-sci-hub-domain-names-180205/\" class=\"uri\">https://torrentfreak.com/cloudflare-terminates-service-to-sci-hub-domain-names-180205/</a></p></li>\r\n<li><p>Meltdown and Spectre 139 pieces of (seemingly nonfunctional) malware are now circulating in the wild<br />\r\n<a href=\"https://boingboing.net/2018/02/04/active-probing.html\" class=\"uri\">https://boingboing.net/2018/02/04/active-probing.html</a></p></li>\r\n<li><p>Equifax and no bloody justice<br />\r\n<a href=\"https://mobile.reuters.com/article/amp/idUSKBN1FP0IZ\" class=\"uri\">https://mobile.reuters.com/article/amp/idUSKBN1FP0IZ</a></p></li>\r\n</ul>\r\n',85,0,1,'CC-BY-SA','security, hacking, news',0,0,1),
(2492,'2018-02-20','An Evening Subway Ride',1945,'An evening subway ride on the Toronto subway from College Station to Sheppard/Yonge Station','<p>\r\nAn experiment in background noise.\r\n</p>\r\n<p>\r\nHaving seen so many people fall asleep on subway trains, I wonder if the sound only would also be somniferous.\r\n</p>\r\n<p>\r\nUsing my cellphone I recorded the ride (including boarding and alighting) on the Toronto subway (line 1) from College Station, north to Sheppard/Yonge Station.  There was always at least one person sleeping (or at least appearing to be asleep) during the ride.\r\n</p>\r\n<p>\r\nGoogle Maps - <a href=\"https://goo.gl/aq97jR\">goo.gl/aq97jR</a>\r\n</p>\r\n<p>\r\nSo far, listening to the recording has not put me to sleep. \r\n</p>\r\n',362,101,0,'CC-0','sound, Toronto, transit, subway, crowds, train',0,0,1),
(2495,'2018-02-23','10 Years of Xoke',723,'Tomorrow marks 10 years since his first episode, and Xoke talks a bit about HPR','<p>HPR 40, on the 24th Feb 2008, was when a (slightly) younger Xoke debuted</p>',79,0,0,'CC-BY-SA','Anniversary',0,0,1),
(2494,'2018-02-22','linux.conf.au 2018: Nicolas Steenhout',1205,'Clinton interviews Nicolas Steenhout, who ran an accessibility workshop','<p>\r\nClinton interviews Nicolas Steenhout about his accessibility workshop, covering the different areas that automated and manual testing can cover. We also talk about the conference in general, and on the different ways that conference get feedback about their speakers.\r\n</p>',315,78,0,'CC-BY-SA','lca2018',0,0,1),
(2496,'2018-02-26','Making a Raspberry Pi inventory',670,'How to collect identifying information about RPi devices','<h1 id=\"making-a-raspberry-pi-inventory\">Making a Raspberry Pi inventory</h1>\n<h2 id=\"introduction\">Introduction</h2>\n<p>I have a number of Raspberry Pis -- possibly too many -- and I sometimes lose track of which is which, what model, size, name, address each one is. I wanted to be able to keep an inventory of them all, and to this end I wrote myself a little script that can be run on any Pi which will report useful information about it.</p>\n<p>Every Pi has a unique serial number. Actually it\'s randomly generated so there may be a few collisions but it\'s close to unique! It also contains a revision number which encodes various items of information about it such as release date, model, PCB revision and memory. My script decodes this revision number for you based on a published table.</p>\n<p>I run a Wikimedia instance on a Pi and have used this script to record details of my Pis there as well as what they are being used for and any planned projects. I now feel more organised!</p>\n<h2 id=\"long-notes\">Long notes</h2>\n<p>The full-length notes (available <a href=\"hpr2496_full_shownotes.html\">here</a>) contain a listing of the script, a brief description of it, and some example output.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li>GitLab repository: <a href=\"https://gitlab.com/davmo/what_pi\" class=\"uri\">https://gitlab.com/davmo/what_pi</a></li>\n<li>Resources to download:\n<ul>\n<li>The script <em><a href=\"hpr2496_what_pi\">what_pi</a></em></li>\n<li>Example output <em><a href=\"hpr2496_example_output.txt\">example_output.txt</a></em></li>\n</ul></li>\n</ul>\n',225,42,1,'CC-BY-SA','Raspberry Pi, RPi',0,0,1),
(2503,'2018-03-07','My journey into podcasting',868,'Dave takes us on his journey into 10 years of podcasting','<h1 id=\"how-i-got-into-podcasting\">How I Got Into Podcasting</h1>\r\n<h2 id=\"the-background\">The Background</h2>\r\n<p>Audio production has always been an interest of mine: my late grandfather was an audiophile, my dad ran an AV studio in Woking (the one where the Spice Girls were formed - my dad got mentioned in a couple of their autobiographies) and now runs his own AV consultancy business, and my cousin also runs an AV consultancy... so there’s a definite family history in there.</p>\r\n<p>I dabbled briefly with hospital radio (as a technician, rather than a presenter) in the late 80’s, and I was a technician and presenter on College Radio in the early 90’s where I hosted a show called “The Barry Manilow Fan Club” on Friday lunchtimes.</p>\r\n<p>Yes, I am a huge fan of <a href=\"https://en.wikipedia.org/wiki/Barry_Manilow\">Barry Manilow</a> - he’s given me a lot of inspiration as a musician - no, I didn’t play any Barry on the College Radio show.</p>\r\n<p>I’d also had a few people say that I had a good radio voice. Others say a good radio face, but I don’t like them anymore.</p>\r\n<h2 id=\"the-catalyst\">The Catalyst</h2>\r\n<p>In 2007, I discovered this podcasting lark through a couple of friends who had their own podcasts. One was The Random Three: a personal musical journey where Mark - the host - would play three seemingly-random pieces of music from his own collection (thus, not <a href=\"https://en.wikipedia.org/wiki/Podsafe\">podsafe</a>) and explain the reasons why he chose them. Most of the time, these seemingly-random tracks actually had a theme, but it didn’t necessarily become apparent until after the second track. It was a great show - now sadly defunct - and I really miss it. I even submitted my own music choices for Mark to present.</p>\r\n<p>The other was <a href=\"https://ddlpodcast.blogspot.co.uk/\">Dumbed Down Life</a>: three chaps nattering about “stuff” and playing some music along with it. Another great show, which - although it still exists - currently releases episodes every year or so.</p>\r\n<p>What drew me to these shows - apart from being friends, was the fact that these were regular guys, not professionals.</p>\r\n<p>That led me to think “I can do that”, so I set about proving - to myself, mostly - that I could.</p>\r\n<h2 id=\"the-start\">The Start</h2>\r\n<p>One Thursday in early March 2008, when the wife had gone to the gym for a couple of hours, I grabbed my Logitech headset, my Linux laptop, a handful of tracks from the Podsafe Music Network, and a piece of software called <a href=\"https://idjc.sourceforge.net\">IDJC</a>, and recorded the <a href=\"https://thebugcast.org/show/1\">first ever episode</a> of <a href=\"https://thebugcast.org/\">The Bugcast</a>. It was just over 22 minutes long, and it was dire. Utterly dire. Every so often, I go back to it and listen and cringe and marvel at how much better the show is now!</p>\r\n<p>The music back then wasn’t strictly <a href=\"https://en.wikipedia.org/wiki/Podsafe\">podsafe</a> either: the first track I played was Moloko’s Sing It Back… but I didn’t worry about it then, as I got the track from a source that gave implicit permission for use in podcasts.</p>\r\n<p>I did do a show - <a href=\"https://thebugcast.org/show/20\">episode 20</a> - which was a nostalgic trip back to my college years, where I played tracks by Chad Jackson, Japan, and Dream Warriors. This was a complete and intentional violation of copyright on my part, which led me to pull the show only a few weeks later. I did rerelease the show two years after that, but with the offending tracks removed. However, there is a story to the show, so I would recommend you go listen.</p>\r\n<p>Back then, it was just me and a small listener-base of friends, their family, their families’ servants; their families’ servants’ tennis partners, and some chap I bumped into in the mess the other day called Bernard. But as time went on and I got more experience, I was really enjoying what I was doing, and started to experiment.</p>\r\n<p>One thing I did discover by about episode 16 is that I wasn’t editing my shows in post, aside from topping and tailing silence. This made it so much easier for me as I was recording the shows as-live from the very beginning, but taking out the vocal gaps, gaffes and the like. So there was really only one place to go from there...</p>\r\n<h2 id=\"going-live\">Going live</h2>\r\n<p>So in August 2008, on <a href=\"https://thebugcast.org/show/24\">episode 24</a>, to an audience of about 10 people, I streamed the first LIVE episode of the podcast. Wow, that was such a buzz! It was a major turning point in the show as I committed myself to do a regular show at a set time each week... turning a fun hobby into something a little step beyond amateur. There were a couple of non-live shows that I had to put together using the wife’s Windows machine when my laptop went bang and had to be repaired, but I hated doing that because I didn’t like the piecemeal sticky-tape method of production. There was little flow, and my spoken links between the music sounded very much like a bad Radio 4 anchor.</p>\r\n<p>In late September 2008, I was accepted as a member of the now-defunct <a href=\"https://musicpodcasting.org/\">Association of Music Podcasting</a>. This was another major step for me. All member of the Association were peer-reviewed as part of the criteria for membership. This meant that my podcast was sufficiently good to be accepted. That meant so much to me, and made me take things so much more seriously (and was the main reason why I pulled episode 20 just prior)</p>\r\n<p>It also meant that the show was becoming more music-oriented - something I really did not have a problem with! Particularly as I was starting to strike up good relationships with some of the artists that I was featuring on the show. This led to me prerecording an interview with one of the bands in January 2009, and then again with another artist in March.</p>\r\n<p>Having registered a proper domain for the podcast (rather than piggybacking my own personal domain) and then celebrated the first anniversary of the show... you could say that the show was fuelling its own progression. And I was enjoying that journey immensely!</p>\r\n<p>Over the next 6 months, I joined the <a href=\"https://madeintheukshow.co.uk/\">Made In The UK Show</a> collective, interviewed an artist LIVE on the show, had the show syndicated on an internet radio station in the UK, and launched a new, independent chatroom for the website.</p>\r\n<h2 id=\"the-major-change\">The Major Change</h2>\r\n<p>And then, in September of 2009, the 18 month anniversary of the show, and two days before my birthday, something happened to totally turn the show upside down.</p>\r\n<p>I decided that I wanted to improve the show. Bearing in mind that I was still using my Logitech headset, my Linux laptop, and a piece of software called IDJC to record and stream the show, I felt it was time for a change. So I spent a small fortune on a mixer, microphones, stands, audio interface, and cables.</p>\r\n<p>Yes, microphones. Plural.</p>\r\n<p>Up to this point my wife, Caroline, had progressed from occasional listener, to regular distraction (I don’t think details are appropriate!), to researcher. So I asked her a question... if I bought two microphones, would you join the show as a permanent co-host? She said yes.</p>\r\n<p>That really changed things. The dynamic of me talking to an imaginary audience (bar the activity in the live chatroom) changing to me bouncing off someone in the same room was electric! The show was totally transformed by that fairly simple change. Our listener figures jumped up, the music on the show was more varied, existing listeners enjoyed the show more... it was amazing.</p>\r\n<p>There have been occasions where Caroline hasn’t been able to join the show (illness, kids, etc) and the listeners (and I) have really noticed her absence.</p>\r\n<h2 id=\"since-then\">Since Then</h2>\r\n<ul>\r\n<li>we’ve launched an OGG feed, which comprises approximately 20% of the downloads from the site</li>\r\n<li>at one point we were syndicated on 4 internet radio stations around the world</li>\r\n<li>we’re major contributors to cchits.net</li>\r\n<li>in 2013 we were awarded the <a href=\"https://thebugcast.org/2013/03/25/european-podcast-award-2012-uk-personality/\">European Podcast Award for UK Personality</a></li>\r\n<li>we’ve just celebrated 10 years of podcasting, producing over 500 regular episodes</li>\r\n</ul>\r\n<p>So there’s a potted history of how I got into podcasting.</p>\r\n<h2 id=\"beyond-the-bugcast\">Beyond The Bugcast</h2>\r\n<p>Outside the realms of The Bugcast, which is still my primary podcast:</p>\r\n<ul>\r\n<li>I’m a contributor to <a href=\"https://ccjam.otherside.network/\">CCJam</a> - a short-form community podcast which focuses on music</li>\r\n<li>I’m one of the co-hosts of <a href=\"https://tuxjam.otherside.network/\">TuxJam</a> - Linux news with Creative Commons music</li>\r\n<li>I’m one of the co-hosts of the <a href=\"https://duffercast.org/\">Duffercast</a></li>\r\n<li>I’m an irregular contributor to HPR, as you’ll probably already know</li>\r\n<li>I’m just become the producer of the <a href=\"https://www.adminadminpodcast.co.uk/\">Admin Admin podcast</a> - my first producer-only gig</li>\r\n</ul>\r\n<p>Also ran:</p>\r\n<ul>\r\n<li>I’m the “owner” (if you like) of the <a href=\"https://madeintheukshow.co.uk/\">Made In The UK Show</a> - currently on haitus</li>\r\n<li>I’m one of the co-hosts of <a href=\"https://crivins.otherside.network/\">Crivins</a> - currently on haitus</li>\r\n</ul>\r\n<p>I’m always happy to answer any questions or provide help with regard to podcasting, you can find various ways to find me over at my <a href=\"https://thelovebug.org/contact\">Contact page</a></p>\r\n<p>Thanks for listening! :-)</p>\r\n',314,0,0,'CC-BY-SA','podcasting, anniversary, history, journey',0,0,1),
(2498,'2018-02-28','Life without Google',266,'Quvmoh goes a month without G apps on his phone','<ul>\r\n<li><p>Zenphone 2 <a href=\"https://forum.xda-developers.com/zenfone2/general/guide-brick-soft-hard-bricked-zenfone-2-t3284256\" class=\"uri\">https://forum.xda-developers.com/zenfone2/general/guide-brick-soft-hard-bricked-zenfone-2-t3284256</a></p></li>\r\n<li><p>Magic Device Tool <a href=\"https://github.com/MariusQuabeck/magic-device-tool\" class=\"uri\">https://github.com/MariusQuabeck/magic-device-tool</a></p></li>\r\n<li><p>F-Droid <a href=\"https://f-droid.org/en/\" class=\"uri\">https://f-droid.org/en/</a></p></li>\r\n<li><p>K-9 Mail <a href=\"https://f-droid.org/packages/com.fsck.k9/\" class=\"uri\">https://f-droid.org/packages/com.fsck.k9/</a></p></li>\r\n<li><p>Protonmail <a href=\"https://protonmail.com/\" class=\"uri\">https://protonmail.com/</a></p></li>\r\n<li><p>Signal <a href=\"https://signal.org/\" class=\"uri\">https://signal.org/</a></p></li>\r\n<li><p>Syncthing <a href=\"https://syncthing.net/\" class=\"uri\">https://syncthing.net/</a></p></li>\r\n</ul>',110,0,0,'CC-BY-SA','google free, F-droid, LineageOS, magic device tool',0,0,1),
(2499,'2018-03-01','Tuning around the HF 40Mtr band',767,'In this episode I give an example of what sort of things you can expect hear on the HF band','<h2 id=\"tuning-around-the-band\">Tuning around the band</h2>\r\n<p>In this episode I tune around a small portion of the HF (High Frequency) band in the 40 Meters section which in the UK covers 7 to 7.2Mhz.</p>\r\n<h3 id=\"equipment-details\">Equipment details</h3>\r\n<p>The mode being used was mostly LSB (Lower Side Band)<br />\r\n<a href=\"https://en.wikipedia.org/wiki/Sideband\" class=\"uri\">https://en.wikipedia.org/wiki/Sideband</a></p>\r\n<p>At the end of the recording I briefly switch mode to to listen to a commercial station on AM (Amplitude modulation).<br />\r\n<a href=\"https://en.wikipedia.org/wiki/Amplitude_modulation\" class=\"uri\">https://en.wikipedia.org/wiki/Amplitude_modulation</a></p>\r\n<p>The radio being used is my trusty and much loved Kenwood TS 940S<br />\r\n<a href=\"https://www.universal-radio.com/catalog/hamhf/ts940s.html\" class=\"uri\">https://www.universal-radio.com/catalog/hamhf/ts940s.html</a></p>\r\n<p>The antenna used is a dipole tuned for the 40 Meter band.<br />\r\n<a href=\"https://en.wikipedia.org/wiki/Dipole_antenna\" class=\"uri\">https://en.wikipedia.org/wiki/Dipole_antenna</a></p>\r\n<p>I used my trusty Dictaphone and internal microphone to do the recording<br />\r\n<a href=\"https://www.amazon.co.uk/HccToo-Multifunctional-Rechargeable-Dictaphone-Conversation/dp/B015H9JP6S/ref=sr_1_1?ie=UTF8&amp;qid=1502381150&amp;sr=8-1&amp;keywords=dictation+machines\" class=\"uri\">https://www.amazon.co.uk/HccToo-Multifunctional-Rechargeable-Dictaphone-Conversation/dp/B015H9JP6S/ref=sr_1_1?ie=UTF8&amp;qid=1502381150&amp;sr=8-1&amp;keywords=dictation+machines</a></p>\r\n<p>If you want to hold private conversations with another party over radio then perhaps amateur radio is not for you as this goes against the whole principle of Amateur Radio.</p>\r\n<p>Listening to amateur radio broadcasts is actively encouraged, and in the UK a licence is not required for listening.</p>\r\n<p>A simple receiver capable of listening to sideband broadcasts and odd bit of long wire is all that\'s required.</p>\r\n<p>In the past it was common to hear an Amateur operator saying goodbye to any short wave listeners at the end of their conversation. If you listen carefully at about 10 minutes in the station DF2BO says goodbye to anybody still listening.</p>\r\n<h3 id=\"stations-received\">Stations received</h3>\r\n<ul>\r\n<li><p>DF2BO speaking to Peter VK4ZP in Brisbane Queensland, on 7.16209 MHz</p></li>\r\n<li><p>CW station calling CQ on 7.00994 MHz, I don\'t know the callsign or details of the station as I can\'t read Morse code however I did recognise the distinctive rhythm of the letters C and Q.</p></li>\r\n<li><p>Transmitting the letters CQ on a particular radio frequency is used as an invitation for any operators listening on that frequency to respond. It is widely used in amateur radio.</p></li>\r\n<li><p>German station unidentified on 7.15794 MHz</p></li>\r\n<li><p>DF2BO name, Tom, near Stuttgart speaking to Rob VK2XZ who I can\'t hear on 7.16200 MHz, then speaking briefly with Chris VK2SR who I can\'t hear</p></li>\r\n<li><p>Another brief bit of morse code</p></li>\r\n<li><p>An unknown commercial station broadcasting on 7.35520 on AM</p></li>\r\n</ul>\r\n',201,43,1,'CC-BY-SA','ham radio, amateur radio, radio, hf',0,0,1),
(2502,'2018-03-06','Volume Of Thought',440,'Lostnbronx attempts to measure the \"volume\" of his own thoughts.','<p>Lostnbronx measures how loud his own thoughts are -- or rather, how loud outside noise has to be before they are disrupted.</p>\r\n<p>It turns out that unwanted music in his ears at -30 dB is when his train of thought starts to derail.</p>',107,0,0,'CC-BY-SA','lostnbronx,thinking,thoughts,volume,noise,music,confusion',0,0,1),
(2504,'2018-03-08','Intro to Git with pen and paper',2205,'Klaatu introduces Git using pen and paper.','<pre><code>git add\r\n\r\ngit commit -m &quot;some useful message&quot;\r\n\r\ngit push origin HEAD</code></pre>\r\n',78,104,0,'CC-BY-SA','git',0,0,1),
(2497,'2018-02-27','2017-2018 New Years Eve show part 1',13200,'Part one of the sixth annual HPR New Year Show.','<h2 id=\"hpr-nye-2017---1\">HPR NYE 2017 - 1</h2>\r\n<ul>\r\n<li><p>Ken and Casper chat about the new year show and space</p></li>\r\n<li><p>Pirate drops in and Casper gets a new job</p></li>\r\n<li><p>Amazon\'s Giant Glass Balls<br />\r\n<a href=\"https://www.google.com/search?q=bezos+giant+glass+balls&amp;tbm=isch&amp;source=iu&amp;ictx=1&amp;fir=EW1kjYgk7lISlM%253A%252CTgFNxH0jr8vQLM%252C_&amp;usg=__XtnxMzguAWZinVFgvLoiwvN7qvg%3D&amp;sa=X&amp;ved=0ahUKEwiXr6n2grTYAhUJx2MKHTugBL0Q9QEIKzAA#imgrc=EW1kjYgk7lISlM\">https://www.google.com/search?q=bezos+giant+glass+balls&amp;tbm=isch&amp;source=iu&amp;ictx=1&amp;fir=EW1kjYgk7lISlM%253A%252CTgFNxH0jr8vQLM%252C_&amp;usg=__XtnxMzguAWZinVFgvLoiwvN7qvg%3D&amp;sa=X&amp;ved=0ahUKEwiXr6n2grTYAhUJx2MKHTugBL0Q9QEIKzAA#imgrc=EW1kjYgk7lISlM</a></p></li>\r\n<li><p>ExplicitNess, and ratings and stuff</p></li>\r\n<li><p>Ken is tidying his room</p></li>\r\n<li><p>Microcenter</p></li>\r\n<li><p>SS Virgina5 - pirate makes the boat go. Do not ride!!!!</p></li>\r\n<li>Built as a passenger ferry in 1922<br />\r\n<a href=\"https://www.virginiav.org/\" class=\"uri\">https://www.virginiav.org/</a>\r\n<ul>\r\n<li>400hp 200rpm 3cylinder engine</li>\r\n<li>Steam mechanics explained 45 manual lubrication points</li>\r\n<li>powered by diesel not unlike tar</li>\r\n<li>pirate talks through lighting a plant off</li>\r\n<li>$150 for a 5 gallon bucket</li>\r\n</ul></li>\r\n<li><p>Ken Tweets <a href=\"https://twitter.com/HPR/status/947415023500001280\" class=\"uri\">https://twitter.com/HPR/status/947415023500001280</a></p></li>\r\n<li><p>NetMiner</p></li>\r\n<li><p>Old Time Steam Powered Machine Shop: <a href=\"https://www.youtube.com/watch?v=9WXHNBMLZZM\" class=\"uri\">https://www.youtube.com/watch?v=9WXHNBMLZZM</a></p></li>\r\n<li><p>FDroid</p></li>\r\n<li><p>Copy APKs for your kids</p></li>\r\n<li><p>Ken replaces battery in OMRON EAR MC 510 - THERMOMETER</p></li>\r\n<li><p>Cool pcb ruler from Adafruit<br/><a href=\"https://www.adafruit.com/product/1554\" class=\"uri\">https://www.adafruit.com/product/1554</a></p></li>\r\n<li><p><a href=\"https://en.wikipedia.org/wiki/List_of_battery_sizes\" class=\"uri\">https://en.wikipedia.org/wiki/List_of_battery_sizes</a></p></li>\r\n<li><p>SparkyLinux - supports 32bit architecture, web browsers, Debian based, one old P4</p></li>\r\n<li><p>Bootsteap - sparky command line installer, small package. Will allow you to install a desktop, can bootstrap to whatever you want.</p></li>\r\n<li><p>GNU - DOS</p></li>\r\n<li><p><a href=\"https://linuxlugcast.com/\" class=\"uri\">https://linuxlugcast.com/</a></p></li>\r\n<li><p><a href=\"https://razor1911.com/\" class=\"uri\">https://razor1911.com/</a></p></li>\r\n<li><p><a href=\"https://en.wikipedia.org/wiki/Motorola_68000\" class=\"uri\">https://en.wikipedia.org/wiki/Motorola_68000</a></p></li>\r\n<li><p><a href=\"https://www.youtube.com/watch?v=cMVt0eUDYhY\" class=\"uri\">https://www.youtube.com/watch?v=cMVt0eUDYhY</a></p></li>\r\n<li><p><a href=\"https://www.youtube.com/results?search_query=amiga+documentary\" class=\"uri\">https://www.youtube.com/results?search_query=amiga+documentary</a></p></li>\r\n<li><p>xKlaatu signs on</p></li>\r\n<li><p>Discuss New Years in New Zealand!!!!</p></li>\r\n<li><p>Gun Control</p></li>\r\n<li><p>SHOW NOTES ARE(NOT?) Important</p></li>\r\n<li><p>xklaatu does not like shownotes</p></li>\r\n<li><p>Ken encourages them</p></li>\r\n<li><p>HoneyMagoo REALLY joins</p></li>\r\n<li><p>Markdown vs. non-markdown HTML5,</p></li>\r\n<li><p>Heated topic - trigger point discovered</p></li>\r\n<li><p>xklaatu owes ken a show on Git</p></li>\r\n<li><p><a href=\"https://en.wikipedia.org/wiki/Hercules_Computer_Technology\" class=\"uri\">https://en.wikipedia.org/wiki/Hercules_Computer_Technology</a></p></li>\r\n<li><p>Why 36 bits? Because all letters were upper case, which only required 6 bits, 6*6</p></li>\r\n<li><p>Casper\'s first graphics card was a rendition vérité</p></li>\r\n<li><p>Casper gets kicked off due to Van Allen Belt interference</p></li>\r\n<li><p>Fascism</p></li>\r\n<li><p><a href=\"https://en.wikipedia.org/wiki/Saul_Goodman\" class=\"uri\">https://en.wikipedia.org/wiki/Saul_Goodman</a></p></li>\r\n<li><p>Late night programming in the states<br />\r\n<a href=\"https://youtu.be/58mhPaUL3Uc?t=6m45s\" class=\"uri\">https://youtu.be/58mhPaUL3Uc?t=6m45s</a></p></li>\r\n<li><p>Android MTP / KDEConnect</p></li>\r\n<li><p>Use a protocol that works like SFTP</p></li>\r\n<li><p><a href=\"https://en.wikipedia.org/wiki/LulzSec\" class=\"uri\">https://en.wikipedia.org/wiki/LulzSec</a></p></li>\r\n<li><p>Back to shownote discussion</p></li>\r\n<li><p><a href=\"https://www.reddit.com/r/WhereIsAssange/\" class=\"uri\">https://www.reddit.com/r/WhereIsAssange/</a></p></li>\r\n<li><p>Russia Discussion</p></li>\r\n<li><p><a href=\"https://www.infowars.com/media-completely-ignores-bombshell-seymour-hersh-revelations-on-seth-rich/\" class=\"uri\">https://www.infowars.com/media-completely-ignores-bombshell-seymour-hersh-revelations-on-seth-rich/</a></p></li>\r\n<li><p><a href=\"https://jackpineradicals.com/boards/topic/seymour-hersch-audio-says-seth-rich-was-wikileaks-source/\" class=\"uri\">https://jackpineradicals.com/boards/topic/seymour-hersch-audio-says-seth-rich-was-wikileaks-source/</a></p></li>\r\n<li><p>American music New Zealand</p></li>\r\n<li><p><a href=\"https://www.dailydot.com/debug/tesla-south-australia-battery/\" class=\"uri\">https://www.dailydot.com/debug/tesla-south-australia-battery/</a></p></li>\r\n<li><p><a href=\"https://www.youtube.com/watch?v=xHrhqtY2khc\" class=\"uri\">https://www.youtube.com/watch?v=xHrhqtY2khc</a></p></li>\r\n<li><p>The pirate bay AFK</p></li>\r\n<li><p>Proposal: rename &quot;smart phone&quot; to Smart Bugs</p></li>\r\n<li><p><a href=\"https://en.wikipedia.org/wiki/Terminal_velocity\" class=\"uri\">https://en.wikipedia.org/wiki/Terminal_velocity</a></p></li>\r\n<li><p>Cryptonomicon</p></li>\r\n<li><p>Quantum Computing / Encryption / Reality</p></li>\r\n<li><p><a href=\"https://savannahnow.com/opinion/column/2017-12-23/mark-murphy-sixth-extinction-how-will-we-address-plague-man\" class=\"uri\">https://savannahnow.com/opinion/column/2017-12-23/mark-murphy-sixth-extinction-how-will-we-address-plague-man</a></p></li>\r\n<li><p><a href=\"https://www.thomhartmann.com/forum/2013/10/6th-mass-extinction\" class=\"uri\">https://www.thomhartmann.com/forum/2013/10/6th-mass-extinction</a></p></li>\r\n<li><p><a href=\"https://frontalot.com\" class=\"uri\">https://frontalot.com</a></p></li>\r\n</ul>\r\n',159,121,1,'CC-BY-SA','HPR new year show 2017',0,0,1),
(2505,'2018-03-09','The power of GNU Readline - part 3',1631,'More useful key combinations','<h1 id=\"the-power-of-gnu-readline---part-3\">The power of GNU Readline - part 3</h1>\n<p>In part 2 we looked at deleting text in various ways and pasting it back, using GNU Readline key sequences.</p>\n<p>The full-length notes (available <a href=\"hpr2505_full_shownotes.html\">here</a>) contain some new terms and features of GNU Readline, and introduce some further ways of manipulating text, with some examples.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li>Wikipedia article on <a href=\"https://en.wikipedia.org/wiki/GNU_Readline\"><em>GNU Readline</em></a></li>\n<li><a href=\"https://tiswww.cwru.edu/php/chet/readline/rluserman.html\"><em>GNU Readline</em> manual</a></li>\n<li>Previous episodes:\n<ul>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2073\">The power of GNU Readline - part 1</a></li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2453\">The power of GNU Readline - part 2</a></li>\n</ul></li>\n<li>Resources:\n<ul>\n<li><a href=\"hpr2505_full_shownotes.html\">Detailed notes</a></li>\n</ul></li>\n</ul>\n',225,102,1,'CC-BY-SA','command line,cli,GNU Readline',0,0,1),
(2506,'2018-03-12','Build Your Own Lisp (A Book Review)',544,'Learn C programming while building a LISP','<h2 id=\"build-your-own-lisp\">Build Your Own Lisp</h2>\r\n<ol type=\"1\">\r\n<li><p><a href=\"https://www.buildyourownlisp.com/\" class=\"uri\">https://www.buildyourownlisp.com/</a></p></li>\r\n<li><p><a href=\"https://github.com/orangeduck/BuildYourOwnLisp\" class=\"uri\">https://github.com/orangeduck/BuildYourOwnLisp</a></p></li>\r\n<li><p>Daniel Holden links:<br />\r\n<a href=\"https://github.com/orangeduck\" class=\"uri\">https://github.com/orangeduck</a><br />\r\n<a href=\"https://www.theorangeduck.com/\" class=\"uri\">https://www.theorangeduck.com/</a></p></li>\r\n</ol>',326,0,0,'CC-BY-SA','programming,C,Lisp,book review',0,0,1),
(2507,'2018-03-13','Racket, Nix, Fractalide and the sounds of a Hong Kong New Town',1127,'It\'s a triple whammy! It\'s functional programming, functional package management and soundscape!','<p>Listen to me walk through five shopping malls and one bicycle tunnel, as I rant about how flow-based programming microservices and functional package management will save the future of programming and software reuse, and usher in a new era of software quality and productivity!</p>\r\n<p>If it sounds like I\'m a bit down about working alone on <code>racket2nix</code>, you\'re interpreting me wrong! I didn\'t expect any feedback at all from the small to non-existent racket/nix intersection, but it turns out the intersection is larger than I thought, and I\'m grateful for any words of encouragement, and feedback in any form on what the community needs.</p>\r\n<p>Links:</p>\r\n<ul>\r\n<li><a href=\"https://github.com/clacke/racket2nix-clacke\">racket2nix</a></li>\r\n<li><a href=\"https://racket-lang.org/\">racket</a></li>\r\n<li><a href=\"https://nixos.org/nix/\">nix</a></li>\r\n<li><a href=\"https://fractalide.com/\">fractalide</a></li>\r\n</ul>\r\n<p>Nix is the mother of Guix:</p>\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2198\">hpr2198 :: How awesome is Guix and why will it take over the world</a></li>\r\n</ul>\r\n',311,0,0,'CC-BY-SA','racket, nix, racket2nix, fractalide, soundscape, hongkong',0,0,1),
(2508,'2018-03-14','False Prophets',550,'Lostnbronx considers how a cult-of-personality may affect space exploration.','<p>Lostnbronx considers the effect that Elon Musk and SpaceX are having on the latest push for the exploitation and exploration of space, and the danger of pegging the future of the human race upon the showmanship of one man.</p>',107,0,1,'CC-BY-SA','space,spacex,elon musk,tesla,electric cars,cult-of-personality,lostnbronx',0,0,1),
(2509,'2018-03-15','AudioBookClub 16 Matcher Rules',7171,'The HPR Audiobook Club reviews Matcher Rules by Mary Holland','<h2 id=\"summary\">SUMMARY</h2>\r\n<p>In this episode, the HPR_AudioBookClub discusses Matcher Rules by Mary Holland <a href=\"https://scribl.com/books/PDB66/matcher-rules\" class=\"uri\">https://scribl.com/books/PDB66/matcher-rules</a></p>\r\n<h2 id=\"non-spoiler-thoughts\">NON-SPOILER THOUGHTS</h2>\r\n<ul>\r\n<li>pokey: An enjoyable story, but not really for me.</li>\r\n<li>FiftyOneFifty: It\'s not about orgies...</li>\r\n<li>x1101: Liked it. A little slow.</li>\r\n<li>Thaj: It surprised me, I didn\'t expect to like it as much as I did.</li>\r\n</ul>\r\n<h2 id=\"beverage-reviews\">BEVERAGE REVIEWS</h2>\r\n<p><em>As usual, the HPR_AudioBookClub took some time to review the beverages that each of us were drinking during the episode</em></p>\r\n<ul>\r\n<li>Thaj: Voice fading fast. Need a boost. With a little lemon and some local honey <a href=\"https://www.traditionalmedicinals.com/products/throat-coat/\" class=\"uri\">https://www.traditionalmedicinals.com/products/throat-coat/</a></li>\r\n<li>x1101: Harpoon IPA - <a href=\"https://www.harpoonbrewery.com/beer/1/harpoon-ipa\" class=\"uri\">https://www.harpoonbrewery.com/beer/1/harpoon-ipa</a></li>\r\n<li>pokey: &quot;my beer is a knife&quot; Smuttynose Robust Porter <a href=\"https://smuttynose.com/beer/robust-porter/\" class=\"uri\">https://smuttynose.com/beer/robust-porter/</a>. I sharpen it with a Spyderco Triangle Sharpmaker <a href=\"https://www.spyderco.com/catalog/details.php?product=77\" class=\"uri\">https://www.spyderco.com/catalog/details.php?product=77</a>. It is awesome.</li>\r\n<li>FiftyOneFifty: Junior Johnson\'s Midnight Moonshine</li>\r\n</ul>\r\n<h2 id=\"things-we-talked-about\">THINGS WE TALKED ABOUT</h2>\r\n<p>We discuss the upsides and downsides of affinity groups. Pokey wonders why terminology for simple things are changed in sci-fi stories. How exactly do population and economics work together?</p>\r\n<h2 id=\"our-next-audiobook\">OUR NEXT AUDIOBOOK</h2>\r\n<p>Blood Witness by David Hitt - <a href=\"https://scribl.com/books/PA513/blood-witness\" class=\"uri\">https://scribl.com/books/PA513/blood-witness</a></p>\r\n<h2 id=\"next-recording\">NEXT RECORDING</h2>\r\n<p>We are currently working through a backlog of pre-recorded episodes. Once this is completed we will restart the Audiobook Club again. If you want to be notified when this happens please let us know via the HPR Mailing List \'hpr at hackerpublicradio dot org\'.</p>\r\n<h2 id=\"further-recommendations\">FURTHER RECOMMENDATIONS</h2>\r\n<p>Nothing this time, well except for the typical Star Wars reference...and Star Trek, and comics.</p>\r\n<h2 id=\"feedback\">FEEDBACK</h2>\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. Please leave a few words in the episode\'s comment section. As always; remember to visit the HPR contribution page HPR could really use your help right now. <a href=\"https://hackerpublicradio.org/contribute.php\" class=\"uri\">https://hackerpublicradio.org/contribute.php</a></p>\r\n<p><em>Sincerely,</em><br />\r\n<em>The HPR_AudioBookClub</em></p>\r\n<p>P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.</p>\r\n<h2 id=\"our-audio\">OUR AUDIO</h2>\r\n<p>This episode was processed using Audacity <a href=\"https://audacity.sourceforge.net\" class=\"uri\">https://audacity.sourceforge.net</a>. We\'ve been making small adjustments to our audio mix each month in order to get the best possible sound. It has 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>Mumble uses a sample rate of 48kHz, but HPR requires a sample rate of 44.1kHz so the first step in our audio process is to resample the file at 44.1kHz. Resampling can take a long time if you don\'t have a powerful computer, and sometimes even if you do. If you record late at night, like we do, you may want to start the task before you go to bed, and save it first thing in the morning, so that the file is ready to go the next time you are.</p>\r\n<p>Next we use the &quot;Compressor&quot; effect with the following settings:</p>\r\n<p>Threshold: -30db<br />\r\nNoise Floor: -50db<br />\r\nRatio: 3:1<br />\r\nAttack Time: 0.2sec<br />\r\nDecay Time: 1.0 sec<br />\r\nMake-up Gain for 0db after compressing&quot; and &quot;compress based on peaks&quot; 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>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. We use the &quot;Truncate Silence&quot; effect with its default settings to minimize the silence between people speaking. When used with its 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 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 &quot;uuuuummmm.&quot; 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 agressively your audio may sound sped up and choppy.</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>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 &quot;Mix and Render&quot; 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>Remember to save often when using Audacity. We like to save after each of these steps. Audacity has a reputation for being &quot;crashy&quot; but if you remember save after every major transform, you will wonder how it even got that reputation.</p>\r\n',157,53,1,'CC-BY-SA','HPR Audiobook Club, Audiobooks, Podiobooks, Science Fiction ',0,0,1),
(2520,'2018-03-30','Diffie-Hellman and Forward Secrecy',1061,'Using Diffie-Hellman Key Exchange to implement Forward Secrecy','<p>Diffie-Hellman Key Exchange is used in a security technique called Forward Secrecy that aims to secure your encrypted communications from future decryption by unauthorized entities. While it does provide additional security it is not absolutely bullet-proof. So while we explain how it works and provides security, we will also discuss how it can go wrong. For more go to <a href=\"https://www.zwilnik.com/?page_id=957\" class=\"uri\">https://www.zwilnik.com/?page_id=957</a></p>\r\n<h3 id=\"links\">Links:</h3>\r\n<ul>\r\n<li><a href=\"https://www.eff.org/https-everywhere\" class=\"uri\">https://www.eff.org/https-everywhere</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/POODLE\" class=\"uri\">https://en.wikipedia.org/wiki/POODLE</a></li>\r\n<li><a href=\"https://www.zwilnik.com/?page_id=686\" class=\"uri\">https://www.zwilnik.com/?page_id=686</a></li>\r\n<li><a href=\"https://security.googleblog.com/2011/11/protecting-data-for-long-term-with.html\" class=\"uri\">https://security.googleblog.com/2011/11/protecting-data-for-long-term-with.html</a></li>\r\n<li><a href=\"https://blog.twitter.com/engineering/en_us/a/2013/forward-secrecy-at-twitter.html\" class=\"uri\">https://blog.twitter.com/engineering/en_us/a/2013/forward-secrecy-at-twitter.html</a></li>\r\n<li><a href=\"https://www.khanacademy.org/math/applied-math/cryptography/modern-crypt/v/discrete-logarithm-problem\" class=\"uri\">https://www.khanacademy.org/math/applied-math/cryptography/modern-crypt/v/discrete-logarithm-problem</a></li>\r\n<li><a href=\"https://vincent.bernat.im/en/blog/2011-ssl-perfect-forward-secrecy.html#some-benchmarks\" class=\"uri\">https://vincent.bernat.im/en/blog/2011-ssl-perfect-forward-secrecy.html#some-benchmarks</a></li>\r\n<li><a href=\"https://www.thesslstore.com/blog/apple-will-require-use-ats-2017/\" class=\"uri\">https://www.thesslstore.com/blog/apple-will-require-use-ats-2017/</a></li>\r\n<li><a href=\"https://www.zwilnik.com/?page_id=957\" class=\"uri\">https://www.zwilnik.com/?page_id=957</a></li>\r\n</ul>\r\n',198,74,1,'CC-BY-SA','Diffie-Hellman, Encryption, Forward Secrecy',0,0,1),
(2530,'2018-04-13','Introduction to Health',719,'This is the Introduction to a series on health and taking care of yourself','<p>On our refrigerator we have a note card that says &quot;If you don\'t take care of your body, where will you live?&quot; This is a very pertinent question that can open up a discussion of how to achieve a better level of health and age gracefully. This show will kick off a series that will explore various topics in how to get good medical information and improve your health.</p>\r\n<h3 id=\"links\">Links</h3>\r\n<ul>\r\n<li><a href=\"https://www.webmd.com/\" class=\"uri\">https://www.webmd.com/</a></li>\r\n<li><a href=\"https://www.hopkinsmedicine.org/johns_hopkins_bayview/patient_visitor_amenities/community_health_library/finding_reliable_health_information_online.html\" class=\"uri\">https://www.hopkinsmedicine.org/johns_hopkins_bayview/patient_visitor_amenities/community_health_library/finding_reliable_health_information_online.html</a></li>\r\n<li><a href=\"https://medlineplus.gov/evaluatinghealthinformation.html\" class=\"uri\">https://medlineplus.gov/evaluatinghealthinformation.html</a></li>\r\n<li><a href=\"https://medlineplus.gov/understandingmedicalresearch.html\" class=\"uri\">https://medlineplus.gov/understandingmedicalresearch.html</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://theincidentaleconomist.com/wordpress/about/about-aaron/\" class=\"uri\">https://theincidentaleconomist.com/wordpress/about/about-aaron/</a></li>\r\n<li><a href=\"https://www.palain.com/?page_id=256\" class=\"uri\">https://www.palain.com/?page_id=256</a></li>\r\n</ul>\r\n',198,100,0,'CC-BY-SA','Health, Medicine',0,0,1),
(2515,'2018-03-23','2017-2018 New Years Eve show part 2',10169,'Part two of the sixth annual HPR New Year Show.','<h2 id=\"hpr-nye-2017---2\">HPR NYE 2017 - 2</h2>\r\n<ul>\r\n<li><p>To tab or not to tab</p></li>\r\n<li><p>Bitcoin</p></li>\r\n<li><p>Michael Keaton<br />\r\n<a href=\"https://en.m.wikipedia.org/wiki/Michael_Keaton\" class=\"uri\">https://en.m.wikipedia.org/wiki/Michael_Keaton</a></p></li>\r\n<li><p><a href=\"https://seclists.org/fulldisclosure/\" class=\"uri\">https://seclists.org/fulldisclosure/</a></p></li>\r\n<li>Redacted Tonight</li>\r\n<li><p>Phillip DeFranco</p></li>\r\n<li><p>Will robots take our jobs</p></li>\r\n<li><p><a href=\"https://www.eugdpr.org/\" class=\"uri\">https://www.eugdpr.org/</a></p></li>\r\n<li><p><a href=\"https://www.privacycompany.eu/files/DPbD_Framework.pdf\" class=\"uri\">https://www.privacycompany.eu/files/DPbD_Framework.pdf</a></p></li>\r\n<li><p><a href=\"https://www.privacycompany.eu/files/factsheet_GDPR.pdf\" class=\"uri\">https://www.privacycompany.eu/files/factsheet_GDPR.pdf</a></p></li>\r\n<li><p>Gerald is happy to hear someone with his native tounge #perlist - Gerald grew up in Staines, UK<br />\r\n<a href=\"https://www.telegraph.co.uk/news/uknews/1389349/Staines-names-Ali-G-as-its-ambassador.html\" class=\"uri\">https://www.telegraph.co.uk/news/uknews/1389349/Staines-names-Ali-G-as-its-ambassador.html</a></p></li>\r\n<li><p>Aliens needed for notes</p></li>\r\n<li><p>Perl 5 vs Perl 6</p></li>\r\n<li><p>Xmlstarlet<br />\r\n<a href=\"https://xmlstar.sourceforge.net\" class=\"uri\">https://xmlstar.sourceforge.net</a></p></li>\r\n<li><p>Jq<br />\r\n<a href=\"https://github.com/stedolan/jq\" class=\"uri\">https://github.com/stedolan/jq</a></p></li>\r\n<li><p>cmhobs and ken chat about pen testing</p></li>\r\n<li><p>Ferro Rod Fire Starter for Survival<br />\r\n<a href=\"https://www.youtube.com/channel/UCAL3JXZSzSm8AlZyD3nQdBA\" class=\"uri\">https://www.youtube.com/channel/UCAL3JXZSzSm8AlZyD3nQdBA</a><br />\r\n<a href=\"https://primitivetechnology.wordpress.com/\" class=\"uri\">https://primitivetechnology.wordpress.com/</a></p></li>\r\n<li><p>Casper checks back into the pod as we had dead air - bad music check to make sure anyone is out there</p></li>\r\n<li>3 license types for a HAM\r\n<ul>\r\n<li>Technician Class - Entry Level License (Written Multiple Choice Test)</li>\r\n<li>General Class - Adds HF privs (Written Multiple Choice Test)</li>\r\n<li>Extra Class - Adds more HF privs (Written Multiple Choice Test)</li>\r\n</ul></li>\r\n<li>WB6NOA Gordon West</li>\r\n<li>KB6NU No-Nonsense Study Guides</li>\r\n<li><p>NE4RD gives us a run-down and disoroentation on what it means to be a HAM</p></li>\r\n<li>Why be a HAM?\r\n<ul>\r\n<li>Emergency Communications - Walk-A-Thons, Natural Disaster Support, etc</li>\r\n<li>GIFs</li>\r\n<li>Messing About</li>\r\n<li>Digital modes</li>\r\n<li>Digital texting, experimenting with low power</li>\r\n<li>GREAT Breakdown of all the ins and outs and HAMS</li>\r\n</ul></li>\r\n</ul>',159,121,1,'CC-BY-SA','HPR new year show 2017',0,0,1),
(2525,'2018-04-06','2017-2018 New Years Eve show part 3',10932,'Part three of the sixth annual HPR New Year Show.','<h2 id=\"hpr-nye-2017---3\">HPR NYE 2017 - 3</h2>\r\n<ul>\r\n<li><p>How much does it cost to go to the movies?<br />\r\n<a href=\"https://www.slashfilm.com/new-moviepass-prices/\" class=\"uri\">https://www.slashfilm.com/new-moviepass-prices/</a></p></li>\r\n<li><p><a href=\"https://edition.cnn.com/2016/08/23/health/epipen-price-mylan-prescription-drugs-increase/index.html\" class=\"uri\">https://edition.cnn.com/2016/08/23/health/epipen-price-mylan-prescription-drugs-increase/index.html</a></p></li>\r\n<li><p>Military acquisitions</p></li>\r\n<li><p><a href=\"https://time.com/money/4310099/f-35-budget-pay-free-college-student-loans/\" class=\"uri\">https://time.com/money/4310099/f-35-budget-pay-free-college-student-loans/</a></p></li>\r\n<li><p>F35 vs. F18 etc....</p></li>\r\n<li><p>Cost of printing materials</p></li>\r\n<li><p>PiHole &amp; web browser ad blocking</p></li>\r\n<li><p>Pine64 discussion</p></li>\r\n<li><p>Pocket Chip</p></li>\r\n<li><p><a href=\"https://urandom-podcast.info/\" class=\"uri\">https://urandom-podcast.info/</a></p></li>\r\n<li><p>Plumble - <a href=\"https://play.google.com/store/apps/details?id=com.morlunk.mumbleclient.free&amp;hl=en\" class=\"uri\">https://play.google.com/store/apps/details?id=com.morlunk.mumbleclient.free&amp;hl=en</a></p></li>\r\n<li><p>Google Home<br />\r\n<a href=\"https://www.amazon.com/GOOGLEAIY-V1-Google-AIY-Voice/dp/B075SFLWKX/ref=sr_1_1?ie=UTF8&amp;qid=1514748803&amp;sr=8-1&amp;keywords=aiy+voice+kit+google\" class=\"uri\">https://www.amazon.com/GOOGLEAIY-V1-Google-AIY-Voice/dp/B075SFLWKX/ref=sr_1_1?ie=UTF8&amp;qid=1514748803&amp;sr=8-1&amp;keywords=aiy+voice+kit+google</a></p></li>\r\n<li><p>Rpi Google Home kit - <a href=\"https://www.wired.com/story/cardboard-google-home/\" class=\"uri\">https://www.wired.com/story/cardboard-google-home/</a></p></li>\r\n<li><p><a href=\"https://www.google.com/url?sa=t&amp;source=web&amp;rct=j&amp;url=https://www.amazon.com/GOOGLEAIY-V1-Google-AIY-Voice/dp/B075SFLWKX&amp;ved=2ahUKEwjjhb6plpDZAhWo6YMKHYn3DvMQFjAAegQIERAB&amp;usg=AOvVaw1g60WEaYUMjg0bUsrnkaXI\" class=\"uri\">https://www.google.com/url?sa=t&amp;source=web&amp;rct=j&amp;url=https://www.amazon.com/GOOGLEAIY-V1-Google-AIY-Voice/dp/B075SFLWKX&amp;ved=2ahUKEwjjhb6plpDZAhWo6YMKHYn3DvMQFjAAegQIERAB&amp;usg=AOvVaw1g60WEaYUMjg0bUsrnkaXI</a></p></li>\r\n<li><p><a href=\"https://www.cabinfeverexpo.com/\" class=\"uri\">https://www.cabinfeverexpo.com/</a></p></li>\r\n<li><p>TimeZone discussion</p></li>\r\n<li><p>Pinebook images again</p></li>\r\n<li><p>Travelling Tech</p></li>\r\n<li><p>Remix Tablet broken</p></li>\r\n<li><p>Casper provides some dead air musings &amp; tunes :)</p></li>\r\n<li><p>Apple iOS battery shenanigans</p></li>\r\n<li><p>Pokey finally joins us</p></li>\r\n<li><p>Push-To-Talk - <a href=\"https://linuxlugcast.com/wp-content/uploads/2014/02/SkyeHaven_Mumble_How-To.pdf\" class=\"uri\">https://linuxlugcast.com/wp-content/uploads/2014/02/SkyeHaven_Mumble_How-To.pdf</a></p></li>\r\n<li><p>Late-diagnosed autism - Gordon discusses his revelation</p></li>\r\n<li><p>Speaking about Autism, Spectrums, Apologizing, etc. DO NOT OVER APOLOGIZE... sorry aboot that....</p></li>\r\n</ul>\r\n',159,121,1,'CC-BY-SA','HPR new year show 2017',0,0,1),
(2511,'2018-03-19','Response to episode 2496',419,'How I am using the Raspberry Pi script discussed Episode 2496','<h2 id=\"links\">Links</h2>\r\n<ul>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2496\">Dave\'s show</a></li>\r\n<li><a href=\"https://gitlab.com/davmo/what_pi/blob/master/what_pi\">Dave\'s script</a></li>\r\n<li><a href=\"https://www.raspberrypi.org/forums/viewtopic.php?f=28&amp;t=164985\">Raspberry Pi forum page</a></li>\r\n<li><a href=\"https://github.com/raspberrypi/userland\">Raspberry Pi tools GitHub page</a></li>\r\n</ul>\r\n<h2 id=\"command\">Command</h2>\r\n<p>This is written for fish shell</p>\r\n<pre><code>for pi in pi1 pi2 pi3 pi4; cat what_pi &#124; ssh &quot;$pi&quot; bash -; done</code></pre>',300,0,0,'CC-BY-SA','Raspberry Pi, RPi',0,0,1),
(2512,'2018-03-20','Intro to git remote',1590,'All about git remote','<p>\r\nInstantiate a git repo&#58;\r\n</p>\r\n\r\n<pre><code>\r\n$ mkdir alice\r\n$ cd !$\r\n$ git init\r\n</code></pre>\r\n\r\n<p>\r\nAdd a remote&#58;\r\n</p>\r\n\r\n<pre><code>\r\n$ git remote add origin URI_OF_REMOTE\r\n</code></pre>\r\n\r\n<p>\r\nChange a remote&#58;\r\n</p>\r\n\r\n<pre><code>\r\n$ git remote set-url origin NEW_URI\r\n</code></pre>\r\n\r\n<p>\r\nA remote can be a server, it can be a local directory, an NFS share, pretty much whatever you want.\r\n</p>\r\n<p>\r\nIt is a Git convention that the primary remote is called <code>origin</code>. You don&#39;t have to call it that, but it&#39;s pretty common.\r\n</p>\r\n',78,104,0,'CC-BY-SA','git, remote, server',0,0,1),
(2513,'2018-03-21','Why I choose Aperture first',723,'David Whitman encourages you to choose Aperture as the most important setting in setting up your cam','<p>David Whitman encourages you to choose Aperture as the most important setting in setting up your camera.</p>\r\n<p>Understanding Exposure, 3rd Edition by Bryan Peterson - a good book that is great for learning photography. Duck Duck Go can connect you with a place to buy this book.</p>\r\n<p>David\'s cache of BAD Photos mostly of Hunt Dogs (some cute girls with dogs too) <a href=\"https://drive.google.com/open?id=0B0VQmm3RmAmeTVVQdUhuaGVkTVU\" class=\"uri\">https://drive.google.com/open?id=0B0VQmm3RmAmeTVVQdUhuaGVkTVU</a></p>\r\n<ul>\r\n<li>Aperture - <a href=\"https://en.wikipedia.org/wiki/Aperture\" class=\"uri\">https://en.wikipedia.org/wiki/Aperture</a></li>\r\n<li>ISO - <a href=\"https://en.wikipedia.org/wiki/Film_speed\" class=\"uri\">https://en.wikipedia.org/wiki/Film_speed</a></li>\r\n<li>Shutter Speed - <a href=\"https://en.wikipedia.org/wiki/Film_speed\" class=\"uri\">https://en.wikipedia.org/wiki/Film_speed</a></li>\r\n</ul>\r\n<p>Have some fun. Take some photos and do a HPR episode.</p>',209,0,0,'CC-BY-SA','Photography, Cameras, ISO, Aperture, Shutter Speed',0,0,1),
(2514,'2018-03-22','Electronics Calculator Kit',2006,'NYbill talks about building a $16 electronics calculator kit.','<p>\r\nNYbill talks about building a $16 electronics calculator kit.\r\n</p>\r\n<p>\r\nKkmoon DIY Calculator Kit: <a href=\"https://tinyurl.com/yc9z92pc\">https://tinyurl.com/yc9z92pc</a>\r\n</p>\r\n<p>\r\nPics for the episode: <a href=\"https://media.gunmonkeynet.net/u/nybill/collection/electronics-calculator-kit/\">https://media.gunmonkeynet.net/u/nybill/collection/electronics-calculator-kit/</a>\r\n</p>\r\n<p>Just to save anyone from searching for some secret mode on their\r\ncalculators, I misspoke. I mention using my TI calculator in “Degree Mode”.\r\nI meant to say “Normal Mode”. It just happens to say DEG on the screen in tiny\r\nletters. What can I say, I’m easily distra</p>\r\n<p>Oh look at that!</p>\r\n \r\n',235,103,0,'CC-BY-SA','Electronics, Kits, Soldering, DIY',0,0,1),
(2516,'2018-03-26','Intro to git branch',2635,'Intro to git branch','<p>\r\nThese are all the commands covered in this episode. <em>This is not a sequence</em>, it\'s just all the commands in the episode, listed one after another.\r\n</p>\r\n\r\n<p>\r\nGet changes from the remote repo&#58;\r\n</p>\r\n<pre><code>\r\n$ git fetch\r\n</code></pre>\r\n\r\n<p>\r\nSee all branches&#58;\r\n</p>\r\n<pre><code>\r\n$ git branch --all\r\n</code></pre>\r\n\r\n<p>\r\nView a remote branch after you have fetched it&#58;\r\n</p>\r\n<pre><code>\r\n$ git checkout origin/dev\r\n</code></pre>\r\n\r\n<p>\r\nCreate a copy of a fetched remote branch in your local repo&#58;\r\n</p>\r\n<pre><code>\r\n$ git checkout dev\r\n</code></pre>\r\n\r\n<p>\r\nMerge changes from remote origin&#47;master into your local master branch&#58;\r\n</p>\r\n<pre><code>\r\n$ git merge master origin/master\r\n</code></pre>\r\n\r\n<p>\r\nFetch and merge automatically&#58;\r\n</p>\r\n<pre><code>\r\n$ git pull\r\n</code></pre>\r\n\r\n<p>\r\nCreate a new branch, and change to it&#58;\r\n</p>\r\n<pre><code>\r\n$ git checkout -b dev\r\n</code></pre>\r\n\r\n<p>\r\nMerge dev into master&#58;\r\n</p>\r\n<pre><code>\r\n$ git checkout master\r\n$ git merge master dev\r\n</code></pre>\r\n\r\n<p>\r\nMerge master into dev\r\n</p>\r\n<pre><code>\r\n$ git checkout dev\r\n$ git merge dev master\r\n</code></pre>\r\n\r\n<p>\r\nDelete the dev branch&#58;\r\n</p>\r\n<pre><code>\r\n$ git branch -d dev\r\n</code></pre>\r\n',78,104,0,'CC-BY-SA','git, branch, server',0,0,1),
(2518,'2018-03-28','Converting My Laptop to Dual Boot',1440,'Converting a Linux only laptop to dual boot using information from a previous HPR episode.','<h2 id=\"converting-my-laptop-to-dual-boot\">Converting My Laptop to Dual Boot</h2>\r\n<h3 id=\"summary\">Summary</h3>\r\n<p>In this episode I describe how I converted my Linux-only laptop to dual-boot with Windows 10. Specifically, using information from a previous HPR episode.</p>\r\n<h3 id=\"reference\">Reference</h3>\r\n<p>The procedure used in this project drew heavily from the information presented in HPR episode <a href=\"https://hackerpublicradio.org/eps.php?id=2305\">2305</a> by Mongo.</p>\r\n<h3 id=\"target-laptop\">Target Laptop</h3>\r\n<ul>\r\n<li>Lenovo Thinkpad T550</li>\r\n<li>Intel i7-5600U Dual-Core</li>\r\n<li>8GB RAM</li>\r\n<li>256GB SSD</li>\r\n</ul>\r\n<p>Laptop was purchased in Jan 2016 as a factory refurb unit from an Ebay seller. The model was about 1 year old at the time. As soon as I got it, I summarily removed any trace of Windows, with prejudice, and installed Linux.</p>\r\n<h3 id=\"the-problem\">The Problem</h3>\r\n<p>I am needing to run some Windows software that doesn\'t work in either Wine or a virtual machine environment. Specifically Autodesk Fusion 360.</p>\r\n<h3 id=\"some-challenges\">Some Challenges</h3>\r\n<ul>\r\n<li><p>No longer have Windows install media. I was able to download a Lenovo recovery USB image.</p>\r\n<p><a href=\"https://support.lenovo.com/us/en/solutions/ht103653\" class=\"uri\">https://support.lenovo.com/us/en/solutions/ht103653</a></p></li>\r\n<li><p>I didn\'t think that a 256GB drive would be big enough for both Linux and Windows. I purchased a 512GB SSD drive.</p></li>\r\n<li><p>I was happy with my Xubuntu setup and configuration and didn\'t want to have to start all over on that. I hoped that restoring my home directory would take care of that.</p></li>\r\n</ul>\r\n<h3 id=\"the-procedure\">The Procedure</h3>\r\n<ol type=\"1\">\r\n<li><p>Backed up my home directory, just in case.</p></li>\r\n<li><p>Replaced the hard drive.</p></li>\r\n<li><p>Tried to boot from Lenovo Windows thumb drive.</p></li>\r\n<li><p>Found that the BIOS was set to legacy mode, so reset BIOS to factory.</p></li>\r\n<li><p>Told the installer to use the entire drive.</p></li>\r\n<li><p>Went through the entire Windows install and update process.</p></li>\r\n<li><p>Used the instructions provided by Mongo to resize Windows filesystem size.</p></li>\r\n<li><p>Used the instructions provided by Mongo to turn of fast boot.</p></li>\r\n<li><p>Used the instructions provided by Mongo to turn of Secure Boot in BIOS.</p></li>\r\n<li><p>Booted from Xubuntu 16.04 thumb drive.</p></li>\r\n<li><p>Did Xubuntu install as normal, choosing the install type of installing along side Windows Boot Manager.</p></li>\r\n<li><p>Installed all of the updates.</p></li>\r\n<li><p>Mounted the old hard drive with a USB drive enclosure, which was a bit of a challenge because that drive was encrypted. The drive has 2 partitions. A small boot partition and then a large LUKS encrypted partition.</p>\r\n<p>This is a procedure that can be used to mount such a partition.</p>\r\n<ul>\r\n<li><p>First you must decrypt the partition and map it to a device. This can be done with the following command (assuming the partition mount point is /dev/sdb2):</p>\r\n<pre><code>cryptsetup luksOpen /dev/sdb2 cryptdrive</code></pre>\r\n<p>This command will map the partition to the following device:</p>\r\n<pre><code>/dev/mapper/cryptdrive</code></pre></li>\r\n<li><p>Normally you could then mount the filesystem as follows:</p>\r\n<pre><code>mount /dev/mapper/cryptdrive /mnt</code></pre></li>\r\n<li><p>However, in this case the encrypted filesystem is actually an LVM volume that contains two volume groups that made up the partitions of the previous Linux install, so you can\'t directly mount it.</p></li>\r\n<li><p>I had to first install the LVM tools, which had not been installed by default.</p>\r\n<pre><code>apt-get install lvm</code></pre></li>\r\n<li><p>Then I had to issue the following command to activate the LVM volume groups.</p>\r\n<pre><code>vgchange -ay</code></pre>\r\n<p>That resulted in two more devices being created.</p>\r\n<pre><code>/dev/xubuntu-vg/swap\r\n/dev/xubuntu-vg/root</code></pre></li>\r\n<li><p>I could then finally mount the old root filesystem with:</p>\r\n<pre><code>mount /dev/xubuntu-vg/root /mnt</code></pre></li>\r\n</ul></li>\r\n<li><p>Copied by entire home directory from the old hard drive to the new install.</p>\r\n<pre><code>cd /home\r\ncp -rp /mnt/home/username .</code></pre></li>\r\n<li><p>Rebooted computer and Xubuntu came up will all of my desktop settings intact. Just need to install non-default packages.</p></li>\r\n</ol>\r\n<h3 id=\"result\">Result</h3>\r\n<p>This ended up being a totally successful process. The computer is now dual-boot. It boots into Xubuntu by default, but you can choose Windows. Xubuntu system is mostly restored back to the way it was.</p>\r\n',334,0,1,'CC-BY-SA','Linux, Windows, Dual Boot, Laptop, Lenovo, Xubuntu',0,0,1),
(2517,'2018-03-27','DIY CCTV Security System',940,'I go over my Home CCTV setup','<h2 id=\"cctv-security-system\">CCTV Security System</h2>\r\n<ul>\r\n<li>$80 Reolink IP PoE Security Camera 4MP Super HD 2560x1440 with SD Card &amp; Audio Outdoor Indoor Bullet IR Night Vision Motion Detection RLC-410S</li>\r\n<li>65$ RLC-410 ( No SD CARD )</li>\r\n<li>$150 Linksys Business LGS116P 16-Port Desktop Gigabit Ethernet PoE+ Unmanaged Network Switch I Metal Enclosure $150</li>\r\n<li>Ispy to start</li>\r\n<li><a href=\"https://forums.zoneminder.com/viewtopic.php?f=36&amp;t=26906\" class=\"uri\">https://forums.zoneminder.com/viewtopic.php?f=36&amp;t=26906</a> 115 lines of bash</li>\r\n<li>When event ends on ZM yolo is run on a random 10 images for that event (Person Dog Cat Car)</li>\r\n<li>if an object is detected we look to see if two Android phones via MAC on network</li>\r\n<li>if they are on the network it means somebody is home so events are throttled to 1/1hr max</li>\r\n<li>if nobody is home then original image/object detected from event is sent to email</li>\r\n<li>zones</li>\r\n<li>zones preclusion</li>\r\n<li>Video <a href=\"https://rmccurdy.com/scripts/videos/rmccurdy_com/ZoneMinder_Yolo_Yolov2_Darknet_Script_Plugin.mp4\" class=\"uri\">https://rmccurdy.com/scripts/videos/rmccurdy_com/ZoneMinder_Yolo_Yolov2_Darknet_Script_Plugin.mp4</a></li>\r\n</ul>\r\n<h3 id=\"issues\">Issues:</h3>\r\n<ul>\r\n<li>rain, spiderwebs, shadows, Car lights (preclusion zones)</li>\r\n<li>full motion capture is -6hrs 16gig</li>\r\n<li>smearing ( lower FPS on cam and make sure ZM has higher framerate then the cam make sure not to use Source Type:ffmpeg and use remote or try both)</li>\r\n<li><code>journalctl -f -t DARKNET.service</code> (shows nothing...@#%ing systemd)</li>\r\n<li>night time</li>\r\n</ul>\r\n<h2 id=\"more-notes\">More Notes:</h2>\r\n<p>Start with one zone at a time and raise/test sensitive KISS...don\'t setup like 4 zones and expect to trouble shoot anything. I used my Android to do a lot of tweaking. I also want to sort out &quot;night&quot; mode config so after night mode kicks in a different config is automatically applied.</p>\r\n<p>Use low quality for motion detection and drop frame rate of cam to lower than max of ZM for little to no smearing and I also set &quot;Alarm Frame Count to 2&quot; and &quot;overload ignore frame count to 4&quot; but I think it\'s more about Alarm Frame Count..I can\'t be sure..</p>\r\n<p>Explanation of overload ignore frame count<br />\r\nReport this post Quote<br />\r\nPost by bb99 » Thu May 10, 2012 5:22 pm</p>\r\n<p>For sudden changes to the environment, no better tool then Overload Frame Ignore Count. Your fps determines these settings but at 10 fps with Overload Frame Ignore Count set to 4, it only ignores .4 seconds. In other words if a drastic change to the lighting (such as a car with headlights on in darkness) passes within the monitors view it will ignore the number of frames you specify before processing for motion detection.</p>\r\n<h3 id=\"alarm-frame-count\">Alarm Frame Count</h3>\r\n<p>This option allows you to specify how many consecutive alarm frames must occur before an alarm event is generated. The usual, and default, value is 1 which implies that any alarm frame will cause or participate in an event. You can enter any value up to 16 here to eliminate bogus events caused perhaps by screen flickers or other transients. Values over 3 or 4 are unlikely to be useful however. Please note that if you have statistics recording enabled then currently statistics are not recorded for the first ‘Alarm Frame Count’-1 frames of an event. So if you set this value to 5 then the first 4 frames will be missing statistics whereas the more usual value of 1 will ensure that all alarm frames have statistics recorded.</p>\r\n<p><a href=\"https://forums.zoneminder.com/viewtopic.php?f=36&amp;t=26222\" class=\"uri\">https://forums.zoneminder.com/viewtopic.php?f=36&amp;t=26222</a></p>\r\n<p>Windows software to get basic idea ( install face plugin )<br />\r\n<a href=\"https://www.ispyconnect.com/plugins.aspx\" class=\"uri\">https://www.ispyconnect.com/plugins.aspx</a></p>\r\n<h2 id=\"videos\">Videos</h2>\r\n<ul>\r\n<li><a href=\"https://www.reddit.com/r/DIY/comments/713eka/heres_how_to_build_your_own_smart_security_camera/\" class=\"uri\">https://www.reddit.com/r/DIY/comments/713eka/heres_how_to_build_your_own_smart_security_camera/</a></li>\r\n<li><a href=\"https://www.hackster.io/hackerhouse/raspberry-pi-motion-tracking-gun-turret-77fb0b\" class=\"uri\">https://www.hackster.io/hackerhouse/raspberry-pi-motion-tracking-gun-turret-77fb0b</a></li>\r\n<li><a href=\"https://www.youtube.com/watch?v=QfNvhPx5Px8\" class=\"uri\">https://www.youtube.com/watch?v=QfNvhPx5Px8</a></li>\r\n<li><a href=\"https://www.youtube.com/watch?v=4eIBisqx9_g&amp;t=11m10s\" class=\"uri\">https://www.youtube.com/watch?v=4eIBisqx9_g&amp;t=11m10s</a></li>\r\n</ul>\r\n<h2 id=\"eazy-getting-started\">eazy getting started</h2>\r\n<ul>\r\n<li><a href=\"https://pjreddie.com/darknet/yolo/#small\" class=\"uri\">https://pjreddie.com/darknet/yolo/#small</a></li>\r\n</ul>\r\n<h3 id=\"getting-started-with-gpu\">getting started with GPU</h3>\r\n<p>you need 4gig+ GPU and new nvidia or old GCC4.9 /GCC4_NEEDED_FOR_DARKNET$ ls cpp-4.9_4.9.2-10_amd64.deb gcc-4.9_4.9.2-10_amd64.deb libasan1_4.9.2-10_amd64.deb libcloog-isl-dev_0.18.2-1+b2_amd64.deb libisl10_0.12.2-2_amd64.deb g++-4.9_4.9.2-10_amd64.deb gcc-4.9-base_4.9.2-10_amd64.deb libcloog-isl4_0.18.2-1+b2_amd64.deb libgcc-4.9-dev_4.9.2-10_amd64.deb libstdc++-4.9-dev_4.9.2-10_amd64.deb https://github.com/dasGringuen/debian9-install</p>\r\n<h3 id=\"gpu-memory-talk\">GPU memory talk</h3>\r\n<p><a href=\"https://groups.google.com/forum/#!msg/darknet/ZRAEvMmKzFc/iVZgibJiJQAJ\" class=\"uri\">https://groups.google.com/forum/#!msg/darknet/ZRAEvMmKzFc/iVZgibJiJQAJ</a></p>\r\n<h3 id=\"trying-to-gpu-prep-..\">trying to GPU prep ..</h3>\r\n<pre><code>apt-get remove --purge nvidia-cuda-toolkit libcudnn*\r\ndpkg -i libcudnn7_7.0.5.15-1+cuda9.1_amd64.deb\r\ndpkg -i libcudnn7-dev_7.0.5.15-1+cuda9.1_amd64.deb\r\ndpkg -i cuda-repo-ubuntu1704-9-1-local_9.1.85-1_amd64\r\n\r\nsudo dpkg -i cuda-repo-ubuntu1704-9-1-local_9.1.85-1_amd64.deb\r\nsudo apt-key add /var/cuda-repo-9-1-local/7fa2af80.pub\r\nsudo apt-get update\r\nsudo apt-get install cuda\r\n\r\napt install libopencv-dev</code></pre>\r\n<h3 id=\"more-code-references\">more code/ references</h3>\r\n<ul>\r\n<li><a href=\"https://machinethink.net/blog/object-detection-with-yolo/\" class=\"uri\">https://machinethink.net/blog/object-detection-with-yolo/</a></li>\r\n<li><a href=\"https://ozone.network/apidocs/starter__example_8cpp_source.html\" class=\"uri\">https://ozone.network/apidocs/starter__example_8cpp_source.html</a></li>\r\n</ul>\r\n<h3 id=\"yolov2-training\">yolov2 training</h3>\r\n<ul>\r\n<li><a href=\"https://www.yuthon.com/2016/12/03/Train-YOLOv2-on-my-own-dataset/\" class=\"uri\">https://www.yuthon.com/2016/12/03/Train-YOLOv2-on-my-own-dataset/</a></li>\r\n</ul>\r\n<h3 id=\"dump-reolink-using-gpu-nvidia\">dump reolink using GPU nvidia</h3>\r\n<pre><code>ffmpeg -c:v h264_vdpau -rtsp_transport tcp -i &quot;rtsp://admin:@25.0.0.238/h264Preview_01_main&quot; -f segment -segment_time 60 -segment_format mp4  -reset_timestamps 1 -strftime 1 -c copy -map 0 dauphine-%Y%m%d-%H%M%S.mp4\r\n\r\nffmpeg -hwaccel vdpau -i rtsp://admin:@25.0.0.238/h264Preview_01_main -an -f rawvideo -y /dev/null</code></pre>\r\n<h3 id=\"complicated-zoneminder-plugins-and-bits-of-code\">complicated zoneminder plugins and bits of code :(</h3>\r\n<ul>\r\n<li><a href=\"https://gist.github.com/pliablepixels/34b484cca1c23ae9493c5d2e57f0bde8\" class=\"uri\">https://gist.github.com/pliablepixels/34b484cca1c23ae9493c5d2e57f0bde8</a></li>\r\n<li><a href=\"https://forums.zoneminder.com/viewtopic.php?f=36&amp;t=26222\" class=\"uri\">https://forums.zoneminder.com/viewtopic.php?f=36&amp;t=26222</a></li>\r\n<li><a href=\"https://through-the-interface.typepad.com/through_the_interface/2012/09/creating-a-face-recognising-security-cam-with-a-raspberry-pi-part-1.html\" class=\"uri\">https://through-the-interface.typepad.com/through_the_interface/2012/09/creating-a-face-recognising-security-cam-with-a-raspberry-pi-part-1.html</a></li>\r\n</ul>\r\n<h3 id=\"cheap-cams-720p-max\">cheap cams 720p max</h3>\r\n<ul>\r\n<li><a href=\"https://www.zmododirect.com/\" class=\"uri\">https://www.zmododirect.com/</a></li>\r\n</ul>\r\n<h3 id=\"save-as-video\">Save as video</h3>\r\n<p>By default ZoneMinder saves events as a sequence of images. It is however possible to save an event as a video file. Caution is advised when converting events to video as it is very strenuous on the ZoneMinder machine, however once you have converted an event it can be viewed/downloaded any time without additional stress on the server.</p>\r\n<p>First, make sure you have <code>OPT_FFMPEG</code> under Options -&gt; Images set to yes (checked).</p>\r\n<p>If necessary, set the proper full path for the ffmpeg executable in <code>PATH_FFMPEG</code> (ex.: <code>/usr/bin/ffmpeg</code>)</p>\r\n<p>Open up the default view for an event and Click the video link located in the top left corner</p>\r\n<p>Choose a video export file type and click generate.</p>\r\n<p>Download the video to your machine. If video files have already been generated you will see them listed at the bottom of the page.</p>\r\n<p>When an event gets a video file encoded for it you can choose to automatically include that event with any future exports. For a more detailed explanation on how to select and export events investigate How to export download and view events</p>\r\n',36,0,0,'CC-BY-SA','CCTV,Security Camera System,YOLO,Object Recognition',0,0,1),
(2535,'2018-04-20','2017-2018 New Years Eve show part 4',12357,'Part four of the sixth annual HPR New Year Show.','<h2 id=\"hpr-nye-2017---4\">HPR NYE 2017 - 4</h2>\r\n<ul>\r\n<li><p>Ken Fallon is testing booger sized components<br />\r\n<a href=\"https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity\" class=\"uri\">https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity</a></p></li>\r\n<li><p>urandom-podcast.info mentioned - AGAIN</p></li>\r\n<li>Pi &amp; SBC discussion</li>\r\n<li>Google &amp; Amazon privacy concerns</li>\r\n<li>Mrs Xoxe joins in</li>\r\n<li>We speak about Autism some more, Death of Salesman. Selling yourself to get interviews. Unemployment. Those who are resistant to change are doomed to perish</li>\r\n<li>Babylon Berlin, BFFs, Black Mirror</li>\r\n<li>Senior citizens &amp; technology</li>\r\n<li>Keeping current with software &amp; O/S\'s</li>\r\n<li><p><a href=\"https://www.youtube.com/results?search_query=the+mighty+boosh+the+moon+\" class=\"uri\">https://www.youtube.com/results?search_query=the+mighty+boosh+the+moon+</a></p></li>\r\n<li>Robot vaccuum sweepers</li>\r\n<li>Children make amazing pets</li>\r\n<li><p>RoomBAAAS</p></li>\r\n<li>Joe Ress asks for Linux 2018 predictions</li>\r\n<li>Is the traditional PC market fading?</li>\r\n<li><p>Linux &amp; mobile devices<br />\r\n<a href=\"https://ubports.com/\" class=\"uri\">https://ubports.com/</a></p></li>\r\n<li>What will it take for an opensource mobile device to gain market share?</li>\r\n<li><p>Librem5 - <a href=\"https://puri.sm/shop/librem-5/\" class=\"uri\">https://puri.sm/shop/librem-5/</a></p></li>\r\n<li><p>More opensource mobile device discussion</p></li>\r\n</ul>\r\n',159,121,1,'CC-BY-SA','HPR new year show 2017',0,0,1),
(2519,'2018-03-29','the_remora Builds a character in Edge of the Empire',1330,'I Sit down and Build a Character for Edge of the Empire using Oggdudes Character Generator','<ul>\r\n<li><p>Link to the <a href=\"https://db4sgowjqfwig.cloudfront.net/campaigns/155068/assets/835617/KombarConall-Human-BountyHunter.pdf?1520193790\">Character Sheet</a></p></li>\r\n<li>Link to Edge of the Empire by Fantasy Flight Games: <a href=\"https://www.fantasyflightgames.com/en/products/star-wars-edge-of-the-empire/\" class=\"uri\">https://www.fantasyflightgames.com/en/products/star-wars-edge-of-the-empire/</a></li>\r\n<li><p>Link to the Tool I used to Build this character: <a href=\"https://www.legendsofthegalaxy.com/Oggdude/\" class=\"uri\">https://www.legendsofthegalaxy.com/Oggdude/</a>. I recommend using the web installer.</p></li>\r\n<li><p>Unofficial Organized play similar to D&amp;D Adventurers League: <a href=\"https://www.legendsofthegalaxy.com/\" class=\"uri\">https://www.legendsofthegalaxy.com/</a></p></li>\r\n</ul>\r\n<p>Thanks and sorry the Audio was so bad, I was forced to use Bluetooth headphones because Audacity would not take audio from my USB headset.</p>',363,95,1,'CC-BY-SA','Roleplaying',0,0,1),
(2545,'2018-05-04','2017-2018 New Years Eve show part 5',8433,'Part five of the sixth annual HPR New Year Show.','<h2 id=\"hpr-nye-2017---5\">HPR NYE 2017 - 5</h2>\r\n<ul>\r\n<li><p>Guitar Talk, Les Pauls, Strats, etc. SG, Flying V, Squire ... etc.</p></li>\r\n<li><p>Social media discussion, Twitter, Mastodon, G+</p></li>\r\n<li><p>Opensource licenses</p></li>\r\n<li><p>More autism discussion</p></li>\r\n<li><p>New drugs that make you live longer</p></li>\r\n<li><p>notalion participated in <a href=\"https://www.holidayhackchallenge.com/2017/\" class=\"uri\">https://www.holidayhackchallenge.com/2017/</a></p></li>\r\n</ul>\r\n',159,121,1,'CC-BY-SA','HPR new year show 2017',0,0,1),
(2555,'2018-05-18','2017-2018 New Years Eve show part 6',11722,'Part six of the sixth annual HPR New Year Show.','<h2 id=\"hpr-nye-2017---6\">HPR NYE 2017 - 6</h2>\r\n<ul>\r\n<li><p>Using Ubuntu with snaps or just using Debian for a home server</p></li>\r\n<li><p>Building a home firewall</p></li>\r\n<li><p>What is the best firewall distro</p></li>\r\n<li><p>Maybe just learn ip tables</p></li>\r\n<li><p>Fun with virtualization</p></li>\r\n<li><p><a href=\"https://riscv.org/\" class=\"uri\">https://riscv.org/</a><br />\r\nA completely Free Hardware CPU that is gaining press</p></li>\r\n<li><p><a href=\"https://www.xilinx.com/products/silicon-devices/soc/zynq-7000.html\" class=\"uri\">https://www.xilinx.com/products/silicon-devices/soc/zynq-7000.html</a><br />\r\nAn ARM processor with built-in FPGA</p></li>\r\n<li><p>Western Digital moving to RISC-V:<br />\r\n<a href=\"https://www.forbes.com/sites/tiriasresearch/2017/12/06/western-digital-gives-a-billion-unit-boost-to-open-source-risc-v-cpu/\" class=\"uri\">https://www.forbes.com/sites/tiriasresearch/2017/12/06/western-digital-gives-a-billion-unit-boost-to-open-source-risc-v-cpu/</a></p></li>\r\n<li><p><a href=\"https://www.youtube.com/watch?v=ATZls4lbwmM&amp;t=20m27s\" class=\"uri\">https://www.youtube.com/watch?v=ATZls4lbwmM&amp;t=20m27s</a><br />\r\nWD CEO announces their ambition to switch fully to RISC-V</p></li>\r\n<li><p><a href=\"https://www.heropunch.io/\" class=\"uri\">https://www.heropunch.io/</a><br />\r\nCreating free hardware for decentralized communications, mobile applications and mesh networks</p></li>\r\n<li><p><a href=\"https://www.scuttlebutt.nz/\" class=\"uri\">https://www.scuttlebutt.nz/</a><br />\r\nSecure Scuttlebutt, or SSB, is built for intermittent networks and drop points</p></li>\r\n<li><p>A little bit about <a href=\"https://ipfs.io/\" class=\"uri\">https://ipfs.io/</a></p></li>\r\n<li><p>Content-Addressable Networks are important if you\'re in intermittent or high-latency mesh networks</p></li>\r\n<li><p>And in passing: <a href=\"https://twister.net.co/\" class=\"uri\">https://twister.net.co/</a></p></li>\r\n<li><p>BitTorrent + blockchain + DHT social networking, not entirely dissimilar to SSB<br />\r\n<a href=\"https://www.bitmessage.org/\" class=\"uri\">https://www.bitmessage.org/</a></p></li>\r\n<li><p>clacke was wrong, it doesn\'t store messages in a blockchain</p></li>\r\n<li>3D printers: <a href=\"https://podnutz.com/category/themakerz/\" class=\"uri\">https://podnutz.com/category/themakerz/</a>\r\n<ul>\r\n<li>podcast <a href=\"https://www.tinkercad.com/\" class=\"uri\">https://www.tinkercad.com/</a></li>\r\n<li>cloud CAD <a href=\"https://www.autodesk.com/products/fusion-360/overview\" class=\"uri\">https://www.autodesk.com/products/fusion-360/overview</a></li>\r\n<li>cloud CAD <a href=\"https://www.onshape.com/\" class=\"uri\">https://www.onshape.com/</a></li>\r\n<li>cloud CAD <a href=\"https://www.thingiverse.com/\" class=\"uri\">https://www.thingiverse.com/</a></li>\r\n<li>&quot;the Facebook of 3D model sharing&quot; <a href=\"https://cults3d.com/\" class=\"uri\">https://cults3d.com/</a></li>\r\n<li>3D model sharing<br />\r\n<a href=\"https://www.cnx-software.com/2017/05/25/melon-s3-fpga-arduino-raspberry-pi-compatible-board-is-programmable-over-wifi-using-esp8266-wisoc/\" class=\"uri\">https://www.cnx-software.com/2017/05/25/melon-s3-fpga-arduino-raspberry-pi-compatible-board-is-programmable-over-wifi-using-esp8266-wisoc/</a></li>\r\n</ul></li>\r\n<li><p><a href=\"https://www.cnx-software.com/2015/11/24/fleafpga-uno-board-combines-a-lattice-fpga-arduino-uno-form-factor-hdmi-output-and-an-esp8266-wifi-module/\" class=\"uri\">https://www.cnx-software.com/2015/11/24/fleafpga-uno-board-combines-a-lattice-fpga-arduino-uno-form-factor-hdmi-output-and-an-esp8266-wifi-module/</a></p></li>\r\n<li><p>Amiga and <a href=\"https://www.morphos-team.net/\" class=\"uri\">https://www.morphos-team.net/</a><br />\r\nMorphOS is a proprietary implementation of AmigaOS for PowerPC, but uses free software components from e.g. AROS</p></li>\r\n<li><p><a href=\"https://c64upgra.de/c-one/\" class=\"uri\">https://c64upgra.de/c-one/</a><br />\r\nA C64 reimplementation project that turned into an FPGA platform that can even act as an Amiga</p></li>\r\n<li><p>Ken is awake and is going to solder</p></li>\r\n<li><p>Netminer mentions <a href=\"https://www.youtube.com/channel/UCu4uiUtALy1ILAxNh7TGsmQ\" class=\"uri\">https://www.youtube.com/channel/UCu4uiUtALy1ILAxNh7TGsmQ</a></p></li>\r\n<li><p><a href=\"https://www.youtube.com/watch?v=NHthWtKWXJE\" class=\"uri\">https://www.youtube.com/watch?v=NHthWtKWXJE</a></p></li>\r\n<li><p>The kit ken is making  <a href=\"https://www.bitscope.com/product/BS05/\" class=\"uri\">https://www.bitscope.com/product/BS05/</a></p></li>\r\n<li><p>Ken suggest a show on Bitscope + Raspberry Pi + aurduino tutorial series</p></li>\r\n<li><p>The PCB <a href=\"https://kenfallon.com/files/pcb.jpg\" class=\"uri\">https://kenfallon.com/files/pcb.jpg</a></p></li>\r\n<li><p><a href=\"https://www.ebay.com/p/40w-Co2-Laser-Engraving-Cutting-Machine-Engraver-Cutter-USB-Port/18011066781?iid=322496119440\" class=\"uri\">https://www.ebay.com/p/40w-Co2-Laser-Engraving-Cutting-Machine-Engraver-Cutter-USB-Port/18011066781?iid=322496119440</a></p></li>\r\n<li><p><a href=\"https://www.hobby-hour.com/electronics/resistorcalculator.php\" class=\"uri\">https://www.hobby-hour.com/electronics/resistorcalculator.php</a></p></li>\r\n</ul>\r\n',159,121,1,'CC-BY-SA','HPR new year show 2017',0,0,1),
(2565,'2018-06-01','2017-2018 New Years Eve show part 7',10683,'Part seven of the sixth annual HPR New Year Show. This is the last one.','<h2 id=\"hpr-nye-2017---7\">HPR NYE 2017 - 7</h2>\r\n<ul>\r\n<li><p><a href=\"https://www.youtube.com/channel/UCuiDNTaTdPTGZZzHm0iriGQ\" class=\"uri\">https://www.youtube.com/channel/UCuiDNTaTdPTGZZzHm0iriGQ</a></p></li>\r\n<li><p><a href=\"https://www.imdb.com/title/tt0460681/\" class=\"uri\">https://www.imdb.com/title/tt0460681/</a></p></li>\r\n<li><p><a href=\"https://www.youtube.com/channel/UCggHoXaj8BQHIiPmOxezeWA\" class=\"uri\">https://www.youtube.com/channel/UCggHoXaj8BQHIiPmOxezeWA</a></p></li>\r\n<li><p>history buffs</p></li>\r\n<li><p><a href=\"https://www.indiegogo.com/projects/gpd-pocket-7-0-umpc-laptop-ubuntu-or-win-10-os-laptop--2#/\" class=\"uri\">https://www.indiegogo.com/projects/gpd-pocket-7-0-umpc-laptop-ubuntu-or-win-10-os-laptop--2#/</a></p></li>\r\n<li><p>Why are they killing off the 32 bit distros?</p></li>\r\n<li><p><a href=\"https://en.wikipedia.org/wiki/Year_2038_problem\" class=\"uri\">https://en.wikipedia.org/wiki/Year_2038_problem</a></p></li>\r\n<li><p><a href=\"https://archive.org/details/hpr1037\" class=\"uri\">https://archive.org/details/hpr1037</a></p></li>\r\n<li><p>Ken Fallon the fastest solderer in the West. Able to solder a component tester in a single show...</p></li>\r\n</ul>',159,121,1,'CC-BY-SA','HPR new year show 2017',0,0,1),
(2781,'2019-04-01','HPR Community News for March 2019',3564,'HPR Volunteers talk about shows released and comments posted in March 2019','\r\n<h2>Spoiler</h2>\r\n<p>Dave has not left and HPR has not sold out</p>\r\n<h2>New hosts</h2>\r\n<p>\r\nWelcome to our new hosts: <br />\r\n\r\n    <a href=\"https://hackerpublicradio.org/correspondents/0373.html\" target=\"_blank\">Floyd C Poynter</a>, \r\n    <a href=\"https://hackerpublicradio.org/correspondents/0374.html\" target=\"_blank\">aldenp</a>, \r\n    <a href=\"https://hackerpublicradio.org/correspondents/0375.html\" target=\"_blank\">minnix</a>.\r\n</p>\r\n\r\n<h2>Last Month\'s Shows</h2>\r\n<table id=\"t01\" summary=\"Last month\'s shows\">\r\n    <tr>\r\n    <th>Id</th>\r\n    <th>Day</th>\r\n    <th>Date</th>\r\n    <th>Title</th>\r\n    <th>Host</th>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2760\" target=\"_blank\">2760</a></strong></td>\r\n    <td>Fri</td>\r\n    <td>2019-03-01</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2760\" target=\"_blank\">What is VNF</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2761\" target=\"_blank\">2761</a></strong></td>\r\n    <td>Mon</td>\r\n    <td>2019-03-04</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2761\" target=\"_blank\">HPR Community News for February 2019</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2762\" target=\"_blank\">2762</a></strong></td>\r\n    <td>Tue</td>\r\n    <td>2019-03-05</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2762\" target=\"_blank\">What You Really Are</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2763\" target=\"_blank\">2763</a></strong></td>\r\n    <td>Wed</td>\r\n    <td>2019-03-06</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2763\" target=\"_blank\">Deepgeek explains SPF records</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2764\" target=\"_blank\">2764</a></strong></td>\r\n    <td>Thu</td>\r\n    <td>2019-03-07</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2764\" target=\"_blank\">Personal password algorithms</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2765\" target=\"_blank\">2765</a></strong></td>\r\n    <td>Fri</td>\r\n    <td>2019-03-08</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2765\" target=\"_blank\">My YouTube Subscriptions #3</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2766\" target=\"_blank\">2766</a></strong></td>\r\n    <td>Mon</td>\r\n    <td>2019-03-11</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2766\" target=\"_blank\">Disk enumeration on Linux</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2767\" target=\"_blank\">2767</a></strong></td>\r\n    <td>Tue</td>\r\n    <td>2019-03-12</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2767\" target=\"_blank\">Djvu and other paperless document formats</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2768\" target=\"_blank\">2768</a></strong></td>\r\n    <td>Wed</td>\r\n    <td>2019-03-13</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2768\" target=\"_blank\">Writing Web Game in Haskell - Planetary statuses</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2769\" target=\"_blank\">2769</a></strong></td>\r\n    <td>Thu</td>\r\n    <td>2019-03-14</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2769\" target=\"_blank\">Quick Review of the AstroAI WH5000A Multimeter</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0235.html\" target=\"_blank\">NYbill</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2770\" target=\"_blank\">2770</a></strong></td>\r\n    <td>Fri</td>\r\n    <td>2019-03-15</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2770\" target=\"_blank\">Navigating the maze of RPG books</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2771\" target=\"_blank\">2771</a></strong></td>\r\n    <td>Mon</td>\r\n    <td>2019-03-18</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2771\" target=\"_blank\">Embedding hidden text in Djvu files</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2772\" target=\"_blank\">2772</a></strong></td>\r\n    <td>Tue</td>\r\n    <td>2019-03-19</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2772\" target=\"_blank\">My applications and software part 3</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0338.html\" target=\"_blank\">Tony Hughes AKA TonyH1212</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2773\" target=\"_blank\">2773</a></strong></td>\r\n    <td>Wed</td>\r\n    <td>2019-03-20</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2773\" target=\"_blank\">Lead/Acid Battery Maintenance and Calcium Charge Voltage</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0373.html\" target=\"_blank\">Floyd C Poynter</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2774\" target=\"_blank\">2774</a></strong></td>\r\n    <td>Thu</td>\r\n    <td>2019-03-21</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2774\" target=\"_blank\">CJDNS and Yggdrasil</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0374.html\" target=\"_blank\">aldenp</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2775\" target=\"_blank\">2775</a></strong></td>\r\n    <td>Fri</td>\r\n    <td>2019-03-22</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2775\" target=\"_blank\">My YouTube Subscriptions #4</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2776\" target=\"_blank\">2776</a></strong></td>\r\n    <td>Mon</td>\r\n    <td>2019-03-25</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2776\" target=\"_blank\">Sub-Plots In Storytelling</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2777\" target=\"_blank\">2777</a></strong></td>\r\n    <td>Tue</td>\r\n    <td>2019-03-26</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2777\" target=\"_blank\">The quest for the perfect laptop.</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0111.html\" target=\"_blank\">knightwise</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2778\" target=\"_blank\">2778</a></strong></td>\r\n    <td>Wed</td>\r\n    <td>2019-03-27</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2778\" target=\"_blank\">Functor and applicative in Haskell</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2779\" target=\"_blank\">2779</a></strong></td>\r\n    <td>Thu</td>\r\n    <td>2019-03-28</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2779\" target=\"_blank\">HTTP, IPFS, and torrents</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0374.html\" target=\"_blank\">aldenp</a></td>\r\n    </tr>\r\n    <tr valign=\"top\">\r\n    <td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2780\" target=\"_blank\">2780</a></strong></td>\r\n    <td>Fri</td>\r\n    <td>2019-03-29</td>\r\n    <td><a href=\"https://hackerpublicradio.org/eps.php?id=2780\" target=\"_blank\">My SBC Nextcloud Install Pt. 1 - Hardware</a></td>\r\n    <td><a href=\"https://hackerpublicradio.org/correspondents/0375.html\" target=\"_blank\">minnix</a></td>\r\n    </tr>\r\n</table>\r\n\r\n<h2>Comments this month</h2>\r\n\r\n<p>These are comments which have been made during the past month, either to shows\r\nreleased during the month or to past shows.<br/>\r\nThere are 24 comments in total.</p>\r\n<p>There are 3 comments on\r\n3 previous shows:</p>\r\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2708#comments\" target=\"_blank\">hpr2708</a></strong>\r\n(2018-12-19) \"<em>Ghostscript</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul>\r\n<li>\r\n<a href=\"https://hackerpublicradio.org/eps.php?id=2708#2\" target=\"_blank\">Comment 2</a>:\r\nKlaatu on 2019-03-07:\r\n\"You\'re welcome\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2749#comments\" target=\"_blank\">hpr2749</a></strong>\r\n(2019-02-14) \"<em>Lostnbronx and Klaatu commentary from episode 2743</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul>\r\n<li>\r\n<a href=\"https://hackerpublicradio.org/eps.php?id=2749#1\" target=\"_blank\">Comment 1</a>:\r\nKlaatu on 2019-03-07:\r\n\"We are stupid\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2759#comments\" target=\"_blank\">hpr2759</a></strong>\r\n(2019-02-28) \"<em>Cleaning the Potentiometers on a Peavey Bandit 65</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0238.html\" target=\"_blank\">Jon Kulp</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul>\r\n<li>\r\n<a href=\"https://hackerpublicradio.org/eps.php?id=2759#2\" target=\"_blank\">Comment 2</a>:\r\nJon Kulp on 2019-03-02:\r\n\"Never too much about 80s gear\"</li></ul><br/>\r\n</li></ul>\r\n<p>There are 21 comments on 12 of this month\'s shows:</p>\r\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2761#comments\" target=\"_blank\">hpr2761</a></strong>\r\n(2019-03-04) \"<em>HPR Community News for February 2019</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2761#1\" target=\"_blank\">Comment 1</a>:\r\nMike Ray on 2019-03-04:\r\n\"Media embedded show notes\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2762#comments\" target=\"_blank\">hpr2762</a></strong>\r\n(2019-03-05) \"<em>What You Really Are</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2762#1\" target=\"_blank\">Comment 1</a>:\r\nTuula on 2019-03-05:\r\n\"oh, wow\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2763#comments\" target=\"_blank\">hpr2763</a></strong>\r\n(2019-03-06) \"<em>Deepgeek explains SPF records</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2763#1\" target=\"_blank\">Comment 1</a>:\r\nMr. Young on 2019-03-09:\r\n\"Thanks for the help\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2763#2\" target=\"_blank\">Comment 2</a>:\r\npauleb on 2019-03-11:\r\n\"Great explanation!\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2764#comments\" target=\"_blank\">hpr2764</a></strong>\r\n(2019-03-07) \"<em>Personal password algorithms</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2764#1\" target=\"_blank\">Comment 1</a>:\r\nSteve on 2019-03-12:\r\n\"LessPass\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2766#comments\" target=\"_blank\">hpr2766</a></strong>\r\n(2019-03-11) \"<em>Disk enumeration on Linux</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2766#1\" target=\"_blank\">Comment 1</a>:\r\nJoel D on 2019-03-12:\r\n\"The Letters C and F\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2766#2\" target=\"_blank\">Comment 2</a>:\r\nKlaatu on 2019-03-13:\r\n\"Thanks for the info Joel\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2766#3\" target=\"_blank\">Comment 3</a>:\r\nAhuka on 2019-03-14:\r\n\"Old drive letters\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2768#comments\" target=\"_blank\">hpr2768</a></strong>\r\n(2019-03-13) \"<em>Writing Web Game in Haskell - Planetary statuses</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2768#1\" target=\"_blank\">Comment 1</a>:\r\nKlaatu on 2019-03-15:\r\n\"Agog and aghast\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2768#2\" target=\"_blank\">Comment 2</a>:\r\nTuula on 2019-03-15:\r\n\"this made my week\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2773#comments\" target=\"_blank\">hpr2773</a></strong>\r\n(2019-03-20) \"<em>Lead/Acid Battery Maintenance and Calcium Charge Voltage</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0373.html\" target=\"_blank\">Floyd C Poynter</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2773#1\" target=\"_blank\">Comment 1</a>:\r\nTuula on 2019-03-20:\r\n\"Good to know\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2773#2\" target=\"_blank\">Comment 2</a>:\r\nNybill on 2019-03-20:\r\n\"Good Info\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2774#comments\" target=\"_blank\">hpr2774</a></strong>\r\n(2019-03-21) \"<em>CJDNS and Yggdrasil</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0374.html\" target=\"_blank\">aldenp</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2774#1\" target=\"_blank\">Comment 1</a>:\r\nTuula on 2019-03-21:\r\n\"fascinating\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2774#2\" target=\"_blank\">Comment 2</a>:\r\nBrian-in-Ohio on 2019-03-21:\r\n\"more shows\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2774#3\" target=\"_blank\">Comment 3</a>:\r\nnorrist on 2019-03-21:\r\n\"gentoo\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2774#4\" target=\"_blank\">Comment 4</a>:\r\nGavtres on 2019-03-25:\r\n\"IPv6 end to end encryption\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2776#comments\" target=\"_blank\">hpr2776</a></strong>\r\n(2019-03-25) \"<em>Sub-Plots In Storytelling</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2776#1\" target=\"_blank\">Comment 1</a>:\r\noperat0r on 2019-03-25:\r\n\"fun stuff\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2777#comments\" target=\"_blank\">hpr2777</a></strong>\r\n(2019-03-26) \"<em>The quest for the perfect laptop.</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0111.html\" target=\"_blank\">knightwise</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2777#1\" target=\"_blank\">Comment 1</a>:\r\nBeeza on 2019-03-29:\r\n\"Computer Requirements Specification\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2778#comments\" target=\"_blank\">hpr2778</a></strong>\r\n(2019-03-27) \"<em>Functor and applicative in Haskell</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2778#1\" target=\"_blank\">Comment 1</a>:\r\nBeeza on 2019-03-28:\r\n\"Intuitiveness Of Haskell\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2778#2\" target=\"_blank\">Comment 2</a>:\r\nTuula on 2019-03-29:\r\n\"thanks and great idea\"</li></ul><br/>\r\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2779#comments\" target=\"_blank\">hpr2779</a></strong>\r\n(2019-03-28) \"<em>HTTP, IPFS, and torrents</em>\"\r\nby <a href=\"https://hackerpublicradio.org/correspondents/0374.html\" target=\"_blank\">aldenp</a>.</li>\r\n<li style=\"list-style: none; display: inline\">\r\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2779#1\" target=\"_blank\">Comment 1</a>:\r\nHipstre on 2019-03-31:\r\n\"Enjoyed it, sounded great\"</li></ul><br/>\r\n</li></ul>\r\n\r\n<h2>Mailing List discussions</h2>\r\n<p>\r\nPolicy decisions surrounding HPR are taken by the community as a whole. This\r\ndiscussion takes place on the <a href=\"https://hackerpublicradio.org/maillist\"\r\ntarget=\"_blank\">Mail List</a> which is open to all HPR listeners and\r\ncontributors. The discussions are open and available on the HPR server under\r\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/\">Mailman</a>.\r\n</p>\r\n<p>The threaded discussions this month can be found here:</p>\r\n<a href=\"https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-March/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-March/thread.html</a>\r\n\r\n\r\n<h2>Any other business</h2>\r\n<h3 id=\"mintcast\">Mint Cast</h3>\r\n<p>\r\nDid we mention the <a href=\"https://mintcast.org/\">The Mint Cast</a> ?\r\n</p>\r\n<h3 id=\"sorry-yannick\">Sorry Yannick!</h3>\r\n<p>There was a misunderstanding about Yannick’s show 2740 when it was discussed on the February Community News. The show was about <code>Pop_OS!</code>, a subject Yannick had also spoken about previously on an edition of the <em>TuxJam</em> podcast.</p>\r\n<p>The misunderstanding was that we thought this might have gone against guidelines on <a href=\"https://hackerpublicradio.org/stuff_you_need_to_know.php#syndication\">syndication</a>, where in fact it did not. It was merely a case of the same subject being spoken about by the same person on two different podcasts.</p>\r\n<h3 id=\"change-to-the-host-page\">Change to the host page</h3>\r\n<p>The page for each host:</p>\r\n<pre><code>https://hackerpublicradio.org/correspondents/NNNN.html</code></pre>\r\n<p>which used to contain a list of all shows contributed by that host, with the show notes, has been made more compact. It now displays only the title, release date, duration, series (if applicable), tags and the show summary. Clicking on the title takes you to the show itself. Note that the host id number <em>NNNN</em> must be 4 digits with leading zeroes.</p>\r\n<p>The list of all hosts in alphabetic order can be seen at <a href=\"https://hackerpublicradio.org/correspondents/index.html\" class=\"uri\">https://hackerpublicradio.org/correspondents/index.html</a> (navigate with the top menu bar: <em>Home</em>→<em>About</em>→<em>Hosts</em>). From there clicking on the host number takes you to the page for that host. There’s also a link to the host page from the page for each show.</p>\r\n<h3 id=\"community-news-calendar\">Community News Calendar</h3>\r\n<p>An iCal calendar has been prepared which holds the next 12 recording dates for the Community News. This calendar can be downloaded and opened by suitable clients such as the Thunderbird mail client or Google Calendar. The file is linked from <a href=\"https://hackerpublicradio.org/about.php\" class=\"uri\">https://hackerpublicradio.org/about.php</a> and may be downloaded from <a href=\"https://www.hackerpublicradio.org/HPR_Community_News_schedule.ics\" class=\"uri\">https://www.hackerpublicradio.org/HPR_Community_News_schedule.ics</a>.</p>\r\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\r\n<p>Thanks to the following contributors for sending in updates in the past month: <b><a href=\"https://hackerpublicradio.org/correspondents/0030.html\">Ken Fallon</a>, <a href=\"https://hackerpublicradio.org/correspondents/0235.html\">NYbill</a>, <a href=\"https://hackerpublicradio.org/correspondents/0215.html\">windigo</a></b></p>\r\n<p>Over the period tags and/or summaries have been added to 32 shows which were without them.</p>\r\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>\r\n',159,83,1,'CC-BY-SA','Community News',0,0,1),
(2806,'2019-05-06','HPR Community News for April 2019',6840,'HPR Volunteers talk about shows released and comments posted in April 2019','\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<small><table id=\"t01\" summary=\"Last month\'s shows\">\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 valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2781\" target=\"_blank\">2781</a></strong></td>\n<td>Mon</td>\n<td>2019-04-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2781\" target=\"_blank\">HPR Community News for March 2019</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0159.html\" target=\"_blank\">HPR Volunteers</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2782\" target=\"_blank\">2782</a></strong></td>\n<td>Tue</td>\n<td>2019-04-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2782\" target=\"_blank\">Never stop gaming</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2783\" target=\"_blank\">2783</a></strong></td>\n<td>Wed</td>\n<td>2019-04-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2783\" target=\"_blank\">The Windows \"Shutdown.exe\" Command Explained</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0152.html\" target=\"_blank\">Claudio Miranda</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2784\" target=\"_blank\">2784</a></strong></td>\n<td>Thu</td>\n<td>2019-04-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2784\" target=\"_blank\">The Yamaha Disklavier</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0238.html\" target=\"_blank\">Jon Kulp</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2785\" target=\"_blank\">2785</a></strong></td>\n<td>Fri</td>\n<td>2019-04-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2785\" target=\"_blank\">What is uCPE</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0129.html\" target=\"_blank\">JWP</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2786\" target=\"_blank\">2786</a></strong></td>\n<td>Mon</td>\n<td>2019-04-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2786\" target=\"_blank\">My YouTube Channels</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0338.html\" target=\"_blank\">Tony Hughes AKA TonyH1212</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2787\" target=\"_blank\">2787</a></strong></td>\n<td>Tue</td>\n<td>2019-04-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2787\" target=\"_blank\">NodeJS Part 1</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2788\" target=\"_blank\">2788</a></strong></td>\n<td>Wed</td>\n<td>2019-04-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2788\" target=\"_blank\">Looping in Haskell</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2789\" target=\"_blank\">2789</a></strong></td>\n<td>Thu</td>\n<td>2019-04-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2789\" target=\"_blank\">Pacing In Storytelling</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2790\" target=\"_blank\">2790</a></strong></td>\n<td>Fri</td>\n<td>2019-04-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2790\" target=\"_blank\">My YouTube Subscriptions #5</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2791\" target=\"_blank\">2791</a></strong></td>\n<td>Mon</td>\n<td>2019-04-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2791\" target=\"_blank\">LUKS like truecrypt</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2792\" target=\"_blank\">2792</a></strong></td>\n<td>Tue</td>\n<td>2019-04-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2792\" target=\"_blank\">Playing around with text to speech synthesis on Linux</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0369.html\" target=\"_blank\">Jeroen Baten</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2793\" target=\"_blank\">2793</a></strong></td>\n<td>Wed</td>\n<td>2019-04-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2793\" target=\"_blank\">bash coproc: the future (2009) is here</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0311.html\" target=\"_blank\">clacke</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2794\" target=\"_blank\">2794</a></strong></td>\n<td>Thu</td>\n<td>2019-04-18</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2794\" target=\"_blank\">Interview with Martin Wimpress</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0370.html\" target=\"_blank\">Yannick the french guy from Switzerland</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2795\" target=\"_blank\">2795</a></strong></td>\n<td>Fri</td>\n<td>2019-04-19</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2795\" target=\"_blank\">Dead Earth</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0078.html\" target=\"_blank\">klaatu</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2796\" target=\"_blank\">2796</a></strong></td>\n<td>Mon</td>\n<td>2019-04-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2796\" target=\"_blank\">IRS,Credit Freezes and Junk Mail Ohh My!</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2797\" target=\"_blank\">2797</a></strong></td>\n<td>Tue</td>\n<td>2019-04-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2797\" target=\"_blank\">Writing Web Game in Haskell - Simulation at high level</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2798\" target=\"_blank\">2798</a></strong></td>\n<td>Wed</td>\n<td>2019-04-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2798\" target=\"_blank\">Should Podcasters be Pirates ?</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0111.html\" target=\"_blank\">knightwise</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2799\" target=\"_blank\">2799</a></strong></td>\n<td>Thu</td>\n<td>2019-04-25</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2799\" target=\"_blank\">building an arduino programmer</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0326.html\" target=\"_blank\">Brian in Ohio</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2800\" target=\"_blank\">2800</a></strong></td>\n<td>Fri</td>\n<td>2019-04-26</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2800\" target=\"_blank\">My YouTube Subscriptions #6</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0198.html\" target=\"_blank\">Ahuka</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2801\" target=\"_blank\">2801</a></strong></td>\n<td>Mon</td>\n<td>2019-04-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2801\" target=\"_blank\">Guitar Set Up Part 1.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0235.html\" target=\"_blank\">NYbill</a></td>\n</tr>\n<tr valign=\"top\">\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2802\" target=\"_blank\">2802</a></strong></td>\n<td>Tue</td>\n<td>2019-04-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2802\" target=\"_blank\">Mid-life (?) assessment</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0311.html\" target=\"_blank\">clacke</a></td>\n</tr>\n</table></small>\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 4 comments on\n4 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2457#comments\" target=\"_blank\">hpr2457</a></strong>\n(2018-01-02) \"<em>Getting ready for my new Macbook Pro</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0111.html\" target=\"_blank\">knightwise</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2457#1\" target=\"_blank\">Comment 1</a>:\nBart on 2019-04-25:\n\"aren\'t you forgetting a hub?\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2739#comments\" target=\"_blank\">hpr2739</a></strong>\n(2019-01-31) \"<em>Bash Tips - 19</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>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2739#1\" target=\"_blank\">Comment 1</a>:\nclacke on 2019-04-01:\n\"local\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2774#comments\" target=\"_blank\">hpr2774</a></strong>\n(2019-03-21) \"<em>CJDNS and Yggdrasil</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0374.html\" target=\"_blank\">aldenp</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2774#5\" target=\"_blank\">Comment 5</a>:\nclacke on 2019-04-01:\n\"Yggdrasil pronunciation\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2779#comments\" target=\"_blank\">hpr2779</a></strong>\n(2019-03-28) \"<em>HTTP, IPFS, and torrents</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0374.html\" target=\"_blank\">aldenp</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2779#2\" target=\"_blank\">Comment 2</a>:\nclacke on 2019-04-01:\n\"audio quality\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 19 comments on 7 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2783#comments\" target=\"_blank\">hpr2783</a></strong>\n(2019-04-03) \"<em>The Windows \"Shutdown.exe\" Command Explained</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=2783#1\" target=\"_blank\">Comment 1</a>:\nBubba on 2019-04-04:\n\"Shutdown.exe command\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2783#2\" target=\"_blank\">Comment 2</a>:\nClaudioM on 2019-04-06:\n\"Also Useful with PsExec from Sysinternals Suite\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2784#comments\" target=\"_blank\">hpr2784</a></strong>\n(2019-04-04) \"<em>The Yamaha Disklavier</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=2784#1\" target=\"_blank\">Comment 1</a>:\nTuula on 2019-04-04:\n\"music to ears\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2784#2\" target=\"_blank\">Comment 2</a>:\nJan on 2019-04-04:\n\"Translations\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2784#3\" target=\"_blank\">Comment 3</a>:\nJon Kulp on 2019-04-04:\n\"Ok but it wasn\'t the \"Well-Tempered Piano\"\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2784#4\" target=\"_blank\">Comment 4</a>:\nGavtres on 2019-04-05:\n\"So cool!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2784#5\" target=\"_blank\">Comment 5</a>:\nDave Morriss on 2019-04-05:\n\"What a wonderful device!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2784#6\" target=\"_blank\">Comment 6</a>:\nGuy on 2019-04-06:\n\"How far away are you?\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2784#7\" target=\"_blank\">Comment 7</a>:\nJon Kulp on 2019-04-06:\n\"\"or\" not \"of\"\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2784#8\" target=\"_blank\">Comment 8</a>:\nWindigo on 2019-04-14:\n\"Library of Congress\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2784#9\" target=\"_blank\">Comment 9</a>:\nJon Kulp on 2019-04-15:\n\"A great summer job\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2784#10\" target=\"_blank\">Comment 10</a>:\nJon Kulp on 2019-04-18:\n\"Older near-perfect player pianos\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2787#comments\" target=\"_blank\">hpr2787</a></strong>\n(2019-04-09) \"<em>NodeJS 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=2787#1\" target=\"_blank\">Comment 1</a>:\nTuula on 2019-04-10:\n\"looking for more\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2789#comments\" target=\"_blank\">hpr2789</a></strong>\n(2019-04-11) \"<em>Pacing In Storytelling</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2789#1\" target=\"_blank\">Comment 1</a>:\nTuula on 2019-04-11:\n\"what about non-fictional stories\"</li></ul><br/>\n</li><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><li><a href=\"https://hackerpublicradio.org/eps.php?id=2793#1\" target=\"_blank\">Comment 1</a>:\nDave Morriss on 2019-04-22:\n\"I really enjoyed this!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2796#comments\" target=\"_blank\">hpr2796</a></strong>\n(2019-04-22) \"<em>IRS,Credit Freezes and Junk Mail Ohh My!</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=2796#1\" target=\"_blank\">Comment 1</a>:\ncogoman on 2019-04-25:\n\"Credit card security\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2798#comments\" target=\"_blank\">hpr2798</a></strong>\n(2019-04-24) \"<em>Should Podcasters be Pirates ?</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0111.html\" target=\"_blank\">knightwise</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2798#1\" target=\"_blank\">Comment 1</a>:\nTuula on 2019-04-24:\n\"Yarrr, record me episodes\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2798#2\" target=\"_blank\">Comment 2</a>:\nDave Morriss on 2019-04-27:\n\"Memories of early podcasts and pirate radio\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2798#3\" target=\"_blank\">Comment 3</a>:\nDudeNamedBen on 2019-04-29:\n\"Da Podfather, Adam Curry\"</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/2019-April/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-April/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=\"hpr-on-wikipedia\">HPR on Wikipedia</h3>\n<p>Please see the draft at <a href=\"https://en.wikipedia.org/w/index.php?title=Draft:Hacker_Public_Radio\" class=\"uri\">https://en.wikipedia.org/w/index.php?title=Draft:Hacker_Public_Radio</a></p>\n<p>If you are not already a host, then please help improve the site.</p>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Thanks to the following contributor for sending in updates in the past month: <b><a href=\"https://hackerpublicradio.org/correspondents/0338.html\">Tony Hughes</a></b></p>\n<p>Over the period tags and/or summaries have been added to 36 shows which were without them.</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),
(2522,'2018-04-03','Flashbacks In Storytelling',656,'Lostnbronx takes a breezy look at the narrative technique of the flashback.','<p>Lostnbronx looks at flashbacks, flashforwards, plays-within-plays, and dream sequences as techniques of both good and bad storytelling.</p>',107,105,0,'CC-0','storytelling,flashback,lostnbronx',0,0,1),
(2523,'2018-04-04','Run Linux on a Windows Box',809,'HP Stream book with windows 10','<p>A short show about running Debian on windows.<br />\r\nYes it really works.</p>\r\n<p>What you have do first<br />\r\n<a href=\"https://askubuntu.com/questions/966184/new-installation-of-windows-10-and-ubuntu-from-windows-store-error/966214\" class=\"uri\">https://askubuntu.com/questions/966184/new-installation-of-windows-10-and-ubuntu-from-windows-store-error/966214</a></p>\r\n<p>and here<br />\r\n<a href=\"https://www.bing.com/search?q=how+to+run+windows+powershell+as+adminstrator&amp;form=EDGTCT&amp;qs=PF&amp;cvid=75a5d473a2d140ea841cb0457e42026f&amp;refig=ba953cbaebae48c8b5d1c46080dafd1a&amp;cc=DE&amp;setlang=en-US\" class=\"uri\">https://www.bing.com/search?q=how+to+run+windows+powershell+as+adminstrator&amp;form=EDGTCT&amp;qs=PF&amp;cvid=75a5d473a2d140ea841cb0457e42026f&amp;refig=ba953cbaebae48c8b5d1c46080dafd1a&amp;cc=DE&amp;setlang=en-US</a></p>',129,0,1,'CC-BY-SA','Windows Subsystem for Linux,WSL,Debian,PowerShell',0,0,1),
(2524,'2018-04-05','General problem solver',1088,'Brief look into general problem solver system and how to use it solve simple problems','<ul>\r\n<li><p>Building Problem Solvers by Kenneth D. Forbus and Johan de Kleer: <a href=\"https://www.qrg.northwestern.edu/BPS/readme.html\" class=\"uri\">https://www.qrg.northwestern.edu/BPS/readme.html</a></p></li>\r\n<li><p>Paradigms of Artificial Intelligence Programming by Peter Norvig: <a href=\"https://github.com/norvig/paip-lisp\" class=\"uri\">https://github.com/norvig/paip-lisp</a></p></li>\r\n<li><p>Engineer\'s Journey, Tuula\'s blog: <a href=\"https://engineersjourney.wordpress.com/\" class=\"uri\">https://engineersjourney.wordpress.com/</a></p></li>\r\n<li><p>Blog entry about solving n-queens puzzle with general problem solver: <a href=\"https://engineersjourney.wordpress.com/2018/03/09/n-queens-puzzle-solved-in-hy-and-cps/\" class=\"uri\">https://engineersjourney.wordpress.com/2018/03/09/n-queens-puzzle-solved-in-hy-and-cps/</a></p></li>\r\n</ul>',364,0,0,'CC-BY-SA','lisp, artificial intelligence, problem solving',0,0,1),
(2526,'2018-04-09','Gnu Awk - Part 10',2535,'More about arrays in Gnu Awk','<h1 id=\"gnu-awk---part-10\">Gnu Awk - Part 10</h1>\n<h2 id=\"introduction\">Introduction</h2>\n<p>This is the tenth episode of the &quot;<a href=\"https://hackerpublicradio.org/series/0094.html\" title=\"Learning Awk\">Learning Awk</a>&quot; series which is being produced by <a href=\"https://hackerpublicradio.org/correspondents/0300.html\" title=\"Mr. Young\">Mr. Young</a> and myself.</p>\n<p>In this episode I want to talk more about the use of arrays in GNU Awk and then I want to examine some real-world examples of the use of <code>awk</code>.</p>\n<h2 id=\"long-notes\">Long notes</h2>\n<p>The notes for rest of this episode are available <a href=\"hpr2526_full_shownotes.html\">here</a>.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li><a href=\"https://www.gnu.org/software/gawk/manual/html_node/index.html\"><em>GNU Awk User\'s Guide</em></a></li>\n<li>Previous shows in this series on HPR:\n<ul>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2114\">&quot;<em>Gnu Awk - Part 1</em>&quot;</a> - episode 2114</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2129\">&quot;<em>Gnu Awk - Part 2</em>&quot;</a> - episode 2129</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2143\">&quot;<em>Gnu Awk - Part 3</em>&quot;</a> - episode 2143</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2163\">&quot;<em>Gnu Awk - Part 4</em>&quot;</a> - episode 2163</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2184\">&quot;<em>Gnu Awk - Part 5</em>&quot;</a> - episode 2184</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2238\">&quot;<em>Gnu Awk - Part 6</em>&quot;</a> - episode 2238</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2330\">&quot;<em>Gnu Awk - Part 7</em>&quot;</a> - episode 2330</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2438\">&quot;<em>Gnu Awk - Part 8</em>&quot;</a> - episode 2438</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2476\">&quot;<em>Gnu Awk - Part 9</em>&quot;</a> - episode 2476</li>\n</ul></li>\n<li>Resources:\n<ul>\n<li><a href=\"hpr2526_full_shownotes.epub\">ePub version of these notes</a></li>\n<li><a href=\"hpr2526_full_shownotes.pdf\">PDF version of these notes</a></li>\n<li><a href=\"hpr2526_awk10_ex1.awk\">awk10_ex1.awk</a></li>\n<li><a href=\"hpr2526_awk10_ex2.awk\">awk10_ex2.awk</a></li>\n</ul></li>\n</ul>\n',225,94,1,'CC-BY-SA','Awk utility,Awk language,gawk,arrays',0,0,1),
(2527,'2018-04-10','Reviews Vs. Critiques',839,'Lostnbronx contrasts \"reviews\" with \"critiques\", which are not the same things.','<p>Lostnbronx takes a quick look at what it is that constitutes &quot;reviews&quot; of stories (be they books, films, TV shows, audio dramas, whatever) as opposed to &quot;critiques&quot; of them.</p>\r\n<p>How do these two things differ, and what are their purposes? Is one more important than the other? Why does it even matter?</p>',107,105,0,'CC-BY-SA','storytelling,review,critique,lostnbronx,film,writing,audio drama,tv',0,0,1),
(2528,'2018-04-11','CCTV with DARKNET',863,'I got over my current setup for CCTV with Darknet and YOLO','<p>Twitter: @operat0r</p>\r\n<p>DERP SHELL CODE <a href=\"https://rmccurdy.com/scripts/DARKNET\" class=\"uri\">https://rmccurdy.com/scripts/DARKNET</a></p>\r\n',36,0,1,'CC-BY-SA','CCTV,Darknet,YOLO',0,0,1),
(2531,'2018-04-16','Plot And Story',866,'Lostnbronx shares some thoughts about the nature of plot and story in storytelling.','<p>Lostnbronx talks about plot and story, as well as characters and backgrounds, in storytelling of all types. These things are closely tied together, and a problem with one can easily be a problem with all.</p>',107,105,0,'CC-0','storytelling,plot,story,character,background,lostnbronx',0,0,1),
(2529,'2018-04-12','What\'s in my podcatcher',592,'listing of podcasts I listen to ','<p>List of podcasts as read directly from my podcast player/catcher -- sorry, no official notes (I will do better next time, I promise).</p>',365,75,1,'CC-BY-SA','podcasts,feed',0,0,1),
(2532,'2018-04-17','Podcrawl Glasgow 2018',1584,'The TuxJam guys introduce and invite the HPR community to join them at Podcrawl Glasgow in July 2018','<h1 id=\"hpr-podcrawl-2018\">HPR Podcrawl 2018</h1>\r\n<p><a href=\"https://twitter.com/thelovebug\"><strong>Dave</strong></a>, <a href=\"https://twitter.com/kevie49\"><strong>Kevie</strong></a>, and <a href=\"https://twitter.com/mcnalu\"><strong>Andrew</strong></a> - hosts of <a href=\"https://tuxjam.otherside.network/\"><strong>TuxJam</strong></a> - take you via a slightly elongated route to an upcoming event.</p>\r\n<h2 id=\"the-event\">The event</h2>\r\n<p><a href=\"https://kmacphail.blogspot.co.uk/2018/02/podcrawl-glasgow-2018.html\"><strong>Podcrawl Glasgow 2018</strong></a> <strong>Saturday 28 July 2018 from 18:00</strong> <strong>starting at The State Bar, Holland Street, G2 4NG</strong></p>\r\n<h2 id=\"daves-mistake\">Dave\'s mistake</h2>\r\n<p>A minor review of the 2017 event leaves a bitter taste in the mouth of the Big Jessie.</p>\r\n<h2 id=\"who-is-the-event-for\">Who is the event for?</h2>\r\n<p>Kevie lists various groups of people who might be interested in going. Dave adds a couple more. So does Andrew. The upshot is: anyone human. Oh, and guide dogs. But probably not children after 19:00 (it\'s a Scottish pubs/licensing thing).</p>\r\n<h2 id=\"audio-from-the-event\">Audio from the event</h2>\r\n<p>Andrew suggests that we may be able to record or even stream audio from the Podcrawl. Dave apparently is an expert in such things, and tries to impress the others with science. Kevie suggests we wait towards the end of the event when it\'s quieter.</p>\r\n<h2 id=\"tactical-chunder\">Tactical chunder</h2>\r\n<p>Dave is reminded - for a second time - about his mishap. Andrew decides to go into nauseating (pardon the pun) detail.</p>\r\n<h2 id=\"how-will-you-find-us\">How will you find us?</h2>\r\n<p>Some of us will be wearing Podcrawl t-shirts, although the company that originally produced the t-shirts sadly has gone out of business.</p>\r\n<p>Andrew keeps Ken Fallon happy by suggesting that listeners record a response to this show with any suggestions about recording at live events.</p>\r\n<p>Kevie tells us where the event will be (see the top of the notes)</p>\r\n<p>We\'ll be posting through the event on Twitter/GNUsocial/Diaspora with the hashtag #PodcrawlGlasgow. Use any one of these to find out where we\'ll be at any time.</p>\r\n<p>Non-techy people are welcome. Cigars will be provided.</p>\r\n<p>If you\'re in a band, come along as well... we have plenty of opportunity for promotion of your music!</p>\r\n<p>Andrew reminds us that this is the fifth Podcrawl in Glasgow.</p>\r\n<p>Kevie says that if you\'re coming into Glasgow <strong>before</strong> 18:00, we\'d love to meet up with you beforehand. We believe that all three of us (plus Dave\'s good lady) will be there from early/mid afternoon.</p>\r\n<h2 id=\"contact-us\">Contact Us</h2>\r\n<p>You can contact all three of us at the same time via tuxjam@otherside.network - let us know you\'re coming!</p>\r\n<h3 id=\"kevie\">Kevie</h3>\r\n<p>Twitter: <a href=\"https://twitter.com/kevie49\">@kevie49</a><br />\r\nDiaspora: <a href=\"https://diaspora.microdata.co.uk/u/kevie\">kevie@diaspora.microdata.co.uk</a><br />\r\nFediverse: <a href=\"https://community.highlandarrow.com/kevie\">kevie@community.highlandarrow.com</a></p>\r\n<h3 id=\"andrew\">Andrew</h3>\r\n<p>Fediverse: <a href=\"https://mastodon.me.uk/@mcnalu\">mcnalu@mastodon.me.uk</a><br />\r\nTwitter: <a href=\"https://twitter.com/mcnalu\">@mcnalu</a></p>\r\n<h3 id=\"dave\">Dave</h3>\r\n<p>Twitter: <a href=\"https://twitter.com/thelovebug\">@thelovebug</a><br />\r\nFediverse: <a href=\"https://s.wefamlee.be/thelovebug\">thelovebug@s.wefamlee.be</a></p>\r\n<h2 id=\"other-podcasts\">Other podcasts?</h2>\r\n<p>Dave asks Andrew about a podcast featuring three guys talking about Creative Commons and Linux: <a href=\"https://tuxjam.otherside.network/\"><strong>TuxJam</strong></a></p>\r\n<p>Dave asks Kevie about a short-form music podcast featuring a couple of pieces of music from a single artist: <a href=\"https://ccjam.otherside.network/\"><strong>CCJam</strong></a></p>\r\n<p>Andrew asks Dave about a husband and wife podcast with a live show that goes out every Friday night from South Yorkshire in England: <a href=\"https:://thebugcast.org/\"><strong>The Bugcast</strong></a> - it\'s award-winning, has a <a href=\"https://thebugcast.org/live\">live chatroom</a>, and is 10-years old!</p>\r\n<h2 id=\"thanks-for-listening\">Thanks for listening!</h2>\r\n<p>Thanks to <a href=\"https://www.torridonlive.com/\"><strong>Torriden</strong></a> for allowing us to play their track Drinking Away. We hope to see you at Podcrawl in July for a beer or malt (or two)!</p>\r\n\r\n',314,0,0,'CC-BY-SA','podcrawl, event, beer, whisky, cigars, Creative Commons, music, Linux, tech, chunder',0,0,1),
(2533,'2018-04-18','Burp Suite / ABCMouse Game',1504,'I got over my approach for most mobile/web app pentesting','<p><a href=\"https://rmccurdy.com/scripts/videos/rmccurdy_com/HPR_ABC.mp4\" class=\"uri\">https://rmccurdy.com/scripts/videos/rmccurdy_com/HPR_ABC.mp4</a></p>\r\n<p>more burp/android videos:</p>\r\n<ul>\r\n<li><p><a href=\"https://rmccurdy.com/scripts/videos/rmccurdy_com/Star%20Wars%20Galaxy%20of%20Heroes%20Hacking%20Failsause.mp4\">https://rmccurdy.com/scripts/videos/rmccurdy_com/Star%20Wars%20Galaxy%20of%20Heroes%20Hacking%20Failsause.mp4</a></p></li>\r\n<li><p><a href=\"https://rmccurdy.com/scripts/videos/rmccurdy_com/Burp%20Suite%20SSL%20ProxyDroid%20Android%20Hacking%20Games%202017.mp4\">https://rmccurdy.com/scripts/videos/rmccurdy_com/Burp%20Suite%20SSL%20ProxyDroid%20Android%20Hacking%20Games%202017.mp4</a></p></li>\r\n</ul>',36,0,0,'CC-BY-SA','burp suite,android,pentesting',0,0,1),
(2536,'2018-04-23','Lostnbronx examines points-of-view and tenses in storytelling.',1013,'Lostnbronx examines points-of-view and tenses in storytelling.','<p>Lostnbronx takes a breezy look at narrative points-of-view, as well as temporal tenses in storytelling. What are they, how do they differ, and why might one be better than another in a particular situation?</p>',107,105,0,'CC-0','storytelling,stories,pov,tense,writing,lostnbronx',0,0,1),
(2534,'2018-04-19','Moving to Office 365 (and painting the ceiling)',1888,'Knightwise talks about moving his company email to Office 365','<p>A couple of weeks ago we moved to a new house and I had some time on my hands to talk to you guys while painting the ceiling. Moving was very much on the forefront of my mind since I also recently moved my company\'s Email platform to Office 365. As a cross platform slider with a foot in each major operating system I decided to give you my first impressions of the new platform (and upset the GNU-purists) with my review.</p>',111,0,0,'CC-BY-SA','office, microsoft, windows, 365, move, Migrate, google, Gmail',0,0,1),
(2537,'2018-04-24','Recording HPR on the fly Part II',208,'In which I update the recommendation from HPR 1877: Just use Audio Recorder!','<p>This is an update to <a href=\"https://hackerpublicradio.org/eps.php?id=1877\">hpr1877 :: Recording HPR on the fly on your Android phone</a>. I thought that was two years ago, but wow it\'s even two and a half years ago, back in late 2015.</p>\r\n<p>Updated recommendation! Back in #1877 I said that you could go with this app because it has these nice functions, or with that app because it has these other things. Well, there\'s no longer any need for trade-offs. Just go to f-droid, install \r\n<a href=\"https://f-droid.org/packages/com.github.axet.audiorecorder/\">Audio Recorder</a> and you\'re good to go!</p>\r\n<p>I installed it in two minutes, recorded a two-minute episode on how great it seems to be, and then I recorded another three episodes and I can confirm that it\'s pretty great. You\'ve got the record/pause control available on the lock screen, it can save in FLAC, you can define the naming pattern it should use for the files, and you can tell it where to store its files.</p>\r\n<p>Some apps just insist on saving everything in internal storage, and that can run out pretty quick. Meanwhile I\'ve got 30 GB left on my SD card that I\'m struggling to make apps make use of.</p>\r\n<p>And finally, it also has a rename function (unlike my previous recommendation uRecord!), so you can conveniently, right in the app without finding the files through some other means, change the file name to reflect what it was that you were recording, so that you\'re not in the situation where one month later you\'re looking at a dozen files with just dates and times and need to listen to all of them to figure out which one it is you want.</p>\r\n<p>It even has an automatic skip silence function, but that\'s pretty useless for the places I record in. :-D</p>\r\n<p>When I said \"cool waveform\" I meant that it\'s displaying the recorded waveform on the screen as it records. Not that useful, but it\'s just part of the overall really nice polish of the app.</p>',311,0,0,'CC-BY-SA','android, recording, hpr',0,0,1),
(2538,'2018-04-25','My geeky plans for the new house.',1613,'Knightwise talks about the new geek infrastructure in his house','<p>Moving house gives you plenty of possibilities. While painting the Living room I talk about the geeky infrastructure of my new house and how I plan to set it up.</p>',111,0,1,'CC-BY-SA','ubiquity, wifi, network, firewall, server',0,0,1),
(2542,'2018-05-01','How I helped my dad run a static website using SparkleShare',728,'In which I describe my setup of SparkleShare and GitLab Pages to maintain a static website','<p>My <a href=\"https://social.heldscal.la/clacke/tag/hprep\">#hprep</a> tag up on Heldscalla serves as inspiration for times like this, when I should just record something while I have the chance. Suggest more topics for me to orate about and I\'ll put them up there!</p>\r\n<p>In this episode I\'m talking about how I\'ve set up <a href=\"https://www.sparkleshare.org/\">SparkleShare</a> (web site currently down, try the <a href=\"https://web.archive.org/web/20180320114552/https://www.sparkleshare.org/\">archived site</a> if it\'s still down when you\'re reading this) and <a href=\"https://about.gitlab.com/features/pages/\">GitLab Pages</a> to allow my dad to tinker with a static web site locally on his machine and automatically get the changes up on the official URL without having to bother with any manual steps (at least on the happy path).</p>\r\n<p>Errata: Oops, I said Jekyll uses Python. It uses Ruby.</p>\r\n<p>TL;DL: We have two directories, two git repos. He doesn\'t have to know about git. He plays around in the staging directory first, looks at the test site how it turned out, when he\'s happy he just copies the files over to the production directory and they go live. SparkleShare automatically pushes to <a href=\"https://gitlab.com/\">gitlab.com</a> (I didn\'t say it outright in the episode, but yeah, I\'m using the hosted service -- that\'s basically the point of this mode of doing things, minimal setup, responsibility and maintenance for me), and GitLab CI runs <a href=\"https://jekyllrb.com/\">Jekyll</a>  (use the static site generator of your choice) to copy files over for deploying, and finally  GitLab Pages deploys the new site.</p>\r\n<p>I believe all of this took me less than two hours to set up, effective time, once I got around to it (and was in the same time zone as my dad\'s computer). Don\'t forget to add your verification TXT record in the DNS.</p>',311,0,0,'CC-BY-SA','sparkleshare, static website, gitlab pages',0,0,1),
(2547,'2018-05-08','MSYS2',657,'In which I talk briefly about the history of MSYS2 and Cygwin and why you might want MSYS2','<p>In the beginning there was <a href=\"https://cygwin.com/\">Cygwin</a>, by <a href=\"https://en.wikipedia.org/wiki/Cygnus_Solutions\">Cygnus Solutions</a> (later acquired by Red Hat), then came <a href=\"https://mingw.org/wiki/msys\">msys</a>, a lightweight derivative with no package manager, no fancy integration tools, just the bare minimum necessary to support a gcc compiler and the GNU autotools.</p>\r\n<p><a href=\"https://www.msys2.org/\">msys2</a> is cygwin minus the package manager plus an adaptation of the <a href=\"https://www.archlinux.org/pacman/\">pacman</a> package manager from <a href=\"https://www.archlinux.org/\">Arch</a>, and a big archive of packages of all kinds. It offers a friendlier command-line experience than Cygwin does.</p>\r\n<p>I failed to mention here that msys was explicitly made to support the <a href=\"https://mingw.org/\">MinGW</a> (Minimalist GNU for Windows) flavor of GCC, which is intended for building native Windows applications. GCC for Windows has two types of output, <code>cygwin</code> or <code>mingw</code>, where <code>cygwin</code> is for source code that expects POSIX-y facilities and <code>mingw</code> is for code that should compile (possibly with some minor adjustments for C dialect) equally well under GCC and Microsoft Visual C, and should produce about the same output.</p>',311,0,0,'CC-BY-SA','msys2, cygwin, windows, command-line, pacman, package manager',0,0,1),
(2552,'2018-05-15','What is stow?',721,'How does stow work, why would you want it and what are its limitations?','<p><a href=\"https://www.gnu.org/software/stow/\">stow</a> was perfected in 2002 with stow 1.3.3. Then it was silent for 9 years, and in 2011 stow 2.1.0 came out. It received a few updates until stow 2.2.2 in 2015, but don\'t worry. It\'s still relevant, and it won\'t eat your homework. I don\'t even know what these 2.x versions are about. You still just <code>stow mything</code>, <code>stow -R mything</code> and <code>stow -D mything</code> like you always did.</p>\r\n<p>If stow is too limiting to you, listen to <a href=\"https://hackerpublicradio.org/eps.php?id=2198\">hpr2198 :: How awesome is Guix and why will it take over the world</a> about its big brother, which has all of the advantages of stow except radical simplicity, and none of the drawbacks.</p>\r\n<p>For a shorter and more practical episode on Guix, see <a href=\"https://hackerpublicradio.org/eps.php?id=2308\">hpr2308 :: Everyday package operations in Guix</a>.</p>\r\n',311,0,0,'CC-BY-SA','stow, package manager',0,0,1),
(2539,'2018-04-26','Interview - Austin Lee',2739,'operat0r Interviews Austin Lee','<p><a href=\"https://www.youtube.com/watch?v=ktbiNmxFuZs\" class=\"uri\">https://www.youtube.com/watch?v=ktbiNmxFuZs</a></p>\r\n<p>RAW:<br />\r\n<a href=\"https://rmccurdy.com/stuff/Austen_Lee.zip\" class=\"uri\">https://rmccurdy.com/stuff/Austen_Lee.zip</a></p>\r\n',36,78,1,'CC-BY-SA','interview',0,0,1),
(2540,'2018-04-27','28 - TLS 1.3',1122,'TLS 1.3 is the newest protocol standard for secure communications on the Web.','<p>TLS 1.3 was just adopted, and it provides improved security for all Web communications. We take a look at what the protocol says and look at the controversies around its adoption. <a href=\"https://www.zwilnik.com/?page_id=980\" class=\"uri\">https://www.zwilnik.com/?page_id=980</a></p>\r\n<h3 id=\"links\">Links:</h3>\r\n<ul>\r\n<li><a href=\"https://www.theregister.co.uk/2017/02/27/blue_coat_chokes_on_chrome_encryption_update/\" class=\"uri\">https://www.theregister.co.uk/2017/02/27/blue_coat_chokes_on_chrome_encryption_update/</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/POODLE\" class=\"uri\">https://en.wikipedia.org/wiki/POODLE</a></li>\r\n<li><a href=\"https://www.cyberscoop.com/tls-1-3-weakness-financial-industry-ietf/\" class=\"uri\">https://www.cyberscoop.com/tls-1-3-weakness-financial-industry-ietf/</a></li>\r\n<li><a href=\"https://tlseminar.github.io/tls-13/\" class=\"uri\">https://tlseminar.github.io/tls-13/</a></li>\r\n<li><a href=\"https://twit.tv/shows/security-now\" class=\"uri\">https://twit.tv/shows/security-now</a></li>\r\n<li><a href=\"https://www.sophos.com/en-us/company/podcasts.aspx\" class=\"uri\">https://www.sophos.com/en-us/company/podcasts.aspx</a></li>\r\n<li><a href=\"https://www.schneier.com\" class=\"uri\">https://www.schneier.com</a></li>\r\n<li><a href=\"https://blog.cryptographyengineering.com\" class=\"uri\">https://blog.cryptographyengineering.com</a></li>\r\n<li><a href=\"https://www.zwilnik.com/?page_id=980\" class=\"uri\">https://www.zwilnik.com/?page_id=980</a></li>\r\n</ul>',198,74,0,'CC-BY-SA','Ephemeral Diffie-Hellman, Encryption, TLS',0,0,1),
(2541,'2018-04-30','Microphone Wind Screen Demo',384,'Lostnbronx demonstrates the effectiveness of his new microphone wind screen.','<p>This is just a quick demo of my new microphone wind screen muff. Though you can still hear some wind noise getting through when especially sharp gusts roll by, I think you\'ll agree the difference with and without the screen is dramatic.</p>\r\n<p>The Movo is not perfect, and will not stop all wind noise on a very blustery day, but this kind of screen is essential for outdoor recording. The only editing I did on this track was a fade-in and out, and transcoding it from wav to flac (which was then transcoded at HPR into other formats).</p>\r\n<hr />\r\n<ul>\r\n<li><p>RECORDER: Tascam DR-40 Digital Recorder<br />\r\n<a href=\"https://tascam.com/product/dr-40/\" class=\"uri\">https://tascam.com/product/dr-40/</a></p></li>\r\n<li><p>WIND SCREEN: Movo WS9 Furry Outdoor Microphone Windscreen Muff (Portable Digital Recorders)<br />\r\n<a href=\"https://www.movophoto.com/products/movo-ws9-furry-outdoor-microphone-windscreen-portable-recorders\" class=\"uri\">https://www.movophoto.com/products/movo-ws9-furry-outdoor-microphone-windscreen-portable-recorders</a></p></li>\r\n</ul>',107,0,0,'CC-BY-SA','recording,wind screen,muff,outdoors,lostnbronx',0,0,1),
(2557,'2018-05-22','Styx -- The Purely Functional Static Site Generator',832,'For the Fractalide web site, we are using Styx as a site generator. Here\'s a bit of how and why.','<p>I switched phones, and complained about the microphone. It probably made a greater difference that I was recording in 16 kHz Vorbis, because I was on a fresh install of Audio Recorder. Always double-check your settings, and apologies for the quality.</p>\r\n\r\n<hr/>\r\n<p>I am currently in the process of converting <a href=\"https://github.com/fractalide/fractalide-website-styx/\" target=\"_blank\">our website</a> from <a href=\"https://gohugo.io/\" target=\"_blank\">Hugo</a> to Styx.</p>\r\n\r\n<p><a href=\"https://styx-static.github.io/styx-site/\" target=\"_blank\">Styx</a> is s static site generator written entirely in the <a href=\"https://nixos.org/nix/\" target=\"_blank\">Nix</a> language. It is able to figure out exactly what pages need to be rebuilt depending on what you changed in your page source and data sources, and all intermediate results are stored in the Nix store.</p>\r\n\r\n<p>The parsing of <a href=\"https://www.methods.co.nz/asciidoc/\" target=\"_blank\">AsciiDoc</a> and <a href=\"https://fletcherpenney.net/multimarkdown/\">(multi)Markdown</a> is done by external tools, but the templating and layouts is all Nix.</p>\r\n\r\n<p>I thought I may have dreamed the bit about <a href=\"https://nest.pijul.com/pmeunier/nix-rust\" target=\"_blank\">carnix</a> or <a href=\"https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/rust/default.nix\" target=\"_blank\">buildRustPackage</a> parsing TOML within Nix, because I couldn’t find any evidence of them ever having done that. But then I discovered it was in <a href=\"https://github.com/mozilla/nixpkgs-mozilla/blob/master/lib/parseTOML.nix\" target=\"_blank\">nixpkgs-mozilla</a> I had seen it! That’s Mozilla’s overlay for nixpkgs, which makes Rust Nightly always available in Nix, so it’s kind of Nix’s <a href=\"https://www.rustup.rs/\" target=\"_blank\">rustup</a> equivalent. So yeah, I guess I had dreamed who did it, but not that <em>somebody</em> did it. :-)</p>\r\n',311,0,0,'CC-BY-SA','nix, styx, static site generator',0,0,1),
(2543,'2018-05-02','Home Theater - Part 1 Hardware',530,'I go over my Home Theater / Media setup starting with Hardware','<ul>\r\n<li><p>Onkyo TX-NR575 7.2 Channel Network A/V Receiver<br />\r\n<a href=\"https://www.amazon.com/Onkyo-TX-NR575-Channel-Network-Receiver/dp/B06XVFY3M8\" class=\"uri\">https://www.amazon.com/Onkyo-TX-NR575-Channel-Network-Receiver/dp/B06XVFY3M8</a></p></li>\r\n<li>Onkyo Android App<br />\r\n</li>\r\n<li><p>Zoomtak 2.4G Wireless Mini Keyboard Multifunctional Backlit with Infrared Remote Learning for Android Tv Box, IPTV,HTPC, PS3, Xbox 360, Windows, MAC, Linux OS<br />\r\n<a href=\"https://www.amazon.com/gp/product/B06VW7XFQZ\" class=\"uri\">https://www.amazon.com/gp/product/B06VW7XFQZ</a></p></li>\r\n<li><p>CyberPower CP1500AVRLCD Intelligent LCD UPS System, 1500VA/900W, 12 Outlets, AVR, Mini-Tower<br />\r\n<a href=\"https://smile.amazon.com/gp/product/B000FBK3QK\" class=\"uri\">https://smile.amazon.com/gp/product/B000FBK3QK</a></p></li>\r\n<li><p>PowerPanel Conf file:</p></li>\r\n</ul>\r\n<pre><code>cat /etc/pwrstatd.conf\r\npowerfail-delay = 60\r\npowerfail-active = yes\r\npowerfail-cmd-path = /usr/local/bin/pwrstatd-powerfail.sh\r\npowerfail-duration = 0\r\npowerfail-shutdown = no\r\n\r\nlowbatt-delay = 30\r\nlowbatt-active = yes\r\nlowbatt-cmd-path = /usr/local/bin/pwrstatd-lowbatt.sh\r\nlowbatt-duration = 0\r\nlowbatt-shutdown = yes\r\nenable-alarm = yes\r\nshutdown-sustain = 60\r\nturn-ups-off = yes\r\nlowbatt-threshold = 15\r\n\r\nups-polling-rate = 1\r\nups-retry-rate = 10\r\nprohibit-client-access = no</code></pre>\r\n<ul>\r\n<li><p>Bluetooth Receiver Transmitter, Keedox V4.0 Bluetooth Music Receiver Transmitter Wireless Audio Receiver Stereo Transmitter with aptx for Headphones Car TV<br />\r\n<a href=\"https://smile.amazon.com/gp/product/B00VJTIMIS/\" class=\"uri\">https://smile.amazon.com/gp/product/B00VJTIMIS/</a></p></li>\r\n<li><p>iRunzo NFC Foldable On Ear Wireless Bluetooth Headset Sports Headphones with Microphone Bass Stereo CSR4.1 180 Days Standby Gym Pedometer APP 3.5mm AUX Cable for iPhone Mac iPad Black<br />\r\n<a href=\"https://smile.amazon.com/gp/product/B01JU59W3Q\" class=\"uri\">https://smile.amazon.com/gp/product/B01JU59W3Q</a></p></li>\r\n</ul>',36,0,0,'CC-BY-SA','Home Theater',0,0,1),
(2544,'2018-05-03','How I prepared episode 2493: YouTube Subscriptions - update',1978,'In show 2493 I listed some of my YT subscriptions - here\'s how','<h1 id=\"how-i-prepared-episode-2493-youtube-subscriptions---update\">How I prepared episode 2493: YouTube Subscriptions - update</h1>\n<h2 id=\"introduction\">Introduction</h2>\n<p>In show <a href=\"http://hackerpublicradio.org/eps/hpr2493\" title=\"YouTube Subscriptions - update\">2493</a> I listed a number of the YouTube channels I watch. Some of what I did to prepare the notes was to cut and paste information from YouTube pages, but the basic list itself was generated programmatically. I thought the process I used might be of interest to somebody so I am describing it here.</p>\n<h2 id=\"components\">Components</h2>\n<p>I needed four components to achieve what I wanted:</p>\n<ul>\n<li><a href=\"https://www.youtube.com/subscription_manager\" title=\"YouTube Subscription Manager page\">YouTube subscription list</a> (only available in OPML format as far as I know)</li>\n<li>The <a href=\"https://xmlstar.sourceforge.net/doc/UG/xmlstarlet-ug.html\" title=\"xmlstarlet documentation\"><code>xmlstarlet</code></a> tool to parse the OPML</li>\n<li><a href=\"https://www.template-toolkit.org/\" title=\"Template Toolkit\">Template Toolkit</a> which I used to generate Markdown</li>\n<li>The <code>pandoc</code> document converter tool to generate HTML</li>\n</ul>\n<p>I will talk a little about the first three components in this episode in order to provide an overview.</p>\n<h2 id=\"full-length-notes\">Full-length notes</h2>\n<p>The full-length notes (available <a href=\"hpr2544_full_shownotes.html\">here</a>) contain details of the processes involved in building the list of channels.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li>YouTube <a href=\"https://www.youtube.com/subscription_manager\"><em>Subscription Manager</em></a> page</li>\n<li>The <a href=\"https://xmlstar.sourceforge.net/doc/UG/xmlstarlet-ug.html\"><code>xmlstarlet</code></a> manual (HTML, single page)</li>\n<li><a href=\"https://www.template-toolkit.org/\"><em>Template Toolkit</em></a>\n<ul>\n<li><a href=\"https://www.template-toolkit.org/docs/manual/Plugins.html#section_Datafile\"><code>Template::Plugin::Datafile</code></a></li>\n<li><a href=\"https://www.template-toolkit.org/docs/manual/VMethods.html#method_replace\">Template Toolkit <code>replace</code> virtual method</a></li>\n</ul></li>\n<li>The <a href=\"https://pandoc.org/\"><code>pandoc</code></a> document converter</li>\n<li>Previous HPR shows referred to:\n<ul>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2202\"><em>hpr2202 :: Makers on YouTube</em></a></li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2493\"><em>hpr2493 :: YouTube Subscriptions - update</em></a></li>\n</ul></li>\n<li>Resources:\n<ul>\n<li><a href=\"hpr2544_full_shownotes.html\">Detailed notes</a></li>\n<li>Example template file: <a href=\"hpr2544_yt_template.tpl\">yt_template.tpl</a></li>\n</ul></li>\n</ul>\n',225,0,1,'CC-BY-SA','YouTube,OPML,XML,xmlstarlet,Template Toolkit',0,0,1),
(2548,'2018-05-09','Single Vs Multiple Characters',1050,'Lostnbronx looks at why single or multiple main characters are better in stories.','<p>Lostnbronx goes over the narrative technique of using one main character to tell a story, as opposed to using multiple characters. What advantage, if any, does so-called &quot;head-hopping&quot; have, over focusing on a single character at a time? Why is it sometimes better to do the opposite? And how can these different construction elements impact the story as a whole?</p>\r\n',107,105,0,'CC-BY-SA','storytelling,writing,characters,lostnbronx',0,0,1),
(2549,'2018-05-10','DVD ripping using old hardware',314,'How I put an older machine and a little cash to repurpose it.','<ol type=\"1\">\r\n<li>Had a tower with a bad motherboard.</li>\r\n<li>Wife found one at the Savers (Goodwill) for $8</li>\r\n<li>Board worked, but had no video</li>\r\n<li>Bought a 8mb video card for $10</li>\r\n<li>Power supply fan seized, $10,\r\n<ul>\r\n<li>Got a warning about danger of opening up a power supply.</li>\r\n</ul></li>\r\n<li>Distro should be on a USB key, and run headless\r\n<ul>\r\n<li>Easy way to back up the system</li>\r\n</ul></li>\r\n<li>Had Arch installed, no 32 bit support after end of 2017</li>\r\n<li>Installed Slackware, only working distribution for my hardware\r\n<ul>\r\n<li>Found it useful to have a script to chroot from the install media to the Slackware install.</li>\r\n<li>Added a boot delay to mkinitrc for usb, otherwise it would boot with a message about not finding <code>/mnt</code> in <code>/etc/fstab</code></li>\r\n</ul></li>\r\n<li>Set up ssh with alternative port</li>\r\n<li>Installed mplayer and tmux, and ripit with sbopkg\r\n<ul>\r\n<li>Mplayer to rip streams for movies and shows</li>\r\n<li>Tmux is my favorite for resuming from a different PC or mobile</li>\r\n</ul></li>\r\n<li>Needed a way to rip any media regardless of encryption\r\n<ul>\r\n<li>Only need libdvdcss to read</li>\r\n<li>Includes Disney (Star Wars, Tron)</li>\r\n</ul></li>\r\n<li>CD ripping was a bonus\r\n<ul>\r\n<li>Ripit to rip CDs</li>\r\n</ul></li>\r\n<li>Scripts are on Github</li>\r\n</ol>\r\n<p><a href=\"https://github.com/ricemark20/CD-DVD-ripping-on-Slackware\" class=\"uri\">https://github.com/ricemark20/CD-DVD-ripping-on-Slackware</a></p>\r\n<ol start=\"14\" type=\"1\">\r\n<li>Happy ripping!</li>\r\n</ol>',318,0,0,'CC-BY-SA','ripping, movies, hardware, repurpose',0,0,1),
(2550,'2018-05-11','Howto get started playing RPGs',1519,'Lostnbronx and Klaatu tag-team an intro to tabletop role-playing games [RPG]','<p>\r\nHave you ever wanted to start playing a tabletop RPG, but weren&#39;t sure where to start? In this one-hour episode, Lostnbronx and Klaatu introduce you to role-playing games, including what you need to have in order to get started, how to build a character, what a game session is like, and how to find other people to play with.\r\n</p>\r\n\r\n<p>\r\nSome resources mentioned in this episode:\r\n</p>\r\n\r\n<ul>\r\n<li>\r\n<p>The easy way in&#58; <strong>Dungeons &#38; Dragons</strong> 5th Edition <a href=\"https://dnd.wizards.com/products/tabletop-games/rpg-products/rpg_playershandbook\" target=\"_blank\">Player&#39;s Handbook</a></p>\r\n</li>\r\n<li>\r\n<p>A collection of free RPG systems <a href=\"https://brentnewhall.com/games/doku.php?id=start\" target=\"_blank\">Brent P. Newhall&#39;s Musæum of Fantastic Wonders</a>\r\n</p>\r\n</li>\r\n\r\n<li>\r\n<p>\r\nThe <a href=\"https://opend6.wikidot.com/d6-system-book\" target=\"_blank\">OpenD6</a> system is a free and open and very flexible game using only standard 6-sided die</p>\r\n</li>\r\n\r\n<li><p>\r\n<a href=\"https://www.dmsguild.com/product/175358/Caves-of-Shadow-30\" target=\"_blank\"> </a> is a good, albeit dated, introduction to RPG modules and gameplay in general. It won\'t exactly fit anything you play, but reading it through might clarify how a typical game works &#40;and actually it&#39;s pretty easy to adapt into a modern game like <a href=\"https://paizo.com\" target=\"_blank\">Pathfinder</a> or D&#38;D, if you want.&#41;.\r\n</p>\r\n</li>\r\n<li>\r\n<p>\r\nKlaatu has a weekly podcast called <a href=\"https://mixedsignals.ml/cnc\">Chronicles &#38; Commons</a>, wherein he talks about fantasy &#91;Creative Commons and public domain&#93; folklore in the context of RPG gaming &#40;which in turn is discussed in context of storytelling&#41;.</p>\r\n</li> \r\n</ul>\r\n',78,95,0,'CC-BY-SA','rpg,intro,howto,tutorial,dnd,pathfinder,opend6,ogl',0,0,1),
(2551,'2018-05-14','Calibrating Calibration',1519,'NYbill talks about calibration issues with the Siglent SDS1202X-E oscilloscope','<p>NYbill talks about the Siglent SDS1202X-E oscilloscope and the calibration pitfalls of the BA model over the newer BB model.</p>\r\n<p>Pics for the episode:</p>\r\n<p><a href=\"https://media.gunmonkeynet.net/u/nybill/collection/siglent-sds1202x-e/\" class=\"uri\">https://media.gunmonkeynet.net/u/nybill/collection/siglent-sds1202x-e/</a></p>',235,0,0,'CC-BY-SA','test gear, electronics, oscilloscope',0,0,1),
(2553,'2018-05-16','Get ahead with git HEAD',2802,'Klaatu helps you understand git HEAD','<p>This episode is light on actual commands, and mostly a narrative analysis of what git HEAD is and why it matters to you.</p>\r\n<p>Some commands you can try:</p>\r\n<pre><code>$ cat ~/path/to/git/repo/.git/HEAD</code></pre>\r\n<p>and</p>\r\n<pre><code>$ ls ~/path/to/git/repo/.git/refs\r\n$ cat ~/path/to/git/repo/.git/refs/master</code></pre>\r\n',78,104,0,'CC-BY-SA','git, HEAD, branch, refs',0,0,1),
(2556,'2018-05-21','Building trust',2549,'Quasi-philosophical musing about how trust is built both online and in real life','<p>\r\nWhat is trust? How do you get it? How can you exploit it? How can you keep from being exploited?\r\n</p>\r\n',78,74,0,'CC-BY-SA','trust,social engineering,gpg,pgp,community',0,0,1),
(2572,'2018-06-12','What\'s in my tool kit',342,'Listing of items I carry for daily use','<ul>\r\n<li>The bag is a <a href=\"https://www.ebay.com/itm/Dell-Laptop-Backpack/253469390106?hash=item3b03f3f51a:g:RL8AAOSw8GFanVvM\">Dell backpack laptop carrier</a>\r\n<ul>\r\n<li>has 5 pockets\r\n<ul>\r\n<li>2 small side pockets</li>\r\n<li>small front accessory pockets</li>\r\n<li>medium middle tool pockets</li>\r\n<li>large main pocket with interior zippered pocket the padded laptop section is well padded and roomy enough for 2 slim 15&quot; laptops</li>\r\n</ul></li>\r\n</ul></li>\r\n<li><a href=\"https://www.ebay.com/itm/Asus-Z45C-Laptop/142330164679?hash=item212389f5c7:g:5O4AAOSwCU1Y3AAz\">Asus Z54C (W/ 120Gb SSD/ 4Gb Ram ) laptop running Sabayon linux</a></li>\r\n<li><a href=\"https://www.ebay.com/itm/Dell-Latitude-E5570-Intel-Core-i5-2-4Ghz-8GB-Ram-500GB-HDD-Laptop/263560830328?hash=item3d5d731d78:g:jnkAAOSwC2JasSjw\">Dell 5570 laptop for work-sometimes running Win 10 enterprise/pro</a> chargers for both,</li>\r\n<li><p><a href=\"https://www.ebay.com/itm/Sony-MDR-ZX110NC-Noise-Cancelling-Headphones/252814825699?epid=17011373240&amp;hash=item3adcf018e3:g:pgkAAOSw4shYAQgD\">Sony noise cancelling headphones</a></p></li>\r\n<li>Logitech wireless mouse</li>\r\n<li>maglite led flash light</li>\r\n<li><p><a href=\"https://www.tools-plus.com/lutz-2-in-1y.html?gclid=Cj0KCQjwqM3VBRCwARIsAKcekb0tCh30lJCOGwOzGFfqfckcc6QEk1PxKiPyuSnDs9iAQlIJC-e1Fn8aAgHpEALw_wcB\">multi tip screwdriver 1 philips, 1 flat head</a></p></li>\r\n<li><a href=\"https://www.ebay.com/itm/Stanley-Screwdriver-6-Tips-Set-Torque-6-In-1-Tool-Ratchet-1-2-Phillips-Multi-Bit/162915167799?_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D50426%26meid%3D375bb4c6758d42d0b94838e831253e4d%26pid%3D100675%26rk%3D5%26rkt%3D15%26sd%3D183131337955%26itm%3D162915167799&amp;_trksid=p2481888.c100675.m4236&amp;_trkparms=pageci%3A07d9a40b-2e08-11e8-b1de-74dbd180ae05%7Cparentrq%3A4f348a1f1620aa479d83a59cffffe77d%7Ciid%3A1\">6 tip screwdriver 2x philips 2x flat head 2x nut drivers</a></li>\r\n<li><a href=\"https://www.ebay.com/itm/Impact-punch-down-tool-blade-110-66-network-wire-punch-down-cable-cat5e-cat6/121654946839?hash=item1c53332c17:g:7usAAOSwAYtWQI75\">punchdown tool</a></li>\r\n<li>shammy cloth</li>\r\n<li>folder for paperwork/ current tasks</li>\r\n<li>one subject notebook</li>\r\n<li>asstd pens &amp; mechanical pencils</li>\r\n<li>wall wart phone charger</li>\r\n<li>micro USB cable</li>\r\n<li>Lightning USB cable</li>\r\n<li>2 6&quot; velcro tie straps</li>\r\n<li>15\' ethernet patch cable,</li>\r\n<li>10\' ethernet patch cable</li>\r\n<li>7\' ethernet patch cable</li>\r\n<li>5\' ethernet patch cable</li>\r\n<li>2x 3\' ethernet patch cable</li>\r\n<li>6&quot; ethernet patch cable</li>\r\n<li>laptop lock cable</li>\r\n<li>USB to ethernet adapter</li>\r\n<li>6\' HDMI cable</li>\r\n<li>Display port to DVI-D adapter</li>\r\n<li>digital voice recorder</li>\r\n<li>portable powerpack/charger (gimmie from Wired Mag)</li>\r\n<li>2x 16GB usb thumb drives\r\n<ul>\r\n<li>1 blank</li>\r\n<li>1 portable apps tools including libre office, and wireshark</li>\r\n</ul></li>\r\n<li><p>6\' power strip/ surge protector</p></li>\r\n<li>Reading glasses</li>\r\n<li>alcohol prep wipes</li>\r\n<li>latex gloves</li>\r\n<li>Band aids</li>\r\n<li><p>Excedrin bottle and migraine meds 1/2 dose for emergencies</p></li>\r\n</ul>\r\n<p>If I expand the definition of tool kit to include the tool box on my pickup truck, I also have...</p>\r\n<ul>\r\n<li>10\' telephone cord</li>\r\n<li>analogue telephone (princes style) for testing</li>\r\n<li>3 spare usb keyboards 1 spare ps/2 keyboards</li>\r\n<li>2 usb mice</li>\r\n<li>2x 6\' dvi-d cables</li>\r\n<li>adjustable wrench</li>\r\n<li>pliers</li>\r\n<li>needle nose pliers</li>\r\n<li>craftsman precision screwdriver set</li>\r\n<li><p>X-acto knife set</p></li>\r\n<li>socket set</li>\r\n<li>Ratchet straps</li>\r\n<li>50\' cotton bond rope 1/2&quot; diameter</li>\r\n<li>50\' nylon 1/2&quot; rope</li>\r\n<li>7\'x 8\' medium weight tarp</li>\r\n<li>Fluke #117 multimeter</li>\r\n<li>Fluke Link runner AT 1000</li>\r\n<li>and toner probe</li>\r\n<li>machete</li>\r\n<li>jumper cables</li>\r\n<li><p>analog linemans handset/ butt set (harris TS30)</p></li>\r\n</ul>\r\n',365,23,1,'CC-BY-SA','daily carry, toolkit',0,0,1),
(2554,'2018-05-17','Gnu Awk - Part 11',1686,'In part 11 of the series, we string and number built-in functions','<h1>Awk Part 11</h1>\r\n\r\n<p>Gnu Awk Documentation: <a href=\"https://www.gnu.org/software/gawk/manual/gawk.html#String-Functions\">https://www.gnu.org/software/gawk/manual/gawk.html#String-Functions</a></p>\r\n\r\n<h2>Numerical functions</h2>\r\n\r\n<ul>\r\n<li>atan2: arctangent of y / x in randians</li>\r\n<li>cos: cosine of x in radians</li>\r\n<li>exp: e<sup>x</sup></li>\r\n<li>int: floor float to int</li>\r\n<li>log: natrual log</li>\r\n<li>randn: (pseudo) random number between 0 and 1</li>\r\n<li>sin: sine of x in radians</li>\r\n<li>sqrt: square root</li>\r\n<li>srand: (pseudo) random between 0 and 1, manually setting the seed</li>\r\n</ul>\r\n\r\n\r\n<h2>String functions</h2>\r\n\r\n<ul>\r\n<li>asort: array sort. Returns array with the values sorted</li>\r\n<li>asori: array sort. Returns array with the keys (index) sorted</li>\r\n<li>gensub: Search the target string target for matches of the regular expression regexp. Returns string with substituted text.</li>\r\n<li>gsub: Search target for all of the longest, leftmost, nonoverlapping matching substrings it can find and replace them with replacement.   Returns string with substituted text.</li>\r\n<li>sub: Search target, which is treated as a string, for the leftmost, longest substring matched by the regular expression regexp. Returns string with substituted text.</li>\r\n<li>index: Search the string in for the first occurrence of the string find. Returns the position where that occurence begins</li>\r\n<li>length: returns length of string</li>\r\n<li>match: Search string for the longest, leftmost substring matched by the regular expression regexp and return the character position (index) at which that substring begins.</li>\r\n<li>split: Divide string into pieces delimted by field separator. Returns an array of strings</li>\r\n<li>sprintf: Allows you to store the a string in the that would have been the output of printf into a variable</li>\r\n<li>strtonum: Turn octal representation to number</li>\r\n<li>substr: Substring starting at position x for length of y. Returns string</li>\r\n<li>tolower: Lower-case the string</li>\r\n<li>toupper: Upper-case the string</li>\r\n</ul>\r\n\r\n\r\n<h2>References</h2>\r\n\r\n<ul>\r\n<li>Trigonometric functions: <a href=\"https://en.wikipedia.org/wiki/Trigonometric_functions\">https://en.wikipedia.org/wiki/Trigonometric_functions</a></li>\r\n<li>Psuedo random number seed: <a href=\"https://en.wikipedia.org/wiki/Random_seed\">https://en.wikipedia.org/wiki/Random_seed</a></li>\r\n<li>Natural log to log 10: <a href=\"https://math.stackexchange.com/questions/107574/from-natural-log-to-log-base-10#107576\">https://math.stackexchange.com/questions/107574/from-natural-log-to-log-base-10#107576</a></li>\r\n</ul>',300,94,0,'CC-BY-SA','bash, linux, awk',0,0,1),
(2826,'2019-06-03','HPR Community News for May 2019',3497,'HPR Volunteers talk about shows released and comments posted in May 2019','<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/0376.html\" target=\"_blank\">Joel D</a>, \n    <a href=\"https://hackerpublicradio.org/correspondents/0377.html\" target=\"_blank\">Zen_Floater2</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=2803\" target=\"_blank\">2803</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-05-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2803\" target=\"_blank\">Update on my Raspi 3 B OpenMedia Vault and Next Cloud instances</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=2804\" target=\"_blank\">2804</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-05-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2804\" target=\"_blank\">Awk Part 13: Fix-Width Field Processing</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0300.html\" target=\"_blank\">Mr. Young</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2805\" target=\"_blank\">2805</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-05-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2805\" target=\"_blank\">My 50th Show</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=2806\" target=\"_blank\">2806</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-05-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2806\" target=\"_blank\">HPR Community News for April 2019</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=2807\" target=\"_blank\">2807</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-05-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2807\" target=\"_blank\">Are bash local variables local?</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=2808\" target=\"_blank\">2808</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-05-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2808\" target=\"_blank\">Haskell function types</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=2809\" target=\"_blank\">2809</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-05-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2809\" target=\"_blank\">The Blue Oak Model License and Its One Big Gotcha</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0376.html\" target=\"_blank\">Joel D</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2810\" target=\"_blank\">2810</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-05-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2810\" target=\"_blank\">Wi-Fi on Android</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=2811\" target=\"_blank\">2811</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-05-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2811\" target=\"_blank\">Interview with Alan Pope</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0370.html\" target=\"_blank\">Yannick</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2812\" target=\"_blank\">2812</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-05-14</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2812\" target=\"_blank\">Is 5G mobile data a danger to your health?</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=2813\" target=\"_blank\">2813</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-05-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2813\" target=\"_blank\">Should we dump the linux Desktop.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0111.html\" target=\"_blank\">knightwise</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2814\" target=\"_blank\">2814</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-05-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2814\" target=\"_blank\">Spectre and Meltdown and OpenBSD and our future</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=2815\" target=\"_blank\">2815</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-05-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2815\" target=\"_blank\">Copy pasta</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=2816\" target=\"_blank\">2816</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-05-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2816\" target=\"_blank\">Gnu Awk - Part 14</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=2817\" target=\"_blank\">2817</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-05-21</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2817\" target=\"_blank\">Are you successful? Click to find out more!</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=2818\" target=\"_blank\">2818</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-05-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2818\" target=\"_blank\">Writing Web Game in Haskell - Science, part 1</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=2819\" target=\"_blank\">2819</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-05-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2819\" target=\"_blank\">Reply to Knightwise - podcasts</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=2820\" target=\"_blank\">2820</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-05-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2820\" target=\"_blank\">29 - CERT Home Security Tips</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=2821\" target=\"_blank\">2821</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-05-27</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2821\" target=\"_blank\">Interviewing some exhibitors at the 2019 vcfe.org event</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0369.html\" target=\"_blank\">Jeroen Baten</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2822\" target=\"_blank\">2822</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-05-28</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2822\" target=\"_blank\">What\'s in the Box! Part 1</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0235.html\" target=\"_blank\">NYbill</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2823\" target=\"_blank\">2823</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-05-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2823\" target=\"_blank\">Gentoo and why I use it</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0374.html\" target=\"_blank\">aldenp</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2824\" target=\"_blank\">2824</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-05-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2824\" target=\"_blank\">Gnu Awk - Part 15</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=2825\" target=\"_blank\">2825</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-05-31</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2825\" target=\"_blank\">More text to speech trials</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0030.html\" target=\"_blank\">Ken Fallon</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 16 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=2504#comments\" target=\"_blank\">hpr2504</a></strong>\n(2018-03-08) \"<em>Intro to Git with pen and paper</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=2504#1\" target=\"_blank\">Comment 1</a>:\nKen Fallon on 2019-05-23:\n\"This needs to be a video\"</li></ul><br/>\n</li><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#2\" target=\"_blank\">Comment 2</a>:\nclacke on 2019-05-04:\n\"Re: backquotes vs dollar-paren\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2793#3\" target=\"_blank\">Comment 3</a>:\nclacke on 2019-05-09:\n\"Re: awk coprocesses\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2793#4\" target=\"_blank\">Comment 4</a>:\nDave Morriss on 2019-05-09:\n\"Regarding awk coprocesses\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2794#comments\" target=\"_blank\">hpr2794</a></strong>\n(2019-04-18) \"<em>Interview with Martin Wimpress</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0370.html\" target=\"_blank\">Yannick</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2794#1\" target=\"_blank\">Comment 1</a>:\nKlaatu on 2019-05-26:\n\"Great interview\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2798#comments\" target=\"_blank\">hpr2798</a></strong>\n(2019-04-24) \"<em>Should Podcasters be Pirates ?</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0111.html\" target=\"_blank\">knightwise</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2798#4\" target=\"_blank\">Comment 4</a>:\nKlaatu on 2019-05-07:\n\"This is one of those episodes...\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 10 comments on 4 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2806#comments\" target=\"_blank\">hpr2806</a></strong>\n(2019-05-06) \"<em>HPR Community News for April 2019</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=2806#1\" target=\"_blank\">Comment 1</a>:\nclacke on 2019-05-09:\n\"Yggdrasil and Hollywood\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2806#2\" target=\"_blank\">Comment 2</a>:\nclacke on 2019-05-09:\n\"HKOSCON2019\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2809#comments\" target=\"_blank\">hpr2809</a></strong>\n(2019-05-09) \"<em>The Blue Oak Model License and Its One Big Gotcha</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0376.html\" target=\"_blank\">Joel D</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2809#1\" target=\"_blank\">Comment 1</a>:\nnorrist on 2019-05-09:\n\"The show _was_ fun\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2809#2\" target=\"_blank\">Comment 2</a>:\nJoel D on 2019-05-16:\n\"re: norrist\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2813#comments\" target=\"_blank\">hpr2813</a></strong>\n(2019-05-15) \"<em>Should we dump the linux Desktop.</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0111.html\" target=\"_blank\">knightwise</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2813#1\" target=\"_blank\">Comment 1</a>:\nYannick on 2019-05-15:\n\"Should we dump Windows?\n\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2813#2\" target=\"_blank\">Comment 2</a>:\nHipstre on 2019-05-15:\n\"Do We Need Linux?\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2813#3\" target=\"_blank\">Comment 3</a>:\nDV on 2019-05-16:\n\"Response to knightwise\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2813#4\" target=\"_blank\">Comment 4</a>:\nDeepGeek on 2019-05-17:\n\"Desktop is Dead\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2813#5\" target=\"_blank\">Comment 5</a>:\nSnapdeus on 2019-05-17:\n\"Linux desktop\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2814#comments\" target=\"_blank\">hpr2814</a></strong>\n(2019-05-16) \"<em>Spectre and Meltdown and OpenBSD and our future</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=2814#1\" target=\"_blank\">Comment 1</a>:\nClaudioM on 2019-05-17:\n\"Hello, Fellow Puffy Disciple!\"</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/2019-May/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-May/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=\"links\">Links</h3>\n<ul>\n<li><a href=\"https://ohshitgit.com/\" class=\"uri\">https://ohshitgit.com/</a></li>\n<li><a href=\"https://www.nporadio1.nl/podcasts/hallo-hier-hilversum\" class=\"uri\">https://www.nporadio1.nl/podcasts/hallo-hier-hilversum</a></li>\n</ul>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Over the period tags and/or summaries have been added to 10 shows which were without them.</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),
(2846,'2019-07-01','HPR Community News for June 2019',3364,'HPR Volunteers talk about shows released and comments posted in June 2019','<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/0378.html\" target=\"_blank\">Shannon Wright</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=2826\" target=\"_blank\">2826</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-06-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2826\" target=\"_blank\">HPR Community News for May 2019</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=2827\" target=\"_blank\">2827</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-06-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2827\" target=\"_blank\">Unscripted ramblings from my garage about my first CTF event</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0241.html\" target=\"_blank\">Christopher M. Hobbs</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2828\" target=\"_blank\">2828</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-06-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2828\" target=\"_blank\">Writing Web Game in Haskell - Science, part 2</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=2829\" target=\"_blank\">2829</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-06-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2829\" target=\"_blank\">Discussion around fair use clips on HPR</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0109.html\" target=\"_blank\">Various Hosts</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2830\" target=\"_blank\">2830</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-06-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2830\" target=\"_blank\">HPR NYE Show 2018-2019 part 1</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=2831\" target=\"_blank\">2831</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-06-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2831\" target=\"_blank\">Interview with Robbie Ferguson</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0370.html\" target=\"_blank\">Yannick</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2832\" target=\"_blank\">2832</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-06-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2832\" target=\"_blank\">How I got started in Linux</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0378.html\" target=\"_blank\">Shannon Wright</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2833\" target=\"_blank\">2833</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-06-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2833\" target=\"_blank\">Jeroen chats with Joep Piscaer</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0369.html\" target=\"_blank\">Jeroen Baten</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2834\" target=\"_blank\">2834</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-06-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2834\" target=\"_blank\">My favorite desktop and android applications</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0241.html\" target=\"_blank\">Christopher M. Hobbs</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2835\" target=\"_blank\">2835</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-06-14</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2835\" target=\"_blank\">HPR NYE Show 2018-2019 part 2</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=2836\" target=\"_blank\">2836</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-06-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2836\" target=\"_blank\">Interview with Wendy Hill</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0370.html\" target=\"_blank\">Yannick</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2837\" target=\"_blank\">2837</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-06-18</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2837\" target=\"_blank\">parallax live desktops in android</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=2838\" target=\"_blank\">2838</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-06-19</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2838\" target=\"_blank\">Why 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=2839\" target=\"_blank\">2839</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-06-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2839\" target=\"_blank\">Sample episode of the Distrohoppers Digest 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=2840\" target=\"_blank\">2840</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-06-21</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2840\" target=\"_blank\">HPR NYE Show 2018-2019 part 3</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=2841\" target=\"_blank\">2841</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-06-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2841\" target=\"_blank\">How I got into Linux (and then some...)</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0241.html\" target=\"_blank\">Christopher M. Hobbs</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2842\" target=\"_blank\">2842</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-06-25</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2842\" target=\"_blank\">What\'s in my Bag an update to hpr2065</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=2843\" target=\"_blank\">2843</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-06-26</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2843\" target=\"_blank\">Afrikan Tähti (or Star of Africa)</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=2844\" target=\"_blank\">2844</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-06-27</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2844\" target=\"_blank\">The Sony TC-222-A Portable Reel-To-Reel Tape Recorder</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=2845\" target=\"_blank\">2845</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-06-28</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2845\" target=\"_blank\">HPR NYE Show 2018-2019 part 4</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0269.html\" target=\"_blank\">Honkeymagoo</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 19 comments in total.</p>\n<h3>Past shows</h3>\n<p>There is 1 comment on\n1 previous show:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2807#comments\" target=\"_blank\">hpr2807</a></strong>\n(2019-05-07) \"<em>Are bash local variables local?</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=2807#1\" target=\"_blank\">Comment 1</a>:\nDave Morriss on 2019-06-06:\n\"Thanks for this\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 18 comments on 8 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2827#comments\" target=\"_blank\">hpr2827</a></strong>\n(2019-06-04) \"<em>Unscripted ramblings from my garage about my first CTF event</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0241.html\" target=\"_blank\">Christopher M. Hobbs</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2827#1\" target=\"_blank\">Comment 1</a>:\nChristopher M. Hobbs on 2019-05-30:\n\"event cancellation\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2827#2\" target=\"_blank\">Comment 2</a>:\nTuula on 2019-06-04:\n\"sorry to hear about cancellation\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2829#comments\" target=\"_blank\">hpr2829</a></strong>\n(2019-06-06) \"<em>Discussion around fair use clips on HPR</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0109.html\" target=\"_blank\">Various Hosts</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2829#1\" target=\"_blank\">Comment 1</a>:\nJoel D on 2019-06-06:\n\"Fair Use\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2829#2\" target=\"_blank\">Comment 2</a>:\nKen Fallon on 2019-06-07:\n\"We don\'t know\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2830#comments\" target=\"_blank\">hpr2830</a></strong>\n(2019-06-07) \"<em>HPR NYE Show 2018-2019 part 1</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=2830#1\" target=\"_blank\">Comment 1</a>:\nfolky on 2019-06-10:\n\"plumble is better than I thought.\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2830#2\" target=\"_blank\">Comment 2</a>:\nfolky on 2019-06-10:\n\"More %\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2830#3\" target=\"_blank\">Comment 3</a>:\nDave Morriss on 2019-06-10:\n\"Missing \'%\' in date command\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2831#comments\" target=\"_blank\">hpr2831</a></strong>\n(2019-06-10) \"<em>Interview with Robbie Ferguson</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0370.html\" target=\"_blank\">Yannick</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2831#1\" target=\"_blank\">Comment 1</a>:\nMr. Young on 2019-06-10:\n\"Just what I was looking for\n\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2832#comments\" target=\"_blank\">hpr2832</a></strong>\n(2019-06-11) \"<em>How I got started in Linux</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0378.html\" target=\"_blank\">Shannon Wright</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2832#1\" target=\"_blank\">Comment 1</a>:\nNYbill on 2019-06-11:\n\"Welcome!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2833#comments\" target=\"_blank\">hpr2833</a></strong>\n(2019-06-12) \"<em>Jeroen chats with Joep Piscaer</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0369.html\" target=\"_blank\">Jeroen Baten</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2833#1\" target=\"_blank\">Comment 1</a>:\nAhuka on 2019-06-14:\n\"Great show!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2837#comments\" target=\"_blank\">hpr2837</a></strong>\n(2019-06-18) \"<em>parallax live desktops in android</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=2837#1\" target=\"_blank\">Comment 1</a>:\nnorrist on 2019-06-18:\n\"I like this kind of episode.\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2839#comments\" target=\"_blank\">hpr2839</a></strong>\n(2019-06-20) \"<em>Sample episode of the Distrohoppers Digest 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=2839#1\" target=\"_blank\">Comment 1</a>:\nMike Ray on 2019-06-20:\n\"Accessibility\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2839#2\" target=\"_blank\">Comment 2</a>:\nBob on 2019-06-20:\n\"reply to Mike\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2839#3\" target=\"_blank\">Comment 3</a>:\nMike Ray on 2019-06-20:\n\"Accessibility and non-English character sets\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2839#4\" target=\"_blank\">Comment 4</a>:\nTony Hughes on 2019-06-21:\n\"Responce to Mike and Bob\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2839#5\" target=\"_blank\">Comment 5</a>:\nBob on 2019-06-23:\n\"I wasn\'t serious\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2839#6\" target=\"_blank\">Comment 6</a>:\nMike Ray on 2019-06-25:\n\"Accessibility\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2839#7\" target=\"_blank\">Comment 7</a>:\nTonyH1212 on 2019-06-29:\n\"Further responce to Mike and Bob\"</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/2019-June/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-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=\"issue-with-advanced-rss-settings\">Issue with advanced RSS settings</h3>\n<p>The page at <a href=\"https://www.hackerpublicradio.org/advanced_rss_settings.php\" class=\"uri\">https://www.hackerpublicradio.org/advanced_rss_settings.php</a> describes a series of features that allow the specification of a tailored RSS feed.</p>\n<p>One of the features is <code>\'gomax=1\'</code> which includes shows in the queue scheduled for the future. For example, the following URL requests 30 OGG format shows including those scheduled for the future:</p>\n<pre><code>https://hackerpublicradio.org/rss.php?format=ogg&amp;gomax=1&amp;limit=30</code></pre>\n<p>However, there is a problem with this, caused by the way we direct downloads to <code>archive.org</code>. We usually upload the next week’s shows to <code>archive.org</code>, but not all future shows as they arrive. This means that the links to some future shows returned by the feed point to currently non-existent episodes.</p>\n<p>This has been the case ever since we moved to using <code>archive.org</code> in this way, in late 2017. We have not received any comments or complaints about it in that time, so the question is:</p>\n<blockquote>\n<p><b>Does anyone use <code>\'gomax=1\'</code>?</b></p>\n</blockquote>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Thanks to the following contributor for sending in updates in the past month: <b><a href=\"https://hackerpublicradio.org/correspondents/0338.html\">Tony Hughes</a></b></p>\n<p>Over the period tags and/or summaries have been added to 6 shows which were without them.</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),
(2558,'2018-05-23','Battling with English - part 1',678,'Misunderstandings about English grammar, spelling, punctuation, etc.','<h1 id=\"battling-with-english---part-1\">Battling with English - part 1</h1>\n<h2 id=\"introduction\">Introduction</h2>\n<p>This is the first episode of a series about the English language. In it I want to look at some of the problems people (including myself) have with it. I plan to do several episodes and I want to keep them short.</p>\n<p>The English language is old and has changed – evolved – in many ways over the years. It has come from a multitude of sources, and it\'s difficult to say what is <strong>correct</strong> in an absolute way.</p>\n<p>For example, when I was at school we were taught that &quot;<em>nice</em>&quot; should not be used in written material. At that time it was becoming common to see phrases like &quot;<em>I had a nice time</em>&quot; meaning <em>pleasant</em> (in a bland sort of way). In my &quot;<em>Concise Oxford Dictionary</em>&quot; from 1976 the 6th definition, &quot;<em>agreeable</em>&quot; is marked &quot;<em>colloquialism</em>&quot;, whereas today this is a common usage.</p>\n<p>However, it\'s easy to use the wrong word in the wrong context. You might choose one that sounds similar for example. You might also have problems with the spelling of a chosen word. Spelling in English is not always logical. You might also find yourself confused about the use of punctuation – the correct use of apostrophes can be challenging for example.</p>\n<p>In this series I want to examine some of the problem areas and try to give you the means of remembering the <strong>right</strong> way.</p>\n<p><strong>Note</strong>: I\'m not an authority on this stuff, but I have tried to teach myself not to make these mistakes over the years. I just wanted to share what I have learnt<a href=\"https://hackerpublicradio.org/eps/hpr2558/index.html#fn1\" class=\"footnoteRef\" id=\"fnref1\"><sup>1</sup></a> with some links to higher authorities.</p>\n<h2 id=\"long-notes\">Long notes</h2>\n<p>I have provided detailed notes as usual, and these can be <a href=\"hpr2558_full_shownotes.html\">viewed here</a>.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li>Then:\n<ul>\n<li>Oxford Dictionaries: <a href=\"https://en.oxforddictionaries.com/definition/then\">Definition of &quot;then&quot;</a></li>\n<li><a href=\"https://www.etymonline.com/word/then\">Online Etymology Dictionary</a></li>\n</ul></li>\n<li>Than:\n<ul>\n<li>Oxford Dictionaries: <a href=\"https://en.oxforddictionaries.com/definition/than\">Definition of &quot;than&quot;</a></li>\n<li><a href=\"https://www.etymonline.com/word/than\">Online Etymology Dictionary</a></li>\n</ul></li>\n<li>Then versus Than\n<ul>\n<li>Writing Explained: <a href=\"https://writingexplained.org/then-vs-than-difference\">Then vs. Than: What’s the Difference?</a></li>\n<li>Grammarist: <a href=\"https://grammarist.com/usage/than-then/\">Than vs. then</a></li>\n<li>Merriam-Webster: <a href=\"https://www.merriam-webster.com/words-at-play/when-to-use-then-and-than\">When To Use Then and Than</a></li>\n</ul></li>\n<li>There:\n<ul>\n<li>Oxford Dictionaries: <a href=\"https://en.oxforddictionaries.com/definition/there\">Definition of &quot;there&quot;</a></li>\n<li><a href=\"https://www.etymonline.com/word/there\">Online Etymology Dictionary</a></li>\n</ul></li>\n<li>Their:\n<ul>\n<li>Oxford Dictionaries: <a href=\"https://en.oxforddictionaries.com/definition/their\">Definition of &quot;their&quot;</a></li>\n<li><a href=\"https://www.etymonline.com/word/their\">Online Etymology Dictionary</a></li>\n</ul></li>\n<li>They\'re:\n<ul>\n<li>Oxford Dictionaries: <a href=\"https://en.oxforddictionaries.com/definition/they%27re\">Definition of &quot;they\'re&quot;</a></li>\n</ul></li>\n<li>Tenet:\n<ul>\n<li>Oxford Dictionaries: <a href=\"https://en.oxforddictionaries.com/definition/tenet\">Definition of &quot;tenet&quot;</a></li>\n<li><a href=\"https://www.etymonline.com/word/tenet\">Online Etymology Dictionary</a></li>\n</ul></li>\n<li>Tenant:\n<ul>\n<li>Oxford Dictionaries: <a href=\"https://en.oxforddictionaries.com/definition/tenant\">Definition of &quot;tenant&quot;</a></li>\n<li><a href=\"https://www.etymonline.com/word/tenant\">Online Etymology Dictionary</a></li>\n</ul></li>\n<li>Tenet versus Tenant:\n<ul>\n<li>Quick and Dirty Tips: <a href=\"https://www.quickanddirtytips.com/education/grammar/tenet-versus-tenant\">Grammar Girl</a></li>\n</ul></li>\n</ul>\n<section class=\"footnotes\">\n<hr />\n<ol>\n<li id=\"fn1\"><p>One thing I have <em>learnt</em> is that &quot;<em>learned</em>&quot; and &quot;<em>learnt</em>&quot; are both correct and mean the same. However, &quot;<em>learnt</em>&quot; is more common in the UK, whereas &quot;<em>learned</em>&quot; is used both in the UK and the USA.<a href=\"https://hackerpublicradio.org/eps/hpr2558/index.html#fnref1\">↩</a></p></li>\n</ol>\n</section>\n',225,120,1,'CC-BY-SA','grammar,spelling,punctuation,word misuse,English',0,0,1),
(2562,'2018-05-29','I bought a laptop',1292,'... in which clacke takes months (or years?) to buy a laptop, but comes out pretty pleased','<p>After months (or years?) of waffling and false starts I finally bought an <a href=\"https://www.asus.com/Laptops/ASUS-VivoBook-15-X542UA/\">ASUS X542U</a>. The advertised specs say &quot;up to&quot;, but I don’t have the &quot;up to&quot;, I have the baseline 7th gen i3, 128GB SSD, 4 GB RAM.</p>\r\n<p>Here’s the rambling story of a laptop purchase and its various side quests.</p>\r\n<p>Some details that may or may not have made it in to the show (and the show has some that aren’t there) available on the Fediverse at <a href=\"https://pleroma.heldscal.la/notice/7204988\" class=\"uri\">https://pleroma.heldscal.la/notice/7204988</a> .</p>\r\n<p>Side quest to the side quest of making an episode about side quests:</p>\r\n<p>Why spend five minutes writing a simple Makefile when you can spend half an afternoon writing a <a href=\"https://gitlab.com/clacke/hpr/blob/master/default.nix\">simple default.nix</a> instead?</p>',311,0,0,'CC-BY-SA','laptop, linux, ubuntu, nix, cryptocurrency',0,0,1),
(2559,'2018-05-24','My Favourite Browser extension',1117,'In this episode I cover my favourite browser Add-on','<p>My contribution to List of requested shows “Your favourite browser extensions”</p>\r\n<ul>\r\n<li><p>OneTab Homepage<br />\r\n<a href=\"https://www.one-tab.com/\" class=\"uri\">https://www.one-tab.com/</a></p></li>\r\n<li><p>Firefox add-on link<br />\r\n<a href=\"https://addons.mozilla.org/en-US/firefox/addon/onetab/\" class=\"uri\">https://addons.mozilla.org/en-US/firefox/addon/onetab/</a></p></li>\r\n</ul>\r\n<p>On Android, I\'m lazy and just seem to have fallen into using the chrome browser. The Add-on I\'m going to talk about unfortunately isn\'t available for the Android operating system.</p>\r\n<p>On the Linux desktop, I use Firefox</p>\r\n<p>In the past, I\'ve dabbled with various browser add-ons but until very recently I\'ve been using no browser add-ons on the desktop.</p>\r\n<p>A browser add-on I did use and did miss was Tab groups</p>\r\n<p>Tab Groups was originally a feature built into Mozilla Firefox</p>\r\n<p>The feature was removed but maintained as an add-on until it was broken by changes in Firefox 57</p>\r\n<ul>\r\n<li><a href=\"https://addons.mozilla.org/en-GB/firefox/addon/tab-groups-panorama/\" class=\"uri\">https://addons.mozilla.org/en-GB/firefox/addon/tab-groups-panorama/</a></li>\r\n</ul>\r\n<p>A colleague at work brought the One-Tab add-on to my attention https://www.one-tab.com/</p>\r\n<p>It\'s available for both the Chrome browser and Firefox</p>\r\n<p>No sign-up or registration required</p>\r\n<p>With Tab-group I found myself spending a lot of time arranging groups getting the size right naming them etc.</p>\r\n<p>One tab philosophy is a bit different and perhaps maybe not so intuitive, though I think now after some use I prefer it as it gets out of the way and can be used with the minimal of fuss.</p>\r\n<p>I highly recommend one-tab if you regularly find yourself dealing with a lot of open tabs in your browser.</p>\r\n',201,0,1,'CC-BY-SA','Internet, Research, Browser, Firefox, Plug-in, Add-On',0,0,1),
(2560,'2018-05-25','General Data Protection Regulation (GDPR)',1117,'The GDPR becomes enforceable today and Ken gives an overview on what it is and how it effects you.','<p>Been getting a lot of updated policy changes lately ? Here\'s why !</p>\r\n\r\n<h3>From Wikipedia</h3>\r\n<quote>\r\nThe <a href=\"https://en.wikipedia.org/wiki/General_Data_Protection_Regulation\">General Data Protection Regulation (GDPR) (EU) 2016/679</a> is a regulation in EU law on data protection and privacy for all individuals within the European Union. It also addresses the export of personal data outside the EU. The GDPR aims primarily to give control to citizens and residents over their personal data and to simplify the regulatory environment for international business by unifying the regulation within the EU. It was adopted on 14 April 2016, and after a two-year transition period, becomes enforceable on 25 May 2018.\r\n</quote>\r\n\r\n<p>The following information is taken from the <a href=\"https://ico.org.uk/for-organisations/guide-to-the-general-data-protection-regulation-gdpr/\">Guide to the General Data Protection\r\nRegulation (GDPR)</a> from the Information Commissioners Office in the UK, which is released under a <a href=\"https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/\">Open Government Licence v3.0.</a></p>\r\n\r\n<h2>Principles of the GDPR</h2>\r\n<p>Under the GDPR, the data protection principles set out the main responsibilities for organisations.<br />\r\nArticle 5 of the GDPR requires that personal data shall be:</p>\r\n<dl>\r\n<dt>a) processed lawfully, fairly and in a transparent manner in relation to individuals;</dt>\r\n<dt>b) collected for specified, explicit and legitimate purposes and not further processed in a manner that is incompatible with those purposes; further processing for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes shall not be considered to be incompatible with the initial purposes;</dt>\r\n<dt>c) adequate, relevant and limited to what is necessary in relation to the purposes for which they are processed;</dt>\r\n<dt>d) accurate and, where necessary, kept up to date; every reasonable step must be taken to ensure that personal data that are inaccurate, having regard to the purposes for which they are processed, are erased or rectified without delay;</dt>\r\n<dt>e) kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed; personal data may be stored for longer periods insofar as the personal data will be processed solely for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes subject to implementation of the appropriate technical and organisational measures required by the GDPR in order to safeguard the rights and freedoms of individuals; and</dt>\r\n<dt>f) processed in a manner that ensures appropriate security of the personal data, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage, using appropriate technical or organisational measures.</dt>\r\n</dl>\r\nArticle 5(2) requires that:\r\n<dl>\r\n<dt>the controller shall be responsible for, and be able to demonstrate, compliance with the principles.</dt>\r\n</dl>\r\n\r\n<h2>What information does the GDPR apply to?</h2>\r\n\r\n<h3>Personal data</h3>\r\n<p>The GDPR applies to ‘personal data’ meaning any information relating to an identifiable person who can be directly or indirectly identified in particular by reference to an identifier.</p>\r\n\r\n<h3>Sensitive personal data</h3>\r\n<p>Special category data is personal data which the GDPR says is more sensitive, and so needs more protection.</p>\r\n<ul>\r\n  <li>race</li>\r\n  <li>ethnic origin</li>\r\n  <li>politics</li>\r\n  <li>religion</li>\r\n  <li>trade union membership</li>\r\n  <li>genetics</li>\r\n  <li>biometrics (where used for ID purposes)</li>\r\n  <li>health</li>\r\n  <li>sex life</li>\r\n  <li>sexual orientation</li>\r\n</ul>\r\n\r\n<h3>Criminal offence data</h3>\r\n<p>The Data Protection Bill deals with this type of data in a similar way to special category data, and sets out specific conditions providing lawful authority for processing it.</p>\r\n\r\n<h2>What are the lawful bases for processing?</h2>\r\n<p>You can only process personal information if you have:</p>\r\n<ol>\r\n  <li>Consent: the individual has given clear consent for you to process their personal data for a specific purpose.\r\n  <li>Contract: the processing is necessary for a contract you have with the individual, or because they have asked you to take specific steps before entering into a contract.\r\n  <li>Legal obligation: the processing is necessary for you to comply with the law (not including contractual obligations).\r\n  <li>Vital interests: the processing is necessary to protect someone’s life.\r\n  <li>Public task: the processing is necessary for you to perform a task in the public interest or for your official functions, and the task or function has a clear basis in law.\r\n  <li>Legitimate interests: the processing is necessary for your legitimate interests or the legitimate interests of a third party unless there is a good reason to protect the individual’s personal data which overrides those legitimate interests. (This cannot apply if you are a public authority processing data to perform your official tasks.)\r\n</ol>\r\n\r\n<h3>Individual rights</h3>\r\n<ol>\r\n  <li>The right of access</li>\r\n  <li>The right to rectification</li>\r\n  <li>The right to erasure</li>\r\n  <li>The right to restrict processing</li>\r\n  <li>The right to data portability</li>\r\n  <li>The right to object</li>\r\n  <li>Rights in relation to automated decision making and profiling.</li>\r\n</ol>\r\n\r\n<h3>Other Considerations</h3>\r\n<ul>\r\n  <li>Accountability and governance</li>\r\n  <li>Contracts</li>\r\n  <li>Documentation</li>\r\n  <li>Data protection by design and default</li>\r\n  <li>Data protection officers</li>\r\n  <li>Codes of conduct and certification</li>\r\n  <li>Guide to the data protection fee</li>\r\n  <li>Security</li>\r\n  <li>International transfers</li>\r\n  <li>Exemptions</li>\r\n  <li>Children</li>\r\n</ul>\r\n\r\n<h3>Links</h3>\r\n<ul>\r\n<li>\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2560/hpr2560/regulation_oj_en.pdf\">REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL</a> \r\nof 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, \r\nand repealing Directive 95/46/EC (General Data Protection Regulation). Published under the terms of \r\n<a href=\"https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32011D0833&qid=1495026738506&from=EN\">COMMISSION DECISION of 12 December 2011 on the reuse of Commission documents (2011/833/EU)</a></li>\r\n<li>\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2560/hpr2560/guide-to-the-general-data-protection-regulation-gdpr-1-0.pdf\">Guide to the General Data Protection Regulation (GDPR)</a>  from the \r\n<a href=\"https://ico.org.uk/for-organisations/guide-to-the-general-data-protection-regulation-gdpr/\">Information Commissioners Office</a> in the UK, which is released under a \r\n<a href=\"https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/\">Open Government Licence v3.0.</a></li>\r\n<li>\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2560/hpr2560/preparing-for-the-gdpr-12-steps.pdf\">Preparing for the General Data Protection Regulation (GDPR)</a>.</li>\r\n<li>\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2560/hpr2560/DPbD_Framework.pdf\">Data Protection by Design Framework</a>. Published under Creative Commons 4.0 Attribution - NoDerivs CC BY - ND license. The most recent version of the Data Protection by Design Framework is available on \r\n<a href=\"https://www.privacycompany.eu/en/\">www.privacycompany.eu</a>.</li>\r\n<li>\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2560/hpr2560/factsheet_GDPR.pdf\">Overview of the EU General Data Protection Regulation (GDPR)</a>. Published under Creative Commons 4.0 Attribution - NoDerivs CC BY - ND license. The most recent version of the Data Protection by Design Framework is available on \r\n<a href=\"https://www.privacycompany.eu/en/\">www.privacycompany.eu</a>.</li>\r\n<li>\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2560/hpr2560/wp242_rev01_enpdf.pdf\">Guidelines on the right to data portability</a>16/EN WP 242 rev.01 ARTICLE 29 DATA PROTECTION WORKING PARTY. Published under the terms of \r\n<a href=\"https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32011D0833&qid=1495026738506&from=EN\">COMMISSION DECISION of 12 December 2011 on the reuse of Commission documents (2011/833/EU)</a></li>\r\n</ul>\r\n',30,74,0,'CC-BY-SA','GDPR,General Data Protection Regulation',0,0,1),
(2561,'2018-05-28','A reluctant dog walk',1472,'A reluctant dog walk after some hand stripping','<p>An explanation of hand stripping <a href=\"https://www.petguide.com/petcare/dog/grooming-basics-all-about-hand-stripping/\" class=\"uri\">https://www.petguide.com/petcare/dog/grooming-basics-all-about-hand-stripping/</a></p>\r\n<p>I chopped the recording down a bit as it was originally over an hour long I thought it would just be too monotonous.</p>\r\n<p>Listening back to the recording I can\'t believe it took me so long to get organised and get out the door.</p>\r\n<p>With all the rhythmic clinking sounds it sounds more like I\'m riding a horse than walking the dog, I think the supplied clip-on Dictaphone microphone is a bit on the sensitive side.</p>\r\n<p>As a responsible dog walker, one of the most important pieces of equipment I take with me on every dog walk is the “Toley Bone” mentioned around one minute point.</p>\r\n<p>Toley is a fine Scottish word, you can look it up if you are unfamiliar with it <a href=\"https://www.firstfoot.com/dictionary/t.html\" class=\"uri\">https://www.firstfoot.com/dictionary/t.html</a> or alternatively just do a simple google search to be enlightened.</p>\r\n<p>An example can be found here. <a href=\"https://www.amazon.co.uk/Plastic-Holder-Dispenser-Carrying-Walking/dp/B01IW0YSM0/ref=sr_1_8?ie=UTF8&amp;qid=1509280608&amp;sr=8-8&amp;keywords=dog+bag+bone\" class=\"uri\">https://www.amazon.co.uk/Plastic-Holder-Dispenser-Carrying-Walking/dp/B01IW0YSM0/ref=sr_1_8?ie=UTF8&amp;qid=1509280608&amp;sr=8-8&amp;keywords=dog+bag+bone</a></p>\r\n<p>Listen out for the crinkling sound around the halfway point where it is put to good use.</p>\r\n<p>The second most important piece of kit is a sweet, consumed around the 3 minute point.</p>\r\n<p>The main part of the walk was fairly uneventful and consisted of traffic noise, passing by the local bus terminus where the bus turns at the end of its route, a rather noisy motorbike and a brief encounter with a fellow dog walker on route.</p>\r\n<p>Finally ending with a treat and some light refreshment.</p>\r\n<p>Oh, and in case you\'re wondering yes the the scones mentioned near the end of the podcast made by Mrs X were wonderful.</p>\r\n<p>Oh and one final thing on listening back to the recording one more time I just realised that for some unknown reason just after the bus noise I started whistling very softly to myself, I don\'t remember doing that at all, I must have been doing it subconsciously. I could be wrong but it sounds to me like I\'m whistling the tune “The animals march in two by two” I guess it was just the right tempo to help me round my one hour walk.</p>\r\n',201,101,1,'CC-BY-SA','dog, walking',0,0,1),
(2563,'2018-05-30','Action In Storytelling',1065,'Lostnbronx looks at different uses of action in storytelling.','<p>Lostnbronx contrasts what he calls &quot;static action&quot; with &quot;story action&quot;, and looks at the functions of these techniques for storytelling in various media.</p>\r\n<p>A car chase is action-filled, but so might be a quiet Victorian drawing room, where, at least on the surface of it, nothing is happening.</p>\r\n<p>What actually constitutes action? What purpose does it serve? And how much of it do you really need?</p>',107,105,0,'CC-0','storytelling,action',0,0,1),
(2564,'2018-05-31','Intro to Fossil',1991,'Klaatu talks about the Fossil version control system','<p>Some shownotes for fossil</p>\r\n\r\n<p>\r\nCreate a new fossil repository&#58;\r\n</p>\r\n\r\n<pre><code>  $ fossil new shownotes\r\n</code></pre>\r\n\r\n<p>\r\n  Add your work to the repository&#58;\r\n</p>\r\n\r\n<pre><code>  $ fossil add shownotes.html\r\n</code></pre>\r\n\r\n<p>\r\n  Commit your work&#58;\r\n</p>\r\n\r\n<pre><code>  $ fossil commit --comment \"added shownote HTML file\"\r\n</code></pre>\r\n\r\n<p>\r\n  As a fun exercise, destroy your work.\r\n</p>\r\n\r\n<pre><code>  $ echo \"klaatu said this was perfectly safe\" &gt; shownotes.html\r\n  $ cat shownotes.html\r\n  klaatu said this was perfectly safe\r\n</code></pre>\r\n\r\n<p>\r\n  And now revert it back to the\r\n  last known good version&#58;\r\n</p>\r\n\r\n<pre><code>  $ fossil revert shownotes.html\r\n  REVERT shownotes.html\r\n  $ head -n1 shownotes.html\r\n  &lt;p&gt;Some shownotes for fossil&lt;p&gt;\r\n</code></pre>\r\n\r\n<p>\r\n  Did you accidentally revert? You can undo that.\r\n</p>\r\n\r\n<pre><code>  $ fossil undo shownotes.html\r\n</code></pre>\r\n\r\n<p>\r\n  And then revert again.\r\n</p>\r\n\r\n<pre><code>  $ fossil revert shownotes.html\r\n  REVERT shownotes.html\r\n  $ head -n1 shownotes.html\r\n  &lt;p&gt;Some shownotes for fossil&lt;p&gt;\r\n</code></pre>\r\n\r\n<p>\r\nCheck your remote&#58;\r\n</p>\r\n<pre><code>  $ fossil remote-url\r\n</code></pre>\r\n\r\n<p>\r\nClose a fossil repo&#58;\r\n</p>\r\n\r\n<pre><code>  $ fossil close\r\n</code></pre>\r\n\r\n<p>\r\nSee the fancy browser-based UI of your repo&#58;\r\n</p>\r\n<pre><code>  $ fossil ui\r\n</code></pre>\r\n\r\n',78,0,0,'CC-BY-SA','fossil,sqlite,svn,git,scm',0,0,1),
(2567,'2018-06-05','Son of Hunky Punk',269,'I follow-up on my Frotz episode by covering Son of Hunky Punk, a Z-machine interpreter for Android.','<p>I follow-up on my Frotz episode by covering Son of Hunky Punk, a Z-machine interpreter for Android. I also test my copy of ZORK I to see if it works as well as it did on Frotz.</p>\r\n<h3 id=\"links\">Links:</h3>\r\n<ul>\r\n<li><p>Son of Hunky Punk - IFWiki<br />\r\n<a href=\"https://ifwiki.org/index.php/Son_of_Hunky_Punk\" class=\"uri\">https://ifwiki.org/index.php/Son_of_Hunky_Punk</a></p></li>\r\n<li><p>Github: <a href=\"https://github.com/retrobits/son_of_hunkypunk\" class=\"uri\">https://github.com/retrobits/son_of_hunkypunk</a></p></li>\r\n<li><p>Google Play: <a href=\"https://play.google.com/store/apps/details?id=org.andglkmod.hunkypunk&amp;hl=en_US\" class=\"uri\">https://play.google.com/store/apps/details?id=org.andglkmod.hunkypunk&amp;hl=en_US</a></p></li>\r\n<li><p>F-Droid: <a href=\"https://f-droid.org/packages/org.andglkmod.hunkypunk/\" class=\"uri\">https://f-droid.org/packages/org.andglkmod.hunkypunk/</a></p></li>\r\n<li><p>Hunky Punk (the original)<br />\r\n<a href=\"https://hunkypunk.sourceforge.net/\" class=\"uri\">https://hunkypunk.sourceforge.net/</a></p></li>\r\n</ul>\r\n<h3 id=\"contact\">Contact:</h3>\r\n<ul>\r\n<li>IRC: claudiom (#oggcastplanet on Freenode)</li>\r\n<li>E-mail: claudio (at) linuxbasement (dot) com</li>\r\n</ul>\r\n',152,0,0,'CC-BY-SA','Interactive Fiction,interpreter,Android,Son of Hunky Punk,Hunky Punk',0,0,1),
(2568,'2018-06-06','Personal finance',3282,'How to manage personal finances.','<h2 id=\"personal-finances\">Personal finances</h2>\r\n<h3 id=\"problem\">Problem</h3>\r\n<p>People need to save for retirement. But how do we do that?</p>\r\n<p>Conventional wisdom in the USA says that Social Security is your retirement fund.</p>\r\n<p>There\'s no guarantee that will still be around when you retire, and it\'s entirely out of your hands. It maybe a good bonus, but possibly it isn\'t something to rely on.</p>\r\n<p>So how do we do it?</p>\r\n<h3 id=\"they-dont-teach-you-this-stuff-in-school\">They don\'t teach you this stuff in school</h3>\r\n<p>People say you should save for retirement, but they forget to say <em>how</em>.</p>\r\n<p>Currently, there are two de facto methods of funding retirement in the USA:</p>\r\n<ul>\r\n<li>social security: abstract, not guaranteed. Assumes you start contributing to ssn early</li>\r\n<li>401k. abstract, indirect unless you take active role in tracking it. best if you start early.</li>\r\n</ul>\r\n<p>In other countries, there may be significant alternatives. For instance, Kiwisaver in New Zealand.</p>\r\n<p>These methods are OK, but difficult for you to interact with directly.</p>\r\n<h3 id=\"there-are-two-direct-levels-of-investment\">There are two direct levels of investment:</h3>\r\n<ol start=\"0\" type=\"1\">\r\n<li>At your bank: CDs and mutual funds</li>\r\n</ol>\r\n<ul>\r\n<li>Go to your bank, ask to invest in a mutual fund or Certificate of Deposit (CD)</li>\r\n</ul>\r\n<ol type=\"1\">\r\n<li>Stock market: your local market and the US market</li>\r\n</ol>\r\n<ul>\r\n<li>what: direct investment in &quot;publically traded&quot; (whatever that means) companies</li>\r\n<li>how: <a href=\"https://etrade.com\" class=\"uri\">https://etrade.com</a> or <a href=\"https://fidelity.com\" class=\"uri\">https://fidelity.com</a></li>\r\n<li>In other countries, look for brokers who will invest your money in local or international markets</li>\r\n</ul>\r\n',78,0,0,'CC-BY-SA','money, finance, life',0,0,1),
(2569,'2018-06-07','Pandemic: Reign of Cthulu board game review',1140,'Klaatu reviews a board game','<p><a href=\"https://boardgamegeek.com/boardgame/192153/pandemic-reign-cthulhu\" target=\"_blank\">Pandemic Reign of Cthulu</a>\r\n</p><p>\r\n<a href=\"https://boardgamegeek.com/boardgame/30549/pandemic\" target=\"_blank\">Pandemic</a> original edition\r\n</p>\r\n<p>Mods can be found online. For instance: <a href=\"https://www.fractuslearning.com/pandemic-board-game/\" target=\"_blank\">fractuslearning.com&#47;pandemic-board-game</a></p>\r\n\r\n',78,95,0,'CC-BY-SA','game,tabletop',0,0,1),
(2571,'2018-06-11','Kill Dr. Lucky',1168,'Klaatu reviews a board game','<p>Details about <a href=\"https://paizo.com/products/btpy9ijp?Kill-Doctor-Lucky\" target=\"_blank\">Kill Doctor Lucky</a> on Paizo.com.</p>',78,95,0,'CC-BY-SA','game,tabletop',0,0,1),
(2570,'2018-06-08','Penguicon 2018 Report',987,'Penguicon 2018 took place on May 4-6, 2018 in Southfield, Michigan','<p>Penguicon 2018 is a combined technology and science fiction convention in Southfield, Michigan, a suburb of Detroit, and presents over 500 hours of programming over the entire weekend. Of this, around 100 hours are open source, tech-related. In this episode I tell you about my own personal experience at Penguicon this year.</p>\r\n<h3 id=\"links\">Links:</h3>\r\n<ul>\r\n<li><a href=\"https://2018.penguicon.org/\" class=\"uri\">https://2018.penguicon.org/</a></li>\r\n<li><a href=\"https://www.youtube.com/channel/UCZFipeZtQM5CKUjx6grh54g\" class=\"uri\">https://www.youtube.com/channel/UCZFipeZtQM5CKUjx6grh54g</a></li>\r\n<li><a href=\"https://www.michaelwlucas.com/\" class=\"uri\">https://www.michaelwlucas.com/</a></li>\r\n<li><a href=\"https://www.physics.ccsu.edu/larsen/\" class=\"uri\">https://www.physics.ccsu.edu/larsen/</a></li>\r\n<li><a href=\"https://solarsystem1.jpl.nasa.gov/ssa/home.cfm\" class=\"uri\">https://solarsystem1.jpl.nasa.gov/ssa/home.cfm</a></li>\r\n<li><a href=\"https://www.youtube.com/channel/UCHkYOD-3fZbuGhwsADBd9ZQ\" class=\"uri\">https://www.youtube.com/channel/UCHkYOD-3fZbuGhwsADBd9ZQ</a></li>\r\n<li><a href=\"https://hackerpublicradio.org/eps.php?id=2510\" class=\"uri\">https://hackerpublicradio.org/eps.php?id=2510</a></li>\r\n<li><a href=\"https://www.zwilnik.com\" class=\"uri\">https://www.zwilnik.com</a></li>\r\n</ul>\r\n',198,96,0,'CC-BY-SA','Penguicon 2018',0,0,1),
(2573,'2018-06-13','Foundations of git rebase',1229,'Klaatu talks about git rebase','<p>A git rebase is like a git merge done through rose-coloured glasses.</p>\r\n\r\n<p>\r\nYou can see it for yourself by doing this little experiment. Assuming the <code>alice</code> directory is a valid git repository&#58;\r\n</p>\r\n\r\n<pre><code>$ cd alice\r\n$ echo \"foo\" &gt;&gt; rebase.episode\r\n$ git add rebase.episode ; git commit -m \'begin rebase episode\'\r\n$ git checkout -b monsters\r\n\r\n$ git branch\r\n* monsters\r\nmaster\r\n$ echo \"ghoul\" &gt;&gt; ghoul.txt\r\n$ git add ghoul.txt ; git commit -m \'ghoul\'\r\n$ git checkout master\r\n$ echo \"rogue\" &gt;&gt; rogue.txt\r\n$ git add rogue.txt ; git commit -m \'rogue\'\r\n\r\n$ git checkout monsters\r\n$ echo \"dragon\" &gt;&gt; dragon.txt\r\n$ git add dragon.txt ; git commit -m \'dragon\'\r\n\r\n$ git checkout master\r\n$ echo \"paladin\" &gt;&gt; paladin.txt\r\n$ git add paladin.txt ; git commit -m \'paladin\'\r\n</code></pre>\r\n\r\n<p>\r\nYou have now emulated a bunch of activity on two separate branches of a git repository.\r\nCreate a copy of the repo so that you can perform two separate git actions.\r\n</p>\r\n\r\n<pre><code>$ cd ..\r\n$ cp -r alice alice-merge\r\n$ cp -r alice alice-base\r\n</code></pre>\r\n\r\n<p>\r\nDo an honest merge&#58;\r\n</p>\r\n\r\n<pre><code>$ cd alice-merge\r\n$ git checkout master\r\n$ git merge monsters\r\n</code></pre>\r\n\r\n<p>\r\nThe log shows you an accurate representation what got merged, and how all those changes came to be&#58;\r\n</p>\r\n\r\n<pre><code>$ git log --oneline\r\n123456 Merged monsters into master\r\n789101 paladin\r\n112131 dragon\r\n415161 rogue\r\n718191 ghoul\r\n7ef217 begin rebase episode\r\n</code></pre>\r\n\r\n<p>\r\nNow perform a rebase.\r\n</p>\r\n\r\n<pre><code>$ cd ../alice-base\r\n$ git checkout master\r\n$ git rebase monsters\r\n</code></pre>\r\n\r\n<p>\r\nThe log displays a different story than what really happened.\r\n</p>\r\n\r\n<pre><code>123456 Merged monsters into master\r\n8e9122 paladin\r\n21d163 rogue\r\n912a3f dragon\r\n51c098 ghoul\r\n7ef217 begin rebase episode\r\n</code></pre>\r\n\r\n<p>\r\nBetter? Worse? YOU DECIDE&#33;\r\n</p>\r\n\r\n',78,81,0,'CC-BY-SA','git,rebase,merge',0,0,1),
(2580,'2018-06-22','Diabetes',841,'This is the story of how I became diabetic and what I did about it.','<p>For the last 15 years or so Diabetes has been a central fact in my life, and I needed to learn what to do about it. I think I discovered a way I can live with it and still have a good quality of life</p>\r\n<ul>\r\n<li><a href=\"https://www.webmd.com/diabetes/default.htm\" class=\"uri\">https://www.webmd.com/diabetes/default.htm</a></li>\r\n<li><a href=\"https://www.aao.org/eye-health/diseases/what-is-diabetic-retinopathy\" class=\"uri\">https://www.aao.org/eye-health/diseases/what-is-diabetic-retinopathy</a></li>\r\n<li><a href=\"https://www.mayoclinic.org/diseases-conditions/diabetic-neuropathy/symptoms-causes/syc-20371580\" class=\"uri\">https://www.mayoclinic.org/diseases-conditions/diabetic-neuropathy/symptoms-causes/syc-20371580</a></li>\r\n<li><a href=\"https://www.webmd.com/diabetes/tc/diabetic-nephropathy-topic-overview#1\" class=\"uri\">https://www.webmd.com/diabetes/tc/diabetic-nephropathy-topic-overview#1</a></li>\r\n<li><a href=\"https://www.diabetes-book.com/\" class=\"uri\">https://www.diabetes-book.com/</a></li>\r\n<li><a href=\"https://www.palain.com/?page_id=338\" class=\"uri\">https://www.palain.com/?page_id=338</a></li>\r\n</ul>\r\n',198,100,0,'CC-BY-SA','Health, Medicine, Diabetes',0,0,1),
(2574,'2018-06-14','Personal cash-only finance',1800,'Klaatu discusses the advantages and disadvantages of going [mostly] cash-only','<p>Klaatu discusses the advantages and disadvantages of going [mostly] cash-only</p>\r\n',78,0,0,'CC-BY-SA','money, finance, life',0,0,1),
(2579,'2018-06-21','Ubuntu 18.04 Mate',620,'This is a short show on installing the latest Ubuntu 18.04 onto a laptop and desktop PC','<h2 id=\"ubuntu-mate-18.04\">Ubuntu Mate 18.04</h2>\r\n<p>Good day to all you HPR Listers. Sorry that its been a while since I recorded a show, but as they say life has got in the way over the last few months, and I\'ve spent quite a bit of it away from the home front.</p>\r\n<p>As it happens on one of those trips away my laptop running Mint Mate 18.3 LTS, based on Ubuntu 16.04LTS decided that it wouldn\'t boot as it didn\'t recognise my account, and as I had not created a Root account I could not sign in and fix the issue, which was a corrupted configuration file in the users folder.</p>\r\n<p>As luck would have it I had just downloaded the latest Ubuntu Mate 18.04 .iso to try it as a live disc, so I had a boot disc that I could use to boot the laptop and access the data to rescue all my important information which was mainly all my emails and my browser settings and bookmarks, as this is one of my travelling laptops not much of importance is permanently stored on it, so it didn\'t take long and I was ready to reinstall the OS to the PC. Just in case I had missed some important data on the current SSD, as I had a spare SSD with me in the bag, yes I\'m geeky enough to carry a spare SSD or 2 in the bag. So I dug it out and installed it into the PC, which by the way is a Dell Latitude E6540 with an i5 dual core mobile chip with hyper-threading. It\'s currently running 4Gig DDR3 RAM but can run up to 16Gig in the 2 slots it has.</p>\r\n<p>So I booted the laptop with the USB boot disc I had created and as with all recent Ubuntu releases you get a screen asking if you want to try or install the OS, as I needed a working PC I went straight to the install option. For those not familiar with Linux or Ubuntu, the installer is a joy to use and very friendly to new users. As this was a first install to this SSD the only option I had was a full install which I chose, then was asked if I wanted to do the default install which partitions the drive and installs the bootloader automatically without any further need for intervention or did I want to do a custom partition arrangement. As the default is adequate for my needs I chose this and clicked continue. During this process you also get the option of a minimal or full installation, the minimal installation gets you a running PC with the basic utilities and leaves you to chose what to install later, but as I use the software that would be omitted I chose the full install. You get asked a final time if you are sure you want to install, with a warning that all current data on the disc will be wiped, as I was happy I clicked proceed. At this point the install starts and you are taken through setting up your PC configuration for language, keyboard, and user account. By the time I had completed this, the install was half completed and the whole process took less than 15 minutes.</p>\r\n<p>After the install is complete you get the message to reboot the PC and eject the boot media to reboot into the new install, on first boot you will either be presented with the login screen or go straight to the desktop depending on the choices you made during the install. Once you are at the desktop for the first time you are presented with a wallpaper of the Ubuntu Mate logo and 2 panels one at the top and one at the bottom of the screen. The top one has for those more traditional Linux and Windows users all the information you would expect on the lower panel, such as the menu, notification area etc. As I\'m more traditional in my use of a PC I quickly set up the lower panel with the Advanced Mate Menu and other notification apps such as network, clock and calendar and then deleted the other panel, but obviously this is a personal preference - go with what you find comfortable.</p>\r\n<p>The next step after connecting to the local WiFi was to install any updates, which despite this release only being a few days old there were a few, but this didn\'t take long and in less than an hour, which included backing up and swapping out the SSD I had a fully working laptop running Ubuntu 18.04 Mate.</p>\r\n<p>So there are a few bits of software not included by default in Ubuntu which I use regularly, one of which is synaptic so I opened the terminal and a <code>sudo apt install synaptic</code> later I had the package manager on the PC. You may ask why, but the software Boutique doesn\'t seem to have all the software available in the repositories and I don\'t always know the appropriate name of software I\'m looking for to use the terminal all the time, so synaptic is a tool I use a lot. The next software that gets installed is Audacity as I use this for editing audio and sometimes extracting the audio stream from videos of the internet, most importantly for HPR listeners it is what I use to record and edit my HPR shows.</p>\r\n<p>So back to Ubuntu 18.04 Mate, I\'ve been running it for a month on the laptop and about 3 weeks on my main box and as you would expect from a LTS (long term support until 2023) it\'s very solid and stable, I had a glitch transferring my e mails into Thunderbird on my main box, it had worked flawlessly on the laptop, so I ended up having to reinstall from scratch and on the second install it went perfectly, I think it was down to the way I set up Thunderbird which screwed things up, not the OS, but it\'s all fine now and I didn\'t lose anything in the process. For me coming from Mint there are a couple of utilities the Mint developers have implemented that are not available in Ubuntu, but nothing I can\'t work around. Saying that, if there are any Ubuntu developers out there, the Mint USB drive formatter and USB boot disc creation utilities are nice and simple to use but not available in the Ubuntu repositories.</p>\r\n<p>Obviously I\'ve only had limited time to get to use the new OS but so far it doesn\'t seem too bad coming back to the mother ship so to speak from several years of using Mint Mate, virtually since its inception, but as I record this there has been nothing that has made me feel I need to rush and reinstall Mint, so I\'ll continue with Ubuntu Mate 18.04 at least until the new Mint19 based on this Ubuntu release comes out.</p>\r\n<p><a href=\"https://ubuntu-mate.org/download/\" class=\"uri\">https://ubuntu-mate.org/download/</a></p>\r\n',338,57,0,'CC-BY-SA','Linux, Ubuntu',0,0,1),
(2576,'2018-06-18','My swedish and german podcasts part 1',335,'I\'m recommending 6 podcasts in swedish and german','<ul>\r\n<li><strong>P1 Språket</strong> <a href=\"https://api.sr.se/api/rss/pod/4012\" class=\"uri\">https://api.sr.se/api/rss/pod/4012</a></li>\r\n<li><strong>P1 Vetenskapsradion Historia</strong> <a href=\"https://api.sr.se/api/rss/pod/4020\" class=\"uri\">https://api.sr.se/api/rss/pod/4020</a></li>\r\n<li><strong>Medierna i P1</strong> <a href=\"https://api.sr.se/api/rss/pod/3951\" class=\"uri\">https://api.sr.se/api/rss/pod/3951</a></li>\r\n<li><strong>@mediasres</strong> <a href=\"https://www.deutschlandfunk.de/podcast-mediasres.762.de.podcast\" class=\"uri\">https://www.deutschlandfunk.de/podcast-mediasres.762.de.podcast</a></li>\r\n<li><strong>Europa heute</strong> <a href=\"https://www.deutschlandfunk.de/podcast-europa-heute.796.de.podcast\" class=\"uri\">https://www.deutschlandfunk.de/podcast-europa-heute.796.de.podcast</a></li>\r\n<li><strong>Computer und Kommunikation</strong> <a href=\"https://www.deutschlandfunk.de/podcast-computer-und-kommunikation.685.de.podcast\" class=\"uri\">https://www.deutschlandfunk.de/podcast-computer-und-kommunikation.685.de.podcast</a></li>\r\n</ul>',309,75,0,'CC-BY-SA','podcasts,swedish,german,language,media,europe',0,0,1),
(2577,'2018-06-19','Emigration',1855,'Howto emigrate','<p>Confused about leaving your homeland for &#60;strike&#62;greener&#60;&#47;strike&#62; pastures? Maybe this episode will shed some light on the subject.</p>\r\n\r\n<p>Public domain music from <a href=\"https://archive.org/details/Americasnationalanthem\" target=\"_blank\">archive.org</a>. Can you find your national anthem? Do you know all the words to your national anthem? Either way, you should be ashamed of yourself.</p>',78,0,0,'CC-BY-SA','Emigration,visa,permanent residency,citizenship',0,0,1),
(2575,'2018-06-15','Quick Tips June 2018',826,'I go over a few quick tips for June','<ul>\r\n<li>sites that required two factor tips</li>\r\n<li>Referb your can opener</li>\r\n<li>Referb your powerwheels</li>\r\n<li>Humidifier filter DIY</li>\r\n<li>free anonymous email over TOR</li>\r\n</ul>',36,0,1,'CC-BY-SA','QuickTips',0,0,1),
(2578,'2018-06-20','LinuxLUGcast 102 the lost episode',13976,'LinuxLUGcast episode 102. The lost episode.','<p>\r\nThis was episode 102 of the LinuxLUGcast.\r\n<br/>\r\nSo the LinuxLUGcast is an open podcast/LUG that meets every first and third friday of the month using mumble. This method of running a podcast leaves it open to anyone showing up (which is what we want because it gets difficult for fiftyonefifty and I to come up with topics all the time). We have also gotten the reputation of being a safe for work podcast. This is why episode 102 is being posted here. Between the not safe for work language and the fact that after a few drinks during the podcast I get a little rambly we thought it best not to publish it on the regular LinuxLUGcast feed, but I thought there was some good conversation here that would be lost if it did not go somewhere. After some discussion we at the LinuxLUGcast decided that we would publish it here so that it could be heard by the HPR community.\r\n<br/>\r\nWe have also done some website remodeling which has screwed up the .ogg feed, and wanted to let people know that we are still podcasting and to please check out\r\n<a href=\"https://www.linuxlugcast.com/\">https://www.linuxlugcast.com/</a> for the new .ogg feed.\r\n<br/>\r\nEnjoy\r\n</p>\r\n<p>\r\np.s. please forgive my rambling\r\n</p>\r\n',269,0,1,'CC-BY-SA','linux, computing',0,0,1),
(2585,'2018-06-29','Check to see if a Remote Control is working',99,'Yet another amazing life hack from Ken','<p>\r\nEver have a remote control that didn\'t seem to be working ? With this AMAZING LIFE HACK you can see the unseen</p>\r\n<p>\r\n<small>\r\nOK all it is is looking at the remote using your camera - but still...\r\n</small>\r\n</p>\r\n',30,0,1,'CC-BY-SA','remote control, life hack',0,0,1),
(2581,'2018-06-25','My new 3D printer - impressions of the Creality Ender 3',1239,'I bought a Creality Ender 3 3D printer in June 2018. Here are my first impressions of it','<h1 id=\"my-new-3d-printer---impressions-of-the-creality-ender-3\">My new 3D printer - impressions of the Creality Ender 3</h1>\n<h2 id=\"introduction\">Introduction</h2>\n<p>I have been thinking of buying a 3D printer for a year or so. I had thought of getting a <a href=\"https://www.prusaprinters.org/prusa-i3/\" title=\"Prusa i3 MK3\">Prusa i3 MK3</a> in kit form, but although it\'s cheaper than the built form this printer is not cheap, and I doubted my ability to build it. I was also unsure whether there was a real need for the capabilities of a 3D printer in my life, and whether such a purchase was justified.</p>\n<p>I had noticed the Chinese <a href=\"https://www.creality3d.cn/creality-cr-10-3d-printer-p00096p1.html\" title=\"Creality CR10\">Creality CR10</a> printer in the recent past, and wondered about buying one of these at about half the price of the Prusa. This is a good-sized printer which comes fully-assembled as I understand, and it has had many good reviews.</p>\n<p>When the <a href=\"https://www.creality3d.cn/creality-ender-3-3d-printer-p00095p1.html\" title=\"Creality Ender 3\">Creality Ender 3</a> was released in April 2018 for around half the price of the CR10 it looked worth the risk to see if I really needed a 3D printer. So I bought one (from Amazon) in June.</p>\n<p>As I write this (2018-06-10) it\'s been less than a week since it was delivered, so this is a very preliminary look at the printer.</p>\n<h2 id=\"long-notes\">Long notes</h2>\n<p>For the rest of the notes for this episode <a href=\"hpr2581_full_shownotes.html\">look here</a>.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li><a href=\"https://en.wikipedia.org/wiki/3D_printing\">Wikipedia definition of 3D printing</a></li>\n<li><a href=\"https://en.wikipedia.org/wiki/Bowden_extruder\">Wikipedia article on the <em>Bowden extruder</em></a></li>\n<li>Printers mentioned:\n<ul>\n<li><a href=\"https://www.prusaprinters.org/prusa-i3/\">Prusa i3 MK3</a></li>\n<li>Creality CR10\n<ul>\n<li><a href=\"https://www.creality3d.cn/creality-cr-10-3d-printer-p00096p1.html\">Website</a></li>\n<li><a href=\"https://www.banggood.com/DIY-Creality-CR-10-3D-Printer-300300400mm-Printing-Size-1_75mm-0_4mm-Nozzle-p-1085645.html?cur_warehouse=USA\">Buy on Banggood</a></li>\n</ul></li>\n<li>Creality Ender 3\n<ul>\n<li><a href=\"https://www.creality3d.cn/creality-ender-3-3d-printer-p00095p1.html\">Website</a></li>\n<li><a href=\"https://www.banggood.com/Creality-3D-Ender-3-V-slot-Prusa-I3-DIY-3D-Printer-Kit-220x220x250mm-Printing-Size-p-1278399.html?cur_warehouse=CN\">Buy on Banggood</a></li>\n<li><a href=\"https://all3dp.com/1/creality-ender-3-3d-printer-review/\">All3DP Review</a></li>\n</ul></li>\n</ul></li>\n<li><a href=\"https://en.wikipedia.org/wiki/DIN_rail\">Wikipedia article on DIN Rails</a></li>\n<li>Thingiverse items:\n<ul>\n<li><a href=\"https://www.thingiverse.com/thing:2874536\">Ender 3 bed levelling GCode</a></li>\n<li><a href=\"https://www.thingiverse.com/thing:2610621/files\">DIN Rail fittings</a></li>\n<li><a href=\"https://www.thingiverse.com/3DMakerFun/collections/creality-3d-ender-3-upgrades\">Printable upgrades for the Ender 3</a></li>\n</ul></li>\n</ul>\n',225,0,1,'CC-BY-SA','3D printer',0,0,1),
(2582,'2018-06-26','3 Contribution case studies',2699,'How easy is it for your potential contributors to contribute?','<p><em>How easy is it for your potential contributors to contribute?\r\nKlaatu looks at three open source and open culture projects to determine how easy they make it for your potential contributors to contribute?\r\n</em></p> ',78,0,0,'CC-BY-SA','FLOSS contributions',0,0,1),
(2590,'2018-07-06','Blowing a PC Power Supply',229,'Just a short show on how I managed to blow the power supply on my desktop PC','<p>Greetings Hacker Public Radio listeners, Tony Hughes again coming all the way from Blackpool in the North West of the UK. Originally this show was going to be about some new kit that I have recently bought at my favourite computer auction. However as luck or actually bad luck should have it I fried the power supply on my Desktop machine yesterday as I was setting it up again after moving back to my office.</p>\r\n<p>The PC is a HP Compaq Elite 8300 micro Desk top tower with a i7 3rd generation 3770 3.4Ghz CPU and since upgrades now has 16Gig Ram and a Primary 256Gig SSD. This is my daily driver and I\'ve been running it for a couple of years since I bought it at the said auction. It is the best PC I\'ve ever owned; the full specifications are here:</p>\r\n<p><a href=\"https://www.cnet.com/products/hp-compaq-elite-8300-cmt-core-i7-3770-3-4-ghz-4-gb-1-tb-b2d12utaba/specs/\" class=\"uri\">https://www.cnet.com/products/hp-compaq-elite-8300-cmt-core-i7-3770-3-4-ghz-4-gb-1-tb-b2d12utaba/specs/</a></p>\r\n<p>As I said I was re setting up my full rig after moving it back to the office upstairs after a temporary move while we had a house guest. As I was plugging in the power cable there was a flash and crack, and a few expletives were uttered, sure enough when I switched of the power at the plug and reconnected the power cable and then tried to power on the PC, it was dead. I was hoping that it was the power supply that had blown and as I had a spare I was not too concerned. However on investigation HP have done the dirty with the design of the motherboard and power supply and neither are standard ATX configuration, yes propriety hardware for this baby.</p>\r\n<p>I was lucky as a few months ago I had picked up a i3 HP using the same case, so I pulled out the power supply from this and fitted it into the i7 PC and luckily that did turn out to be the issue, and the PC sprang into life when I hit the power button. I’m now left with a PC that works, but another one that unless I can find a power supply to match is next to useless except for spares.</p>\r\n<p>Lessons learned, never connect the power cable when the socket is live, if your plug socket doesn\'t have a switch connect the kettle end to the PC first to reduce the risk of a short like mine. Also never assume that 2nd hand PC’s are standard case/motherboard format as you may have a problem sourcing spares if anything goes wrong as in my case. It’s not the first PC disaster I\'ve had over the years and I can as in this case usually get round them, although not when I bricked the BIOS on a Lenovo x200 one time trying to clear a BIOS password, again I was left with a box of spares which actually came in very handy.</p>\r\n<p>Well that\'s the end of my tale of woe. I’ll do another episode on the recent trip to the auction and my new laptops shortly. This is Tony Hughes for Hacker Public Radio signing off for now.</p>\r\n',338,57,0,'CC-BY-SA','Computers, Repair, safety',0,0,1),
(2595,'2018-07-13','New laptop bargain?',252,'This is a short show about another trip to the computer auction and one of my purchases','<p>Greetings HPR listeners this is Tony Hughes again coming from Blackpool in the UK. Well, as you heard on my last episode I recently visited the computer auction I frequent here in the UK. If you want to drool over the catalogue at any time their website is here:</p>\r\n<p><a href=\"https://www.realnorth.co.uk/\" class=\"uri\">https://www.realnorth.co.uk/</a></p>\r\n<p>So at the sale in June they had some really good 3-4 year old laptops for sale so I decided to take a trip and see if I could liberate a few bargains, and one of the items I came away with was 3 Toshiba Z30a Ultra Books of the i5 4th generation. The basic specs are:</p>\r\n<ul>\r\n<li>i5-4300U CPU</li>\r\n<li>128GB mSATA solid state drive</li>\r\n<li>13.3 inch display</li>\r\n<li>8Gig DDR Ram</li>\r\n<li>3 x USB3 ports</li>\r\n<li>VGA and HDMI video out</li>\r\n<li>Full Ethernet Port</li>\r\n<li>Combined Audio in/out jack</li>\r\n<li>SD card reader</li>\r\n<li>Mobile Intel ® HD Graphics with up to 1792MB dynamically allocated</li>\r\n<li>shared graphics memory.</li>\r\n</ul>\r\n<p>There will be a link in the show notes to the full specifications</p>\r\n<p><a href=\"https://www.toshiba.co.uk/discontinued-products/portege-z30-a-1fd/\" class=\"uri\">https://www.toshiba.co.uk/discontinued-products/portege-z30-a-1fd/</a></p>\r\n<p>I had also picked up some 240Gig SSD\'s and had planned to upgrade the storage but this is not possible with a 2.5 inch drive as it doesn\'t have a bay for this format. However it does support up to 128Gig High capacity SD cards so this could be an option if you don\'t want to go to the expense of upgrading the mSATA drive, however as luck would have it one of my other purchases had a 256Gig mSATA drive in a 2.5 inch caddy so that was quickly swapped out and both laptops got an upgrade. More of that in another show.</p>\r\n<p>So after doing the hardware upgrade I proceeded to install Ubuntu 18.04 MATE onto the PC. The install worked flawlessly and after completion and configuring the machine to my liking everything seems to be working just fine. The battery condition for a 4 year old laptop is excellent at over 90%, however a replacement can be had on Ebay for around £30 if needed and I always factor this into any second hand laptops I buy.</p>\r\n<p>Since I got it running I\'ve installed Windows 7 in a Virtual Machine, in this case Virtual Box as I have a preconfigured Virtual Box HDD image that makes it less of a hassle to install as I don’t have to spend days waiting for all the updates to come through. When this is running in the background it doesn\'t over tax the host machine, and for Linux users it does mean you have access to that occasional bit of light weight MS software that you may need without the need to lug around 2 PC\'s.</p>\r\n<p>So did I bag a bargain, well 4 years ago on release these laptops went for £1100+ in the UK and even today they fetch £160 in good order on the likes of Ebay for a model with the specification as I originally purchased it. I would never have been in the market to spend £1000+ on a laptop now or then so the only way I can enjoy these types of machines is after they have been pre loved by someone else. Lets just say £160 is quite a bit more than I paid but with the upgrade to 256Gig mSATA drive I have a better machine for a little less than that, I personally think I bagged a bargain which will do me good service in the coming months/years.</p>\r\n',338,57,0,'CC-BY-SA','computer auction,laptop',0,0,1),
(2584,'2018-06-28','Plot Twists In Storytelling',719,'Lostnbronx examines plot twists, including the different types, and how they can be used.','<p>Plot twists come in several varieties, and can produce different effects in stories. They can be powerful tools, done correctly, but quickly become trite and predictable if over-used, or used poorly. What\'s the best way to include them? And when might it be a mistake to even try?</p>',107,105,0,'CC-0','storytelling,plot twists,lostnbronx',0,0,1),
(2587,'2018-07-03','Cleaning out your Digital Gutters',1519,'Knightwise talks about being a geek and his quest to curate the library of his mind','<p>While cleaning out the gutters, Knightwise talks about cleaning out the digital gutters of his information consumption and looking for geeky ways to get his information fix.</p>\r\n',111,0,1,'CC-BY-SA','geek, life, lifestyle',0,0,1),
(2588,'2018-07-04','Miniature painting',1740,'Tuula rambles about how to paint miniatures while painting some toy soldiers','<p>Tuula rambles about miniature painting while painting some ancient British units (horses for chariots to be specific) for De Bellis Antiquitatis.</p>\r\n<ul>\r\n<li><p>De Bellis Antiquitatis is a quick to learn, quick to play war game for ancient period (and a bit more) - <a href=\"https://en.wikipedia.org/wiki/De_Bellis_Antiquitatis\" class=\"uri\">https://en.wikipedia.org/wiki/De_Bellis_Antiquitatis</a></p></li>\r\n<li><p>Army Painter is paint, brush and basing manufacturer - <a href=\"https://www.thearmypainter.com/\" class=\"uri\">https://www.thearmypainter.com/</a></p></li>\r\n<li><p>Osprey Publishing specializes in publishing books on modeling and history - <a href=\"https://ospreypublishing.com/\" class=\"uri\">https://ospreypublishing.com/</a></p></li>\r\n</ul>',364,114,0,'CC-BY-SA','miniatures painting',0,0,1),
(2583,'2018-06-27','Random Rant',917,'Rant on how US sound recordings copyright laws are weird & how I miss Juiced Penguin','<h3 id=\"citations\">Citations</h3>\r\n<ul>\r\n<li><a href=\"https://www.copyright.gov/docs/sound/\" class=\"uri\">https://www.copyright.gov/docs/sound/</a></li>\r\n<li><a href=\"https://www.infotoday.com/searcher/sep12/Hirtle--When-Is-1923-Going-to-Arrive-and-Other-Complications-of-the-U.S.-Public-Domain.shtml\" class=\"uri\">https://www.infotoday.com/searcher/sep12/Hirtle--When-Is-1923-Going-to-Arrive-and-Other-Complications-of-the-U.S.-Public-Domain.shtml</a></li>\r\n</ul>\r\n',354,0,1,'CC-BY-SA','Juiced Penguin,copyright,public domain',0,0,1),
(2599,'2018-07-19','Fitting a 3.5mm adapter to a bluetooth receiver.',489,'Ken cobbles together a bluetooth adapter for any 3.5mm headphone','<p>\r\nThere was a time when the perfect lightweight podcast listening station was a <a href=\"https://en.wikipedia.org/wiki/SanDisk_Sansa#Sansa_Clip\">sansa clip</a> running <a href=\"https://www.rockbox.org/\">Rockbox</a> connected to a set of <a href=\"https://www.download.p4c.philips.com/files/s/she3600_97/she3600_97_pss_aenid.pdf\">SHE3600/97 Philips In-Ear Headphones</a>.</p>\r\n<p>\r\nAlas Philips stopped producing the SHE3600/97. SanDisk reduced the specs of the clips, so Rockbox is no longer supported. We\'re left without a flexible option to listening to podcasts.\r\n</p>\r\n<p>\r\nOn the other hand the price of Android phones have fallen to sub €50 range, and <a href=\"https://www.hema.nl/winkel/vrije-tijd-kantoor/school-kantoor/media-computer/elektronica-accessoires/bluetooth-sport-oortelefoon-(39620015)?variant=39620015\">blue tooth headsets</a> can be had for €25, there is a possibility to have the portability while keeping the cost low.\r\n</p>\r\n<p>\r\nI set out to convert the bluetooth headset to a accept generic 3.5mm sockets.\r\n</p>\r\n<p>\r\n<img src=\"https://hackerpublicradio.org/eps/hpr2599/hpr2599/hema-earbud-before-and-during.jpg\" /><br />\r\nA new ear bud set with crappy in ear buds, and the hacked set.\r\n</p>\r\n<p>\r\n<img src=\"https://hackerpublicradio.org/eps/hpr2599/hpr2599/bluetooth-enabled-philips-shp2500.jpg\" /><br />\r\nPlays fine with large over ear headphones.\r\n</p>\r\n<p>\r\n<img src=\"https://hackerpublicradio.org/eps/hpr2599/hpr2599/bluetooth-with-patent-pending-earbuds.jpg\" /><br />\r\nAlso with small in ear buds, complete with <a href=\"https://hackerpublicradio.org/eps.php?id=1801\">Patent Pending</a> ear identifier\r\n</p>\r\n<p>\r\n<img src=\"https://hackerpublicradio.org/eps/hpr2599/hpr2599/motherload.jpg\" /><br />\r\nSomething to read <a href=\"https://www.amazon.com/dp/1549676938?tag=viglink20248-20\">Motherload</a>\r\n</p>\r\n',30,0,1,'CC-BY-SA','life hack, earphone, bluetooth',0,0,1),
(2589,'2018-07-05','Saving Money: a response to Klaatu\'s Personal Finance Series',867,'A response to Klaatu\'s very nice series about personal finance.','<h2>Links</h2>\r\n\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/403(b)\">403(b) Tax-Sheltered Annuity Plans</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/United_States_Savings_Bonds\">United States Savings Bonds</a></li>\r\n<li><a href=\"https://www.classicguitar.com/robert-ruck-usarobert-ruck-usa/\">Guitar Maker Robert Ruck</a></li>\r\n</ul>\r\n',238,0,0,'CC-BY-SA','personal finance, money, saving, retirement',0,0,1),
(2593,'2018-07-11','Intro to De Bellis Antiquitatis',1648,'Short intro to tabletop wargame called DBA','<p>In this episode Tuula paints rambles about De Bellis Antiquitatis while painting more toy soldiers, so expect long pauses and missing thoughts as he tries to do two things at the same time.</p>\r\n<p>De Bellis Antiquitatis (or DBA for short): <a href=\"https://en.wikipedia.org/wiki/De_Bellis_Antiquitatis\" class=\"uri\">https://en.wikipedia.org/wiki/De_Bellis_Antiquitatis</a></p>\r\n<p>While the original site seems to be gone, WADBAG unofficial guide to DBA can be found at: <a href=\"https://www.wargames-romania.ro/wordpress/wargames/de-bellis-antiquitatis-dba/the-unofficial-guide-to-dba/\" class=\"uri\">https://www.wargames-romania.ro/wordpress/wargames/de-bellis-antiquitatis-dba/the-unofficial-guide-to-dba/</a></p>\r\n',364,95,0,'CC-BY-SA','tabletop gaming',0,0,1),
(2591,'2018-07-09','International Troubleshooting',1815,'﻿NYbill troubleshoots a DIY kit of Ken Fallon’s.','<p>NYbill troubleshoots a DIY kit of Ken Fallon\'s.</p>\r\n<p>The new toy:</p>\r\n<p>AmScope SE400-Z<br />\r\n(The microscope has a nice working height underneath it so you can get your hands and tools in there.)</p>\r\n<p>The offending chip:</p>\r\n<p><a href=\"https://www.mccsemi.com/up_pdf/SRV05-4L(SOT23-6L).pdf\" class=\"uri\">https://www.mccsemi.com/up_pdf/SRV05-4L(SOT23-6L).pdf</a></p>\r\n<p>Pics for the episode:</p>\r\n<p><a href=\"https://media.gunmonkeynet.net/u/nybill/collection/international-troubleshooting/\" class=\"uri\">https://media.gunmonkeynet.net/u/nybill/collection/international-troubleshooting/</a></p>\r\n',235,103,0,'CC-BY-SA','DIY, Kit, Electronics, Troubleshooting',0,0,1),
(2605,'2018-07-27','The Eyes Have It',599,'My history with vision issues and how I have dealt with them.','<p>My history with vision issues started when I was 3 years old, and I am still dealing with some issues. Fortunately, things are well-controlled and I am doing well.</p>\r\n<ul>\r\n<li><a href=\"https://www.mayoclinic.org/diseases-conditions/diabetic-retinopathy/symptoms-causes/syc-20371611\" class=\"uri\">https://www.mayoclinic.org/diseases-conditions/diabetic-retinopathy/symptoms-causes/syc-20371611</a></li>\r\n<li><a href=\"https://www.palain.com/?page_id=338\" class=\"uri\">https://www.palain.com/?page_id=338</a></li>\r\n<li><a href=\"https://www.webmd.com/eye-health/tc/posterior-vitreous-detachment-topic-overview\" class=\"uri\">https://www.webmd.com/eye-health/tc/posterior-vitreous-detachment-topic-overview</a></li>\r\n<li><a href=\"https://nei.nih.gov/health/maculardegen/armd_facts\" class=\"uri\">https://nei.nih.gov/health/maculardegen/armd_facts</a></li>\r\n<li><a href=\"https://www.palain.com/?page_id=340\" class=\"uri\">https://www.palain.com/?page_id=340</a></li>\r\n</ul>',198,100,0,'CC-BY-SA','Health, Medicine, Eye Care, Vision',0,0,1),
(2592,'2018-07-10','Tech Talk With Allison',3010,'This is a talk with Allison about webites, ruby, os design and other such things. ','<p>\r\n<img src=\"https://theadesilva.com/hpr_allison.jpg\"/><br/><br/>\r\n\r\nCome join us and listen to Allison talk about her tech!!!  This talk includes subjects like websites, ruby, os design and other such things.<br/>\r\n</p>\r\n<p>Allison\'s email address: <a href=\"mailto:allison@isams.net\" target=\"_top\">allison@isams.net</a></p>\r\n',115,0,0,'CC-BY-SA','os, ruby, webdev',0,0,1),
(2615,'2018-08-10','Cancer',1043,'My history with cancer and how I have dealt with it.','<p>I had surgery for cancer in 2010, and family history of cancer, which means certain things have had to be done.</p>\r\n<ul>\r\n<li><a href=\"https://www.palain.com/?page_id=338\" class=\"uri\">https://www.palain.com/?page_id=338</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Gleason_grading_system\" class=\"uri\">https://en.wikipedia.org/wiki/Gleason_grading_system</a></li>\r\n<li><a href=\"https://www.cancer.org/cancer/prostate-cancer/treating.html\" class=\"uri\">https://www.cancer.org/cancer/prostate-cancer/treating.html</a></li>\r\n<li><a href=\"https://www.palain.com/?page_id=344\" class=\"uri\">https://www.palain.com/?page_id=344</a></li>\r\n</ul>',198,100,0,'CC-BY-SA','Health, Medicine, Cancer, Prostate, Colon, Lungs',0,0,1),
(2598,'2018-07-18','Calculating planetary orbits in Haskell',1711,'Tuula talks about calculating planetary orbits','<p>Function signatures (it might or might not be helpful to have these at hand while listening):</p>\r\n<ul>\r\n<li>Helpers:</li>\r\n</ul>\r\n<pre><code>    radToDeg :: Floating a =&gt; a -&gt; a\r\n    degToRad :: Floating a =&gt; a -&gt; a\r\n    clamp :: Float -&gt; Float</code></pre>\r\n<ul>\r\n<li><p>Time:</p></li>\r\n</ul>\r\n<pre><code>    day :: Int -&gt; Int -&gt; Int -&gt; Float -&gt; Day Float</code></pre>\r\n<ul>\r\n<li>Orbital parameters:</li>\r\n</ul>\r\n<pre><code>    longitudeOfAscendingNode :: Orbit body center =&gt; body -&gt; center -&gt; Day d -&gt; LongAscNode body center\r\n    inclinationToEcliptic :: Orbit body center =&gt; body -&gt; center -&gt; Day d -&gt; InclToEcl body center\r\n    argumentOfPeriapsis :: Orbit body center =&gt; body -&gt; center -&gt; Day d -&gt; ArgPeri body center\r\n    semiMajorAxis :: Orbit body center =&gt; body -&gt; center -&gt; Day d -&gt; SemiMajor body center\r\n    eccentricity :: Orbit body center =&gt; body -&gt; center -&gt; Day d -&gt; Ecc body center\r\n    meanAnomaly :: Orbit body center =&gt; body -&gt; center -&gt; Day d -&gt; MeanAno body center</code></pre>\r\n<ul>\r\n<li>Calculating location on orbital plane:</li>\r\n</ul>\r\n<pre><code>    eccAnomaly :: MeanAno a b -&gt; Ecc a b -&gt; EccAnomaly a b\r\n    trueAnomaly :: EccAnomaly a b -&gt; Ecc a b -&gt; TrueAnomaly a b\r\n    dist :: EccAnomaly a b -&gt; Ecc a b -&gt; SemiMajor a b -&gt; Distance a b</code></pre>\r\n<ul>\r\n<li>Translating between coordinate systems:</li>\r\n</ul>\r\n<pre><code>    toEclCoord :: TrueAnomaly a b -&gt; Distance a b -&gt; LongAscNode a b -&gt; ArgPeri a b -&gt; InclToEcl a b -&gt; EclCoord a b\r\n    toEqCoordinates :: EclCoord body Earth -&gt; Day Float -&gt; EqCoord body</code></pre>\r\n<p>Some helpful links:</p>\r\n<ul>\r\n<li>Guide by Paul Schlyter - <a href=\"https://www.stjarnhimlen.se/comp/ppcomp.html\" class=\"uri\">https://www.stjarnhimlen.se/comp/ppcomp.html</a></li>\r\n<li>Sample calculations by Paul Schlyter - <a href=\"https://www.stjarnhimlen.se/comp/tutorial.html\" class=\"uri\">https://www.stjarnhimlen.se/comp/tutorial.html</a></li>\r\n<li>Tuula\'s blog post - <a href=\"https://engineersjourney.wordpress.com/2018/06/29/planetary-orbits-and-haskell/\" class=\"uri\">https://engineersjourney.wordpress.com/2018/06/29/planetary-orbits-and-haskell/</a></li>\r\n<li>Definition of orbital elements in Wikipedia - <a href=\"https://en.wikipedia.org/wiki/Orbital_elements\" class=\"uri\">https://en.wikipedia.org/wiki/Orbital_elements</a></li>\r\n<li>Units of angle in Wikipedia - <a href=\"https://en.wikipedia.org/wiki/Degree_(angle)\" class=\"uri\">https://en.wikipedia.org/wiki/Degree_(angle)</a> and <a href=\"https://en.wikipedia.org/wiki/Radian\" class=\"uri\">https://en.wikipedia.org/wiki/Radian</a></li>\r\n</ul>\r\n',364,107,0,'CC-BY-SA','haskell,astronomy',0,0,1),
(2601,'2018-07-23','Liverpool Makerfest 2018',634,'This is an interview with Chris Dell','<p>This is the first in a series of interviews carried out at Liverpool Makefest 2018</p>\r\n<p>This first interview is with Chris Dell about EduBlocks</p>\r\n<ul>\r\n<li><p><a href=\"https://lpoolmakefest.org/\" class=\"uri\">https://lpoolmakefest.org/</a></p></li>\r\n<li><p><a href=\"https://edublocks.org/\" class=\"uri\">https://edublocks.org/</a></p></li>\r\n</ul>\r\n',338,78,0,'CC-BY-SA','Liverpool Makefest 2018, EduBlocks',0,0,1),
(2606,'2018-07-30','Liverpool Makefest 2018 - interview with Dan Lynch',520,'This is an interview with Dan Lynch one of this year\'s Makefest organisers','<p>Another interview from Liverpool Makefest 2018 this time with Dan Lynch of Linux Outlaws and Floss Weekly</p>\r\n<ul>\r\n<li><p><a href=\"https://lpoolmakefest.org/\" class=\"uri\">https://lpoolmakefest.org/</a></p></li>\r\n<li><p><a href=\"https://makefest.podfactory.org/\" class=\"uri\">https://makefest.podfactory.org/</a></p></li>\r\n<li><p><a href=\"https://twit.tv/shows/floss-weekly\" class=\"uri\">https://twit.tv/shows/floss-weekly</a></p></li>\r\n<li><p><a href=\"https://sixgun.org/linuxoutlaws/\" class=\"uri\">https://sixgun.org/linuxoutlaws/</a></p></li>\r\n</ul>\r\n',338,78,0,'CC-BY-SA','Liverpool Makefest 2018, Dan Lynch, Linux Outlaws, Floss Weekly',0,0,1),
(2871,'2019-08-05','HPR Community News for July 2019',3794,'HPR Volunteers talk about shows released and comments posted in July 2019','<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/0379.html\" target=\"_blank\">mightbemike</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=2846\" target=\"_blank\">2846</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-07-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2846\" target=\"_blank\">HPR Community News for June 2019</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=2847\" target=\"_blank\">2847</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-07-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2847\" target=\"_blank\">earbuds</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=2848\" target=\"_blank\">2848</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-07-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2848\" target=\"_blank\">Random numbers in 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=2849\" target=\"_blank\">2849</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-07-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2849\" target=\"_blank\">HPR NYE Show 2018-2019 part 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=2850\" target=\"_blank\">2850</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-07-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2850\" target=\"_blank\">NIST Cybersecurity Framework</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=2851\" target=\"_blank\">2851</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-07-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2851\" target=\"_blank\">An introduction to the work of fire fighters</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0369.html\" target=\"_blank\">Jeroen Baten</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2852\" target=\"_blank\">2852</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-07-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2852\" target=\"_blank\">Gnu Awk - Part 16</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=2853\" target=\"_blank\">2853</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-07-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2853\" target=\"_blank\">Feeding the beast</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0309.html\" target=\"_blank\">folky</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2854\" target=\"_blank\">2854</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-07-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2854\" target=\"_blank\">Telling myself something In The Morning</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=2855\" target=\"_blank\">2855</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-07-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2855\" target=\"_blank\">HPR NYE Show 2018-2019 part 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=2856\" target=\"_blank\">2856</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-07-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2856\" target=\"_blank\">Mint Mobile Security Rant</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=2857\" target=\"_blank\">2857</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-07-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2857\" target=\"_blank\">Creating CounterParty Collectible Tokens for the Bitcorn Game</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0379.html\" target=\"_blank\">mightbemike</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2858\" target=\"_blank\">2858</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-07-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2858\" target=\"_blank\">Vehicle designer for a space game</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=2859\" target=\"_blank\">2859</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-07-18</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2859\" target=\"_blank\">HPR NYE Show 2018-2019 part 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=2860\" target=\"_blank\">2860</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-07-19</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2860\" target=\"_blank\">Encryption and Quantum Computing</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=2861\" target=\"_blank\">2861</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-07-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2861\" target=\"_blank\">Safety Razors</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=2862\" target=\"_blank\">2862</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-07-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2862\" target=\"_blank\">Art vs. Commerce In Storytelling</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2863\" target=\"_blank\">2863</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-07-24</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2863\" target=\"_blank\">Simplified application architectures for improved security</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0246.html\" target=\"_blank\">Beeza</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2864\" target=\"_blank\">2864</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-07-25</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2864\" target=\"_blank\">One weird trick to add a --help option to your awk scripts</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=2865\" target=\"_blank\">2865</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-07-26</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2865\" target=\"_blank\">The YouTube channels I really like</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0369.html\" target=\"_blank\">Jeroen Baten</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2866\" target=\"_blank\">2866</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-07-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2866\" target=\"_blank\">Intro to Bitcoin for techies</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0379.html\" target=\"_blank\">mightbemike</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2867\" target=\"_blank\">2867</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-07-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2867\" target=\"_blank\">The Kenwood TS940S Automatic Tuning Unit</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=2868\" target=\"_blank\">2868</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-07-31</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2868\" target=\"_blank\">Custom data with Persistent</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0364.html\" target=\"_blank\">Tuula</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 13 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=2787#comments\" target=\"_blank\">hpr2787</a></strong>\n(2019-04-09) \"<em>NodeJS 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>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2787#2\" target=\"_blank\">Comment 2</a>:\noperat0r on 2019-07-09:\n\"Part2 ?\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=438#comments\" target=\"_blank\">hpr438</a></strong>\n(2009-09-05) \"<em>Podcasts I Listen To</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0077.html\" target=\"_blank\">Dave Yates</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=438#1\" target=\"_blank\">Comment 1</a>:\nViper on 2019-07-03:\n\"Archive of podcasts\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 11 comments on 4 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2851#comments\" target=\"_blank\">hpr2851</a></strong>\n(2019-07-08) \"<em>An introduction to the work of fire fighters</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0369.html\" target=\"_blank\">Jeroen Baten</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2851#1\" target=\"_blank\">Comment 1</a>:\nKen Fallon on 2019-07-08:\n\"Cars parked over the put\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2851#2\" target=\"_blank\">Comment 2</a>:\nKevin O&#39;Brien on 2019-07-08:\n\"I loved the show\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2852#comments\" target=\"_blank\">hpr2852</a></strong>\n(2019-07-09) \"<em>Gnu Awk - Part 16</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=2852#1\" target=\"_blank\">Comment 1</a>:\nTuula on 2019-07-09:\n\"thanks\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2852#2\" target=\"_blank\">Comment 2</a>:\nHipstre on 2019-07-09:\n\"Thank You!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2852#3\" target=\"_blank\">Comment 3</a>:\nnorrist on 2019-07-09:\n\"HPR Epic\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2852#4\" target=\"_blank\">Comment 4</a>:\nDave Morriss on 2019-07-13:\n\"Many thanks for the kind words\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2854#comments\" target=\"_blank\">hpr2854</a></strong>\n(2019-07-11) \"<em>Telling myself something In The Morning</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=2854#1\" target=\"_blank\">Comment 1</a>:\nTuula on 2019-07-11:\n\"Bagpipes for the win!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2854#2\" target=\"_blank\">Comment 2</a>:\nDave Beck on 2019-07-18:\n\"Rusted Pipes\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2854#3\" target=\"_blank\">Comment 3</a>:\njezra on 2019-07-18:\n\"pipes up!\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2859#comments\" target=\"_blank\">hpr2859</a></strong>\n(2019-07-18) \"<em>HPR NYE Show 2018-2019 part 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=2859#1\" target=\"_blank\">Comment 1</a>:\ndodddummy on 2019-07-29:\n\"I disagree with just about all the opinions expressed in this episode.\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2859#2\" target=\"_blank\">Comment 2</a>:\ndodddummy on 2019-07-29:\n\"1st hour, that is.\"</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/2019-July/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-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=\"ohio-linuxfest-conference-cfp\">Ohio LinuxFest Conference CFP</h3>\n<p>From Susan Rose, Social Media Manager for OLF:</p>\n<blockquote>\n<p>Dear Open Source Fans, Students and Professionals:</p>\n<p>The 2019 Ohio LinuxFest is looking for presentations on Friday and Saturday, November 1 and 2. Please visit the CFP page <a href=\"https://ohiolinux.org/call-for-presentations/\" class=\"uri\">https://ohiolinux.org/call-for-presentations/</a> for full details about submitting a proposal. The deadline is Friday, August 17, but the sooner you can submit a talk, the better.</p>\n<p>Started in 2003, the Ohio LinuxFest <a href=\"https://ohiolinux.org/\" class=\"uri\">https://ohiolinux.org/</a> is an annual grassroots conference in Columbus, Ohio dedicated to open access for all. Presentations relating to any free and open source software, not just Linux, are welcome. Areas where we’ve had talks in the past include networking, system administration, development, and community building. A preliminary pdf brochure is attached.</p>\n<p>Our audience consists of people at all skill levels. Prior speaking experience is a plus, although we do try to provide opportunities for first-time speakers. If you have any questions, please contact us at <a href=\"mailto:speakers@ohiolinux.org\">speakers@ohiolinux.org</a>. We look forward to hearing from you! Thank you for your kind attention and for sharing.</p>\n</blockquote>\n<p>The PDF Brochure mentioned is available at <a href=\"https://hackerpublicradio.org/eps/hpr2871/hpr2871/olf2019.pdf\" class=\"uri\">https://hackerpublicradio.org/eps/hpr2871/hpr2871/olf2019.pdf</a>.</p>\n<h3 id=\"problem-with-show-2855\">Problem with show 2855</h3>\n<p>We upload all HPR shows to the Internet Archive (archive.org). Shows downloaded via the HPR RSS feeds actually come from there, though they are also available on the HPR site.</p>\n<p>Unfortunately, on Friday July 12<sup>th</sup> the archive.org copy of the show <em>hpr2855 :: HPR NYE Show 2018-2019 part 6</em> was found to have been truncated and to consist only of the introduction and final part; no actual content.</p>\n<p>The problem was detected during the morning of Friday and was rectified during the afternoon (UK time). The RSS feeds were adjusted to ensure the show was re-downloaded and all <em>podcatchers</em> should have received the correct version the next time they checked the feed.</p>\n<h3 id=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Thanks to the following contributor for sending in updates in the past month: <b><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 11 shows which were without them.</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),
(3991,'2023-11-20','YOU ARE A PIRATE ',1539,'I rant I think about piracy ','<h2 id=\"xgp-save-extractor\">XGP-save-extractor</h2>\n<p>Python script to extract/backup savefiles out of Xbox Game Pass for\nPC games.</p>\n<p>When run, the script produces a ZIP file for each supported game save\nfound in the system.</p>\n<p>In most cases the files in the ZIP can be copied to the save\ndirectory of the Steam/Epic version of the game. To find out the save\nfile location, check <a\nhref=\"https://www.pcgamingwiki.com/\">PCGamingWiki</a>.</p>\n<p><a href=\"https://github.com/Z1ni/XGP-save-extractor/releases\"\nclass=\"uri\">https://github.com/Z1ni/XGP-save-extractor/releases</a></p>\n',36,0,1,'CC-BY-SA','hacking, piracy ',0,0,1),
(2891,'2019-09-02','HPR Community News for August 2019',2224,'HPR Volunteers talk about shows released and comments posted in August 2019','<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=2869\" target=\"_blank\">2869</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-08-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2869\" target=\"_blank\">building a bike, following in John Kulp\'s footsteps</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=2870\" target=\"_blank\">2870</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-08-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2870\" target=\"_blank\">Hierarchy of Evidence</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=2871\" target=\"_blank\">2871</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-08-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2871\" target=\"_blank\">HPR Community News for July 2019</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=2872\" target=\"_blank\">2872</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-08-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2872\" target=\"_blank\">Shoe Lace Tips</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=2873\" target=\"_blank\">2873</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-08-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2873\" target=\"_blank\">Death Angel - Card game</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=2874\" target=\"_blank\">2874</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-08-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2874\" target=\"_blank\">Repair of G.E. Variable Speed Cassette Recorder</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=2875\" target=\"_blank\">2875</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-08-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2875\" target=\"_blank\">cutting up the frames</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=2876\" target=\"_blank\">2876</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-08-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2876\" target=\"_blank\">Sausage Orzotto</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0215.html\" target=\"_blank\">Windigo</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2877\" target=\"_blank\">2877</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-08-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2877\" target=\"_blank\">Using Zenity with Pdmenu</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=2878\" target=\"_blank\">2878</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-08-14</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2878\" target=\"_blank\">Type classes in 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=2879\" target=\"_blank\">2879</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-08-15</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2879\" target=\"_blank\">Describing how I listen to podcasts PART 1</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=2880\" target=\"_blank\">2880</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-08-16</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2880\" target=\"_blank\">Evaluating a Study</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=2881\" target=\"_blank\">2881</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-08-19</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2881\" target=\"_blank\">Automatically split album into tracks in Audacity</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=2882\" target=\"_blank\">2882</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-08-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2882\" target=\"_blank\">ONICS Part 1:  Basic Commands</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0259.html\" target=\"_blank\">Gabriel Evenfire</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2883\" target=\"_blank\">2883</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-08-21</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2883\" target=\"_blank\">Pass the pigs</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=2884\" target=\"_blank\">2884</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-08-22</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2884\" target=\"_blank\">TASCAM Porta 02 MiniStudio 4-Track Cassette Recorder Demonstration</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=2885\" target=\"_blank\">2885</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-08-23</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2885\" target=\"_blank\">ONICS Part 2: Filtering and Extraction</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0259.html\" target=\"_blank\">Gabriel Evenfire</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2886\" target=\"_blank\">2886</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2019-08-26</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2886\" target=\"_blank\">INFOSECOND</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=2887\" target=\"_blank\">2887</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2019-08-27</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2887\" target=\"_blank\">Stardrifter RPG Playtest Part 01</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2888\" target=\"_blank\">2888</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2019-08-28</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2888\" target=\"_blank\">Pattern matching in 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=2889\" target=\"_blank\">2889</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2019-08-29</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2889\" target=\"_blank\">Describing how I listen to podcasts PART 2</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=2890\" target=\"_blank\">2890</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2019-08-30</td>\n<td><a href=\"https://hackerpublicradio.org/eps.php?id=2890\" target=\"_blank\">Penguicon 2019 Report</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 24 comments in total.</p>\n<h3>Past shows</h3>\n<p>There are 7 comments on\n2 previous shows:</p>\n<ul>\n<li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2859#comments\" target=\"_blank\">hpr2859</a></strong>\n(2019-07-18) \"<em>HPR NYE Show 2018-2019 part 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>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2859#3\" target=\"_blank\">Comment 3</a>:\nMike Ray on 2019-08-05:\n\"First hour\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2859#4\" target=\"_blank\">Comment 4</a>:\nMrsXoke on 2019-08-05:\n\"To Mike Ray\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2859#5\" target=\"_blank\">Comment 5</a>:\nMike Ray on 2019-08-06:\n\"To Mike Ray\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2859#6\" target=\"_blank\">Comment 6</a>:\nMike Ray on 2019-08-06:\n\"Active shooter drills\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2859#7\" target=\"_blank\">Comment 7</a>:\nMike Ray on 2019-08-06:\n\"Faith and values\"</li>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2859#8\" target=\"_blank\">Comment 8</a>:\nfolky on 2019-08-08:\n\"You can fastforward\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2863#comments\" target=\"_blank\">hpr2863</a></strong>\n(2019-07-24) \"<em>Simplified application architectures for improved security</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0246.html\" target=\"_blank\">Beeza</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul>\n<li>\n<a href=\"https://hackerpublicradio.org/eps.php?id=2863#1\" target=\"_blank\">Comment 1</a>:\nclacke on 2019-08-14:\n\"Dynamic vs static linking doesn\'t matter\"</li></ul><br/>\n</li></ul>\n<h3>This month\'s shows</h3>\n<p>There are 17 comments on 7 of this month\'s shows:</p>\n<ul><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2869#comments\" target=\"_blank\">hpr2869</a></strong>\n(2019-08-01) \"<em>building a bike, following in John Kulp\'s footsteps</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><li><a href=\"https://hackerpublicradio.org/eps.php?id=2869#1\" target=\"_blank\">Comment 1</a>:\nJon Kulp on 2019-08-01:\n\"Recycled Recumbents\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2876#comments\" target=\"_blank\">hpr2876</a></strong>\n(2019-08-12) \"<em>Sausage Orzotto</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0215.html\" target=\"_blank\">Windigo</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2876#1\" target=\"_blank\">Comment 1</a>:\nBookewyrmm on 2019-08-12:\n\"Salt\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2876#2\" target=\"_blank\">Comment 2</a>:\nWindigo on 2019-08-17:\n\"Re: Salt\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2876#3\" target=\"_blank\">Comment 3</a>:\nDave Morriss on 2019-08-20:\n\"Loved this. I was right there with you in the kitchen\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2881#comments\" target=\"_blank\">hpr2881</a></strong>\n(2019-08-19) \"<em>Automatically split album into tracks in Audacity</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=2881#1\" target=\"_blank\">Comment 1</a>:\nJonathan Kulp on 2019-08-22:\n\"Automation is nice\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2882#comments\" target=\"_blank\">hpr2882</a></strong>\n(2019-08-20) \"<em>ONICS Part 1:  Basic Commands</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0259.html\" target=\"_blank\">Gabriel Evenfire</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2882#1\" target=\"_blank\">Comment 1</a>:\nDave Morriss on 2019-08-22:\n\"Great project and excellent show\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2882#2\" target=\"_blank\">Comment 2</a>:\nGabriel Evenfire on 2019-08-25:\n\"Good to hear\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2884#comments\" target=\"_blank\">hpr2884</a></strong>\n(2019-08-22) \"<em>TASCAM Porta 02 MiniStudio 4-Track Cassette Recorder Demonstration</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=2884#1\" target=\"_blank\">Comment 1</a>:\nClinton Roy on 2019-08-22:\n\"fantastic\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2884#2\" target=\"_blank\">Comment 2</a>:\nTuula on 2019-08-22:\n\"awesome\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2884#3\" target=\"_blank\">Comment 3</a>:\njezra on 2019-08-22:\n\"super fun!\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2884#4\" target=\"_blank\">Comment 4</a>:\nJon Kulp on 2019-08-22:\n\"By ear\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2884#5\" target=\"_blank\">Comment 5</a>:\nmcnalu on 2019-08-24:\n\"4tracks4TW\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2884#6\" target=\"_blank\">Comment 6</a>:\nJon Kulp on 2019-08-24:\n\"Can&rsquo;t bounce\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2884#7\" target=\"_blank\">Comment 7</a>:\njohanv on 2019-08-29:\n\"great show\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2887#comments\" target=\"_blank\">hpr2887</a></strong>\n(2019-08-27) \"<em>Stardrifter RPG Playtest Part 01</em>\"\nby <a href=\"https://hackerpublicradio.org/correspondents/0107.html\" target=\"_blank\">lostnbronx</a>.</li>\n<li style=\"list-style: none; display: inline\">\n<ul><li><a href=\"https://hackerpublicradio.org/eps.php?id=2887#1\" target=\"_blank\">Comment 1</a>:\nTuula on 2019-08-27:\n\"Eagerly waiting for more\"</li><li><a href=\"https://hackerpublicradio.org/eps.php?id=2887#2\" target=\"_blank\">Comment 2</a>:\nKen Fallon on 2019-08-28:\n\"A future podcast in the future feed\"</li></ul><br/>\n</li><li><strong><a href=\"https://hackerpublicradio.org/eps.php?id=2890#comments\" target=\"_blank\">hpr2890</a></strong>\n(2019-08-30) \"<em>Penguicon 2019 Report</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=2890#1\" target=\"_blank\">Comment 1</a>:\nDave Morriss on 2019-08-31:\n\"solder/\"sodder\"/souder\"</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/2019-August/thread.html\" target=\"_blank\">https://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-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=\"tags-and-summaries\">Tags and Summaries</h3>\n<p>Thanks to the following contributor for sending in updates in the past month: <b><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 10 shows which were without them.</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),
(2612,'2018-08-07','Liverpool Makefest 2018 - interview with Joe aka Concrete Dog',353,'An interview with Joe from Liverpool makefest','<p>In this episode I talk to Joe aka Concrete dog about amateur Rocketry</p>\r\n<ul>\r\n<li><p><a href=\"https://concretedog.blogspot.com/2018/\" class=\"uri\">https://concretedog.blogspot.com/2018/</a></p></li>\r\n<li><p><a href=\"https://twitter.com/concreted0g\" class=\"uri\">https://twitter.com/concreted0g</a></p></li>\r\n</ul>\r\n\r\n<p>\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2612/hpr2612/hpr2612_IMG_20180630_094936.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr2612/hpr2612/hpr2612_IMG_20180630_094936_small.jpg\" /></a><br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2612/hpr2612/hpr2612_IMG_20180630_095644.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr2612/hpr2612/hpr2612_IMG_20180630_095644_small.jpg\" /></a><br />\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2612/hpr2612/hpr2612_IMG_20180630_100342.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr2612/hpr2612/hpr2612_IMG_20180630_100342_small.jpg\" /></a><br />\r\n</p>\r\n',338,78,0,'CC-BY-SA','Liverpool Makefest 2018',0,0,1),
(2616,'2018-08-13','Liverpool Makefest 2018 - interview with Josh - A.K.A - All About Code',310,'An interview with Josh recorded at Liverpool makefest','<p>This is another short interview recorded at this year\'s Liverpool Makefest, this time with Josh who developed EduBlocks.</p>\r\n<ul>\r\n<li><p><a href=\"https://lpoolmakefest.org/\" class=\"uri\">https://lpoolmakefest.org/</a></p></li>\r\n<li><p><a href=\"https://edublocks.org/\" class=\"uri\">https://edublocks.org/</a></p></li>\r\n<li><p><a href=\"https://allaboutcode.co.uk/\" class=\"uri\">https://allaboutcode.co.uk/</a></p></li>\r\n<li><p><a href=\"https://github.com/AllAboutCode\" class=\"uri\">https://github.com/AllAboutCode</a></p></li>\r\n<li><p><a href=\"https://twitter.com/all_about_code?lang=en\" class=\"uri\">https://twitter.com/all_about_code?lang=en</a></p></li>\r\n</ul>',338,78,0,'CC-BY-SA','Liverpool Makefest 2018, EduBlocks, computing, young coders',0,0,1),
(2621,'2018-08-20','Liverpool Makefest 2018 - Chan\'nel Thomas a.k.a little pink maker',293,'In this episode I talk to Chan\'nel Thomas aka little pink maker','<p>In this episode recorded at Liverpool Makefest 2018 I talk to Chan\'nel Thomas aka little pink maker. Chan\'nel has an amazing web site; the link is below. I was going to include a couple of pictures taken on the day but they don\'t do her work the justice it deserves.</p>\r\n<ul>\r\n<li><p><a href=\"https://lpoolmakefest.org/\" class=\"uri\">https://lpoolmakefest.org/</a></p></li>\r\n<li><p><a href=\"https://www.littlepinkmaker.com/about\" class=\"uri\">https://www.littlepinkmaker.com/about</a></p></li>\r\n<li><p>Mail: <a href=\"mailto:makeit@littlepinkmaker.com\">makeit@littlepinkmaker.com</a></p></li>\r\n</ul>',338,78,0,'CC-BY-SA','Liverpool Makefest 2018,Making, hacking, creativity, inventions',0,0,1),
(2626,'2018-08-27','Liverpool Makefest 2018 - interviews with Helen and Chris',510,'Interviews about Manchester Hackspace and Wirral Code Club','<p>In this episode I talk to Helen from Manchester Hackspace and Chris from Wirral Code Club</p>\r\n<ul>\r\n<li><p><a href=\"https://lpoolmakefest.org\" class=\"uri\">https://lpoolmakefest.org</a></p></li>\r\n<li><p><a href=\"https://hacman.org.uk/\" class=\"uri\">https://hacman.org.uk/</a></p></li>\r\n<li><p><a href=\"https://www.wirralcodeclub.org/\" class=\"uri\">https://www.wirralcodeclub.org/</a></p></li>\r\n</ul>',338,78,0,'CC-BY-SA','Liverpool Makefest 2018, computing, young coders, hackers, makers, crafts',0,0,1),
(2632,'2018-09-04','Liverpool Makefest 2018 - interviews with Robert and Carl',376,'In this episode I talk to Robert from Roberts Workshop and Carl from Edgehill University','<p>In this episode I talk to Robert from Roberts Workshop and Carl from Edgehill University</p>\r\n<p>\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2632/hpr2632/D2632.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr2632/hpr2632/D2632_small.jpg\" /></a>\r\n</p>\r\n<ul>\r\n<li><p><a href=\"https://www.robertsworkshop.co.uk/contact\" class=\"uri\">https://www.robertsworkshop.co.uk/contact</a></p></li>\r\n<li><p><a href=\"https://www.edgehill.ac.uk/\" class=\"uri\">https://www.edgehill.ac.uk/</a></p></li>\r\n</ul>\r\n',338,78,0,'CC-BY-SA','Liverpool Makefest 2018, computing, young coders, hackers, makers, crafts',0,0,1),
(2636,'2018-09-10','Liverpool Makefest 2018 - interviews with Noel from JMU FabLab',603,'In this episode I talk to Noel Baker from the JMU FabLab.','<p>In this episode I talk to Noel Baker from the JMU FabLab.</p>\r\n<p>\r\n<a href=\"https://hackerpublicradio.org/eps/hpr2636/hpr2636/Cila2636.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr2636/hpr2636/Cila2636_small.jpg\" /></a>\r\n</p>\r\n<ul>\r\n<li><a href=\"https://buyonline.ljmu.ac.uk/product-catalogue/ljmu/art-materials/digital-fabrication-lab\" class=\"uri\">https://buyonline.ljmu.ac.uk/product-catalogue/ljmu/art-materials/digital-fabrication-lab</a></li>\r\n<li><a href=\"https://lpoolmakefest.org/\" class=\"uri\">https://lpoolmakefest.org/</a></li>\r\n</ul>\r\n',338,78,0,'CC-BY-SA','Liverpool Makefest 2018, Making, hacking, creativity',0,0,1),
(2594,'2018-07-12','Using nmtui, the Network Manager Terminal User interface',638,'A use case for nmtui and general discussion about how to use it','<p>This is my first show and I am happy to be here!</p>\r\n<p><code>nmtui</code>\'s documentation can be found <a href=\"https://developer.gnome.org/NetworkManager/stable/nmtui.html\">here</a>.</p>\r\n<p>You can reach me on the freenode irc network at <code>blu3r4d0n</code>.</p>',366,0,0,'CC-BY-SA','nmtui, networkmanager, linux',0,0,1),
(2596,'2018-07-16','Battling with English - part 2',1282,'Misunderstandings about English grammar, spelling, punctuation, etc.','<h1 id=\"battling-with-english---part-2\">Battling with English - part 2</h1>\n<h2 id=\"further-notes-about-then-and-than\">Further notes about <code>\'then\'</code> and <code>\'than\'</code></h2>\n<p>In the last episode I mentioned the confusion between <b><em>then</em></b> and <b><em>than</em></b>. I referred to the etymology of the two words, but I didn\'t go into detail.</p>\n<p>Reading the <em>Online Etymology Dictionary</em>, one interesting point in the <a href=\"https://www.etymonline.com/word/than\" title=\"Online Etymology Dictionary: \'than\'\">page about <b><em>than</em></b></a> is that it was:</p>\n<blockquote>\n<p>Developed from the adverb <em>then</em>, and not distinguished from it by spelling until c. 1700.</p>\n</blockquote>\n<p>So, it would seem that the two words are related and historically were the same! However, I\'d guess that it is unlikely that people using them interchangeably now are making reference to usage in the 1700\'s.</p>\n<hr />\n<h2 id=\"problems-with-apostrophes\">Problems with apostrophes</h2>\n<p>Let us now examine the apostrophe, which is a punctuation mark. It is used for:</p>\n<ul>\n<li><p>Indicating that letters have been omitted, such as in a contracted form of words. For example when the phrase <b><em>they are</em></b> is contracted to <b><em>they\'re</em></b>.</p></li>\n<li><p>Turning a word into a possessive form such as in <b><em>the cat\'s paw</em></b></p></li>\n<li><p>When the plural of <u>a single letter</u> (or digit) is required such as in <b><em>dot your i\'s and cross your t\'s</em></b>.</p></li>\n</ul>\n<p>There are other uses but you can look at the <a href=\"https://en.wikipedia.org/wiki/Apostrophe\" title=\"Wikipedia article on the Apostrophe\">Wikipedia</a> article for them if you want to dig deeper. I may well revisit this topic in a later show in this series.</p>\n<h2 id=\"long-notes\">Long notes</h2>\n<p>I have provided detailed notes as usual, and these can be <a href=\"hpr2596_full_shownotes.html\">viewed here</a>.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li>Apostrophe\n<ul>\n<li>Wikipedia page: <a href=\"https://en.wikipedia.org/wiki/Apostrophe\">Apostrophe</a></li>\n<li>Cambridge Dictionary: <a href=\"https://dictionary.cambridge.org/grammar/british-grammar/determiners/possession-john-s-car-a-friend-of-mine\">Possession</a></li>\n</ul></li>\n<li>Grammar Girl\'s items on apostrophes:\n<ul>\n<li><a href=\"https://www.quickanddirtytips.com/education/grammar/apostrophe-catastrophe-part-one\">Apostrophe Catastrophe (Part One)</a></li>\n<li><a href=\"https://www.quickanddirtytips.com/education/grammar/apostrophe-catastrophe-part-two\">Apostrophe Catastrophe (Part Two)</a></li>\n</ul></li>\n<li>Oxford Dictionaries: <a href=\"https://en.oxforddictionaries.com/definition/cant\">Definition of \'cant\'</a></li>\n<li>Grammar Monster:\n<ul>\n<li><a href=\"https://www.grammar-monster.com/punctuation/using_apostrophes.htm\">Using Apostrophes</a></li>\n<li><a href=\"https://www.grammar-monster.com/plurals/plural_of_amoeba.htm\">Plural of amoeba</a></li>\n</ul></li>\n<li>Grammarbook.com:\n<ul>\n<li><a href=\"https://data.grammarbook.com/blog/pronouns/1-grammar-error/\">Its vs It\'s</a></li>\n</ul></li>\n<li>Previous episode in this series:\n<ul>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2558\">Battling with English - part 1</a></li>\n</ul></li>\n</ul>\n',225,120,1,'CC-BY-SA','grammar,spelling,punctuation,word misuse,English,apostrophe',0,0,1),
(2641,'2018-09-17','Liverpool Makefest 2018 - interview with Rachel from the MicroBit Foundation',564,'This is a short interview recorded at this years Liverpool Makefest with Rachel from MicroBit','<p>In this episode I talk to Rachel Lancaster from the Micro:Bit foundation.</p>\r\n<ul>\r\n<li><p><a href=\"https://microbit.org/\" class=\"uri\">https://microbit.org/</a></p></li>\r\n<li><p><a href=\"https://lpoolmakefest.org/\" class=\"uri\">https://lpoolmakefest.org/</a></p></li>\r\n</ul>',338,78,0,'CC-BY-SA','Liverpool Makefest 2018, computing, young coders, hackers, makers, crafts, microbit',0,0,1),
(2646,'2018-09-24','Liverpool Makefest 2018 - Interview with Steve and Gerrard from the Liverpool Astronomical society.',355,'In this Episode I talk to Steve and Gerrard from the Liverpool Astronomical society.','<p>In this episode I talk to Steve and Gerard from the Liverpool Astronomical society.</p>\r\n<ul>\r\n<li><p><a href=\"https://liverpoolas.org/event/weekly-public-meeting-at-the-leighton-observatory-pex-hill-4/2018-09-26/\" class=\"uri\">https://liverpoolas.org/event/weekly-public-meeting-at-the-leighton-observatory-pex-hill-4/2018-09-26/</a></p></li>\r\n<li><p><a href=\"https://liverpoolas.org/\" class=\"uri\">https://liverpoolas.org/</a></p></li>\r\n<li><p><a href=\"https://lpoolmakefest.org/\" class=\"uri\">https://lpoolmakefest.org/</a></p></li>\r\n</ul>\r\n',338,78,0,'CC-BY-SA','Liverpool Makefest 2018, Astronomy, History, Science',0,0,1),
(2597,'2018-07-17','How to Fix a Remote with Buttons that Don\'t Work',392,'A response to Ken Fallon\'s episode about how to check whether your remote is working or not.','<p>After listening to Ken Fallon’s episode about how to check whether your remote is working or not, I checked one of our remotes that had been giving us problems and found that only a couple of the buttons produced the light. Then I found a video on YouTube showing how to fix non-working buttons and this is my report.</p>',238,0,0,'CC-BY-SA','Repairs, Remote Controls, Fixing things, Cleaning',0,0,1),
(2602,'2018-07-24','HPR Quick Tips July 2018',1474,'SpiderOAK Backup and Trekking the AT','<p>Don’t use GOOGLE DRIVE ! They flag personal content and backups as malware and will not let you download or share your own backups!!!!!</p>\r\n',36,0,1,'CC-BY-SA','SpiderOAK,Backups,DR,Trekking,Hiking',0,0,1),
(2604,'2018-07-26','Restoration of a Fasco L55A Hassock Fan',1074,'I talk about my recent restoration project of a mid-century modern hassock fan','<h2>The Fasco L55A Hassock Fan</h2>\r\n\r\n<p>Click the image to view my Flickr slideshow of the restoration process.</p>\r\n\r\n<p><a data-flickr-embed=\"true\" href=\"https://www.flickr.com/photos/137675441@N05/albums/72157697860079274\" title=\"Fasco L55A Hassock Fan Restoration\"><img src=\"https://farm1.staticflickr.com/883/42280247534_18fd9bd408_c.jpg\" width=\"800\" height=\"450\" alt=\"Fasco L55A Hassock Fan Restoration\"/></a></p>\r\n\r\n<p>A video showing my restored fan in action!</p>\r\n\r\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/K_N0bjR3EwU\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe>\r\n\r\n<h2>Links</h2>\r\n\r\n<ul>\r\n<li><a href=\"https://www.google.com/search?q=hassock+fan&hs=Qy7&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwji0cLju4rcAhUB4IMKHYCKA9cQsAQInwI&biw=1600&bih=761\" target=\"_blank\">Hassock Fans on Google image search</a></li>\r\n<li><a href=\"https://www.flickr.com/photos/137675441@N05/albums/72157697860079274\" title=\"Fasco L55A Hassock Fan Restoration\">Flickr photographs</a></li>\r\n<li><a href=\"https://www.youtube.com/embed/K_N0bjR3EwU\" target=\"_blank\">YouTube video</a></li>\r\n\r\n</ul>\r\n',238,0,0,'CC-BY-SA','Fans, vintage stuff, restoration, staying cool, mid-century modern',0,0,1),
(2608,'2018-08-01','BattleTech',1108,'Quick introduction to BattleTech tabletop game by Tuula','<p>Following links might help you to get more familiar with the game.</p>\r\n<ul>\r\n<li><p>Manufacturer’s website: <a href=\"https://bg.battletech.com/\" class=\"uri\">https://bg.battletech.com/</a></p></li>\r\n<li><p>Forums, where fans have discussions about the game: <a href=\"https://bg.battletech.com/forums/\" class=\"uri\">https://bg.battletech.com/forums/</a></p></li>\r\n<li><p>Sarna, extensive wiki: <a href=\"https://www.sarna.net/wiki/Main_Page\" class=\"uri\">https://www.sarna.net/wiki/Main_Page</a></p></li>\r\n</ul>\r\n',364,95,0,'CC-BY-SA','BattleTech',0,0,1),
(2600,'2018-07-20','Special episode on 2600, Blue Boxes, Phreaking',3173,'We celebrate the history of hackers, with a nod to the old skool phreak community.','<p>\r\n2600 Hz is a frequency in hertz (cycles per second) that was used by AT&amp;T as a steady signal to mark currently unused long-distance telephone lines.<br />\r\nA blue box is an electronic device that generates the in-band signaling audio tones formerly used to control long-distance telephone exchanges.<br />\r\nPhreaking is a slang term coined to describe the activity of a culture of people who study, experiment with, or explore telecommunication systems, such as equipment and systems connected to public telephone networks. The term phreak is a sensational spelling of the word freak with the ph- from phone, and may also refer to the use of various audio frequencies to manipulate a phone system. Phreak, phreaker, or phone phreak are names used for and by individuals who participate in phreaking.<br />\r\n</p>\r\n<h3>Radio FreeK America 1</h3>\r\n<p>\r\n02/20/02 - Trashing live, dual was \"slammed,\" trouble with Qwest, Qwest releasing customer info then backing off, Rax discusses VOMIT and subsequent fun, start your own telco or isp, Onebox.com, Slingshot pre-paid Internet access, Kondor\'s Trios tribulations, fun with the phone, and more.\r\n</p>\r\n\r\n<h3>Links</h3>\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/2600_hertz\">https://en.wikipedia.org/wiki/2600_hertz</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Blue_box\">https://en.wikipedia.org/wiki/Blue_box</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Phreaking\">https://en.wikipedia.org/wiki/Phreaking</a></li>\r\n<li><a href=\"https://oldskoolphreak.com/\">https://oldskoolphreak.com/</a></li>\r\n<li><a href=\"https://oldskoolphreak.com/radio.html\">https://oldskoolphreak.com/radio.html</a></li>\r\n</ul>\r\n',30,0,1,'CC-BY-SA','2600, Blue Box, Phreaking, Radio FreeK America',0,0,1),
(2603,'2018-07-25','Dummy shares a tip and a tip/rant about asking and answering questions',1503,'Those blasted rubber coffee mug seals and \"Let me Google that for you.\"','<p>A quick tip on using paper towel or dish rag to easily remove stubborn travel coffee mug rubber seals followed by a semi ranty discussion on asking and responding to questions in the context of “Let me google that for you.”</p>\r\n<p>As a bonus, this is part of a series-ish set of shows I’m going to do recording with different equipment to give you the feel of the quality of shows possible with low cost equipment by someone who doesn’t know how to edit audio or speak to audiences.</p>\r\n',151,0,1,'CC-BY-SA','travel mug seal,asking questions',0,0,1),
(2607,'2018-07-31','Processing',1777,'Klaatu introduces Processing, a Java subset and IDE suitable for graphical programming projects','<p>Get Processing from <a href=\"https://processing.org\">processing.org</a>. Download, extract, and launch. On Linux, just click the <code>processing</code> file.</p>\r\n<p>Processing requires that <em>either</em> OpenJDK or Java to be installed.</p>\r\n<p>Processing requires a <code>void setup()</code> function, which is a function that Processing expects whenever an application is launched. If you don\'t have a <code>setup</code> function, your application still launches, but with basic Processing defaults. Try this to start with:</p>\r\n<pre><code>void setup() {\r\n    size(480,720);\r\n}</code></pre>\r\n<p>Click the <strong>Run</strong> button in the top left corner to launch your [very simple] application: an empty window that is 480 pixels wide and 720 pixels tall.</p>\r\n<p>Draw a rectangle on your canvas by invoking Processing\'s <code>void draw()</code> function:</p>\r\n<pre><code>void draw() {\r\n    rect(10,10,80,80);\r\n}</code></pre>\r\n<p>Click the <strong>Run</strong> button in the top left corner to launch your application.</p>\r\n<p>Add some colour to your rectangle:</p>\r\n<pre><code>void draw() {\r\n    fill(8,120,90);\r\n    rect(10,10,80,80);\r\n}</code></pre>\r\n<p>Click the <strong>Run</strong> button in the top left corner to launch your application.</p>\r\n<p>Make a simple painting app:</p>\r\n<pre><code>void setup() {\r\n    size(480,720);\r\n}\r\n\r\nvoid draw() {\r\n    if (mousePressed) {\r\n        fill(20,120,90);\r\n        ellipse(mouseX,mouseY,25,25);\r\n    } else {\r\n        fill(random(10,120),random(10,80),random(20,200));\r\n    }\r\n}</code></pre>\r\n<p>More Processing tricks: you can export your application as a standalone Java app, or as an Android <code>.apk</code> as long as you have the Android SDK installed.</p>\r\n<p>Processing\'s <a href=\"https://processing.org/reference\">documentation</a> is excellent. It has examples for all functions, <em>with pictures</em>.</p>\r\n',78,25,0,'CC-BY-SA','java,processing',0,0,1),
(2609,'2018-08-02','SparkleShare',1460,'Klaatu demonstrates SparkleShare','<p>\r\nClacke mentioned SparkleShare in <a href=\"https://hackerpublicradio.org/eps.php?id=2542\" target=\"_blank\">episode 2542</a>, and it occurred to me that not everyone knows what Sparkleshare is. So here&#39;s a show about it.\r\n</p>\r\n\r\n<p>\r\nTo setup SparkleShare, refer to <a href=\"https://sparkleshare.org\" target=\"_blank\">SparkleShare.org</a>. It\'s available for Linux, Windows, and Mac; great for cross-platform collaboration.\r\n</p>\r\n\r\n<p>\r\nThe Linux installer uses <a href=\"https://flatpak.org\" target=\"_blank\">FlatPak</a>, so you do need to install that.\r\n</p>\r\n\r\n<p>\r\nOnce installed, launch SparkleShare in the usual way. If you have no usual way, you can use this command&#58;</p>\r\n\r\n<pre>\r\n$ flatpak run org.sparkleshare.SparkleShare\r\n</pre>\r\n\r\n<p>\r\nThe first screen asks for your name and email. This doesn&#39;t have to be your real name and email, but it is what SparkleShare will use when making commits on your behalf. This name and email will be visible to anyone who can see your online Git repository.\r\n</p>\r\n\r\n<p>\r\nThe next screen displays the <strong>Sync Remote Project</strong> screen. You use this screen any time you want to add another share to your sparkle.\r\n</p>\r\n\r\n<img src=\"https://slackermedia.info/host/setup1.png\" alt=\"image showing the Sync Remote Project window of SparkleShare\" />\r\n\r\n<p>\r\nIn this episode, I set up two projects&#58; one brand new one using my home server as host, and one that mirrors an existing project on Gitlab.com.\r\n</p>\r\n\r\n<p><strong>Adding a project from Gitlab</strong></p>\r\n\r\n<p>\r\nThe first thing you must do is give SparkleShare permission to access Gitlab. To do this, click on the SparkleShare icon in your system tray &#62; SparkleShare &#62; Client ID and copy your ID to your clipboard.\r\n</p>\r\n\r\n<img src=\"https://slackermedia.info/host/clientid.png\" alt=\"image describing the menu selection as listed in the above text\" />\r\n\r\n<p>\r\nNow go to your online Git host and add this &#34;Client ID&#34; to your approved SSH Keys. Where this is located depends on your Git host, but in Gitlab, it&#39;s located in the left column of the <strong>Settings</strong> screen. When your SSH Key has been added, Gitlab displays a key fingerprint &#40;actually just a string of numbers&#41; as confirmation.\r\n</p>\r\n\r\n<p>\r\nThe path to your remote Git repository is the part of an URL after the host. It usually starts with your username. For example, if I have a project on Gitlab located at <code>gitlab.com/notklaatu/foo.git</code> then the path that SparkleShare needs is <code>notklaatu/foo.git</code>\r\n</p>\r\n\r\n<p>\r\nClick the <strong>Add</strong> button to add the project to your local SparkleShare folder.\r\n</p>\r\n\r\n\r\n<p><strong>Adding a project hosted on your own server</strong></p>\r\n\r\n<p>\r\nThere are a lot more variables if you&#39;re hosting a Git repository on your own server. These are the things that you may need to account for&#58;\r\n</p>\r\n\r\n<ul>\r\n<li><p>Is your local .ssh/config file setting some &#34;invisible&#34; defaults for when you SSH to your server? If so, you may need to modify or add an entry for SparkleShare.</p></li>\r\n<li><p>Your SparkleShare auto-generated &#34;Client ID&#34; is located in <code>$HOME/.config/org.sparkleshare.SparkleShare/ssh</code></p></li>\r\n<li><p>Is your SparkleShare SSH key &#40;the &#34;Client ID&#34; in SparkleShare lingo&#41; in your authorized_hosts file?\r\n</p></li>\r\n<li><p>Does a Git repository exist on your remote server in the location you think it exists?</p></li>\r\n</ul>\r\n\r\n<p><strong>Using SparkleShare</strong></p>\r\n\r\n<p>\r\nUse SparkleShare exactly as you would DropBox or the <a href=\"https://nextcloud.com/\" target=\"_blank\">NextCloud Desktop Client</a>&#58; drag-and-drop a file to add it, drag it to the Trash to delete it. All SparkleShare folders sync\'d with any given project syncs automatically through the magickalfulness of Git hooks.\r\n</p>\r\n\r\n\r\n\r\n',78,104,0,'CC-BY-SA','git,sparkleshare',0,0,1),
(2613,'2018-08-08','Quick Awk Tip',459,'This is a tip about awk scripts.','<p>\nThis is obvious, but it tripped me up a few times after listening to the excellent Awk series by Dave and Mr. Young, so I though I\'d share it here to save others the trouble.\n</p>\n\n<p>\nWhen moving from simple awk commands to proper awk scripts, you put a shebang line at the top of your script. It\'s pretty common to many of us, because we do it for Python and Bash all the time.\n</p>\n\n<p>\nBut if you just put:\n</p>\n\n<pre>\n#!/usr/bin/awk\n</pre>\n<p>\nThen your awk script won\'t work the way you expect.</p>\n\n<p>\nYou must provide the <code>-f</code> flag:\n</p>\n<pre>\n#!/usr/bin/awk -f\n</pre>\n\n<p>\nNow you can pipe things to your awk script as expected. \n</p>\n\n\n',78,94,0,'CC-BY-SA','tip,awk,shebang',0,0,1),
(2614,'2018-08-09','My 1948 Truetone D1835 Tube Radio',657,'I talk about my \"new\" 1948 D1835 Tube-powered radio.','<h2>The 1948 Truetone D1835 Tube Radio</h2>\r\n\r\n<p>I recently bought a vintage tube powered radio at an estate sale and in this episode I talk about it and let you hear it. Click the image to view my Flickr pictures.</p>\r\n\r\n<p><a data-flickr-embed=\"true\" href=\"https://www.flickr.com/photos/137675441@N05/albums/72157699014674225\" title=\"1948 Truetone Tube Radio\"><img src=\"https://farm1.staticflickr.com/836/28515366987_03ca2d6a84_c.jpg\" width=\"450\" height=\"800\" alt=\"1948 Truetone Tube Radio\"/></a></p>\r\n\r\n<p>Watch <a href=\"https://youtu.be/-I8GEjiBf0g\">A video showing the radio in action</a>!</p>\r\n',238,0,0,'CC-BY-SA','Vintage audio, legacy technology, radio, antiques',0,0,1),
(2610,'2018-08-03','Gnu Awk - Part 12',2050,'Advanced use of arrays','<h1 id=\"gnu-awk---part-12\">Gnu Awk - Part 12</h1>\n<h2 id=\"introduction\">Introduction</h2>\n<p>This is the twelfth episode of the “<a href=\"https://hackerpublicradio.org/series/0094.html\" title=\"Learning Awk\">Learning Awk</a>” series which is being produced by <a href=\"https://hackerpublicradio.org/correspondents/0300.html\" title=\"Mr. Young\">Mr. Young</a> and myself.</p>\n<p>In this episode I want to continue with the subject I started in episode 10, an advanced-level look at arrays in Awk. This episode covers <code>patsplit</code> which can split a string into an array, the built-in array <code>PROCINFO</code> which can be used to control how <code>awk</code> sorts arrays, as well as <code>asort</code> and <code>asorti</code>, built-in functions for sorting arrays.</p>\n<p>In case it might be of interest I have also included a section describing a recent use I made of <code>awk</code> to solve a problem.</p>\n<h2 id=\"long-notes\">Long notes</h2>\n<p>I have provided detailed notes as usual for this episode, and these can be <a href=\"hpr2610_full_shownotes.html\">viewed here</a>.</p>\n<h2 id=\"links\">Links</h2>\n<ul>\n<li><a href=\"https://www.gnu.org/software/gawk/manual/html_node/index.html\"><em>GNU Awk User’s Guide</em></a></li>\n<li>Previous shows in this series on HPR:\n<ul>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2114\">“<em>Gnu Awk - Part 1</em>”</a> - episode 2114</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2129\">“<em>Gnu Awk - Part 2</em>”</a> - episode 2129</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2143\">“<em>Gnu Awk - Part 3</em>”</a> - episode 2143</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2163\">“<em>Gnu Awk - Part 4</em>”</a> - episode 2163</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2184\">“<em>Gnu Awk - Part 5</em>”</a> - episode 2184</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2238\">“<em>Gnu Awk - Part 6</em>”</a> - episode 2238</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2330\">“<em>Gnu Awk - Part 7</em>”</a> - episode 2330</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2438\">“<em>Gnu Awk - Part 8</em>”</a> - episode 2438</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2476\">“<em>Gnu Awk - Part 9</em>”</a> - episode 2476</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2526\">“<em>Gnu Awk - Part 10</em>”</a> - episode 2526</li>\n<li><a href=\"http://hackerpublicradio.org/eps/hpr2554\">“<em>Gnu Awk - Part 11</em>”</a> - episode 2554</li>\n</ul></li>\n<li>Resources:\n<ul>\n<li><a href=\"hpr2610_full_shownotes.epub\">ePub version of these notes</a></li>\n<li>Examples: <a href=\"hpr2610_awk12_ex1.awk\">awk12_ex1.awk</a>, <a href=\"hpr2610_awk12_ex2.awk\">awk12_ex2.awk</a>, <a href=\"hpr2610_awk12_ex3.awk\">awk12_ex3.awk</a>, <a href=\"hpr2610_awk12_ex4.awk\">awk12_ex4.awk</a>, <a href=\"hpr2610_awk12_ex5.awk\">awk12_ex5.awk</a>, <a href=\"hpr2610_awk12_ex6.awk\">awk12_ex6.awk</a>, <a href=\"hpr2610_awk12_ex7.awk\">awk12_ex7.awk</a>, <a href=\"hpr2610_awk12_ex8.awk\">awk12_ex8.awk</a>, <a href=\"hpr2610_awk12_ex9.awk\">awk12_ex9.awk</a>, <a href=\"hpr2610_awk12_ex10.awk\">awk12_ex10.awk</a>, <a href=\"hpr2610_awk12_extra.awk\">awk12_extra.awk</a></li>\n</ul></li>\n</ul>\n',225,94,1,'CC-BY-SA','Awk utility, Awk Language, gawk, arrays, sorting',0,0,1),
(2617,'2018-08-14','Exposing a Raspberry Pi database through a REST API',1219,'In this episode, I discuss how I used python to make my speedtest data available across my network','<h2>Links from the episode</h2>\r\n\r\n<ul>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Representational_state_transfer\">Wikipedia - REST API</a></li>\r\n<li><a href=\"https://en.wikipedia.org/wiki/Web_Server_Gateway_Interface\">Wikipedia - WSGI</a></li>\r\n<li><a href=\"https://bottlepy.org/docs/dev/\">Bottle Framework</a></li>\r\n<li><a href=\"https://sqlite.org/index.html\">SQLite</a></li>\r\n</ul>\r\n',300,0,0,'CC-BY-SA','python,development',0,0,1),
(2618,'2018-08-15','Yesod - First Impressions',1385,'Tuula talking about their first impressions of Yesod web framework','<p>First place to start is probably Yesod’s web site at: <a href=\"https://www.yesodweb.com/\" class=\"uri\">https://www.yesodweb.com/</a></p>\r\n<p>Often recommended environment for developing Haskell programs is Stack: <a href=\"https://docs.haskellstack.org/en/stable/README/\" class=\"uri\">https://docs.haskellstack.org/en/stable/README/</a></p>\r\n<p>My road to Haskell started with Learn You a Haskell for Great Good: <a href=\"https://learnyouahaskell.com/\" class=\"uri\">https://learnyouahaskell.com/</a> and going through lecture notes of CIS 194: <a href=\"https://www.seas.upenn.edu/%7Ecis194/spring13/lectures.html\">https://www.seas.upenn.edu/%7Ecis194/spring13/lectures.html</a></p>\r\n',364,107,0,'CC-BY-SA','haskell,yesod,web',0,0,1),
(2619,'2018-08-16','A Gentle Introduction to Quilt',1225,'Quilt - the patch manager.  Introduction and tutorial.','<h1 id=\"a-gentle-introduction-to-quilt\">A gentle introduction to quilt</h1>\r\n<p>Or, patch management for software.</p>\r\n<h2 id=\"speaker-intro\">Speaker Intro</h2>\r\n<p>Hi, I\'m bjb. I\'m a programmer.</p>\r\n<h2 id=\"motivation-and-topic-intro\">Motivation and topic intro</h2>\r\n<p>I needed to learn how to use the software tool &quot;quilt&quot;, so you get to listen to my podcast about an introduction to quilt.</p>\r\n<p>People collaborating on a project must edit the same set of source files. After one person commits some changes, then the other people must rebase their own changes on the new version of the shared files before they can push their changes.</p>\r\n<p>A minor fix for some old typo should not be in the same patch as a new feature; a comment correction should also be in its own patch. Essentially, two new features and some bug fixes should not all be smushed together in one patch. Each feature should be in its own patch (or patch series), and each bug fix should be in its own patch. This allows others to be able to review the proposed changes easily, and even lets them pick and choose which patches they want to apply. It becomes a chore to manage all these patches. That\'s where quilt comes in.</p>\r\n<p>Sadly, I hadn\'t learned quilt till this weekend ... well one way to ensure I learn it fairly well is to write a HPR episode about it! Here goes.</p>\r\n<p>I have written this episode to be understandable by anyone - you don\'t have to be a coder. You could use this tool to keep track of any plain-text files - recipes, todo lists, html, hpr show notes, poetry, what-have-you.</p>\r\n<h2 id=\"introduction\">Introduction</h2>\r\n<p>First let\'s describe what a patch is. No, first let\'s describe what source code looks like. Source code is a plain text file full of computer instructions. It is a plain text file, as opposed to a word processing file. Plain text files do not have any formatting codes or styles in them (such as which font should be used, or what colour, and so on). They just contain the characters that make up words of the content.</p>\r\n<p>A key feature of these source code files is that a new section of the file starts on a new line. The source code is almost never &quot;reflowed&quot; like prose might be. It is sort of like poetry - the more formal poetry, not prose poetry. There are a lot of really small sections in source code files (called &quot;statements&quot; and &quot;expressions&quot;). Most of these sections fit on one line. This is useful for the tools we\'re going to discuss because when one line changes it does not affect the following lines, as it might when text is reflowed after a change.</p>\r\n<p>People have been coding with plain text files in various languages for decades. Thus a large set of tooling has grown around this format. One of those tools is called &quot;diff&quot; and another one is called &quot;patch&quot;.</p>\r\n<p>Diff is a way to compare two text files. Typically it would be used to compare the &quot;before&quot; and &quot;after&quot; of a source code file undergoing changes. So you could find out what was done to the source code file by running diff on the before and after versions of that file.</p>\r\n<p>A diff file is a series of excerpts from the original and changed files. There are various kinds of diffs. Some of them show only the changed lines. Some of them show a few lines before and a few lines after in addition to the changed lines themselves. That second kind is called a &quot;context diff&quot; and helps the automated machinery (and humans too) find the correct part of the file to which the change must be applied.</p>\r\n<p>By default there are 3 lines of context before and after the changed lines.</p>\r\n<p>The changed part is represented by including the old AND new line. In order to distinguish which lines are old and which are the replacements, all the lines (context lines, removed lines and added lines) are shifted over to the right by one character. The context lines start with a space in the extra left-most character, the original removed lines have a minus sign in the left-most character and the new added lines have a plus sign.</p>\r\n<p>Thus if any character on a line in the source file has changed, been added or removed, then the whole line will be replaced with a new line in the new file. The diff will show both the removed line and the new one.</p>\r\n<p>The patch utility takes the &quot;diff&quot; output and applies it to the original file to produce the later version of that file. You can apply it in reverse mode to the later version to get the original version. So patch is also a really useful program, and these two tools, diff and patch, are the basis of most of the version control systems out there. It is the existence of these text-based diff and patch tools that makes revision control systems work really well on plain-text files that are naturally structured in a line-by-line format.</p>\r\n<p>A note about terminology: the diff program produces a diff. This diff is also called a patch. The patch program takes the diff (aka patch) and applies it to the original file to produce the changed file.</p>\r\n<p>So if you have a timeline of adding a few features and making a few fixes on a code-base, it can be fully described by the original file plus a set of patches that had been produced with diff. You can get the final source code by taking the original file, applying the patches one by one, and voila, the final version of the file has been recreated.</p>\r\n<p>Now we know enough to give a concise description of quilt:</p>\r\n<p>Quilt lets you work with patches, creating them, applying them, un-applying them, and moving some things from one patch to another with a minimum of effort.</p>\r\n<h2 id=\"how-to-use-quilt\">How to use quilt</h2>\r\n<p>Now a tutorial on how to get started using quilt.</p>\r\n<p>This tutorial will start with a buggy program, create a few bad patches, and fix them up into good patches. I make no claims as to the quality of the final code though. The reason for starting with bad code and patches is to illustrate how to use quilt.</p>\r\n<h3 id=\"starting-to-use-quilt-on-a-project\">Starting to use quilt on a project</h3>\r\n<p>To start using quilt, create a directory called &quot;patches&quot; at the top of your code or just above.</p>\r\n<pre class=\"sourceCode \"><code>$ mkdir patches</code></pre>\r\n<p>If you don\'t do this, quilt will create it for you. However, first it will look for a directory called &quot;patches&quot; in the current working directory, its parent, and all the way up ... if it finds one, it will use it. If not, it will create one in the current directory.</p>\r\n<p>So, to keep it from finding some unrelated directory with the name &quot;patches&quot;, just create a patches directory yourself in the right place.</p>\r\n<h3 id=\"quilt-first-patch-including-a-new-file\">Quilt first patch, including a new file!</h3>\r\n<p>You must tell quilt before you make any changes to your source code. Then it can store the original versions of the files that will change, so it can produce the diffs that will become that patch once you change the files.</p>\r\n<p>Create a directory called example, and create a file in it like this, called hello.c (don\'t fix the errors):</p>\r\n<pre class=\"sourceCode \"><code>#include &quot;stdio.h&quot;\r\n\r\nint main (int argc, char *argv[], char *env[])\r\n{\r\n    print (&quot;Hello, world!n&quot;)\r\n    return 0;\r\n}</code></pre>\r\n<p>Now create a new patch - that is, give it a name - before you change any code. This will create (or find) a couple of directories, &quot;patches&quot; and &quot;.pc&quot;, and populate them with some files to start.</p>\r\n<pre class=\"sourceCode \"><code>$ quilt new fix-typo</code></pre>\r\n<p>And now you can fix the typo and generate the patch. First start by telling quilt that you want hello.c to be in the patch. Quilt saves a copy of it aside for comparing with the later versions:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt add hello.c</code></pre>\r\n<p>You can get quilt to tell you what files it knows about:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt files</code></pre>\r\n<p>Edit the file - add a semicolon at the end of the print line, and change the double-quotes on the #include line to angle brackets:</p>\r\n<pre class=\"sourceCode \"><code>#include &lt;stdio.h&gt;\r\nprint (&quot;Hello, world!n&quot;);</code></pre>\r\n<p>Save the file and exit the editor. Next generate the patch:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt refresh</code></pre>\r\n<p>The oddly named &quot;refresh&quot; command creates the patch itself. It is called &quot;refresh&quot; because it can also be used to update the patch.</p>\r\n<p>Now you can see the current set of patches by giving the command:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt series</code></pre>\r\n<p>The single patch is called fix-typo, and its name in the list is coloured brownish. That is because it is the &quot;current&quot; patch, and it is the one that will be updated if you &quot;quilt refresh&quot; again with more changes.</p>\r\n<p>One thing I did not find in the quilt documentation is how to add a new file. When adding a new file, there is no existing file that you can name in the quilt add command. Of course, the very first patch I wanted to manage with quilt, I had introduced a new file. It turns out that the quilt edit command can be used to add a file to the patch, even if the file does not yet exist:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt edit header.h</code></pre>\r\n<p>Add content to header.h (see below) using the plain-text editor that quilt has started up for you. Save the file.</p>\r\n<pre class=\"sourceCode \"><code>#ifndef HEADER_HH__\r\n#define HEADER_HH__\r\n\r\n#define NAME &quot;bjb&quot;\r\n\r\n#endif</code></pre>\r\n<p>Regenerate the patch with the new changes:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt refresh</code></pre>\r\n<p>Now you can list the patch series again with quilt series. So far there is one patch. You can see what the patch consists of with the</p>\r\n<pre class=\"sourceCode \"><code>$ quilt diff</code></pre>\r\n<p>command.</p>\r\n<pre class=\"sourceCode \"><code>$ quilt diff\r\nIndex: hello/hello.c\r\n===================================================================\r\n--- hello.orig/hello.c\r\n+++ hello/hello.c\r\n@@ -1,8 +1,8 @@\r\n-#include &quot;stdio.h&quot;\r\n+#include &lt;stdio.h&gt;\r\n\r\n int main (int argc, char *argv[], *env[])\r\n {\r\n-    print (&quot;Hello, world!n&quot;)\r\n+    print (&quot;Hello, world!n&quot;);\r\n     return 0;\r\n }\r\n\r\nIndex: hello/header.h\r\n===================================================================\r\n--- /dev/null\r\n+++ hello/header.h\r\n@@ -0,0 +1,7 @@\r\n+#ifndef HEADER_HH__\r\n+#define HEADER_HH__\r\n+\r\n+#define NAME &quot;bjb\r\n+\r\n+#endif\r\n+\r\n$</code></pre>\r\n<h3 id=\"quilt-second-patch\">Quilt second patch</h3>\r\n<p>Now it is time to make a second patch. First we tell quilt we are moving to a new patch:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt new prototype\r\n$ quilt edit header.h</code></pre>\r\n<p>Edit this file again - add a function prototype.</p>\r\n<pre class=\"sourceCode \"><code>int do_output(const char *name);</code></pre>\r\n<p>Create the patch and look at the list of patches:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt refresh\r\n$ quilt series</code></pre>\r\n<p>Now when we give the quilt series command, we see two patches. The first one is green, meaning it has been applied, and the second one is brown, meaning this is the one that quilt refresh will change if you call it.</p>\r\n<p>Again you can see what latest diff looks like by giving the quilt diff command.</p>\r\n<pre class=\"sourceCode \"><code>$ quilt diff</code></pre>\r\n<p>Now let\'s unapply the latest diff:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt pop\r\n$ quilt series</code></pre>\r\n<p>We see that the list of patches has the same patches in it, but now the second patch is white (meaning unapplied) and the first patch is brown (meaning it is the one that would change if we edited a file and typed quilt refresh.</p>\r\n<pre class=\"sourceCode \"><code>$ quilt files</code></pre>\r\n<p>That first patch has two files in it, hello.c and header.h.</p>\r\n<p>Now unapply the first diff:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt pop\r\n$ quilt series</code></pre>\r\n<p>Both patches are listed, and both are shown as white.</p>\r\n<p>We can see what files quilt knows about before any patches are applied:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt files</code></pre>\r\n<p>No files.</p>\r\n<p>Apply all the patches at once:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt push -a\r\n$ quilt series</code></pre>\r\n<p>And look at what files quilt knows about:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt files</code></pre>\r\n<p>Now quilt reports on only one file, while in the first patch it knew about two files. You must be careful to &quot;add&quot; each file to each patch, or it will not put the changes in those files into the patch. Luckily, quilt edit will put the files in the patch for you, so if you always start your editor with quilt edit fname, then you will have your changed files added to your patches without having to take any other action. But, if you are adding an existing file to the patch, you can add it without having to open your editor with the quilt add command:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt add fname</code></pre>\r\n<p>In order to avoid forgetting to add a file in a patch as I was editing, I just added all the files in the directory each time I created a new patch, whether I edited them or not.</p>\r\n<h3 id=\"split-a-patch-in-two-parts\">Split a patch in two parts</h3>\r\n<p>We are going to split the first patch in two parts. We had fixed a typo and added a new file in one patch. They should be two separate patches.</p>\r\n<p>First make the first patch current:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt pop</code></pre>\r\n<p>Then make a copy of that patch:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt fork</code></pre>\r\n<p>This makes a copy of the first patch called fix-typo-2. But, it removes the first patch fix-typo and puts fix-typo-2 in the series. We need to put the first patch back, and then edit each of the two fix-typo patches so each one contains one part of the original patch.</p>\r\n<pre class=\"sourceCode \"><code># edit patches/series file and put the first patch back\r\n# The file should contain:\r\n\r\nfix-typo\r\nfix-typo-2\r\nprototype</code></pre>\r\n<p>Now edit the first patch using a plain-text editor. It is in patches/fix-typo. Remove the part about the new file, header.h. It should now look like:</p>\r\n<pre class=\"sourceCode \"><code>Index: hello/hello.c\r\n===================================================================\r\n--- hello.orig/hello.c\r\n+++ hello/hello.c\r\n@@ -1,4 +1,4 @@\r\n-#include &quot;stdio.h&quot;\r\n+#include &lt;stdio.h&gt;\r\n\r\n int main (int argc, char *argv[], *env[])\r\n {</code></pre>\r\n<p>Save this file. Now edit the second patch patches/fix-typo-2 using a plain-text editor. Remove the part about the file hello.c. It should now look like:</p>\r\n<pre class=\"sourceCode \"><code>Index: hello/header.h\r\n===================================================================\r\n--- /dev/null\r\n+++ hello/header.h\r\n@@ -0,0 +1,7 @@\r\n+#ifndef HEADER_HH__\r\n+#define HEADER_HH__\r\n+\r\n+#define NAME &quot;bjb\r\n+\r\n+#endif\r\n+</code></pre>\r\n<p>If you give a quilt series command now, you will see that fix-typo-2 is the current patch and quilt thinks fix-typo has been applied.</p>\r\n<p>We have to fix up quilts idea of reality.</p>\r\n<p>Pop the current patch. Things have changed under quilts feet so we have to force this with the -f option:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt pop -f</code></pre>\r\n<p>Now, because quilt thought the original state of fix-typo-2 is the unchanged file, quilt shows the series as being completely un-applied.</p>\r\n<pre class=\"sourceCode \"><code>$ quilt series\r\npatches/fix-typo\r\npatches/fix-typo-2\r\npatches/prototype</code></pre>\r\n<p>Now we can push the patches:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt push -a</code></pre>\r\n<h3 id=\"rename-a-patch\">Rename a patch</h3>\r\n<p>Here we rename a patch from fix-typo-2 to add-header. The quilt rename command acts on the current patch, so make fix-typo-2 current first:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt pop fix-typo-2\r\n$ quilt rename add-header\r\n$ quilt series\r\n$ quilt push -a</code></pre>\r\n<h3 id=\"reorder-the-patch-series\">Reorder the patch series</h3>\r\n<p>We will make a new patch, then move it earlier in the series:</p>\r\n<p>First make the new patch:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt new printf\r\n$ quilt edit hello.c</code></pre>\r\n<p>And change the print statement to:</p>\r\n<pre class=\"sourceCode \"><code>printf(&quot;Hello, world!n&quot;);</code></pre>\r\n<p>Save the patch:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt refresh</code></pre>\r\n<p>Now to demonstrate the reordering.</p>\r\n<p>Unapply all the patches, edit the patches series file patches/series so the patches are in the order you like, and then re-apply the patches. If you are lucky, they will re-apply with no conflicts.</p>\r\n<pre class=\"sourceCode \"><code>$ quilt pop -a\r\n$ vi patches/series\r\n# move &quot;printf&quot; between fix-typo and add-header.\r\n# now all the bug-fixes are at the beginning of the series\r\n$ quilt push -a</code></pre>\r\n<h3 id=\"merge-two-patches-into-one\">Merge two patches into one</h3>\r\n<p>Make another new patch:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt new output-function\r\n$ quilt edit hello.c</code></pre>\r\n<p>Change the c file to this:</p>\r\n<pre class=\"sourceCode \"><code>#include &lt;stdio.h&gt;\r\n\r\nint do_output(const char *name)\r\n{\r\n    return printf(&quot;Hello, %s!n&quot;, name);\r\n}\r\n\r\nint main (int argc, char *argv[], char *env[])\r\n{\r\n    /* ignoring the return code for do_output */\r\n    do_output(NAME);\r\n    return 0;\r\n}</code></pre>\r\n<pre class=\"sourceCode \"><code>$ quilt refresh</code></pre>\r\n<p>Now, to merge two patches into one:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt pop prototype\r\n$ quilt fold &lt; patches/output-function</code></pre>\r\n<p>We have merged the prototype and output-function patches, because they describe a related change.</p>\r\n<p>Save the patch.</p>\r\n<pre class=\"sourceCode \"><code>$ quilt refresh</code></pre>\r\n<h3 id=\"throw-away-a-patch\">Throw away a patch</h3>\r\n<p>Now we no longer need the last patch, output-function, as it has been included into the prototype patch. But we might want to rename the prototype patch.</p>\r\n<pre class=\"sourceCode \"><code>$ quilt delete output-function\r\n# we have to clean up a bit for quilt or the rename won&#39;t work\r\n$ rm patches/output-function\r\n$ quilt rename output-function</code></pre>\r\n<p>Deleting will not work on a patch that has been applied before the current patch.</p>\r\n<p>You are ready to contribute your patches ... go forth and code.</p>\r\n<h2 id=\"summary\">Summary</h2>\r\n<p>We have seen that quilt can help you manage your contributions to any project that is written in plain-text files. It can generate patch files (usually needed for contributions to open source projects) and can help you manage and update them as the tip of the development branch moves forward with other peoples\' contributions.</p>\r\n<p>To use quilt successfully, you need to remember to add files to each patch with quilt add/or quilt edit before editing, and to generate the patch with quilt refresh once all the editing of each patch is done. The rest is easy.</p>\r\n<p>Commands that edit the patches:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt new patch-name\r\n$ quilt add fname\r\n$ quilt edit fname\r\n$ quilt refresh\r\n$ quilt pop [-a]\r\n$ quilt push [-a]\r\n$ quilt rename [-P oldname] newname\r\n$ quilt delete [-P patchname]\r\n$ quilt fold &lt; patch_to_merge</code></pre>\r\n<p>Commands that view the state of the patches:</p>\r\n<pre class=\"sourceCode \"><code>$ quilt series\r\n$ quilt files\r\n$ quilt diff [-P patchname]\r\n$ quilt graph [--all]\r\n$ quilt patches fname\r\n$ quilt annotate fname\r\n$ quilt applied\r\n$ quilt unapplied</code></pre>\r\n<h2 id=\"hpr-exhortation\">HPR exhortation</h2>\r\n<p>You\'ve been listening to Hacker Public Radio. Anyone can make a show -if I can do it, so can you.</p>\r\n',357,0,0,'CC-BY-SA','quilt, patch, diff, plain-text, editor',0,0,1),
(2627,'2018-08-28','Home Phone Setup!!',1402,'This episode we set up a small phone system.','<p>I’m not sure what the echoing is about. It could be picked up from my cell phone’s speaker. Also, I call ftp “tiny ftp” It actually stands for “trivial ftp”</p>\r\n<p><img src=\"https://theadesilva.com/hpr_phone1.jpg\" alt=\"https://theadesilva.com/hpr_phone1.jpg\" /> <img src=\"https://theadesilva.com/hpr_phone2.jpg\" alt=\"https://theadesilva.com/hpr_phone2.jpg\" /> <img src=\"https://theadesilva.com/hpr_phone3.jpg\" alt=\"https://theadesilva.com/hpr_phone3.jpg\" /> <img src=\"https://theadesilva.com/hpr_phone4.jpg\" alt=\"https://theadesilva.com/hpr_phone4.jpg\" /></p>\r\n<p>tftp file for xinetd:</p>\r\n<pre><code>service tftp\r\n{\r\n protocol = udp\r\n port = 69\r\n socket_type = dgram\r\n wait = yes\r\n user = nobody\r\n server = /usr/sbin/in.tftpd\r\n server_args = /tftpboot\r\n disable = no\r\n per_source = 11\r\n cps = 100 2\r\n flags = IPv4\r\n}</code></pre>\r\n<p>voipbuster config files look like this:</p>\r\n<pre><code>SIPDefault.cnf:\r\n  nat_enable: 1\r\n\r\nSIP&lt;mac address&gt;.cnf:\r\nproxy1_address: sip.voipbuster.com\r\nline1_name: outside\r\nline1_authname: &lt;user&gt;\r\nline1_displayname: outside\r\nline1_password: &lt;password&gt;</code></pre>\r\n<p>github projects:</p>\r\n<ul>\r\n<li><p>SIP_Pi: <code>github.com/fabianhu/SIP_Pi (PjSIP: https://www.pjsip.org/release/2.1/pjproject-2.1.tar.bz2 )</code></p></li>\r\n<li><p>Messenger-CLI: <code>github.com/AstroCB/Messenger-CLI</code></p></li>\r\n</ul>\r\n<p>scripts:</p>\r\n<pre><code>=============================\r\nconst login = require(&quot;facebook-chat-api&quot;);\r\n\r\nlogin({email: &quot;FB_EMAIL&quot;, password &quot;FB_PASSWORD&quot;}, (err, api) =&gt;\r\n{\r\n  if(err) return console.error(err);\r\n  api.listen((err,message) =&gt; {\r\n   api.sendMessage(message.body, message.threadID);\r\n  });\r\n});\r\n\r\n=============================\r\n\r\n#!/bin/sh\r\nlame &quot;$2&quot; -o &quot;$2&quot;.mp3\r\n\r\nscp &quot;$2.mp3&quot; planetearth.us:\r\nssh planetearth.us ./runner &quot;&quot;$2.mp3&quot;&quot;\r\n\r\n==============================\r\n\r\n#!/bin/sh\r\n\r\necho &quot;$@&quot; | sed -e s/ /_/g &gt; runner_tmp\r\ndoas mv &quot;$1&quot; /var/www/theadesilva.com/html/$cat runner_tmp)\r\nnode ./oo.js\r\n\r\n==============================\r\n\r\nfs= require(&#39;fs&#39;);\r\nlogin = require(&#39;facebook-chat-api&#39;);\r\n\r\nfs.readFile(&#39;runner_tmp&#39;, &#39;utf8&#39;, function (err, data) {\r\n login({email: &quot;FB_EMAIL&quot;, password: &quot;FB_PASSWORD&quot;}) =&gt; {\r\n  if(err) return console.error(err);\r\n\r\n  api.sendMessage(&quot;New voicemail at 1109&#39;s front door &quot;https://theadesilva.com/&quot; + data + &quot;&quot;&quot; , THREAD_ID);\r\n });\r\n});\r\n\r\n===============================</code></pre>\r\n',115,0,0,'CC-BY-SA','sip kamailio ',0,0,1),
(2637,'2018-09-11','Convert it to Text',981,'This episode will make you want to TXT all the things.','<h2 id=\"why-use-plain-text\">Why use plain text?</h2>\n<ul>\n<li>Portability</li>\n<li>Use with Unix tools</li>\n<li>Use with Ranger</li>\n</ul>\n<h2 id=\"ranger-for-the-win\">Ranger for the win</h2>\n<ul>\n<li><a href=\"https://savannah.nongnu.org/projects/ranger\">Ranger</a> is a free console file manager that gives you greater flexibility and a good overview of your files without having to leave your *nix console. It visualizes the directory tree in two dimensions: the directory hierarchy on one, lists of files on the other, with a preview to the right so you know where you’ll be going.</li>\n<li>The scope functionality is where converting to text pays off. Located at <code>$HOME/.config/ranger/scope.sh</code>, scope is the feature that allows for file preview from inside the console. Text files are highlighted based on their file extension, for non-text files, different converters can be used to coerce the file into a text representation. Some items are available out of the box, but the configuration is written in such a way that any text can be presented in the preview screen.</li>\n<li>The basic format of the scope switch statement is as follows:</li>\n</ul>\n<pre><code>case &quot;$extension&quot; in\n    odt|odp)\n        try odt2txt &quot;$path&quot; &amp;&amp; { dump | trim | fmt -s -w $width; exit 0; };;</code></pre>\n<h2 id=\"tools-in-the-toolset\">Tools in the toolset</h2>\n<ul>\n<li>atool</li>\n<li>caca-utils</li>\n<li>poppler-utils</li>\n<li>catdoc</li>\n<li>catppt</li>\n<li>odt2txt</li>\n<li>ods2tsv</li>\n<li>docx2txt</li>\n<li>xlsx2csv</li>\n<li>mediainfo</li>\n<li>lynx/w3m/elinks</li>\n<li>highlight</li>\n</ul>\n<h2 id=\"bonus-tools\">Bonus tools</h2>\n<ul>\n<li>q</li>\n<li>jq</li>\n<li>xmlstarlet</li>\n</ul>\n',300,0,0,'CC-BY-SA','Unix,text,portability,ranger',0,0,1),
(2628,'2018-08-29','UK Telephone Network Exploration',589,'I describe the process of finding interesting phone numbers on the UK telephone network.','<p>If you have any questions regarding the show. Please leave them on the show page, or email me at <a href=\"mailto:james@jamesdotcom.com\">james@jamesdotcom.com</a> or twitter <code>@Xtrato</code>.</p>\r\n<p>My PGP key can be found here: <a href=\"https://jamesdotcom.com/pub.txt\" class=\"uri\">https://jamesdotcom.com/pub.txt</a></p>\r\n',368,0,0,'CC-BY-SA','UK telephone network,British Telecom,BT',0,0,1),
(2630,'2018-08-31','Open Source Gaming: Revisiting Meridian 59',229,'Discussing the  steam release of Meridian 59 (recorded before release)','<ul>\r\n<li><p>The game’s steam page<br />\r\n<a href=\"https://store.steampowered.com/app/893390/Meridian_59/\" class=\"uri\">https://store.steampowered.com/app/893390/Meridian_59/</a></p></li>\r\n<li><p>Community group on steam<br />\r\n<a href=\"https://steamcommunity.com/groups/m59\" class=\"uri\">https://steamcommunity.com/groups/m59</a></p></li>\r\n<li><p>Game website and source code<br />\r\n<a href=\"https://www.meridian59.com/\" class=\"uri\">https://www.meridian59.com/</a></p></li>\r\n<li><p>Article on the steam launch<br />\r\n<a href=\"https://www.mmobomb.com/news/meridian-59-game-launched-90s-finally-decides-hop-steam/\" class=\"uri\">https://www.mmobomb.com/news/meridian-59-game-launched-90s-finally-decides-hop-steam/</a></p></li>\r\n<li><p>Meridian 59 facebook group<br />\r\n<a href=\"https://www.facebook.com/groups/40338181227/?ref=br_rs\" class=\"uri\">https://www.facebook.com/groups/40338181227/?ref=br_rs</a></p></li>\r\n</ul>\r\n',354,0,1,'CC-BY-SA','Meridian 59,Steam',0,0,1),
(2633,'2018-09-05','Elm - First Impressions',1819,'My first impressions on Elm programming language','<ul>\r\n<li>Official site: <a href=\"https://elm-lang.org/\" class=\"uri\">https://elm-lang.org/</a></li>\r\n<li>Online package repository: <a href=\"https://package.elm-lang.org/\" class=\"uri\">https://package.elm-lang.org/</a></li>\r\n<li>please-focus (package for writing lenses): <a href=\"https://package.elm-lang.org/packages/SwiftsNamesake/please-focus/latest\" class=\"uri\">https://package.elm-lang.org/packages/SwiftsNamesake/please-focus/latest</a></li>\r\n<li>json-extra (for working with json): <a href=\"https://package.elm-lang.org/packages/elm-community/json-extra/latest\" class=\"uri\">https://package.elm-lang.org/packages/elm-community/json-extra/latest</a></li>\r\n<li>elm-decode-pipeline (another library for decoding json): <a href=\"https://package.elm-lang.org/packages/NoRedInk/elm-decode-pipeline/latest\" class=\"uri\">https://package.elm-lang.org/packages/NoRedInk/elm-decode-pipeline/latest</a></li>\r\n</ul>\r\n',364,0,1,'CC-BY-SA','elm, first impressions, programming language',0,0,1),
(2634,'2018-09-06','Git tag and metadata',1149,'An intro to git tags and how to view metadata about your Git repository.','<p>Tag a commit:</p>\r\n\r\n<pre>\r\n$ git tag 0.1\r\n$ git tag\r\n0.1\r\n</pre>\r\n\r\n<p>\r\nDelete a tag:\r\n</p>\r\n\r\n<pre>\r\n$ git tag -d 0.1\r\n</pre>\r\n\r\n<p>\r\nGet the latest commit hash:\r\n</p>\r\n\r\n<pre>\r\n$ git rev-list --tags --max-count=1\r\n94c5715694c5715687a962008dd71191460fc4e32370425a\r\n</pre>\r\n\r\n<p>\r\nGet any tag on a commit:\r\n</p>\r\n\r\n<pre>\r\n$ git describe --tags 94c5715\r\n0.1\r\n</pre>\r\n\r\n',78,104,0,'CC-BY-SA','git',0,0,1),
(2635,'2018-09-07','Running your own mainframe on Linux (for fun and profit)',3321,'This talk is about running your own mainframe on your own hardware.','<p>Yes, this talk is about running your own mainframe on your own hardware. Mainframes are old, yes, but they are still very much alive. New hardware is still being developed and there are a lot of fresh jobs in this area too. A lot of mainframes run COBOL workloads. COBOL is far from a dead language. It processes an estimated 85% of all business transactions, and 5 billion lines of new COBOL code are written every year. In this session the speaker will help you in take your first steps towards running your own mainframe. If you like then after this session you can continue to build your knowledge of mainframe systems using the links provided during the talk. Come on in and learn the basics of a completely different computer system! And it will take you less than an hour to do that!</p>',369,0,0,'CC-BY-SA','hercules,linux',0,0,1),
(2660,'2018-10-12','Installing a bootloader on an Arduino',399,'Ken uses a Arduino Uno to load a bootloader on an Arduino Nano','<p>\r\nIn this show you will learn how to install a bootloader on an Arduino using another Arduino via In-Circuit Serial Programming (ICSP)\r\n</p>\r\n\r\n<p>\r\nAll credit goes to <a href=\"https://www.sparkfun.com/users/150033\">M-SHORT</a> over at <a href=\"https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader\">SparkFun</a> for the excellent tutorial.\r\n</p>\r\n\r\n<ol>\r\n<li>Arduino IDE &gt; File &gt; Examples &gt; 11.ArduinoISP &gt; ArduinoISP</li>\r\n<li>Tools &gt; Board &gt; {your board}</li>\r\n<li>Tools &gt; Programmer &gt; Arduino as ISP</li>\r\n<li>Tools &gt; Burn Bootloader</li>\r\n</ol>',30,0,1,'CC-BY-SA','Arduino, Boot Loader, ISP, ICSP',0,0,1),
(2620,'2018-08-17','Thoughts on language learning part 1',1471,'My thoughts on an approach to language learning which makes sense to me.','<p>This is the first part of a 3 part series in which I ramble on about my thoughts on language learning. I’m no expert and I barely know one language well. In a nutshell:</p>\r\n<ol type=\"1\">\r\n<li>Teach as much as possible in the new language, focusing on vocabulary.</li>\r\n<li>Rather than starting with baby books, which might not be a bad idea, try to use a similar approach but assume the learners know a bit about how the world works.</li>\r\n<li>The goal is to get to about age 5-6 level in vocabulary so the learner can then switch to language books in the new language which already exist.</li>\r\n</ol>',151,0,0,'CC-0','spoken language learning',0,0,1),
(2622,'2018-08-21','Raspberry Pi Temperaturator',272,'I invite my 6 year-old daughter on to discuss how we setup a temperature monitor on her pi','<h2>Items used</h2>\r\n<ul>\r\n<li>Raspberry pi 3 B</li>\r\n<li>0.25 watt resistors</li>\r\n<li>Reusable breadboard</li>\r\n<li>One Wire thermal probe</li>\r\n<li>Various jump wires</li>\r\n</ul>\r\n',300,103,1,'CC-BY-SA','raspberry pi',0,0,1),
(2625,'2018-08-24','My thoughts on language learning communication applications.',980,'I discuss some of my thoughts regarding using chat programs in language learning','<p>This is the second in the series of my thoughts on language learning. In this episode I talk about it might be useful to modify existing chat programs to use two spell checking databases, one for the native language and one for the new language and have words removed from the native language dictionary as the learner advances.</p>\r\n<p>I did forget to mention that something similar might be done with the grammar checkers, too.</p>\r\n',151,0,0,'CC-0','spoken language learning',0,0,1),
(2647,'2018-09-25','More Quick Tips',1010,'More Quick Tips For July - Only Key and Nerf Guns','<p><a href=\"https://onlykey.io/collections/all/products/onlykey-color-secure-password-manager-and-2-factor-token-u2f-yubikey-otp-google-auth-make-password-hacking-obsolete?variant=469626486828\" class=\"uri\">https://onlykey.io/collections/all/products/onlykey-color-secure-password-manager-and-2-factor-token-u2f-yubikey-otp-google-auth-make-password-hacking-obsolete?variant=469626486828</a></p>\r\n<p>Nerf</p>\r\n<ul>\r\n<li><a href=\"https://smile.amazon.com/gp/product/B00BXM6KFS\" class=\"uri\">https://smile.amazon.com/gp/product/B00BXM6KFS</a></li>\r\n<li><a href=\"https://smile.amazon.com/gp/product/B00DW1JT5G\" class=\"uri\">https://smile.amazon.com/gp/product/B00DW1JT5G</a></li>\r\n</ul>\r\n',36,0,1,'CC-BY-SA','Nerf gun,dart,OnlyKey,password',0,0,1),
(2652,'2018-10-02','Liverpool Makefest 2018 - Interview with Caroline and John',440,'This is the final interview from this years Liverpool Makefest','<p>This is the final interview from this years Makefest in Liverpool. In this interview I interview one of the founder members of Makefest, Caroline Keep, and the Head Teacher of the school where she works, John Carling.</p>\r\n<p><a href=\"https://lpoolmakefest.org/\" class=\"uri\">https://lpoolmakefest.org/</a></p>\r\n',338,78,0,'CC-BY-SA','Liverpool Makefest 2018, computing, young coders, hackers, makers, crafts',0,0,1),
(2629,'2018-08-30','Thoughts on language learning part 3 - game/story mode.',1564,'I discuss some of my thoughts on how games might help in language learning.','<p>This is the last of 3 parts on my thoughts on language learning. This one introduces my thoughts on how games might be used in language learning. More or less the same concepts from the first two episodes only applied to game/story design.</p>\r\n<p>NOTE: I’m not a game designer.</p>\r\n<p>On the off chance this sounds interesting to you, hpr2620 and hpr2625 are the other two.</p>',151,0,0,'CC-BY-SA','spoken language learning',0,0,1),
(2623,'2018-08-22','Actors and Agents, Sprites and Fractals',3426,'In which I sit down with cwebber and try to keep it short, but end up with an hour of tangents','<p>Plugs:</p>\r\n<ul>\r\n<li><p>Chris works on <a href=\"https://w3c-ccg.github.io/ocap-ld/\">Object Capabilities for Linked Data</a> (OCAP-LD) and other things for a living, at <a href=\"https://digitalbazaar.com/\" class=\"uri\">https://digitalbazaar.com/</a> .</p></li>\r\n<li><p>clacke works at <a href=\"https://fractalide.com/\" class=\"uri\">https://fractalide.com/</a> making better tools for future programmers.</p></li>\r\n<li><p>We’re both fortunate enough to have the chance to get paid for creating all Free Software.</p></li>\r\n<li><p>Christopher Lemmer Webber and Morgan Lemmer Webber will be speaking at <a href=\"https://con.racket-lang.org/\">RacketCon 2018</a> on the topic <em>Racket for Everyone (Else)</em>, how non-programmers can do &quot;programmable publishing&quot; using Scribble when writing humanities papers, and how Racket could better target not just beginner programmers and hard-core language theorists, but also the huge space in between.</p></li>\r\n</ul>\r\n<p>More information on the topics covered:</p>\r\n<ul>\r\n<li><p>For my last show with Chris, see <a href=\"https://hackerpublicradio.org/eps.php?id=2198\">hpr2198 :: How awesome is Guix and why will it take over the world</a></p></li>\r\n<li><p>His Actors library for Guile Scheme is <a href=\"https://www.gnu.org/software/8sync/\">8sync</a>. A video of him playing in front of an audience with the Multi-User Dungeon (MUD) on top of 8sync is available on the front page.</p></li>\r\n<li><p>Spritely, the media sharing platform that may or may not be the next MediaGoblin, is currently vaporware, but the underlying <a href=\"https://gitlab.com/spritely/goblins/\">Goblins</a> Actors library for Racket is real and works.</p></li>\r\n<li><p>Wikipedia has more on the <a href=\"https://en.wikipedia.org/wiki/Actor_model\">Actor Model</a>, <a href=\"https://en.wikipedia.org/wiki/Flow-based_programming\">Flow-Based Programming</a> and <a href=\"https://en.wikipedia.org/wiki/Object-capability_model\">Object Capabilities</a> (OCap).</p></li>\r\n<li><p>We also mentioned in passing <a href=\"https://en.wikipedia.org/wiki/Communicating_sequential_processes\">Communicating Sequential Processes</a>.</p></li>\r\n<li><p>I knew that OCap grew up in the context of <a href=\"https://en.wikipedia.org/wiki/E_(programming_language)\">E</a>, but I didn’t know that E itself actually grew out of the needs of a form of MUD, built by Electric Communities (EC). I’m guessing this is the graphical MMORPG <a href=\"https://en.wikipedia.org/wiki/Habitat_(video_game)\">Habitat</a> that EC built for Lucasfilm back in 1986, for the Commodore 64. Some writing about EC and the philosophy and experience around what they did is collected at <a href=\"https://www.crockford.com/ec/\" class=\"uri\">https://www.crockford.com/ec/</a>.</p></li>\r\n<li><p><a href=\"https://en.wikipedia.org/wiki/Language-oriented_programming\">Language-oriented programming</a> (LOP) is an old LISP methodology: Understand the problem, write a language for describing and solving the problem, write the solution in that language. Racket (itself a LISP) is heavily focused on this, and comes with a whole slew of languages out of the box. The Racket slogan on <a href=\"https://racket-lang.org/\" class=\"uri\">https://racket-lang.org/</a> is &quot;solve problems — make languages&quot;.</p></li>\r\n<li><p><a href=\"https://cacm.acm.org/magazines/2018/3/225475-a-programmable-programming-language/fulltext\">A recent ACM article</a> describes in depth what the challenges of good LOP are, and how Racket helps the programmer work with it.</p></li>\r\n</ul>\r\n',311,0,0,'CC-BY-SA','flow-based, actors, fractalide, racket, ocap, mud, programming',0,0,1),
