From 342743bed3f6d12ad031e4939e26a8841ef9d942 Mon Sep 17 00:00:00 2001 From: Ken Fallon Date: Wed, 9 Aug 2023 09:10:21 +0200 Subject: [PATCH] 2023-08-09_07-10-21Z_Wednesday database changed --- sql/hpr.sql | 62 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/sql/hpr.sql b/sql/hpr.sql index 90e58dc..2eb6d4e 100644 --- a/sql/hpr.sql +++ b/sql/hpr.sql @@ -11806,6 +11806,42 @@ INSERT INTO `assets` (`episode_id`, `filename`, `extension`, `size`, `sha1sum`, (3882,'hpr3882.flac','flac',54360165,'e60818c0a46437e1179d93996eb74d7271fb8a29','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 136909306 samples'), (3882,'hpr3882.opus','opus',6727905,'9be328c07dbe2b1d64aaaf6f4cff328e3f05e613','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), (3882,'hpr3882.wav','wav',273820004,'6fdc5731efabab479eb01e8c2586024df7f41dc2','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3965,'hpr3965.wav','wav',140494478,'41607bc8e018310f438f32810de3cd38c023ac88','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3965,'hpr3965.opus','opus',3113594,'6ed63ff56baf042bb15063060b66e8e7a155472f','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3965,'hpr3965.flac','flac',27978369,'0d865cea86928c32949a105ef916c550e41d3454','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 70246509 samples'), +(3965,'hpr3965.spx','spx',1382435,'45d5fc65e698aaffc945ce164a251c11f883c8e1','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3965,'hpr3965.ogg','ogg',3113281,'865525178c607e1a04c1103e7ec30b36e041c1c6','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3965,'hpr3965.mp3','mp3',2928924,'31dcef4579506c834f79b16093db081c18486d8b','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), +(3955,'hpr3955.wav','wav',167893632,'278f094549c182c532fd31a6b86c9fc0e1c5e7dc','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3955,'hpr3955.opus','opus',3729184,'1d67cd8e0daf6c33813b4f788645557024c2c6c4','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3955,'hpr3955.flac','flac',33421403,'ad74420301eea9f3a06b718a6f8b664ac99d3047','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 83946097 samples'), +(3955,'hpr3955.ogg','ogg',3728893,'a2b62b87eb082c7729d27e3ea55f464cec5f5fc2','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3955,'hpr3955.spx','spx',1651882,'2e9738c4b124c6b399db0545f12a8997e320682f','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3955,'hpr3955.mp3','mp3',3499718,'9c1b5a1570b6420f58985afb023268bd1f3675b0','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), +(3945,'hpr3945.wav','wav',135047790,'41a51138449ec53b42cdab51203cde3db473ca17','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3945,'hpr3945.opus','opus',2986656,'62df0c5ea9999ab69eae092df67954da40d16a76','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3945,'hpr3945.flac','flac',26988616,'95c5e7f2dd50e00e1f1337c8827d4a1abec78959','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 67523187 samples'), +(3945,'hpr3945.spx','spx',1328838,'7e8660bb85ef7d9d18a6bcc3133955f89bdd09a3','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3945,'hpr3945.ogg','ogg',2986387,'527392e7cf9e2423fc7fee4eb62cb70f4b8f5463','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3945,'hpr3945.mp3','mp3',2815408,'f446bfc3472d354b3a1506b1aaef457868db7c7b','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), +(3935,'hpr3935.wav','wav',256173694,'aa6c39f93221e29e5ffbc653309c02aa50b7d210','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3935,'hpr3935.opus','opus',5511071,'cdc2f2821833ca54c268e1937323b7a274e9b346','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3935,'hpr3935.flac','flac',50578247,'196e6dd3f1f97367794473f06aa639dfe3871995','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 128086131 samples'), +(3935,'hpr3935.spx','spx',2520211,'a8f16a064b0dd822ff60fbf78e205f9b15f28673','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3935,'hpr3935.ogg','ogg',5510786,'08ecb9e39eae10dde9d8a0f78903e3c3b0e5d3d3','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3935,'hpr3935.mp3','mp3',5338880,'302b5a4ffe6ee4ef5e0e57ef32c76eb2973eec21','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), +(3924,'hpr3924.wav','wav',625877536,'f03a02eee59b6c20e3a99ebd5b3f0039dea749ae','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3924,'hpr3924.opus','opus',15449276,'b91bb5fab3d5de2ec7b2a9e0e6651cedd7d49d4c','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3924,'hpr3924.flac','flac',100016764,'1a4aab83ff7e7b8a16982d6b76ca5ca214499316','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 312938053 samples'), +(3924,'hpr3924.spx','spx',6156609,'48d3503e61427c80d67280ac3ab921b2357b9973','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3924,'hpr3924.ogg','ogg',15448992,'5645a70c5fb9da20045cc21d1066acc7ce42ac24','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3924,'hpr3924.mp3','mp3',13040959,'43ebcaf9dccbe35e7dded09d910d4a507d6c1446','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), +(3925,'hpr3925.wav','wav',157368976,'7e217213bc25d8deae0286ed58df0770170c445c','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'); +INSERT INTO `assets` (`episode_id`, `filename`, `extension`, `size`, `sha1sum`, `mime_type`, `file_type`) VALUES (3925,'hpr3925.opus','opus',3476516,'2de914b192e1fabce55341f9a79590c30bccc730','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3925,'hpr3925.flac','flac',33949813,'ab0cc96014d31695d3163837499622206e4f5fd4','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 78683760 samples'), +(3925,'hpr3925.spx','spx',1548394,'302f9ceb3ef1c69a0d47da67bbfb8e9e1e299435','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3925,'hpr3925.ogg','ogg',3476207,'74cc595f84fe67b3203474a12426e381553a517c','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3925,'hpr3925.mp3','mp3',3280472,'8a77d48b2b5599d75a33392e41095b803d6cc9f4','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), (3916,'hpr3916.wav','wav',1771699850,'5ed24e700f809862097f4c98d0fb52ebbccc5eeb','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), (3916,'hpr3916.opus','opus',38462425,'9be685e69be1429fbd1bf48f3afa8bfbef9a5340','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), (3916,'hpr3916.flac','flac',322922012,'b7a5804a30c47d40a8b52e92e4efd5d2d0ce37db','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 885849204 samples'), @@ -11836,8 +11872,8 @@ INSERT INTO `assets` (`episode_id`, `filename`, `extension`, `size`, `sha1sum`, (3919,'hpr3919.flac','flac',79075576,'df3fbb5bc678276067ceac9cce34d1b6d96f3f2e','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 199602556 samples'), (3919,'hpr3919.ogg','ogg',9958538,'8ce02ffd7773288b8775cf991d1093e3e56f5261','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), (3919,'hpr3919.mp3','mp3',8318693,'b201416f1dda0186675d72d021396981eb31888d','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), -(3917,'hpr3917.wav','wav',187856318,'f8fcb49409f7b9d508289bb2d951e21e2ee074b4','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'); -INSERT INTO `assets` (`episode_id`, `filename`, `extension`, `size`, `sha1sum`, `mime_type`, `file_type`) VALUES (3917,'hpr3917.opus','opus',4982379,'082e449432f5046924b657f708ac8c176d6b0160','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3917,'hpr3917.wav','wav',187856318,'f8fcb49409f7b9d508289bb2d951e21e2ee074b4','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3917,'hpr3917.opus','opus',4982379,'082e449432f5046924b657f708ac8c176d6b0160','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), (3917,'hpr3917.flac','flac',35664453,'63fd6dd9c0a34239e31691794332e2d3f7317648','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 93927428 samples'), (3917,'hpr3917.spx','spx',1848310,'a854b19b826f804481edbd705920707cb6f6d66b','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), (3917,'hpr3917.ogg','ogg',4982064,'e92ad8021377be57d173dbfe7a1e76c8876a23c8','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), @@ -12274,7 +12310,7 @@ CREATE TABLE `comments` ( `last_changed` datetime NOT NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `comments_eps_id_idx` (`eps_id`) -) ENGINE=MyISAM AUTO_INCREMENT=3787 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci COMMENT='New comments table populated from c5t_* tables'; +) ENGINE=MyISAM AUTO_INCREMENT=3789 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci COMMENT='New comments table populated from c5t_* tables'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -16065,7 +16101,9 @@ INSERT INTO `comments` (`id`, `eps_id`, `comment_timestamp`, `comment_author_nam (3782,3902,'2023-07-29 20:18:55','dnt','ffmpeg','I\'m looking forward to more of this. I haven\'t used ffmpeg much anymore, but it was essential to me in my videographer and video editor days. It\'s one of those applications that it\'s hard to imagine being without it, and amazing that we have it. Thanks!','2023-07-29 21:20:17'), (3783,3903,'2023-07-29 20:20:23','dnt','systemd','I think this was an excellent perspective on systemd. Something that\'s good for servers and for the overall enterprise linux world is not necessarily good for my laptop and it turns out that\'s ok. Great stuff!','2023-07-29 21:20:17'), (3784,3896,'2023-07-29 20:23:31','dnt','Ruins','Thanks for sharing this! I did not know about it. I have long hoped to visit Skara Brae someday, so here\'s another potential stop for me. I would enjoy hearing more of this.','2023-07-29 21:20:17'), -(3786,3916,'2023-08-07 19:53:33','dnt','grandfather clock','had a great laugh at Ken\'s description of the proper environment in which to enjoy one of spoons\' shows.','2023-08-07 19:55:57'); +(3786,3916,'2023-08-07 19:53:33','dnt','grandfather clock','had a great laugh at Ken\'s description of the proper environment in which to enjoy one of spoons\' shows.','2023-08-07 19:55:57'), +(3787,3856,'2023-08-08 06:37:27','tuturto','great show','I loved listening you explaining about painting toy soldiers. I wanted to add, that if time needed to paint a 28mm figurine is too long, one can always try switching to a different scale. I especially enjoyed 10mm ancients, because they\'re faster to paint and look quite nice from the arms length.','2023-08-08 14:14:59'), +(3788,3840,'2023-08-08 06:57:58','tuturto','this brings back memories','I used to play civilization a lot and it\'s still a very awesome game. In my very first game, things went horribly wrong and when I finally got around having chariots, my neighbour just demolished them with their tanks. I clearly had been focusing on wrong things on that time.\r\n\r\nI\'m thinking that we should get our daughter to give it a try too and experience that \"one more turn\" behaviour.','2023-08-08 14:14:59'); /*!40000 ALTER TABLE `comments` ENABLE KEYS */; UNLOCK TABLES; /*!50003 SET @saved_cs_client = @@character_set_client */ ; @@ -18005,7 +18043,7 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (1854,'2015-09-10','Installing Ubuntu on the Asus TP500L',927,'I talk about the process of getting Ubuntu onto my son\'s UEFI-secured laptop.','
    \r\n
  1. Getting to BIOS\r\n
      \r\n
    1. In Windows, go to Settings
    2. \r\n
    3. Search for advanced startup options
    4. \r\n
    5. Follow your nose to Boot to UEFI settings
    6. \r\n
    7. Can also get there by doing Shift+click on the Restart or Shutdown buttons then clicking through to advanced options until you find \"enter setup.\" Pressing F2 never worked for me
    8. \r\n
  2. \r\n
  3. In the BIOS\r\n
      \r\n
    1. Security tab: disable \"Secure Boot Control\"
    2. \r\n
    3. Boot tab: disable \"Fast Boot\"
    4. \r\n
    5. Boot tab: Here Asus support says to enable \"launch CSM\" (Compatibility Support Mode) but it wouldn\'t boot from the Ubuntu USB image this way. It worked when I left CSM disabled. I bet CSM works with a Windows or DOS USB.
    6. \r\n
  4. \r\n
  5. Plug in USB with Ubuntu image on it
  6. \r\n
  7. Restart computer and hold ESC key down, forcing windows boot menu to appear
  8. \r\n
  9. Choose the USB drive to boot from, off you go!
  10. \r\n
\r\n\r\n

Links

\r\n\r\n\r\n',238,0,0,'CC-BY-SA','UEFI, Ubuntu, Dual-Booting, Windows 10, Privacy',0,0,1), (1853,'2015-09-09','I <3 Vista',400,'How I got into Linux','

\r\nI talk about how Vista got me into Linux, and my computing experience in general.\r\n

',303,0,0,'CC-BY-SA','Windows Vista,Ubuntu,Macintosh,Acer,Debian',0,0,1), (1856,'2015-09-14','ssh config',747,'Klaatu talks about ssh config.','

Put a file called \'config\' into ~/.ssh and you can define any option you would normally provide as part of the command as an automatically-detected configuration.

\r\n\r\n

\r\nFor example:\r\n

\r\n
\r\nhost foo\r\n    hostname foo.org\r\n    identityfile /home/klaatu/.ssh/foo_rsa\r\n    port 2740\r\n    protocol 2\r\n
\r\n

\r\nMakes the command \'ssh klaatu@foo\' look like this to SSH:\r\n

\r\n
\r\nssh -p2740 -i ~/.ssh/foo_rsa klaatu@foo.org\r\n
',78,0,0,'CC-BY-SA','ssh,configuration,tutorial,hints and tips',0,0,1), -(1857,'2015-09-15','Adventures In Coffee',1131,'CPrompt talks about his adventures in coffee making and how he finally realized that the French Pres','
    \r\n
  1. CPrompts French Press: https://www.amazon.com/Bodum-Chambord-French-Coffee-Chrome/dp/B00008XEWG\r\n
  2. \r\n
  3. Grocer that has some great coffee: https://www.thefreshmarket.com/\r\n
  4. \r\n
  5. The only creamer that will go in CPrompt\'s coffee: https://www.califiafarms.com/products/coffee-creamer/ \r\n
  6. \r\n
',252,88,1,'CC-BY-SA','coffee,fresh,coffee pots,french press,cafetière,coffee plunger',0,0,1), +(1857,'2015-09-15','Adventures In Coffee',1131,'CPrompt talks about his adventures in coffee making and how he finally realized that the French Pres','
    \r\n
  1. CPrompts French Press: https://www.amazon.com/Bodum-Chambord-French-Coffee-Chrome/dp/B00008XEWG\r\n
  2. \r\n
  3. Grocer that has some great coffee: https://www.thefreshmarket.com/\r\n
  4. \r\n
  5. The only creamer that will go in CPrompt\'s coffee: https://www.califiafarms.com/products/coffee-creamer/ \r\n
  6. \r\n
',252,88,1,'CC-BY-SA','coffee,fresh,coffee pots,french press,cafetiere,coffee plunger',0,0,1), (1859,'2015-09-17','A Mouse in a Maze on the Raspberry PI',2389,'This podcast describes a little game that I learned in my first programming class.','

This podcast is about a little programming exercise I learned in my first programming class. The idea is to generate a random text-based maze and make mouse (\'@\') search the maze systematically to find the cheese (\'V\'). If it does so before it runs out of energy (moves) it wins (\'$\' == happy mouse). Otherwise it starves (\'%\' == dead mouse).

\r\n

You can find my git repos for the Raspberry PI code including this program at these locations:

\r\n\r\n

The Mouse-in-a-maze program also requires the catlib library as well which is at:

\r\n\r\n

You may note that these directories are different from those in my previous RPI episodes. The repositories used to be on gitorious. However since gitlab acquired gitorious, I have migrated the repositories. They currently live on both github and gitlab and I have pushing updates to both for the time being. So I have been waffling about which one will be the ultimate master for these projects. But since, I am doing most all the work on this code myself, it doesn\'t much matter for the time being.

\r\n

If this is your first time playing with bare metal programming in the RPI you can get more info and tips from HPR episodes 1619, 1630 and 1666. Note that the gitorious links in those episodes are outdated as mentioned above. The github links therein should still be fine though.

\r\n

The mouse code itself is in the apps/mouse0 directory. If you haven\'t played with this environment before you\'ll need to do the following:

\r\n\r\n

Once those prerequisites are taken care of you can:

\r\n\r\n

These pages describe VT100 Terminal codes:

\r\n\r\n

Sample traversal:

\r\n
  ########################################\r\n  #+0****## #+#...###...#..$ ##  #  #    #\r\n  ##+###+## #+++......#...# ##       #   #\r\n  # #.+++++#....#   #      #    #      # #\r\n  #  #+++++#+.+..#  #  #          #      #\r\n  #  #.##.+++#+.### #     #   #   ##     #\r\n  #  ###.+.##++.##     #   ###     #   # #\r\n  ####+.#..#++#.##   #      #####   ##   #\r\n  #++#.#.###+.##    ##       ##    #   # #\r\n  #++++++.##.++.#   #  ##     #  # #  # ##\r\n  #+++++#..##.##      ## #  #### # #    ##\r\n  #+.....#..#.  ##   #      #     ##  ## #\r\n  #+..+.......   # #      #      #  ##   #\r\n  #+...#..###       # #  #          ##  ##\r\n  #.#..#.........# # # # ##### # #    ## #\r\n  #.......##  ##....  #        ###   ##  #\r\n  ##......# ##   ##..#  #####          # #\r\n  #.+.#...###    ###. ##          ##  # ##\r\n  ##.+...#  #      ####      #   ##    # #\r\n  ########################################\r\n  Mouse found the cheese!  :)  Press any key to restart!
\r\n

Links

\r\n\r\n',259,25,0,'CC-BY-SA','Raspberry PI, Bare metal programming',0,0,1), (1867,'2015-09-29','The Lafayette Public Library Maker Space',2733,'My son and I visit the Lafayette Public Library to try out the 3d printer in the maker space.','

The Lafayette Public Library Maker Space

\n\n\"Exterior\n\n

The Renovated Main Library

\n\n\"Large\n\n

Sewing Area

\n\n\"Display\n\n

Rolling pin with laser-etched π symbols

\n\n\n\"Array\n\n

Knitting Area

\n\n\n\"Triangular\n

Lego Robotics Space

\n\n\"One\n\n

The Ultimaker2

\n\n\"Close\n\n

Trying to print my Kindle paperwhite stand.

\n\n\"The\n\n

The Taz 3D printer by Lulzbot

\n\n

The finished Kindle stand:

\n\n\"My\n\n

It worked! Bad part of this design is that it does not accommodate the case that I have on my Kindle, so to use the stand with the Kindle I\'ll have to remove the case. The next photo shows my son\'s nook color sitting sideways on it. I might try to modify the design so that it will accommodate the Kindle with its case and also prop it up a bit more vertically. Still, this was a really fun experiment with my first 3d printout.

\n\n\"Kindle\n\n\n

Links

\n\n\n\n

Credits

\n\n\n',238,0,0,'CC-BY-SA','3d printing, DIY, makers, libraries',0,0,1), (1861,'2015-09-21','Cool Stuff pt. 4',1032,'CPrompt talks about some more cool stuff for you to enjoy!','

CMUS

\r\n\r\n

\r\nA great command line music player\r\n

\r\n

\r\nCMUS Home Page: https://cmus.github.io/\r\n

\r\n

\r\nA good guide: https://www.tuxarena.com/static/cmus_guide.php\r\n

\r\n\r\n

Song Exploder

\r\n\r\n

\r\nPodcast where musicians take apart their songs bit by bit\r\n

\r\n

\r\nhttps://songexploder.net/\r\n

\r\n\r\n

Mr. Robot

\r\n\r\n

\r\nhttps://www.imdb.com/title/tt4158110/\r\n

\r\n

\r\n\"Follows a young computer programmer (Malek) who suffers from social anxiety disorder and forms connections through hacking. He\'s recruited by a mysterious anarchist, \r\nwho calls himself Mr. Robot.\"\r\n

\r\n

\r\nThe pilot for Mr. Robot was directed by Niels Arden Oplev (The Girl With The Dragon Tattoo) \r\n

\r\n

\r\nDirected by: \r\n

\r\n\r\n\r\n\r\n

\r\nStarring:\r\n

\r\n\r\n',252,0,0,'CC-BY-SA','CMUS,Mr Robot',0,0,1), @@ -18592,7 +18630,7 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (2459,'2018-01-04','free software\'s long tail',436,'Response to hpr2443 :: pdmenu by pdmenu\'s author','

Surprised to see in my podcast feed an episode about an insignificant program which I\'d written two decades earlier, I thought I\'d record a response with some thoughts on free software\'s long tail.

\r\n',360,0,0,'CC-BY-SA','pdmenu,free software',0,0,1), (2461,'2018-01-08','Gitolite',1839,'Using Gitolite to administer your Git server.','

Gitolite provides an admin a centralised interface, in the form of a configuration file, to make managing users, user permissions, repos, and user and repo groups easy. It abstracts Git users from UNIX users by defining a user by public keys, and manages permissions down to the branch-level. And better yet, it is itself managed over Git.\r\n

\r\n

\r\nProper documentation is available on Gitolite.com

',78,81,0,'CC-BY-SA','git,server,admin,dev',0,0,1), (2471,'2018-01-22','Tea Time!',379,'I go over where I am at with Tea','',36,0,1,'CC-BY-SA','Tea, Yerba Mate Pajarito',0,0,1), -(2462,'2018-01-09','AudioBookClub-14-Triplanetary-(First-in-the-Lensman-Series)',7030,'The HPR_AudioBookClub discusses Triplanetary: First in the Lensman Series by E. E. \"Doc\" Smith','

SUMMARY

\r\n

In this episode, the HPR_AudioBookClub discusses Triplanetary: First in the Lensman Series by E. E. \"Doc\" Smith.\r\n
https://librivox.org/triplanetary-first-in-the-lensman-series-by-e-e-doc-smith/

\r\n

Non-Spoiler Thoughts

\r\n\r\n

BEVERAGE REVIEWS

\r\n

As usual, the HPR_AudioBookClub took some time to review the beverages that each of us were drinking during the episode

\r\n\r\n

Other Things We Talked About

\r\n\r\n

OUR NEXT AUDIOBOOK

\r\n

City Of Masks by Mike Reeves-McMillan\r\n
https://scribl.com/books/PC439/city-of-masks

\r\n

FURTHER RECOMMENDATIONS

\r\n

The rest of the Lensman Series: https://en.wikipedia.org/wiki/Lensman_series

\r\n

What the new Star Wars movies should have been about: https://en.wikipedia.org/wiki/Thrawn_trilogy

\r\n

FEEDBACK

\r\n

Thank you very much for listening to this episode of the HPR_AudioBookClub. We had a great time recording this show, and we hope you enjoyed it as well. We also hope you\'ll consider joining us next time. Please leave a few words in the episode\'s comment section.\r\n
As always; remember to visit the HPR contribution page HPR could really use your help right now.

\r\n

https://hackerpublicradio.org/contribute.php

\r\n

Sincerely,\r\n
The HPR_AudioBookClub

\r\n

P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.

\r\n
\r\n

OUR AUDIO

\r\n

This episode was processed using Audacity https://audacity.sourceforge.net/. We\'ve been making small adjustments to our audio mix each month in order to get the best possible sound. It\'s been especially challenging getting all of our voices relatively level, because everyone has their own unique setup. Mumble is great for bringing us all together, and for recording, but it\'s not good at making everyone\'s voice the same volume. We\'re pretty happy with the way this month\'s show turned out, so we\'d like to share our editing process and settings with you and our future selves (who, of course, will have forgotten all this by then).

\r\n

Mumble uses a sample rate of 48kHz, but HPR requires a sample rate of 44.1kHz so the first step in our audio process is to resample the file at 44.1kHz. Resampling can take a long time if you don\'t have a powerful computer, and sometimes even if you do. If you record late at night, like we do, you may want to start the task before you go to bed, and save it first thing in the morning, so that the file is ready to go the next time you are.

\r\n

Next we use the \"Compressor\" effect with the following settings:

\r\n \r\n

After compressing the audio we cut any pre-show and post-show chatter from the file and save them in a separate file for possible use as outtakes after the closing music.

\r\n

At this point we listen back to the whole file and we work on the shownotes. This is when we can cut out anything that needs to be cut, and we can also make sure that we put any links in the shownotes that were talked about during the recording of the show. We finish the shownotes before exporting the .aup file to .FLAC so that we can paste a copy of the shownotes into the audio file\'s metadata. We use the \"Truncate Silence\" effect with it\'s default settings to minimize the silence between people speaking. When used with it\'s default (or at least reasonable) settings, Truncate Silence is extremely effective and satisfying. It makes everyone sound smarter, it makes the file shorter without destroying actual content, and it makes a conversations sound as easy and fluid during playback as it was while it was recorded. It can be even more effective if you can train yourself to remain silent instead of saying \"uuuuummmm.\" Just remember to ONLY pass the file through Truncate Silence ONCE. If you pass it through a second time, or if you set it too aggressively your audio may sound sped up and choppy.

\r\n

At this point we add new, empty audio tracks into which we paste the intro, outro and possibly outtakes, and we rename each track accordingly.

\r\n

We adjust the Gain so that the VU meter in Audacity hovers around -12db while people are speaking, and we try to keep the peaks under -6db, and we adjust the Gain on each of the new tracks so that all volumes are similar, and more importantly comfortable. Once this is done we can \"Mix and Render\" all of our tracks into a single track for export to the .FLAC file which is uploaded to the HPR FTP server.

\r\n

Remember to save often when using Audacity. We like to save after each of these steps. Audacity has a reputation for being \"crashy\" but if you remember save after every major transform, you will wonder how it ever got that reputation.

\r\n',157,53,1,'CC-BY-SA','HPR AudioBookClub, Triplanetary, E. E. \"Doc\" Smith',0,0,1), +(2462,'2018-01-09','AudioBookClub-14-Triplanetary-(First-in-the-Lensman-Series)',7030,'The HPR_AudioBookClub discusses Triplanetary: First in the Lensman Series by E. E. \"Doc\" Smith','

SUMMARY

\r\n

In this episode, the HPR_AudioBookClub discusses Triplanetary: First in the Lensman Series by E. E. \"Doc\" Smith.\r\n
https://librivox.org/triplanetary-first-in-the-lensman-series-by-e-e-doc-smith/

\r\n

Non-Spoiler Thoughts

\r\n\r\n

BEVERAGE REVIEWS

\r\n

As usual, the HPR_AudioBookClub took some time to review the beverages that each of us were drinking during the episode

\r\n\r\n

Other Things We Talked About

\r\n\r\n

OUR NEXT AUDIOBOOK

\r\n

City Of Masks by Mike Reeves-McMillan\r\n
https://scribl.com/books/PC439/city-of-masks

\r\n

FURTHER RECOMMENDATIONS

\r\n

The rest of the Lensman Series: https://en.wikipedia.org/wiki/Lensman_series

\r\n

What the new Star Wars movies should have been about: https://en.wikipedia.org/wiki/Thrawn_trilogy

\r\n

FEEDBACK

\r\n

Thank you very much for listening to this episode of the HPR_AudioBookClub. We had a great time recording this show, and we hope you enjoyed it as well. We also hope you\'ll consider joining us next time. Please leave a few words in the episode\'s comment section.\r\n
As always; remember to visit the HPR contribution page HPR could really use your help right now.

\r\n

https://hackerpublicradio.org/contribute.php

\r\n

Sincerely,\r\n
The HPR_AudioBookClub

\r\n

P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.

\r\n
\r\n

OUR AUDIO

\r\n

This episode was processed using Audacity https://audacity.sourceforge.net/. We\'ve been making small adjustments to our audio mix each month in order to get the best possible sound. It\'s been especially challenging getting all of our voices relatively level, because everyone has their own unique setup. Mumble is great for bringing us all together, and for recording, but it\'s not good at making everyone\'s voice the same volume. We\'re pretty happy with the way this month\'s show turned out, so we\'d like to share our editing process and settings with you and our future selves (who, of course, will have forgotten all this by then).

\r\n

Mumble uses a sample rate of 48kHz, but HPR requires a sample rate of 44.1kHz so the first step in our audio process is to resample the file at 44.1kHz. Resampling can take a long time if you don\'t have a powerful computer, and sometimes even if you do. If you record late at night, like we do, you may want to start the task before you go to bed, and save it first thing in the morning, so that the file is ready to go the next time you are.

\r\n

Next we use the \"Compressor\" effect with the following settings:

\r\n \r\n

After compressing the audio we cut any pre-show and post-show chatter from the file and save them in a separate file for possible use as outtakes after the closing music.

\r\n

At this point we listen back to the whole file and we work on the shownotes. This is when we can cut out anything that needs to be cut, and we can also make sure that we put any links in the shownotes that were talked about during the recording of the show. We finish the shownotes before exporting the .aup file to .FLAC so that we can paste a copy of the shownotes into the audio file\'s metadata. We use the \"Truncate Silence\" effect with it\'s default settings to minimize the silence between people speaking. When used with it\'s default (or at least reasonable) settings, Truncate Silence is extremely effective and satisfying. It makes everyone sound smarter, it makes the file shorter without destroying actual content, and it makes a conversations sound as easy and fluid during playback as it was while it was recorded. It can be even more effective if you can train yourself to remain silent instead of saying \"uuuuummmm.\" Just remember to ONLY pass the file through Truncate Silence ONCE. If you pass it through a second time, or if you set it too aggressively your audio may sound sped up and choppy.

\r\n

At this point we add new, empty audio tracks into which we paste the intro, outro and possibly outtakes, and we rename each track accordingly.

\r\n

We adjust the Gain so that the VU meter in Audacity hovers around -12db while people are speaking, and we try to keep the peaks under -6db, and we adjust the Gain on each of the new tracks so that all volumes are similar, and more importantly comfortable. Once this is done we can \"Mix and Render\" all of our tracks into a single track for export to the .FLAC file which is uploaded to the HPR FTP server.

\r\n

Remember to save often when using Audacity. We like to save after each of these steps. Audacity has a reputation for being \"crashy\" but if you remember save after every major transform, you will wonder how it ever got that reputation.

\r\n',157,53,1,'CC-BY-SA','HPR AudioBookClub, Triplanetary, \"E. E. \\\"Doc\\\" Smith\"',0,0,1), (2460,'2018-01-05','The Alien Brothers Podcast - S01E03 - Decline of American Empire',6830,'The Alien Brothers penetrate the Van Allen belt to tap in, and transmit an intergalactic podcast','

Summary:

\r\n

\r\nCasper and Rutiger opt for a time of ease and relaxation by discussing happy light topics: the decline of American Empire and recent reversal of Net Neutrality protections [or the rollout of Net Neuterality -c] (December 2017).\r\n

\r\n

Links and Notes:

\r\n

\r\nRe: Empire - moral decline and massive wealth inequality, role in imperial decline [1] -r
\r\nRe: Empire - Noam Chomsky and Decline of American Empire [2] -r
\r\nRe: Empire - moral decline - death as sport (Onion spoof) [3] -r
\r\nRe: Net Neutrality - Rutiger apologies - to Casper, for completely derailing the conversation on Net Neutrality by believing that pay-for-bandwidth/capacity and limiting access to content are both legitimate elements of the Net Neutrality debate, but over-focusing on the infrastructure/de-emphasizing the content argument. See Prevent Over-Use of Bandwidth and Pricing Models vs. Data Discrimination [4] -r
\r\nRe: Empire - consumption of human suffering as entertainment - modern Roman colosseum [5] -r
\r\nRe: Empire - the thought leaders over at Reddit on elements of declining empire [6] -r
\r\nRe: Thoughts - Volume One Chapter Two of Diek Minusky’s The Nature of Systems will be coming with… episode 4! Sorry folks. Hold… hold! -r
\r\nRe: Getting Things Done - by David Allen [7]
\r\n

\r\n\r\n\r\n

Timeline / Additional Links:

\r\n

\r\n00:00:00 - 00:13:00 Settling in - Casper and Rutiger get acquainted after being off the air for a while. Skip this part if you don’t care about the characters Casper and Rutiger and their degeneration…
\r\nBegin Topic 1: Net Neuterality / Net Neutrality Rollback
\r\n00:14:00 - 00:30:00 The Deployment of Net Neuterality / Rollback of Net Neutrality - Casper attempts to boil this topic down nice and easy for Rutiger, yet Rutiger conflates this (see above), but that is OK as this is normal for pleebs. Members of HPR will understand.
\r\n00:30:00 - 00:36:00 Fox & Disney Merger - Coincidence or Conspiracy on timing w/ Net Neutrality rollback?
\r\n00:36:00 - 00:40:30 How Should HPR Community Respond or Mitigate This? Credit goes to Rob Placone and Jimmy Dore for mentioning Municipality developed internet
\r\nhttps://www.youtube.com/watch?v=mvJ93kjSXiQ
\r\n00:40:30 - 00:48:00 Discussion on Availability of Access
\r\n00:48:00 - 00:52:00 Casper takes a sharp pivot off track - A satellite is mentioned and Casper brings up DMB unfortunately for the listener
\r\n00:52:00 - 00:56:00 FREESTYLE JAM!@&#%^
\r\n00:58:00 - Ron Swanson has words for Ajit Pai
\r\n01:00:00 - Rutiger Does Not Speak in Tribe Called Quest Protocol call and response
\r\n01:05:00 - 01:20:00 Casper and Rutiger give their distinct definition of Empire and expand upon this
\r\n01:20:00 - 01:23:00 MUDs, OG Tech & Being Alone Together
\r\n01:23:00 - Casper mentions 150 people own EVERYTHING as mentioned here by Chamath Palihapitiya
\r\nhttps://www.youtube.com/watch?v=PMotykw0SIk
\r\n“During his View From The Top talk, Chamath Palihapitiya, founder and CEO of Social Capital, discussed how money is an instrument of change which should be used to make the world a better place”
\r\n01:27:00 - 01:30:00 - Being Alone Together
\r\n01:30:00 - 01:33:00 - Bullying and how Technology can Exponentiate this
\r\n01:33:00 - How to DEBUG… seriously https://conncounseling.weebly.com/stop--debug.html
\r\n01:39:00 - Consumerism and the Decline of Empire
\r\n01:40:00 - DW Documentaries Casper said he would find
\r\nGreed - https://www.dw.com/en/tv/greed/s-32898
\r\nThe Divide Part 1 - https://www.dw.com/en/the-divide-part-1/av-41378206
\r\nThe Divide Part 2 - https://www.dw.com/en/the-divide-2/av-41467377
\r\n01:42:00 - Immortality Through Consumerism?
\r\n01:43:00 - Where are we if Not Here?
\r\n01:45:00 - Self Destruction
\r\n01:46:00 - Celebrity Chefs and the Tie to the Roman Empire - Casper remembered post-cast that this was from The Four Horsemen Documentary as explained here:
\r\nhttps://barnabyisright.com/2013/03/30/why-celebrity-chefs-herald-the-end-of-empire/
\r\n01:47:00 - Casper (Mis)Quotes Frank Zappa - by saying “Politics is the entertainment branch of the Military Industrial Complex” https://www.reddit.com/r/Zappa/comments/2qxpnu/politics_is_the_entertainment_branch_of_industry/
\r\n01:48:00 - (S)Elections are becoming irrelevant
\r\n01:50:00 - Casper recommends International News Alternatives like BBC, RT, AlJazeera if you would like to know what is going on in the world
\r\nAddendum - Not mentioned in Podcast, but worth a link regarding the state of our MSM in reporting false information on Russia and WikiLeaks from Glenn Greenwald:
\r\nhttps://theintercept.com/2017/12/09/the-u-s-media-yesterday-suffered-its-most-humiliating-debacle-in-ages-now-refuses-all-transparency-over-what-happened/
\r\n01:51:00 - Wrapping Up The Show & ShoutOuts to Klaatu!
\r\n01:53:00 - Casper argues with Gerald to cut the recording\r\n

\r\n',359,0,1,'CC-BY-SA','Net Neutrality',0,0,1), (2463,'2018-01-10','Setting up a 32 Bit Ubuntu Server',762,'Repurpose a 32 bit small form factor working station','

So what is the purpose - I had an old windows backup workstation at work that I did a lot backups with. It got to the point where it was just too slow and low spec to handle the windows 7 updates and with my company switching to the 365/sharepoint/one drive it was not needed anymore. So I wanted not to throw it away as I had sprung for 160GB hard drive a long time ago. “I know at work and purchasing a hard drive for work.” But it lasted more than 10 years doing my outlook backups and file shares.

\r\n

So my first problem was I was pretty sure I only had 32 bit.

\r\n

So no centos or suse in 32 bit. I could have went fedora but I wanted a really long time with support. So it came down to ubuntu 16.04, Debian or Net BSD with I386 repos I could use long term. I was more comfortable with Ubuntu and 16.04 has about 3 years support left on it.

\r\n

Its a small form factor computer so I carried it home for a few days. And got the ISO down loaded again no usb drive boot only DVD.

\r\n

So what is it. I did a uname -a and and looked at the proc cpu to see what the cpu was.
\r\nhttps://www.tecmint.com/find-out-linux-system-is-32-bit-or-64-bit/
\r\nhttps://www.computerhope.com/issues/ch001121.htm
\r\nThe second linked worked best.

\r\n

I had a lot of trouble with lamp and own/next cloud with both snaps and straight install. I broke the install several times. In the end I said what do really know how do well with it right now. So I installed Open SSH server, tightVNC, A really thin xfce 4, ffmpeg and youtube-dl and uget. So I will play with snaps only in the future and keep this basic config.

\r\n

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-16-04

\r\n

Note I did not auto start VNC because I found in my creations of this server that it used too much RAM vs just starting it and killing it.

\r\n

It is the perfect video processing machine in the moment. If youtube-dl can’t get it I can use uget via vnc and that will then transcode if needed. Mostly for mp3.
\r\nhttps://rg3.github.io/youtube-dl/ youtube-dl is a command-line program to download videos from YouTube.com and a few more sites. It requires the Python interpreter, version 2.6, 2.7, or 3.2+, and it is not platform specific. It should work on your Unix box, on Windows or on Mac OS X. It is released to the public domain, which means you can modify it, redistribute it or use it however you like.

\r\n

I will work on the nextcloud snap and other snaps as they are easy to install or remove without hurting the base system.

\r\n

Possible other projects - Owncloud or Storj
\r\nhttps://storj.io/share.html
\r\nOne you can make a little money with it :)

\r\n',129,0,0,'CC-BY-SA','32-bit server, Ubuntu',0,0,1), (2464,'2018-01-11','The Alien Brothers Podcast - S01E04 - Digital Instruments',3906,'Casper and Rutiger Detail their Digital and Analog Sonic Setups in IOS and Android','

Casper and Rutiger are back with a very simple topic: Making music with various Digital Audio Workstations.

\r\n

Rutiger details his MacOS / iOS platform and the Apps he uses to create his noise:
\r\nhttps://soundcloud.com/fibrechannel

\r\n

Casper details his Windows setup with a relatively cheap DAW and various Analog and Digital transmissions he uses to create his noise:
\r\nhttps://soundcloud.com/user-393542827

\r\n

@alienbpc

\r\n',359,0,1,'CC-BY-SA','DAW, Sonic Voyages, iOS Music Apps, PreSonus Audiobox 22vsl, Logic Pro X, Studio One',0,0,1), @@ -19816,7 +19854,7 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (3665,'2022-08-19','UNIX Is Sublime',3586,'I talk about all of the reasons I love UNIX','

UNIX is sublime

\n
Or, \"how to use a computer without hating yourself for it in the morning\"
\n
Or, \"Unix is basically a simple operating system . . .\"
\n
Or, \"My weariness and disdain for computers grow with each additional unit of knowledge\"
\n
Or, \"Worse is better\"
\n

Origins

\n

UNIX is not Multics

\n

Multics = Multiplexed Information and Computer Service

\n

UNIX = Uniplexed Information and Computing Service

\n

The name \'UNIX\' is a pun on the name \'Multics\'. Multics was entirely too large and complicated to be useful so the boys at Bell Labs cooked up something smaller, less complicated, and easier to use.

\n
\n

Ancient emulation interlude

\n

How to run Multics in 2022.

\n

This wiki helped me emulate UNIXv5.

\n

And this one helped me emulate UNIXv7.

\n

These guys host ancient systems accessible via guest accounts over ssh.

\n
\n

\"Cool, but useless.\"

\n
\n
\n

I know almost nothing about Multics and I\'m not sure if it\'s even worth learning. This is about UNIX, not Multics. Maybe I\'ll come back to it.

\n

Philosophy, implementations, ducks

\n

When I think of \"UNIX\", I do not think of the trademark. Instead, I think of the Unix philosophy. and the general design principles, interface, and behavior of a UNIX system.

\n

A better way of thinking about \"UNIX\" is as something \"POSIX-like\" rather than \"AT&T\'s commercial UNIX\". Example: although Linux and GNU are overly complicated, they pass the duck test for being a UNIX. Pedigree or not, you know a nix when you see one.

\n

Also, when I say \"UNIX\", I mean \"Free UNIX\". I have no interest in proprietary implementations that only exist for the purpose of restricting users and disempowering/discouraging sysadmins from becoming self-reliant.

\n

So what is the philosophy?

\n\n

And additionally:

\n\n

Design

\n

10,000 Ft View

\n

UNIX is a multiuser time sharing networked operating system, running as an always online service. A UNIX system is a single mainframe computer running an operating system designed for multiple users to access concurrently over the network, equally (depending on implementation) sharing resources amongst the active users.

\n

In a traditional network setup, there is one mainframe UNIX machine with multiple dumb terminals connected to it over the network. None of the users touch the mainframe physically. Instead, they interact with it exclusively through their own dumb terms. These dumb terminals have minimal or no computing power of their own because all of the actual computation takes place on the mainframe. Built in networking is a given.

\n

As for the actual software running on the mainframe, it\'s quite simple to visualize. A Unix system is a flexible but organized stack of concepts, each depending on the concept below, all working together for the sole purpose of enabling the end user to play video games and watch videos online.

\n
       / user applications \\\n      /       shells        \\\n     /        daemons        \\\n    /       file systems      \\\n   /        kmods/drivers      \\\n  /           syscalls          \\\n /             kernel            \\\n/             hardware            \\\n
\n

In order to fully explain why UNIX is sublime, I will start from the bottom and work my way upward. Before I discuss the shell, I will explain the multiuser aspects of the system. Then, after a long arduous journey of verbosity, explain how to actually use the thing.

\n

Kernel

\n

The kernel is something the user rarely interacts with. It abstracts all the hard parts away from the user. No more poking random memory addresses to load a program from tape.

\n

Multitasking

\n

In order to support multiple users, resource sharing was implemented. When a user\'s process requests CPU time, it\'s put into a rotational queue along with the other requests for CPU time. Round robin style concurrency is one of the easiest to implement but most modern systems use a weighted model that prioritizes processes owned by specific users. Memory and disk space are typically assigned hard limits to prevent system crashes. \"Ask your sysadmin if you need more resources.\"

\n

Virtual Memory

\n

Abstracting memory management from users is almost necessary in a multitasking system. The kernel must be the arbiter of all. The most interesting thing about virtual memory is that it doesn\'t actually need to be a RAM stick, but can be a swap partition on a disk or even a remote cloud provider if you\'ve actually lost your mind. This type of flexibility improves system stability. Instead of a kernel panic when memory runs out, the kernel can de-prioritize nonessential or idle processes by sending them to swap space.

\n

Paged Memory (logical memory)

\n

No more fragmented memories! The kernel maintains a page table that maps logical locations to physical locations. Instead one continuous chunk of memory, the kernel divides memory into small sections called \"pages\". When allocating memory, the kernel might not give a process continuous pages. The advantage of a paged memory scheme further enables multiuser computing. Example: When you have a large program like a web browser open, the pages that contains the unfocused tabs can be swapped out to disk without stalling the entire browser.

\n

Programming Interface pt. 0 (syscalls, kmods, drivers)

\n

When a process requests a resource, it sends a syscall to the kernel. The kernel then responds to the system call. This allows for privilege separation. Does your web browser need direct access to all memory? What about all files? Do we even want to write assembly every time we want to access a file? Syscalls are dual purpose: abstraction and security.

\n

Kernel modules are dynamic \"extensions\" that give the kernel new features (typically hardware support). The ability to dynamically load/unload modules as hardware changes increases uptime because it means a new kernel doesn\'t need to be compiled, installed, and booted into every time we plug in a different peripheral.

\n

Filesystem

\n

Hierarchical structure

\n

A UNIX filesystem is hierarchical. Each directory contains files or other directories, each with a specific purpose. This type of organization makes it very easy to navigate and manage a system. Each child directory inherits ownership and permissions unless otherwise specified (see Access Control).

\n

In order to visualize this, I imagine a tree-like structure descending from the root directory, /. The tree(1) program shows this type of hierarchy.

\n

Virtual Filesystems (logical filesystem)

\n

The idea behind virtual filesystems is, again, abstraction. Using the concept of a virtual file system, multiple disks can be presented to the user and programmer as a single unified filesystem. This means mounted local disks, NFS shares, and even the contents of a CDROM are presented as if the files contained therein are \"just on the big hard drive\".

\n

Additionally, using bind mounts, a directory can be mounted onto another directory as if it were just another filesystem.

\n

The final interesting thing about virtual filesystems is the concept of a ramdisk: mounting a section of memory so that it can be used as if it was an ordinary directory. <--Shoot foot here.

\n

Everything is a file

\n

Well, almost everything is presented as if it were a file. This greatly simplifies programming.

\n

Prime example: /dev/urandom is a random entropy generator presented as a file, making it very simple for a programmer to implement seeded RNG in a program.

\n

Another example: The kernel translates mouse input into a data stream that can be opened as a file. The programmer only needs to read from /dev/mouse0 instead of writing hundreds of mouse drivers for a clicky GUI.

\n

Exercise 1: Try running this command then wiggling your mouse:

\n
# Linux\n$ sudo cat /dev/input/mouse0\n\n# FreeBSD\n$ sudo cat /dev/sysmouse\n
\n

Yet another example: the TTY is just a file. You can even print it to a text file using setterm(1) on Linux.

\n

Exercise 2:

\n
[user@fedora ~]$ sudo setterm --dump 3\n[user@fedora ~]$ cat screen.dump\n\nFedora Linux 36 (Workstation Edition)\nKernel 5.18.5-200.fc36.x86_64 on an x86_64 (tty3)\n\nfedora login: root\nPassword:\nLast login: Sat Jul 30 14:34:20 on tty3\n[root@fedora ~]# /opt/pfetch/pfetch\n        ,'''''.   root@fedora\n       |   ,.  |  os     Fedora Linux 36 (Workstation Edition)\n       |  |  '_'  host   XXXXXXXXXX ThinkPad T490\n  ,....|  |..     kernel 5.18.5-200.fc36.x86_64\n.'  ,_;|   ..'    uptime 20d 22h 40m\n|  |   |  |       pkgs   3910\n|  ',_,'  |       memory 6522M / 15521M\n '.     ,'\n   '''''\n\n[root@fedora ~]#\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[user@fedora ~]$\n
\n

Links

\n

Yet another way of \"mounting\" a file or directory to another file or directory is linking. There are two types of links: hard links and symbolic links.

\n

On UNIX, files are indexed by inodes (index nodes). Using links, we can make \"shortcuts\" to files.

\n

Hard linking adds a \"new index\" to a file. They share an inode. If the original file is removed, the file persists in storage because the secondary file created by a hard link still exists. Think \"different name, same file\"

\n

Symlinks are like pointers. A symlink points to the original file instead of the inode. If you remove the original file, the symlink breaks because it points to a file that points to an inode rather than simply pointing to an inode.

\n

Using links, we can make files more convenient to access as if we are \"copying\" files without actually copying files.

\n

Filename extensions

\n

On a UNIX system, file extensions are arbitrary. UNIX determines file type by reading the file headers. The file tells you exactly what type of file it is (just read it). The entire system does not break when a file extension doesn\'t match the expected contents of the file.

\n

Extensions only matter when you wilfully associate with the microsoft users leaving issues on your software repos. \"Not my OS, not my issue, it\'s open source so fork it if you don\'t like it\"

\n

Multiuser (timesharing)

\n

See also: Multitasking.

\n

Exercise 3: attempt to use Windows like a multiuser operating system and get back to me when you have realized that any and all claims made by microsoft about how their \"multi user enterprise system\" is in any way capable of competing with a genuine multi-user UNIX system are false advertising.

\n

Users, Groups

\n

A multiuser system needs a way to manage users and categorize them for access control purposes. Every user has a single user account and belongs to 0 or more groups. Sorting users into groups at the time of account creation makes is significantly easier than granting/revoking permissions user-by-user. Additionally, using something like rctl(8) on FreeBSD allows a systems administrator to allocate resources to specific users, groups, or login classes (like groups).

\n

Daemons (services)

\n

On a UNIX system, every process is owned by a user. In the case of a service, the process is owned by a daemon account. Daemon accounts have limited permissions and make it possible to run persistent services as a non-root user.

\n

Access Control

\n

Since UNIX was designed to be a multiuser system, access control is required. We know about users, we know about groups, but what about permissions?

\n

There are three types of operations that can be done to a file: read, write, and execute. Who can the admin grant these permissions to? The Owner, the Group, and the Other (all). This type of access control is called discretionary access control because the owner of the file can modify files at their own discretion.

\n

Actually using the thing

\n

Programming interface Pt. 1 (data streams)

\n

All UNIX utilities worth using use 3 data streams:

\n\n

Shell

\n

The shell is how a user actually interacts with a UNIX system. It\'s a familiar interface that allows a human user to interact with a computer using real human language.

\n

Explicitly telling the computer to do is infinitely less agonizing than dealing with a computer that tries to do what it thinks you want it to do by interpreting input from a poorly designed, overly engineered interface.

\n

The shell, in addition to being an interactive interface, is also scriptable. Although math is a struggle, shell scripting is a fairly simple way of automating tasks. Taping together interoperable commands you already know makes everything easier. My favorite aspect about writing POSIX shell scripts is knowing that shell is a strongly, statically typed language where the only datatype is string.

\n

Problem that are difficult or messy to solve in shell usually mean it\'s time to write another small C program for your specific needs. Adding the new program into the shell pipeline is trivial.

\n

Pipes

\n

Pipes, the concept that makes UNIX so scriptable. A shell utility that follows the UNIX philosophy will have a non-captive interface, write uncluttered data to stdout, read from stdin, and error to stderr. The | pipe character instructs programs to send their stdout to the next stdin in the pipeline instead of printing to the terminal.

\n

All standard command line utilities are interoperable and can be easily attached like building blocks. \"Meta programming\" has never been easier.

\n

Pipes make it so that every UNIX program is essentially a filter. Sure, you could just use awk, but I prefer shell.

\n

Bonus:

\n\n

Summary:

\n

UNIX is a non-simple modular operating system designed for 1970s big iron mainframes but we love it too much to let it go. Compared to minimal hobbyist operating systems, UNIX is BIG. Compared to commercial operating systems, free UNIX is small. Maybe slightly more than minimum viable but the papercuts are mild enough to forgive.

\n

See Also:

\n

The UNIX-HATERS Handbook

\n',406,0,1,'CC-BY-SA','UNIX',0,0,1), (3657,'2022-08-09','Small time sysadmin',1568,'How I maintain my Linux Box, Part One.','
    \n
  1. Creating Backups.
  2. \n
\n\n
#!/bin/bash\n#License: GPL v3\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\n#Name: getoverhere.sh\n#Purpose:\n#Version: beta 0.07\n#Author: SGOTI (Some Guy On The Internet)\n#Date: Sat 29 Jan 2022 02:19:29 AM EST\n\n#variables:\nVAR_TBALL=\nVAR_TARGET=\nVAR_JUMP=\nVAR_VALUE=\n\n#start:\ncat << "EOT01"\nOptions:\n    email |"${HOME}/.thunderbird/"\n    jop |"${HOME}/Documents/joplin"\n    dots |"${HOME}/.bashrc .vimrc .bash_aliases"\nEOT01\n\necho -e "What do you want to backup? : \\c."\nread VAR_VALUE\n\ncase ${VAR_VALUE} in\n    "email" )\nVAR_TBALL="INSERT_EMAIL_NAME$(date +%m-%d-%Y).tar.gz"\nVAR_TARGET="msgFilterRules.dat"\nVAR_JUMP="${HOME}/.thunderbird/*.default-release/ImapMail/imap.mail.yahoo.com/"\n    echo -e "Grabbing INSERT_EMAIL_NAME...\\n"\ntar -C ${VAR_JUMP} --create --file ${VAR_TBALL} --gzip ${VAR_TARGET}\n    sleep 1\n\nVAR_TBALL="INSERT_EMAIL_NAME$(date +%m-%d-%Y).tar.gz"\nVAR_TARGET="msgFilterRules.dat"\nVAR_JUMP="${HOME}/.thunderbird/*.default-release/ImapMail/imap.gmail.com/"\n    echo -e "Grabbing INSERT_EMAIL_NAME...\\n"\ntar -C ${VAR_JUMP} --create --file ${VAR_TBALL} --gzip ${VAR_TARGET}\n    sleep 1\n\nVAR_TBALL="EMAIL_ARCHIVES$(date +%m-%d-%Y).tar.gz"\nVAR_TARGET="Mail/"\nVAR_JUMP="${HOME}/.thunderbird/*.default-release/"\n    echo -e "Grabbing email EMAIL_ARCHIVES...\\n"\ntar -C ${VAR_JUMP} --create --file ${VAR_TBALL} --gzip ${VAR_TARGET}\n    echo -e "Creating List for ${VAR_TBALL}...\\n"\nls -lhAR --group-directories-first ${VAR_JUMP}${VAR_TARGET} > EMAIL_ARCHIVES$(date +%m-%d-%Y).txt\n    sleep 1\n\nVAR_TBALL="THUNDERBIRD_CALENDER$(date +%m-%d-%Y).tar.gz"\nVAR_TARGET="calenders/"\nVAR_JUMP="${HOME}/Documents/"\n    echo -e "Grabbing email THUNDERBIRD_CALENDER...\\n"\ntar -C ${VAR_JUMP} --create --file ${VAR_TBALL} --gzip ${VAR_TARGET}\n    echo -e "Creating List for ${VAR_TBALL}...\\n"\nls -lhAR --group-directories-first ${VAR_JUMP}${VAR_TARGET} > THUNDERBIRD_CALENDER$(date +%m-%d-%Y).txt\n    sleep 1\n\nVAR_TBALL="THUNDERBIRD_ADDRESS_BOOK$(date +%m-%d-%Y).tar.gz"\nVAR_TARGET="address-book/"\nVAR_JUMP="${HOME}/Documents/"\n    echo -e "Grabbing ${VAR_TARGET}...\\n"\ntar -C ${VAR_JUMP} --create --file ${VAR_TBALL} --gzip ${VAR_TARGET}\n    echo -e "Creating List for ${VAR_TBALL}...\\n"\nls -lhAR --group-directories-first ${VAR_JUMP}${VAR_TARGET} > THUNDERBIRD_ADDRESS_BOOK$(date +%m-%d-%Y).txt\n    sleep 1\n\nVAR_TBALL="THUNDERBIRD_ALL$(date +%m-%d-%Y).tar.gz"\nVAR_TARGET=".thunderbird/"\nVAR_JUMP="${HOME}/"\n    echo -e "Grabbing ${VAR_TARGET}...\\n"\ntar -C ${VAR_JUMP} --create --file ${VAR_TBALL} --gzip ${VAR_TARGET}\n    echo -e "Creating List for ${VAR_TBALL}...\\n"\nls -lhAR --group-directories-first ${VAR_JUMP}${VAR_TARGET} > THUNDERBIRD_ALL$(date +%m-%d-%Y).txt ;;\n\n    "jop" )\nVAR_TBALL="JOPLIN$(date +%m-%d-%Y).tar.gz"\nVAR_TARGET="joplin/"\nVAR_JUMP="${HOME}/Documents/"\n    echo "Grabbing ${VAR_TARGET}"\ntar -C ${VAR_JUMP} --create --file ${VAR_TBALL} --gzip ${VAR_TARGET}\n    sleep 1\n    echo -e "Creating List for ${VAR_TBALL}...\\n"\nls -lhAR --group-directories-first ${VAR_JUMP}${VAR_TARGET} > JOPLIN$(date +%m-%d-%Y).txt ;;\n\n    "dots" )\nVAR_TBALL="dots$(date +%m-%d-%Y).tar.gz"\nVAR_TARGET=".bashrc .vimrc .bash_aliases"\nVAR_JUMP="${HOME}/"\n    echo "Grabbing ${VAR_TARGET}"\ntar -v -C ${VAR_JUMP} --create --file ${VAR_TBALL} --gzip ${VAR_TARGET} ;;\n\n    * )\n    echo "Good Heavens..." ;;\nesac\nexit;\n
\n
\n
    \n
  1. Restoring from backups.
  2. \n
\n\n
VAR_TBALL="EMAIL_ARCHIVES*.tar.gz"\nVAR_JUMP="${HOME}/.thunderbird/*.default-release/"\n    echo -e "Restoring EMAIL_ARCHIVES...\\n"\ntar --extract --directory= ${VAR_JUMP} --file ${VAR_TBALL}\n    echo -e "EMAIL_ARCHIVES restored.\\n"\n
\n',391,0,0,'CC-BY-SA','sysadmin, system maintenance, tar, backups',0,0,1), (3664,'2022-08-18','Secret hat conversations',1070,'You\'ll need your tin hat for this one.','

The Tin Foil Hat often worn in the belief or hope that it shields the brain from threats such as electromagnetic fields, mind control, and mind reading.

\n
    \n
  1. Proper hat construction video. Also includes the “why” along with the “how”.
  2. \n
  3. Proper hat construction music. Just something to keep you focused.
  4. \n
\n
\n

FCC Caller ID Spoofing info: Spoofing is when a caller deliberately falsifies the information transmitted to your caller ID display to disguise their identity.

\n

FCC Call Blocking info: Call blocking is a tool used by phone companies to stop illegal and unwanted calls from reaching your phone. A second annual FCC report released in June 2021 found that many voice service providers and third-party analytics companies are improving their call blocking and labeling services and use new data to better detect robocalls. Billions of unwanted calls to American consumers are being blocked each year.

\n

The PinePhone Pro Explorer Edition is aimed at Linux developers with an extensive knowledge of embedded systems and/or experience with mobile Linux.

\n

Time-based one-time password (TOTP) is a computer algorithm that generates a one-time password (OTP) that uses the current time as a source of uniqueness. As an extension of the HMAC-based one-time password algorithm (HOTP), it has been adopted as Internet Engineering Task Force (IETF) standard RFC 6238.

\n

Matrix is an open standard for interoperable, decentralised, real-time communication over IP.

\n
\n

Password Managers: Used by Some Guy On The Internet.
\nBitwarden
\nKeePassXC

\n
\n',391,0,1,'CC-BY-SA','Tin hat, call spoofing',0,0,1), -(3936,'2023-09-04','HPR Community News for August 2023',0,'HPR Volunteers talk about shows released and comments posted in August 2023','\n\n

New hosts

\n

\nThere were no new hosts this month.\n

\n\n

Last Month\'s Shows

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
IdDayDateTitleHost
3912Tue2023-08-01Emergency Show: Biltong and RooibosShane Shennan
3913Wed2023-08-02Lurking Prion Q and ALurking Prion
3914Thu2023-08-03how to deal with blistersdnt
3915Fri2023-08-04Why the hell is my audio clipping?MrX
3916Mon2023-08-07HPR Community News for July 2023HPR Volunteers
3917Tue2023-08-08Response to \"Permission Tickets\" by oneofspoonsdnt
3918Wed2023-08-09Emacs package curation, part 3dnt
3920Fri2023-08-11RV Trip 2022-2023: Southeast USAhuka
3921Mon2023-08-14HPR AudioBook Club 23 - John Carter of Mars (Books 1-3)HPR_AudioBookClub
3930Fri2023-08-25Playing Civilization II Test of TimeAhuka
\n\n

Comments this month

\n\n

Note to Volunteers: Comments marked in green were read in the last\nCommunity News show and should be ignored in this one.

These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere is 1 comment in total.

\n

Past shows

\n

There is 1 comment on\n1 previous show:

\n

Updated on 2023-08-02 17:20:08

\n\n\n

Mailing List discussions

\n

\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\nMailman.\n

\n

The threaded discussions this month can be found here:

\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2023-August/thread.html\n\n\n

Events Calendar

\n

With the kind permission of LWN.net we are linking to\nThe LWN.net Community Calendar.

\n

Quoting the site:

\n
This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.
\n\n

Any other business

\n\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1), +(3936,'2023-09-04','HPR Community News for August 2023',0,'HPR Volunteers talk about shows released and comments posted in August 2023','\n\n

New hosts

\n

\nThere were no new hosts this month.\n

\n\n

Last Month\'s Shows

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
IdDayDateTitleHost
3912Tue2023-08-01Emergency Show: Biltong and RooibosShane Shennan
3913Wed2023-08-02Lurking Prion Q and ALurking Prion
3914Thu2023-08-03how to deal with blistersdnt
3915Fri2023-08-04Why the hell is my audio clipping?MrX
3916Mon2023-08-07HPR Community News for July 2023HPR Volunteers
3917Tue2023-08-08Response to \"Permission Tickets\" by oneofspoonsdnt
3918Wed2023-08-09Emacs package curation, part 3dnt
3919Thu2023-08-10How I hacked my voicetuturto
3920Fri2023-08-11RV Trip 2022-2023: Southeast USAhuka
3921Mon2023-08-14HPR AudioBook Club 23 - John Carter of Mars (Books 1-3)HPR_AudioBookClub
3922Tue2023-08-15Silent KeyTrey
3923Wed2023-08-16Meal preparation.Some Guy On The Internet
3924Thu2023-08-17Mass Quick Tips for August 2023operat0r
3925Fri2023-08-18Uncommon tools and social mediaDaniel Persson
3930Fri2023-08-25Playing Civilization II Test of TimeAhuka
3933Wed2023-08-30Planning for a planner.Some Guy On The Internet
\n\n

Comments this month

\n\n

Note to Volunteers: Comments marked in green were read in the last\nCommunity News show and should be ignored in this one.

These are comments which have been made during the past month, either to shows released during the month or to past shows.\nThere are 4 comments in total.

\n

Past shows

\n

There are 3 comments on\n3 previous shows:

\n

Updated on 2023-08-08 21:22:18

\n

This month\'s shows

\n

There is 1 comment on 1 of this month\'s shows:

\n\n\n

Mailing List discussions

\n

\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\nMailman.\n

\n

The threaded discussions this month can be found here:

\nhttps://lists.hackerpublicradio.com/pipermail/hpr/2023-August/thread.html\n\n\n

Events Calendar

\n

With the kind permission of LWN.net we are linking to\nThe LWN.net Community Calendar.

\n

Quoting the site:

\n
This is the LWN.net community event calendar, where we track\nevents of interest to people using and developing Linux and free software.\nClicking on individual events will take you to the appropriate web\npage.
\n\n

Any other business

\n\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1), (3666,'2022-08-22','One Weird Trick',997,'I talk about getting into or advancing in cybersecurity & how keyboards could trick malware.','

In this episode, I talk about getting in to the field of cybersecurity or moving up in the field. I also talk about how keyboards could keep malware from going Boom on your system.

\n

Links:

\n\n',405,74,1,'CC-BY-SA','cybersecurity,security,EvilSteve,malware, career',0,0,1), (3669,'2022-08-25','My First Podcast: My Journey into the Computer World',1207,'How I was introduced into computers, Linux, robotics, programming, cibersecurity and more...','

Milestones in my Journey

\n
    \n
  1. Studied Windows office and played online games
  2. \n
  3. Electronics
  4. \n
  5. Programming with Scratch
  6. \n
  7. Studied Javascript with Khan Academy
  8. \n
  9. Used Processing
  10. \n
  11. Learned Arduino and robotics
  12. \n
  13. Programmed with Visual Studio Code
  14. \n
  15. Learned Git
  16. \n
  17. Learned Windows Batch, VBS, registry, and others
  18. \n
  19. Introduction to Linux and disks with Tails
  20. \n
  21. Installation of Linux mint
  22. \n
  23. Installation of Debian
  24. \n
  25. Learned Apt, sudo, and other commands
  26. \n
  27. Discovered the Raspberry Pi
  28. \n
  29. Learned ssh, vnc, servers and networking with the Raspberry Pi
  30. \n
  31. Received a Thinkpad laptop and installed on it Bodhi Linux, Linux Lite and Alpine Linux
  32. \n
  33. Learned about erasure, recovery and encryption of data
  34. \n
  35. Learned more about Linux (Screen, network configuration, emacs, programming in C)
  36. \n
  37. Discovered Nethack and Open Adventure console games
  38. \n
  39. Studied hacking and pentesting
  40. \n
  41. Helped a company with its computers and learned from it guys
  42. \n
  43. Introduction to Python and BSD
  44. \n
\n',410,29,0,'CC-BY-SA','linux, programming, cibersecurity, robotics, hardware',0,0,1), (3678,'2022-09-07','\"Stupid Users\" ... no, not those users, the other \"stupid users\"',907,'Brady & I discuss stupid things done by those of us who really should know better.','

In this week\'s episode, I chat with R. Brady Frost about the little plumber vs the gigantic rock. Then we move in to a discussion about the fallacy of stupid users with some great stories of stupid things done by those of us who really should know better. The moral of the story, is that we are all human and nothing will ever change that. Instead, we need to be prepared for when humans are human.

\n

Links:

\n\n',405,74,1,'CC-BY-SA','cybersecurity,security,EvilSteve,users,stupid human tricks,customer service',0,0,1), @@ -20065,11 +20103,17 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (3913,'2023-08-02','Lurking Prion Q and A',316,'Lurking Prion answers questions about his name, former career field as an MM','

Add to reserve queue

\n

Lurking Prion answers questions about his name, former career field as an Machinist\'s mate, and breaks down a short bio of his security path thus far.

\n\n',405,74,1,'CC-BY-SA','bio,backgrown,questions,mm,Machinist\'s mate',0,0,1), (3914,'2023-08-03','how to deal with blisters',262,'a technique my father taught me, for dealing with blisters','

Many years ago, my father taught me how to deal with blisters using a\nneedle and thread.

\n',399,0,0,'CC-BY-SA','first aid',0,0,1), (3915,'2023-08-04','Why the hell is my audio clipping?',802,'MrX has audio that is clipping but will he be able to fix it?','

This is an emergency show as we are short of shows. I was going to do\nthis show anyway as I noticed my audio was clipping on the last few\nshows I sent in yet I didn\'t notice it on the files I sent to HPR.

\n

In this episode I waffle a bit and read out some of the stuff on the\nHPR site about giving shows. During the recording I introduce increasing\namounts of attenuation each decrease in volume signified by a gong. I\nhope this will allow me to stop the clipping from my audio.

\n',201,0,1,'CC-BY-SA','audio, podcasting, Audacity',0,0,1), +(3924,'2023-08-17','Mass Quick Tips for August 2023',1549,'operat0r will never get to some of these as full eps so here you go!','\n',36,0,1,'CC-BY-SA','hacking,computers,Android,quick tips',0,0,1), (3917,'2023-08-08','Response to \"Permission Tickets\" by oneofspoons',408,'Hopefully a useful provocation, in response to a recent intriguing show by another HPR host','

A response show to oneofspoons\' hpr3909 ::\nPermission Tickets\".

\n

Reference: Harper\'s\nPodcast -The Writers’ Strike, or: the Writers Strike

\n',399,0,0,'CC-BY-SA','crypto',0,0,1), +(3925,'2023-08-18','Uncommon tools and social media',329,'Daniel Persson talks about some of the tools he uses for video production and social media','

Before I used common tools and Windows, I was present on Facebook and\nso on. But I\'ve changed and I don\'t think the difference is that\nlarge.

\n',382,0,0,'CC-BY-SA','social media, linux',0,0,1), (3919,'2023-08-10','How I hacked my voice',959,'tuturto talks about what she\'s doing to change her voice','

Resource mentioned in the episode: https://www.youtube.com/@TransVoiceLessons

\n',364,0,0,'CC-BY-SA','voice, trans',0,0,1), (3922,'2023-08-15','Silent Key',241,'A brief history of the term \"Silent Key\" as applied to amateur radio','

Hacker Public Radio – Silent Key HPR3922

\n

Hello this is Trey, and I am recording this in the shadow of the loss\nof a good friend and mentor who helped guide me in my career and in\nhobbies like electronics, aviation, and amateur radio. The amateur radio\narea is what I will be discussing today.

\n

Many terms within amateur radio find their origins from the days of\ntelegraph, when operators would use Morse code to send messages across\ngreat distances using wires strung from pole to pole. The telegraph\n“key” (or code key) was basically a momentary contact switch which would\nclose an electrical connection when pressed. Pressing the key down for a\nshort period of time would send a short pulse down the line, which is\nreferred to as a “dit” (Sometimes the term “dot” is used). This may be\nwritten using the period “.” symbol. Holding the key down for a bit\nlonger would send a longer pulse down the line, called a “dash”\n(Sometimes the term “dah” is used) and it may be written using the\nhyphen “-” symbol.

\n

Telegraph operators became a close knit community, even though they\nwere geographically separated. Often one operator could identify another\noperator by subtleties in the style or personality of how they sent\ntheir messages. This was known as the operator’s “fist” and today we\nwould describe it as a “behavioral biometric”. As the community of\ntelegraph operators moved around or were replaced, new “fists” would be\nidentified, as new personalities of code sending were tapped out on the\ntelegraph keys.

\n

When an operator passed away, it was a loss to the community, and a\nloss of someone who might have been befriended remotely by other\noperators. The term of respect created for this situation was “Silent\nKey” sent as the abbreviation “SK” ( … -.- ). It meant that the\nparticular operator would never send code again. His telegraph key would\nbe silent.

\n

This tradition has been carried on among amateur radio operators or\n“Hams”. This is also a close knit community of people. While some still\nuse Morse code to communicate (Referred to as “CW” for continuous wave),\nthere are many other forms in use, including voice and digital modes.\nBut regardless of how we communicated with them, when we lose one of our\nown, we still say they are SK. Silent key. No longer able to\ntransmit.

\n

Organizations like the American Radio Relay League (ARRL) and QRZ.com\ntry to update their records when a Ham passes away. There are also\ndatabases like silentkeyhq.com which keep records and memories of\ndeceased operators.

\n

So, it is with great sadness that I have been updating the records\nfor my close friend and mentor KV4YD. Thank you for your friendship and\nsupport, and for sharing your wisdom over the years. You will be\nmissed.

\n

https://www.silentkeyhq.com/main.php?p=bin/NSKALookup.php&call=KF8F&uid=1111688122977783

\n

(Note: There is intentionally 5 seconds of recorded silence at the\nend of this recording as a moment of silence to remember our silent\nkeys)

\n

KV4YD 73 VA E E

\n',394,43,0,'CC-BY-SA','morse code, cw, amateur radio, telegraph, memorial',0,0,1), (3923,'2023-08-16','Meal preparation.',2488,'Sgoti chats with Bumble Bee about meal preparation.','

Meal preparation with Bumble\nBee.

\n\n

This work is licensed under a Creative Commons\nAttribution-ShareAlike 4.0 International License.

\n',391,0,0,'CC-BY-SA','Bumble Bee, Meal Prep',0,0,1), -(3933,'2023-08-30','Planning for a planner.',2852,'Sgoti and Bumble Bee discuss discbound planners, agendas, ink pens and more.','

Discbound Planners and\nNotebooks.

\n\n

Don\'t listen to Bumble Bee, the caps are what you want; get the one\nwith the cap.
\nAlso these are the fat boys, they are 1.0 mm, not 0.7mm.
\n- Source: BIC\nRound Stic Xtra Life Ballpoint Pens, Medium Point (1.0mm), 60 Count,\nBlack Pens
\n- Source: BIC\nRound Stic Xtra Life Ballpoint Pens, Medium Point (1.0mm), Blue, 60\nCount
\n

\n

These feel so good in the hand but they have high dry times; just not\nworth it.
\n- Source: uni-ball\nSigno Gel 207 Retractable Roller Ball Pen, Medium Point, Translucent\nBarrel, Black Ink, 12-Pack (33950)
\n

\n

I use these for drawing lines. Dry times are not bad, but there is a\ndry time.
\n- Source: uni-ball\nRoller Ball Stick Dye-Based Pen Micro Point 0.5 mm 498774
\n- Source: Uni-Ball,\nSAN60101, Classic Rollerball Pens
\n

\n

Color pack, because why not!
\n- Source: BIC\nCristal Xtra Bold Ball Point Pens, Bold Point (1.6mm), Assorted Colors,\n24-Count
\n

\n

This work is licensed under a Creative Commons\nAttribution-ShareAlike 4.0 International License.

\n',391,0,0,'CC-BY-SA','Discbound, Notebooks, Planners, Happy Planner, Ink Pens.',0,0,1); +(3933,'2023-08-30','Planning for a planner.',2852,'Sgoti and Bumble Bee discuss discbound planners, agendas, ink pens and more.','

Discbound Planners and\nNotebooks.

\n\n

Don\'t listen to Bumble Bee, the caps are what you want; get the one\nwith the cap.
\nAlso these are the fat boys, they are 1.0 mm, not 0.7mm.
\n- Source: BIC\nRound Stic Xtra Life Ballpoint Pens, Medium Point (1.0mm), 60 Count,\nBlack Pens
\n- Source: BIC\nRound Stic Xtra Life Ballpoint Pens, Medium Point (1.0mm), Blue, 60\nCount
\n

\n

These feel so good in the hand but they have high dry times; just not\nworth it.
\n- Source: uni-ball\nSigno Gel 207 Retractable Roller Ball Pen, Medium Point, Translucent\nBarrel, Black Ink, 12-Pack (33950)
\n

\n

I use these for drawing lines. Dry times are not bad, but there is a\ndry time.
\n- Source: uni-ball\nRoller Ball Stick Dye-Based Pen Micro Point 0.5 mm 498774
\n- Source: Uni-Ball,\nSAN60101, Classic Rollerball Pens
\n

\n

Color pack, because why not!
\n- Source: BIC\nCristal Xtra Bold Ball Point Pens, Bold Point (1.6mm), Assorted Colors,\n24-Count
\n

\n

This work is licensed under a Creative Commons\nAttribution-ShareAlike 4.0 International License.

\n',391,0,0,'CC-BY-SA','Discbound, Notebooks, Planners, Happy Planner, Ink Pens.',0,0,1), +(3935,'2023-09-01','Server build retrospective',586,'Daniel Persson goes through his experience of building his first server','

I have a lot of smaller PC\'s running as servers at home but now I\nfinally bought my first server chassis to install a real server in my\nrack. I ran into a lot of complications and that\'s covered in this\nepisode.

\n',382,0,0,'CC-BY-SA','server, hardware, rack',0,0,1), +(3945,'2023-09-15','My chrome plugins',271,'Daniel Persson summarize the essential plugins he uses every day','

We all use plugins in order to facilitate our work this is my\nfavorite picks.

\n',382,0,0,'CC-BY-SA','chrome, plugins',0,0,1), +(3955,'2023-09-29','airgradient measurement station',356,'Daniel Persson talks about a hardware measurement station he\'s installed','

AirGradient is an open-source solution to measure the air in your\nliving area. In my case, I need to keep track of the air in my office,\nso I have a healthy working environment.

\n',382,0,0,'CC-BY-SA','airgradient, measurement, air quality',0,0,1), +(3965,'2023-10-13','I\'ve taken the Conqueror Virtual Challenge',285,'Daniel Persson talks about a service where you challenge yourself for better health','

This service will help you keep track of your walks and incentivize\nyou to walk more and stay healthy.

\n',382,0,0,'CC-BY-SA','challenge, walk',0,0,1); /*!40000 ALTER TABLE `eps` ENABLE KEYS */; UNLOCK TABLES; @@ -20989,4 +21033,4 @@ UNLOCK TABLES; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2023-08-08 5:57:56 +-- Dump completed on 2023-08-09 7:09:22