From ad78e969d3ad8a4edf2e3ed9c2de2cb24d69caf7 Mon Sep 17 00:00:00 2001 From: Ken Fallon Date: Mon, 20 Nov 2023 20:34:55 +0100 Subject: [PATCH] 2023-11-20_19-34-55Z_Monday database changed --- sql/hpr-db-part-0c.sql | 26 +++++++++++++------------- sql/hpr-db-part-0d.sql | 24 ++++++++++++------------ sql/hpr-db-part-0e.sql | 24 ++++++++++++------------ sql/hpr-db-part-0f.sql | 24 ++++++++++++------------ sql/hpr-db-part-10.sql | 24 ++++++++++++------------ sql/hpr-db-part-11.sql | 24 ++++++++++++------------ sql/hpr-db-part-12.sql | 24 ++++++++++++------------ sql/hpr-db-part-13.sql | 24 ++++++++++++------------ sql/hpr-db-part-14.sql | 30 +++++++++++++++--------------- sql/hpr-db-part-15.sql | 15 ++++++++++++++- sql/hpr.sql | 21 +++++++++++++++++---- 11 files changed, 143 insertions(+), 117 deletions(-) diff --git a/sql/hpr-db-part-0c.sql b/sql/hpr-db-part-0c.sql index 0c24cfb..829e32b 100644 --- a/sql/hpr-db-part-0c.sql +++ b/sql/hpr-db-part-0c.sql @@ -617,7 +617,19 @@ (3995,'hpr3995.spx','spx',2460693,'508f3d51d3ee547b8bd824aebf0200fc1469c5cf','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), (3995,'hpr3995.flac','flac',51912256,'ce8767cf8983cba30b87e4106f40168bd458a012','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 125073842 samples'), (3995,'hpr3995.opus','opus',6157001,'f8e4382b22ffbcd0e88bfbba90985820f22f66da','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), -(3995,'hpr3995.wav','wav',250147786,'44156ae181f31b051f2a4f7c06efd22c539adb19','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'); +(3995,'hpr3995.wav','wav',250147786,'44156ae181f31b051f2a4f7c06efd22c539adb19','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3996,'hpr3996.mp3','mp3',2413100,'41b64f7985246d5239007ec1c215ae47444ade79','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), +(3996,'hpr3996.ogg','ogg',2496551,'de7e433ddc4bf2925d376055274c7fc5c61945d0','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3996,'hpr3996.spx','spx',1139268,'ab02fd35963b10a3be3decdd288af914179109d0','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3996,'hpr3996.flac','flac',25904073,'eca9ff8843d8155086bbf0edf808caeb5654c81f','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 57901066 samples'), +(3996,'hpr3996.opus','opus',2496551,'8b7f5b98567f08cd22bfebbd73b6d656f8ce0d16','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3996,'hpr3996.wav','wav',115802234,'275cea4da85c4b75fe3ad24f7a12509f3a329270','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3999,'hpr3999.mp3','mp3',2114348,'86087e2b075d747b4cab0899c0bdba5896b8397e','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), +(3999,'hpr3999.ogg','ogg',2379291,'4e5d888f4b249bc2168f02adb3b36f5456b672a0','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3999,'hpr3999.spx','spx',998244,'fd170d3f69a391ab96ebcd4012af61d61af14a16','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3999,'hpr3999.flac','flac',20631551,'3fbc3f2d14e0abf98cb6f2756585e429a650c87f','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 50730889 samples'), +(3999,'hpr3999.opus','opus',2379291,'b4e12a7e01edb587e1be6a9af9210a799e820365','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3999,'hpr3999.wav','wav',101461880,'3adb969b52365135d5952141c0cb75a7a8a04fe1','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'); /*!40000 ALTER TABLE `assets` ENABLE KEYS */; UNLOCK TABLES; @@ -986,15 +998,3 @@ INSERT INTO `comments` (`id`, `eps_id`, `comment_timestamp`, `comment_author_nam (337,837,'2011-10-19 07:17:59','Ken Fallon','Corrected','Thanks - missed that one :)','2017-09-09 07:41:22'), (338,838,'2011-10-19 21:02:43','Martin Peres','More links about what we talked about','Hey,\r\n\r\nJust wanted to give you some pointers to the things I talked about:\r\n\r\n- Arduide: https://mupuf.org/project/arduide/\r\n- Arduino music-player frontend: https://mupuf.org/blog/article/51/\r\n\r\nEditor\'s Note:\r\n--------------\r\nDue to site reorganisation the above links have changed to\r\n- https://mupuf.org/project/arduide.html\r\n- https://mupuf.org/blog/2011/06/14/an_arduino-based_frontend_to_my_audio-player_cmus/\r\n','2022-02-14 13:15:36'), (339,845,'2011-10-28 14:05:08','klaatu','very informative!','very informative episode. all this fancy streaming stuff is still a mystery to me, something i\'ve really been meaning to mess around with. thanks for the very cool info, ideas, and leads on what i should be looking into!','2017-09-09 07:41:22'), -(340,848,'2011-11-03 01:51:57','john','','I\'ve never heard Alan\'s voice before. He sounds remarkably like Eric Idle.','2017-09-09 07:41:22'), -(341,850,'2011-11-09 03:35:08','klaatu','interesting and new informmations','nice work, inspector! this is mostly all new to me, i enjoyed hearing about these pioneers. thanks and keep \'casting.','2017-09-09 07:41:22'), -(342,851,'2011-11-09 03:30:52','klaatu','welcome aboard!','welcome aboard seetee. where\'s all the other new hosts? and repeat offenders?! HPR is hungry.','2017-09-09 07:41:22'), -(343,852,'2011-11-09 03:33:07','klaatu','i approve','of emacs','2017-09-09 07:41:22'), -(344,853,'2011-11-17 14:47:07','Miguel','','Worst interview ever?','2017-09-09 07:41:22'), -(345,853,'2011-11-19 01:35:00','gg','','I personally really enjoyed the inteview. I knew Pat was a guy with a\r\nvariety of interests, but had no idea a Linux guru would also be so\r\ninto new age spirituality e.g. McKenna, incense, etc.','2017-09-09 07:41:22'), -(346,853,'2011-11-19 14:43:43','Hugh','Me','Everything Pat says is good as far as all good Slackers are concerned... Praise Bob. LOL','2017-09-09 07:41:22'), -(347,853,'2011-11-21 06:09:49','Ken Fallon','Any topic that is of interest to Hackers','Cross posting :)\r\n\r\nIt\'s not often that I comment on HPR episodes - other than to beg for you to send them in -but I want to make an exception for today\'s show. Episode 0853 :: Pat Volkerding of Slackware Linux chats with Klaatu\r\n\r\nI\'m not making this exception because it was \"better\", I would find it impossible to make such a call. The HPR community produces a massive amount of content and I have listened to every single one at least once. There has not been a single HPR show that I have not enjoyed and learned from.\r\n\r\nNor is it that it was submitted by Klaatu as given that he has submitted 12 1/2% of all shows, I would have written this long before now. Sure today\'s \'topic\' was special - a interview with Patrick Volkerding the man behind SlackWare, the longest continually developed Linux distribution - but we\'ve had other interviews with people of note before.\r\n\r\nThe reason for this deviation is simply because it embodies the qualities that I feel define Hacker Public Radio.\r\n\r\nIt\'s about taking a topic and exploring it, looking at all sides, exposing otherwise hidden and unknown facts, it\'s about events, it\'s about community, it\'s about people, it\'s about technology, it\'s about music, it\'s about history, it\'a about life, it\'s about questioning - everything - our very existence - space time - ancient cultures. In short it\'s about \"Any topic that is of interest to Hackers\"\r\n\r\nIf you have never listened to a HPR then this is surely the best sample of what you are likely to find. Sure it arrived just in time to fill an otherwise empty slot, the audio isn\'t perfect, it might not follow a script, random people wander in and out, there may be tangents from the topic at hand but if you can open your ears to listen you\'ll hear the passion of the community, our community. Then maybe, just maybe, you too will be inspired to share your unique point of view with us.\r\n\r\nhttps://hackerpublicradio.org/contribute.php','2022-02-14 13:15:36'), -(348,853,'2011-12-14 09:33:55','lee','confused - www.cdrom.com?','Hello\r\n\r\nI am a long time linux user who started with Red Hat 5.1 and has worked consistently with Red Hat and Debian-based distros ever since. I have never really given Slackware much thought.\r\n\r\nI noticed in the photo above that the URL for slackware is given as https://www.cdrom.com. When entered in my browser, I get a site offering windows applications for download. \r\n\r\nJust thought I should warn people that the correct URL for slackware is slackware.com .\r\n\r\nIs this an old photo perhaps? \r\n','2022-02-14 13:15:36'), -(349,853,'2012-04-01 16:50:13','Jason','Note','Just a note that the picture is from 2000. Also, freaking hilarious interview. After 5 minutes of back story about the incense he\'s about to light: \"Oh wait this may be the wrong stick\". LOL','2017-09-09 07:41:22'), -(350,853,'2012-04-02 04:53:06','Ken Fallon','The photo is from wikipedia','So if you have a newer one you know where to send it (also to us :) )','2017-09-09 07:41:22'), -(351,853,'2013-01-13 21:03:14','Dustin Reeves','Fascinating!','really enjoyed this podcast, been following slackware since about 9.1 (2004~), while i dont actively use the distribution, ive always enjoyed reading patricks thoughts on software release cycles, and being as stable as possible. when this podcast strayed from the technical, it took us in a great new unexpected direction (who thought patrick was into mckenna?). really enjoyed, would love to hear more podcasts in the same vein.\r\n\r\nthanks\r\n\r\n-DR','2017-09-09 07:41:22'), diff --git a/sql/hpr-db-part-0d.sql b/sql/hpr-db-part-0d.sql index 9875656..fe04402 100644 --- a/sql/hpr-db-part-0d.sql +++ b/sql/hpr-db-part-0d.sql @@ -1,3 +1,15 @@ +(340,848,'2011-11-03 01:51:57','john','','I\'ve never heard Alan\'s voice before. He sounds remarkably like Eric Idle.','2017-09-09 07:41:22'), +(341,850,'2011-11-09 03:35:08','klaatu','interesting and new informmations','nice work, inspector! this is mostly all new to me, i enjoyed hearing about these pioneers. thanks and keep \'casting.','2017-09-09 07:41:22'), +(342,851,'2011-11-09 03:30:52','klaatu','welcome aboard!','welcome aboard seetee. where\'s all the other new hosts? and repeat offenders?! HPR is hungry.','2017-09-09 07:41:22'), +(343,852,'2011-11-09 03:33:07','klaatu','i approve','of emacs','2017-09-09 07:41:22'), +(344,853,'2011-11-17 14:47:07','Miguel','','Worst interview ever?','2017-09-09 07:41:22'), +(345,853,'2011-11-19 01:35:00','gg','','I personally really enjoyed the inteview. I knew Pat was a guy with a\r\nvariety of interests, but had no idea a Linux guru would also be so\r\ninto new age spirituality e.g. McKenna, incense, etc.','2017-09-09 07:41:22'), +(346,853,'2011-11-19 14:43:43','Hugh','Me','Everything Pat says is good as far as all good Slackers are concerned... Praise Bob. LOL','2017-09-09 07:41:22'), +(347,853,'2011-11-21 06:09:49','Ken Fallon','Any topic that is of interest to Hackers','Cross posting :)\r\n\r\nIt\'s not often that I comment on HPR episodes - other than to beg for you to send them in -but I want to make an exception for today\'s show. Episode 0853 :: Pat Volkerding of Slackware Linux chats with Klaatu\r\n\r\nI\'m not making this exception because it was \"better\", I would find it impossible to make such a call. The HPR community produces a massive amount of content and I have listened to every single one at least once. There has not been a single HPR show that I have not enjoyed and learned from.\r\n\r\nNor is it that it was submitted by Klaatu as given that he has submitted 12 1/2% of all shows, I would have written this long before now. Sure today\'s \'topic\' was special - a interview with Patrick Volkerding the man behind SlackWare, the longest continually developed Linux distribution - but we\'ve had other interviews with people of note before.\r\n\r\nThe reason for this deviation is simply because it embodies the qualities that I feel define Hacker Public Radio.\r\n\r\nIt\'s about taking a topic and exploring it, looking at all sides, exposing otherwise hidden and unknown facts, it\'s about events, it\'s about community, it\'s about people, it\'s about technology, it\'s about music, it\'s about history, it\'a about life, it\'s about questioning - everything - our very existence - space time - ancient cultures. In short it\'s about \"Any topic that is of interest to Hackers\"\r\n\r\nIf you have never listened to a HPR then this is surely the best sample of what you are likely to find. Sure it arrived just in time to fill an otherwise empty slot, the audio isn\'t perfect, it might not follow a script, random people wander in and out, there may be tangents from the topic at hand but if you can open your ears to listen you\'ll hear the passion of the community, our community. Then maybe, just maybe, you too will be inspired to share your unique point of view with us.\r\n\r\nhttps://hackerpublicradio.org/contribute.php','2022-02-14 13:15:36'), +(348,853,'2011-12-14 09:33:55','lee','confused - www.cdrom.com?','Hello\r\n\r\nI am a long time linux user who started with Red Hat 5.1 and has worked consistently with Red Hat and Debian-based distros ever since. I have never really given Slackware much thought.\r\n\r\nI noticed in the photo above that the URL for slackware is given as https://www.cdrom.com. When entered in my browser, I get a site offering windows applications for download. \r\n\r\nJust thought I should warn people that the correct URL for slackware is slackware.com .\r\n\r\nIs this an old photo perhaps? \r\n','2022-02-14 13:15:36'), +(349,853,'2012-04-01 16:50:13','Jason','Note','Just a note that the picture is from 2000. Also, freaking hilarious interview. After 5 minutes of back story about the incense he\'s about to light: \"Oh wait this may be the wrong stick\". LOL','2017-09-09 07:41:22'), +(350,853,'2012-04-02 04:53:06','Ken Fallon','The photo is from wikipedia','So if you have a newer one you know where to send it (also to us :) )','2017-09-09 07:41:22'), +(351,853,'2013-01-13 21:03:14','Dustin Reeves','Fascinating!','really enjoyed this podcast, been following slackware since about 9.1 (2004~), while i dont actively use the distribution, ive always enjoyed reading patricks thoughts on software release cycles, and being as stable as possible. when this podcast strayed from the technical, it took us in a great new unexpected direction (who thought patrick was into mckenna?). really enjoyed, would love to hear more podcasts in the same vein.\r\n\r\nthanks\r\n\r\n-DR','2017-09-09 07:41:22'), (352,856,'2011-11-15 07:03:15','gatton','excellent','I admit to being quite ignorant of emacs having always preferred the speed and simplicity of vim. But these emacs intro podcasts are making me take a second look. Thanks and I\'m really looking forward to the final installment.','2017-09-09 07:41:22'), (353,861,'2011-11-21 17:38:12','Scott Cann','Emacs','The rule of \"emacs dinners\" is you don\'t talk about \"emacs dinners\".\r\nGreat series Klaatu, I\'ve been using emacs for a few years and I still learned some stuff.\r\nThanks','2017-09-09 07:41:22'), (354,861,'2011-11-22 12:43:09','Klaatu','Moar Emacs','Hey, thanks Scott! Had to go back a listen to the episode to get your dinner joke :-P\r\n\r\nEmacs is pretty great and there seems to be no end to what it can do. I\'ve been doing a lot of org-mode usage lately, and have been messing around with abbreviation-completion lately. Heck, SO many potential features. There probably could be an emacs-cast out there, although admittedly it would be a bit dry.\r\n\r\nHappy hacking. and all that.','2017-09-09 07:41:22'), @@ -986,15 +998,3 @@ (1334,1889,'2015-11-05 23:05:43','(Mad Dog?) Dave Morriss','Brilliant!','You really had me laughing at the dramatisation. Very cleverly done. \r\n\r\nAnd there\'s a glossary of terms! Beautiful :-) ','2017-09-09 07:41:28'), (1335,1889,'2015-11-08 22:42:33','REL','Mr','I think I just burst a valve...','2017-09-09 07:41:28'), (1336,1889,'2015-11-09 09:35:41','A Shadowy Figure','Production has began on Pt.2','I really didn\'t take into consideration that this little project of mine would be so well received, so I was completely caught off guard when it came to creating Pt.2\r\nI was expecting to just do a straight run through on getting the T-02 up and running without even thinking about gathering more sound effects ect., then crafting something that resembles a coherent script.\r\nSo the follow up will take me about a weak or so to put together, then maybe another couple of days to tweak and edit. \r\nThe end result should be pretty cool. \r\nBut, I can see already the \"story\" is beginning to take precedence over the technical details of the Meegopad T-02, so it\'s likely there will be a Pt.3. (which will specifically address those details)\r\nIt ought to be worth it though.\r\n\r\nOh and as a heads up, every decent story requires a nemesis and/or villain or at least some sort of adversary as well as allies, so please don\'t take it personal if your nick get\'s cast as one of the \"bad guy\'s\".\r\nMore than likely, the cooler you are, the more despicable your character will be for absurditys sake.\r\nIt\'s all in fun, and no disrespect is intended.\r\n\r\n But generally speaking, the more shows you record, the more likely you are to find your nick in a smoky pool hall or horse racing track in a future episode or series I post.\r\n\r\n but I really want to hear, is what you\'ve got to share.\r\n\r\n Thank you all for your support, it is quite encouraging.\r\n\r\n You\'ll hear from me soon.\r\n\r\n A Shadowy Figure','2017-09-09 07:41:28'), -(1337,1890,'2015-10-30 13:27:58','Jon Kulp ','Up with the $2 lapel mic! ','Sound quality was terrific, Dave. so glad you recorded this show and also really glad that my recommendation of the $2 microphone was so useful to you. My son and I listened to this episode while I was driving him to school and we were both totally cracking up at your son. Very funny stuff!','2017-09-09 07:41:28'), -(1338,1890,'2015-10-31 18:45:21','Mike Ray','Audio Quality','I can\'t agree with your comments about audio quality.\r\n\r\nThe \'anything is better than nothing\' mantra is quite correct IMHO.\r\n\r\nA requirement to strive for BBC quality is likely to discourage people. Even more so a suggestion to use some kind of online audio-enhancing service.\r\n\r\nIf you can\'t hear a podcast because you\'re driving a noisy car I suggest you listen to it when you aren\'t.\r\n\r\n','2017-09-09 07:41:28'), -(1339,1890,'2015-11-03 11:52:57','Jon Kulp','Better is better','Sorry but I agree with Dave on this one. Audio quality shouldn\'t be a barrier to submission, but everyone should aspire to make recordings that are 1) clearly audible at normal playback volume and 2) are not distorted or clipping. These criteria do not exactly constitute BBC-level standards. I don\'t care that much in the end. If the audio quality doesn\'t meet my 2 (very basic) criteria, I just delete that episode and wait til the next day for another one. \r\n\r\nIncidentally Auphonic is an excellent tool that can help with this and requires no technical expertise. I\'m not advocating it necessarily, but it\'s one very easy way to improve audio. ','2017-09-09 07:41:28'), -(1340,1892,'2015-11-03 12:11:24','Jon Kulp ','Some Fowl Commentary','Genius as always! Loved the comments from your fowl wards...','2017-09-09 07:41:28'), -(1341,1892,'2015-11-03 15:47:15','Mike Ray','Kernel Sanders','Great episode.\r\n\r\nBut what happens if not all chickens are inside when the door shuts? Or, worse, the door shuts while a chook is standing on the threshold?\r\n\r\nMaybe a keypad on the outside of the door which they could peck for entry?','2017-09-09 07:41:28'), -(1342,1892,'2015-11-05 18:15:34','jezra','','If it is dark outside, yet light inside of the coop, all of the birdies will be in the coop. \r\n\r\nAny bird that isn\'t in the coop when the door closes will be outside for the night and may end up being a meal for a raccoon, skunk, fox, coyote, or other predator. \r\n\r\nIf a bird is standing in the doorway when the door slides closed, there will be a \"door close error\" and I will receive a text message as well as an email. The 12V car antenna isn\'t powerful enough to crush whatever is in the doorway. ','2017-09-09 07:41:28'), -(1343,1894,'2015-11-15 22:02:56','Steve Bickle','Exellent episode','This is one of my favourite HPR episodes. An amazing project, fantastic interview, fascinating content. Just want to say thanks to Ken and to both the interviewees. I listen to around 50 podcast and this was my podcast highlight of the week.','2017-09-09 07:41:28'), -(1344,1894,'2015-11-16 09:18:34','Dave Morriss','Great interview, great project','This was a fascinating episode. Thanks.\r\n\r\nI wasn\'t aware that mosquitoes were particularly prevalent in the Netherlands. I sympathise with the allergy issue; I am also allergic to bites but thankfully not to UK species (yet), and I don\'t think there are many in Scotland (yet). I was also unaware that there are mosquito species in the UK which are potential disease vectors - just waiting for the diseases to arrive?\r\n\r\nThere\'s an urgent need for new action against mosquito-borne diseases. I was listening to a podcast about the worrying growth of mosquito resistance to bed nets treated with pyrethroid insecticides just the other day. The technology discussed here which allows particular mosquito species to be recognised by their sound is very impressive. I hope it provides the information needed to understand the problem and to improve control.\r\n','2017-09-09 07:41:28'), -(1345,1894,'2015-12-10 23:49:21','Clinton Roy','','Great episode. Humbug is the name of my local unix group as well. ;) We have mozzies here in Brisbane by the truck load, ross river fever is probably the best known issue they give. Chickungunya just north in Indoensia is awful, you basically feel like you\'ve got arthritis in all your joints for a few months.','2017-09-09 07:41:28'), -(1346,1896,'2015-11-26 03:04:08','Eric Duhamel','Other ideas','anakep had another suggestion. \"I designed ~/.files.d to organize all my software and files.\r\nall my daemon-sotware, personnal code, backups, auto-backups.\"','2017-09-09 07:41:28'), -(1347,1896,'2016-02-01 16:11:13','Boclodoa','','I have a directory for this purpose too, the name has changed several times, currently is \"code_from_beyond\", beyond my repo. It is too long, maybe it will change to codefb or something like that.\r\n\r\nI totally agree with the need of some directories which are not touched by the system, but only by the user.\r\n\r\nI don\'t like .files.d very much because it feels too generic for me.','2017-09-09 07:41:28'), -(1348,1897,'2015-11-11 02:22:24','Guy Watkins','Update the firmware','Sometimes a firmware update will add features to a motherboard. Like newer CPU support and more RAM support. So, see if a firmware update will allow you to go to 32GB.\r\n\r\nGuy','2017-09-09 07:41:28'), diff --git a/sql/hpr-db-part-0e.sql b/sql/hpr-db-part-0e.sql index 69f3e13..48571cf 100644 --- a/sql/hpr-db-part-0e.sql +++ b/sql/hpr-db-part-0e.sql @@ -1,3 +1,15 @@ +(1337,1890,'2015-10-30 13:27:58','Jon Kulp ','Up with the $2 lapel mic! ','Sound quality was terrific, Dave. so glad you recorded this show and also really glad that my recommendation of the $2 microphone was so useful to you. My son and I listened to this episode while I was driving him to school and we were both totally cracking up at your son. Very funny stuff!','2017-09-09 07:41:28'), +(1338,1890,'2015-10-31 18:45:21','Mike Ray','Audio Quality','I can\'t agree with your comments about audio quality.\r\n\r\nThe \'anything is better than nothing\' mantra is quite correct IMHO.\r\n\r\nA requirement to strive for BBC quality is likely to discourage people. Even more so a suggestion to use some kind of online audio-enhancing service.\r\n\r\nIf you can\'t hear a podcast because you\'re driving a noisy car I suggest you listen to it when you aren\'t.\r\n\r\n','2017-09-09 07:41:28'), +(1339,1890,'2015-11-03 11:52:57','Jon Kulp','Better is better','Sorry but I agree with Dave on this one. Audio quality shouldn\'t be a barrier to submission, but everyone should aspire to make recordings that are 1) clearly audible at normal playback volume and 2) are not distorted or clipping. These criteria do not exactly constitute BBC-level standards. I don\'t care that much in the end. If the audio quality doesn\'t meet my 2 (very basic) criteria, I just delete that episode and wait til the next day for another one. \r\n\r\nIncidentally Auphonic is an excellent tool that can help with this and requires no technical expertise. I\'m not advocating it necessarily, but it\'s one very easy way to improve audio. ','2017-09-09 07:41:28'), +(1340,1892,'2015-11-03 12:11:24','Jon Kulp ','Some Fowl Commentary','Genius as always! Loved the comments from your fowl wards...','2017-09-09 07:41:28'), +(1341,1892,'2015-11-03 15:47:15','Mike Ray','Kernel Sanders','Great episode.\r\n\r\nBut what happens if not all chickens are inside when the door shuts? Or, worse, the door shuts while a chook is standing on the threshold?\r\n\r\nMaybe a keypad on the outside of the door which they could peck for entry?','2017-09-09 07:41:28'), +(1342,1892,'2015-11-05 18:15:34','jezra','','If it is dark outside, yet light inside of the coop, all of the birdies will be in the coop. \r\n\r\nAny bird that isn\'t in the coop when the door closes will be outside for the night and may end up being a meal for a raccoon, skunk, fox, coyote, or other predator. \r\n\r\nIf a bird is standing in the doorway when the door slides closed, there will be a \"door close error\" and I will receive a text message as well as an email. The 12V car antenna isn\'t powerful enough to crush whatever is in the doorway. ','2017-09-09 07:41:28'), +(1343,1894,'2015-11-15 22:02:56','Steve Bickle','Exellent episode','This is one of my favourite HPR episodes. An amazing project, fantastic interview, fascinating content. Just want to say thanks to Ken and to both the interviewees. I listen to around 50 podcast and this was my podcast highlight of the week.','2017-09-09 07:41:28'), +(1344,1894,'2015-11-16 09:18:34','Dave Morriss','Great interview, great project','This was a fascinating episode. Thanks.\r\n\r\nI wasn\'t aware that mosquitoes were particularly prevalent in the Netherlands. I sympathise with the allergy issue; I am also allergic to bites but thankfully not to UK species (yet), and I don\'t think there are many in Scotland (yet). I was also unaware that there are mosquito species in the UK which are potential disease vectors - just waiting for the diseases to arrive?\r\n\r\nThere\'s an urgent need for new action against mosquito-borne diseases. I was listening to a podcast about the worrying growth of mosquito resistance to bed nets treated with pyrethroid insecticides just the other day. The technology discussed here which allows particular mosquito species to be recognised by their sound is very impressive. I hope it provides the information needed to understand the problem and to improve control.\r\n','2017-09-09 07:41:28'), +(1345,1894,'2015-12-10 23:49:21','Clinton Roy','','Great episode. Humbug is the name of my local unix group as well. ;) We have mozzies here in Brisbane by the truck load, ross river fever is probably the best known issue they give. Chickungunya just north in Indoensia is awful, you basically feel like you\'ve got arthritis in all your joints for a few months.','2017-09-09 07:41:28'), +(1346,1896,'2015-11-26 03:04:08','Eric Duhamel','Other ideas','anakep had another suggestion. \"I designed ~/.files.d to organize all my software and files.\r\nall my daemon-sotware, personnal code, backups, auto-backups.\"','2017-09-09 07:41:28'), +(1347,1896,'2016-02-01 16:11:13','Boclodoa','','I have a directory for this purpose too, the name has changed several times, currently is \"code_from_beyond\", beyond my repo. It is too long, maybe it will change to codefb or something like that.\r\n\r\nI totally agree with the need of some directories which are not touched by the system, but only by the user.\r\n\r\nI don\'t like .files.d very much because it feels too generic for me.','2017-09-09 07:41:28'), +(1348,1897,'2015-11-11 02:22:24','Guy Watkins','Update the firmware','Sometimes a firmware update will add features to a motherboard. Like newer CPU support and more RAM support. So, see if a firmware update will allow you to go to 32GB.\r\n\r\nGuy','2017-09-09 07:41:28'), (1349,1897,'2015-11-11 06:21:16','m l hunt','Enjoyed your show.','I enjoyed your piece on an informational basis. And it\'s nice to hear someone from my neck of the woods, more or less (grew up in the Richmond area). Hope to hear from your again.','2017-09-09 07:41:28'), (1350,1898,'2015-11-11 01:48:44','A Shadowy Figure','By-Tor and the Snow Dog Approve','Thanks Alpha32,\r\n\r\n I never bothered to put any music on my Macbook Pro, but I\'ve got a ton of archived podcasts on there I could transfer over to my external storage.\r\nThanks for the tip.','2017-09-09 07:41:28'), (1351,1898,'2015-12-20 14:04:17','Frank','','Out of curiosity (I have never used a Mac): why do you need root to copy your own files?\r\n\r\nPS: to copy a file with space in the name, either escape the space with a preceeding backslash or enclose it in quotes.','2017-09-09 07:41:28'), @@ -986,15 +998,3 @@ INSERT INTO `comments` (`id`, `eps_id`, `comment_timestamp`, `comment_author_nam (2334,2507,'2018-02-28 08:32:53','clacke','Re: that info.rkt for a node','Got word from Stewart (and he\'s https://twitter.com/sj_mackenzie btw , and Fractalide has an account at https://twitter.com/fractalide ) that I misspoke on something: A node won\'t have an info.rkt, it\'s one fractal, one package, and nodes are pointed out internally within that package.\r\n\r\nFor more on what all this means, what a fractal is and more, look forward to my interview with Stewart whenever we get that in order.','2018-02-28 09:11:28'), (2335,2486,'2018-03-01 15:28:35','Dave Morriss','Quite a haul!','I envy your finds! I didn\'t know there were such events in this part of the world.','2018-03-01 15:30:39'), (2336,2501,'2018-03-03 19:33:39','Ken Fallon','https://duidelijkautistisch.nl/','The link to the Dutch book is https://duidelijkautistisch.nl/','2022-02-14 13:25:06'), -(2337,2501,'2018-03-03 19:38:19','Ken Fallon','Escape for pipe','& # 1 2 4 ; \r\n\r\nWill escape the | character !','2018-03-03 19:41:00'), -(2338,2498,'2018-03-03 23:38:29','Draco Metallium','No more e-mails on my phone.','Thanks, I had not realize that I really don\'t need the gmail app.\r\n\r\nMost of the time it was just annoying, I am almost always in front of a computer, so I would have find out about the new email a few seconds later. And for some reason the spell checker does not work if you updated it.\r\n\r\nYou have just freed me and my ram.','2018-03-04 09:17:31'), -(2339,2501,'2018-03-05 05:36:54','Clinton Roy','Thank you.','Tricky bastards...','2018-03-05 08:28:50'), -(2340,2403,'2018-03-05 13:44:32','Ken Fallon','Waveform Site','https://pudding.cool/2018/02/waveforms/','2018-03-05 13:50:10'), -(2341,2500,'2018-03-06 15:50:20','Steve','How in the world...','My question is, how many hours per day do you spend listening to podcasts? And are there that many hours in a day?\r\n\r\nThanks for the episodes. Quite the list.','2018-03-06 15:53:22'), -(2342,2499,'2018-03-06 20:33:46','Michael','Great show!','I love the idea of tuning around and simply demonstrating what you can hear. However, I would suggest to add a bit more of commentary to make it more meaningful to those who not already know what they are listening to. \r\n\r\nLet me add, that the morse code (CW) signal in both cases was a french station F5IN. Calling CQ DX, a general call for far away stations, in the first bit and just finishing a transmission in a contact in the second one.\r\n\r\nWhen Tom, DF2BO, described his antenna set up, this left me mouth gaping. Yagis 2 elements on 80m (3.5Mhz) and 3 elements on 40m (7Mhz)! These are monsters, way beyond what any \"normal\" amateur will be able to put up. Just an amazing configuration, that almost makes me drool, when thinking about... \r\nI think this is the kind of background information that makes sense to add, to put the audio in context.\r\n\r\nRegards,\r\nMichael','2018-03-06 20:37:45'), -(2343,2500,'2018-03-07 01:05:49','Kevin O\'Brien','It\'s just what I do','I do listen to a lot of podcasts, but one thing is that I speed them up by 70%, and the other is that I listen during many activities: driving, washing the dishes, going shopping, working out at the gym; they are all opportunities to listen.','2018-03-07 07:57:24'), -(2344,2503,'2018-03-07 04:10:22','Clinton Roy','Wow','What a great story! I\'m not into music podcasts at all really though (can\'t speed them up ;) but this was a fascinating look behind the scenes of a professional.','2018-03-07 07:57:24'), -(2345,2501,'2018-03-07 16:43:48','clacke','Re: flea market','or a yard sale or a garage sale or maybe a ...\r\n\r\nhttps://hooktube.com/watch?v=bFOPwL32UvI','2018-03-07 16:53:34'), -(2346,2503,'2018-03-08 23:03:20','thelovebug','Re: Wow','Thanks Clinton, I\'m really glad you enjoyed the episode. The last 10 years have really been a blast, and I can see many more podcasting years ahead!\r\n\r\nI\'ve had a few people call me \"professional\" and, whilst that isn\'t strictly true, I\'d be lying if I said I wouldn\'t want to be!!','2018-03-08 23:05:48'), -(2347,2505,'2018-03-09 20:49:24','Jan','Some Lines Of Support','Hi Dave!\r\n\r\nThanks a lot for Your effort.\r\n\r\nIf a machine is under heavy load and therefor kind of not responsive anymore that readline-magic comes in handy. Same goes for a slow link between a users terminal and a remote machine.','2018-03-09 21:04:18'), -(2348,2505,'2018-03-10 03:25:54','Clinton Roy','Comment Command','I was not aware of the comment/decomment commands, they might be useful.','2018-03-10 09:45:52'), diff --git a/sql/hpr-db-part-0f.sql b/sql/hpr-db-part-0f.sql index 44013dc..75dd73a 100644 --- a/sql/hpr-db-part-0f.sql +++ b/sql/hpr-db-part-0f.sql @@ -1,3 +1,15 @@ +(2337,2501,'2018-03-03 19:38:19','Ken Fallon','Escape for pipe','& # 1 2 4 ; \r\n\r\nWill escape the | character !','2018-03-03 19:41:00'), +(2338,2498,'2018-03-03 23:38:29','Draco Metallium','No more e-mails on my phone.','Thanks, I had not realize that I really don\'t need the gmail app.\r\n\r\nMost of the time it was just annoying, I am almost always in front of a computer, so I would have find out about the new email a few seconds later. And for some reason the spell checker does not work if you updated it.\r\n\r\nYou have just freed me and my ram.','2018-03-04 09:17:31'), +(2339,2501,'2018-03-05 05:36:54','Clinton Roy','Thank you.','Tricky bastards...','2018-03-05 08:28:50'), +(2340,2403,'2018-03-05 13:44:32','Ken Fallon','Waveform Site','https://pudding.cool/2018/02/waveforms/','2018-03-05 13:50:10'), +(2341,2500,'2018-03-06 15:50:20','Steve','How in the world...','My question is, how many hours per day do you spend listening to podcasts? And are there that many hours in a day?\r\n\r\nThanks for the episodes. Quite the list.','2018-03-06 15:53:22'), +(2342,2499,'2018-03-06 20:33:46','Michael','Great show!','I love the idea of tuning around and simply demonstrating what you can hear. However, I would suggest to add a bit more of commentary to make it more meaningful to those who not already know what they are listening to. \r\n\r\nLet me add, that the morse code (CW) signal in both cases was a french station F5IN. Calling CQ DX, a general call for far away stations, in the first bit and just finishing a transmission in a contact in the second one.\r\n\r\nWhen Tom, DF2BO, described his antenna set up, this left me mouth gaping. Yagis 2 elements on 80m (3.5Mhz) and 3 elements on 40m (7Mhz)! These are monsters, way beyond what any \"normal\" amateur will be able to put up. Just an amazing configuration, that almost makes me drool, when thinking about... \r\nI think this is the kind of background information that makes sense to add, to put the audio in context.\r\n\r\nRegards,\r\nMichael','2018-03-06 20:37:45'), +(2343,2500,'2018-03-07 01:05:49','Kevin O\'Brien','It\'s just what I do','I do listen to a lot of podcasts, but one thing is that I speed them up by 70%, and the other is that I listen during many activities: driving, washing the dishes, going shopping, working out at the gym; they are all opportunities to listen.','2018-03-07 07:57:24'), +(2344,2503,'2018-03-07 04:10:22','Clinton Roy','Wow','What a great story! I\'m not into music podcasts at all really though (can\'t speed them up ;) but this was a fascinating look behind the scenes of a professional.','2018-03-07 07:57:24'), +(2345,2501,'2018-03-07 16:43:48','clacke','Re: flea market','or a yard sale or a garage sale or maybe a ...\r\n\r\nhttps://hooktube.com/watch?v=bFOPwL32UvI','2018-03-07 16:53:34'), +(2346,2503,'2018-03-08 23:03:20','thelovebug','Re: Wow','Thanks Clinton, I\'m really glad you enjoyed the episode. The last 10 years have really been a blast, and I can see many more podcasting years ahead!\r\n\r\nI\'ve had a few people call me \"professional\" and, whilst that isn\'t strictly true, I\'d be lying if I said I wouldn\'t want to be!!','2018-03-08 23:05:48'), +(2347,2505,'2018-03-09 20:49:24','Jan','Some Lines Of Support','Hi Dave!\r\n\r\nThanks a lot for Your effort.\r\n\r\nIf a machine is under heavy load and therefor kind of not responsive anymore that readline-magic comes in handy. Same goes for a slow link between a users terminal and a remote machine.','2018-03-09 21:04:18'), +(2348,2505,'2018-03-10 03:25:54','Clinton Roy','Comment Command','I was not aware of the comment/decomment commands, they might be useful.','2018-03-10 09:45:52'), (2349,2486,'2018-03-10 15:14:56','MrX','Re Quite a haul!','Hi Dave I\'m not surprised you didn\'t know about this as there are not many amateur radio rallies held in these parts I only know about it because I was a long time ago a member of the Cockenzie and Port Seton Amateur Radio Club. This event is a mini radio rally it originally went under the title of junk night but has since gone up market, it\'s held at Cockenzie & Port Seton Community Centre usually around the beginning of August, I\'ve been going there for a number of years now best bit about it is meeting up with old friends and sampling some of the home made food. On the haul I usually end up with very little I just happened to be lucky this year.','2018-03-10 15:17:32'), (2350,2499,'2018-03-10 16:46:45','MrX','re Great show!','Hi Michael, many thanks for the comment, glad you enjoyed the show and your probably correct that a bit of commentary might have been a good idea. There was a couple of reasons that I chose not to add any commentary first it made the podcast easier to make but the real reason was that I was trying to create a bit of mystery for people that had never heard the strange sounds you\'d find when tuning around the amateur radio HF band which I thought might be the case for a large portion of the audience. \r\n\r\nWhen I was a young boy I remember listening to old second world war valved receivers that I occasionally had access to and was fascinated by the strange sounds and voices having no idea what I was listening to I thought initially giving no explanation would create more intrigue for those that had never heard HF before and if there interest was gripped then they could have a look for some show notes. I\'ll probably add some commentary next time if I do a similar show.\r\n\r\nPS many thanks for deciphering the Morse code (CW), and yes that was some incredible set-up DF2BO had certainly beats my half wave dipole flung in the loft :)','2018-03-10 16:55:46'), (2351,2502,'2018-03-10 19:57:15','Windigo','Two comments','Firstly, after hearing the title of this episode I thought you were going to be discussing how much three-dimensional space your thoughts took up. That\'s not something I\'ve ever considered before.\r\n\r\nSecondly, when you actually discussed the \"loudness\" of your own thoughts and what types of sounds successfully caused you to lose track of them, it was ALSO something I\'d never considered.\r\n\r\nWell done, Sir. Well done.','2018-03-10 20:03:40'), @@ -986,15 +998,3 @@ (3334,3504,'2022-01-06 21:50:00','dnt','Mission control','Great broadcast! \"That\'s the main engine I think, and that\'s the booster. Wow! And there it goes, goodness me!\" is one of those audio clips that we will hear for generations to come. And I suspect many of the same phrases were heard at mission control that day, such as \"I don\'t fully understand how [Lagrange point] works\" and \"You want to do that otherwise you end up with a rather wishy-washy bit of turkey, don\'t you?\"','2022-01-06 21:55:43'), (3335,3485,'2022-01-07 12:44:28','wynaut','thanks great show','agree with prev comment, listener who just turned 51 :)','2022-01-07 20:22:37'), (3336,3496,'2022-01-09 16:24:54','Reto','a good idea','Hi,\r\nThank you for this program and the introduction as a podcast.\r\n\r\nI just downloaded the .zip from GitLab and while trying the commands, I realize a section with dependencies is missing. I think pip is too large, so, I usually do run it in an virtualenv.\r\nIn other Phython projects like here: https://github.com/jonaswinkler/paperless-ng/blob/master/requirements.txt you find a requirements.txt. I was wondering if you add one too?\r\n\r\nBr,\r\nReto','2022-01-09 20:19:26'), -(3337,3498,'2022-01-09 19:37:21','operat0r','Love this show','reminds me a little bit of udev random podcast. this one had a lot of laughs! You guys are my friends for now. Mine won\'t do anything.. Holidays are hard for some/most people. Shooting the shit and ranting are my fav podcast eps!\r\n\r\nTake care of yourselves! your the only U you have!','2022-01-09 20:19:26'), -(3338,3505,'2022-01-11 04:02:01','baffled','Nice show!','Hi Ken and Beni: It was a great show thank you. Things have sure changed since I got my ticket. I\'m looking forward to future episodes in this series.','2022-01-11 20:31:52'), -(3339,3510,'2022-01-17 07:59:16','tuturto','This brought some memories','This was fun to listen to and remember how my first PC was hand me down IBM 088 that I got from a local metal shop. It had whopping 640kb of memory and two floppy drives (no hard drive at all). There were no fancy graphical user interface or anything, all interaction was on text mode with keyboard.','2022-01-17 21:00:02'), -(3340,3322,'2022-01-21 21:13:55','Windigo','Lost udev episode','I was surprised to hear you say you\'ve never done an episode on udev, because I distinctly remember that episode! You were discussing creating your own udev rules to automatically run tasks upon inserting a USB drive.\r\n\r\nIt may be that you\'ve never done an episode on HPR about it; I can\'t find it for the life of me.\r\n\r\nEither way, thank you - as always - for the excellent episode. :)','2022-01-21 21:21:50'), -(3341,3517,'2022-01-25 23:05:07','Jesse','Monty Mint phone','Did your Monty Mint phone ever come in? I remember you mentioned it on a previous episode. Would love to hear your experience with the phone.','2022-01-25 23:17:33'), -(3342,3516,'2022-01-26 02:48:49','Janedoc','empathize with you','Dear Operator, I prescribe the medicines you discuss. It is a big ol\' pain for doctors too. The law changed in 2021 that you\'re not supposed to fill controlled substances with a paper prescription, only electronic. I see my ADHD patients every 3 months. The patients call my office every 30 days in between for a refill and the refill is done electronically from my desk. My patients don\'t have the problems you do. There should be a 5 day leeway (before your rx runs out). I use Good rx for my own family\'s prescriptions. It makes a big cost difference and I do not know how Good rx work either. In order for the controlled substances act to change it will take an act of congress, so contact your congress member.','2022-01-26 22:48:41'), -(3343,3504,'2022-02-03 12:08:51','clacke','How L2 works','I attempted an explanation of how L2 orbit works over at https://libranet.de/display/0b6b25a8-1861-f16a-5504-65e089452108 but I\'ll repeat it in brief.\r\n\r\nYou can orbit L2 because Earth pulls you. The Y component of the pull keeps you in orbit around L2 and the X component cancels out with your centrifugal force from orbiting the Sun \"too fast\".\r\n\r\nThere is also a proper and deeper explanation:\r\n\r\nLaunch Pad Astronomy: How James Webb Orbits \'Nothing\'\r\n\r\nhttps://farside.link/invidious/watch?v=ybn8-_QV8Tg\r\n\r\nhttps://www.youtube.com/watch?v=ybn8-_QV8Tg','2022-02-04 11:44:31'), -(3344,3504,'2022-02-03 12:14:37','clacke','Re: centrifugal force','As for whether the centrifugal force is real or not I will forever refer to https://xkcd.com/123/ .\r\n\r\nForces aren\'t real anyway!','2022-02-04 11:44:31'), -(3345,3525,'2022-02-04 22:39:28','Xoke','Multiple words in a row','I was talking about the horse and cart sign, and the guy that made it left too much space between \'horse\' and \'and\', and \'and\' and cart...\r\n\r\nAnd the completely contrived one about \'had\', where someone doing a test used \'had\', someone else used \'had had\', however the examiner preferred \'had had\'.\r\n\r\nSmith, where Jones had had \"had,\" had had \"had had\"; \"had had\" had had the examiners approval','2022-02-04 22:44:08'), -(3346,3286,'2022-02-05 11:10:41','Ken Fallon','Thanks again','Just used that again','2022-02-05 20:07:33'), -(3347,3289,'2022-02-05 11:12:43','Ken Fallon','Wasting shows','Each of these could have been its own show','2022-02-05 20:07:33'), -(3348,2881,'2022-02-08 15:46:26','Ken Fallon','I knew I heard how to do this somewhere','A bit surprised to find it was myself that did the show. Is HPR my archive memory module ?','2022-02-08 18:33:57'), diff --git a/sql/hpr-db-part-10.sql b/sql/hpr-db-part-10.sql index 6cec87e..9d5ba91 100644 --- a/sql/hpr-db-part-10.sql +++ b/sql/hpr-db-part-10.sql @@ -1,3 +1,15 @@ +(3337,3498,'2022-01-09 19:37:21','operat0r','Love this show','reminds me a little bit of udev random podcast. this one had a lot of laughs! You guys are my friends for now. Mine won\'t do anything.. Holidays are hard for some/most people. Shooting the shit and ranting are my fav podcast eps!\r\n\r\nTake care of yourselves! your the only U you have!','2022-01-09 20:19:26'), +(3338,3505,'2022-01-11 04:02:01','baffled','Nice show!','Hi Ken and Beni: It was a great show thank you. Things have sure changed since I got my ticket. I\'m looking forward to future episodes in this series.','2022-01-11 20:31:52'), +(3339,3510,'2022-01-17 07:59:16','tuturto','This brought some memories','This was fun to listen to and remember how my first PC was hand me down IBM 088 that I got from a local metal shop. It had whopping 640kb of memory and two floppy drives (no hard drive at all). There were no fancy graphical user interface or anything, all interaction was on text mode with keyboard.','2022-01-17 21:00:02'), +(3340,3322,'2022-01-21 21:13:55','Windigo','Lost udev episode','I was surprised to hear you say you\'ve never done an episode on udev, because I distinctly remember that episode! You were discussing creating your own udev rules to automatically run tasks upon inserting a USB drive.\r\n\r\nIt may be that you\'ve never done an episode on HPR about it; I can\'t find it for the life of me.\r\n\r\nEither way, thank you - as always - for the excellent episode. :)','2022-01-21 21:21:50'), +(3341,3517,'2022-01-25 23:05:07','Jesse','Monty Mint phone','Did your Monty Mint phone ever come in? I remember you mentioned it on a previous episode. Would love to hear your experience with the phone.','2022-01-25 23:17:33'), +(3342,3516,'2022-01-26 02:48:49','Janedoc','empathize with you','Dear Operator, I prescribe the medicines you discuss. It is a big ol\' pain for doctors too. The law changed in 2021 that you\'re not supposed to fill controlled substances with a paper prescription, only electronic. I see my ADHD patients every 3 months. The patients call my office every 30 days in between for a refill and the refill is done electronically from my desk. My patients don\'t have the problems you do. There should be a 5 day leeway (before your rx runs out). I use Good rx for my own family\'s prescriptions. It makes a big cost difference and I do not know how Good rx work either. In order for the controlled substances act to change it will take an act of congress, so contact your congress member.','2022-01-26 22:48:41'), +(3343,3504,'2022-02-03 12:08:51','clacke','How L2 works','I attempted an explanation of how L2 orbit works over at https://libranet.de/display/0b6b25a8-1861-f16a-5504-65e089452108 but I\'ll repeat it in brief.\r\n\r\nYou can orbit L2 because Earth pulls you. The Y component of the pull keeps you in orbit around L2 and the X component cancels out with your centrifugal force from orbiting the Sun \"too fast\".\r\n\r\nThere is also a proper and deeper explanation:\r\n\r\nLaunch Pad Astronomy: How James Webb Orbits \'Nothing\'\r\n\r\nhttps://farside.link/invidious/watch?v=ybn8-_QV8Tg\r\n\r\nhttps://www.youtube.com/watch?v=ybn8-_QV8Tg','2022-02-04 11:44:31'), +(3344,3504,'2022-02-03 12:14:37','clacke','Re: centrifugal force','As for whether the centrifugal force is real or not I will forever refer to https://xkcd.com/123/ .\r\n\r\nForces aren\'t real anyway!','2022-02-04 11:44:31'), +(3345,3525,'2022-02-04 22:39:28','Xoke','Multiple words in a row','I was talking about the horse and cart sign, and the guy that made it left too much space between \'horse\' and \'and\', and \'and\' and cart...\r\n\r\nAnd the completely contrived one about \'had\', where someone doing a test used \'had\', someone else used \'had had\', however the examiner preferred \'had had\'.\r\n\r\nSmith, where Jones had had \"had,\" had had \"had had\"; \"had had\" had had the examiners approval','2022-02-04 22:44:08'), +(3346,3286,'2022-02-05 11:10:41','Ken Fallon','Thanks again','Just used that again','2022-02-05 20:07:33'), +(3347,3289,'2022-02-05 11:12:43','Ken Fallon','Wasting shows','Each of these could have been its own show','2022-02-05 20:07:33'), +(3348,2881,'2022-02-08 15:46:26','Ken Fallon','I knew I heard how to do this somewhere','A bit surprised to find it was myself that did the show. Is HPR my archive memory module ?','2022-02-08 18:33:57'), (3349,3525,'2022-02-08 18:32:12','Dave Morriss','Where Jones had had \"had\" ...','Hi Xoke,\r\n\r\nThanks for the comment.\r\n\r\nThe \'had had\' things were a favourite of my late father, so they were instilled into my brain from an early age. It was great to be reminded of them, thanks :-)\r\n\r\nDave','2022-02-08 18:33:57'), (3350,3538,'2022-02-08 19:44:27','Ken Fallon','How to run it','flatpak run org.tenacityaudio.Tenacity','2022-02-08 19:48:21'), (3351,3525,'2022-02-10 03:23:59','dnt','processes','Now I think we\'re seeing some people take the plurals like crises into any plural word that ends in -es, so we\'re hearing people say \"processees\". Start talking about processees and I stop listening.','2022-02-10 19:28:07'), @@ -986,15 +998,3 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (463,'2009-10-13','Finux Interviews Moxie Marlinspike about SSL',2279,'Finux talks to Moxie Marlinspike about a variety of vulnerabilities in SSL','

Finux talks to Moxie Marlinspike about a variety of vulnerabilities in most common implementations of SSL, such as hijacking the switch from http to https, universal wildcard certs, SSLsniff and more.\r\n

\r\n

ogg version! ',85,78,1,'CC-BY-NC-SA','interview,SSL,security',0,8295,1), (464,'2009-10-14','Barefoot Running',1360,'How to run barefoot','Barefoot running resources\r\n

',7,0,1,'CC-BY-NC-SA','Barefoot running,Barefoot shoes,Chia seeds',0,2184,1), (465,'2009-10-14','Failsafe security',971,'Tips on securing your Linux systems, see Episode 431','

WARNING: It\'s easy to lock yourself out of a system implementing these changes so make sure you have physical access to the console of the system you are securing.

\r\n\r\n

To display all processes listening

\r\n
  netstat -anp | grep -i listen\r\n
\r\n\r\nDeny all connections to any port from any external IP address\r\n
/etc/hosts.deny\r\n  all:all\r\n\r\n/etc/hosts.allow\r\n  sshd:192.168.1.54 # My other pc\r\n
\r\n\r\n

IPTables Tutorial: https://iptables-tutorial.frozentux.net/

\r\n\r\n

A good starting point to block all except ssh:\r\nhttps://www.cyberciti.biz/tips/linux-iptables-4-block-all-incoming-traffic-but-allow-ssh.html

\r\n\r\n

Disable root login via ssh: https://www.howtogeek.com/howto/linux/security-tip-disable-root-ssh-login-on-linux/

\r\n\r\n

Setting up ssh keys and disabling password logins.

\r\n\r\n

https://www.debuntu.org/ssh-key-based-authentication

\r\n\r\n',30,0,1,'CC-BY-NC-SA','security,netstat,hosts file,iptables,Firefox,noscript',0,1678,1), -(466,'2009-10-16','A technique for drum \'n\' bass',550,'In this show SigFLUP shares a program that can be used to make drum \'n\' bass songs.','In this show SigFLUP shares a program that can be used to make drum \'n\' bass songs. \r\nYou can download it at https://tmd.freeshell.org ',115,0,1,'CC-BY-NC-SA','drum\'n\'bass,music,samples,freeshell',0,1794,1), -(467,'2009-10-16','AutoNessus News',1624,'Finux and the author of AutoNessus talk about some upcoming news about this software','finux and the author of Autonessus talk about some upcoming news about this software',85,0,1,'CC-BY-NC-SA','AutoNessus,Interview,security,scanner',0,1505,1), -(468,'2009-10-19','Quvmoh\'s UTOS trip',411,'Quvmoh details his trip to the Utah Open Source Conference','\r\n',110,0,1,'CC-BY-NC-SA','Utah Open Source Conference,networking 101,z shell,Linux home servers,life without a GUI,ssh tips and tricks,openvpn,podcasting,ffmpeg,HDR photography',0,1394,1), -(469,'2009-10-21','TiT Radio 011 - puppies, tails, and a gnome ',4229,'Monsterb and friends host TiT Radio','\r\nRecorded live on Oct 17th, 2009. Pick your price for World of Goo, Gnome 3,
\r\n Puppy Linux, KaOS, Commands of the Week, and so much more!
\r\n Shownotes and Ogg: https://titradio.info/011.html
',99,30,1,'CC-BY-NC-SA','PXE boot,Gnome shell,Puppy Linux,Texas Instruments,EFF,Screen,Tmux',0,1458,1), -(470,'2009-10-21','Interworx',470,'Klaatu interviews Jon from Interworx at Ohio Linux Fest 2009','Klaatu interviews Jon from Interworx at Ohio Linux Fest 2009.',78,78,0,'CC-BY-NC-SA','OLF 2009,interview',0,2137,1), -(471,'2009-10-23','Interview with Andrej Hajto about VOIP',2016,'Finux interviews Andrej Hajto about VOIP','Download the ogg vorbis version courtesy Finux & the Bad Apples.',85,36,1,'CC-BY-NC-SA','interview,VOIP',0,2026,1), -(472,'2009-10-26','Interview with Ryan Dewhurst',2628,'Finux interviews Ryan Dewhurst of Damn Vulnerable Web Application','finux interview Ryan Dewhurst',85,78,1,'CC-BY-NC-SA','ethical hacker,web application security',0,1712,1), -(473,'2009-10-28','Tit Radio Ep 011.1a - RMS and Aftershow',1941,'Interview with RMS and TiT Radio aftershow','BSDBetty kicks off the show with an interview with Richard Stallman before his talk at the \r\n Edinburgh University Informatics Colloquium, with particular focus on ethics in the field of software. \r\n Transcription of this interview can be found at Indymedia Scotland.
\r\n\r\nAt the Roundtable: monsterb, klaatu, Peter64, Azimuth, JMan, 330, and pegwole.
\r\n\r\n\r\nCaller: SndChaser
\r\n\r\nPlease visit https://titradio.info/011-1a.html for shownotes and ogg.
\r\n',99,30,1,'CC-BY-NC-SA','Free Software',0,1570,1), -(474,'2009-10-30','Talk Geek To Me Ep 05 ',1756,'Deepgeek talks geek to his listeners about the Aria2 download manager','\r\nDeepGeek gives a software review of the Aria2 download manager.',73,34,1,'CC-BY-NC-SA','Aria2,download manager',0,2249,1), -(475,'2009-10-31','Lord Drachenblut Interviews Scott Sigler',972,'In this episode Lord Drachenblut Interviews Scott Sigler','Lord Drachenblut Interviews Scott Sigler',24,78,1,'CC-BY-NC-SA','interview,books,audiobooks,audio setup,podiobooks',0,2038,1), -(476,'2009-11-03','FOSS In Business',1765,'RobertLadyman talks about Free And Open Source Software In Business','RobertLadyman tals about Free And Open Source Software In Business ',85,36,1,'CC-BY-NC-SA','free software,open source software,FOSS in business',0,1482,1), -(477,'2009-11-05','Uber Leet Hacker Force Radio',526,'Uber Leet Hacker Force Radio issue 1','AUTHOR: SigFLUP
\r\n
\r\nTITLE: Uber Leet Hacker Force Radio issue 1\r\n

\r\nDESCRIPTION:
\r\nIn this issue of Uber Leet Hacker Force Radio SigFLUP releases a helpful patch to gnu-screen. Show notes include https://hobones.dogsoft.net/screen-4.0.3-ulhf.1.tar.gz and https://hobones.dogsoft.net/ulhf_patch1.tgz\r\n \r\nYou may contact us at pantsbutt@gmail.com\r\n',115,87,1,'CC-BY-NC-SA','music,code',0,1237,1), diff --git a/sql/hpr-db-part-11.sql b/sql/hpr-db-part-11.sql index 007d58f..9649708 100644 --- a/sql/hpr-db-part-11.sql +++ b/sql/hpr-db-part-11.sql @@ -1,3 +1,15 @@ +(466,'2009-10-16','A technique for drum \'n\' bass',550,'In this show SigFLUP shares a program that can be used to make drum \'n\' bass songs.','In this show SigFLUP shares a program that can be used to make drum \'n\' bass songs. \r\nYou can download it at https://tmd.freeshell.org ',115,0,1,'CC-BY-NC-SA','drum\'n\'bass,music,samples,freeshell',0,1794,1), +(467,'2009-10-16','AutoNessus News',1624,'Finux and the author of AutoNessus talk about some upcoming news about this software','finux and the author of Autonessus talk about some upcoming news about this software',85,0,1,'CC-BY-NC-SA','AutoNessus,Interview,security,scanner',0,1505,1), +(468,'2009-10-19','Quvmoh\'s UTOS trip',411,'Quvmoh details his trip to the Utah Open Source Conference','\r\n',110,0,1,'CC-BY-NC-SA','Utah Open Source Conference,networking 101,z shell,Linux home servers,life without a GUI,ssh tips and tricks,openvpn,podcasting,ffmpeg,HDR photography',0,1394,1), +(469,'2009-10-21','TiT Radio 011 - puppies, tails, and a gnome ',4229,'Monsterb and friends host TiT Radio','\r\nRecorded live on Oct 17th, 2009. Pick your price for World of Goo, Gnome 3,
\r\n Puppy Linux, KaOS, Commands of the Week, and so much more!
\r\n Shownotes and Ogg: https://titradio.info/011.html
',99,30,1,'CC-BY-NC-SA','PXE boot,Gnome shell,Puppy Linux,Texas Instruments,EFF,Screen,Tmux',0,1458,1), +(470,'2009-10-21','Interworx',470,'Klaatu interviews Jon from Interworx at Ohio Linux Fest 2009','Klaatu interviews Jon from Interworx at Ohio Linux Fest 2009.',78,78,0,'CC-BY-NC-SA','OLF 2009,interview',0,2137,1), +(471,'2009-10-23','Interview with Andrej Hajto about VOIP',2016,'Finux interviews Andrej Hajto about VOIP','Download the ogg vorbis version courtesy Finux & the Bad Apples.',85,36,1,'CC-BY-NC-SA','interview,VOIP',0,2026,1), +(472,'2009-10-26','Interview with Ryan Dewhurst',2628,'Finux interviews Ryan Dewhurst of Damn Vulnerable Web Application','finux interview Ryan Dewhurst',85,78,1,'CC-BY-NC-SA','ethical hacker,web application security',0,1712,1), +(473,'2009-10-28','Tit Radio Ep 011.1a - RMS and Aftershow',1941,'Interview with RMS and TiT Radio aftershow','BSDBetty kicks off the show with an interview with Richard Stallman before his talk at the \r\n Edinburgh University Informatics Colloquium, with particular focus on ethics in the field of software. \r\n Transcription of this interview can be found at Indymedia Scotland.
\r\n\r\nAt the Roundtable: monsterb, klaatu, Peter64, Azimuth, JMan, 330, and pegwole.
\r\n\r\n\r\nCaller: SndChaser
\r\n\r\nPlease visit https://titradio.info/011-1a.html for shownotes and ogg.
\r\n',99,30,1,'CC-BY-NC-SA','Free Software',0,1570,1), +(474,'2009-10-30','Talk Geek To Me Ep 05 ',1756,'Deepgeek talks geek to his listeners about the Aria2 download manager','\r\nDeepGeek gives a software review of the Aria2 download manager.',73,34,1,'CC-BY-NC-SA','Aria2,download manager',0,2249,1), +(475,'2009-10-31','Lord Drachenblut Interviews Scott Sigler',972,'In this episode Lord Drachenblut Interviews Scott Sigler','Lord Drachenblut Interviews Scott Sigler',24,78,1,'CC-BY-NC-SA','interview,books,audiobooks,audio setup,podiobooks',0,2038,1), +(476,'2009-11-03','FOSS In Business',1765,'RobertLadyman talks about Free And Open Source Software In Business','RobertLadyman tals about Free And Open Source Software In Business ',85,36,1,'CC-BY-NC-SA','free software,open source software,FOSS in business',0,1482,1), +(477,'2009-11-05','Uber Leet Hacker Force Radio',526,'Uber Leet Hacker Force Radio issue 1','AUTHOR: SigFLUP
\r\n
\r\nTITLE: Uber Leet Hacker Force Radio issue 1\r\n

\r\nDESCRIPTION:
\r\nIn this issue of Uber Leet Hacker Force Radio SigFLUP releases a helpful patch to gnu-screen. Show notes include https://hobones.dogsoft.net/screen-4.0.3-ulhf.1.tar.gz and https://hobones.dogsoft.net/ulhf_patch1.tgz\r\n \r\nYou may contact us at pantsbutt@gmail.com\r\n',115,87,1,'CC-BY-NC-SA','music,code',0,1237,1), (478,'2009-11-06','Demo or Bust 2010 Ep 5',5901,'This is the party version of Demo or Bust from SigFLUP','Demo or Bust 2010 #5
\r\nDESCRIPTION:
\r\nThis is the party version of Demo or Bust in which SigFLUP specifically focuses on upcoming parties. We\r\ntalk to Jason Scott and Nrr. Please note that in editing this Jason Scott may sound to be not enthusiastic\r\nabout @party and Nurupo, this was far from the case, he was actually very enthusiastic! In editing out \r\nsomething that was meant to be a secret SigFLUP may of made him sound a little dismissive of these parties
\r\n
\r\n\r\nBlockParty: https://www.demoparty.us
\r\nNurupo: https://wiki.corvidae.org/nurupo
\r\n@Party: https://www.atparty-demoscene.net
\r\n\r\nDemos played in this episode:\r\n\r\nhttps://www.pouet.net/prod.php?which=9424 (This is only 64 god-damn k!!!)\r\nhttps://www.pouet.net/prod.php?which=53090 (Mobile phone)\r\n\r\nYou may contact Demo or Bust at pantsbutt@gmail.com or +1-206-312-1618\r\n\r\n',115,0,1,'CC-BY-NC-SA','Demo or Bust 2010',0,2072,1), (479,'2009-11-06','OLF 2009: Interview with Dwick',565,'Klaatu at Ohio Linux Fest 2009 interviews DWick, a math professor','

Klaatu at Ohio Linux Fest 2009 interviews DWick, a math professor, about math programs on Linux.

\r\n

The ogg version kindly provided by The Bad Apples.

\r\n',78,78,0,'CC-BY-NC-SA','OLF 2009,interview',0,1599,1), (480,'2009-11-11','TiT Radio 012 - Happy Halloween',4068,'Monsterb and friends host TiT Radio','

TiT Radio 012 - Happy Halloween

\r\n\r\n

Recorded 10-31-2009.

\r\n

monsterb, klaatu, Peter64, Azimuth, JMan, and 330 talk about Tiny Core Linux, Suse Studio, Ubuntu 9.10, Phoronix Test Suite, Commands of the Week, and so much more!

\r\n

Ending song by Kelly Allyn - 07 Whiskey Can.

\r\n

Please visit https://titradio.info/012.html for shownotes.

\r\n',99,30,1,'CC-BY-NC-SA','screen,Tiny Core Linux,Suse Studio,flash',0,1974,1), @@ -986,15 +998,3 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (1432,'2014-01-28','Fahrenheit 212',1148,'A discussion of temperature systems: Fahrenheit, Celsius (Centigrade) and Kelvin','

Please consider recording an episode for Hacker Public Radio. We are a you-contribute podcast. :)

\r\n

Ken requests an episode on Fahrenheit, which really requires discussion of the two temperature systems, and how they are quantified.

\r\n

Terminology

\r\n

Centigrade: old fashioned term for Celsius
Kelvin (K): less common measurement of temperature used for Science
Thermal Equilibrium: en.wikipedia.org/wiki/Thermodynamic_equilibrium
Zeroth Law of Thermodynamics: en.wikipedia.org/wiki/Zeroth_law_of_thermodynamics
Absolute zero: en.wikipedia.org/wiki/Absolute_zero
\r\n

\r\n

My personal preference is Celsius. Less numbers to deal with in everyday use.
Really Cold – Temperatures below 0°C
Really Hot – Temperatures above 30°C
The \"American\" thinking is temperatures go in 20\'s, 30\'s, 40\'s...etc. more work!
Obligatory gun discussion
Indirect conversation about PV = nRT formula
Correction: the absence of pressure (vacuum) causes water to boil.
Celsius and Fahrenheit are \"measured\" by the states of water boiling/freezing.
\r\n

\r\nCelsius\r\nfreezes at 0°\r\nboils at 100°\r\n\r\nFahrenheit\r\nfreezes at 32\r\nboils 212°\r\n\r\n1 (K) Kelvin = -273.15°C\r\n
',272,0,0,'CC-BY-SA','Science, temperature',0,1432,1), (1433,'2014-01-29','Ubuntu Quickly Ebook Template',660,'The Quickly Ubuntu eBook Template allows the user to create and manage eBooks','

\r\nIn this episode Mike Hingley talks about his Ubuntu Quickly Ebook Template project. Whilst it is still in development, it allows authors the ability to publish epub style books through the ubuntu packaging system.\r\n

\r\n',185,0,0,'CC-BY-SA','content packaging,Ebook ',0,1441,1), (1434,'2014-01-30','Why I made an account free android ',568,'Account Free Android Tablet: minimal Google/Ads without Rooting','

\r\nWhy I built an Account Free Google tablet. Including links of what was done. Some basic criteria. No accounts created for downloading, installing or configuring except for mail accounts. No rooting. No pirated apps. Something that can be easy for a user to do including installing and updating apps. One ad supported app installed, but hope to find an alternative. \r\n

\r\n

\r\nhttps://james.toebesacademy.com/Account_Free_Android_Device.html\r\n

',273,0,1,'CC-BY-SA','Android,tablet,F-Droid,OwnCloud',0,1638,1), -(1436,'2014-02-03','2013-2014 HPR New Year Show 2013-2014 After Show 1 of 4',12207,'After show part 1/4 following the 2013-2014 New Year Show','

\r\nFollowing on from the end of the \"official\" recorded session, the HPR community were not talked out and continued on for another 26 hours.\r\n

',159,121,1,'CC-BY-SA','New Year,2014',0,1386,1), -(1437,'2014-02-04','2013-2014 HPR New Year Show 2013-2014 After Show 2 of 4',13762,'After show part 2/4 following the 2013-2014 New Year Show','

\r\nFollowing on from the end of the \"official\" recorded session, the HPR community were not talked out and continued on for another 26 hours. \r\n

',159,121,1,'CC-BY-SA','New Year,2014',0,1325,1), -(1438,'2014-02-05','2013-2014 HPR New Year Show 2013-2014 After Show 3 of 4',14029,'After show part 3/4 following the 2013-2014 New Year Show','

\r\nFollowing on from the end of the \"official\" recorded session, the HPR community were not talked out and continued on for another 26 hours. \r\n

',159,121,1,'CC-BY-SA','New Year,2014',0,1298,1), -(1439,'2014-02-06','2013-2014 HPR New Year Show 2013-2014 After Show 4 of 4',18639,'After show part 4/4 following the 2013-2014 New Year Show','

\r\nFollowing on from the end of the \"official\" recorded session, the HPR community were not talked out and continued on for another 26 hours. \r\n

',159,121,1,'CC-BY-SA','New Year,2014',0,1383,1), -(1441,'2014-02-10','Jono Bacon and Stuart Langridge talk with pokey',7821,'Jono Bacon @jonobacon and Stuart Langridge @sil talk with pokey about how they think he got it wrong','

Jono Bacon and Stuart Langridge were not entirely pleased with the things pokey had to say about them in the Hacker Public Radio New Years Eve Show episode 1418. They graciously contacted HPR and asked for a chance to clear the air. In this episode pokey has a chat with them about their views on Free and Open Source Software (FOSS) and advocacy.

\n ',128,0,1,'CC-BY-SA','Open Source,GUI,CLI',0,1657,1), -(1450,'2014-02-21','My Mobile digital life',1587,'Knightwise shows us how he stays sane during 3 hour commutes and how he safely tunes tech into his d','

\r\nPodcasting from the car Knightwise shows us what his morning routine looks like and how he uses technology during his daily 3 hour commute. With some clever tips on using audio and voice technology to stay in touch with tech, stay sane and more importantly, stay safe.\r\n

\r\n

\r\nShownotes My Mobile Life.\r\n

\r\n\r\n\r\n',111,0,0,'CC-BY-SA','knightwise, hacks, lifehacks, howto, mobile, car, drive, safe, technology',0,1510,1), -(1460,'2014-03-07','The road warrios command line combat life.',989,'Podcasting from the car Knightwise shows us his favorite command line applications and how he connec','

\r\nPodcasting from the car Knightwise shows us his favorite command line applications and how he connects to them from anywhere.\r\n

\r\n

\r\nShownotes \r\n

\r\n\r\n',111,0,0,'CC-BY-SA','knightwise, hacks, lifehacks, howto, technology, linux, ssh',0,1564,1), -(1470,'2014-03-21','Learn to read time with ccClock',1442,'A teaching tool for children learning to read an analogue clock','

Over the years the image of the clock has been abstracted and stylized to\r\na point where a long and a short line inside a circle, or even inside four\r\ndots on the ordinals, can be instantaneously recognized as a clock. This is\r\nperfectly fine if you already know how to read the analog clock but it makes\r\nno sense to use such a design as a teaching aid.

\r\n
\r\n\"oval \r\n\"Creative\r\n\r\n
\r\n\r\n

As a teaching device, you need to make sure all the information that has been abstracted away has been put back.

\r\n

That is the basic principle of the ccClock

\r\n

Links

\r\n',30,0,1,'CC-BY-SA','analogue clock,telling time',0,1541,1), -(1480,'2014-04-04','Continuous Ink Supply System',1200,'How goibhniu got Ken to use a Brother MFC-J5910DW with a Continuous Ink Supply System','

The cost of printing

\n

The reason that printers are so affordable is because like game consoles, they are not. They are sold at cost or below cost. The printer manufacturers make their money by selling you replacement ink cartridges that are very expensive. While you can use replacement cartridges, the manufactures will try and dissuade you from using them by displaying messages in the screens to \"alert\" you to the fact, or will include chips in their printers to prevent you from refilling or swapping their cartridges for cheaper alternatives. You should consider a laser printer option as while the toner cartridges are more expensive, even those supplied by the manufacturers work out cheaper over time. But if you wish to use a Ink Jet, then a serious alternative to lower the cost of printing is to use a CISS, Continuous ink supply system.

\n

CISS, Continuous ink supply system

\n

A CISS, Continuous ink supply system, is a system where you use cheaper non brand ink in your printer, just like you would with replacement no-name brand cartridges. Instead of having to refill the cartridges as they empty you supply them via a thin hose to an external reservoir. The advantage is that you can buy your ink in bulk and refill it without having to open the printer. This brings the cost of printing down considerably.
\"link

\n

Now to pick a printer

\n
    \n
  1. What Functions would you like ?
    In the Netherlands there is an excellent site called Tweakers.net that allow you to select devices by their features without having to gather all the information from various review sites that may/may not be influenced by outside forces. Although the site is in Dutch it should be fairly obvious what\'s being asked.
    https://tweakers.net/categorie/922/printers/producten/ (Google Translate version)
  2. \n
  3. Will it work with Linux
    Once you short list the printer(s) you like, head over to https://www.openprinting.org/printers to find out if it\'s supported by Linux and by extension Mac/iOS. Do this even if you plan to run Windows as it proves that the printer is popular and is likely to be supported.
  4. \n
  5. Will it really work with Linux
    Support is a big word and while it may be trivial for some to recompile a Kernel and X to get the thing working. It saves a lot of time and effort if you look around on the Linux Distributions forums to see if there are reported problems installing the printer. A good search is \"${your printer model number} linux howto\", check the dates on the posts as well paying more attention to the newer ones. Don\'t worry if you find a HowTo on another distribution than the one you are using as the chances are good that it will also apply to your install.
  6. \n
  7. Can you easily use replacement cartridges ?
    For to answer this, you will need to search in your local stores and on-line to see if there is a popular replacement option available. You should pay particular care to whether the cartridges require a chip or not.
  8. \n
  9. Is there a CISS option
    Now you need to check for a CISS supplier and to see whether they have a supported model for your printer and if there is instruction videos on how to install them
    For my purposes \"City Ink Express\" https://www.cityinkexpress.co.uk/ciss fitted the bill on both counts. They are a UK store and the only purchase I made arrived before the printer I ordered and the ink system seems to work fine.
  10. \n
\n

Brother MFC-J5910DW

\n

I ended up going with the \"Brother MFC-J5910DW\" as we were looking for a printer that could scan to the network, print A3, A4 duplex, as well as supporting Linux. At the time of writing the Brother printers do not use any chips and allow you to replace the cartridges. One annoying thing was that when the ink in one of the supplied cartridges went empty (after printing 10 A3 pages), it no longer allowed me to scan to the network. Fortunately I had the CISS system ready to rock and to be honest I was dreading installing it.

\n

Even if you don\'t want to purchase your CISS system from City Ink Express, you should have a look at their videos. For my printer there were three that were appropriate, namely how to Fill and prime it, how to install it and (for the future) how to refill it. I\'m not going to waste time on my experiences as I have nothing to add to the videos other than to say, you may want to put on a pair of gloves and do your work over a news paper to capture any ink that spills.

\n

How to fill and prime brother Ciss for LC980 -LC985 - LC1100 -LC1240 - LC1280

\n

Ciss continuous ink system for Brother LC1220, LC1240, LC1280 Printers

\n

how to top up a brother ciss

\n

Result

\n

I\'m not using the system or the printer long enough to give a full review but the CISS system has saved two birthday parties so not a bad start.

\n

\"The

\n

\"CISS

\n

Links

\n\n',30,0,1,'CC-BY-SA','printer,inkjet,continuous ink supply system,ciss',0,1428,1), -(1449,'2014-02-20','Timelapse Video',698,'A quick introduction to timelapse video and some of the tools used in linux to help create them. ','

\r\nA quick introduction to timelapse video and some of the tools used in linux to help create them. \r\n

\r\n

\r\ncd to dir that holds the images\r\n

\r\n

\r\nCreate a directory called resize and run\r\n

\r\n

\r\n \"mogrify -path resize -resize 1920x1080! *.JPG\" \r\n

\r\n

\r\nIf you need to Deflicker your images place the script in your resize directory \r\nand run\r\n

\r\n

\r\n \"./timelapse-deflicker.pl -v\"\r\n

\r\n

\r\nThis will create a dir called deflickered\r\n

\r\n

\r\nIf you use mencoder to create your video you need to use ls and make a text \r\nfile with the files listed in sequential order\r\n

\r\n

\r\n \"ls -1tr | grep -v files.txt > files.txt\"\r\n

\r\n

\r\nthen\r\n

\r\n

\r\n \"mencoder -nosound -noskip -oac copy -ovc copy -o outputfile.avi -mf fps=25 \'mf://@files.txt\'\r\n

\r\n

\r\nif you use ffmpeg something like this should get you out of trouble, though \r\nyour files need to be named in sequential order starting with img(number 1 2 etc).jpg \r\n

\r\n

\r\n \"ffmpeg -f image2 -i img%d.jpg -vcodec libx264 outputfile.mp4\"\r\n

\r\n

\r\nYoutube links\r\n

\r\n

\r\n Milkyway \r\n

\r\n

\r\n https://youtu.be/VeGM7iEBUT0\r\n

\r\n

\r\n Construction\r\n

\r\n

\r\n https://youtu.be/-9iCGD6Ielw\r\n

\r\n

\r\nDeflicker script\r\n

\r\n

\r\nhttps://tinyurl.com/p7ffof7\r\n

',232,0,0,'CC-BY-SA','time lapse,linux,ffmpeg,cameras,photography,mencoder',2,224,1), -(1444,'2014-02-13','What is Firefox OS?',805,'A short introduction to Mozilla\'s Firefox OS mobile operating system and what it is','

\r\nA short introduction to Mozilla\'s Firefox OS mobile operating system and what it is. Discussed are what devices are available and what devices Firefox OS can run on.\r\n

\r\n

\r\nLinks:\r\n

\r\n\r\n',274,0,0,'CC-BY-SA','Firefox OS',0,1585,1), -(1443,'2014-02-12','Fahrenheit 0-100',1033,'The Fahrenheit scale DOES make sense! Just don\'t add water.','

\r\nThe Fahrenheit scale DOES make sense! Just don\'t add water.\r\n

\r\n
\r\nComparing temperature points:\r\n  ºC      ºF     ºK       ºR\r\n-273    -460      0        0  Absolute zero\r\n -40     -40    233      420  C = F\r\n -18       0    255      460  Coldest of the year?\r\n   0      32    273      492  Water freezes\r\n  10      50    283      510  Spring or Fall day?\r\n  23      73.4  296      533  Better room temp\r\n  25      77    298      537  Room temp\r\n  37      98.6  310      558  Human body temp\r\n  38     100    311      580  Hottest of the year?\r\n  85     185    358      645  This one sticks with me\r\n 100     212    373      672  Water Boils\r\n 125     257    398      717  Maximum silicon chip\r\n 371     700    644     1160  Soldering iron tip\r\n
\r\n\r\n

\r\nThe scales and the people:\r\n

\r\n\r\n\r\n',275,0,0,'CC-BY-SA','temperature scale,Fahrenheit,Celsius,centigrade,Kelvin,Rankine',0,1359,1), diff --git a/sql/hpr-db-part-12.sql b/sql/hpr-db-part-12.sql index f78ad31..b2b4d80 100644 --- a/sql/hpr-db-part-12.sql +++ b/sql/hpr-db-part-12.sql @@ -1,3 +1,15 @@ +(1436,'2014-02-03','2013-2014 HPR New Year Show 2013-2014 After Show 1 of 4',12207,'After show part 1/4 following the 2013-2014 New Year Show','

\r\nFollowing on from the end of the \"official\" recorded session, the HPR community were not talked out and continued on for another 26 hours.\r\n

',159,121,1,'CC-BY-SA','New Year,2014',0,1386,1), +(1437,'2014-02-04','2013-2014 HPR New Year Show 2013-2014 After Show 2 of 4',13762,'After show part 2/4 following the 2013-2014 New Year Show','

\r\nFollowing on from the end of the \"official\" recorded session, the HPR community were not talked out and continued on for another 26 hours. \r\n

',159,121,1,'CC-BY-SA','New Year,2014',0,1325,1), +(1438,'2014-02-05','2013-2014 HPR New Year Show 2013-2014 After Show 3 of 4',14029,'After show part 3/4 following the 2013-2014 New Year Show','

\r\nFollowing on from the end of the \"official\" recorded session, the HPR community were not talked out and continued on for another 26 hours. \r\n

',159,121,1,'CC-BY-SA','New Year,2014',0,1298,1), +(1439,'2014-02-06','2013-2014 HPR New Year Show 2013-2014 After Show 4 of 4',18639,'After show part 4/4 following the 2013-2014 New Year Show','

\r\nFollowing on from the end of the \"official\" recorded session, the HPR community were not talked out and continued on for another 26 hours. \r\n

',159,121,1,'CC-BY-SA','New Year,2014',0,1383,1), +(1441,'2014-02-10','Jono Bacon and Stuart Langridge talk with pokey',7821,'Jono Bacon @jonobacon and Stuart Langridge @sil talk with pokey about how they think he got it wrong','

Jono Bacon and Stuart Langridge were not entirely pleased with the things pokey had to say about them in the Hacker Public Radio New Years Eve Show episode 1418. They graciously contacted HPR and asked for a chance to clear the air. In this episode pokey has a chat with them about their views on Free and Open Source Software (FOSS) and advocacy.

\n ',128,0,1,'CC-BY-SA','Open Source,GUI,CLI',0,1657,1), +(1450,'2014-02-21','My Mobile digital life',1587,'Knightwise shows us how he stays sane during 3 hour commutes and how he safely tunes tech into his d','

\r\nPodcasting from the car Knightwise shows us what his morning routine looks like and how he uses technology during his daily 3 hour commute. With some clever tips on using audio and voice technology to stay in touch with tech, stay sane and more importantly, stay safe.\r\n

\r\n

\r\nShownotes My Mobile Life.\r\n

\r\n\r\n\r\n',111,0,0,'CC-BY-SA','knightwise, hacks, lifehacks, howto, mobile, car, drive, safe, technology',0,1510,1), +(1460,'2014-03-07','The road warrios command line combat life.',989,'Podcasting from the car Knightwise shows us his favorite command line applications and how he connec','

\r\nPodcasting from the car Knightwise shows us his favorite command line applications and how he connects to them from anywhere.\r\n

\r\n

\r\nShownotes \r\n

\r\n\r\n',111,0,0,'CC-BY-SA','knightwise, hacks, lifehacks, howto, technology, linux, ssh',0,1564,1), +(1470,'2014-03-21','Learn to read time with ccClock',1442,'A teaching tool for children learning to read an analogue clock','

Over the years the image of the clock has been abstracted and stylized to\r\na point where a long and a short line inside a circle, or even inside four\r\ndots on the ordinals, can be instantaneously recognized as a clock. This is\r\nperfectly fine if you already know how to read the analog clock but it makes\r\nno sense to use such a design as a teaching aid.

\r\n
\r\n\"oval \r\n\"Creative\r\n\r\n
\r\n\r\n

As a teaching device, you need to make sure all the information that has been abstracted away has been put back.

\r\n

That is the basic principle of the ccClock

\r\n

Links

\r\n',30,0,1,'CC-BY-SA','analogue clock,telling time',0,1541,1), +(1480,'2014-04-04','Continuous Ink Supply System',1200,'How goibhniu got Ken to use a Brother MFC-J5910DW with a Continuous Ink Supply System','

The cost of printing

\n

The reason that printers are so affordable is because like game consoles, they are not. They are sold at cost or below cost. The printer manufacturers make their money by selling you replacement ink cartridges that are very expensive. While you can use replacement cartridges, the manufactures will try and dissuade you from using them by displaying messages in the screens to \"alert\" you to the fact, or will include chips in their printers to prevent you from refilling or swapping their cartridges for cheaper alternatives. You should consider a laser printer option as while the toner cartridges are more expensive, even those supplied by the manufacturers work out cheaper over time. But if you wish to use a Ink Jet, then a serious alternative to lower the cost of printing is to use a CISS, Continuous ink supply system.

\n

CISS, Continuous ink supply system

\n

A CISS, Continuous ink supply system, is a system where you use cheaper non brand ink in your printer, just like you would with replacement no-name brand cartridges. Instead of having to refill the cartridges as they empty you supply them via a thin hose to an external reservoir. The advantage is that you can buy your ink in bulk and refill it without having to open the printer. This brings the cost of printing down considerably.
\"link

\n

Now to pick a printer

\n
    \n
  1. What Functions would you like ?
    In the Netherlands there is an excellent site called Tweakers.net that allow you to select devices by their features without having to gather all the information from various review sites that may/may not be influenced by outside forces. Although the site is in Dutch it should be fairly obvious what\'s being asked.
    https://tweakers.net/categorie/922/printers/producten/ (Google Translate version)
  2. \n
  3. Will it work with Linux
    Once you short list the printer(s) you like, head over to https://www.openprinting.org/printers to find out if it\'s supported by Linux and by extension Mac/iOS. Do this even if you plan to run Windows as it proves that the printer is popular and is likely to be supported.
  4. \n
  5. Will it really work with Linux
    Support is a big word and while it may be trivial for some to recompile a Kernel and X to get the thing working. It saves a lot of time and effort if you look around on the Linux Distributions forums to see if there are reported problems installing the printer. A good search is \"${your printer model number} linux howto\", check the dates on the posts as well paying more attention to the newer ones. Don\'t worry if you find a HowTo on another distribution than the one you are using as the chances are good that it will also apply to your install.
  6. \n
  7. Can you easily use replacement cartridges ?
    For to answer this, you will need to search in your local stores and on-line to see if there is a popular replacement option available. You should pay particular care to whether the cartridges require a chip or not.
  8. \n
  9. Is there a CISS option
    Now you need to check for a CISS supplier and to see whether they have a supported model for your printer and if there is instruction videos on how to install them
    For my purposes \"City Ink Express\" https://www.cityinkexpress.co.uk/ciss fitted the bill on both counts. They are a UK store and the only purchase I made arrived before the printer I ordered and the ink system seems to work fine.
  10. \n
\n

Brother MFC-J5910DW

\n

I ended up going with the \"Brother MFC-J5910DW\" as we were looking for a printer that could scan to the network, print A3, A4 duplex, as well as supporting Linux. At the time of writing the Brother printers do not use any chips and allow you to replace the cartridges. One annoying thing was that when the ink in one of the supplied cartridges went empty (after printing 10 A3 pages), it no longer allowed me to scan to the network. Fortunately I had the CISS system ready to rock and to be honest I was dreading installing it.

\n

Even if you don\'t want to purchase your CISS system from City Ink Express, you should have a look at their videos. For my printer there were three that were appropriate, namely how to Fill and prime it, how to install it and (for the future) how to refill it. I\'m not going to waste time on my experiences as I have nothing to add to the videos other than to say, you may want to put on a pair of gloves and do your work over a news paper to capture any ink that spills.

\n

How to fill and prime brother Ciss for LC980 -LC985 - LC1100 -LC1240 - LC1280

\n

Ciss continuous ink system for Brother LC1220, LC1240, LC1280 Printers

\n

how to top up a brother ciss

\n

Result

\n

I\'m not using the system or the printer long enough to give a full review but the CISS system has saved two birthday parties so not a bad start.

\n

\"The

\n

\"CISS

\n

Links

\n\n',30,0,1,'CC-BY-SA','printer,inkjet,continuous ink supply system,ciss',0,1428,1), +(1449,'2014-02-20','Timelapse Video',698,'A quick introduction to timelapse video and some of the tools used in linux to help create them. ','

\r\nA quick introduction to timelapse video and some of the tools used in linux to help create them. \r\n

\r\n

\r\ncd to dir that holds the images\r\n

\r\n

\r\nCreate a directory called resize and run\r\n

\r\n

\r\n \"mogrify -path resize -resize 1920x1080! *.JPG\" \r\n

\r\n

\r\nIf you need to Deflicker your images place the script in your resize directory \r\nand run\r\n

\r\n

\r\n \"./timelapse-deflicker.pl -v\"\r\n

\r\n

\r\nThis will create a dir called deflickered\r\n

\r\n

\r\nIf you use mencoder to create your video you need to use ls and make a text \r\nfile with the files listed in sequential order\r\n

\r\n

\r\n \"ls -1tr | grep -v files.txt > files.txt\"\r\n

\r\n

\r\nthen\r\n

\r\n

\r\n \"mencoder -nosound -noskip -oac copy -ovc copy -o outputfile.avi -mf fps=25 \'mf://@files.txt\'\r\n

\r\n

\r\nif you use ffmpeg something like this should get you out of trouble, though \r\nyour files need to be named in sequential order starting with img(number 1 2 etc).jpg \r\n

\r\n

\r\n \"ffmpeg -f image2 -i img%d.jpg -vcodec libx264 outputfile.mp4\"\r\n

\r\n

\r\nYoutube links\r\n

\r\n

\r\n Milkyway \r\n

\r\n

\r\n https://youtu.be/VeGM7iEBUT0\r\n

\r\n

\r\n Construction\r\n

\r\n

\r\n https://youtu.be/-9iCGD6Ielw\r\n

\r\n

\r\nDeflicker script\r\n

\r\n

\r\nhttps://tinyurl.com/p7ffof7\r\n

',232,0,0,'CC-BY-SA','time lapse,linux,ffmpeg,cameras,photography,mencoder',2,224,1), +(1444,'2014-02-13','What is Firefox OS?',805,'A short introduction to Mozilla\'s Firefox OS mobile operating system and what it is','

\r\nA short introduction to Mozilla\'s Firefox OS mobile operating system and what it is. Discussed are what devices are available and what devices Firefox OS can run on.\r\n

\r\n

\r\nLinks:\r\n

\r\n\r\n',274,0,0,'CC-BY-SA','Firefox OS',0,1585,1), +(1443,'2014-02-12','Fahrenheit 0-100',1033,'The Fahrenheit scale DOES make sense! Just don\'t add water.','

\r\nThe Fahrenheit scale DOES make sense! Just don\'t add water.\r\n

\r\n
\r\nComparing temperature points:\r\n  ºC      ºF     ºK       ºR\r\n-273    -460      0        0  Absolute zero\r\n -40     -40    233      420  C = F\r\n -18       0    255      460  Coldest of the year?\r\n   0      32    273      492  Water freezes\r\n  10      50    283      510  Spring or Fall day?\r\n  23      73.4  296      533  Better room temp\r\n  25      77    298      537  Room temp\r\n  37      98.6  310      558  Human body temp\r\n  38     100    311      580  Hottest of the year?\r\n  85     185    358      645  This one sticks with me\r\n 100     212    373      672  Water Boils\r\n 125     257    398      717  Maximum silicon chip\r\n 371     700    644     1160  Soldering iron tip\r\n
\r\n\r\n

\r\nThe scales and the people:\r\n

\r\n\r\n\r\n',275,0,0,'CC-BY-SA','temperature scale,Fahrenheit,Celsius,centigrade,Kelvin,Rankine',0,1359,1), (1446,'2014-02-17','Interview with Fernando H. F. Botelho from the F123 group',2817,'In today\'s show Ken talks to Fernando H. F. Botelho from the F123 group.','

\r\nIn today\'s show Ken talks to Fernando H. F. Botelho from the F123 group.\r\n

\r\n
\r\nThe F123 Group, which includes Botelho & Paula Consultoria Empresarial Ltda., F123 Consulting, and F123 Software, designs and manages projects in the areas of poverty reduction, technology, and disability. The group provides NGOs, educational institutions, foundations, government agencies, individuals, and international organizations with project management and technical development services, as well as professional low-cost software and training for blind and visually impaired persons.\r\n
\r\n

\r\nDuring the discussion we discuss the different approaches to helping accessibility on Linux. You can email them on info@f123.org, or by following them on twitter: https://Twitter.com/F123org\r\n

\r\n\r\n

Links

\r\n',30,78,1,'CC-BY-SA','interview,accessibility,Sonar Linux,Vinux,eSpeak,Festival,MARY TTS',0,1286,1), (1447,'2014-02-18','HPR Coverage at FOSDEM 2014 Part 1/5',5925,'FOSDEM 2014 Report, part 1','

HPR Coverage at FOSDEM 2014

\r\n

\r\nThe following are a series of interviews recorded at FOSDEM 2014.\r\n

\r\n
\r\nFOSDEM is a free event that offers open source communities a place to meet, share ideas and collaborate.\r\n
\r\n

\r\nFor more information see the website https://fosdem.org/2014/, where you can watch a recording of the many talks https://video.fosdem.org/2014/\r\n

\r\n

\"\"
An example of one of the many FOSDEM signs.

\r\n

Day1

\r\n

00:00:30 Introduction

\r\n

Ken and Dave introduce the show

\r\n\r\n

00:01:55 FOSDEM Volunteers

\r\n

\r\nThe first chat was with Kristof Provost. By day a Embedded Software Engineer, but at fosdem he transforms into a cloak room attendant and we chat about how you can help out at FOSDEM.
\r\nhttps://www.codepro.be\r\n

\r\n

00:04:52 OSGeo project

\r\n

\r\nNext was a chat with Anne Ghisla from the OSGeo project.\r\n

\r\n
\r\nThe Open Source Geospatial Foundation
\r\nOSGeo was created to support the collaborative development of open source geospatial software, and promote its widespread use. Join us by signing up to our mailing lists or check out the Getting Started page to become more involved.\r\n
\r\n

\r\nhttps://www.osgeo.org/\r\n

\r\n\r\n

\"\"
Dirk Frigne and Anne Ghisla

\r\n\r\n

00:08:29 Geomajas

\r\n

\"\"
Sample folders at the booth

\r\n

\r\nFollowing on we talk to Dirk Frigne\r\n

\r\n
\r\nWhat is Geomajas?
\r\nGeomajas is an enterprise-ready open source GIS framework for the web. It has client-server integration for displaying and editing of geographic data.
\r\nGeomajas has integrated security and is endlessly scalable. It is compliant with OGC standards such as WMS, WFS, etc and also supports spatial databases.
\r\nIt integrates with your system and provides out-of-the-box functionality through plug-ins. By leveraging GWT on the client, development is all-Java making it easier and more efficient for your team.\r\n
\r\n

\r\nhttps://geomajas.org/\r\n

\r\n\r\n

00:16:09 OpenStreetMap

\r\n

\r\nLast in the mapping trio we speak to Gaël Musquet, président d\'OpenStreetMap France.\r\n

\r\n

\"\"
Open Street Map demos Sat devices

\r\n

\"\"
The tuner referred to in the interview

\r\n

\"\"
The pc referred to in the interview

\r\n
\r\nOpenStreetMap powers map data on hundreds of web sites, mobile apps, and hardware devices. OpenStreetMap is built by a community of mappers that contribute and maintain data about roads, trails, cafés, railway stations, and much more, all over the world.\r\n
\r\n

\r\nhttps://www.openstreetmap.org/about
\r\nhttps://learnosm.org/en/\r\n

\r\n\r\n

00:39:46 Libre Graphics magazine

\r\n

\r\nChanging the pace from mapping we get to talk with ginger \"all-lower-case\" coons :) about producing the Libre Graphics magazine using all Free Software\r\n

\r\n
\r\nA Libre Graphics Magazine is long overdue. In a market dominated by magazines devoted to design discourse built around proprietary tools and the latest computer graphics tricks and techniques, users of Libre Graphics software are underserved and unrecognized. We know that these users exist, both professionally and as hobbyists. We know this because we are they. We are graphic designers, media artists, photographers and web designers. We use Libre Graphics software, quietly and without regard. Our peers, used to proprietary alternatives, question our choice of tools. Our work, when executed well, is indistinguishable from work produced by more traditional means. Thus, our choices are invisible, unless we make an issue of them.\r\n
\r\n

\r\nhttps://libregraphicsmag.com\r\n

\r\n\r\n

00:45:18 openSUSE

\r\n

\r\nNext we talk to Richard Brown one of the board members of the openSUSE team.\r\n

\r\n
\r\nopenSUSE is a free and Linux-based operating system for your PC, Laptop or Server. You can surf the web, manage your e-mails and photos, do office work, play videos or music and have a lot of fun!\r\n
\r\n

\r\nhttps://www.opensuse.org/en/
\r\nhttps://sysrich.co.uk/
\r\nhttps://en.opensuse.org/openSUSE:Board\r\n

\r\n\r\n

00:56:48 The Debian Project

\r\n

\r\nDebian developer and T-Shirt salesman, Joost van Baal-Ilić takes some time away from the booth to give us the run down on Debian.\r\n

\r\n
\r\nThe Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system that we have created is called Debian.\r\n\r\nAn operating system is the set of basic programs and utilities that make your computer run. At the core of an operating system is the kernel. The kernel is the most fundamental program on the computer and does all the basic housekeeping and lets you start other programs.\r\n\r\nDebian systems currently use the Linux kernel or the FreeBSD kernel. Linux is a piece of software started by Linus Torvalds and supported by thousands of programmers worldwide. FreeBSD is an operating system including a kernel and other software.\r\n
\r\n

\r\nhttps://www.debian.org/
\r\nhttps://ad1810.com/\r\n

\r\n\r\n

01:08:04 HelenOS

\r\n

\r\nGoogle Summer of Code mentors Martin Děcký, and Jakub Jermář talk to us about HelenOS, a project which has mentored GSOC student coders.\r\n

\r\n

\"\"
Martin Děcký, and Jakub Jermář

\r\n

\"\"
HelenOS Screen Shot

\r\n\r\n
\r\nHelenOS is an operating system based on a multiserver microkernel design. Rather sooner than later, HelenOS will become a complete and usable modern operating system, offering room for experimenting and research. HelenOS uses its own microkernel written from scratch and supports SMP, multitasking and multithreading on both 32-bit and 64-bit, little-endian and big-endian processor architectures, among which are AMD64/EM64T (x86-64), ARM, IA-32, IA-64 (Itanium), 32-bit MIPS, 32-bit PowerPC and SPARC V9. Thanks to the relatively high number of supported architectures and suitable design, HelenOS is very portable. On top of the microkernel, HelenOS provides services such as file systems, networking, device drivers and user interface. Most of these services are composed of multiple independent server processes, which makes HelenOS one of the most modular operating systems.\r\n
\r\n

\r\nhttps://www.helenos.org/
\r\nhttps://jakubsuniversalblog.blogspot.nl/
\r\nhttps://twitter.com/mdecky\r\n

\r\n\r\n

01:23:28 CAcert

\r\n

\r\nI took Michael Tänzer away from checking passports and drivers licenses to explain to us what\'s the idea behind CACert.org\r\n

\r\n
\r\nCAcert.org is a community driven Certificate Authority that issues certificates to the public at large for free. CAcert\'s goal is to promote awareness and education on computer security through the use of encryption, specifically with the X.509 family of standards. We have compiled a document base (Wiki) that has helpful hints and tips on setting up encryption with common software, and general information about Public Key Infrastructures (PKI). CAcert Inc. is a non-profit association, incorporated in New South Wales, Australia.\r\n
\r\n

\r\nhttps://www.cacert.org/\r\n

\r\n\r\n

Music

\r\n
\r\nTrack name                               : Free Software Song\r\nPerformer                                : Fenster\r\nRecorded date                            : 2002\r\nCopyright                                : Copyright (C) 2002, \r\nFenster LLC. Verbatim copying of this entire recording is permitted in any medium, \r\nprovided this notice is preserved. \r\nPerformers: \r\nPaul Robinson (vocals), \r\nRoman Kravec (guitar), \r\nEd D\'Angelo (bass), \r\nDave Newman (drums), \r\nBrian Yarbrough (trumpet), \r\nTony Moore (trumpet). \r\nFree software info at www.gnu.org speeches at audio-video.gnu.org/audio\r\n
\r\n',30,78,1,'CC-BY-SA','FOSDEM,2014,interviews',0,1622,1), (1442,'2014-02-11','Google Summer of Code',1318,'Google Summer of Code is a global program that pays students to write code for open source projects','

\r\n\r\n[GSoC 2014] Mentoring organization application deadline. Fri Feb 14, 2014 11am – 12pm Pacific Time\r\n\r\n

\r\n

Google Summer of Code is a global program that offers students stipends to write code for open source projects. We have worked with the open source community to identify and fund exciting projects for the upcoming summer.

\r\n

\r\nFor more information see: https://www.google-melange.com/\r\n

\r\n ',161,0,1,'CC-BY-SA','Google,GSoC,Summer of Code',0,1363,1), @@ -986,15 +998,3 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (2446,'2017-12-18','Git server and git hooks',2430,'Klaatu talks about running git on a server, and explains git hooks.','

A sample post-receive git hook:

\r\n
\r\n#!/usr/bin/tcsh\r\n\r\nforeach arg ( $< )\r\n  set argv = ( $arg )\r\n  set refname = $1\r\nend\r\n\r\nset branch = `git rev-parse --symbolic --abbrev-ref $refname`\r\necho $branch\r\n\r\n    if ( \"$branch\" == \"master\" ) then\r\n      echo \"Branch detected: master\"\r\n      echo \"Do some stuff here.\"\r\n    else if ( \"$branch\" == \"dev\" ) then\r\n      echo \"Branch detected: dev\"\r\n      echo \"Do something else here.\"\r\n      else\r\n        echo \"Do something entirely different here.\"\r\n    endif\r\n
\r\n',78,81,0,'CC-BY-SA','git',0,0,1), (2440,'2017-12-08','How to save bad beans or the French press',57,'how to hash tag coffee?','

Memorial

\r\n

\r\nWe take some time to remember our good friend and fellow host Lord Drachenblut who passed away one year ago yesterday.
\r\nNow may be a good time to re listen to hpr2201 :: Matthew \"Lord Drachenblut\" Williams HPR Community members remember the digital dragon.\r\n

\r\n\r\n

Shownotes

\r\n

I was driving in a place where I had no signal, so I recorded an episode about the first thing that popped into my mind.

\r\n

Recorded with lineageos recorder app through monster isport bluetooth headphones. I\'m amazed at the sound quality. I\'ll do this more. I promise

\r\n

(no I won\'t, I\'m lazy)

',126,88,1,'CC-BY-SA','driving, coffee',0,0,1), (2445,'2017-12-15','Information Underground: Backwards Capitalism',2896,'Klaatu, Deepgeek, and Lostnbronx talk about markets, innovation, and opportunity.','

\r\nThe Info-Underground guys consider why capitalism does (or maybe doesn\'t) work, why people use it as a tool for a better life (or maybe don\'t), and what the source of ambition, commercial aspiration, and greed truly is (or maybe isn\'t).\r\n

',107,99,0,'CC-BY-SA','information underground,capitalism,klaatu,deepgeek,lostnbronx',0,0,1), -(2453,'2017-12-27','The power of GNU Readline - part 2',1165,'Various ways of deleting and undeleting on the command line with GNU Readline','

The power of GNU Readline - part 2

\r\n

In part 1 we looked at some Control key and Meta key sequences as well as the Backspace and DEL keys in the context of GNU Readline.

\r\n

The full-length notes (available here) contain a brief summary of what we covered and introduce cutting and pasting the GNU Readline way, with some examples.

\r\n

Links

\r\n',225,102,1,'CC-BY-SA','command line,cli,GNU Readline',0,0,1), -(2449,'2017-12-21','Org-mode mobile solution',578,'My search for taking org mode on the road','

brief introduction

\r\n

myself

\r\n

Hi, I\'m Brian in Ohio

\r\n

inspiration for show

\r\n

I wanted to tell a little about my trials and tribulations of finding a solution to taking org mode on the road. What\'s org mode? Listen to my last episode or do a duckduckgo to find out.

\r\n

parameters

\r\n

After switching from using a bullet journal to using emacs-org-mode as my organizing device I immediately saw that lugging a laptop everywhere was not going to work for me. I wanted to be able to access org-mode, especially the agenda view, anywhere I might be. Laptops with limited battery life and a large physical presence were not going to work for me.

\r\n

mobile-org app

\r\n

The first solution I tried, and the most obvious, was the mobile-org app. Its available for android or ios. I can only attest to the android version. Its an easy from the play store. This solution didn\'t work for me for a number of reasons. First, the documentation for the setup is terrible, and I became frustrated by the workflow and could not get useful results using the app. Mobile-org seems to be built around using dropox. In order to get around that I tried various methods of syncing my org files using onboard storage. Seeing this wasn\'t going to work I bit the bullet setup a dropbox account installed the clients, one on my slackware laptop and the other on my phone only to find dropbox doesn\'t support this application anymore. A little digging around and it seems the API used by mobile-org isn\'t up to snuff any more so, fail. I cut my loses and moved on to another possible solution.

\r\n

pi-top

\r\n

My next crack at solving the portable org mode problem was getting a pitop laptop https://pi-top.com/. Pitop is a laptop based on a raspberrypi. I won\'t go into the details of the device here but I\'ll say my idea for using this device was its advertised 8+ hour battery life. My old linux laptops rarely give me 2 hours of life So even though the pitop was physically larger than I wanted I gave it a whirl. Lets just say the battery does last 8+ hours, it just can\'t survive many recharges. 2 battery packs later I gave up on the pitop and went looking for something else.

\r\n

pocketchip

\r\n

I heard klaatu mention a device called a pocketchip on his gnuworld order podcast https://gnuworldorder.info/. I looked into it and here I thought might be a device that could work. Pocketchip https://getchip.com/pages/pocketchip is a handheld linux computer. After ordering the device I began setting it up for my use case. There are plenty of tutorials on the pocketchip website on how to extend the usefulness of this product. The size of the device was good and the battery life was ok. Some people complain about the chicklet keyboard but I actually did not mind it to much. It took some fiddling to get the emacs keybindings I use to work on the odd keyboard layout, but its a linux computer so there\'s plenty of information out there. I used a thumb drive as a repository for my org files, wrote a couple of scripts to sync up the files with whatever device the drive was plugged into and wala a mobile org solution! Alas, the pocketchips demise was its build quality. The heart of the pocketchip, the system board\'s usb mini plug fell off, and then one system tweak later I bricked the device. I\'ll recover it eventually, you can program it through the gpio pins, but this was a quest for portable-org-mode, not fixing pocketchips, so onward.

\r\n

raspberry pi tablet

\r\n

I saw a build of a raspberry pi tablet that looked very nice https://www.stefanv.com/electronics/a-compact-home-made-raspberry-pi-tablet.html. Always up for a challenge, I cobbled together a prototype and tried it out. The reason I eventually dropped this solution because the virtual keyboard didn\'t work well and I couldn\'t get the official raspberrypi lcd to rotate from portrait to landscape dynamically. Still a fun project and I\'ll get some use out of it sometime.

\r\n

android phone

\r\n

Well here\'s the solution I came up with. I was searching around on the internet and found a link telling about running emacs on an android phone. https://endlessparentheses.com/running-emacs-on-android.html. It involves installing the termux app, the hackers keyboard, both available in the google play store and apt-get installing emacs on the phone. After that I had full emacs running, all be it in a terminal so its slightly different then running on the desktop, and with emacs you get, drum roll please, org-mode. With this i have the device I always take with running org-mode. I sink my org files between my laptop and phone using the afore mentioned drop box account. The hackers keyboard works flawlessly and can digest any emacs keybinding I need. I also have a logitech bluetoothkeyboard that I can use if I have a lot of typing to do in org-mode on my phone, such as these shownotes!

\r\n

conclusions

\r\n

I find org-mode so useful that I want it available any where I go. And over the course of the last 8 months I went on a journey trying to find a solution to that desire. In the end, the solution was pretty obvious, these portable computers we carry around are amazing and thanks to the developers of termux and the hackers keyboard my phone is now infinitely more useful to me. Thanks for listening.

\r\n',326,0,0,'CC-BY-SA','emacs,org-mode,mobile,mobile-org app,pi-top,pocketchip,Android',0,0,1), -(2450,'2017-12-22','Android Audio with viper 4 android and magisk',609,'I go over some ways to help manage audio with android','',36,0,1,'CC-BY-SA','audio,android',0,0,1), -(2452,'2017-12-26','Hydraulic Heavy Scale Project',1339,'Hydraulic Jack Mod, DIY, Travel Trailer Balance','

Hydraulic Heavy Scale Project

\r\n

by David Whitman

\r\n

Why? - to weigh a heavy object yourself

\r\n

Not very difficult. Can be done in about 1/2 hour by someone who has experience doing this type of stuff. Lots longer for beginners.

\r\n

Things you will need: A drill motor, The right size bit for a small pilot hole and the right size bit for a fitting to connect the jack cylinder to the pressure gauge, A Thread TAP to make threads to connect the hydraulic 90 degree fitting to the jack, Some pipe dope is not a bad idea, A 90 degree appropriately sized fitting to connect a pressure gauge to the jack, a vise is nice, a wrench to dismantle the jack, A way to accurately measure the cylinder bore (best is a caliper) and some oil to refill the jack.

\r\n

This link is a youtube to help you visualize the steps. https://www.youtube.com/watch?v=ZBmxkWK_OFA

\r\n

Hate this episode? No problem. Do a better one

',209,0,0,'CC-BY-SA','Hydraulic Jack Mod, DIY, Travel Trailer Balance',0,0,1), -(2454,'2017-12-28','The Alien Brothers Podcast - S01E02 - Strictly Hacking',6389,'Casper and Rutiger discuss the Uber hacks and the Intel ME known and unknown vulnerabilties','

Casper and Rutiger attempt to STAY ON TARGET by discussing hacking… which when you think about it is an utterly pretentious and vague goal for a podcast presented by Hacker Public Radio, especially when considering the end result. Shame on us!

\r\n

Other topics include Friendsgiving and giving thanks; probably the greatest gaming console of the 1970’s; early “hackings” (sic) committed by the hosts; << >>

\r\n

References:

\r\n
    \r\n
  1. The link to the first chapter of Dief Minusky’s seminal the Nature of Systems is freely available here.
    \r\nhttps://www.dropbox.com/s/or5vefjumde4qsk/TNOS%20E-I%20C1%2020030415.pdf?dl=0
    \r\nAlthough we referred to the Chapter 8 material on system network security during the show, Rutiger decided it was better to release chapters, incrementally, in order let listeners gain a fuller appreciation for the work. Rutiger is also attempting to track down the original author, who never publicly released the work, to gain retroactive permission for this link, but for the moment Alien Brothers Podcast takes full responsibility for allowing access to this non-copyrighted work and we’ll just go ahead, you know, feel good about the possibility it will all turn out OK.
  2. \r\n
  3. Uber Data Breach (2017; CNN.com)
  4. \r\n
  5. How to Disable the Intel Management Engine Backdoor
    \r\nhttps://beinglibertarian.com/disable-intel-management-engine-backdoor-courtesy-nsa/
  6. \r\n
',359,0,1,'CC-BY-SA','Uber Hack, Intel ME, Alien Brothers',0,0,1), -(2455,'2017-12-29','Interface Zero RPG Part 5',5074,'Klaatu, Lobath, and Thaj play the Interface Zero RPG part 5','

An extra-long episode of the grand finale of the Interface Zero RPG play-through.

\r\n\r\n

Spoilers: Chaiwei dies in combat and Syd runs off with Tina.

\r\n\r\n

\r\nAt the end of the show are all the credits containing sound effects and source materials. Here they are in text form.

\r\n\r\n

\r\nSound effects were taken from freesound.org. Thanks to the following artists:\r\n

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

Music

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

Story

\r\n\r\n

\r\nWant to play this game yourself?\r\n

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

Editor\'s note 2017-12-28: link added from comments.

\r\n',78,95,1,'CC-BY-SA','Interface Zero,game,gaming,tabletop,rpg',0,0,1), -(2457,'2018-01-02','Getting ready for my new Macbook Pro',1165,'Knightwise is about to order a new macbook pro and shares some tips and tricks','

I am about to buy a new macbook pro and talk about the things I do to install and protect it.

\r\n\r\n',111,0,1,'CC-BY-SA','Macbook Pro, Homebrew, warranty, case, cables',0,0,1), -(2458,'2018-01-03','Chrome Plugins You Must Have',643,'I go over my current list of Chrome plugins and how I secure my browser','

https://www.linkedin.com/pulse/block-more-ads-unlimited-cloud-storage-multi-threaded-robert-mccurdy

\r\n',36,0,1,'CC-BY-SA','Chrome extensions',0,0,1), -(2465,'2018-01-12','TronScript where have you been all my life!',1669,'I take an initial look at TronScript and its features','',36,0,1,'CC-BY-SA','windows,scripting,batch files,antivirus,malware',0,0,1), -(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), diff --git a/sql/hpr-db-part-13.sql b/sql/hpr-db-part-13.sql index a8eb894..6c53f3a 100644 --- a/sql/hpr-db-part-13.sql +++ b/sql/hpr-db-part-13.sql @@ -1,3 +1,15 @@ +(2453,'2017-12-27','The power of GNU Readline - part 2',1165,'Various ways of deleting and undeleting on the command line with GNU Readline','

The power of GNU Readline - part 2

\r\n

In part 1 we looked at some Control key and Meta key sequences as well as the Backspace and DEL keys in the context of GNU Readline.

\r\n

The full-length notes (available here) contain a brief summary of what we covered and introduce cutting and pasting the GNU Readline way, with some examples.

\r\n

Links

\r\n',225,102,1,'CC-BY-SA','command line,cli,GNU Readline',0,0,1), +(2449,'2017-12-21','Org-mode mobile solution',578,'My search for taking org mode on the road','

brief introduction

\r\n

myself

\r\n

Hi, I\'m Brian in Ohio

\r\n

inspiration for show

\r\n

I wanted to tell a little about my trials and tribulations of finding a solution to taking org mode on the road. What\'s org mode? Listen to my last episode or do a duckduckgo to find out.

\r\n

parameters

\r\n

After switching from using a bullet journal to using emacs-org-mode as my organizing device I immediately saw that lugging a laptop everywhere was not going to work for me. I wanted to be able to access org-mode, especially the agenda view, anywhere I might be. Laptops with limited battery life and a large physical presence were not going to work for me.

\r\n

mobile-org app

\r\n

The first solution I tried, and the most obvious, was the mobile-org app. Its available for android or ios. I can only attest to the android version. Its an easy from the play store. This solution didn\'t work for me for a number of reasons. First, the documentation for the setup is terrible, and I became frustrated by the workflow and could not get useful results using the app. Mobile-org seems to be built around using dropox. In order to get around that I tried various methods of syncing my org files using onboard storage. Seeing this wasn\'t going to work I bit the bullet setup a dropbox account installed the clients, one on my slackware laptop and the other on my phone only to find dropbox doesn\'t support this application anymore. A little digging around and it seems the API used by mobile-org isn\'t up to snuff any more so, fail. I cut my loses and moved on to another possible solution.

\r\n

pi-top

\r\n

My next crack at solving the portable org mode problem was getting a pitop laptop https://pi-top.com/. Pitop is a laptop based on a raspberrypi. I won\'t go into the details of the device here but I\'ll say my idea for using this device was its advertised 8+ hour battery life. My old linux laptops rarely give me 2 hours of life So even though the pitop was physically larger than I wanted I gave it a whirl. Lets just say the battery does last 8+ hours, it just can\'t survive many recharges. 2 battery packs later I gave up on the pitop and went looking for something else.

\r\n

pocketchip

\r\n

I heard klaatu mention a device called a pocketchip on his gnuworld order podcast https://gnuworldorder.info/. I looked into it and here I thought might be a device that could work. Pocketchip https://getchip.com/pages/pocketchip is a handheld linux computer. After ordering the device I began setting it up for my use case. There are plenty of tutorials on the pocketchip website on how to extend the usefulness of this product. The size of the device was good and the battery life was ok. Some people complain about the chicklet keyboard but I actually did not mind it to much. It took some fiddling to get the emacs keybindings I use to work on the odd keyboard layout, but its a linux computer so there\'s plenty of information out there. I used a thumb drive as a repository for my org files, wrote a couple of scripts to sync up the files with whatever device the drive was plugged into and wala a mobile org solution! Alas, the pocketchips demise was its build quality. The heart of the pocketchip, the system board\'s usb mini plug fell off, and then one system tweak later I bricked the device. I\'ll recover it eventually, you can program it through the gpio pins, but this was a quest for portable-org-mode, not fixing pocketchips, so onward.

\r\n

raspberry pi tablet

\r\n

I saw a build of a raspberry pi tablet that looked very nice https://www.stefanv.com/electronics/a-compact-home-made-raspberry-pi-tablet.html. Always up for a challenge, I cobbled together a prototype and tried it out. The reason I eventually dropped this solution because the virtual keyboard didn\'t work well and I couldn\'t get the official raspberrypi lcd to rotate from portrait to landscape dynamically. Still a fun project and I\'ll get some use out of it sometime.

\r\n

android phone

\r\n

Well here\'s the solution I came up with. I was searching around on the internet and found a link telling about running emacs on an android phone. https://endlessparentheses.com/running-emacs-on-android.html. It involves installing the termux app, the hackers keyboard, both available in the google play store and apt-get installing emacs on the phone. After that I had full emacs running, all be it in a terminal so its slightly different then running on the desktop, and with emacs you get, drum roll please, org-mode. With this i have the device I always take with running org-mode. I sink my org files between my laptop and phone using the afore mentioned drop box account. The hackers keyboard works flawlessly and can digest any emacs keybinding I need. I also have a logitech bluetoothkeyboard that I can use if I have a lot of typing to do in org-mode on my phone, such as these shownotes!

\r\n

conclusions

\r\n

I find org-mode so useful that I want it available any where I go. And over the course of the last 8 months I went on a journey trying to find a solution to that desire. In the end, the solution was pretty obvious, these portable computers we carry around are amazing and thanks to the developers of termux and the hackers keyboard my phone is now infinitely more useful to me. Thanks for listening.

\r\n',326,0,0,'CC-BY-SA','emacs,org-mode,mobile,mobile-org app,pi-top,pocketchip,Android',0,0,1), +(2450,'2017-12-22','Android Audio with viper 4 android and magisk',609,'I go over some ways to help manage audio with android','',36,0,1,'CC-BY-SA','audio,android',0,0,1), +(2452,'2017-12-26','Hydraulic Heavy Scale Project',1339,'Hydraulic Jack Mod, DIY, Travel Trailer Balance','

Hydraulic Heavy Scale Project

\r\n

by David Whitman

\r\n

Why? - to weigh a heavy object yourself

\r\n

Not very difficult. Can be done in about 1/2 hour by someone who has experience doing this type of stuff. Lots longer for beginners.

\r\n

Things you will need: A drill motor, The right size bit for a small pilot hole and the right size bit for a fitting to connect the jack cylinder to the pressure gauge, A Thread TAP to make threads to connect the hydraulic 90 degree fitting to the jack, Some pipe dope is not a bad idea, A 90 degree appropriately sized fitting to connect a pressure gauge to the jack, a vise is nice, a wrench to dismantle the jack, A way to accurately measure the cylinder bore (best is a caliper) and some oil to refill the jack.

\r\n

This link is a youtube to help you visualize the steps. https://www.youtube.com/watch?v=ZBmxkWK_OFA

\r\n

Hate this episode? No problem. Do a better one

',209,0,0,'CC-BY-SA','Hydraulic Jack Mod, DIY, Travel Trailer Balance',0,0,1), +(2454,'2017-12-28','The Alien Brothers Podcast - S01E02 - Strictly Hacking',6389,'Casper and Rutiger discuss the Uber hacks and the Intel ME known and unknown vulnerabilties','

Casper and Rutiger attempt to STAY ON TARGET by discussing hacking… which when you think about it is an utterly pretentious and vague goal for a podcast presented by Hacker Public Radio, especially when considering the end result. Shame on us!

\r\n

Other topics include Friendsgiving and giving thanks; probably the greatest gaming console of the 1970’s; early “hackings” (sic) committed by the hosts; << >>

\r\n

References:

\r\n
    \r\n
  1. The link to the first chapter of Dief Minusky’s seminal the Nature of Systems is freely available here.
    \r\nhttps://www.dropbox.com/s/or5vefjumde4qsk/TNOS%20E-I%20C1%2020030415.pdf?dl=0
    \r\nAlthough we referred to the Chapter 8 material on system network security during the show, Rutiger decided it was better to release chapters, incrementally, in order let listeners gain a fuller appreciation for the work. Rutiger is also attempting to track down the original author, who never publicly released the work, to gain retroactive permission for this link, but for the moment Alien Brothers Podcast takes full responsibility for allowing access to this non-copyrighted work and we’ll just go ahead, you know, feel good about the possibility it will all turn out OK.
  2. \r\n
  3. Uber Data Breach (2017; CNN.com)
  4. \r\n
  5. How to Disable the Intel Management Engine Backdoor
    \r\nhttps://beinglibertarian.com/disable-intel-management-engine-backdoor-courtesy-nsa/
  6. \r\n
',359,0,1,'CC-BY-SA','Uber Hack, Intel ME, Alien Brothers',0,0,1), +(2455,'2017-12-29','Interface Zero RPG Part 5',5074,'Klaatu, Lobath, and Thaj play the Interface Zero RPG part 5','

An extra-long episode of the grand finale of the Interface Zero RPG play-through.

\r\n\r\n

Spoilers: Chaiwei dies in combat and Syd runs off with Tina.

\r\n\r\n

\r\nAt the end of the show are all the credits containing sound effects and source materials. Here they are in text form.

\r\n\r\n

\r\nSound effects were taken from freesound.org. Thanks to the following artists:\r\n

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

Music

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

Story

\r\n\r\n

\r\nWant to play this game yourself?\r\n

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

Editor\'s note 2017-12-28: link added from comments.

\r\n',78,95,1,'CC-BY-SA','Interface Zero,game,gaming,tabletop,rpg',0,0,1), +(2457,'2018-01-02','Getting ready for my new Macbook Pro',1165,'Knightwise is about to order a new macbook pro and shares some tips and tricks','

I am about to buy a new macbook pro and talk about the things I do to install and protect it.

\r\n\r\n',111,0,1,'CC-BY-SA','Macbook Pro, Homebrew, warranty, case, cables',0,0,1), +(2458,'2018-01-03','Chrome Plugins You Must Have',643,'I go over my current list of Chrome plugins and how I secure my browser','

https://www.linkedin.com/pulse/block-more-ads-unlimited-cloud-storage-multi-threaded-robert-mccurdy

\r\n',36,0,1,'CC-BY-SA','Chrome extensions',0,0,1), +(2465,'2018-01-12','TronScript where have you been all my life!',1669,'I take an initial look at TronScript and its features','',36,0,1,'CC-BY-SA','windows,scripting,batch files,antivirus,malware',0,0,1), +(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), (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), @@ -986,15 +998,3 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (3421,'2021-09-13','BlacKernel\'s Journey Into Technology: Episode 1',967,'Learning about Assembly and Social Engineering before I could read','',396,0,0,'CC-BY-SA','technology, childhood, stories',0,0,1), (3413,'2021-09-01','Bash snippet - using coproc with SQLite',2738,'Sending multiple queries to a running instance of sqlite3','

Introduction

\r\n

I am in the process of rewriting some scripts I use to manage Magnatune albums. I’m a lifetime Magnatune member and have access to the whole music collection. I wrote a script for downloading albums and placing them in my ~/Music directory which I talked about in 2013 (show 1204). The original scripts are still available on GitLab and I know of one other person who made use of them!

\r\n

Since 2013 I have written a few other support scripts, for example one to manage a queue of albums I want to buy and download, and one which summarises the state of this queue.

\r\n

It’s this \'show_queue\' script I am currently updating (called show_queue_orig, and available in the resources to this show). The original version of this script took Magnatune album URLs from a file (acting as a queue of stuff I wanted to buy), parsed out a piece of the URL and used it to grep a pre-prepared summary in another file. This file of summaries had been made from a master XML file provided by Magnatune (see update_albums on GitLab).

\r\n

Magnatune has moved away from this master XML file to a SQLite database in recent years, so I want to perform a database lookup for each URL to list its details.

\r\n

The first version of the new script wasn’t difficult to write: just extract the search data as before and run a query on the database using this data. I have included this script which I call show_queue_db_1 amongst the resources for this episode, so you can see what I’m talking about – and what I want to improve on. It felt bad to be performing multiple calls on the sqlite3 command in a loop, so I looked around for an alternative way.

\r\n

In April 2019 clacke did a show (number 2793) about the Bash coproc command.

\r\n

This command creates a subshell running a command or group of commands which is connected to the calling (parent) process through two file descriptors (FDs). It’s possible for the calling shell to write to the input descriptor and read from the output one and thereby communicate with whatever is running in the subshell.

\r\n

I was vaguely aware of coproc at the time of clacke’s show but hadn’t looked into it. I found the show fascinating but didn’t have a use for the feature at the time.

\r\n

To solve my need to show my Magnatune queue of future purchases, it looked as if a sqlite3 instance running in a subshell could be given queries one after the other and return the answers I needed. My journey to a Bash script using coproc then followed.

\r\n

Long notes

\r\n

Follow this link to read the detailed notes associated with this episode.

\r\n

Links

\r\n\r\n\r\n\r\n\r\n\r\n',225,42,1,'CC-BY-SA','Bash,coproc,subshell,coprocess,pipe,file descriptor',0,0,1), (3431,'2021-09-27','Living in the Terminal',2763,'BlacKernel shows you some programs you\'ll need for living life without X org','

Talking Points

\r\n

Rational

\r\n\r\n

Applications:

\r\n

My .bashrc:

\r\n\r\n
export EDITOR=nvim\r\nexport PAGER=most\r\nexport BROWSER=lynx\r\n\r\nexport XDG_DATA_HOME="$HOME/.local/share"\r\nexport XDG_CONFIG_HOME="$HOME/.config"\r\n
\r\n

PS1: user@hostname:~ (git_branch) $

\r\n
if [[ $EUID == 0 ]]; then\r\n    export PS1="\\[e[1;31m\\]\\u\\[\\e[m\\]@\\[\\e[0;32m\\]\\h\\[\\e[m\\]:\\w\\$(__git_ps1) # "\r\nelse\r\n    export PS1="\\[e[1;34m\\]\\u\\[\\e[m\\]@\\[\\e[0;32m\\]\\h\\[\\e[m\\]:\\w\\$(__git_ps1) $ "\r\nfi\r\n
\r\n\r\n

Productivity (\"Window Manager\"): tmux

\r\n\r\n

Music: cmus

\r\n\r\n

Pictures: fim

\r\n\r\n

Radio/Video/single audio files: mpv

\r\n\r\n

Podcasts/RSS: newsboat/podboat

\r\n\r\n

Runner Up: podfox

\r\n\r\n

Text Editing/Word Processing: neovim/GitX Flavored Markdown/pandoc

\r\n\r\n

Audio Recording/Post-Processing: ffmpeg

\r\n\r\n
function atrim() {\r\n    if [ $1 ]; then\r\n        local in="$1"\r\n    else\r\n        local in="-"\r\n    fi\r\n\r\n    if [ $2 ]; then\r\n        local out="$2"\r\n    else\r\n        local out="-f nut -"\r\n    fi\r\n\r\n    if [[ $# > 2 ]]; then\r\n        echo "atrim: requires 2 or fewer arguments"\r\n        return 1\r\n    fi\r\n\r\n    if [ $2 ]; then echo "atrim: silencing $in and saving to $out..."; fi\r\n    ffmpeg -i $in -af silenceremove=start_periods=1:stop_periods=-1:start_threshold=-50dB:stop_threshold=-50dB:stop_duration=0.75 $out \\\r\n        2>/dev/null \\\r\n        #1>/dev/null\r\n    if [ $2 ]; then echo "atrim: done"; fi\r\n}\r\n
\r\n
function top-tail() {\r\n    local top="$HOME/project/hpr-notes/template/intro-music-slick0-cc0.flac"\r\n    local tail="$HOME/project/hpr-notes/template/outro-mixed-slick0-manon_fallon-cc0.flac"\r\n\r\n    if [ $1 ]; then\r\n        local in="$1"\r\n    else\r\n        local in="-"\r\n    fi\r\n\r\n    if [ $2 ]; then\r\n        local out="$2"\r\n    else\r\n        local out="-f nut -"\r\n    fi\r\n\r\n    if [[ $# > 2 ]]; then\r\n        echo "hpr-top-tail: requres 2 or fewer arguments"\r\n        return 1\r\n    fi\r\n\r\n    if [ $2 ]; then echo "hpr-top-tail: Topping $in with $top and tailing with $tail..."; fi\r\n    ffmpeg -i "$top" -i $in -i "$tail" -vn -filter_complex "\r\n    [0][1]acrossfade=d=1:c1=tri:c2=tri[a01];\r\n    [a01][2]acrossfade=d=1:c1=tri:c2=tri" \\\r\n    $out \\\r\n        2> /dev/null \\\r\n        #1> /dev/null\r\n    if [ $2 ]; then echo "hpr-top-tail: done"; fi\r\n}\r\n
\r\n
function anorm() {\r\n    if [ $1 ]; then\r\n        local in="$1"\r\n    else\r\n        local in="-"\r\n    fi\r\n\r\n    if [ $2 ]; then\r\n        local out="$2"\r\n    else\r\n        local out="-f nut -"\r\n    fi\r\n\r\n    if [[ $# > 2 ]]; then\r\n        echo "anorm: requires 2 or fewer arguments"\r\n        return 1\r\n    fi\r\n\r\n    if [ $2 ]; then echo "anorm: normalizing audio $in and saving to $out..."; fi\r\n    ffmpeg -i $in $(ffmpeg-lh $in) $out \\\r\n        #2> /dev/null \\\r\n        1> /dev/null\r\n    if [ $2 ]; then echo "anorm: done"; fi\r\n\r\n}\r\n
\r\n

Web Browsing: lynx

\r\n\r\n

Email: mutt*

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

Show Notes

\r\n

Important Links:

\r\n\r\n

Resources:

\r\n\r\n
\r\n
Contact Me
\r\n\r\n',396,11,1,'CC-BY-SA','cli, terminal, nox, linux, technology, tty',0,0,1), -(3426,'2021-09-20','Rust 101: Episode 0 - What in Tarnishing?',1348,'BlacKernel teaches you what rust is and how it is different from Python or C.','

Talking Points

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

Show Notes

\r\n

Strict Typing

\r\n
fn main() {\r\n\r\n    // Type declared with var: <T> syntax\r\n    let penguin_one: &str = "gentoo";\r\n    \r\n    // Type &str is inherited from "gentoo"\r\n    let penguin_two = "gentoo";\r\n    \r\n    // Will not panic if they are the same\r\n    assert_eq!(penguin_one, penguin_two);\r\n}
\r\n

Reference Pointers

\r\n

Wrong Way:

\r\n
fn print_u8_vector(vec: Vec<u8>) {\r\n    println!("{:?}", vec);\r\n}\r\n\r\nfn main() {\r\n    let penguin_ages: Vec<u8> = vec!(2, 4, 6);\r\n    print_u8_vector(penguin_ages);\r\n    \r\n    // This line will throw an error\r\n    println!("{}", penguin_ages[0]);\r\n}
\r\n

Correct Way:

\r\n
fn print_u8_vector(vec: &Vec<u8>) {\r\n    println!("{:?}", vec);\r\n}\r\n\r\nfn main() {\r\n    let penguin_ages: Vec<u8> = vec!(2, 4, 6);\r\n    print_u8_vector(&penguin_ages);\r\n    \r\n    // This line will print '2'\r\n    println!("{}", penguin_ages[0]);\r\n}
\r\n

Immutable By Default

\r\n

Wrong Way:

\r\n
fn main() {\r\n    let my_num = 2;\r\n    \r\n    // This line will throw an error\r\n    my_num = my_num + 1;\r\n    println!("{}", my_num);\r\n}
\r\n

Correct Way:

\r\n
fn main() {\r\n    let mut my_num = 2;\r\n    my_num = my_num + 1;\r\n    \r\n    // This line will print '3'\r\n    println!("{}", my_num);\r\n}
\r\n

Unsafe Code

\r\n

Hello World Program in C in Rust:

\r\n
extern "C" {\r\n    fn printf(input: &str);\r\n}\r\n\r\nfn main() {\r\n    unsafe {\r\n        printf("Hello, World!");\r\n    }\r\n}
\r\n\r\n\r\n
\r\n

Contact Me

\r\n

Email: izzyleibowitz at pm dot me

\r\n

Mastodon: at blackernel at nixnet dot social

',396,25,0,'CC-BY-SA','rust, programming, raii, python, c',0,0,1), -(3418,'2021-09-08','My gEeeky Experiment - Part 2',648,'Claudio talks about how he installed Haiku on an Asus Eee PC 900a received from a friend.','\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n',152,0,0,'CC-BY-SA','asus,eeepc,haiku,beos,starmax,bebox,motorola,be',0,0,1), -(3423,'2021-09-15','\"upg.sh\" my \"dump.txt\" to \"note.md\"',2278,'I upgraded my scripts.','

upg.sh my dump.txt to note.md

\r\n

SYNOPSIS: upg.sh

\r\n\r\n
#!/bin/bash\r\n# upg.sh\r\n\r\nFILENAME=sys-upgrade$(date +%m-%d-%Y).md\r\nDIRECTORY="${HOME}/Documents/"\r\n\r\n# step 1: formatting.\r\necho -e "# **System Upgrade:** $(date)\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "**Command:** \\`sudo apt-get update; sudo apt-get upgrade --yes\\`\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "**Command Breakdown:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`sudo\\`, Admin Privilages." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`apt-get\\`, Package Manager." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`update;\\`, Package Manager's task; update the system software repositories." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`sudo apt-get upgrade\\`, Perform system upgrade with updated repositories." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`--yes\\`, Answers yes to the prompt." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\n# step 2: run commands with formatting.\r\necho -e "\\n**Command std-output:**\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n    echo $(date) \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nsudo apt-get update \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\n# System update completed.\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nsudo apt-get upgrade --yes \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\n# System upgrade completed.\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\n# step 3: additional details with more formatting.\r\necho -e "**Upgraded Package Details:**\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nPKGLIST=$(sed -n "/The following packages will be upgraded:/,/^.. upgraded/p" ${FILENAME} \\\r\n    | sed '1d;$d' | xargs -n 1 | sed '/:i386$/d') \\\r\n\r\nPKGCACHE=$(echo -e "${PKGLIST}\\n" \\\r\n    | xargs -n1 -I _ apt-cache search _)\r\necho "${PKGCACHE}" > ${DIRECTORY}delete.txt\r\n\r\necho "${PKGLIST}" \\\r\n    | xargs -n 1 -I _ echo "sed -n '/^_ /p'" "${DIRECTORY}delete.txt" \\\r\n    | bash | tee -a ${DIRECTORY}${FILENAME};\r\n\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nrm -v ${DIRECTORY}delete.txt;\r\nPKGLIST=\r\nPKGCACHE=\r\n\r\n# step 4: place EOF (end of file).\r\n    sed -i '/EOF/d' ${DIRECTORY}${FILENAME}\r\necho "EOF" >> ${DIRECTORY}${FILENAME}\r\n#EOF\r\n
\r\n

Script breakdown: upg.sh

\r\n\r\n
FILENAME=sys-upgrade$(date +%m-%d-%Y).md\r\nDIRECTORY="${HOME}/Documents/"\r\n
\r\n\r\n
echo -e "# **System Upgrade:** $(date)\\n" \\                                                    <-- formatting: label with date.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "**Command:** \\`sudo apt-get update; sudo apt-get upgrade --yes\\`\\n" \\                 <-- formatting: command label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "**Command Breakdown:**" \\                                                             <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`sudo\\`, Admin Privilages." \\                                                      <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`apt-get\\`, Package Manager." \\                                                    <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`update;\\`, Package Manager's task; update the system software repositories." \\    <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`sudo apt-get upgrade\\`, Perform system upgrade with updated repositories." \\      <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`--yes\\`, Answers yes to the prompt." \\                                            <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\n
\r\n\r\n
echo -e "\\n**Command std-output:**\\n" \\                                                        <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`" \\                                                                             <-- formatting: markdown.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n    echo $(date) \\                                                                             <-- command: date.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nsudo apt-get update \\                                                                          <-- command: update.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\n# System update completed.\\n" \\                                                     <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nsudo apt-get upgrade --yes \\                                                                   <-- command: upgrade with "--yes" option.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\n# System upgrade completed.\\n" \\                                                    <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`\\n" \\                                                                           <-- formatting: markdown.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n
\r\n\r\n
echo -e "**Upgraded Package Details:**\\n" \\                                                    <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`" \\                                                                             <-- formatting: markdown.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nPKGLIST=$(sed -n "/The following packages will be upgraded:/,/^.. upgraded/p" ${DIRECTORY}${FILENAME} \\  <--| variable with list of packages within it.\r\n    | sed '1d;$d' | xargs -n 1 | sed '/:i386$/d') \\                                            <--| sed: filter the first and last lines then remove the :i386 duplicate packages.\r\n\r\nPKGCACHE=$(echo -e "${PKGLIST}\\n" \\                                                            <--| variable with massive apt-cache search results.\r\n    | xargs -n1 -I _ apt-cache search _)                                                       <--| xargs runs the PKGLIST (the _ is the value of PKGLIST) into the apt-cache search.\r\necho "${PKGCACHE}" > ${DIRECTORY}delete.txt                                                    <--| I had to put the PKGCACHE in a file. I couldn't get sed to filter a variable (yet).\r\n\r\necho "${PKGLIST}" \\                                                                            <--| use that PKGLIST to create a few sed commands to filter the file called "delete.txt".\r\n    | xargs -n 1 -I _ echo "sed -n '/^_ /p'" "${DIRECTORY}delete.txt" \\                        ^--| xargs is used to create the sed commands.\r\n    | bash | tee -a ${DIRECTORY}${FILENAME};                                                   <--| run the sed commands through bash then store them.\r\n\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nrm -v ${DIRECTORY}delete.txt;                                                                  <--| use rm to delete the file called "delete.txt" it has the apt-cache search results in it.\r\nPKGLIST=                                                                                       <--| empty the variable. why? why not!\r\nPKGCACHE=                                                                                      <--| empty the variable. why? why not!\r\n
\r\n\r\n
    sed -i '/EOF/d' ${DIRECTORY}${FILENAME}                                                    <--| search for EOF then remove it. we don't want multiple EOF if we run the script multiple times in the same day.\r\necho "EOF" >> ${DIRECTORY}${FILENAME}                                                          ^--| adds the EOF (End Of File) at the end of the file.  I read it was a nice thing to do.\r\n#EOF                                                                                           <--| Yep. it's there.\r\n\r\n
\r\n
\r\n

SYNOPSIS: note.sh \"command\" \"filename\"

\r\n\r\n
#!/bin/bash\r\n# note.sh "command" "filename" no extentions.\r\n\r\n# variables\r\nFILENAME=$2$(date +%m-%d-%Y).md\r\nDIRECTORY="${HOME}/Documents/"\r\n\r\n# step 1: create file with formatting.\r\necho -e "# **Command:** \\` $1 \\`\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "**Command Breakdown:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho "$1" | tr " " '\\n' \\\r\n    | awk '{ print "- `" $0 "`, info." }' \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\n# step 2: run command with more formatting.\r\necho -e "\\n**Command std-output:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`\\n$(date)" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho $1 | bash \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho -ne "\\n${FILENAME} has been updated $(date)."\r\n\r\n# step 3: insert EOF (End Of File).\r\nsed -i '/EOF/d' ${DIRECTORY}${FILENAME}\r\necho EOF >> ${DIRECTORY}${FILENAME}\r\n
\r\n

Script breakdown: upg.sh

\r\n\r\n
FILENAME=$2$(date +%m-%d-%Y).md                                                                <--| the "$2" is the second user input (file name) from the commandline.\r\nDIRECTORY="${HOME}/Documents/"\r\n
\r\n\r\n
echo -e "# **Command:** \\` $1 \\`\\n" \\                                                          <--| the "$1" is the first user input (the command) from the commandline.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "**Command Breakdown:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho "$1" | tr " " '\\n' \\                                                                      <--| This just breaks the command into parts then adds some markdown formatting for use to add -\r\n    | awk '{ print "- `" $0 "`, info." }' \\                                                    ^--| details to later. I just added the word info so you know to provide info about the command. -\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           ^--| the formatting gets a bit crazy if you use something like: awk {' print $1 $2 $3 '} path/to/file;  each space becomes a newline with the markdown formatting.\r\n
\r\n\r\n
echo -e "\\n**Command std-output:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`\\n$(date)" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho $1 | bash \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho -ne "\\n${FILENAME} has been updated $(date)."\r\n
\r\n\r\n
sed -i '/EOF/d' ${DIRECTORY}${FILENAME}\r\necho EOF >> ${DIRECTORY}${FILENAME}\r\n
\r\n
\r\n

Correspondent: Some Guy On The Internet.
\r\nHost ID: 391
\r\nE-mail: Lyunpaw.nospam@nospam.gmail.com

\r\n\r\n',391,0,0,'CC-BY-SA','Bash Scripting, sed, awk, xargs, markdown, notes',0,0,1), -(3427,'2021-09-21','Ranger for the Win!',1096,'In this episode, I go over some typical use cases for the Ranger file manager','

Programs referenced in this episode

\r\n\r\n',300,0,0,'CC-BY-SA','ranger,file manager,linux',0,0,1), -(3428,'2021-09-22','Bad disk rescue',1794,'Bad disk rescue - tragedy or happy ending?','

Here I tell the tale of a bad disk rescue. Is the rescue bad or just the disk? Well the disk is most certainly bad but please listen and tell me if the rescue was good or bad or could have been done better.

\r\n

Guest stars in this show include:

\r\n',268,0,0,'CC-BY-SA','linux,disk,windows,virtualbox',0,0,1), -(3422,'2021-09-14','Update about Phones and Devices',1341,'An Update about my New Phone and second one that is coming','

Small update about my new RedMi 10s and my new Monty Mint phone.

\r\n',129,0,0,'CC-BY-SA','Android, phone, Linux, Pine64, Smart Watch',0,0,1), -(3424,'2021-09-16','Infosec Podcasts Part 6 - Infosec Leadership',721,'Presenting my favorite information security leadership podcasts','

Inoffensive in every region of the world.

\r\n

Thank you to everyone who has listened to my previous episodes. This is the final episode in the Infosec Podcasts series.

\r\n

I listen to many, MANY podcasts. The vast majority of these are related to information security.

\r\n

Because there are so many podcasts to list, I have broken them down into 6 different episodes based on topics:

\r\n\r\n

Preamble

\r\n

Term: CISO

\r\n\r\n

Security leadership is changing

\r\n

Old way:

\r\n\r\n

New way:

\r\n\r\n

Infosec Leadership Podcasts

\r\n\r\n

That wraps up this series. I welcome any feedback you might have in the comments section for this episode on the HPR site.

\r\n

Thank you very much for listening.

\r\n',394,75,0,'CC-BY-SA','infosec, podcasts, security, leadership',0,0,1), -(3429,'2021-09-23','Linux Inlaws S01E39: Ubuntu and the Community',5207,'All about your favourite Debian spin and IBM mainframes','

\r\n In this episode, our two hosts host Rhys Davies, a developer advocate from Canonical. So all\r\n beans will be spilled on one of the most popular Linux distros out there. Like its past, present\r\n and future. Never mind how Canonical makes its moolah and where this goes... Plus an interesting\r\n infomercial on old big iron (IBM, if you\'re listening: the mail address is sponsor@linuxinlaws.eu).\r\n

\r\n\r\n

Links:

\r\n\r\n',384,111,1,'CC-BY-SA','Debian, Ubuntu, IBM, mainframes, snaps, Canonical',0,0,1), -(3451,'2021-10-25','Bricklink',837,'Custom 3rd Part Lego Shops','\r\n\r\n\r\n

Photo
\r\n\"Photo\"
Click the thumbnail to see the full-sized image

',36,0,0,'CC-BY-SA','lego',0,0,1), -(3432,'2021-09-28','Reading a license: Creative Commons Attribution ShareAlike 4.0 International',1956,'We jump into the future of 2013 and see how content licensing has changed','

Previous episode: https://hackerpublicradio.org/eps.php?id=3412
hpr3412 :: Reading a license: Creative Commons Attribution ShareAlike 3.0 Unported

\r\n

Timeline

\r\n\r\n

Links to license and deed and links from within the texts

\r\n\r\n

Other links

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

Creative Commons License Deed

\r\n

Original: https://creativecommons.org/licenses/by-sa/4.0/

\r\n

The below is an Adaptation that has been reformatted for simplicity and focus on the text, removed graphical elements such as the Creative Commons Attribution and ShareAlike icons and has simple links to more info where there was originally a popup with a brief description and then a link.

\r\n

This Adaptation is released under CC-by 3.0: https://creativecommons.org/licenses/by/3.0/

\r\n

Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

\r\n

This is a human-readable summary of (and not a substitute for) the license.

\r\n

Disclaimer

\r\n
\r\n

This deed highlights only some of the key features and\r\nterms of the actual license. It is not a license and\r\nhas no legal value. You should carefully review all of\r\nthe terms and conditions of the actual license before\r\nusing the licensed material.

\r\n

Creative Commons is not a law firm and does not\r\nprovide legal services. Distributing, displaying, or\r\nlinking to this deed or the license that it summarizes\r\ndoes not create a lawyer-client or any other\r\nrelationship.

\r\n
\r\n

You are free to:

\r\n\r\n

\"This

\r\n

The licensor cannot revoke these freedoms as long as you follow the license terms.

\r\n

Under the following terms:

\r\n\r\n

Notices:

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

Original: https://creativecommons.org/licenses/by-sa/4.0/legalcode\r\nPlain Adaptation re-hosted on HPR: https://hackerpublicradio.org/eps/hpr3432/

\r\n',311,0,0,'CC-BY-SA','license, creative commons, recital, reading, legal',0,0,1), -(3433,'2021-09-29','A Squirrels thoughts about RMS',2565,'RMS and the subject of freedom','
\r\n

\r\n\r\nThis podcast was provided by Zen_Floater2 in his personal capacity. The opinions expressed in this podcast are the author\'s own and do not reflect the view of Hacker Public Radio.
\r\nShownotes Edited by Ken on 2021-09-11T14:35:19Z to include disclaimer.\r\n
\r\n

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

\r\nA Squirrels thoughts about freedom and RMS.\r\n

\r\n

\r\nI also cover guns on aircraft. I cover smoking on aircraft.\r\n

\r\n

\r\nAnd I cover drinking beer on aircraft.\r\n

\r\n

\r\nAnd COBOL as well.\r\n

\r\n',377,0,1,'CC-BY-SA','RMS,Pedophilia,BEER',0,0,1), -(3434,'2021-09-30','From 0 to K8s in 30 minutes',1938,'Build a Kubernetes cluster, run a website, route traffic to website','

Install CentOS or Debian on a Raspberry Pi. I\'m using CentOS, but I\'ll admit that Debian is the easier option by far.

\r\n

Do this on 3 separate Pi units, each with the same specs.

\r\n

Set hostnames

\r\n

You must have unique hostnames for each Pi. Without unique hostnames, your cluster cannot function.

\r\n

There are several \"kinds\" of hostnames, so to avoid confusion I change all of them.

\r\n

I use a simple naming scheme: k for \"kubernetes\" + an integer, starting at 100 + c for \"cluster\":

\r\n
$ sudo hostname k100c\r\n$ sudo sysctl kernel.hostname=k100c\r\n$ sudo hostnamectl set-hostname k100c\r\n$ sudo reboot\r\n
\r\n

Do this for each Pi. At a minimum, you end up with Pi computers named k100c, k101c, and k102c.

\r\n

Set verbose prompts

\r\n

When working with many different hosts, it\'s helpful to have a very verbose prompt as a constant reminder of which host you\'re connected to. Add this to the ~/.bashrc of each Pi:

\r\n
export PS1=\'\\[\033[1;32m\\]\\! \\d \\t \\h:\\w \\n% \\[\033[00m\\]\' \r\n
\r\n

Install a Pi finder script

\r\n

Install an LED blinker so you can find a specific Pi when you need one. This brilliant script is by Chris Collins for his article Use this script to find a Raspberry Pi on your network, which explains how to run it.

\r\n
#!/bin/bash\r\n\r\nset -o errexit\r\nset -o nounset\r\n\r\ntrap quit INT TERM\r\n\r\nCOUNT=0\r\nLED="/sys/class/leds/led0"\r\n\r\nif ! [ $(id -u) = 0 ]; then\r\n   echo "Must be run as root."\r\n   exit 1\r\nfi\r\n\r\nif [[ ! -d $LED ]]\r\nthen\r\n  echo "Could not find an LED at ${LED}"\r\n  echo "Perhaps try '/sys/class/leds/ACT'?"\r\n  exit 1\r\nfi\r\n\r\nfunction quit() {\r\n  echo mmc0 >"${LED}/trigger"\r\n}\r\n\r\necho -n "Blinking Raspberry Pi's LED - press CTRL-C to quit"\r\necho none >"${LED}/trigger"\r\n\r\nwhile true\r\ndo\r\n  let "COUNT=COUNT+1"\r\n  if [[ $COUNT -lt 30 ]]\r\n  then\r\n    echo 1 >"${LED}/brightness"\r\n    sleep 1\r\n    echo 0 >"${LED}/brightness"\r\n    sleep 1\r\n  else\r\n    quit\r\n    break\r\n  fi\r\ndone\r\n
\r\n

Install K3s on your control plane

\r\n

K3s is Kubernetes for IoT and Edge computing. It\'s the easiest, cleanest, and most serious method of getting Kubernetes on an ARM device. You can try other solutions (Microk8s, Minikube, OXD, and so on), but the best support comes from k3s.

\r\n

First, you must install k3s on one Pi. You can use any of your Pi units for this, but I use host k100c because it\'s the first in the sequence, so it feels logical.

\r\n
[k100c]$ curl -sfL https://get.k3s.io -o install_k3s.sh\r\n[k100c]$ chmod 700 install_k3s.sh\r\n
\r\n

Read the script to ensure that it seems to do what you expect, and then:

\r\n
[k100c]$ ./install_k3s.sh\r\n
\r\n

After installation, you\'re prompted to add some arguments to your bootloader. Open /boot/cmdline.txt in a text editor and add cgroup_memory=1 cgroup_enable=memory to the end of it.

\r\n
console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait cgroup_memory=1 cgroup_enable=memory\r\n
\r\n

Reboot:

\r\n
[k100c]$ sudo reboot\r\n
\r\n

Once the Pi is back up, verify that your node is ready:

\r\n
[k100c]$ k3s kubectl get node\r\nNAME    STATUS  ROLES                  AGE\r\nk100c   Ready   control-plane,master   42s\r\n
\r\n

This Pi is the \"control plane\", meaning it\'s the Pi that you use to administer your cluster.

\r\n

Get the node token

\r\n

Obtain the control plane\'s node token. Thanks to k3s, this is autogenerated for you. If you not using k3s, then you must generate your own with the command kubeadm token generate.

\r\n

Assuming you\'re using k3s:

\r\n
$ MYTOKEN=$(sudo cat /var/lib/rancher/k3s/server/node-token)\r\n$ echo $MYTOKEN\r\nK76351a1c2497d907ba7a156028567e0ccc26b82d2174161c564152ab3add6cc3fb::server:808771e4e695e3e3465ed9a14a0581da\r\n
\r\n

Add your control plane hostname to your hosts file

\r\n

If you know how to manage local DNS settings, then you can use a DNS service to identify the hosts in your cluster. Otherwise, the easy way to make your nodes know how to find your control plane is to add the control plane\'s hostname and IP address to the /etc/hosts file on each node. This also assumes that your control plane has a static local IP address. For example, this is the host file of k101c and k102c:

\r\n
127.0.0.1  localhost.localdomain localhost\r\n::1        localhost6.localdomain6 localhost6\r\n\r\n10.0.1.100 k100c\r\n
\r\n

Verify that each host can find the control plane. For example:

\r\n
[k101c]$ ping -c 1 k100c || echo "fail"\r\n[k101c]\r\n
\r\n

Add nodes to your cluster

\r\n

Now you can add the other Pi computers to your cluster. On each Pi you want to turn into a computer node, install k3s with the control plane and token as environment variables. On my second Pi, for instance, I run this command:

\r\n
[k101c]$ curl -sfL https://get.k3s.io | K3S_URL=https://k100c:6443 K3S_TOKEN="${MYTOKEN}" sh -\r\n
\r\n

On my third and final Pi, I run the same command:

\r\n
[k102c]$ curl -sfL https://get.k3s.io | K3S_URL=https://k100c:6443 K3S_TOKEN="${MYTOKEN}" sh -\r\n
\r\n

Verify your cluster

\r\n

On your control plane, verify that all nodes are active:

\r\n
% k3s kubectl get nodes\r\nNAME        STATUS     ROLES                  AGE     VERSION\r\nk100c       Ready      control-plane,master   2d23h   v1.21.4+k3s1\r\nk102c       Ready      <none>                 21h     v1.21.4+k3s1\r\nk101c       Ready      <none>                 20h     v1.21.4+k3s1\r\n
\r\n

It can take a few minutes for the control plane to discover all nodes, so wait a little while and try the command again if you don\'t see all nodes right away.

\r\n

You now have a Kubernetes cluster running. It isn\'t doing anything yet, but it\'s a functional Kubernetes cluster. That means you have a tiny Pi-based cloud entirely at your disposal. You can use it to learn about Kubernetes, cloud architecture, cloud-native development, and so on.

\r\n

Create a deployment and some pods

\r\n

Now that you have a Kubernetes cluster running, you can start running applications in containers. That\'s what Kubernetes does: it orchestrates and manages containers. You\'ve may have heard of containers. I did an episode about Docker containers in episode 1522 of HPR, you can go listen to that if you need to catch up. I\'ve also done an episode on LXC in episode 371 of my own show, GNU World Order.

\r\n

There\'s a sequence to launching containers within Kubernetes, a specific order you need to follow, because there are lots of moving parts and those parts have to reference each other. Generally, the hierarchy is this:

\r\n\r\n

First, create a namespace for your test application to use.

\r\n
[k100c]$ k3s kubectl create namespace ktest\r\n
\r\n

The Kubernetes project provides an example Nginx deployment definition. Read through it to get an idea of what it does. It looks something like this:

\r\n
apiVersion: apps/v1\r\nkind: Deployment\r\nmetadata:\r\n  name: nginx-deployment\r\nspec:\r\n  selector:\r\n    matchLabels:\r\n      app: nginx\r\n  replicas: 2 # tells deployment to run 2 pods matching the template\r\n  template:\r\n    metadata:\r\n      labels:\r\n        app: nginx\r\n    spec:\r\n      containers:\r\n      - name: nginx\r\n        image: nginx:1.14.2\r\n        ports:\r\n        - containerPort: 80\r\n
\r\n

This creates metadata named nginx-deployment. It also creates a label called app, and sets it to nginx. This metadata is used as selectors for pods and services later.

\r\n

For now, create a deployment using the example:

\r\n
[k100c]$ k3s kubectl --namespace ktest \\\r\ncreate -f https://k8s.io/examples/application/deployment.yaml\r\n
\r\n

Confirm that the deployment has generated and started new pods:

\r\n
[k100c]$ k3s kubectl --namespace ktest get all\r\n3s kubectl --namespace ktest get all\r\nNAME                                  READY\r\npod/nginx-deployment-66b[...]   1/1   Running\r\npod/nginx-deployment-66b[...]   1/1   Running\r\n\r\nNAME                               READY\r\ndeployment.apps/nginx-deployment   2/2\r\n\r\nNAME\r\nreplicaset.apps/nginx-deployment-66b6c48dd5\r\n
\r\n

See the pods labelled with app: nginx:

\r\n
[k100c]$ k3s kubectl --namespace ktest \\\r\nget pods -l app=nginx\r\nNAME                                READY STATUS\r\nnginx-deployment-66b6c48dd5-9vgg8   1/1   Running\r\nnginx-deployment-66b6c48dd5-prgrf   1/1   Running\r\nnginx-deployment-66b6c48dd5-cqpgf   1/1   Running\r\n
\r\n

Create a service

\r\n

Now you must connect the Nginx instance with a Kubernetes Service.

\r\n

The selector element is set to nginx to match pods running the nginx application. Without this selector, there would be nothing to correlate your service with the pods running the application you want to serve.

\r\n
[k100c]$ cat << EOF | k3s kubectl \\\r\n--namespace ktest create -f -\r\napiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  name: nginx-deployment\r\n  labels:\r\n    run: nginx-deployment\r\nspec:\r\n  ports:\r\n  - port: 80\r\n    protocol: TCP\r\n  selector:\r\n    app: nginx\r\nEOF\r\nservice/nginx-deployment created\r\n
\r\n

Verify that the service exists:

\r\n
[k100c]$ k3s kubectl --namespace ktest get svc nginx-deployment\r\nNAME       TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE\r\nnginx-deployment   ClusterIP   10.43.32.89   <none>        80/TCP    58s\r\n
\r\n

A Service is backed by a group of Pods. Pods are exposed through endpoints. A Service uses POST actions to populate Endpoints objects named nginx-deployment. Should a Pod die, it\'s removed from the endpoints, but new Pods matching the same selector are added to the endpoints. This is how Kubernetes ensures your application\'s uptime.

\r\n

To see more information:

\r\n
[k100c]$ k3s kubectl \\\r\n--namespace ktest \\\r\ndescribe svc nginx-deployment\r\nName:              nginx-deployment\r\nNamespace:         ktest\r\nLabels:            run=nginx-deployment\r\nAnnotations:       <none>\r\nSelector:          app=nginx\r\nType:              ClusterIP\r\nIP Family Policy:  SingleStack\r\nIP Families:       IPv4\r\nIP:                10.43.251.104\r\nIPs:               10.43.251.104\r\nPort:              <unset>  80/TCP\r\nTargetPort:        80/TCP\r\nEndpoints:         10.42.2.8:80,10.42.2.9:80,10.42.3.7:80\r\nSession Affinity:  None\r\nEvents:            <none>\r\n
\r\n

Notice that the Endpoints value is set to a series of IP addresses. This confirms that instances of Nginx are accessible. The IP of the service is set to 10.43.251.104, and it\'s running on port 80/TCP. That means you can log onto any of your nodes (referred to as \"inside the cluster\") to interact with your Nginx app. This does not work from your control plane, only from a node.

\r\n
[k101c]$ curl https://10.43.251.104\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n<title>Welcome to nginx!</title>\r\n</head>\r\n<body>\r\n<h1>Welcome to nginx!</h1>\r\n</body>\r\n</html>\r\n
\r\n

Nginx is accessible.

\r\n

The only thing left to do now is to route traffic from the outside world.

\r\n

Exposing a deployment

\r\n

For a deployed application to be visible outside your cluster, you need to route network traffic to it. There are many tools that provide that functionality.

\r\n

Install metallb:

\r\n
$ k3s kubectl apply \\\r\n-f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/namespace.yaml\r\n$ k3s kubectl apply \\\r\n-f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/metallb.yaml\r\n$ k3s kubectl create secret generic \\\r\n-n metallb-system memberlist \\\r\n--from-literal=secretkey="$(openssl rand -base64 128)"\r\n
\r\n

Determine what network range you want your cluster to use. This must not overlap with what your DHCP server is managing.

\r\n
---\r\napiVersion: v1\r\nkind: ConfigMap\r\nmetadata:\r\n  namespace: metallb-system\r\n  name: config\r\ndata:\r\n  config: |\r\n    address-pools:\r\n    - name: address-pool-0\r\n      protocol: layer2\r\n      addresses:\r\n      - 10.0.1.1/26\r\n
\r\n

Save this as metallb.yaml and apply the configuration:

\r\n
$ k3s kubectl apply -f metallb.yaml\r\n
\r\n

You now have a configmap for metallb, and metallb is running.

\r\n

Create a load balance service mapping your deployment\'s ports (port 80 in this case, which you can verify with k3s kubectl -n ktest get all). Save this as loadbalance.yaml:

\r\n
---\r\napiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  name: ktest-ext\r\n  namespace: ktest\r\nspec:\r\n  selector:\r\n    app: nginx\r\n  ports:\r\n    - protocol: TCP\r\n      port: 80\r\n      targetPort: 80\r\n  type: LoadBalancer\r\n
\r\n

This service selects any deployment in the ktest namespace with an app name of nginx, and maps the container\'s port 80 to a port 80 for an IP address within your address range (in my example, that\'s 10.0.1.1/26, or 10.0.1.1-10.0.1.62).

\r\n
$k3s kubectl apply -f loadbalance.yaml\r\n
\r\n

Find out what external IP address it got:

\r\n
$ k3s kubectl get service ktest-ext -n ktest\r\nNAME        TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)\r\nktest   LoadBalancer   10.43.138.91   10.0.1.3                  80:31790/TCP\r\n
\r\n

Open a web browser and navigate to the external IP address listed (in this example, 10.0.1.3).

\r\n

\"Nginx\"

\r\n',78,61,0,'CC-BY-SA','network, kubernetes, cloud',0,0,1), diff --git a/sql/hpr-db-part-14.sql b/sql/hpr-db-part-14.sql index 2c340ec..ac06a66 100644 --- a/sql/hpr-db-part-14.sql +++ b/sql/hpr-db-part-14.sql @@ -1,3 +1,15 @@ +(3426,'2021-09-20','Rust 101: Episode 0 - What in Tarnishing?',1348,'BlacKernel teaches you what rust is and how it is different from Python or C.','

Talking Points

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

Show Notes

\r\n

Strict Typing

\r\n
fn main() {\r\n\r\n    // Type declared with var: <T> syntax\r\n    let penguin_one: &str = "gentoo";\r\n    \r\n    // Type &str is inherited from "gentoo"\r\n    let penguin_two = "gentoo";\r\n    \r\n    // Will not panic if they are the same\r\n    assert_eq!(penguin_one, penguin_two);\r\n}
\r\n

Reference Pointers

\r\n

Wrong Way:

\r\n
fn print_u8_vector(vec: Vec<u8>) {\r\n    println!("{:?}", vec);\r\n}\r\n\r\nfn main() {\r\n    let penguin_ages: Vec<u8> = vec!(2, 4, 6);\r\n    print_u8_vector(penguin_ages);\r\n    \r\n    // This line will throw an error\r\n    println!("{}", penguin_ages[0]);\r\n}
\r\n

Correct Way:

\r\n
fn print_u8_vector(vec: &Vec<u8>) {\r\n    println!("{:?}", vec);\r\n}\r\n\r\nfn main() {\r\n    let penguin_ages: Vec<u8> = vec!(2, 4, 6);\r\n    print_u8_vector(&penguin_ages);\r\n    \r\n    // This line will print '2'\r\n    println!("{}", penguin_ages[0]);\r\n}
\r\n

Immutable By Default

\r\n

Wrong Way:

\r\n
fn main() {\r\n    let my_num = 2;\r\n    \r\n    // This line will throw an error\r\n    my_num = my_num + 1;\r\n    println!("{}", my_num);\r\n}
\r\n

Correct Way:

\r\n
fn main() {\r\n    let mut my_num = 2;\r\n    my_num = my_num + 1;\r\n    \r\n    // This line will print '3'\r\n    println!("{}", my_num);\r\n}
\r\n

Unsafe Code

\r\n

Hello World Program in C in Rust:

\r\n
extern "C" {\r\n    fn printf(input: &str);\r\n}\r\n\r\nfn main() {\r\n    unsafe {\r\n        printf("Hello, World!");\r\n    }\r\n}
\r\n\r\n\r\n
\r\n

Contact Me

\r\n

Email: izzyleibowitz at pm dot me

\r\n

Mastodon: at blackernel at nixnet dot social

',396,25,0,'CC-BY-SA','rust, programming, raii, python, c',0,0,1), +(3418,'2021-09-08','My gEeeky Experiment - Part 2',648,'Claudio talks about how he installed Haiku on an Asus Eee PC 900a received from a friend.','\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n',152,0,0,'CC-BY-SA','asus,eeepc,haiku,beos,starmax,bebox,motorola,be',0,0,1), +(3423,'2021-09-15','\"upg.sh\" my \"dump.txt\" to \"note.md\"',2278,'I upgraded my scripts.','

upg.sh my dump.txt to note.md

\r\n

SYNOPSIS: upg.sh

\r\n\r\n
#!/bin/bash\r\n# upg.sh\r\n\r\nFILENAME=sys-upgrade$(date +%m-%d-%Y).md\r\nDIRECTORY="${HOME}/Documents/"\r\n\r\n# step 1: formatting.\r\necho -e "# **System Upgrade:** $(date)\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "**Command:** \\`sudo apt-get update; sudo apt-get upgrade --yes\\`\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "**Command Breakdown:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`sudo\\`, Admin Privilages." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`apt-get\\`, Package Manager." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`update;\\`, Package Manager's task; update the system software repositories." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`sudo apt-get upgrade\\`, Perform system upgrade with updated repositories." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "- \\`--yes\\`, Answers yes to the prompt." \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\n# step 2: run commands with formatting.\r\necho -e "\\n**Command std-output:**\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n    echo $(date) \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nsudo apt-get update \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\n# System update completed.\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nsudo apt-get upgrade --yes \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\n# System upgrade completed.\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\n# step 3: additional details with more formatting.\r\necho -e "**Upgraded Package Details:**\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nPKGLIST=$(sed -n "/The following packages will be upgraded:/,/^.. upgraded/p" ${FILENAME} \\\r\n    | sed '1d;$d' | xargs -n 1 | sed '/:i386$/d') \\\r\n\r\nPKGCACHE=$(echo -e "${PKGLIST}\\n" \\\r\n    | xargs -n1 -I _ apt-cache search _)\r\necho "${PKGCACHE}" > ${DIRECTORY}delete.txt\r\n\r\necho "${PKGLIST}" \\\r\n    | xargs -n 1 -I _ echo "sed -n '/^_ /p'" "${DIRECTORY}delete.txt" \\\r\n    | bash | tee -a ${DIRECTORY}${FILENAME};\r\n\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nrm -v ${DIRECTORY}delete.txt;\r\nPKGLIST=\r\nPKGCACHE=\r\n\r\n# step 4: place EOF (end of file).\r\n    sed -i '/EOF/d' ${DIRECTORY}${FILENAME}\r\necho "EOF" >> ${DIRECTORY}${FILENAME}\r\n#EOF\r\n
\r\n

Script breakdown: upg.sh

\r\n\r\n
FILENAME=sys-upgrade$(date +%m-%d-%Y).md\r\nDIRECTORY="${HOME}/Documents/"\r\n
\r\n\r\n
echo -e "# **System Upgrade:** $(date)\\n" \\                                                    <-- formatting: label with date.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "**Command:** \\`sudo apt-get update; sudo apt-get upgrade --yes\\`\\n" \\                 <-- formatting: command label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "**Command Breakdown:**" \\                                                             <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`sudo\\`, Admin Privilages." \\                                                      <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`apt-get\\`, Package Manager." \\                                                    <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`update;\\`, Package Manager's task; update the system software repositories." \\    <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`sudo apt-get upgrade\\`, Perform system upgrade with updated repositories." \\      <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\necho -e "- \\`--yes\\`, Answers yes to the prompt." \\                                            <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           <-- path/to/file\r\n
\r\n\r\n
echo -e "\\n**Command std-output:**\\n" \\                                                        <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`" \\                                                                             <-- formatting: markdown.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n    echo $(date) \\                                                                             <-- command: date.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nsudo apt-get update \\                                                                          <-- command: update.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\n# System update completed.\\n" \\                                                     <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nsudo apt-get upgrade --yes \\                                                                   <-- command: upgrade with "--yes" option.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\n# System upgrade completed.\\n" \\                                                    <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`\\n" \\                                                                           <-- formatting: markdown.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n
\r\n\r\n
echo -e "**Upgraded Package Details:**\\n" \\                                                    <-- formatting: label.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`" \\                                                                             <-- formatting: markdown.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nPKGLIST=$(sed -n "/The following packages will be upgraded:/,/^.. upgraded/p" ${DIRECTORY}${FILENAME} \\  <--| variable with list of packages within it.\r\n    | sed '1d;$d' | xargs -n 1 | sed '/:i386$/d') \\                                            <--| sed: filter the first and last lines then remove the :i386 duplicate packages.\r\n\r\nPKGCACHE=$(echo -e "${PKGLIST}\\n" \\                                                            <--| variable with massive apt-cache search results.\r\n    | xargs -n1 -I _ apt-cache search _)                                                       <--| xargs runs the PKGLIST (the _ is the value of PKGLIST) into the apt-cache search.\r\necho "${PKGCACHE}" > ${DIRECTORY}delete.txt                                                    <--| I had to put the PKGCACHE in a file. I couldn't get sed to filter a variable (yet).\r\n\r\necho "${PKGLIST}" \\                                                                            <--| use that PKGLIST to create a few sed commands to filter the file called "delete.txt".\r\n    | xargs -n 1 -I _ echo "sed -n '/^_ /p'" "${DIRECTORY}delete.txt" \\                        ^--| xargs is used to create the sed commands.\r\n    | bash | tee -a ${DIRECTORY}${FILENAME};                                                   <--| run the sed commands through bash then store them.\r\n\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\nrm -v ${DIRECTORY}delete.txt;                                                                  <--| use rm to delete the file called "delete.txt" it has the apt-cache search results in it.\r\nPKGLIST=                                                                                       <--| empty the variable. why? why not!\r\nPKGCACHE=                                                                                      <--| empty the variable. why? why not!\r\n
\r\n\r\n
    sed -i '/EOF/d' ${DIRECTORY}${FILENAME}                                                    <--| search for EOF then remove it. we don't want multiple EOF if we run the script multiple times in the same day.\r\necho "EOF" >> ${DIRECTORY}${FILENAME}                                                          ^--| adds the EOF (End Of File) at the end of the file.  I read it was a nice thing to do.\r\n#EOF                                                                                           <--| Yep. it's there.\r\n\r\n
\r\n
\r\n

SYNOPSIS: note.sh \"command\" \"filename\"

\r\n\r\n
#!/bin/bash\r\n# note.sh "command" "filename" no extentions.\r\n\r\n# variables\r\nFILENAME=$2$(date +%m-%d-%Y).md\r\nDIRECTORY="${HOME}/Documents/"\r\n\r\n# step 1: create file with formatting.\r\necho -e "# **Command:** \\` $1 \\`\\n" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "**Command Breakdown:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho "$1" | tr " " '\\n' \\\r\n    | awk '{ print "- `" $0 "`, info." }' \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\n# step 2: run command with more formatting.\r\necho -e "\\n**Command std-output:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`\\n$(date)" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho $1 | bash \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho -ne "\\n${FILENAME} has been updated $(date)."\r\n\r\n# step 3: insert EOF (End Of File).\r\nsed -i '/EOF/d' ${DIRECTORY}${FILENAME}\r\necho EOF >> ${DIRECTORY}${FILENAME}\r\n
\r\n

Script breakdown: upg.sh

\r\n\r\n
FILENAME=$2$(date +%m-%d-%Y).md                                                                <--| the "$2" is the second user input (file name) from the commandline.\r\nDIRECTORY="${HOME}/Documents/"\r\n
\r\n\r\n
echo -e "# **Command:** \\` $1 \\`\\n" \\                                                          <--| the "$1" is the first user input (the command) from the commandline.\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "**Command Breakdown:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho "$1" | tr " " '\\n' \\                                                                      <--| This just breaks the command into parts then adds some markdown formatting for use to add -\r\n    | awk '{ print "- `" $0 "`, info." }' \\                                                    ^--| details to later. I just added the word info so you know to provide info about the command. -\r\n    | tee -a ${DIRECTORY}${FILENAME}                                                           ^--| the formatting gets a bit crazy if you use something like: awk {' print $1 $2 $3 '} path/to/file;  each space becomes a newline with the markdown formatting.\r\n
\r\n\r\n
echo -e "\\n**Command std-output:**" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\necho -e "\\`\\`\\`\\n$(date)" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho $1 | bash \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho -e "\\`\\`\\`" \\\r\n    | tee -a ${DIRECTORY}${FILENAME}\r\n\r\necho -ne "\\n${FILENAME} has been updated $(date)."\r\n
\r\n\r\n
sed -i '/EOF/d' ${DIRECTORY}${FILENAME}\r\necho EOF >> ${DIRECTORY}${FILENAME}\r\n
\r\n
\r\n

Correspondent: Some Guy On The Internet.
\r\nHost ID: 391
\r\nE-mail: Lyunpaw.nospam@nospam.gmail.com

\r\n\r\n',391,0,0,'CC-BY-SA','Bash Scripting, sed, awk, xargs, markdown, notes',0,0,1), +(3427,'2021-09-21','Ranger for the Win!',1096,'In this episode, I go over some typical use cases for the Ranger file manager','

Programs referenced in this episode

\r\n\r\n',300,0,0,'CC-BY-SA','ranger,file manager,linux',0,0,1), +(3428,'2021-09-22','Bad disk rescue',1794,'Bad disk rescue - tragedy or happy ending?','

Here I tell the tale of a bad disk rescue. Is the rescue bad or just the disk? Well the disk is most certainly bad but please listen and tell me if the rescue was good or bad or could have been done better.

\r\n

Guest stars in this show include:

\r\n',268,0,0,'CC-BY-SA','linux,disk,windows,virtualbox',0,0,1), +(3422,'2021-09-14','Update about Phones and Devices',1341,'An Update about my New Phone and second one that is coming','

Small update about my new RedMi 10s and my new Monty Mint phone.

\r\n',129,0,0,'CC-BY-SA','Android, phone, Linux, Pine64, Smart Watch',0,0,1), +(3424,'2021-09-16','Infosec Podcasts Part 6 - Infosec Leadership',721,'Presenting my favorite information security leadership podcasts','

Inoffensive in every region of the world.

\r\n

Thank you to everyone who has listened to my previous episodes. This is the final episode in the Infosec Podcasts series.

\r\n

I listen to many, MANY podcasts. The vast majority of these are related to information security.

\r\n

Because there are so many podcasts to list, I have broken them down into 6 different episodes based on topics:

\r\n\r\n

Preamble

\r\n

Term: CISO

\r\n\r\n

Security leadership is changing

\r\n

Old way:

\r\n\r\n

New way:

\r\n\r\n

Infosec Leadership Podcasts

\r\n\r\n

That wraps up this series. I welcome any feedback you might have in the comments section for this episode on the HPR site.

\r\n

Thank you very much for listening.

\r\n',394,75,0,'CC-BY-SA','infosec, podcasts, security, leadership',0,0,1), +(3429,'2021-09-23','Linux Inlaws S01E39: Ubuntu and the Community',5207,'All about your favourite Debian spin and IBM mainframes','

\r\n In this episode, our two hosts host Rhys Davies, a developer advocate from Canonical. So all\r\n beans will be spilled on one of the most popular Linux distros out there. Like its past, present\r\n and future. Never mind how Canonical makes its moolah and where this goes... Plus an interesting\r\n infomercial on old big iron (IBM, if you\'re listening: the mail address is sponsor@linuxinlaws.eu).\r\n

\r\n\r\n

Links:

\r\n\r\n',384,111,1,'CC-BY-SA','Debian, Ubuntu, IBM, mainframes, snaps, Canonical',0,0,1), +(3451,'2021-10-25','Bricklink',837,'Custom 3rd Part Lego Shops','\r\n\r\n\r\n

Photo
\r\n\"Photo\"
Click the thumbnail to see the full-sized image

',36,0,0,'CC-BY-SA','lego',0,0,1), +(3432,'2021-09-28','Reading a license: Creative Commons Attribution ShareAlike 4.0 International',1956,'We jump into the future of 2013 and see how content licensing has changed','

Previous episode: https://hackerpublicradio.org/eps.php?id=3412
hpr3412 :: Reading a license: Creative Commons Attribution ShareAlike 3.0 Unported

\r\n

Timeline

\r\n\r\n

Links to license and deed and links from within the texts

\r\n\r\n

Other links

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

Creative Commons License Deed

\r\n

Original: https://creativecommons.org/licenses/by-sa/4.0/

\r\n

The below is an Adaptation that has been reformatted for simplicity and focus on the text, removed graphical elements such as the Creative Commons Attribution and ShareAlike icons and has simple links to more info where there was originally a popup with a brief description and then a link.

\r\n

This Adaptation is released under CC-by 3.0: https://creativecommons.org/licenses/by/3.0/

\r\n

Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

\r\n

This is a human-readable summary of (and not a substitute for) the license.

\r\n

Disclaimer

\r\n
\r\n

This deed highlights only some of the key features and\r\nterms of the actual license. It is not a license and\r\nhas no legal value. You should carefully review all of\r\nthe terms and conditions of the actual license before\r\nusing the licensed material.

\r\n

Creative Commons is not a law firm and does not\r\nprovide legal services. Distributing, displaying, or\r\nlinking to this deed or the license that it summarizes\r\ndoes not create a lawyer-client or any other\r\nrelationship.

\r\n
\r\n

You are free to:

\r\n\r\n

\"This

\r\n

The licensor cannot revoke these freedoms as long as you follow the license terms.

\r\n

Under the following terms:

\r\n\r\n

Notices:

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

Original: https://creativecommons.org/licenses/by-sa/4.0/legalcode\r\nPlain Adaptation re-hosted on HPR: https://hackerpublicradio.org/eps/hpr3432/

\r\n',311,0,0,'CC-BY-SA','license, creative commons, recital, reading, legal',0,0,1), +(3433,'2021-09-29','A Squirrels thoughts about RMS',2565,'RMS and the subject of freedom','
\r\n

\r\n\r\nThis podcast was provided by Zen_Floater2 in his personal capacity. The opinions expressed in this podcast are the author\'s own and do not reflect the view of Hacker Public Radio.
\r\nShownotes Edited by Ken on 2021-09-11T14:35:19Z to include disclaimer.\r\n
\r\n

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

\r\nA Squirrels thoughts about freedom and RMS.\r\n

\r\n

\r\nI also cover guns on aircraft. I cover smoking on aircraft.\r\n

\r\n

\r\nAnd I cover drinking beer on aircraft.\r\n

\r\n

\r\nAnd COBOL as well.\r\n

\r\n',377,0,1,'CC-BY-SA','RMS,Pedophilia,BEER',0,0,1), +(3434,'2021-09-30','From 0 to K8s in 30 minutes',1938,'Build a Kubernetes cluster, run a website, route traffic to website','

Install CentOS or Debian on a Raspberry Pi. I\'m using CentOS, but I\'ll admit that Debian is the easier option by far.

\r\n

Do this on 3 separate Pi units, each with the same specs.

\r\n

Set hostnames

\r\n

You must have unique hostnames for each Pi. Without unique hostnames, your cluster cannot function.

\r\n

There are several \"kinds\" of hostnames, so to avoid confusion I change all of them.

\r\n

I use a simple naming scheme: k for \"kubernetes\" + an integer, starting at 100 + c for \"cluster\":

\r\n
$ sudo hostname k100c\r\n$ sudo sysctl kernel.hostname=k100c\r\n$ sudo hostnamectl set-hostname k100c\r\n$ sudo reboot\r\n
\r\n

Do this for each Pi. At a minimum, you end up with Pi computers named k100c, k101c, and k102c.

\r\n

Set verbose prompts

\r\n

When working with many different hosts, it\'s helpful to have a very verbose prompt as a constant reminder of which host you\'re connected to. Add this to the ~/.bashrc of each Pi:

\r\n
export PS1=\'\\[\033[1;32m\\]\\! \\d \\t \\h:\\w \\n% \\[\033[00m\\]\' \r\n
\r\n

Install a Pi finder script

\r\n

Install an LED blinker so you can find a specific Pi when you need one. This brilliant script is by Chris Collins for his article Use this script to find a Raspberry Pi on your network, which explains how to run it.

\r\n
#!/bin/bash\r\n\r\nset -o errexit\r\nset -o nounset\r\n\r\ntrap quit INT TERM\r\n\r\nCOUNT=0\r\nLED="/sys/class/leds/led0"\r\n\r\nif ! [ $(id -u) = 0 ]; then\r\n   echo "Must be run as root."\r\n   exit 1\r\nfi\r\n\r\nif [[ ! -d $LED ]]\r\nthen\r\n  echo "Could not find an LED at ${LED}"\r\n  echo "Perhaps try '/sys/class/leds/ACT'?"\r\n  exit 1\r\nfi\r\n\r\nfunction quit() {\r\n  echo mmc0 >"${LED}/trigger"\r\n}\r\n\r\necho -n "Blinking Raspberry Pi's LED - press CTRL-C to quit"\r\necho none >"${LED}/trigger"\r\n\r\nwhile true\r\ndo\r\n  let "COUNT=COUNT+1"\r\n  if [[ $COUNT -lt 30 ]]\r\n  then\r\n    echo 1 >"${LED}/brightness"\r\n    sleep 1\r\n    echo 0 >"${LED}/brightness"\r\n    sleep 1\r\n  else\r\n    quit\r\n    break\r\n  fi\r\ndone\r\n
\r\n

Install K3s on your control plane

\r\n

K3s is Kubernetes for IoT and Edge computing. It\'s the easiest, cleanest, and most serious method of getting Kubernetes on an ARM device. You can try other solutions (Microk8s, Minikube, OXD, and so on), but the best support comes from k3s.

\r\n

First, you must install k3s on one Pi. You can use any of your Pi units for this, but I use host k100c because it\'s the first in the sequence, so it feels logical.

\r\n
[k100c]$ curl -sfL https://get.k3s.io -o install_k3s.sh\r\n[k100c]$ chmod 700 install_k3s.sh\r\n
\r\n

Read the script to ensure that it seems to do what you expect, and then:

\r\n
[k100c]$ ./install_k3s.sh\r\n
\r\n

After installation, you\'re prompted to add some arguments to your bootloader. Open /boot/cmdline.txt in a text editor and add cgroup_memory=1 cgroup_enable=memory to the end of it.

\r\n
console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait cgroup_memory=1 cgroup_enable=memory\r\n
\r\n

Reboot:

\r\n
[k100c]$ sudo reboot\r\n
\r\n

Once the Pi is back up, verify that your node is ready:

\r\n
[k100c]$ k3s kubectl get node\r\nNAME    STATUS  ROLES                  AGE\r\nk100c   Ready   control-plane,master   42s\r\n
\r\n

This Pi is the \"control plane\", meaning it\'s the Pi that you use to administer your cluster.

\r\n

Get the node token

\r\n

Obtain the control plane\'s node token. Thanks to k3s, this is autogenerated for you. If you not using k3s, then you must generate your own with the command kubeadm token generate.

\r\n

Assuming you\'re using k3s:

\r\n
$ MYTOKEN=$(sudo cat /var/lib/rancher/k3s/server/node-token)\r\n$ echo $MYTOKEN\r\nK76351a1c2497d907ba7a156028567e0ccc26b82d2174161c564152ab3add6cc3fb::server:808771e4e695e3e3465ed9a14a0581da\r\n
\r\n

Add your control plane hostname to your hosts file

\r\n

If you know how to manage local DNS settings, then you can use a DNS service to identify the hosts in your cluster. Otherwise, the easy way to make your nodes know how to find your control plane is to add the control plane\'s hostname and IP address to the /etc/hosts file on each node. This also assumes that your control plane has a static local IP address. For example, this is the host file of k101c and k102c:

\r\n
127.0.0.1  localhost.localdomain localhost\r\n::1        localhost6.localdomain6 localhost6\r\n\r\n10.0.1.100 k100c\r\n
\r\n

Verify that each host can find the control plane. For example:

\r\n
[k101c]$ ping -c 1 k100c || echo "fail"\r\n[k101c]\r\n
\r\n

Add nodes to your cluster

\r\n

Now you can add the other Pi computers to your cluster. On each Pi you want to turn into a computer node, install k3s with the control plane and token as environment variables. On my second Pi, for instance, I run this command:

\r\n
[k101c]$ curl -sfL https://get.k3s.io | K3S_URL=https://k100c:6443 K3S_TOKEN="${MYTOKEN}" sh -\r\n
\r\n

On my third and final Pi, I run the same command:

\r\n
[k102c]$ curl -sfL https://get.k3s.io | K3S_URL=https://k100c:6443 K3S_TOKEN="${MYTOKEN}" sh -\r\n
\r\n

Verify your cluster

\r\n

On your control plane, verify that all nodes are active:

\r\n
% k3s kubectl get nodes\r\nNAME        STATUS     ROLES                  AGE     VERSION\r\nk100c       Ready      control-plane,master   2d23h   v1.21.4+k3s1\r\nk102c       Ready      <none>                 21h     v1.21.4+k3s1\r\nk101c       Ready      <none>                 20h     v1.21.4+k3s1\r\n
\r\n

It can take a few minutes for the control plane to discover all nodes, so wait a little while and try the command again if you don\'t see all nodes right away.

\r\n

You now have a Kubernetes cluster running. It isn\'t doing anything yet, but it\'s a functional Kubernetes cluster. That means you have a tiny Pi-based cloud entirely at your disposal. You can use it to learn about Kubernetes, cloud architecture, cloud-native development, and so on.

\r\n

Create a deployment and some pods

\r\n

Now that you have a Kubernetes cluster running, you can start running applications in containers. That\'s what Kubernetes does: it orchestrates and manages containers. You\'ve may have heard of containers. I did an episode about Docker containers in episode 1522 of HPR, you can go listen to that if you need to catch up. I\'ve also done an episode on LXC in episode 371 of my own show, GNU World Order.

\r\n

There\'s a sequence to launching containers within Kubernetes, a specific order you need to follow, because there are lots of moving parts and those parts have to reference each other. Generally, the hierarchy is this:

\r\n\r\n

First, create a namespace for your test application to use.

\r\n
[k100c]$ k3s kubectl create namespace ktest\r\n
\r\n

The Kubernetes project provides an example Nginx deployment definition. Read through it to get an idea of what it does. It looks something like this:

\r\n
apiVersion: apps/v1\r\nkind: Deployment\r\nmetadata:\r\n  name: nginx-deployment\r\nspec:\r\n  selector:\r\n    matchLabels:\r\n      app: nginx\r\n  replicas: 2 # tells deployment to run 2 pods matching the template\r\n  template:\r\n    metadata:\r\n      labels:\r\n        app: nginx\r\n    spec:\r\n      containers:\r\n      - name: nginx\r\n        image: nginx:1.14.2\r\n        ports:\r\n        - containerPort: 80\r\n
\r\n

This creates metadata named nginx-deployment. It also creates a label called app, and sets it to nginx. This metadata is used as selectors for pods and services later.

\r\n

For now, create a deployment using the example:

\r\n
[k100c]$ k3s kubectl --namespace ktest \\\r\ncreate -f https://k8s.io/examples/application/deployment.yaml\r\n
\r\n

Confirm that the deployment has generated and started new pods:

\r\n
[k100c]$ k3s kubectl --namespace ktest get all\r\n3s kubectl --namespace ktest get all\r\nNAME                                  READY\r\npod/nginx-deployment-66b[...]   1/1   Running\r\npod/nginx-deployment-66b[...]   1/1   Running\r\n\r\nNAME                               READY\r\ndeployment.apps/nginx-deployment   2/2\r\n\r\nNAME\r\nreplicaset.apps/nginx-deployment-66b6c48dd5\r\n
\r\n

See the pods labelled with app: nginx:

\r\n
[k100c]$ k3s kubectl --namespace ktest \\\r\nget pods -l app=nginx\r\nNAME                                READY STATUS\r\nnginx-deployment-66b6c48dd5-9vgg8   1/1   Running\r\nnginx-deployment-66b6c48dd5-prgrf   1/1   Running\r\nnginx-deployment-66b6c48dd5-cqpgf   1/1   Running\r\n
\r\n

Create a service

\r\n

Now you must connect the Nginx instance with a Kubernetes Service.

\r\n

The selector element is set to nginx to match pods running the nginx application. Without this selector, there would be nothing to correlate your service with the pods running the application you want to serve.

\r\n
[k100c]$ cat << EOF | k3s kubectl \\\r\n--namespace ktest create -f -\r\napiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  name: nginx-deployment\r\n  labels:\r\n    run: nginx-deployment\r\nspec:\r\n  ports:\r\n  - port: 80\r\n    protocol: TCP\r\n  selector:\r\n    app: nginx\r\nEOF\r\nservice/nginx-deployment created\r\n
\r\n

Verify that the service exists:

\r\n
[k100c]$ k3s kubectl --namespace ktest get svc nginx-deployment\r\nNAME       TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE\r\nnginx-deployment   ClusterIP   10.43.32.89   <none>        80/TCP    58s\r\n
\r\n

A Service is backed by a group of Pods. Pods are exposed through endpoints. A Service uses POST actions to populate Endpoints objects named nginx-deployment. Should a Pod die, it\'s removed from the endpoints, but new Pods matching the same selector are added to the endpoints. This is how Kubernetes ensures your application\'s uptime.

\r\n

To see more information:

\r\n
[k100c]$ k3s kubectl \\\r\n--namespace ktest \\\r\ndescribe svc nginx-deployment\r\nName:              nginx-deployment\r\nNamespace:         ktest\r\nLabels:            run=nginx-deployment\r\nAnnotations:       <none>\r\nSelector:          app=nginx\r\nType:              ClusterIP\r\nIP Family Policy:  SingleStack\r\nIP Families:       IPv4\r\nIP:                10.43.251.104\r\nIPs:               10.43.251.104\r\nPort:              <unset>  80/TCP\r\nTargetPort:        80/TCP\r\nEndpoints:         10.42.2.8:80,10.42.2.9:80,10.42.3.7:80\r\nSession Affinity:  None\r\nEvents:            <none>\r\n
\r\n

Notice that the Endpoints value is set to a series of IP addresses. This confirms that instances of Nginx are accessible. The IP of the service is set to 10.43.251.104, and it\'s running on port 80/TCP. That means you can log onto any of your nodes (referred to as \"inside the cluster\") to interact with your Nginx app. This does not work from your control plane, only from a node.

\r\n
[k101c]$ curl https://10.43.251.104\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n<title>Welcome to nginx!</title>\r\n</head>\r\n<body>\r\n<h1>Welcome to nginx!</h1>\r\n</body>\r\n</html>\r\n
\r\n

Nginx is accessible.

\r\n

The only thing left to do now is to route traffic from the outside world.

\r\n

Exposing a deployment

\r\n

For a deployed application to be visible outside your cluster, you need to route network traffic to it. There are many tools that provide that functionality.

\r\n

Install metallb:

\r\n
$ k3s kubectl apply \\\r\n-f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/namespace.yaml\r\n$ k3s kubectl apply \\\r\n-f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/metallb.yaml\r\n$ k3s kubectl create secret generic \\\r\n-n metallb-system memberlist \\\r\n--from-literal=secretkey="$(openssl rand -base64 128)"\r\n
\r\n

Determine what network range you want your cluster to use. This must not overlap with what your DHCP server is managing.

\r\n
---\r\napiVersion: v1\r\nkind: ConfigMap\r\nmetadata:\r\n  namespace: metallb-system\r\n  name: config\r\ndata:\r\n  config: |\r\n    address-pools:\r\n    - name: address-pool-0\r\n      protocol: layer2\r\n      addresses:\r\n      - 10.0.1.1/26\r\n
\r\n

Save this as metallb.yaml and apply the configuration:

\r\n
$ k3s kubectl apply -f metallb.yaml\r\n
\r\n

You now have a configmap for metallb, and metallb is running.

\r\n

Create a load balance service mapping your deployment\'s ports (port 80 in this case, which you can verify with k3s kubectl -n ktest get all). Save this as loadbalance.yaml:

\r\n
---\r\napiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  name: ktest-ext\r\n  namespace: ktest\r\nspec:\r\n  selector:\r\n    app: nginx\r\n  ports:\r\n    - protocol: TCP\r\n      port: 80\r\n      targetPort: 80\r\n  type: LoadBalancer\r\n
\r\n

This service selects any deployment in the ktest namespace with an app name of nginx, and maps the container\'s port 80 to a port 80 for an IP address within your address range (in my example, that\'s 10.0.1.1/26, or 10.0.1.1-10.0.1.62).

\r\n
$k3s kubectl apply -f loadbalance.yaml\r\n
\r\n

Find out what external IP address it got:

\r\n
$ k3s kubectl get service ktest-ext -n ktest\r\nNAME        TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)\r\nktest   LoadBalancer   10.43.138.91   10.0.1.3                  80:31790/TCP\r\n
\r\n

Open a web browser and navigate to the external IP address listed (in this example, 10.0.1.3).

\r\n

\"Nginx\"

\r\n',78,61,0,'CC-BY-SA','network, kubernetes, cloud',0,0,1), (3438,'2021-10-06','Ten privacy friendly Google search alternatives.',551,'Google search is monopolistic here are some alternatives','

Here are links to all the search engines and related stuff discussed during this podcast,

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

\r\nhpr0773 :: Interview with Gabriel Weinberg of DuckDuckGo

\r\n',397,74,0,'CC-BY-SA','searx, whoogle, metager, gigablast, private.sh, ecosia, startpage, qwant, brave, duckduckgo',0,0,1), (3446,'2021-10-18','Speech To Text',1378,'I talk about converting HPR audio to text and tagging','\r\n',36,0,0,'CC-BY-SA','AI,ML,scripting,audio',0,0,1), (3721,'2022-11-07','HPR Community News for October 2022',3248,'HPR Volunteers talk about shows released and comments posted in October 2022','\n\n

New hosts

\n

\nWelcome to our new hosts:
\n\n Paul J, \n m0dese7en, \n CCHits.net Team.\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\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
3696Mon2022-10-03HPR Community News for September 2022HPR Volunteers
3697Tue2022-10-04Mis-information, Dis-information, and Fake News. You are a product and target for all of it.Lurking Prion
3698Wed2022-10-05SpectrogramKlaatu
3699Thu2022-10-06Old and new videogames/board games with guest binrcCeleste
3700Fri2022-10-07Introduction to Batch FilesAhuka
3701Mon2022-10-10ReiserFS - the file system of the futurePaul J
3702Tue2022-10-11Easter OggDave Morriss
3703Wed2022-10-12McCurdy House Touroperat0r
3704Thu2022-10-13Follow up to hpr3685 :: Budget and an Android appArcher72
3705Fri2022-10-14The Year of the FreeBSD Desktopbinrc
3706Mon2022-10-17The Future of TechnologyLurking Prion
3707Tue2022-10-18Recovering a Massive 3.5 HP Electric Motor from a TreadmillMechatroniac
3708Wed2022-10-19Insomnia as a HobbyTrumpetJohn
3709Thu2022-10-20Relationships to games and console generationsm0dese7en
3710Fri2022-10-21Changing Plans AgainAhuka
3711Mon2022-10-24CarsZen_Floater2
3712Tue2022-10-25The last ever CCHits.net ShowCCHits.net Team
3713Wed2022-10-26Bash snippet - short-circuit evaluation in Bash Boolean expressionsDave Morriss
3714Thu2022-10-27The News with Some Guy On the InternetSome Guy On The Internet
3715Fri2022-10-28Secret hat conversations, Part 2.Some Guy On The Internet
3716Mon2022-10-31How I got in to TechLurking Prion
\n\n

Comments this month

\n\n

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

\n

Past shows

\n

There are 5 comments on\n3 previous shows:

\n\n

This month\'s shows

\n

There are 29 comments on 14 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://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2022-October/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

Older HPR shows on\narchive.org, phase 2

\n

Now that all shows from number 1 to the latest have been uploaded to\nthe Internet Archive there are other tasks to perform. We are\nreprocessing and re-uploading shows in the range 871 to 2429 as\nexplained in the Community News show notes released in May\n2022. We are keeping a running total here to show progress:

\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
\nMonth\n\nMonth count\n\nRunning total\n\nRemainder\n
\n2022-04\n\n130\n\n130\n\n1428\n
\n2022-05\n\n140\n\n270\n\n1288\n
\n2022-06\n\n150\n\n420\n\n1138\n
\n2022-07\n\n155\n\n575\n\n983\n
\n2022-08\n\n155\n\n730\n\n828\n
\n2022-09\n\n150\n\n880\n\n678\n
\n2022-10\n\n155\n\n1035\n\n523\n
\n\n

Updated: 2022-11-05 15:28:06

\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1), @@ -536,8 +548,9 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (3993,'2023-11-22','z80 membership card',934,'review of a kit','\n

01 membership card
\n
Click the\nthumbnail to see the full-sized image

\n

02 membership card back
\n
Click the\nthumbnail to see the full-sized image

\n

03 front panel card
\n
Click the\nthumbnail to see the full-sized image

\n

04 front card back
\n
Click the\nthumbnail to see the full-sized image

\n

05 assembled
\n
Click the thumbnail to\nsee the full-sized image

\n

06 in the can
\n
Click the thumbnail to\nsee the full-sized image

\n

07 things added
\n
Click the thumbnail\nto see the full-sized image

\n

08 fits inside
\n
Click the thumbnail\nto see the full-sized image

\n

09 compleat
\n
Click the thumbnail to\nsee the full-sized image

\n

10 docs
\n
Click the thumbnail to see\nthe full-sized image

\n',326,103,0,'CC-BY-SA','z80, retro computing',0,0,1), (3994,'2023-11-23','Lastpass Response',790,'I talk about lastpass','

I talk about LastPass.

\n',36,0,1,'CC-BY-SA','security,computers,internet',0,0,1), (3995,'2023-11-24','Creating Your Own Internet Radio Streaming Device',570,'Claudio talks about a couple of streaming radio solutions to make your own internet radio device.','

aNONradio: https://anonradio.net
\nTildeRadio: https://tilderadio.org

\n

Volumio: https://volumio.com/
\nmoOde Audio: https://moodeaudio.org/

\n',152,0,0,'CC-BY-SA','moode,raspberrypi,audio,internetradio,streamingradio,multimedia,volumio,anonradio,tilderadio',0,0,1), -(3996,'2023-11-27','Holiday Challenges Series - Ep 1 - Advent of Code',221,'Discussing challenges to help you enjoy the holiday season','

Holiday\nChallenges Series - Ep 1 - Advent of Code

\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

Whichever holidays you celebrate this time of year, life generally\ngets busy and stressful.

\n

It could be shopping
\nor cooking
\nor cleaning
\nor school activities
\nor buying, assembling, wrapping, and delivering gifts
\nor planning time with family
\nor dealing with visiting family
\nor scheduling time off from work
\nor managing extra work while others have scheduled time off
\nor a whole plethora of other things.
\nThis time of year can be stressful.

\n

A few years ago, I discovered a fun activity, which challenged my\nmind and helped me focus and detach from the stress for a little while\neach day, through the month of December. It helped me manage the stress\nin an enjoyable way.

\n

Since then, I have found and tried several other similar activities,\nso I wanted to share a little about them with you for the next few\nepisodes so you can see what might work for you.

\n

The first I would like to share is called the Advent of Code\nChallenge (https://adventofcode.com/). In HPR episodes 2973 (https://hackerpublicradio.org/eps/hpr2973/index.html)\nand 3744 (https://hackerpublicradio.org/eps/hpr3744/index.html),\nDaniel Perrson shared some great details about this challenge. I\nencourage you to go review his episodes.

\n

But the TLDR (Or maybe the TLDL -- Too Long Didn\'t Listen?) for\nAdvent of Code is that it is a 25 day challenge which begins on December\n1. Once you register at adventofcode.com, Each day, you will be\npresented with a problem to solve and some sample data to use for\nverification that your program works. You can choose to use any\nprogramming language or application you desire produce the answer. Last\nyear, I used this to brush up on my Python skills. Others use Visual\nBasic, C (and all its variants), Rust, Go, etc. I have seen people use\nCobol, Fortran, and Pascal, or even Microsoft Excel. It is really up to\nyou. You are then presented a dataset which is unique to your login, and\nagainst which you run your code. When complete, you submit the answer\ncame up with on the adventofcode.com web site and they will tell you if\nyou are correct or not.

\n

If you are competitive (And REALLY GOOD) there is a Global\nLeaderboard. If you want to compete with a group of friends, you can\nbuild your own leaderboard and invite others to take part with you.

\n

There are tons of resources online, from youtube channels to reddit\n(https://www.reddit.com/r/adventofcode/), to Discord (https://discord.gg/tXJh262)

\n

So, if you are looking for a way to challenge your mind and detach\nfrom holiday stress, Advent of Code may be something you might try.

\n

If this is not your cup of tea, I will be sharing several other\noptions for holiday challenges in future episodes.

\n',394,0,0,'CC-BY-SA','Advent of Code, holiday, challenge',0,0,0), -(3999,'2023-11-30','Holiday Challenges Series Ep 02 TryHackMe Advent of Cyber Challenge',183,'Discussing the TryHackMe Advent of Cyber challenge to help you enjoy the holiday season','Holiday\nChallenges Series - Ep 2 - TryHackMe Advent of Cyber Challenge\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

If you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996

\n

I have been using TryHackMe for several years, and I recommend it to\nall of my students. It is a great environment where people can get hands\non experience with technology that relates to cyber security, all from\nthe comfort of their browser and free year-round.

\n

The TryHackMe Advent of Cyber challenge is a free gamified\nenvironment which focuses on penetration testing, security\noperations/engineering, forensics/incident response, malware analysis,\nmachine learning, and more!

\n

This year\'s challenge opens on December 1, 2023 (Which is the reason\nwhy I am posting twice this week). Typically, the Advent of Cyber\nchallenge includes daily beginner-friendly exercises for people new to\ncybersecurity. These can consist of walkthroughs, video tutorials, and\nchallenges. There are also prizes available based on random drawings and\non participant success.

\n

Infosec personalities like John Hammond, Gerald Auger, InsiderPHD,\nand InfoSec Pat are featured in this year\'s challenge.

\n

You can play with last year\'s Advent of Cyber challenge by visiting\nhttps://tryhackme.com/room/adventofcyber4. It outlines\nthe overall story and shows all of the tasks last year\'s participants\nexperienced, including both offensive and defensive topics like: log\nanalysis, OSINT, scanning, brute force attacks, email analysis,\nCyberChef, blockchain smart contracts, malware analysis, memory\nforensics, packet analysis, web application hacking, and more!

\n

Everything can be done with a free account from within a browser.

\n

If you want to learn more about cybersecurity, transition your career\ninto infosec, or just have fun playing with cyber challenges, you can\ngive it a try by visiting tryhackme.com or https://tryhackme.com/r/christmas

\n

Please note: I am not affiliated with TryHackMe in any way, other\nthan having been a paying member for many years. Students and others who\nhave participated in previous year\'s Advent of Cyber challenges have\ntold me how much they enjoyed it and learned from it. Even though I have\nbeen an infosec practitioner for more years than I would like to admit,\nI also have enjoyed taking part in this challenge.

\n

If this is not for you, I will be sharing another option for a\nholiday challenge in my next episode.

\n',394,0,0,'CC-BY-SA','Advent of Cyber, TryHackMe, Hands on, cyber, cybersecurity, infosec, holiday, challenge',0,0,0); +(3996,'2023-11-27','Holiday Challenges Series - Ep 1 - Advent of Code',221,'Discussing challenges to help you enjoy the holiday season','

Holiday\nChallenges Series - Ep 1 - Advent of Code

\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

Whichever holidays you celebrate this time of year, life generally\ngets busy and stressful.

\n

It could be shopping
\nor cooking
\nor cleaning
\nor school activities
\nor buying, assembling, wrapping, and delivering gifts
\nor planning time with family
\nor dealing with visiting family
\nor scheduling time off from work
\nor managing extra work while others have scheduled time off
\nor a whole plethora of other things.
\nThis time of year can be stressful.

\n

A few years ago, I discovered a fun activity, which challenged my\nmind and helped me focus and detach from the stress for a little while\neach day, through the month of December. It helped me manage the stress\nin an enjoyable way.

\n

Since then, I have found and tried several other similar activities,\nso I wanted to share a little about them with you for the next few\nepisodes so you can see what might work for you.

\n

The first I would like to share is called the Advent of Code\nChallenge (https://adventofcode.com/). In HPR episodes 2973 (https://hackerpublicradio.org/eps/hpr2973/index.html)\nand 3744 (https://hackerpublicradio.org/eps/hpr3744/index.html),\nDaniel Perrson shared some great details about this challenge. I\nencourage you to go review his episodes.

\n

But the TLDR (Or maybe the TLDL -- Too Long Didn\'t Listen?) for\nAdvent of Code is that it is a 25 day challenge which begins on December\n1. Once you register at adventofcode.com, Each day, you will be\npresented with a problem to solve and some sample data to use for\nverification that your program works. You can choose to use any\nprogramming language or application you desire produce the answer. Last\nyear, I used this to brush up on my Python skills. Others use Visual\nBasic, C (and all its variants), Rust, Go, etc. I have seen people use\nCobol, Fortran, and Pascal, or even Microsoft Excel. It is really up to\nyou. You are then presented a dataset which is unique to your login, and\nagainst which you run your code. When complete, you submit the answer\ncame up with on the adventofcode.com web site and they will tell you if\nyou are correct or not.

\n

If you are competitive (And REALLY GOOD) there is a Global\nLeaderboard. If you want to compete with a group of friends, you can\nbuild your own leaderboard and invite others to take part with you.

\n

There are tons of resources online, from youtube channels to reddit\n(https://www.reddit.com/r/adventofcode/), to Discord (https://discord.gg/tXJh262)

\n

So, if you are looking for a way to challenge your mind and detach\nfrom holiday stress, Advent of Code may be something you might try.

\n

If this is not your cup of tea, I will be sharing several other\noptions for holiday challenges in future episodes.

\n',394,0,0,'CC-BY-SA','Advent of Code, holiday, challenge',0,0,1), +(3999,'2023-11-30','Holiday Challenges Series Ep 02 TryHackMe Advent of Cyber Challenge',183,'Discussing the TryHackMe Advent of Cyber challenge to help you enjoy the holiday season','Holiday\nChallenges Series - Ep 2 - TryHackMe Advent of Cyber Challenge\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

If you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996

\n

I have been using TryHackMe for several years, and I recommend it to\nall of my students. It is a great environment where people can get hands\non experience with technology that relates to cyber security, all from\nthe comfort of their browser and free year-round.

\n

The TryHackMe Advent of Cyber challenge is a free gamified\nenvironment which focuses on penetration testing, security\noperations/engineering, forensics/incident response, malware analysis,\nmachine learning, and more!

\n

This year\'s challenge opens on December 1, 2023 (Which is the reason\nwhy I am posting twice this week). Typically, the Advent of Cyber\nchallenge includes daily beginner-friendly exercises for people new to\ncybersecurity. These can consist of walkthroughs, video tutorials, and\nchallenges. There are also prizes available based on random drawings and\non participant success.

\n

Infosec personalities like John Hammond, Gerald Auger, InsiderPHD,\nand InfoSec Pat are featured in this year\'s challenge.

\n

You can play with last year\'s Advent of Cyber challenge by visiting\nhttps://tryhackme.com/room/adventofcyber4. It outlines\nthe overall story and shows all of the tasks last year\'s participants\nexperienced, including both offensive and defensive topics like: log\nanalysis, OSINT, scanning, brute force attacks, email analysis,\nCyberChef, blockchain smart contracts, malware analysis, memory\nforensics, packet analysis, web application hacking, and more!

\n

Everything can be done with a free account from within a browser.

\n

If you want to learn more about cybersecurity, transition your career\ninto infosec, or just have fun playing with cyber challenges, you can\ngive it a try by visiting tryhackme.com or https://tryhackme.com/r/christmas

\n

Please note: I am not affiliated with TryHackMe in any way, other\nthan having been a paying member for many years. Students and others who\nhave participated in previous year\'s Advent of Cyber challenges have\ntold me how much they enjoyed it and learned from it. Even though I have\nbeen an infosec practitioner for more years than I would like to admit,\nI also have enjoyed taking part in this challenge.

\n

If this is not for you, I will be sharing another option for a\nholiday challenge in my next episode.

\n',394,0,0,'CC-BY-SA','Advent of Cyber, TryHackMe, Hands on, cyber, cybersecurity, infosec, holiday, challenge',0,0,1), +(4006,'2023-12-11','Holiday Challenges Ep 3 SANS Holiday Hack Challenge & KringleCon',160,'Discussing the SANS Holiday Hack Challenge & KringleCon to help you enjoy the holiday season','Holiday\nChallenges Series - Ep 3 - SANS Holiday Hack Challenge with\nKringleCon\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

If you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996

\n

The SANS Holiday Hack Challenge is an interactive online technology\nand hacking game combined with a virtual security conference, beginning\nin the second week of December. By the time this episode drops, it may\nalready be live. You can tour the North Pole conference facilities,\nmeeting people, interactive non-player characters (NPC), and maybe even\nsome villains from Holiday Hack Challenges past, as you solve problems\nand gather clues which you use to help save Christmas.

\n

Everything can be done from within the browser, and did I mention\nthere is a virtual security conference, called KringleCon? Some of the\nbiggest rock stars (and most humble and brilliant people) in\nCyberSecurity speak each year at KringleCon. Many of their talks also\nprovide clues to solving game challenges.

\n

Ed Skoudis and his team (The same people who build SANS NetWars) work\ntirelessly year after year to create the most amazing experience,\ncomplete with custom music! This has become one of my favorite holiday\ntraditions each year. You can learn more about the 2023 challenge by\nwatching Ed\'s Inside SANS Holiday Hack Challenge 2023 YouTube video at\nhttps://www.youtube.com/watch?v=X9Gmdr_CxzQ

\n

You can access this year\'s challenge by visiting sans.org/holidayhack\nor https://www.sans.org/mlp/holiday-hack-challenge-2023/

\n

There, you will learn more about all things Holiday Hack before the\ngame opens in the second week of December. If you want to play now, or\njust get a feel for it, you can access three of the previous years\'\nchallenges right now at the same site.

\n

I am not associated with SANS or the Holiday Hack Challenge in any\nway, other than to have participated for several years now, and I have\nwatched other people learn and grow by taking part in it.

\n

I hope that you have enjoyed this short series. If there are other\nonline challenges you find interesting or informative, I encourage you\nto record a show about them.

\n

Have a wonderful day.

\n',394,0,0,'CC-BY-SA','SANS, KringleCon, holiday, challenge',0,0,0); /*!40000 ALTER TABLE `eps` ENABLE KEYS */; UNLOCK TABLES; @@ -985,16 +998,3 @@ CREATE TABLE `licenses` ( `id` int(5) NOT NULL AUTO_INCREMENT, `short_name` varchar(11) NOT NULL, `long_name` varchar(40) NOT NULL, - `url` varchar(80) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `licenses` --- - -LOCK TABLES `licenses` WRITE; -/*!40000 ALTER TABLE `licenses` DISABLE KEYS */; -INSERT INTO `licenses` (`id`, `short_name`, `long_name`, `url`) VALUES (1,'CC-0','Public Domain Dedication','http://creativecommons.org/publicdomain/zero/1.0/'), -(2,'CC-BY','Attribution','http://creativecommons.org/licenses/by/4.0'), diff --git a/sql/hpr-db-part-15.sql b/sql/hpr-db-part-15.sql index 3725159..78ab677 100644 --- a/sql/hpr-db-part-15.sql +++ b/sql/hpr-db-part-15.sql @@ -1,3 +1,16 @@ + `url` varchar(80) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `licenses` +-- + +LOCK TABLES `licenses` WRITE; +/*!40000 ALTER TABLE `licenses` DISABLE KEYS */; +INSERT INTO `licenses` (`id`, `short_name`, `long_name`, `url`) VALUES (1,'CC-0','Public Domain Dedication','http://creativecommons.org/publicdomain/zero/1.0/'), +(2,'CC-BY','Attribution','http://creativecommons.org/licenses/by/4.0'), (3,'CC-BY-SA','Attribution-ShareAlike','http://creativecommons.org/licenses/by-sa/4.0'), (4,'CC-BY-ND','Attribution-NoDerivs','http://creativecommons.org/licenses/by-nd/4.0'), (5,'CC-BY-NC','Attribution-NonCommercial','http://creativecommons.org/licenses/by-nc/4.0'), @@ -461,4 +474,4 @@ UNLOCK TABLES; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2023-11-20 17:37:55 +-- Dump completed on 2023-11-20 19:33:41 diff --git a/sql/hpr.sql b/sql/hpr.sql index 855e491..5282020 100644 --- a/sql/hpr.sql +++ b/sql/hpr.sql @@ -12617,7 +12617,19 @@ INSERT INTO `assets` (`episode_id`, `filename`, `extension`, `size`, `sha1sum`, (3995,'hpr3995.spx','spx',2460693,'508f3d51d3ee547b8bd824aebf0200fc1469c5cf','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), (3995,'hpr3995.flac','flac',51912256,'ce8767cf8983cba30b87e4106f40168bd458a012','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 125073842 samples'), (3995,'hpr3995.opus','opus',6157001,'f8e4382b22ffbcd0e88bfbba90985820f22f66da','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), -(3995,'hpr3995.wav','wav',250147786,'44156ae181f31b051f2a4f7c06efd22c539adb19','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'); +(3995,'hpr3995.wav','wav',250147786,'44156ae181f31b051f2a4f7c06efd22c539adb19','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3996,'hpr3996.mp3','mp3',2413100,'41b64f7985246d5239007ec1c215ae47444ade79','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), +(3996,'hpr3996.ogg','ogg',2496551,'de7e433ddc4bf2925d376055274c7fc5c61945d0','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3996,'hpr3996.spx','spx',1139268,'ab02fd35963b10a3be3decdd288af914179109d0','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3996,'hpr3996.flac','flac',25904073,'eca9ff8843d8155086bbf0edf808caeb5654c81f','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 57901066 samples'), +(3996,'hpr3996.opus','opus',2496551,'8b7f5b98567f08cd22bfebbd73b6d656f8ce0d16','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3996,'hpr3996.wav','wav',115802234,'275cea4da85c4b75fe3ad24f7a12509f3a329270','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'), +(3999,'hpr3999.mp3','mp3',2114348,'86087e2b075d747b4cab0899c0bdba5896b8397e','audio/mpeg; charset=binary','setgid Audio file with ID3 version 2.4.0, contains:MPEG ADTS, layer III, v1, 64 kbps, 48 kHz, Monaural'), +(3999,'hpr3999.ogg','ogg',2379291,'4e5d888f4b249bc2168f02adb3b36f5456b672a0','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3999,'hpr3999.spx','spx',998244,'fd170d3f69a391ab96ebcd4012af61d61af14a16','audio/ogg; charset=binary','setgid Ogg data, Speex audio'), +(3999,'hpr3999.flac','flac',20631551,'3fbc3f2d14e0abf98cb6f2756585e429a650c87f','audio/flac; charset=binary','setgid FLAC audio bitstream data, 16 bit, mono, 192 kHz, 50730889 samples'), +(3999,'hpr3999.opus','opus',2379291,'b4e12a7e01edb587e1be6a9af9210a799e820365','audio/ogg; charset=binary','setgid Ogg data, Opus audio,'), +(3999,'hpr3999.wav','wav',101461880,'3adb969b52365135d5952141c0cb75a7a8a04fe1','audio/x-wav; charset=binary','setgid RIFF (little-endian) data, WAVE audio, mono 192000 Hz'); /*!40000 ALTER TABLE `assets` ENABLE KEYS */; UNLOCK TABLES; @@ -20536,8 +20548,9 @@ INSERT INTO `eps` (`id`, `date`, `title`, `duration`, `summary`, `notes`, `hosti (3993,'2023-11-22','z80 membership card',934,'review of a kit','
    \n
  • intro\n
  • \n
  • lee hart\n
      \n
    • electrical engineer
    • \n
    • was there at the beginning of the computer revolution
    • \n
    • life long love of electric vehicles
    • \n
  • \n
  • the kit\n
      \n
    • piece of art
    • \n
    • z80 membership, minimum computer
    • \n
    • front panel gives self contained system
    • \n
    • boards, all parts and altoid tin
    • \n
    • great documentation, schematics, assembly guide and getting\nstarted
    • \n
  • \n
  • the assembly\n
      \n
    • great instructions
    • \n
    • easy to solder
    • \n
    • a few tricks to get the boards to fit in the tin
    • \n
    • i made a dedicated serial cable by modifying ftdi cable
    • \n
    • i made a battery pack
    • \n
  • \n
  • usage\n
      \n
    • front panel takes a bit of practice to use (locations of keys)
    • \n
    • found a z80 assembly language tutorial, hand assembly
    • \n
    • portable z80 machine to learn
    • \n
  • \n
  • take away\n
      \n
    • excellent kit
    • \n
    • if your looking for a gift, many to choose from
    • \n
    • excellent quality
    • \n
  • \n
\n

01 membership card
\n
Click the\nthumbnail to see the full-sized image

\n

02 membership card back
\n
Click the\nthumbnail to see the full-sized image

\n

03 front panel card
\n
Click the\nthumbnail to see the full-sized image

\n

04 front card back
\n
Click the\nthumbnail to see the full-sized image

\n

05 assembled
\n
Click the thumbnail to\nsee the full-sized image

\n

06 in the can
\n
Click the thumbnail to\nsee the full-sized image

\n

07 things added
\n
Click the thumbnail\nto see the full-sized image

\n

08 fits inside
\n
Click the thumbnail\nto see the full-sized image

\n

09 compleat
\n
Click the thumbnail to\nsee the full-sized image

\n

10 docs
\n
Click the thumbnail to see\nthe full-sized image

\n',326,103,0,'CC-BY-SA','z80, retro computing',0,0,1), (3994,'2023-11-23','Lastpass Response',790,'I talk about lastpass','

I talk about LastPass.

\n',36,0,1,'CC-BY-SA','security,computers,internet',0,0,1), (3995,'2023-11-24','Creating Your Own Internet Radio Streaming Device',570,'Claudio talks about a couple of streaming radio solutions to make your own internet radio device.','

aNONradio: https://anonradio.net
\nTildeRadio: https://tilderadio.org

\n

Volumio: https://volumio.com/
\nmoOde Audio: https://moodeaudio.org/

\n',152,0,0,'CC-BY-SA','moode,raspberrypi,audio,internetradio,streamingradio,multimedia,volumio,anonradio,tilderadio',0,0,1), -(3996,'2023-11-27','Holiday Challenges Series - Ep 1 - Advent of Code',221,'Discussing challenges to help you enjoy the holiday season','

Holiday\nChallenges Series - Ep 1 - Advent of Code

\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

Whichever holidays you celebrate this time of year, life generally\ngets busy and stressful.

\n

It could be shopping
\nor cooking
\nor cleaning
\nor school activities
\nor buying, assembling, wrapping, and delivering gifts
\nor planning time with family
\nor dealing with visiting family
\nor scheduling time off from work
\nor managing extra work while others have scheduled time off
\nor a whole plethora of other things.
\nThis time of year can be stressful.

\n

A few years ago, I discovered a fun activity, which challenged my\nmind and helped me focus and detach from the stress for a little while\neach day, through the month of December. It helped me manage the stress\nin an enjoyable way.

\n

Since then, I have found and tried several other similar activities,\nso I wanted to share a little about them with you for the next few\nepisodes so you can see what might work for you.

\n

The first I would like to share is called the Advent of Code\nChallenge (https://adventofcode.com/). In HPR episodes 2973 (https://hackerpublicradio.org/eps/hpr2973/index.html)\nand 3744 (https://hackerpublicradio.org/eps/hpr3744/index.html),\nDaniel Perrson shared some great details about this challenge. I\nencourage you to go review his episodes.

\n

But the TLDR (Or maybe the TLDL -- Too Long Didn\'t Listen?) for\nAdvent of Code is that it is a 25 day challenge which begins on December\n1. Once you register at adventofcode.com, Each day, you will be\npresented with a problem to solve and some sample data to use for\nverification that your program works. You can choose to use any\nprogramming language or application you desire produce the answer. Last\nyear, I used this to brush up on my Python skills. Others use Visual\nBasic, C (and all its variants), Rust, Go, etc. I have seen people use\nCobol, Fortran, and Pascal, or even Microsoft Excel. It is really up to\nyou. You are then presented a dataset which is unique to your login, and\nagainst which you run your code. When complete, you submit the answer\ncame up with on the adventofcode.com web site and they will tell you if\nyou are correct or not.

\n

If you are competitive (And REALLY GOOD) there is a Global\nLeaderboard. If you want to compete with a group of friends, you can\nbuild your own leaderboard and invite others to take part with you.

\n

There are tons of resources online, from youtube channels to reddit\n(https://www.reddit.com/r/adventofcode/), to Discord (https://discord.gg/tXJh262)

\n

So, if you are looking for a way to challenge your mind and detach\nfrom holiday stress, Advent of Code may be something you might try.

\n

If this is not your cup of tea, I will be sharing several other\noptions for holiday challenges in future episodes.

\n',394,0,0,'CC-BY-SA','Advent of Code, holiday, challenge',0,0,0), -(3999,'2023-11-30','Holiday Challenges Series Ep 02 TryHackMe Advent of Cyber Challenge',183,'Discussing the TryHackMe Advent of Cyber challenge to help you enjoy the holiday season','Holiday\nChallenges Series - Ep 2 - TryHackMe Advent of Cyber Challenge\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

If you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996

\n

I have been using TryHackMe for several years, and I recommend it to\nall of my students. It is a great environment where people can get hands\non experience with technology that relates to cyber security, all from\nthe comfort of their browser and free year-round.

\n

The TryHackMe Advent of Cyber challenge is a free gamified\nenvironment which focuses on penetration testing, security\noperations/engineering, forensics/incident response, malware analysis,\nmachine learning, and more!

\n

This year\'s challenge opens on December 1, 2023 (Which is the reason\nwhy I am posting twice this week). Typically, the Advent of Cyber\nchallenge includes daily beginner-friendly exercises for people new to\ncybersecurity. These can consist of walkthroughs, video tutorials, and\nchallenges. There are also prizes available based on random drawings and\non participant success.

\n

Infosec personalities like John Hammond, Gerald Auger, InsiderPHD,\nand InfoSec Pat are featured in this year\'s challenge.

\n

You can play with last year\'s Advent of Cyber challenge by visiting\nhttps://tryhackme.com/room/adventofcyber4. It outlines\nthe overall story and shows all of the tasks last year\'s participants\nexperienced, including both offensive and defensive topics like: log\nanalysis, OSINT, scanning, brute force attacks, email analysis,\nCyberChef, blockchain smart contracts, malware analysis, memory\nforensics, packet analysis, web application hacking, and more!

\n

Everything can be done with a free account from within a browser.

\n

If you want to learn more about cybersecurity, transition your career\ninto infosec, or just have fun playing with cyber challenges, you can\ngive it a try by visiting tryhackme.com or https://tryhackme.com/r/christmas

\n

Please note: I am not affiliated with TryHackMe in any way, other\nthan having been a paying member for many years. Students and others who\nhave participated in previous year\'s Advent of Cyber challenges have\ntold me how much they enjoyed it and learned from it. Even though I have\nbeen an infosec practitioner for more years than I would like to admit,\nI also have enjoyed taking part in this challenge.

\n

If this is not for you, I will be sharing another option for a\nholiday challenge in my next episode.

\n',394,0,0,'CC-BY-SA','Advent of Cyber, TryHackMe, Hands on, cyber, cybersecurity, infosec, holiday, challenge',0,0,0); +(3996,'2023-11-27','Holiday Challenges Series - Ep 1 - Advent of Code',221,'Discussing challenges to help you enjoy the holiday season','

Holiday\nChallenges Series - Ep 1 - Advent of Code

\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

Whichever holidays you celebrate this time of year, life generally\ngets busy and stressful.

\n

It could be shopping
\nor cooking
\nor cleaning
\nor school activities
\nor buying, assembling, wrapping, and delivering gifts
\nor planning time with family
\nor dealing with visiting family
\nor scheduling time off from work
\nor managing extra work while others have scheduled time off
\nor a whole plethora of other things.
\nThis time of year can be stressful.

\n

A few years ago, I discovered a fun activity, which challenged my\nmind and helped me focus and detach from the stress for a little while\neach day, through the month of December. It helped me manage the stress\nin an enjoyable way.

\n

Since then, I have found and tried several other similar activities,\nso I wanted to share a little about them with you for the next few\nepisodes so you can see what might work for you.

\n

The first I would like to share is called the Advent of Code\nChallenge (https://adventofcode.com/). In HPR episodes 2973 (https://hackerpublicradio.org/eps/hpr2973/index.html)\nand 3744 (https://hackerpublicradio.org/eps/hpr3744/index.html),\nDaniel Perrson shared some great details about this challenge. I\nencourage you to go review his episodes.

\n

But the TLDR (Or maybe the TLDL -- Too Long Didn\'t Listen?) for\nAdvent of Code is that it is a 25 day challenge which begins on December\n1. Once you register at adventofcode.com, Each day, you will be\npresented with a problem to solve and some sample data to use for\nverification that your program works. You can choose to use any\nprogramming language or application you desire produce the answer. Last\nyear, I used this to brush up on my Python skills. Others use Visual\nBasic, C (and all its variants), Rust, Go, etc. I have seen people use\nCobol, Fortran, and Pascal, or even Microsoft Excel. It is really up to\nyou. You are then presented a dataset which is unique to your login, and\nagainst which you run your code. When complete, you submit the answer\ncame up with on the adventofcode.com web site and they will tell you if\nyou are correct or not.

\n

If you are competitive (And REALLY GOOD) there is a Global\nLeaderboard. If you want to compete with a group of friends, you can\nbuild your own leaderboard and invite others to take part with you.

\n

There are tons of resources online, from youtube channels to reddit\n(https://www.reddit.com/r/adventofcode/), to Discord (https://discord.gg/tXJh262)

\n

So, if you are looking for a way to challenge your mind and detach\nfrom holiday stress, Advent of Code may be something you might try.

\n

If this is not your cup of tea, I will be sharing several other\noptions for holiday challenges in future episodes.

\n',394,0,0,'CC-BY-SA','Advent of Code, holiday, challenge',0,0,1), +(3999,'2023-11-30','Holiday Challenges Series Ep 02 TryHackMe Advent of Cyber Challenge',183,'Discussing the TryHackMe Advent of Cyber challenge to help you enjoy the holiday season','Holiday\nChallenges Series - Ep 2 - TryHackMe Advent of Cyber Challenge\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

If you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996

\n

I have been using TryHackMe for several years, and I recommend it to\nall of my students. It is a great environment where people can get hands\non experience with technology that relates to cyber security, all from\nthe comfort of their browser and free year-round.

\n

The TryHackMe Advent of Cyber challenge is a free gamified\nenvironment which focuses on penetration testing, security\noperations/engineering, forensics/incident response, malware analysis,\nmachine learning, and more!

\n

This year\'s challenge opens on December 1, 2023 (Which is the reason\nwhy I am posting twice this week). Typically, the Advent of Cyber\nchallenge includes daily beginner-friendly exercises for people new to\ncybersecurity. These can consist of walkthroughs, video tutorials, and\nchallenges. There are also prizes available based on random drawings and\non participant success.

\n

Infosec personalities like John Hammond, Gerald Auger, InsiderPHD,\nand InfoSec Pat are featured in this year\'s challenge.

\n

You can play with last year\'s Advent of Cyber challenge by visiting\nhttps://tryhackme.com/room/adventofcyber4. It outlines\nthe overall story and shows all of the tasks last year\'s participants\nexperienced, including both offensive and defensive topics like: log\nanalysis, OSINT, scanning, brute force attacks, email analysis,\nCyberChef, blockchain smart contracts, malware analysis, memory\nforensics, packet analysis, web application hacking, and more!

\n

Everything can be done with a free account from within a browser.

\n

If you want to learn more about cybersecurity, transition your career\ninto infosec, or just have fun playing with cyber challenges, you can\ngive it a try by visiting tryhackme.com or https://tryhackme.com/r/christmas

\n

Please note: I am not affiliated with TryHackMe in any way, other\nthan having been a paying member for many years. Students and others who\nhave participated in previous year\'s Advent of Cyber challenges have\ntold me how much they enjoyed it and learned from it. Even though I have\nbeen an infosec practitioner for more years than I would like to admit,\nI also have enjoyed taking part in this challenge.

\n

If this is not for you, I will be sharing another option for a\nholiday challenge in my next episode.

\n',394,0,0,'CC-BY-SA','Advent of Cyber, TryHackMe, Hands on, cyber, cybersecurity, infosec, holiday, challenge',0,0,1), +(4006,'2023-12-11','Holiday Challenges Ep 3 SANS Holiday Hack Challenge & KringleCon',160,'Discussing the SANS Holiday Hack Challenge & KringleCon to help you enjoy the holiday season','Holiday\nChallenges Series - Ep 3 - SANS Holiday Hack Challenge with\nKringleCon\n

Since some of the information you are about to hear is time specific,\nI want to let you know that I am recording this near the end of November\nin 2023.

\n

If you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996

\n

The SANS Holiday Hack Challenge is an interactive online technology\nand hacking game combined with a virtual security conference, beginning\nin the second week of December. By the time this episode drops, it may\nalready be live. You can tour the North Pole conference facilities,\nmeeting people, interactive non-player characters (NPC), and maybe even\nsome villains from Holiday Hack Challenges past, as you solve problems\nand gather clues which you use to help save Christmas.

\n

Everything can be done from within the browser, and did I mention\nthere is a virtual security conference, called KringleCon? Some of the\nbiggest rock stars (and most humble and brilliant people) in\nCyberSecurity speak each year at KringleCon. Many of their talks also\nprovide clues to solving game challenges.

\n

Ed Skoudis and his team (The same people who build SANS NetWars) work\ntirelessly year after year to create the most amazing experience,\ncomplete with custom music! This has become one of my favorite holiday\ntraditions each year. You can learn more about the 2023 challenge by\nwatching Ed\'s Inside SANS Holiday Hack Challenge 2023 YouTube video at\nhttps://www.youtube.com/watch?v=X9Gmdr_CxzQ

\n

You can access this year\'s challenge by visiting sans.org/holidayhack\nor https://www.sans.org/mlp/holiday-hack-challenge-2023/

\n

There, you will learn more about all things Holiday Hack before the\ngame opens in the second week of December. If you want to play now, or\njust get a feel for it, you can access three of the previous years\'\nchallenges right now at the same site.

\n

I am not associated with SANS or the Holiday Hack Challenge in any\nway, other than to have participated for several years now, and I have\nwatched other people learn and grow by taking part in it.

\n

I hope that you have enjoyed this short series. If there are other\nonline challenges you find interesting or informative, I encourage you\nto record a show about them.

\n

Have a wonderful day.

\n',394,0,0,'CC-BY-SA','SANS, KringleCon, holiday, challenge',0,0,0); /*!40000 ALTER TABLE `eps` ENABLE KEYS */; UNLOCK TABLES; @@ -21461,4 +21474,4 @@ UNLOCK TABLES; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2023-11-20 17:37:55 +-- Dump completed on 2023-11-20 19:33:41