2023-11-02_08-28-05Z_Thursday database changed

This commit is contained in:
ken_fallon committed 2023-11-02 09:28:05 +01:00
1 parent 6ad57b5388
commit 6fee79d30d
1 file changed
+22 -9
+22 -9
View File
@@ -12551,7 +12551,19 @@ INSERT INTO `assets` (`episode_id`, `filename`, `extension`, `size`, `sha1sum`,
(3982,'hpr3982.spx','spx',1128194,'dcaeee6c1758a88286391bf04b0b01d65a8383e9','audio/ogg; charset=binary','setgid Ogg data, Speex audio'),
(3982,'hpr3982.flac','flac',20406744,'69b296f82fa82f04beeb90c9cc27d5894b16d311','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 57327138 samples'),
(3982,'hpr3982.opus','opus',2391965,'ee2c8374d6978d17856d410a083dbcca613897fe','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'),
(3982,'hpr3982.wav','wav',114655678,'ba2a7500c7217848382a1d887dd009a0949be466','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz');
(3982,'hpr3982.wav','wav',114655678,'ba2a7500c7217848382a1d887dd009a0949be466','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'),
(3984,'hpr3984.mp3','mp3',14486753,'b7975951417292fa67f9c60081b771fb7e4db769','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'),
(3984,'hpr3984.ogg','ogg',17101392,'47ab31ce614dd79d9f7ef3de9187051aa705af20','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'),
(3984,'hpr3984.spx','spx',6839155,'2c094bdca1be8acac6a9040e1bd207a8bcc22962','audio/ogg; charset=binary','setgid Ogg data, Speex audio'),
(3984,'hpr3984.flac','flac',141615814,'09820e48a0faea0cc3ff9845250358969233e04a','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 347634547 samples'),
(3984,'hpr3984.opus','opus',17101710,'5437455c89f8f435e7e7b281dd1be3b8fdb13498','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'),
(3984,'hpr3984.wav','wav',695270558,'9751bc4bb46e0f595a9196ca8374f0c90271626c','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'),
(3985,'hpr3985.mp3','mp3',13802235,'2e2e01513e3514335a243cdace4a06d6bf83b33f','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'),
(3985,'hpr3985.ogg','ogg',14033110,'49adc4efc32ff119401f416afdf9c45fee48d5c2','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'),
(3985,'hpr3985.spx','spx',6515972,'5b846050b6a3923a3112a7a92f4304c6680a9e95','audio/ogg; charset=binary','setgid Ogg data, Speex audio'),
(3985,'hpr3985.flac','flac',140216737,'35d01c126c4d249d635e3753b3450a15a133e16f','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 331205020 samples'),
(3985,'hpr3985.opus','opus',14033390,'fd7a233a952487e2a0368953bfb20c960367ff33','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'),
(3985,'hpr3985.wav','wav',662411466,'6de3f1137121d26867dbd18fccc191fb3acaac80','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz');
/*!40000 ALTER TABLE `assets` ENABLE KEYS */;
UNLOCK TABLES;
@@ -20191,7 +20203,7 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti
(3707,'2022-10-18','Recovering a Massive 3.5 HP Electric Motor from a Treadmill',1006,'Retrieval of future robot parts in the field','<p><em>Figure 1 - trash</em><br />\n<a href=\"https://hackerpublicradio.org/eps/hpr3707/fig1trash.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3707/fig1trash_thumbnail.jpg\" alt=\"Figure 1 - trash\" /></a> <br/><small><small><em>Click the thumbnail to see the full-sized image</em></small></small></p>\n<p><em>Figure 2 - close-up</em><br />\n<a href=\"https://hackerpublicradio.org/eps/hpr3707/fig2close.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3707/fig2close_thumbnail.jpg\" alt=\"Figure 2 - close-up\" /></a> <br/><small><small><em>Click the thumbnail to see the full-sized image</em></small></small></p>\n<p><em>Figure 3 - screen</em><br />\n<a href=\"https://hackerpublicradio.org/eps/hpr3707/fig3screen.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3707/fig3screen_thumbnail.jpg\" alt=\"Figure 3 - screen\" /></a> <br/><small><small><em>Click the thumbnail to see the full-sized image</em></small></small></p>\n<p><em>Figure 3 - parts collected</em><br />\n<a href=\"https://hackerpublicradio.org/eps/hpr3707/fig4gets.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3707/fig4gets_thumbnail.jpg\" alt=\"Figure 3 - parts collected\" /></a> <br/><small><small><em>Click the thumbnail to see the full-sized image</em></small></small></p>\n<p><em>Figure 5 - scrap iron</em><br />\n<a href=\"https://hackerpublicradio.org/eps/hpr3707/fig5iron.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3707/fig5iron_thumbnail.jpg\" alt=\"Figure 5 - scrap iron\" /></a> <br/><small><small><em>Click the thumbnail to see the full-sized image</em></small></small></p>\n<p><em>Figure 6 - size comparison</em><br />\n<a href=\"https://hackerpublicradio.org/eps/hpr3707/fig6compare.jpg\"><img src=\"https://hackerpublicradio.org/eps/hpr3707/fig6compare_thumbnail.jpg\" alt=\"Figure 6 - size comparison\" /></a> <br/><small><small><em>Click the thumbnail to see the full-sized image</em></small></small></p>\n',401,0,1,'CC-BY-SA','beam,righttorepair,robots,mechatronics',0,0,1),
(3709,'2022-10-20','Relationships to games and console generations',568,'Some ramblings about what next generation consoles used to mean to games, gamers and game developers','<p>I talk about my views on how much of an impact technological jumps\nused to make on gaming in previous decades vs this decade.</p>\n',412,0,0,'CC-BY-SA','Video Games, Game Consoles',0,0,1),
(3715,'2022-10-28','Secret hat conversations, Part 2.',3899,'Twin Tin Hats, feat. archer72.','<ul>\n<li><p><strong>Quantum computing</strong></p>\n<ul>\n<li><a href=\"https://en.wikipedia.org/wiki/Quantum_computing\">Quantum\ncomputing</a> is a type of computation whose operations can harness the\nphenomena of quantum mechanics, such as superposition, interference, and\nentanglement. Devices that perform quantum computations are known as\nquantum computers. Though current quantum computers are too small to\noutperform usual (classical) computers for practical applications,\nlarger realizations are believed to be capable of solving certain\ncomputational problems, such as integer factorization (which underlies\nRSA encryption), substantially faster than classical computers.</li>\n<li>Today&#x2019;s <a\nhref=\"https://www.intel.com/content/www/us/en/research/quantum-computing.html\">quantum\nsystems</a> only include tens or hundreds of entangled qubits, limiting\nthem from solving real-world problems. To achieve quantum practicality,\ncommercial quantum systems need to scale to over a million qubits and\novercome daunting challenges like qubit fragility and software\nprogrammability.</li>\n<li><a\nhref=\"https://www.cnet.com/tech/computing/quantum-computers-could-crack-todays-encrypted-messages-thats-a-problem/\">Quantum\ncomputers</a>, if they mature enough, will be able to crack much of\ntoday\'s encryption. That\'ll lay bare private communications, company\ndata and military secrets. Today\'s quantum computers are too rudimentary\nto do so. But data surreptitiously gathered now could still be sensitive\nwhen more powerful quantum computers come online in a few years.</li>\n<li><a\nhref=\"https://www.intego.com/mac-security-blog/how-quantum-computing-will-affect-computer-security-and-passwords/\">Simple\npasswords</a> can be cracked using brute force; this is where an\nattacker uses tools that try every possible password until the correct\none is found. This generally done using a dictionary attack, where an\nattacker will try known passwords and words until they find the one that\nunlocks an account. There are databases available on the internet that\ncontain personal names as well as dictionary and slang words, in scores\nof languages, along with passwords found in data breaches, and\nmore.</li>\n</ul></li>\n<li><p><strong>Encryption.</strong></p>\n<ul>\n<li>The <a\nhref=\"https://www.nist.gov/publications/advanced-encryption-standard-aes\">Advanced\nEncryption Standard</a> (AES) specifies a FIPS-approved cryptographic\nalgorithm that can be used to protect electronic data. The AES algorithm\nis a symmetric block cipher that can encrypt (encipher) and decrypt\n(decipher) information. Encryption converts data to an unintelligible\nform called ciphertext; decrypting the ciphertext converts the data back\ninto its original form, called plaintext. The AES algorithm is capable\nof using cryptographic keys of 128, 192, and 256 bits to encrypt and\ndecrypt data in blocks of 128 bits.</li>\n<li>The National Security Agency (NSA) reviewed all the <a\nhref=\"https://en.wikipedia.org/wiki/Advanced_Encryption_Standard\">AES</a>\nfinalists, including Rijndael, and stated that all of them were secure\nenough for U.S. Government non-classified data. In June 2003, the U.S.\nGovernment announced that AES could be used to protect classified\ninformation: For cryptographers, a cryptographic \"break\" is anything\nfaster than a brute-force attack &#x2013; i.e., performing one trial decryption\nfor each possible key in sequence. A break can thus include results that\nare infeasible with current technology. Despite being impractical,\ntheoretical breaks can sometimes provide insight into vulnerability\npatterns. The largest successful publicly known brute-force attack\nagainst a widely implemented block-cipher encryption algorithm was\nagainst a 64-bit RC5 key by distributed.net in 2006.</li>\n</ul></li>\n<li><p><strong>Password Management.</strong></p>\n<ul>\n<li><a href=\"https://bitwarden.com/\">Bitwarden</a></li>\n<li><a href=\"https://keepassxc.org/\">KeepassXC</a></li>\n<li><a\nhref=\"https://www.mass.gov/guides/password-best-practices-and-recommendations\">Tips\nfor creating a strong password</a>\n<ul>\n<li>Enable Two-Factor authentication whenever possible. While a great\npassphrase will help secure you and the Commonwealth&#x2019;s data, a second\nfactor makes it that much more difficult for hackers to gain\naccess.</li>\n</ul></li>\n</ul></li>\n<li><p><strong>Password Generation.</strong></p>\n<ul>\n<li>pwgen : found in most linux repos</li>\n<li><a href=\"https://linux.die.net/man/1/pwgen\"\ntitle=\"Man page for pwgen\npassword generator\">Man page for pwgen</a></li>\n<li>Example : pwgen -y 50 3 : generates a 50 character password with\nsymbols, with 3 choices</li>\n</ul></li>\n<li><p><strong>Google and Amazon are listening</strong></p>\n<ul>\n<li><a\nhref=\"https://www.cnet.com/home/smart-home/amazon-and-google-arLine truncated
(3981,'2023-11-06','HPR Community News for October 2023',0,'HPR Volunteers talk about shows released and comments posted in October 2023','<style>\ntable td.shrink {\n white-space:nowrap\n}\nhr.thin {\n border: 0;\n height: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n border-bottom: 1px solid rgba(255, 255, 255, 0.3);\n}\np#ignore, li#ignore {\n background-color: lightgreen;\n color:maroon;\n}\ndiv#highlight {\n border-style: solid;\n border-color: red;\n padding-right: 20px;\n padding-left: 20px;\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nWelcome to our new host: <br />\n\n <a href=\"https://hackerpublicradio.org/correspondents/0425.html\" target=\"_blank\">gemlog</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/hpr3956/index.html\" target=\"_blank\">3956</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2023-10-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3956/index.html\" target=\"_blank\">HPR Community News for September 2023</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/hpr3957/index.html\" target=\"_blank\">3957</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2023-10-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3957/index.html\" target=\"_blank\">The Oh No! News.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3958/index.html\" target=\"_blank\">3958</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2023-10-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3958/index.html\" target=\"_blank\">Bikepacking in 1993 without technology</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/hpr3959/index.html\" target=\"_blank\">3959</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2023-10-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3959/index.html\" target=\"_blank\">Download any HPR series with english file names</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0425.html\" target=\"_blank\">gemlog</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3960/index.html\" target=\"_blank\">3960</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2023-10-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3960/index.html\" target=\"_blank\">On The Road At Last</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/hpr3961/index.html\" target=\"_blank\">3961</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2023-10-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3961/index.html\" target=\"_blank\">RERE: How to make friends.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3962/index.html\" target=\"_blank\">3962</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2023-10-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3962/index.html\" target=\"_blank\">It\'s your data</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/hpr3963/index.html\" target=\"_blank\">3963</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2023-10-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3963/index.html\" target=\"_blank\">Storytelling Games</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0399.html\" target=\"_blank\">dnt</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3964/index.html\" target=\"_blank\">3964</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2023-10-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3964/index.html\" target=\"_blank\">Hacker Public Radio at OLF</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0270.html\" target=\"_blank\">Thaj Sara</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3965/index.html\" target=\"_blank\">3965</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2023-10-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3965/index.html\" target=\"_blank\">I\'ve taken the Conqueror Virtual Challenge</a></td>\n<td><a href=\"https://hackerpublicradio.orLine truncated
(3981,'2023-11-06','HPR Community News for October 2023',0,'HPR Volunteers talk about shows released and comments posted in October 2023','<style>\ntable td.shrink {\n white-space:nowrap\n}\nhr.thin {\n border: 0;\n height: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n border-bottom: 1px solid rgba(255, 255, 255, 0.3);\n}\np#ignore, li#ignore {\n background-color: lightgreen;\n color:maroon;\n}\ndiv#highlight {\n border-style: solid;\n border-color: red;\n padding-right: 20px;\n padding-left: 20px;\n}\n</style>\n\n<h2>New hosts</h2>\n<p>\nWelcome to our new host: <br />\n\n <a href=\"https://hackerpublicradio.org/correspondents/0425.html\" target=\"_blank\">gemlog</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/hpr3956/index.html\" target=\"_blank\">3956</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2023-10-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3956/index.html\" target=\"_blank\">HPR Community News for September 2023</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/hpr3957/index.html\" target=\"_blank\">3957</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2023-10-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3957/index.html\" target=\"_blank\">The Oh No! News.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3958/index.html\" target=\"_blank\">3958</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2023-10-04</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3958/index.html\" target=\"_blank\">Bikepacking in 1993 without technology</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/hpr3959/index.html\" target=\"_blank\">3959</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2023-10-05</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3959/index.html\" target=\"_blank\">Download any HPR series with english file names</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0425.html\" target=\"_blank\">gemlog</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3960/index.html\" target=\"_blank\">3960</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2023-10-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3960/index.html\" target=\"_blank\">On The Road At Last</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/hpr3961/index.html\" target=\"_blank\">3961</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2023-10-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3961/index.html\" target=\"_blank\">RERE: How to make friends.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3962/index.html\" target=\"_blank\">3962</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2023-10-10</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3962/index.html\" target=\"_blank\">It\'s your data</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/hpr3963/index.html\" target=\"_blank\">3963</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2023-10-11</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3963/index.html\" target=\"_blank\">Storytelling Games</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0399.html\" target=\"_blank\">dnt</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3964/index.html\" target=\"_blank\">3964</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2023-10-12</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3964/index.html\" target=\"_blank\">Hacker Public Radio at OLF</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0270.html\" target=\"_blank\">Thaj Sara</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3965/index.html\" target=\"_blank\">3965</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2023-10-13</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3965/index.html\" target=\"_blank\">I\'ve taken the Conqueror Virtual Challenge</a></td>\n<td><a href=\"https://hackerpublicradio.orLine truncated
(3800,'2023-02-24','NIST Quantum Cryptography Update 20221008',928,'An update on the preparations for quantum computing','<p>The process NIST initiated in 2016 continues as it looks for\nencryption algorithms that will be secure against the anticipated\narrival of practical quantum computing. In this update I report on the\nfirst 4 Candidates to be Standardized, and the timeline for completion.\nIt is coming faster than you may have realized.</p>\n<h2 id=\"links\">Links:</h2>\n<ul>\n<li><a href=\"https://miracl.com/blog/backdoors-in-nist-elliptic-curves/\"\nclass=\"uri\">https://miracl.com/blog/backdoors-in-nist-elliptic-curves/</a></li>\n<li><a href=\"https://en.wikipedia.org/wiki/Qubit\"\nclass=\"uri\">https://en.wikipedia.org/wiki/Qubit</a></li>\n<li><a href=\"https://en.wikipedia.org/wiki/Transport_Layer_Security\"\nclass=\"uri\">https://en.wikipedia.org/wiki/Transport_Layer_Security</a></li>\n<li><a href=\"https://csrc.nist.gov/Projects/post-quantum-cryptography\"\nclass=\"uri\">https://csrc.nist.gov/Projects/post-quantum-cryptography</a></li>\n<li><a\nhref=\"https://www.zwilnik.com/security-and-privacy/encryption-and-quantum-computing/\"\nclass=\"uri\">https://www.zwilnik.com/security-and-privacy/encryption-and-quantum-computing/</a></li>\n<li><a href=\"http://hackerpublicradio.org/eps.php?id=2860\"\nclass=\"uri\">http://hackerpublicradio.org/eps.php?id=2860</a></li>\n<li><a\nhref=\"https://www.zwilnik.com/security-and-privacy/nists-quantum-cryptography-update-20200815/\"\nclass=\"uri\">https://www.zwilnik.com/security-and-privacy/nists-quantum-cryptography-update-20200815/</a></li>\n<li><a href=\"http://hackerpublicradio.org/eps.php?id=3147\"\nclass=\"uri\">http://hackerpublicradio.org/eps.php?id=3147</a></li>\n<li><a\nhref=\"https://csrc.nist.gov/News/2016/Post-Quantum-Cryptography-Proposed-Requirements\"\nclass=\"uri\">https://csrc.nist.gov/News/2016/Post-Quantum-Cryptography-Proposed-Requirements</a></li>\n<li><a\nhref=\"https://csrc.nist.gov/Projects/post-quantum-cryptography/selected-algorithms-2022\"\nclass=\"uri\">https://csrc.nist.gov/Projects/post-quantum-cryptography/selected-algorithms-2022</a></li>\n<li><a\nhref=\"https://csrc.nist.gov/Projects/post-quantum-cryptography/round-4-submissions\"\nclass=\"uri\">https://csrc.nist.gov/Projects/post-quantum-cryptography/round-4-submissions</a></li>\n<li><a\nhref=\"https://csrc.nist.gov/projects/pqc-dig-sig/standardization/call-for-proposals\"\nclass=\"uri\">https://csrc.nist.gov/projects/pqc-dig-sig/standardization/call-for-proposals</a></li>\n<li><a\nhref=\"https://www.nist.gov/blogs/taking-measure/post-quantum-cryptography-qa-nists-matt-scholl\"\nclass=\"uri\">https://www.nist.gov/blogs/taking-measure/post-quantum-cryptography-qa-nists-matt-scholl</a></li>\n<li><a\nhref=\"https://thehackernews.com/2022/07/nist-announces-first-four-quantum.html\"\nclass=\"uri\">https://thehackernews.com/2022/07/nist-announces-first-four-quantum.html</a></li>\n<li><a href=\"https://csrc.nist.gov/Projects/post-quantum-cryptography\"\nclass=\"uri\">https://csrc.nist.gov/Projects/post-quantum-cryptography</a></li>\n<li><a\nhref=\"https://www.zwilnik.com/security-and-privacy/nist-quantum-cryptography-update-20221008/\"\nclass=\"uri\">https://www.zwilnik.com/security-and-privacy/nist-quantum-cryptography-update-20221008/</a></li>\n</ul>\n',198,74,0,'CC-BY-SA','NIST, Encryption, quantum computing',0,0,1),
(3810,'2023-03-10','Clifton, Arizona',963,'We move to another Arizona town, Clifton.','<p>We have left the Tucson area and moved up into the mountains to\nClifton, Arizona, a mining town. Arizona is a major source of Copper for\nthe U.S., and Clifton has one of the larger open pit mines in the world,\nand the largest in the U.S.</p>\n<h2 id=\"links\">Links:</h2>\n<ul>\n<li><a href=\"https://flic.kr/s/aHBqjzKQCb\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKQCb</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKSz8\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKSz8</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKTKL\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKTKL</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKUba\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKUba</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKSqt\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKSqt</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKUkN\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKUkN</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKU3S\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKU3S</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKXtk\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKXtk</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKXk8\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKXk8</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKYXo\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKYXo</a></li>\n<li><a href=\"https://flic.kr/s/aHBqjzKZr5\"\nclass=\"uri\">https://flic.kr/s/aHBqjzKZr5</a></li>\n<li><a href=\"https://www.palain.com/travel/clifton-arizona/\"\nclass=\"uri\">https://www.palain.com/travel/clifton-arizona/</a></li>\n</ul>\n',198,119,0,'CC-BY-SA','Travel, RV life, Arizona, Clifton',0,0,1),
(3820,'2023-03-24','Introduction to Gaming',991,'How I first got started with Computer Strategy Games','<p>This starts out the series on Computer Strategy Games, and we begin\nwith the game that got me hooked, the first Civilization game created by\nSid Meier and published by Microprose. Though it is pretty old now, it\nis still fond in my heart, and in the hearts of so many other gamers. If\nthis comes across as a love letter, so be it. We will also in this\nseries look at where you can obtain old games, and where you can find\nmore information about the games I cover.</p>\n<h2 id=\"links\">Links:</h2>\n<ul>\n<li><a href=\"https://en.wikipedia.org/wiki/Civilization_(series)\"\nclass=\"uri\">https://en.wikipedia.org/wiki/Civilization_(series)</a></li>\n<li><a href=\"https://en.wikipedia.org/wiki/4X\"\nclass=\"uri\">https://en.wikipedia.org/wiki/4X</a></li>\n<li><a\nhref=\"http://flashofsteel.com/index.php/2006/09/18/gamers-bookshelf-civilization-or-rome-on-640k-a-day/\"\nclass=\"uri\">http://flashofsteel.com/index.php/2006/09/18/gamers-bookshelf-civilization-or-rome-on-640k-a-day/</a></li>\n<li><a\nhref=\"https://www.amazon.com/Sid-Meiers-Civilization-Chronicles-PC/dp/B000IU1PQA\"\nclass=\"uri\">https://www.amazon.com/Sid-Meiers-Civilization-Chronicles-PC/dp/B000IU1PQA</a></li>\n<li><a href=\"https://playclassic.games/\"\nclass=\"uri\">https://playclassic.games/</a></li>\n<li><a href=\"https://www.myabandonware.com/\"\nclass=\"uri\">https://www.myabandonware.com/</a></li>\n<li><a\nhref=\"https://www.myabandonware.com/game/sid-meier-s-civilization-1nj\"\nclass=\"uri\">https://www.myabandonware.com/game/sid-meier-s-civilization-1nj</a></li>\n<li><a href=\"https://www.civfanatics.com/civ1/manual/civ1_man.htm\"\nclass=\"uri\">https://www.civfanatics.com/civ1/manual/civ1_man.htm</a></li>\n<li><a href=\"https://www.civfanatics.com/civ1/cia/\"\nclass=\"uri\">https://www.civfanatics.com/civ1/cia/</a></li>\n<li><a\nhref=\"https://forums.civfanatics.com/media/categories/civilization-gallery.16/\"\nclass=\"uri\">https://forums.civfanatics.com/media/categories/civilization-gallery.16/</a></li>\n<li><a href=\"https://www.youtube.com/watch?v=CkmHeepmjEc\"\nclass=\"uri\">https://www.youtube.com/watch?v=CkmHeepmjEc</a></li>\n<li><a href=\"https://www.youtube.com/watch?v=VF8Ribe5AFU\"\nclass=\"uri\">https://www.youtube.com/watch?v=VF8Ribe5AFU</a></li>\n<li><a href=\"https://www.youtube.com/watch?v=L7GkX4h-TP8\"\nclass=\"uri\">https://www.youtube.com/watch?v=L7GkX4h-TP8</a></li>\n<li><a href=\"https://www.youtube.com/watch?v=3UuXa3PRSGo\"\nclass=\"uri\">https://www.youtube.com/watch?v=3UuXa3PRSGo</a></li>\n<li><a href=\"https://www.youtube.com/watch?v=Q1d08T8_wI4\"\nclass=\"uri\">https://www.youtube.com/watch?v=Q1d08T8_wI4</a></li>\n<li><a href=\"https://www.youtube.com/watch?v=AJ-auWfJTts\"\nclass=\"uri\">https://www.youtube.com/watch?v=AJ-auWfJTts</a></li>\n<li><a\nhref=\"https://www.amazon.com/Sid-Meiers-Memoir-Computer-Games/dp/B08MNG8VX8/\"\nclass=\"uri\">https://www.amazon.com/Sid-Meiers-Memoir-Computer-Games/dp/B08MNG8VX8/</a></li>\n<li><a href=\"https://www.palain.com/gaming/sid-meiers-civilization/\"\nclass=\"uri\">https://www.palain.com/gaming/sid-meiers-civilization/</a></li>\n</ul>\n',198,122,0,'CC-BY-SA','Computer games, strategy games, Civilization',0,0,1),
@@ -20204,7 +20216,7 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti
(3712,'2022-10-25','The last ever CCHits.net Show',5756,'The team talk about the nearly 12 years of producing CCHits.net.','<p>Over 12 years ago, <a href=\"https://jon.sprig.gs\">Jon \"The Nice Guy\"\nSpriggs</a> went to a \"Pod Crawl\" with (among others) <a\nhref=\"https://thelovebug.org/\">Dave \"The Love Bug\" Lee</a>, where he\npitched the idea of a daily music promotion show, with a twist - it\nwould all be automated, and use text-to-speech to introduce\neverything.</p>\n<p>The <a href=\"https://cchits.net/show/1\">first show</a> was released\non 2010-10-24 and the last ever show (this one) was released on\n2022-10-12.</p>\n<p>Over the twelve years, Jon would go on to meet to meet <a\nhref=\"https://twitter.com/frenchguych\">Yannick</a> and Ken Fallon, both\nof whom would go on to shape changes (big and small) to CCHits.</p>\n<p>This year, the cracks started to re-appear in the architecture\nunderneath CCHits - between APIs shutting down that were used to load\ntracks to CCHits, and the general framework being used to write CCHits\nnot receiving the care and attention it needed... and the team finally\ndecided to stop adding new tracks, and let the process build the last\nfew shows.</p>\n<p>This podcast gives you a peek behind the curtain to the team involved\nin the system, and gives you some of the high- and low-lights in the 12\nyears the site ran for.</p>\n',413,0,0,'CC-BY','music,creative commons,podcast',0,0,1),
(3724,'2022-11-10','My top Android apps',579,'I walk through the top apps on my phone','<h3 id=\"my-most-used-apps\">My most used apps</h3>\n<h3 id=\"aio-launcher\">AIO Launcher</h3>\n<ul>\n<!-- <li><a href=\"%5B%5D(https://aiolauncher.app%20%22AIO%20Launcher%22)\">AIO Launcher</a></li> -->\n<li><a href=\"https://aiolauncher.app\" title=\"AIO Launcher\">AIO Launcher</a></li>\n</ul>\n<p><img src=\"https://hackerpublicradio.org/eps/hpr3724/main_sm.png\"\ntitle=\"Main screen\" alt=\"Main screen\" /></p>\n<p><img\nsrc=\"https://hackerpublicradio.org/eps/hpr3724/quick_launch_sm.png\"\ntitle=\"Quick Launch screen\" alt=\"Quick Launch screen\" /></p>\n<p><img\nsrc=\"https://hackerpublicradio.org/eps/hpr3724/side_panel_sm.png\"\ntitle=\"Side panel screen\" alt=\"Side panel screen\" /></p>\n<h4 id=\"termux-terminal-emulator-with-packages\">Termux: Terminal\nemulator with packages</h4>\n<ul>\n<li><p><a href=\"https://f-droid.org/en/packages/com.termux\"\ntitle=\"Termux: Terminal emulator with packages\">Termux: Terminal\nemulator with packages</a></p></li>\n<li><p>Connect to the home network</p>\n<ul>\n<li>Start a video encoding, or rip a DVD</li>\n</ul></li>\n<li><p>Vim editor</p></li>\n<li><p>Secure files</p>\n<ul>\n<li>pwgen -y 30 3: Generate three 30 character passwords with\nsymbols</li>\n<li>Other confidential info\n<ul>\n<li>hpr3484 :: My vim setup with GnuPG\n<ul>\n<li><a href=\"https://www.hackerpublicradio.org/eps.php?id=3484\"\ntitle=\"My vim setup with GnuPG\">My vim setup with GnuPG</a></li>\n</ul></li>\n</ul></li>\n</ul></li>\n</ul>\n<h4 id=\"qksms-messaging\">QKSMS Messaging</h4>\n<ul>\n<li><p><a href=\"https://f-droid.org/en/packages/com.moez.QKSMS\"\ntitle=\"QKSMS Messaging: F-droid\">QKSMS Messaging: F-droid</a></p></li>\n<li><p><a href=\"https://github.com/moezbhatti/qksms\"\ntitle=\"QKSMS Messaging: Github\">QKSMS Messaging: Github</a></p></li>\n</ul>\n<h4 id=\"firefox-browser\">Firefox browser</h4>\n<ul>\n<li><a\nhref=\"https://play.google.com/store/apps/details?id=org.mozilla.firefox\"\ntitle=\"Firefox browser\">Firefox browser</a></li>\n</ul>\n<h4 id=\"opera-browser\">Opera browser</h4>\n<ul>\n<li><a\nhref=\"https://play.google.com/store/apps/details?id=com.opera.browser\"\ntitle=\"Opera browser\">Opera browser</a></li>\n</ul>\n<h4 id=\"brave-browser\">Brave browser</h4>\n<ul>\n<li><a\nhref=\"https://play.google.com/store/apps/details?id=com.brave.browser\"\ntitle=\"Brave browser\">Brave browser</a></li>\n</ul>\n<h4 id=\"clear-scanner-pdf-scanner-and-ocr\">Clear Scanner PDF scanner and\nOCR</h4>\n<ul>\n<li><p><a href=\"https://indymobileapp.com\"\ntitle=\"Clear Scanner PDF scanner and OCR\">Clear Scanner PDF scanner and\nOCR</a></p>\n<ul>\n<li>OCR: Optical character recognition</li>\n<li>Multiple folders</li>\n<li>Donation option</li>\n</ul></li>\n</ul>\n<h4 id=\"antennapod\">Antennapod</h4>\n<ul>\n<li><a href=\"https://f-droid.org/en/packages/de.danoeh.antennapod\"\ntitle=\"Antennapod\">Antennapod</a></li>\n</ul>\n<h4 id=\"tusky\">Tusky</h4>\n<ul>\n<li><a href=\"https://f-droid.org/en/packages/com.keylesspalace.tusky\"\ntitle=\"Tusky for Mastodon\">Tusky for Mastodon</a></li>\n</ul>\n<h4 id=\"k-9-mail-client\">K-9 mail client</h4>\n<ul>\n<li><a href=\"https://f-droid.org/en/packages/com.fsck.k9/\"\ntitle=\"K-9 mail client\">K-9 mail client</a></li>\n</ul>\n<h4 id=\"viber\">Viber</h4>\n<ul>\n<li><p><a href=\"https://www.viber.com/en/download\"\ntitle=\"Viber\">Viber</a></p>\n<ul>\n<li>Android and Fedora/Ubuntu desktop app</li>\n<li>App image</li>\n</ul></li>\n</ul>\n<h4 id=\"audio-recorder\">Audio recorder</h4>\n<ul>\n<li><p><a\nhref=\"https://f-droid.org/en/packages/com.github.axet.audiorecorder\"\ntitle=\"Audio recorder: F-droid\">Audio recorder: F-droid</a></p></li>\n<li><p><a href=\"https://gitlab.com/axet/android-audio-recorder\"\ntitle=\"Audio recorder: F-droid\">Audio recorder: Gitlab</a></p></li>\n</ul>\n<h4 id=\"x-plore-dual-pane-file-manager\">X-plore dual-pane file\nmanager</h4>\n<ul>\n<li><a\nhref=\"https://play.google.com/store/apps/details?id=com.lonelycatgames.Xplore&amp;gl=US\"\ntitle=\"X-plore dual-pane file manager\">X-plore dual-pane file\nmanager</a></li>\n</ul>\n<h4 id=\"librera-e-book-reader-for-pdf-epub\">Librera E-book Reader: for\nPDF, EPUB</h4>\n<ul>\n<li><p><a\nhref=\"https://play.google.com/store/apps/details?id=com.foobnix.pdf.reader&amp;gl=US\"\ntitle=\"Librera E-book Reader\">Librera E-book Reader</a></p>\n<ul>\n<li><strong>Books</strong>\n<ul>\n<li><p>Star Wars: Dark Tide I: Onslaught</p>\n<p><em>The New Jedi Order #2</em></p>\n<ul>\n<li><a\nhref=\"https://openlibrary.org/books/OL9433767M/Star_Wars_Dark_Tide_I_Onslaught\"\ntitle=\"Star Wars Dark Tide I: Onslaught e-book\">Star Wars Dark Tide I:\nOnslaught</a></li>\n</ul></li>\n<li><p>Boba Fett: A Practical Man</p>\n<ul>\n<li><a\nhref=\"https://starwars.fandom.com/wiki/Boba_Fett:_A_Practical_Man\"\ntitle=\"Boba Fett: A Practical Man\">Boba Fett: A Practical Man</a></li>\n</ul></li>\n</ul></li>\n</ul></li>\n</ul>\Line truncated
(3725,'2022-11-11','How to use OSMAnd with Public Transport ',124,'Ken shows you how to use this mapping tool to display transit routes in your area.','<p>\r\n<a href=\"/eps/hpr3725/01.jpeg\"><img src=\"/eps/hpr3725/01.jpeg\" alt=\"\" /></a><br />\r\nMap of Dublin showing the Temple Bar tourist area. A red arrow points to where you can change the profile.\r\n</p>\r\n<p>\r\n<a href=\"/eps/hpr3725/02.jpeg\"><img src=\"/eps/hpr3725/02.jpeg\" alt=\"\" /></a><br />\r\nWith the Configure Map > Profile selection menu open, a red square surrounds the Bus icon to indicate the \"public transport\" profile is now selected.\r\n</p>\r\n<p>\r\n<a href=\"/eps/hpr3725/03.jpeg\"><img src=\"/eps/hpr3725/03.jpeg\" alt=\"\" /></a><br />\r\nThe map now opens to show more information about public transport is now displayed on the map. This is highlighted with a red square.<br />\r\nClicking the bustop (highlighted with a red circle ) will show more information about the routes available at this location.\r\n</p>\r\n<p>\r\n<a href=\"/eps/hpr3725/04.jpeg\"><img src=\"/eps/hpr3725/04.jpeg\" alt=\"\" /></a><br />\r\nOnce the transport stop is selected, a list of all the routes that service this location are displayed. Along with other routes that are available within a short distance.\r\n</p>\r\n<p>\r\n<a href=\"/eps/hpr3725/05.jpeg\"><img src=\"/eps/hpr3725/05.jpeg\" alt=\"\" /></a><br />\r\nClicking any of the routes numbers/names will give a zoomed out map showing in red the route many of the stops towards it\'s source and destination.\r\n</p>\r\n',30,0,0,'CC-BY-SA','OSMAnd, OSM, Maps, Public Transport',0,0,1),
(4001,'2023-12-04','HPR Community News for November 2023',0,'HPR Volunteers talk about shows released and comments posted in November 2023','',159,47,1,'CC-BY-SA','Community News',0,0,1),
(4001,'2023-12-04','HPR Community News for November 2023',0,'HPR Volunteers talk about shows released and comments posted in November 2023','<style>\ntable td.shrink {\n white-space:nowrap\n}\nhr.thin {\n border: 0;\n height: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n border-bottom: 1px solid rgba(255, 255, 255, 0.3);\n}\np#ignore, li#ignore {\n background-color: lightgreen;\n color:maroon;\n}\ndiv#highlight {\n border-style: solid;\n border-color: red;\n padding-right: 20px;\n padding-left: 20px;\n}\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/hpr3978/index.html\" target=\"_blank\">3978</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2023-11-01</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3978/index.html\" target=\"_blank\">Driving in Virginia.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3979/index.html\" target=\"_blank\">3979</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2023-11-02</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3979/index.html\" target=\"_blank\">FireStick and ad blocking</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/hpr3980/index.html\" target=\"_blank\">3980</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2023-11-03</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3980/index.html\" target=\"_blank\">Huntsville to Vicksburg</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/hpr3981/index.html\" target=\"_blank\">3981</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2023-11-06</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3981/index.html\" target=\"_blank\">HPR Community News for October 2023</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/hpr3982/index.html\" target=\"_blank\">3982</a></strong></td>\n<td>Tue</td>\n<td class=\"shrink\">2023-11-07</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3982/index.html\" target=\"_blank\">Conversation with ChatGPT</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0318.html\" target=\"_blank\">Archer72</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3983/index.html\" target=\"_blank\">3983</a></strong></td>\n<td>Wed</td>\n<td class=\"shrink\">2023-11-08</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3983/index.html\" target=\"_blank\">ChatGPT Output is not compatible with CC-BY-SA</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/hpr3984/index.html\" target=\"_blank\">3984</a></strong></td>\n<td>Thu</td>\n<td class=\"shrink\">2023-11-09</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3984/index.html\" target=\"_blank\">Whoppers. How Archer72 and I made moonshine. Volume one.</a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0391.html\" target=\"_blank\">Some Guy On The Internet</a></td>\n</tr>\n<tr>\n<td><strong><a href=\"https://hackerpublicradio.org/eps/hpr3990/index.html\" target=\"_blank\">3990</a></strong></td>\n<td>Fri</td>\n<td class=\"shrink\">2023-11-17</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3990/index.html\" target=\"_blank\">Playing Alpha Centauri, Part 2</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/hpr3991/index.html\" target=\"_blank\">3991</a></strong></td>\n<td>Mon</td>\n<td class=\"shrink\">2023-11-20</td>\n<td><a href=\"https://hackerpublicradio.org/eps/hpr3991/index.html\" target=\"_blank\">YOU ARE A PIRATE </a></td>\n<td><a href=\"https://hackerpublicradio.org/correspondents/0036.html\" target=\"_blank\">operat0r</a></td>\n</tr>\n</table>\n\n<h2>Comments this month</h2>\n\n\nThere were no comments this month.\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 seLine truncated
(3714,'2022-10-27','The News with Some Guy On the Internet',609,'Threat Analysis','<h1 id=\"threat-analysis-your-attack-surface\">Threat Analysis; your\nattack surface.</h1>\n<h2 id=\"the-hacker-news\">The Hacker News</h2>\n<h3\nid=\"new-chinese-malware-attack-framework-targets-windows-macos-and-linux-systems\">New\nChinese Malware Attack Framework Targets Windows, macOS, and Linux\nSystems.</h3>\n<p>A previously undocumented command-and-control (C2) framework dubbed\nAlchimist is likely being used in the wild to target Windows, macOS, and\nLinux systems.</p>\n<p>\"Alchimist C2 has a web interface written in Simplified Chinese and\ncan generate a configured payload, establish remote sessions, deploy\npayloads to the remote machines, capture screenshots, perform remote\nshellcode execution, and run arbitrary commands,\" Cisco Talos said in a\nreport shared with The Hacker News. Written in GoLang, Alchimist is\ncomplemented by a beacon implant called Insekt, which comes with remote\naccess features that can be instrumented by the C2 server.&#x201D;</p>\n<p>\"Since Alchimist is a single-file based ready-to-go C2 framework, it\nis difficult to attribute its use to a single actor such as the authors,\nAPTs, or crimeware syndicates.\"</p>\n<p>The trojan, for its part, is equipped with features typically present\nin backdoors of this kind, enabling the malware to get system\ninformation, capture screenshots, run arbitrary commands, and download\nremote files, among others.</p>\n<p>Alchimist C2 panel further features the ability to generate first\nstage payloads, including PowerShell and wget code snippets for Windows\nand Linux, potentially allowing an attacker to flesh out their infection\nchains to distribute the Insekt RAT binary. The instructions could then\nbe potentially embedded in a maldoc attached to a phishing email that,\nwhen opened, downloads and launches the backdoor on the compromised\nmachine. What\'s more, the Linux version of Insekt is capable of listing\nthe contents of the \".ssh\" directory and even adding new SSH keys to the\n\"~/.ssh/authorized_keys\" file to facilitate remote access over SSH.</p>\n<h2 id=\"the-hacker-news-1\">The Hacker News</h2>\n<h3\nid=\"hackers-using-vishing-to-trick-victims-into-installing-android-banking-malware\">Hackers\nUsing Vishing to Trick Victims into Installing Android Banking\nMalware.</h3>\n<p>Malicious actors are resorting to voice phishing (vishing) tactics to\ndupe victims into installing Android malware on their devices.</p>\n<p>The Dutch mobile security company said it identified a network of\nphishing websites targeting Italian online-banking users that are\ndesigned to get hold of their contact details.</p>\n<p>Telephone-oriented attack delivery (TOAD), as the social engineering\ntechnique is called, involves calling the victims using previously\ncollected information from the fraudulent websites.</p>\n<p>The caller, who purports to be a support agent for the bank,\ninstructs the individual on the other end of the call to install a\nsecurity app and grant it extensive permissions, when, in reality, it\'s\nmalicious software intended to gain remote access or conduct financial\nfraud.</p>\n<p>What\'s more, the infrastructure utilized by the threat actor has been\nfound to deliver a second malware named SMS Spy that enables the\nadversary to gain access to all incoming SMS messages and intercept\none-time passwords (OTPs) sent by banks.</p>\n<p>The new wave of hybrid fraud attacks presents a new dimension for\nscammers to mount convincing Android malware campaigns that have\notherwise relied on traditional methods such as Google Play Store\ndroppers, rogue ads, and smishing.</p>\n<h2 id=\"the-hacker-news-2\">The Hacker News</h2>\n<h3\nid=\"64000-additional-patients-impacted-by-omnicell-data-breach---what-is-your-data-breach-action-plan\">64,000\nAdditional Patients Impacted by Omnicell Data Breach - What is Your Data\nBreach Action Plan?</h3>\n<p>Founded in 1992, Omnicell is a leading provider of medication\nmanagement solutions for hospitals, long-term care facilities, and\nretail pharmacies. On May 4, 2022, Omnicell\'s IT systems and third-party\ncloud services were affected by ransomware attacks which may lead to\ndata security concerns for employees and patients. While it is still\nearly in the investigation, this appears to be a severe breach with\npotentially significant consequences for the company.</p>\n<p>Omnicell began informing individuals whose information may have been\ncompromised on August 3, 2022. Hackers may be able to access and sell\npatient-sensitive information, such as social security numbers, due to\nthe time delay between the breach and the company\'s report of affected\npatients.</p>\n<p>The type of information that may be exposed are:</p>\n<ul>\n<li>Credit card information.</li>\n<li>Financial information.</li>\n<li>Social security numbers.</li>\n<li>Driver\'s license numbers.</li>\n<li>Health insurance details.</li>\n</ul>\n<pLine truncated
(3717,'2022-11-01','Video editing with Shotcut on a low end PC',695,'In this episode I explain how I use the shotcut video editor to edit video on a low end PC.','<h2 id=\"links\">Links</h2>\n<p><a href=\"https://shotcut.org/\">Shotcut video editor website</a></p>\n<h2 id=\"useful-shortcut-keys-for-the-shotcut-video-editor\">Useful\nShortcut keys for the Shotcut video editor</h2>\n<pre><code>C = copy\nV = paste\nA = duplicate\nX = ripple delete\nCtrl + X = ripple delete but send to clipboard\nS = split</code></pre>\n<h2 id=\"tip-not-covered-in-my-podcast\">Tip not covered in my\nPodcast</h2>\n<p>Splits are not fixed and can be adjusted. Once you\'ve split up clips\nand put them in the right order on the timeline you can still adjust the\ncut point even though you previously split the clip because the clip is\nreferenced to the original file in the playlist.</p>\n<h2 id=\"introduction\">Introduction</h2>\n<p>Hello and welcome Hacker Public Radio audience my name is Mr X\nwelcome to this podcast. As per usual I\'d like to start by thanking the\npeople at HPR for making this podcast possible. HPR is a Community led\npodcast provided by the community for the community that means you can\ncontribute to. The HPR team have gone to great deal of effort to\nsimplify and streamline the process of providing podcasts. There are\nmany ways to record an episode these days using phones tablets PCs and\nalike. The hardest barrier is sending in your first show. Don\'t get too\nhung up about quality, it\'s more important just to send something in.\nThe sound quality of some of my early shows wasn\'t very good. If I can\ndo it anyone can and you might just get hooked in the process.</p>\n<p>Well it\'s been almost a year since I\'ve sent in a show. Looking at\nthe HPR site my last episode was back in November 2021. I suspect like\nmany others life has become more complicated and I find I have much less\nspare time and because I have much less spare time I have much less time\nto pursue my hobbies and because of this I have less to speak about and\nbecause of this I have less time to record what I\'ve been doing and it\nall turns into to vicious circle. Fortunately I recently had some time\noff work and had a lovely holiday. During the holiday I ended up\nrecording some video which I decided I wanted to edit. I\'ve done some\nvideo editing in the past using various video editing packages. The best\nand most recent of which is shotcut.</p>\n<h2 id=\"specific-details-and-equipment\">Specific details and\nequipment</h2>\n<p>Video resolution 1920 x 1080, Codec h264 mpeg-4, Frame rate 30 frames\nper second.</p>\n<p>Computer Dell Optiplex 780. Fitted with 4 GB of internal RAM and\nonboard video graphics card.</p>\n<p>Shotcut version 22.06.23 Shotcut is a free open-source cross-platform\nvideo editor licenced under the GNU general public licence version\n3.0</p>\n<p>This episode will only cover basic shotcut video editing techniques.\nShotcut contains many advanced features and effects that will not be\ncovered in this episode. A lot of the workflow I&#x2019;ll share with you today\nis intended to get around limitations imposed by my low spec PC</p>\n<p>I\'ll try my best to cover the video editing process in this podcast\nusing words alone; however I am conscious that an accompanying video\nwould make it easier to follow along.</p>\n<h2 id=\"shotcut-workflow\">Shotcut workflow</h2>\n<p>Start by creating a folder to hold all the required media files.\nAudio tracks and sound effects can be added to this folder later. Make\nsure all your video files are using the same frame rate in my case 30\nframes per second.</p>\n<p>Open each video file in VLC one at a time going through each video\nfile looking for the best portions of video. Make a note of where the\nbest portions of the video are by writing down the start and end points\nin minutes and seconds.</p>\n<p>I do this because the interface of VLC is more responsive than\nshortcut and the resolution of displayed video is far greater than the\npreview in shortcut. This makes it quicker and easier to find the best\nportions of video.</p>\n<p>Open shortcut and make sure the new project is set to the same frames\nper second as the media files you\'re working with, in my case 30 frames\nper second. You can check the frame rate of your project by looking at\nthe selected video mode in the new projects window. If you select\nautomatic it will ensure the project resolution and frame rate\nautomatically match that of your media files.</p>\n<p>Start by adding all the video files to the playlist, this can be done\nin a number of ways for example it can be done by clicking on the open\nfile button in the top toolbar or within the open files menu.\nAlternatively you can drag and drop files into the playlist. I find this\nto be the easiest way to add media files to a project. Once this is done\nsave your project.</p>\n<p>Drag the first file from the Playlist to the timeline making sure\nthat the starLine truncated
(3719,'2022-11-03','HPR News',594,'InfoSec; the language of security.','<h1 id=\"infosec-the-language-of-security\">InfoSec; the language of\nsecurity.</h1>\n<h2 id=\"what-is-typosquatting-and-how-do-scammers-use-it\"><a\nhref=\"https://www.howtogeek.com/devops/what-is-typosquatting-and-how-do-scammers-use-it/\">What\nis Typosquatting and How Do Scammers Use it?</a></h2>\n<ul>\n<li>Typosquatting, as an attack, uses modified or misspelled domain\nnames to trick users into visiting fraudulent websites; the heart of\nthis attack is domain name registration. Typosquatting is deployed by\nscammers to defraud unaware users. Attackers will attempt to: mimic\nlogin pages, redirect traffic, download malware, and extort users.</li>\n<li><strong>Past Known Typosquatting Attacks.</strong>\n<ul>\n<li><a\nhref=\"https://thehackernews.com/2021/07/several-malicious-typosquatted-python.html\">Several\nMalicious Typosquatted Python Libraries Found On PyPI\nRepository</a></li>\n<li><a\nhref=\"https://thehackernews.com/2020/04/rubygem-typosquatting-malware.html\">Over\n700 Malicious Typosquatted Libraries Found On RubyGems\nRepository</a></li>\n<li><a\nhref=\"https://blog.rust-lang.org/2022/05/10/malicious-crate-rustdecimal.html\">Security\nadvisory: malicious crate rustdecimal</a></li>\n<li><a\nhref=\"https://blog.sonatype.com/this-week-in-malware-may-13th-edition\">This\nWeek in Malware-Malicious Rust crate, \'colors\' Typosquats</a></li>\n</ul></li>\n<li><strong>Solutions to Typosquatting.</strong>\n<ul>\n<li><a\nhref=\"https://opensource.com/article/20/1/stop-typosquatting-attacks\">How\nto stop typosquatting attacks</a></li>\n<li><a\nhref=\"https://www.howtogeek.com/363735/what-is-a-checksum-and-why-should-you-care/\">What\nIs a Checksum (and Why Should You Care)?</a></li>\n<li><a href=\"https://docs.pi-hole.net/\">PiHole</a></li>\n<li><a href=\"https://design.ubuntu.com/font/\">Ubuntu font\nfamily</a></li>\n</ul></li>\n<li><strong>DNS monitoring services.</strong>\n<ul>\n<li>Link to dnstwister: <a\nhref=\"https://dnstwister.report/\">https://dnstwister.report/</a></li>\n<li>Link to whois: <a\nhref=\"https://www.whois.com/whois\">https://www.whois.com/whois</a></li>\n</ul></li>\n<li><strong>Password Managers.</strong>\n<ul>\n<li>Link to bitwarden: <a\nhref=\"https://bitwarden.com/\">https://bitwarden.com/</a></li>\n<li>Link to keepassxc: <a\nhref=\"https://keepassxc.org/\">https://keepassxc.org/</a></li>\n</ul></li>\n</ul>\n<hr />\n<h2 id=\"two-factor-and-multifactor-authentication\">Two-factor and\nMultifactor Authentication.</h2>\n<ul>\n<li><p>First, authentication. This is the process of verifying the\nvalidity of something; in our case, user credentials/identity. The most\ncommon way to authenticate is: <em>USERNAME</em> and <em>PASSWORD</em>.\nThis is just a single layer (single-factor authentication) and isn&#x2019;t\nenough to discourage attackers.</p></li>\n<li><p>Second, 2FA (Two-factor Authentication). 2FA increases the\ndifficulty for attackers by providing users an additional layer of\nsecurity to accomplish authentication. Common 2FA methods are: TOTP/OTP\n(<em>the</em> <strong>One Time Password</strong>), Authenticator\nApplications (<a href=\"https://bitwarden.com/\">Bitwarden</a>, <a\nhref=\"https://keepassxc.org/\">KeePassXC</a>,...), and Security Keys (<a\nhref=\"https://www.yubico.com/\">Yubikey</a>). This works similar to ATMs;\nto authenticate the user must provide both knowledge (account\n<strong>PIN</strong>) and a physical object (bank card).</p></li>\n<li><p>Last, but not least, MFA (Multifactor Authentication). Similar to\n2FA, MFA offers users security with the addition of biometrics\n(fingerprint scan, retina scan, facial recognition, and voice\nrecognition). Attackers must overcome the knowledge factor, Possession\nfactor, Inherence/Biometric factor, Time factor, and sometimes Location\nfactor.</p></li>\n<li><p><strong>MORE helpful security information.</strong></p>\n<ul>\n<li><a href=\"https://fidoalliance.org/specifications/\">FIDO Alliance\nSpecifications.</a></li>\n<li><a\nhref=\"https://bitwarden.com/help/bitwarden-field-guide-two-step-login/\">Field\nGuide to Two-Step Login.</a></li>\n</ul></li>\n<li><p><strong>2FA/MFA Known Attacks.</strong></p>\n<ul>\n<li><a\nhref=\"https://www.vice.com/en/article/y3vz5k/booming-underground-market-bots-2fa-otp-paypal-amazon-bank-apple-venmo\">Bots\nThat Steal Your 2FA Codes.</a></li>\n<li><a\nhref=\"https://thenextweb.com/news/hackers-cracking-two-factor-authentication-security-syndication\">hackers\nare cracking two-factor authentication</a></li>\n</ul></li>\n</ul>\n',391,0,0,'CC-BY-SA','InfoSec, Typosquatting, SFA, 2FA, MFA, Security',0,0,1),
@@ -20390,11 +20402,11 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti
(3921,'2023-08-14','HPR AudioBook Club 23 - John Carter of Mars (Books 1-3)',6516,'In this episode the HPR Audiobook Club discusses the first three books of John Carter of Mars','<h2\nid=\"in-this-episode-the-hpr-audiobook-club-discusses-the-audiobooks-a-princess-of-mars-the-gods-of-mars-and-the-warlord-of-mars-by-edgar-rice-burroughs\">In\nthis episode the HPR Audiobook Club discusses the audiobooks <a\nhref=\"https://librivox.org/a-princess-of-mars-by-edgar-rice-burroughs-2/\">A\nPrincess of Mars</a>, <a\nhref=\"https://librivox.org/the-gods-of-mars-version-3-by-edgar-rice-burroughs/\">The\nGods of Mars</a>, and <a\nhref=\"https://librivox.org/the-warlord-of-mars-version-3-by-edgar-rice-burroughs/\">The\nWarlord of Mars</a> by Edgar Rice Burroughs</h2>\n<hr />\n<h2 id=\"non-spoiler-thoughts\">Non-Spoiler Thoughts</h2>\n<hr />\n<ul>\n<li>Burroughs is kind of verbose, which is symbolic of the time period\nin which it was written.</li>\n</ul>\n<h2 id=\"beverage-reviews\">Beverage Reviews</h2>\n<hr />\n<ul>\n<li><strong>Thaj:</strong> Tempting fate with a tall glass of the highly\ntoxic, <a href=\"http://www.dhmo.org/facts.html\">Dihydrogen\nMonoxide</a></li>\n<li><strong>x1101:</strong> <a\nhref=\"https://www.beeradvocate.com/beer/profile/139/149716/\">Shipyard\nLittle Horror of Hops</a> Its a very amber IPA</li>\n<li><strong>Pokey:</strong> <a\nhref=\"http://www.yellowtailwine.com/chardonnay/\">Yellow Tail\nChardonay</a> Its definitely a chardonay in flavor. You can taste the\ncost effectiveness up front, but it mellows out on the finish, and is\npretty okay for the price on average.</li>\n<li><strong>FiftyOneFifty:</strong> <a\nhref=\"https://www.boulevard.com/beer/our-beers/\">Funky Pumpkin spiced\npumpkin ale</a></li>\n<li><strong>Mark:</strong> <a\nhref=\"https://lagunitas.com/beer/ipa/\">Lagunitas IPA</a></li>\n</ul>\n<h2 id=\"things-we-talked-about\">Things We Talked About</h2>\n<hr />\n<ul>\n<li><p><a href=\"https://chatsecure.org/\">Chat Secure</a> secure XMPP,\nThink of the children!!!</p></li>\n<li><p>Technology on Barsoom</p></li>\n<li><p>Deus Ex Machina much???</p></li>\n<li><p>Names in fantasy books</p></li>\n</ul>\n<h2 id=\"our-next-audiobook\">Our Next Audiobook</h2>\n<hr />\n<p><a href=\"https://scribl.com/books/P34C6/see-you-at-the-morgue\">See\nYou At The Morgue</a> by Lawrence Blochman</p>\n<h2 id=\"the-next-audiobook-club-recording\">The Next Audiobook Club\nRecording</h2>\n<hr />\n<p>Right now we are working through a backlog of older episode that have\nalready been recorded. Once that ends we fully anticipate recording new\nepisodes with listener participation.</p>\n<h2 id=\"feedback\">Feedback</h2>\n<hr />\n<p>Thank you very much for listening to this episode of the HPR\nAudioBookClub. We had a great time recording this show, and we hope you\nenjoyed it as well. We also hope you\'ll consider joining us next time we\nrecord a new episode. Please leave a few words in the episode\'s comment\nsection.</p>\n<p>As always; remember to visit the HPR contribution page HPR could\nreally use your help right now.</p>\n<p>Sincerely, The HPR Audiobook Club</p>\n<p>P.S. Some people really like finding mistakes. For their enjoyment,\nwe always include a few.</p>\n<h2 id=\"our-audio\">Our Audio</h2>\n<hr />\n<p>This episode was processed using <a\nhref=\"https://www.audacityteam.org/\">Audacity</a>. We\'ve been making\nsmall adjustments to our audio mix each month in order to get the best\npossible sound. Its been especially challenging getting all of our\nvoices relatively level, because everyone has their own unique setup.\nMumble is great for bringing us all together, and for recording, but\nit\'s not good at making everyone\'s voice the same volume. We\'re pretty\nhappy with the way this month\'s show turned out, so we\'d like to share\nour editing process and settings with you and our future selves (who, of\ncourse, will have forgotten all this by then).</p>\n<p>We use the \"Truncate Silence\" effect with it\'s default settings to\nminimize the silence between people speaking. When used with it\'s\ndefault (or at least reasonable) settings, Truncate Silence is extremely\neffective and satisfying. It makes everyone sound smarter, it makes the\nfile shorter without destroying actual content, and it makes a\nconversations sound as easy and fluid during playback as it was while it\nwas recorded. It can be even more effective if you can train yourself to\nremain silent instead of saying \"uuuuummmm.\" Just remember to ONLY pass\nthe file through Truncate Silence ONCE. If you pass it through a second\ntime, or if you set it too aggressively your audio may sound sped up and\nchoppy.</p>\n<p>Next we use the \"Compressor\" effect with the following settings:</p>\n<pre><code>Threshold: -30db\n\nNoise Floor: -50db\n\nRatio: 3:1\n\nAttack Time: 0.2sec\n\nDecay Time: 1.0 sec</code></pre>\n<p>\"Make-up Gain for 0db after compressing\" and \"compress based on\npeaks\" were both left un-checked.</p>\n<p>After cLine truncated
(4151,'2024-07-01','HPR Community News for June 2024',0,'HPR Volunteers talk about shows released and comments posted in June 2024','',159,47,1,'CC-BY-SA','Community News',0,0,1),
(4176,'2024-08-05','HPR Community News for July 2024',0,'HPR Volunteers talk about shows released and comments posted in July 2024','',159,47,1,'CC-BY-SA','Community News',0,0,1),
(3902,'2023-07-18','Introduction to a new series on FFMPEG',474,'In this episode, I introduce FFMPEG, media containers, and codecs','<h2>Links</h2>\n\n<ul>\n<li><a href=\"https://ffmpeg.org\">FFMPEG Website</a></li>\n<li><a href=\"https://helpx.adobe.com/x-productkb/multi/formats-containers.html\">Adobe - containers vs encoders</a></li>\n<li>Containers: <a href=\"https://en.wikipedia.org/wiki/Comparison_of_video_container_formats\">Wikipedia</a></li>\n<li>Encoders/codecs\n\n<ul>\n<li><a href=\"https://en.wikipedia.org/wiki/Audio_coding_format\">Audio</a></li>\n<li><a href=\"https://en.wikipedia.org/wiki/Video_coding_format\">Video</a></li>\n</ul>\n</li>\n<li><a href=\"https://s3-us-west-2.amazonaws.com/courses-images/wp-content/uploads/sites/4052/2019/04/08194049/CommunicationProcessModel1.jpg\">Encoding vs Decoding</a> ** attribution: <a href=\"https://courses.lumenlearning.com/wm-organizationalbehavior/chapter/the-process-of-communication/\">Learning Freedom Group</a></li>\n</ul>\n',300,0,0,'CC-BY-SA','ffmpeg,video streaming,audio streaming',0,0,1),
(3903,'2023-07-19','Why I don\'t love systemd (yet)',396,'Klaatu reads a script by Deepgeek about systemd','<p>I\'ve been meaning to put down my thoughts about SystemD for the HPR\ncommunity for some while, so here goes.</p>\n<p>I want to say that I am not a SystemD hater. When SystemD was a hot\ntopic of debate, many became irrational over it, but I want to start by\nsaying that I don\'t think it\'s a bad technology. I think it is a rather\ngood technology. I just don\'t want it on my personal computer. So I\nwould like to run things down in this order: what is it (as in, what is\nit really,) what makes it a good technology, why I don\'t want it now\n(but might later,) and a few tips for you if you decide that you don\'t\nwant it currently.</p>\n<p>SystemD Is not an init system. SystemD includes an init system.\nSystemD Init was faster than SysVInit, but SystemD Init isn\'t the\nfastest init system, and SysVInit now has a parallelization helper, at\nleast on Debian.</p>\n<p>So, if SystemD Init is not SystemD, than what is SystemD? To\nunderstand this we must first understand something about Linux. Linux\noperates under a model where there are root processes, and there are\nuser processes. These two kinds of processes are usually called\n\"layers.\" SystemD is actually a third layer, that can be called a system\nlayer. So when SystemD is added to a Linux system, that changes the\nsystem so that there are three layers, a root layer, a user layer, and a\nsystem layer. As such, you now ask SystemD to set how the system runs.\nThis is why SystemD includes things like an init system, because if you\nwant to change what the system is running, you ask SystemD to change it.\nSystemD then messages an appropriate system to implement the change,\nlike messaging its init system to bring up or bring down a system\ndaemon. Once you play out this in your head a bit, you really realize\nthat SystemD acts more like a message passing system in this regard.</p>\n<p>So why do I say SystemD is a good technology? Because this can\nstandardize system control. Without SystemD a fleet of computers becomes\nlike individual fingerprints or unique snowflakes. If you manage many\ncomputers, as many professional IT people do, you want them to all run\nthe same, all have the same profiles and general configurations. So if\nyou have a bunch of computers you are running, you can run a lot more if\nthey are all run the same way. If your job requires you to run 10,000\nwebservers, you want them to run identically because it is impossible to\nkeep an understanding of 10,000 unique configurations in a human\nhead.</p>\n<p>SystemD really shines in its support of virtualization as well. So\nto speak of servers, I used to run an email server for a few friends.\nEach of us had a userid and number as unix users. The mapping of unix\nuserids and postfix userids can get confusing when it gets big. Thanks\nto SystemD\'s virtualization work, you can actually put a service like\nemail into a namespace situation so that it has only the users root and\nthe daemon user id (like \"postfix\"), so SystemD greatly enhances\nsecurity for server installations. This might help explain its\ndominance in linux distributions that have been traditionally\nserver-centric, such as debian and redhat.</p>\n<p>So why don\'t I don\'t want it? Well, I\'ve been doing a lot of talking\nabout professional computer work and corporate work environments, but I\nuse a \"Personal Computer\" as a hobby. I\'ve been out-of-industry for\ndecades now. And when I say \"Personal Computer\" I\'m not talking a\nhardware specification, rather I\'m talking about \"This is my personal\ncomputer where I do things my way, as opposed to my work computer where\nI do things my companies way\". Dear listener, please remember that I did\nthe first community show contribution to HPR, and my topic was about\npersonalization. For me, a hobbyist interested in operating system\nexperimentation, I don\'t want a system layer, I want a traditional\nunix-like system that operates on a two-layer model and does things my\nway, nobody else\'s way.</p>\n<p>So, what advice can I give to those who don\'t want SystemD now? Well,\nrecently I\'ve left Debian. Debian, you see, supports init system\ndiversity, but as you now know dear listener, that is different than\nbeing without SystemD. You may have heard that SystemD is\nlinux-specific, that is to say that it runs only on linux, not anything\nlike a BSD system or a Windows system. But you may be curious to know\nthat it is also Gnu-libC specific. Which means that the C compiler must\nuse GNU\'s libC standard library. Thus, if you have a system built around\nthe Musl C standard library like Alpine or Void, or a system like\nAndroid that runs on the Bionic C Standard library, you wont have a\nSystemD system. I\'m personally learning Void as its package manager\nsupports both binary and a ports collection much like the BSD\'s. But\nthat is what I\'m doing on my persoLine truncated
(3902,'2023-07-18','Introduction to a new series on FFMPEG',474,'In this episode, I introduce FFMPEG, media containers, and codecs','<h2>Links</h2>\n\n<ul>\n<li><a href=\"https://ffmpeg.org\">FFMPEG Website</a></li>\n<li><a href=\"https://helpx.adobe.com/x-productkb/multi/formats-containers.html\">Adobe - containers vs encoders</a></li>\n<li>Containers: <a href=\"https://en.wikipedia.org/wiki/Comparison_of_video_container_formats\">Wikipedia</a></li>\n<li>Encoders/codecs\n\n<ul>\n<li><a href=\"https://en.wikipedia.org/wiki/Audio_coding_format\">Audio</a></li>\n<li><a href=\"https://en.wikipedia.org/wiki/Video_coding_format\">Video</a></li>\n</ul>\n</li>\n<li><a href=\"https://s3-us-west-2.amazonaws.com/courses-images/wp-content/uploads/sites/4052/2019/04/08194049/CommunicationProcessModel1.jpg\">Encoding vs Decoding</a> ** attribution: <a href=\"https://courses.lumenlearning.com/wm-organizationalbehavior/chapter/the-process-of-communication/\">Learning Freedom Group</a></li>\n</ul>\n',300,0,0,'CC-BY-SA','ffmpeg,video streaming,audio streaming',0,0,1);
INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hostid`, `series`, `explicit`, `license`, `tags`, `version`, `downloads`, `valid`) VALUES (3903,'2023-07-19','Why I don\'t love systemd (yet)',396,'Klaatu reads a script by Deepgeek about systemd','<p>I\'ve been meaning to put down my thoughts about SystemD for the HPR\ncommunity for some while, so here goes.</p>\n<p>I want to say that I am not a SystemD hater. When SystemD was a hot\ntopic of debate, many became irrational over it, but I want to start by\nsaying that I don\'t think it\'s a bad technology. I think it is a rather\ngood technology. I just don\'t want it on my personal computer. So I\nwould like to run things down in this order: what is it (as in, what is\nit really,) what makes it a good technology, why I don\'t want it now\n(but might later,) and a few tips for you if you decide that you don\'t\nwant it currently.</p>\n<p>SystemD Is not an init system. SystemD includes an init system.\nSystemD Init was faster than SysVInit, but SystemD Init isn\'t the\nfastest init system, and SysVInit now has a parallelization helper, at\nleast on Debian.</p>\n<p>So, if SystemD Init is not SystemD, than what is SystemD? To\nunderstand this we must first understand something about Linux. Linux\noperates under a model where there are root processes, and there are\nuser processes. These two kinds of processes are usually called\n\"layers.\" SystemD is actually a third layer, that can be called a system\nlayer. So when SystemD is added to a Linux system, that changes the\nsystem so that there are three layers, a root layer, a user layer, and a\nsystem layer. As such, you now ask SystemD to set how the system runs.\nThis is why SystemD includes things like an init system, because if you\nwant to change what the system is running, you ask SystemD to change it.\nSystemD then messages an appropriate system to implement the change,\nlike messaging its init system to bring up or bring down a system\ndaemon. Once you play out this in your head a bit, you really realize\nthat SystemD acts more like a message passing system in this regard.</p>\n<p>So why do I say SystemD is a good technology? Because this can\nstandardize system control. Without SystemD a fleet of computers becomes\nlike individual fingerprints or unique snowflakes. If you manage many\ncomputers, as many professional IT people do, you want them to all run\nthe same, all have the same profiles and general configurations. So if\nyou have a bunch of computers you are running, you can run a lot more if\nthey are all run the same way. If your job requires you to run 10,000\nwebservers, you want them to run identically because it is impossible to\nkeep an understanding of 10,000 unique configurations in a human\nhead.</p>\n<p>SystemD really shines in its support of virtualization as well. So\nto speak of servers, I used to run an email server for a few friends.\nEach of us had a userid and number as unix users. The mapping of unix\nuserids and postfix userids can get confusing when it gets big. Thanks\nto SystemD\'s virtualization work, you can actually put a service like\nemail into a namespace situation so that it has only the users root and\nthe daemon user id (like \"postfix\"), so SystemD greatly enhances\nsecurity for server installations. This might help explain its\ndominance in linux distributions that have been traditionally\nserver-centric, such as debian and redhat.</p>\n<p>So why don\'t I don\'t want it? Well, I\'ve been doing a lot of talking\nabout professional computer work and corporate work environments, but I\nuse a \"Personal Computer\" as a hobby. I\'ve been out-of-industry for\ndecades now. And when I say \"Personal Computer\" I\'m not talking a\nhardware specification, rather I\'m talking about \"This is my personal\ncomputer where I do things my way, as opposed to my work computer where\nI do things my companies way\". Dear listener, please remember that I did\nthe first community show contribution to HPR, and my topic was about\npersonalization. For me, a hobbyist interested in operating system\nexperimentation, I don\'t want a system layer, I want a traditional\nunix-like system that operates on a two-layer model and does things my\nway, nobody else\'s way.</p>\n<p>So, what advice can I give to those who don\'t want SystemD now? Well,\nrecently I\'ve left Debian. Debian, you see, supports init system\ndiversity, but as you now know dear listener, that is different than\nbeing without SystemD. You may have heard that SystemD is\nlinux-specific, that is to say that it runs only on linux, not anything\nlike a BSD system or a Windows system. But you may be curious to know\nthat it is also Gnu-libC specific. Which means that the C compiler must\nuse GNU\'s libC standard library. Thus, if you have a system built around\nthe Musl C standard library like Alpine or Void, or a system like\nAndroid that runs on the Bionic C Standard library, you wont have a\nSystemD sysLine truncated
(3904,'2023-07-20','How to make friends',2861,'This topic is being actively researched. Not for production use.','<p>Show notes</p>\n<ul>\n<li>\n<p>No clear mark of when friendship starts</p>\n</li>\n<li>\n<p>often feels \"right\" when mutual</p>\n</li>\n<li>\n<p>to some people friendship is a persistent state. once you have it, it&#39;s forever unless explicitly dissolved.</p>\n</li>\n<li>\n<p>for other people, it&#39;s something requiring maintenance. arguable this suggests that there are degrees of friendship, based on when you last spoke to one another.</p>\n</li>\n<li>\n<p>degrees of friendship also suggests progression. friend → close friend → best friend.</p>\n</li>\n</ul>\n<h2 id=\"_how_to_make_a_friend\">how to make a friend</h2>\n<p>friendship requires communication.</p>\n<ul>\n<li>\n<p>start by communicating in some way that makes the other person feel not unpleasant</p>\n</li>\n<li>\n<p>you&#39;re not supposed to target a friend. this can be a frustrating rule, because if you&#39;re trying to make a friend, you have to target somebody, but the general consensus is that you&#39;re not supposed to \"try too hard\". target lots of people in the hopes of stumbling across somebody to befriend.</p>\n</li>\n<li>\n<p>complimenting something they have done, even if it&#39;s something simple like wearing a cool shirt, is a very easy start</p>\n</li>\n<li>\n<p>finding ground common allows for repeated communication</p>\n</li>\n<li>\n<p>repetition of this is what builds friendship. this is why friendships often develop at work, but can dissolve quickly after a job change.</p>\n</li>\n<li>\n<p>the situation matters. chatting with someone who&#39;s being paid to interact with you, like somebody working at a store, doesn&#39;t count because in context they more or less cannot choose to stop communicating with you until you leave the store. chatting with someone who has anything to gain by chatting with you doesn&#39;t count (like an intern at work).</p>\n</li>\n<li>\n<p>to speed up a developing friendship, you can invite the person to interact with you on something with a clearly defined goal. You like coding? I like coding! Would you care to collaborate for 4 hours on a script that would help me find my Raspberry Pi on my network?</p>\n</li>\n<li>\n<p>during the activity, continue to communicate. this can be difficult because you&#39;re doing an activity that you both claim to enjoy, so in theory the activity should be sufficient to further the friendship. However, the activity doesn&#39;t build the friendship, it only builds a partnership. It&#39;s the communication that builds friendship.</p>\n</li>\n</ul>\n<p>unfortunately, there&#39;s no clear point during this process at which you know you have made a friend. so you have to define what a friend is, to you, and then work toward that goal.</p>\n<p>Here are some examples of definitions for friendship. There is no right or wrong here, it&#39;s really just setting your own expectations and requirements:</p>\n<ul>\n<li>\n<p>A friend is someone to hang out with on sundays.</p>\n</li>\n<li>\n<p>A friend is someone I can call when I&#39;ve got some free time to kill.</p>\n</li>\n<li>\n<p>A friend is someone I can play video games with online.</p>\n</li>\n<li>\n<p>A friend is someone I can call, day or night, when I need help.</p>\n</li>\n<li>\n<p>A friend is someone who has come over for dinner, and has met my family, and who I see at least once a month.</p>\n</li>\n</ul>\n<p>There&#39;s no official definition, so you must define it yourself.\nYour definition may differ from the other person&#39;s definition.\nYou might say \"we are best friends\" but they might say \"no, I already have a best friend, but you&#39;re a <em>good</em> friend\" and THAT&#39;S OK.</p>\n<p>If it helps, classify what kinds of friends you have so you understand what kinds of relationships you are maintaining.\nCommunicate with your friends, even if it&#39;s only to let them know that you&#39;re bad at communicating on a regular basis, or ask them how frequently they need to communicate to maintain a healthy friendship.</p>\n',78,108,0,'CC-BY-SA','autism,friendship,relationship,social engineering',0,0,1),
(3905,'2023-07-21','Presenting Fred Black',1105,'I have a short talk to present Fred Black.','<ul>\n<li><strong>IB-program</strong> <a href=\"https://ibo.org/\"\nclass=\"uri\">https://ibo.org/</a></li>\n<li><strong>Animals To The Max</strong> <a\nhref=\"https://corbinmaxey.com/podcast-1\"\nclass=\"uri\">https://corbinmaxey.com/podcast-1</a></li>\n<li><strong>I Spend A Day With...</strong> <a\nhref=\"https://feeds.megaphone.fm/ispentadaywith\"\nclass=\"uri\">https://feeds.megaphone.fm/ispentadaywith</a></li>\n<li><strong>The Vinyl Guide</strong> <a\nhref=\"https://www.thevinylguide.com/\"\nclass=\"uri\">https://www.thevinylguide.com/</a></li>\n<li><strong>NSOD - Norsken, Svensken og Dansken</strong> <a\nhref=\"https://podkast.nrk.no/program/norsken_svensken_og_dansken.rss\"\nclass=\"uri\">https://podkast.nrk.no/program/norsken_svensken_og_dansken.rss</a></li>\n</ul>\n',309,0,0,'CC-BY-SA','school,podcasts,instrument,quiz',0,0,1);
INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hostid`, `series`, `explicit`, `license`, `tags`, `version`, `downloads`, `valid`) VALUES (3906,'2023-07-24','The Oh No! News.',1741,'Sgoti discusses the threat of convenience.','<h2 id=\"the-oh-no-news.\">The <em>Oh No!</em> news.</h2>\n<h2 id=\"oh-no-news-is-good-news.\"><em>Oh No!</em> News is Good\nNews.</h2>\n<ul>\n<li><strong>TAGS:</strong> Oh No News, InfoSec, browser security,\nsession tokens, session id</li>\n</ul>\n<hr />\n<h3 id=\"infosec-the-language-of-security.\"><strong>InfoSec; the language\nof security.</strong></h3>\n<ul>\n<li><strong>Source:</strong> <a\nhref=\"https://en.wikipedia.org/wiki/Session_ID\">Session ID.</a><br />\n</li>\n<li><strong>Source:</strong> <a\nhref=\"https://en.wikipedia.org/wiki/JSON_Web_Token\">JSON Web\nToken.</a><br />\n\n<ul>\n<li><strong><a\nhref=\"https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use\">Terms\nof Use:</a></strong> Copyleft, free content<br />\n</li>\n</ul></li>\n<li><strong>Source:</strong> <a\nhref=\"https://www.geeksforgeeks.org/session-vs-token-based-authentication/\">Session\nvs Token Based Authentication.</a><br />\n\n<ul>\n<li><strong><a\nhref=\"https://www.geeksforgeeks.org/legal/copyright-information/\">Terms\nof Use:</a></strong> CC-BY-SA (with CC-BY-NC-SA elements).<br />\n</li>\n</ul></li>\n<li><strong>Source:</strong> <a\nhref=\"https://attack.mitre.org/techniques/T1528/\">Steal Application\nAccess Token.</a> Adversaries can steal application access tokens as a\nmeans of acquiring credentials to access remote systems and resources.\nApplication access tokens are used to make authorized API requests on\nbehalf of a user or service and are commonly used as a way to access\nresources in cloud and container-based applications and\nsoftware-as-a-service (SaaS).<br />\n\n<ul>\n<li><strong><a\nhref=\"https://attack.mitre.org/resources/terms-of-use/\">Terms of\nUse:</a></strong> Similar to CC-BY-SA<br />\n</li>\n</ul></li>\n<li><strong>Source:</strong> <a\nhref=\"https://blog.isc2.org/isc2_blog/2023/02/analysis-circleci-attackers-stole-session-cookie-to-bypass-mfa.html\">Analysis:\nCircleCI attackers stole session cookie to bypass MFA.</a><br />\n\n<ul>\n<li><strong><a href=\"https://www.typepad.com/tos\">Terms of\nUse:</a></strong> Section 8. CONTENT AND CONTENT LICENSES. NOT\ncertain<br />\n</li>\n</ul></li>\n<li><strong>Source:</strong> <a\nhref=\"https://www.baeldung.com/cs/session-hijacking\">How to Prevent\nSession Hijacking?</a><br />\n\n<ul>\n<li><strong><a href=\"https://www.baeldung.com/terms-of-service\">Terms of\nUse:</a></strong> Copyright, restrictive<br />\n</li>\n</ul></li>\n</ul>\n<hr />\n<ul>\n<li><strong>Additional Information.</strong>\n<ul>\n<li><a href=\"https://en.wikipedia.org/wiki/Data_breach\"\ntitle=\"From Wikipedia, the free encyclopedia.\">What is a \"Data\nBreach\"?</a> A data breach is a security violation, in which sensitive,\nprotected or confidential data is copied, transmitted, viewed, stolen,\naltered or used by an individual unauthorized to do so.</li>\n<li><a href=\"https://en.wikipedia.org/wiki/Malware\"\ntitle=\"From Wikipedia, the free encyclopedia\">What is \"Malware\"?</a>\nMalware (a <a href=\"https://en.wikipedia.org/wiki/Portmanteau\"\ntitle=\"From Wikipedia, the free encyclopedia\">portmanteau</a> for\nmalicious software) is any software intentionally designed to cause\ndisruption to a computer, server, client, or computer network, leak\nprivate information, gain unauthorized access to information or systems,\ndeprive access to information, or which unknowingly interferes with the\nuser\'s computer security and privacy.</li>\n<li><a href=\"https://en.wikipedia.org/wiki/Payload_(computing)\"\ntitle=\"From Wikipedia, the free encyclopedia\">What is a \"Payload\"?</a>\nIn the context of a computer virus or worm, the payload is the portion\nof the malware which performs malicious action; deleting data, sending\nspam or encrypting data. In addition to the payload, such malware also\ntypically has overhead code aimed at simply spreading itself, or\navoiding detection.</li>\n<li><a href=\"https://en.wikipedia.org/wiki/Phishing\"\ntitle=\"From Wikipedia, the free encyclopedia.\">What is \"Phishing\"?</a>\nPhishing is a form of <a\nhref=\"https://en.wikipedia.org/wiki/Social_engineering_(security)\"\ntitle=\"From Wikipedia, the free encyclopedia\">social engineering</a>\nwhere attackers deceive people into revealing sensitive information or\ninstalling malware such as <a\nhref=\"https://en.wikipedia.org/wiki/Ransomware\"\ntitle=\"From Wikipedia, the free encyclopedia\">ransomware</a>. Phishing\nattacks have become increasingly sophisticated and often transparently\nmirror the site being targeted, allowing the attacker to observe\neverything while the victim is navigating the site, and transverse any\nadditional security boundaries with the victim.</li>\n<li><a\nhref=\"https://en.wikipedia.org/wiki/Social_engineering_(securitLine truncated
(3905,'2023-07-21','Presenting Fred Black',1105,'I have a short talk to present Fred Black.','<ul>\n<li><strong>IB-program</strong> <a href=\"https://ibo.org/\"\nclass=\"uri\">https://ibo.org/</a></li>\n<li><strong>Animals To The Max</strong> <a\nhref=\"https://corbinmaxey.com/podcast-1\"\nclass=\"uri\">https://corbinmaxey.com/podcast-1</a></li>\n<li><strong>I Spend A Day With...</strong> <a\nhref=\"https://feeds.megaphone.fm/ispentadaywith\"\nclass=\"uri\">https://feeds.megaphone.fm/ispentadaywith</a></li>\n<li><strong>The Vinyl Guide</strong> <a\nhref=\"https://www.thevinylguide.com/\"\nclass=\"uri\">https://www.thevinylguide.com/</a></li>\n<li><strong>NSOD - Norsken, Svensken og Dansken</strong> <a\nhref=\"https://podkast.nrk.no/program/norsken_svensken_og_dansken.rss\"\nclass=\"uri\">https://podkast.nrk.no/program/norsken_svensken_og_dansken.rss</a></li>\n</ul>\n',309,0,0,'CC-BY-SA','school,podcasts,instrument,quiz',0,0,1),
(3906,'2023-07-24','The Oh No! News.',1741,'Sgoti discusses the threat of convenience.','<h2 id=\"the-oh-no-news.\">The <em>Oh No!</em> news.</h2>\n<h2 id=\"oh-no-news-is-good-news.\"><em>Oh No!</em> News is Good\nNews.</h2>\n<ul>\n<li><strong>TAGS:</strong> Oh No News, InfoSec, browser security,\nsession tokens, session id</li>\n</ul>\n<hr />\n<h3 id=\"infosec-the-language-of-security.\"><strong>InfoSec; the language\nof security.</strong></h3>\n<ul>\n<li><strong>Source:</strong> <a\nhref=\"https://en.wikipedia.org/wiki/Session_ID\">Session ID.</a><br />\n</li>\n<li><strong>Source:</strong> <a\nhref=\"https://en.wikipedia.org/wiki/JSON_Web_Token\">JSON Web\nToken.</a><br />\n\n<ul>\n<li><strong><a\nhref=\"https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use\">Terms\nof Use:</a></strong> Copyleft, free content<br />\n</li>\n</ul></li>\n<li><strong>Source:</strong> <a\nhref=\"https://www.geeksforgeeks.org/session-vs-token-based-authentication/\">Session\nvs Token Based Authentication.</a><br />\n\n<ul>\n<li><strong><a\nhref=\"https://www.geeksforgeeks.org/legal/copyright-information/\">Terms\nof Use:</a></strong> CC-BY-SA (with CC-BY-NC-SA elements).<br />\n</li>\n</ul></li>\n<li><strong>Source:</strong> <a\nhref=\"https://attack.mitre.org/techniques/T1528/\">Steal Application\nAccess Token.</a> Adversaries can steal application access tokens as a\nmeans of acquiring credentials to access remote systems and resources.\nApplication access tokens are used to make authorized API requests on\nbehalf of a user or service and are commonly used as a way to access\nresources in cloud and container-based applications and\nsoftware-as-a-service (SaaS).<br />\n\n<ul>\n<li><strong><a\nhref=\"https://attack.mitre.org/resources/terms-of-use/\">Terms of\nUse:</a></strong> Similar to CC-BY-SA<br />\n</li>\n</ul></li>\n<li><strong>Source:</strong> <a\nhref=\"https://blog.isc2.org/isc2_blog/2023/02/analysis-circleci-attackers-stole-session-cookie-to-bypass-mfa.html\">Analysis:\nCircleCI attackers stole session cookie to bypass MFA.</a><br />\n\n<ul>\n<li><strong><a href=\"https://www.typepad.com/tos\">Terms of\nUse:</a></strong> Section 8. CONTENT AND CONTENT LICENSES. NOT\ncertain<br />\n</li>\n</ul></li>\n<li><strong>Source:</strong> <a\nhref=\"https://www.baeldung.com/cs/session-hijacking\">How to Prevent\nSession Hijacking?</a><br />\n\n<ul>\n<li><strong><a href=\"https://www.baeldung.com/terms-of-service\">Terms of\nUse:</a></strong> Copyright, restrictive<br />\n</li>\n</ul></li>\n</ul>\n<hr />\n<ul>\n<li><strong>Additional Information.</strong>\n<ul>\n<li><a href=\"https://en.wikipedia.org/wiki/Data_breach\"\ntitle=\"From Wikipedia, the free encyclopedia.\">What is a \"Data\nBreach\"?</a> A data breach is a security violation, in which sensitive,\nprotected or confidential data is copied, transmitted, viewed, stolen,\naltered or used by an individual unauthorized to do so.</li>\n<li><a href=\"https://en.wikipedia.org/wiki/Malware\"\ntitle=\"From Wikipedia, the free encyclopedia\">What is \"Malware\"?</a>\nMalware (a <a href=\"https://en.wikipedia.org/wiki/Portmanteau\"\ntitle=\"From Wikipedia, the free encyclopedia\">portmanteau</a> for\nmalicious software) is any software intentionally designed to cause\ndisruption to a computer, server, client, or computer network, leak\nprivate information, gain unauthorized access to information or systems,\ndeprive access to information, or which unknowingly interferes with the\nuser\'s computer security and privacy.</li>\n<li><a href=\"https://en.wikipedia.org/wiki/Payload_(computing)\"\ntitle=\"From Wikipedia, the free encyclopedia\">What is a \"Payload\"?</a>\nIn the context of a computer virus or worm, the payload is the portion\nof the malware which performs malicious action; deleting data, sending\nspam or encrypting data. In addition to the payload, such malware also\ntypically has overhead code aimed at simply spreading itself, or\navoiding detection.</li>\n<li><a href=\"https://en.wikipedia.org/wiki/Phishing\"\ntitle=\"From Wikipedia, the free encyclopedia.\">What is \"Phishing\"?</a>\nPhishing is a form of <a\nhref=\"https://en.wikipedia.org/wiki/Social_engineering_(security)\"\ntitle=\"From Wikipedia, the free encyclopedia\">social engineering</a>\nwhere attackers deceive people into revealing sensitive information or\ninstalling malware such as <a\nhref=\"https://en.wikipedia.org/wiki/Ransomware\"\ntitle=\"From Wikipedia, the free encyclopedia\">ransomware</a>. Phishing\nattacks have become increasingly sophisticated and often transparently\nmirror the site being targeted, allowing the attacker to observe\neverything while the victim is navigating the site, and transverse any\nadditional security boundaries with the victim.</li>\n<li><a\nhref=\"https://en.wikipedia.org/wiki/Social_engineering_(security)\">Social\nengineering (security)</a> In the context of information security,\nsocial engineering is the <a\nhref=\"https://en.wikipedia.org/wiki/Psychological_manLine truncated
(3908,'2023-07-26','Emacs package curation, part 2',667,'Let\'s go through every single package installed in my Emacs configuration. File 2 of 3.','<p>We discuss the packages installed in the second of three files that\nmake up my emacs config.</p>\n<pre class=\"elisp\"><code>;;; init-base.el --- The basics\n;;; Commentary:\n;;; Packages for my personal and work laptop, but not termux.\n\n;;; Code:\n\n;;;;;;;;;;;;;;;\n;;; Writing ;;;\n;;;;;;;;;;;;;;;\n\n;; Focused writing mode\n(use-package olivetti\n :hook (olivetti-mode . typewriter-mode-toggle)\n :bind (&quot;C-x C-w&quot; . olivetti-mode)\n :custom (olivetti-body-width 64)\n :config\n (defvar-local typewriter-mode nil\n &quot;Typewriter mode, automatically scroll down to keep cursor in\n the middle of the screen. Setting this variable explicitly will\n not do anything, use typewriter-mode-on, typewriter-mode-off\n and typewriter-mode-toggle instead.&quot;)\n (defun typewriter-mode-on()\n &quot;Automatically scroll down to keep cursor in the middle of screen.&quot;\n (interactive)\n (setq-local typewriter-mode t)\n (centered-cursor-mode +1))\n (defun typewriter-mode-off()\n &quot;Automatically scroll down to keep cursor in the middle of screen.&quot;\n (interactive)\n (kill-local-variable &#39;typewriter-mode)\n (centered-cursor-mode -1))\n (defun typewriter-mode-toggle()\n &quot;Toggle typewriter scrolling mode on and off.&quot;\n (interactive)\n (if typewriter-mode (typewriter-mode-off) (typewriter-mode-on))))\n\n(use-package centered-cursor-mode)\n\n;; Check for weasel words and some other simple rules\n(use-package writegood-mode\n :bind (&quot;C-c g&quot; . writegood-mode))\n\n;; spellchecking\n(use-package flyspell-correct\n :after flyspell\n :bind (:map flyspell-mode-map\n (&quot;C-;&quot; . flyspell-correct-wrapper)))\n\n;; show correction options in a popup instead of the minibuffer\n(use-package flyspell-correct-popup\n :after (flyspell-correct))\n\n;online thesaurus service from powerthesaurus.org\n(use-package powerthesaurus)\n\n;; WordNet Thesaurus replacement\n(use-package synosaurus\n :custom (synosaurus-choose-method &#39;default)\n :config (when window-system\n (if (string= (x-server-vendor) &quot;Microsoft Corp.&quot;)\n (setq synosaurus-wordnet--command &quot;C:\\\\Program Files (x86)\\\\WordNet\\\\2.1\\\\bin\\\\wn.exe&quot;))))\n\n;; WordNet search and view\n(use-package wordnut\n :bind (&quot;C-c s&quot; . wordnut-search)\n :config (when window-system\n (if (string= (x-server-vendor) &quot;Microsoft Corp.&quot;)\n (setq wordnut-cmd &quot;C:\\\\Program Files (x86)\\\\WordNet\\\\2.1\\\\bin\\\\wn.exe&quot;))))\n\n;; fill and unfill with the same key\n(use-package unfill\n :bind (&quot;M-q&quot; . unfill-toggle))\n\n;; Markdown...\n(use-package markdown-mode)\n\n;;;;;;;;;;;;;;\n;;; Coding ;;;\n;;;;;;;;;;;;;;\n\n;; Syntax checking\n(use-package flycheck\n :diminish\n :init (global-flycheck-mode))\n\n(use-package flycheck-popup-tip\n :after (flycheck)\n :hook (flycheck-mode-hook . flycheck-popup-tip-mode))\n\n;; Web design\n(use-package emmet-mode\n :hook (sgml-mode . emmet-mode) ;; Auto-start on any markup modes\n (css-mode . emmet-mode)) ;; enable Emmet&#39;s css abbreviation.\n\n(use-package sass-mode)\n\n(use-package web-mode)\n\n;; Python\n(use-package python\n :mode (&quot;\\\\.py\\\\&#39;&quot; . python-mode)\n :interpreter (&quot;python&quot; . python-mode))\n\n;; highlight todo items everywhere\n(use-package hl-todo\n :straight (:host github :repo &quot;tarsius/hl-todo&quot;)\n :custom (hl-todo-keyword-faces\n `((&quot;FIXME&quot; error bold)\n (&quot;STUB&quot; error bold)\n (&quot;REPLACETHIS&quot; error bold)\n (&quot;REVISIT&quot; error bold)))\n (hl-todo-exclude-modes nil)\n :config (add-to-list &#39;hl-todo-include-modes &#39;org-mode)\n :init (global-hl-todo-mode))\n\n;; git\n(use-package magit)\n\n(use-package git-timemachine)\n\n;; rest APIs via org source block\n(use-package ob-restclient)\n\n;;; END ;;;\n\n(provide &#39;init-base)\n;;; init-base.el ends here</code></pre>\n',399,0,0,'CC-BY-SA','emacs,elisp',0,0,1),
(3918,'2023-08-09','Emacs package curation, part 3',864,'Let\'s go through every single package installed in my Emacs configuration. The last one.','<p>We discuss the packages installed in the second of three files that\nmake up my emacs config.</p>\n<p>Since recording, I pulled in some EXWM (the Emacs X Window Manager,\nthat\'s right), even though I\'m not actually using it, I\'m still using\nstumpWM.</p>\n<p>I have also added pass, the password manager, khardel, an emacs\npackage for the khard CLI address book application.</p>\n<p>I also moved (server-start) to this file, so that it\'ll only happen\nwhen I\'m on linux.</p>\n<pre class=\"elisp\"><code>;;; init-extra.el --- Extra init stuff\n;;; Commentary:\n;;; Stuff just for my personal laptop, not for my work laptop or termux, for example.\n\n;;; Code:\n\n;;;;;;;;;;;;;;;;\n;;; org-roam ;;;\n;;;;;;;;;;;;;;;;\n\n(use-package org-roam\n :demand t\n :straight (:host github :repo &quot;org-roam/org-roam&quot;\n :files (:defaults &quot;extensions/*&quot;))\n :custom (org-roam-mode-sections (list #&#39;org-roam-backlinks-section\n #&#39;org-roam-reflinks-section\n #&#39;org-roam-unlinked-references-section))\n :init (setq org-roam-directory &quot;~/org/roam/&quot;\n org-roam-capture-templates\n &#39;((&quot;o&quot; &quot;outline&quot; plain\n &quot;%?&quot;\n :if-new\n (file+head &quot;${slug}.org&quot; &quot;#+title: ${title}\\n#+filetags: :outline:\\n&quot;)\n :immediate-finish t\n :unnarrowed t)\n (&quot;r&quot; &quot;reference&quot; plain &quot;%?&quot;\n :if-new\n (file+head &quot;${slug}.org&quot; &quot;#+title: ${title}\\n&quot;)\n :immediate-finish t\n :unnarrowed t)\n (&quot;m&quot; &quot;memo&quot; entry &quot;* ${title}\\n%?&quot;\n :if-new\n (file &quot;memos.org&quot;)\n :immediate-finish t\n :unnarrowed t)))\n :bind ((&quot;C-c n l&quot; . org-roam-buffer-toggle)\n (&quot;C-c n f&quot; . org-roam-node-find)\n (&quot;C-c n g&quot; . org-roam-graph)\n (&quot;C-c n i&quot; . org-roam-node-insert)\n (&quot;C-c n c&quot; . org-roam-capture)\n ;; Dailies\n (&quot;C-c n j&quot; . org-roam-dailies-capture-today))\n :config\n ;; If you&#39;re using a vertical completion framework, you might want a more informative completion interface\n (setq org-roam-node-display-template (concat &quot;${title:*} &quot; (propertize &quot;${tags:10}&quot; &#39;face &#39;org-tag)))\n (org-roam-db-autosync-mode)\n ;; If using org-roam-protocol\n (require &#39;org-roam-protocol))\n\n;; citations\n(use-package citar\n :after org-roam\n :custom (org-cite-insert-processor &#39;citar)\n (org-cite-follow-processor &#39;citar)\n (org-cite-activate-processor &#39;citar)\n (citar-bibliography &#39;(&quot;~/org/biblio.bib&quot;))\n (citar-notes-paths &#39;(&quot;~/org/roam&quot;))\n (citar-file-note-extensions &#39;(&quot;org&quot;))\n :hook (LaTeX-mode . citar-capf-setup)\n (org-mode . citar-capf-setup)\n :bind ((&quot;C-c n b&quot; . #&#39;citar-open-notes)\n :map org-mode-map :package org\n (&quot;C-c b&quot; . #&#39;org-cite-insert)))\n\n;; view your org-roam notes on a map\n(use-package org-roam-ui\n :after org-roam\n :custom (org-roam-ui-sync-theme t)\n (org-roam-ui-follow t)\n (org-roam-ui-update-on-save t)\n (org-roam-ui-open-on-start t))\n\n;; archive web pages in org attachments\n(use-package org-board\n :after org\n :custom (org-board-default-browser #&#39;browse-url)\n (org-board-property &quot;ROAM_REFS&quot;)\n :bind (:map org-mode-map\n (&quot;C-c B a&quot; . org-board-archive)\n (&quot;C-c B o&quot; . org-board-open)\n (&quot;C-c B D&quot; . org-board-delete-all)))\n\n;;;;;;;;;;;;;;;\n;;; Writing ;;;\n;;;;;;;;;;;;;;;\n\n; something like grammarly, but open source\n(use-package langtool)\n\n;; better than docview, for pdf\n(use-package pdf-tools)\n\n;; annotating docs in org files\n(use-package org-noter)\n\n;; epub\n(use-package nov\n :mode (&quot;\\\\.epub$&quot; . nov-mode))\n\n;;; Invoke quick emacs windows to edit anything anywhere.\n;;; bind a key in xorg to ~emacsclient -c (emacs-everywhere)~\n(use-package emacs-everywhere)\n\n;;;;;;;;;;;;;;\n;;; Auctex ;;;\n;;;;;;;;;;;;;;\n(straight-use-package &#39;( auctex\n :host nil :repo &quot;https://git.savannah.gnu.org/git/auctex.git&quot;\n :pre-build ((&quot;./autogen.sh&quot;)\n (&quot;./configure&quot; &quot;--without-texmf-dir&quot; &quot;--with-lispdir=.&quot;)\n (&quot;make&qLine truncated
(3909,'2023-07-27','Permission tickets. ',688,'Collective delusions of elective conclusions. ','<p>No special knowledge nor resources.<br />\nThis is a preview show for some future, self referential tangle of\ncryptographic distraction.</p>\n<p>So far, I see money as some social credit by proxy.<br />\nI recognise the utility of keeping track of resource recipes.<br />\nI also see dangers in over abstracting relations beyond robustly\nprovable outcomes.</p>\n',398,0,1,'CC-BY-SA','ledger,cryptographic,consensus,permission,integrity',0,0,1),
@@ -20454,7 +20466,8 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti
(3979,'2023-11-02','FireStick and ad blocking',1501,'operat0r talks about recent apps for firestick and blocking ads','<p>I talk about recent apps for firestick and blocking ads</p>\n',36,0,1,'CC-BY-SA','streaming,tv,ad blocking,youtube',0,0,1),
(3982,'2023-11-07','Conversation with ChatGPT',218,'Conversation with ChatGPT about EU Cookie banners','<h2 id=\"the-following-conversation-is-from-my-query-to-chatgpt\">The\nfollowing conversation is from my query to ChatGPT</h2>\n<p><a\nhref=\"https://hackerpublicradio.org/eps/hpr3982/hpr3982/conversation.html\"\ntitle=\"Conversation with ChatGPT\">conversation.html</a></p>\n',318,0,0,'CC-BY-SA','ChatGPT, EU, GDPR, cookies',0,0,1),
(3983,'2023-11-08','ChatGPT Output is not compatible with CC-BY-SA',536,'Ken is not a lawyer but is fairly sure that ChatGPT is not compatible with Creative Commons','<p>When uploading to HPR you are\n<a href=\"https://hackerpublicradio.org/about.html#agreement\">You are\nagreeing to license your show CC-BY-SA.</a></p>\n<blockquote>\n<p>All our shows are now released under a Creative Commons\nAttribution-ShareAlike 4.0 International (CC BY-SA 4.0) license, which\nmeans that while you continue to retain the copyright to your show, you\nare allowing us (and everyone else) to use it provided we give you\nattribution and that we release it under the same license. Click the\nlink for more information.</p>\n</blockquote>\n<p>The\n<a href=\"https://creativecommons.org/licenses/by-sa/4.0/\">Creative\nCommons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)\nlicense</a> itself says that sharing (the S in CC-BY-SA), allows you to\n\"copy and redistribute the material in any medium or format for any\npurpose, even commercially\".</p>\n<p>On the face of it the\n<a href=\"https://openai.com/policies/terms-of-use#3-content\">OpenAI\nChatGPT Terms of use</a> seem similar, with Section 3 saying \"you can\nuse Content for any purpose, including commercial purposes\".\nUnfortunately they then go on to say \"Subject to your compliance with\nthese Terms\":</p>\n<pre><code> 3. Content\n\n (a) Your Content. You may provide input to the Services (&#x201C;Input&#x201D;), and\n receive output generated and returned by the Services based on the Input\n (&#x201C;Output&#x201D;). Input and Output are collectively &#x201C;Content.&#x201D; As between the\n parties and to the extent permitted by applicable law, you own all\n Input. Subject to your compliance with these Terms, OpenAI hereby\n assigns to you all its right, title and interest in and to Output. This\n means you can use Content for any purpose, including commercial purposes\n such as sale or publication, if you comply with these Terms. OpenAI may\n use Content to provide and maintain the Services, comply with applicable\n law, and enforce our policies. You are responsible for Content,\n including for ensuring that it does not violate any applicable law or\n these Terms.</code></pre>\n<p>The same document lists some restrictions...</p>\n<pre><code> 2. Usage Requirements\n\n (c) Restrictions. You may not (i) use the Services in a way that\n infringes, misappropriates or violates any person&#x2019;s rights; (ii) reverse\n assemble, reverse compile, decompile, translate or otherwise attempt to\n discover the source code or underlying components of models, algorithms,\n and systems of the Services (except to the extent such restrictions are\n contrary to applicable law); (iii) use output from the Services to\n develop models that compete with OpenAI;</code></pre>\n<p>... while the\n<a href=\"https://openai.com/policies/usage-policies\">Usage policies</a>\nlist more.</p>\n<p>So in my opinion, and I am not a lawyer (IANAL) the\n<a href=\"https://openai.com/policies/terms-of-use#3-content\">OpenAI\nChatGPT Terms of use</a> is not compatible with the\n<a href=\"https://creativecommons.org/licenses/by-sa/4.0/\">Creative\nCommons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)\nlicense</a>.</p>\n<p>You can of course refer to ChatGPT as you would any other non\nCreative Commons site.</p>\n<p>If you disagree or would like to weigh in please discuss this on the\nmail list.</p>\n',30,0,0,'CC-BY-SA','CreativeCommons, CC-BY-SA, ChatGPT, HPR, CC',0,0,1),
(3984,'2023-11-09','Whoppers. How Archer72 and I made moonshine. Volume one.',1730,'Sgoti assists Archer72 with his crazy plan to make moonshine.','<p>What is a whopper?<br />\n<a href=\"https://www.merriam-webster.com/dictionary/whopper\">an\nextravagant or monstrous lie</a><br />\n<a href=\"https://dictionary.cambridge.org/dictionary/english/whopper\">a\nbig lie</a><br />\n</p>\n<p>A work of <a href=\"https://en.wikipedia.org/wiki/Fiction\">Fiction</a>\nis any creative work, chiefly any narrative work, portraying\nindividuals, events, or places that are imaginary or in ways that are\nimaginary.<br />\n</p>\n<ul>\n<li><strong>Source:</strong> <a\nhref=\"https://en.wikipedia.org/wiki/Moonshine\">Moonshine</a> is\nhigh-proof liquor, generally whiskey, traditionally made, or at least\ndistributed, illegally.<br />\n</li>\n<li><strong>Supporting Source:</strong> <a\nhref=\"https://katexic.com/word/busthead-bust-head/\">busthead\n(bust-head).</a> noun. Cheap, strong liquor, usually of the illegal\nvariety. Moonshine. Hooch. Poteen. Pop-skull. Bumblings. The origin is\nobvious to anyone who&#x2019;s hit the busthead a little hard themselves.<br />\n</li>\n</ul>\n<p>The Bureau of Alcohol, Tobacco, Firearms and Explosives (<a\nhref=\"https://en.wikipedia.org/wiki/Bureau_of_Alcohol,_Tobacco,_Firearms_and_Explosives\">BATFE</a>),\ncommonly referred to as the ATF, is a domestic law enforcement agency\nwithin the United States Department of Justice.<br />\n</p>\n<ul>\n<li><strong>Source:</strong> <a\nhref=\"https://hackerpublicradio.org/correspondents/0318.html\">Archer72</a><br />\n</li>\n<li><strong>Source:</strong> <a\nhref=\"https://hackerpublicradio.org/correspondents/0401.html\">Mechatroniac</a><br />\n</li>\n<li><strong>Source:</strong> <a\nhref=\"https://hackerpublicradio.org/correspondents/0078.html\">Klaatu</a><br />\n</li>\n<li><strong>Source:</strong> <a\nhref=\"https://hackerpublicradio.org/correspondents/0377.html\">Zen_Floater2</a><br />\n</li>\n</ul>\n',391,0,1,'CC-BY-SA','Whoppers, Moonshine, Archer72',0,0,0);
(3984,'2023-11-09','Whoppers. How Archer72 and I made moonshine. Volume one.',1730,'Sgoti assists Archer72 with his crazy plan to make moonshine.','<p>What is a whopper?<br />\n<a href=\"https://www.merriam-webster.com/dictionary/whopper\">an\nextravagant or monstrous lie</a><br />\n<a href=\"https://dictionary.cambridge.org/dictionary/english/whopper\">a\nbig lie</a><br />\n</p>\n<p>A work of <a href=\"https://en.wikipedia.org/wiki/Fiction\">Fiction</a>\nis any creative work, chiefly any narrative work, portraying\nindividuals, events, or places that are imaginary or in ways that are\nimaginary.<br />\n</p>\n<ul>\n<li><strong>Source:</strong> <a\nhref=\"https://en.wikipedia.org/wiki/Moonshine\">Moonshine</a> is\nhigh-proof liquor, generally whiskey, traditionally made, or at least\ndistributed, illegally.<br />\n</li>\n<li><strong>Supporting Source:</strong> <a\nhref=\"https://katexic.com/word/busthead-bust-head/\">busthead\n(bust-head).</a> noun. Cheap, strong liquor, usually of the illegal\nvariety. Moonshine. Hooch. Poteen. Pop-skull. Bumblings. The origin is\nobvious to anyone who&#x2019;s hit the busthead a little hard themselves.<br />\n</li>\n</ul>\n<p>The Bureau of Alcohol, Tobacco, Firearms and Explosives (<a\nhref=\"https://en.wikipedia.org/wiki/Bureau_of_Alcohol,_Tobacco,_Firearms_and_Explosives\">BATFE</a>),\ncommonly referred to as the ATF, is a domestic law enforcement agency\nwithin the United States Department of Justice.<br />\n</p>\n<ul>\n<li><strong>Source:</strong> <a\nhref=\"https://hackerpublicradio.org/correspondents/0318.html\">Archer72</a><br />\n</li>\n<li><strong>Source:</strong> <a\nhref=\"https://hackerpublicradio.org/correspondents/0401.html\">Mechatroniac</a><br />\n</li>\n<li><strong>Source:</strong> <a\nhref=\"https://hackerpublicradio.org/correspondents/0078.html\">Klaatu</a><br />\n</li>\n<li><strong>Source:</strong> <a\nhref=\"https://hackerpublicradio.org/correspondents/0377.html\">Zen_Floater2</a><br />\n</li>\n</ul>\n',391,0,1,'CC-BY-SA','Whoppers, Moonshine, Archer72',0,0,1),
(3985,'2023-11-10','Bash snippet - be careful when feeding data to loops',1644,'A loop in a pipeline runs in a subshell','<article>\n<h2 id=\"overview\">Overview</h2>\n<p>Recently Ken Fallon did a show on HPR, <a\nhref=\"https://hackerpublicradio.org/eps/hpr3962/index.html\">number\n3962</a>, in which he used a <a\nhref=\"https://www.gnu.org/software/bash/manual/html_node/Pipelines.html\">Bash\npipeline</a> of multiple commands feeding their output into a\n<code>while</code> loop. In the loop he processed the lines produced by\nthe pipeline and used what he found to download audio files belonging to\na series with <code>wget</code>.</p>\n<p>This was a great show and contained some excellent advice, but the\nuse of the format:</p>\n<pre><code>pipeline | while read variable; do ...</code></pre>\n<p>reminded me of the \"gotcha\" I mentioned in my own <a\nhref=\"https://hackerpublicradio.org/eps/hpr2699/index.html\">show\n2699</a>.</p>\n<p>I thought it might be a good time to revisit this subject.</p>\n<h2 id=\"so-whats-the-problem\">So, what\'s the problem?</h2>\n<p>The problem can be summarised as a side effect of pipelines.</p>\n<h3 id=\"what-are-pipelines\">What are pipelines?</h3>\n<p>Pipelines are an amazingly useful feature of Bash (and other shells).\nThe general format is:</p>\n<pre><code>command1 | command2 ...</code></pre>\n<p>Here <code>command1</code> runs in a subshell and produces output (on\nits <em>standard output</em>) which is connected via the pipe symbol\n(<code>|</code>) to <code>command2</code> where it becomes its\n<em>standard input</em>. Many commands can be linked together in this\nway to achieve some powerful combined effects.</p>\n<p>A very simple example of a pipeline might be:</p>\n<pre><code>$ printf &#39;World&bsol;nHello&bsol;n&#39; | sort\nHello\nWorld</code></pre>\n<p>The <code>printf</code> command (≡<code>\'command1\'</code>) writes two\nlines (separated by newlines) on <em>standard output</em> and this is\npassed to the <code>sort</code> command\'s <em>standard input</em>\n(≡<code>\'command2\'</code>) which then sorts these lines\nalphabetically.</p>\n<p>Commands in the pipeline can be more complex than this, and in the\ncase we are discussing we can include a loop command such as\n<code>while</code>.</p>\n<p>For example:</p>\n<pre><code>$ printf &#39;World&bsol;nHello&bsol;n&#39; | sort | while read line; do echo &quot;($line)&quot;; done\n(Hello)\n(World)</code></pre>\n<p>Here, each line output by the <code>sort</code> command is read into\nthe variable <code>line</code> in the <code>while</code> loop and is\nwritten out enclosed in parentheses.</p>\n<p>Note that the loop is written on one line. The semi-colons are used\ninstead of the equivalent newlines.</p>\n<h3 id=\"variables-and-subshells\">Variables and subshells</h3>\n<p>What if the lines output by the loop need to be numbered?</p>\n<pre><code>$ i=0; printf &#39;World&bsol;nHello&bsol;n&#39; | sort | while read line; do ((i++)); echo &quot;$i) $line&quot;; done\n1) Hello\n2) World</code></pre>\n<p>Here the variable <code>\'i\'</code> is set to zero before the\npipeline. It could have been done on the line before of course. In the\n<code>while</code> loop the variable is incremented on each iteration\nand included in the output.</p>\n<p>You might expect <code>\'i\'</code> to be 2 once the loop exits but it\nis not. It will be zero in fact.</p>\n<p>The reason is that there are two <code>\'i\'</code> variables. One is\ncreated when it\'s set to zero at the start before the pipeline. The\nother one is created in the loop as a \"clone\". The expression:</p>\n<pre><code>((i++))</code></pre>\n<p>both creates the variable (where it is a copy of the one in the\nparent shell) and increments it.</p>\n<p>When the subshell in which the loop runs completes, it will delete\nthis version of <code>\'i\'</code> and the original one will simply\ncontain the zero that it was originally set to.</p>\n<p>You can see what happens in this slightly different example:</p>\n<pre><code>$ i=1; printf &#39;World&bsol;nHello&bsol;n&#39; | sort | while read line; do ((i++)); echo &quot;$i) $line&quot;; done\n2) Hello\n3) World\n$ echo $i\n1</code></pre>\n<p>These examples are fine, assuming the contents of variable\n<code>\'i\'</code> incremented in the loop are not needed outside it.</p>\n<p>The thing to remember is that the same variable name used in a\nsubshell is a different variable; it is initialised with the value of\nthe \"parent\" variable but any changes are not passed back.</p>\n<h2 id=\"how-to-avoid-the-loss-of-changes-in-the-loop\">How to avoid the\nloss of changes in the loop</h2>\n<p>To solve this the loop needs to be run in the original shell, not a\nsubshell. The pipeline which is being read needs to be attached to the\nloop in a different way:</p>\n<pre><code>$ i=0; while read line; do ((i++)); echo &quot;$i) $line&quot;; done &lt; &lt;(printf &#39;World&bsol;nHello&bsol;n&#39; | sort)\n1) Hello\n2) World\n$ echo $i\n2</codLine truncated
/*!40000 ALTER TABLE `eps` ENABLE KEYS */;
UNLOCK TABLES;
@@ -21378,4 +21391,4 @@ UNLOCK TABLES;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2023-11-01 12:49:06
-- Dump completed on 2023-11-02 8:26:55