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\nogg 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
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\nTo 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\nIPTables Tutorial: https://iptables-tutorial.frozentux.net/
\r\n\r\nA 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\nDisable root login via ssh: https://www.howtogeek.com/howto/linux/security-tip-disable-root-ssh-login-on-linux/
\r\n\r\nSetting up ssh keys and disabling password logins.
\r\n\r\nhttps://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','Klaatu at Ohio Linux Fest 2009 interviews DWick, a math professor, about math programs on Linux.
\r\nThe 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','Recorded 10-31-2009.
\r\nmonsterb, 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\nEnding song by Kelly Allyn - 07 Whiskey Can.
\r\nPlease 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\nKen requests an episode on Fahrenheit, which really requires discussion of the two temperature systems, and how they are quantified.
\r\nCentigrade: 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
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\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\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\nOver 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\nAs a teaching device, you need to make sure all the information that has been abstracted away has been put back.
\r\nThat is the basic principle of the ccClock
\r\nThe 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.
\nA 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.
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.
\nEven 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.
\nI\'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\n\n\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\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\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\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\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\nOver 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\nAs a teaching device, you need to make sure all the information that has been abstracted away has been put back.
\r\nThat is the basic principle of the ccClock
\r\nThe 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.
\nA 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.
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.
\nEven 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.
\nI\'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\n\n\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\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\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\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.
Ken and Dave introduce the show
\r\n\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\nNext was a chat with Anne Ghisla from the OSGeo project.\r\n
\r\n\r\nThe Open Source Geospatial Foundation\r\n
\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\nhttps://www.osgeo.org/\r\n
\r\n\r\n
Dirk Frigne and Anne Ghisla
Sample folders at the booth
\r\nFollowing on we talk to Dirk Frigne\r\n
\r\n\r\nWhat is Geomajas?\r\n
\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\nhttps://geomajas.org/\r\n
\r\n\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
The tuner referred to in the interview
The pc referred to in the interview
\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\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\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\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\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ář
HelenOS Screen Shot
\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\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\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\nGoogle 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?','\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
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\nRecorded 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','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.
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\nHi, I\'m Brian in Ohio
\r\nI 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\nAfter 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\nThe 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\nMy 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\nI 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\nI 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\nWell 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\nI 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','viper4android
\r\nhttps://vipersaudio.com/blog/?page_id=48
magisk
\r\nhttps://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445
Why? - to weigh a heavy object yourself
\r\nNot 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\nThings 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\nThis link is a youtube to help you visualize the steps. https://www.youtube.com/watch?v=ZBmxkWK_OFA
\r\nHate 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\nOther topics include Friendsgiving and giving thanks; probably the greatest gaming console of the 1970’s; early “hackings” (sic) committed by the hosts; << >>
\r\nAn extra-long episode of the grand finale of the Interface Zero RPG play-through.
\r\n\r\nSpoilers: 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\ninterfacezero/muzak/70891__spukkin__trumpetmetal.wav
\r\ninterfacezero/muzak/212926__simongray__mojo-cafe-nr-wagamama.flac
\r\ninterfacezero/muzak/243629__lebcraftlp__heavy-rain.flac
\r\ninterfacezero/muzak/382735__schots__gun-shot.flac
\r\ninterfacezero/muzak/186104__marcel-farres__elevator.flac
\r\ninterfacezero/muzak/187866__theomegapixel__metal-grind.flac
\r\ninterfacezero/muzak/66713__sunnysidesound__desk-pound.wav
\r\ninterfacezero/muzak/367222__bluedelta__thunder-rain-low-frequencies-4-channel-48khz.wav
\r\ninterfacezero/muzak/212678__fridobeck__firework-explosion-1.wav
\r\ninterfacezero/muzak/213610__dpoggioli__laser-gun-explosion.wav
\r\ninterfacezero/muzak/100772__cgeffex__huge-rocket-launcher.wav
\r\ninterfacezero/muzak/336735__newagesoup__double-explosion-bright-dark.wav
\r\ninterfacezero/ep2/329877__klavo1985__music-of-the-black-circus-the-very-best-by-kris-klavenes.flac
\r\ninterfacezero/ep2/94914__pcaeldries__lakeside2.flac
\r\ninterfacezero/ep2/153376__inchadney__the-bay.flac
\r\ninterfacezero/ep3/152396__taavi55__big-smash.ogg
\r\ninterfacezero/ep3/135465__joelaudio__quick-smash-001.wav
\r\ninterfacezero/ep3/387177__pfranzen__smashing-a-glass.ogg
Music
\r\n\r\nLyphrygerator and Wood/Water by William Kenlon, used with permission.\r\n
\r\n\r\nAll other music by Klaatu.\r\n
\r\nStory
\r\n\r\n\r\nWant to play this game yourself?\r\n
\r\n\r\n\r\nPathfinder and Starfinder are by Paizo\r\n
\r\n\r\nInterface Zero module available from driveThruRPG.com\r\n
\r\nAdventure path Job inSecurity is available from driveThruRPG.com.\r\n
\r\nThe source of the story is available from driveThruRPG.com
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\nThe case
\r\nhttps://www.amazon.de/gp/product/B01MPYI8SA/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
The Cables
\r\nhttps://www.amazon.de/gp/product/B06W53PXRB/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
\r\nhttps://www.amazon.de/gp/product/B01COOQIKU/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
The Screen protector
\r\nhttps://www.appelhoes.nl/Moshi-iVisor-AG-screenprotector-MacBook-Pro-13-inch-2016-Touch-Bar?gclid=EAIaIQobChMImvLt9PCI2AIVyTLTCh2FuwXfEAQYAiABEgJY6_D_BwE
Homebrew and Cask
\r\nhttps://brew.sh/
\r\nhttps://caskroom.github.io/
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','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.
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\nHi, I\'m Brian in Ohio
\r\nI 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\nAfter 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\nThe 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\nMy 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\nI 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\nI 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\nWell 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\nI 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','viper4android
\r\nhttps://vipersaudio.com/blog/?page_id=48
magisk
\r\nhttps://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445
Why? - to weigh a heavy object yourself
\r\nNot 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\nThings 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\nThis link is a youtube to help you visualize the steps. https://www.youtube.com/watch?v=ZBmxkWK_OFA
\r\nHate 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\nOther topics include Friendsgiving and giving thanks; probably the greatest gaming console of the 1970’s; early “hackings” (sic) committed by the hosts; << >>
\r\nAn extra-long episode of the grand finale of the Interface Zero RPG play-through.
\r\n\r\nSpoilers: 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\ninterfacezero/muzak/70891__spukkin__trumpetmetal.wav
\r\ninterfacezero/muzak/212926__simongray__mojo-cafe-nr-wagamama.flac
\r\ninterfacezero/muzak/243629__lebcraftlp__heavy-rain.flac
\r\ninterfacezero/muzak/382735__schots__gun-shot.flac
\r\ninterfacezero/muzak/186104__marcel-farres__elevator.flac
\r\ninterfacezero/muzak/187866__theomegapixel__metal-grind.flac
\r\ninterfacezero/muzak/66713__sunnysidesound__desk-pound.wav
\r\ninterfacezero/muzak/367222__bluedelta__thunder-rain-low-frequencies-4-channel-48khz.wav
\r\ninterfacezero/muzak/212678__fridobeck__firework-explosion-1.wav
\r\ninterfacezero/muzak/213610__dpoggioli__laser-gun-explosion.wav
\r\ninterfacezero/muzak/100772__cgeffex__huge-rocket-launcher.wav
\r\ninterfacezero/muzak/336735__newagesoup__double-explosion-bright-dark.wav
\r\ninterfacezero/ep2/329877__klavo1985__music-of-the-black-circus-the-very-best-by-kris-klavenes.flac
\r\ninterfacezero/ep2/94914__pcaeldries__lakeside2.flac
\r\ninterfacezero/ep2/153376__inchadney__the-bay.flac
\r\ninterfacezero/ep3/152396__taavi55__big-smash.ogg
\r\ninterfacezero/ep3/135465__joelaudio__quick-smash-001.wav
\r\ninterfacezero/ep3/387177__pfranzen__smashing-a-glass.ogg
Music
\r\n\r\nLyphrygerator and Wood/Water by William Kenlon, used with permission.\r\n
\r\n\r\nAll other music by Klaatu.\r\n
\r\nStory
\r\n\r\n\r\nWant to play this game yourself?\r\n
\r\n\r\n\r\nPathfinder and Starfinder are by Paizo\r\n
\r\n\r\nInterface Zero module available from driveThruRPG.com\r\n
\r\nAdventure path Job inSecurity is available from driveThruRPG.com.\r\n
\r\nThe source of the story is available from driveThruRPG.com
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\nThe case
\r\nhttps://www.amazon.de/gp/product/B01MPYI8SA/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
The Cables
\r\nhttps://www.amazon.de/gp/product/B06W53PXRB/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
\r\nhttps://www.amazon.de/gp/product/B01COOQIKU/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
The Screen protector
\r\nhttps://www.appelhoes.nl/Moshi-iVisor-AG-screenprotector-MacBook-Pro-13-inch-2016-Touch-Bar?gclid=EAIaIQobChMImvLt9PCI2AIVyTLTCh2FuwXfEAQYAiABEgJY6_D_BwE
Homebrew and Cask
\r\nhttps://brew.sh/
\r\nhttps://caskroom.github.io/
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','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/
As usual, the HPR_AudioBookClub took some time to review the beverages that each of us were drinking during the episode
\r\nCity Of Masks by Mike Reeves-McMillan\r\n
https://scribl.com/books/PC439/city-of-masks
The rest of the Lensman Series: https://en.wikipedia.org/wiki/Lensman_series
\r\nWhat the new Star Wars movies should have been about: https://en.wikipedia.org/wiki/Thrawn_trilogy
\r\nThank 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.
https://hackerpublicradio.org/contribute.php
\r\nSincerely,\r\n
The HPR_AudioBookClub
P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.
\r\nThis 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\nMumble 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\nNext we use the \"Compressor\" effect with the following settings:
\r\nAfter 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\nAt 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\nAt 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\nWe 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\nRemember 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','\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\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\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
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\nSo my first problem was I was pretty sure I only had 32 bit.
\r\nSo 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\nIts 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\nSo 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.
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\nhttps://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-16-04
\r\nNote 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\nIt 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.
I will work on the nextcloud snap and other snaps as they are easy to install or remove without hurting the base system.
\r\nPossible other projects - Owncloud or Storj
\r\nhttps://storj.io/share.html
\r\nOne you can make a little money with it :)
Important Links
\r\nWikipedia Pages
\r\nI 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!
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\nIt’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).
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\nThe 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.
In April 2019 clacke did a show (number 2793) about the Bash coproc
command.
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\nI 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.
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.
Follow this link to read the detailed notes associated with this episode.
\r\nexpect
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\nPS1: user@hostname:~ (git_branch) $
\r\nif [[ $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\nalias vim=nvim
alias play=mpv
if [ -t 0 ] && [[ -z $TMUX ]] && [[ $- = *i* ]]; then exec tmux; fi
in .bashrc in order to have tmux start/stop with your terminal sessiion.y
to yank songs onto a playlistSPA
to select a playlistRET
to play a song/playlistTAB
to switch between panesvideo
group for permission to use the Linux framebufferplayer \"mpv --save-position-on-quit\"
to save positions on podcastsalias record=\"ffmpeg -f alsa -channels 1 -i hw:1\"
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\nfunction 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\nfunction 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\nI didn\'t really use email very much when I was living on the terminal and now, since I use protonmail, I don\'t really have an easy way not to use the webmail.
Trying to find a fix to this. Let me know your thoughts!
This is the mail client I\'ve heard the most good things about that isn\'t built into a text editor I can\'t use
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\nWrong Way:
\r\nfn 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\nCorrect Way:
\r\nfn 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\nWrong Way:
\r\nfn 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\nCorrect Way:
\r\nfn 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\nHello World Program in C in Rust:
\r\nextern "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\nEmail: izzyleibowitz at pm dot me
\r\nMastodon: 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.','Blog post: https://claudiomiranda.wordpress.com/2020/01/12/my-geeeky-experiment-part-2
HP EliteBook 2170p: https://support.hp.com/ro-en/document/c03406489
SYNOPSIS: upg.sh
\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\nScript breakdown: upg.sh
\r\nFirst, we declare bash as our shell with #!/bin/bash
. We could also use #!/bin/sh
for a more portable script.
I like to paste the name of the script we\'re working on into the script itself # upg.sh
.
Setup a couple of variables to shorten the syntax.
FILENAME=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" \\ <-- 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# step 2: run commands with formatting.
,\r\necho -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# step 3: additional details with more formatting.
,\r\necho -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# step 4: place EOF (end of file).
,\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\nSYNOPSIS: note.sh \"command\" \"filename\"
\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\nScript breakdown: upg.sh
\r\nFirst, we declare bash as our shell with #!/bin/bash
. We could also use #!/bin/sh
for a more portable script.
I like to paste the name of the script we\'re working on into the script itself # upg.sh
.
Setup a couple of variables to shorten the syntax.
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# step 1: create file with formatting.
\r\necho -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# 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\nCorrespondent: Some Guy On The Internet.
\r\nHost ID: 391
\r\nE-mail: Lyunpaw.nospam@nospam.gmail.com
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\nGuest stars in this show include:
\r\nSmall 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\nThank you to everyone who has listened to my previous episodes. This is the final episode in the Infosec Podcasts series.
\r\nI listen to many, MANY podcasts. The vast majority of these are related to information security.
\r\nBecause there are so many podcasts to list, I have broken them down into 6 different episodes based on topics:
\r\nPreamble
\r\nTerm: CISO
\r\nSecurity leadership is changing
\r\nOld way:
\r\nNew way:
\r\nInfosec Leadership Podcasts
\r\nThat wraps up this series. I welcome any feedback you might have in the comments section for this episode on the HPR site.
\r\nThank 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\nPhoto
\r\n
Click the thumbnail to see the full-sized image
Previous episode: https://hackerpublicradio.org/eps.php?id=3412
hpr3412 :: Reading a license: Creative Commons Attribution ShareAlike 3.0 Unported
Timeline
\r\nLinks to license and deed and links from within the texts
\r\nOther links
\r\nOriginal: https://creativecommons.org/licenses/by-sa/4.0/
\r\nThe 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\nThis Adaptation is released under CC-by 3.0: https://creativecommons.org/licenses/by/3.0/
\r\nThis is a human-readable summary of (and not a substitute for) the license.
\r\n\r\n\r\nThis 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\nCreative 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
The licensor cannot revoke these freedoms as long as you follow the license terms.
\r\nOriginal: 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\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\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\nDo this on 3 separate Pi units, each with the same specs.
\r\nYou must have unique hostnames for each Pi. Without unique hostnames, your cluster cannot function.
\r\nThere are several \"kinds\" of hostnames, so to avoid confusion I change all of them.
\r\nI use a simple naming scheme: k
for \"kubernetes\" + an integer, starting at 100 + c
for \"cluster\":
$ sudo hostname k100c\r\n$ sudo sysctl kernel.hostname=k100c\r\n$ sudo hostnamectl set-hostname k100c\r\n$ sudo reboot\r\n
\r\nDo this for each Pi. At a minimum, you end up with Pi computers named k100c, k101c, and k102c.
\r\nWhen 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:
export PS1=\'\\[\033[1;32m\\]\\! \\d \\t \\h:\\w \\n% \\[\033[00m\\]\' \r\n
\r\nInstall 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\nK3s 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\nFirst, 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\nRead the script to ensure that it seems to do what you expect, and then:
\r\n[k100c]$ ./install_k3s.sh\r\n
\r\nAfter 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.
console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait cgroup_memory=1 cgroup_enable=memory\r\n
\r\nReboot:
\r\n[k100c]$ sudo reboot\r\n
\r\nOnce 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\nThis Pi is the \"control plane\", meaning it\'s the Pi that you use to administer your cluster.
\r\nObtain 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
.
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\nIf 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:
127.0.0.1 localhost.localdomain localhost\r\n::1 localhost6.localdomain6 localhost6\r\n\r\n10.0.1.100 k100c\r\n
\r\nVerify 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\nNow 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\nOn 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\nOn 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\nIt 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\nYou 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\nNow 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\nThere\'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\nFirst, create a namespace for your test application to use.
\r\n[k100c]$ k3s kubectl create namespace ktest\r\n
\r\nThe 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\napiVersion: 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\nThis 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.
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\nConfirm 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\nSee the pods labelled with app: nginx
:
[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\nNow you must connect the Nginx instance with a Kubernetes Service.
\r\nThe 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.
[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\nVerify 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\nA 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.
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\nNotice 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.
[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\nNginx is accessible.
\r\nThe only thing left to do now is to route traffic from the outside world.
\r\nFor 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\nInstall 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\nDetermine 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\nSave this as metallb.yaml
and apply the configuration:
$ k3s kubectl apply -f metallb.yaml\r\n
\r\nYou now have a configmap for metallb, and metallb is running.
\r\nCreate 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\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\nThis 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).
$k3s kubectl apply -f loadbalance.yaml\r\n
\r\nFind 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\nOpen a web browser and navigate to the external IP address listed (in this example, 10.0.1.3).
\r\n\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.','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\nWrong Way:
\r\nfn 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\nCorrect Way:
\r\nfn 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\nWrong Way:
\r\nfn 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\nCorrect Way:
\r\nfn 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\nHello World Program in C in Rust:
\r\nextern "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\nEmail: izzyleibowitz at pm dot me
\r\nMastodon: 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.','Blog post: https://claudiomiranda.wordpress.com/2020/01/12/my-geeeky-experiment-part-2
HP EliteBook 2170p: https://support.hp.com/ro-en/document/c03406489
SYNOPSIS: upg.sh
\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\nScript breakdown: upg.sh
\r\nFirst, we declare bash as our shell with #!/bin/bash
. We could also use #!/bin/sh
for a more portable script.
I like to paste the name of the script we\'re working on into the script itself # upg.sh
.
Setup a couple of variables to shorten the syntax.
FILENAME=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" \\ <-- 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# step 2: run commands with formatting.
,\r\necho -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# step 3: additional details with more formatting.
,\r\necho -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# step 4: place EOF (end of file).
,\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\nSYNOPSIS: note.sh \"command\" \"filename\"
\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\nScript breakdown: upg.sh
\r\nFirst, we declare bash as our shell with #!/bin/bash
. We could also use #!/bin/sh
for a more portable script.
I like to paste the name of the script we\'re working on into the script itself # upg.sh
.
Setup a couple of variables to shorten the syntax.
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# step 1: create file with formatting.
\r\necho -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# 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\nCorrespondent: Some Guy On The Internet.
\r\nHost ID: 391
\r\nE-mail: Lyunpaw.nospam@nospam.gmail.com
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\nGuest stars in this show include:
\r\nSmall 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\nThank you to everyone who has listened to my previous episodes. This is the final episode in the Infosec Podcasts series.
\r\nI listen to many, MANY podcasts. The vast majority of these are related to information security.
\r\nBecause there are so many podcasts to list, I have broken them down into 6 different episodes based on topics:
\r\nPreamble
\r\nTerm: CISO
\r\nSecurity leadership is changing
\r\nOld way:
\r\nNew way:
\r\nInfosec Leadership Podcasts
\r\nThat wraps up this series. I welcome any feedback you might have in the comments section for this episode on the HPR site.
\r\nThank 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\nPhoto
\r\n
Click the thumbnail to see the full-sized image
Previous episode: https://hackerpublicradio.org/eps.php?id=3412
hpr3412 :: Reading a license: Creative Commons Attribution ShareAlike 3.0 Unported
Timeline
\r\nLinks to license and deed and links from within the texts
\r\nOther links
\r\nOriginal: https://creativecommons.org/licenses/by-sa/4.0/
\r\nThe 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\nThis Adaptation is released under CC-by 3.0: https://creativecommons.org/licenses/by/3.0/
\r\nThis is a human-readable summary of (and not a substitute for) the license.
\r\n\r\n\r\nThis 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\nCreative 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
The licensor cannot revoke these freedoms as long as you follow the license terms.
\r\nOriginal: 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\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\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\nDo this on 3 separate Pi units, each with the same specs.
\r\nYou must have unique hostnames for each Pi. Without unique hostnames, your cluster cannot function.
\r\nThere are several \"kinds\" of hostnames, so to avoid confusion I change all of them.
\r\nI use a simple naming scheme: k
for \"kubernetes\" + an integer, starting at 100 + c
for \"cluster\":
$ sudo hostname k100c\r\n$ sudo sysctl kernel.hostname=k100c\r\n$ sudo hostnamectl set-hostname k100c\r\n$ sudo reboot\r\n
\r\nDo this for each Pi. At a minimum, you end up with Pi computers named k100c, k101c, and k102c.
\r\nWhen 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:
export PS1=\'\\[\033[1;32m\\]\\! \\d \\t \\h:\\w \\n% \\[\033[00m\\]\' \r\n
\r\nInstall 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\nK3s 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\nFirst, 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\nRead the script to ensure that it seems to do what you expect, and then:
\r\n[k100c]$ ./install_k3s.sh\r\n
\r\nAfter 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.
console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait cgroup_memory=1 cgroup_enable=memory\r\n
\r\nReboot:
\r\n[k100c]$ sudo reboot\r\n
\r\nOnce 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\nThis Pi is the \"control plane\", meaning it\'s the Pi that you use to administer your cluster.
\r\nObtain 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
.
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\nIf 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:
127.0.0.1 localhost.localdomain localhost\r\n::1 localhost6.localdomain6 localhost6\r\n\r\n10.0.1.100 k100c\r\n
\r\nVerify 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\nNow 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\nOn 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\nOn 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\nIt 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\nYou 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\nNow 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\nThere\'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\nFirst, create a namespace for your test application to use.
\r\n[k100c]$ k3s kubectl create namespace ktest\r\n
\r\nThe 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\napiVersion: 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\nThis 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.
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\nConfirm 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\nSee the pods labelled with app: nginx
:
[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\nNow you must connect the Nginx instance with a Kubernetes Service.
\r\nThe 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.
[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\nVerify 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\nA 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.
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\nNotice 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.
[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\nNginx is accessible.
\r\nThe only thing left to do now is to route traffic from the outside world.
\r\nFor 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\nInstall 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\nDetermine 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\nSave this as metallb.yaml
and apply the configuration:
$ k3s kubectl apply -f metallb.yaml\r\n
\r\nYou now have a configmap for metallb, and metallb is running.
\r\nCreate 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\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\nThis 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).
$k3s kubectl apply -f loadbalance.yaml\r\n
\r\nFind 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\nOpen a web browser and navigate to the external IP address listed (in this example, 10.0.1.3).
\r\n\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\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','speech recognition
machine_learning (ML)
artificial_intelligence (AI)
speech_recognition
Natural Language Processing (NLP)
https://rmccurdy.com/stuff/NLP/ ( example files )
Some higher maf here that is above my head for now ...
\r\nhttps://towardsdatascience.com/using-keyword-extraction-for-unsupervised-text-classification-in-nlp-10433a1c0cf9
\nWelcome to our new hosts:
\n\n Paul J, \n m0dese7en, \n CCHits.net Team.\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.
\nThere are 5 comments on\n3 previous shows:
\nThere are 29 comments on 14 of this month\'s shows:
\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
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2022-October/thread.html\n\n\nWith the kind permission of LWN.net we are linking to\nThe LWN.net Community Calendar.
\nQuoting the site:
\nThis 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
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\nMonth\n | \n\nMonth count\n | \n\nRunning total\n | \n\nRemainder\n | \n
---|---|---|---|
\n2022-04\n | \n\n130\n | \n\n130\n | \n\n1428\n | \n
\n2022-05\n | \n\n140\n | \n\n270\n | \n\n1288\n | \n
\n2022-06\n | \n\n150\n | \n\n420\n | \n\n1138\n | \n
\n2022-07\n | \n\n155\n | \n\n575\n | \n\n983\n | \n
\n2022-08\n | \n\n155\n | \n\n730\n | \n\n828\n | \n
\n2022-09\n | \n\n150\n | \n\n880\n | \n\n678\n | \n
\n2022-10\n | \n\n155\n | \n\n1035\n | \n\n523\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','01 membership card
\n
Click the\nthumbnail to see the full-sized image
02 membership card back
\n
Click the\nthumbnail to see the full-sized image
03 front panel card
\n
Click the\nthumbnail to see the full-sized image
04 front card back
\n
Click the\nthumbnail to see the full-sized image
05 assembled
\n
Click the thumbnail to\nsee the full-sized image
06 in the can
\n
Click the thumbnail to\nsee the full-sized image
07 things added
\n
Click the thumbnail\nto see the full-sized image
08 fits inside
\n
Click the thumbnail\nto see the full-sized image
09 compleat
\n
Click the thumbnail to\nsee the full-sized image
10 docs
\n
Click the thumbnail to see\nthe full-sized image
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
Volumio: https://volumio.com/
\nmoOde Audio: https://moodeaudio.org/
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.
\nWhichever holidays you celebrate this time of year, life generally\ngets busy and stressful.
\nIt 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.
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.
\nSince 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.
\nThe 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.
\nBut 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.
\nIf 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.
\nThere are tons of resources online, from youtube channels to reddit\n(https://www.reddit.com/r/adventofcode/), to Discord (https://discord.gg/tXJh262)
\nSo, 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.
\nIf 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','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.
\nIf you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996
\nI 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.
\nThe 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!
\nThis 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.
\nInfosec personalities like John Hammond, Gerald Auger, InsiderPHD,\nand InfoSec Pat are featured in this year\'s challenge.
\nYou 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!
\nEverything can be done with a free account from within a browser.
\nIf 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
\nPlease 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.
\nIf 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','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.
\nWhichever holidays you celebrate this time of year, life generally\ngets busy and stressful.
\nIt 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.
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.
\nSince 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.
\nThe 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.
\nBut 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.
\nIf 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.
\nThere are tons of resources online, from youtube channels to reddit\n(https://www.reddit.com/r/adventofcode/), to Discord (https://discord.gg/tXJh262)
\nSo, 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.
\nIf 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','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.
\nIf you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996
\nI 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.
\nThe 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!
\nThis 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.
\nInfosec personalities like John Hammond, Gerald Auger, InsiderPHD,\nand InfoSec Pat are featured in this year\'s challenge.
\nYou 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!
\nEverything can be done with a free account from within a browser.
\nIf 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
\nPlease 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.
\nIf 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','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.
\nIf you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996
\nThe 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.
\nEverything 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.
\nEd 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
\nYou can access this year\'s challenge by visiting sans.org/holidayhack\nor https://www.sans.org/mlp/holiday-hack-challenge-2023/
\nThere, 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.
\nI 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.
\nI 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.
\nHave 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','01 membership card
\n
Click the\nthumbnail to see the full-sized image
02 membership card back
\n
Click the\nthumbnail to see the full-sized image
03 front panel card
\n
Click the\nthumbnail to see the full-sized image
04 front card back
\n
Click the\nthumbnail to see the full-sized image
05 assembled
\n
Click the thumbnail to\nsee the full-sized image
06 in the can
\n
Click the thumbnail to\nsee the full-sized image
07 things added
\n
Click the thumbnail\nto see the full-sized image
08 fits inside
\n
Click the thumbnail\nto see the full-sized image
09 compleat
\n
Click the thumbnail to\nsee the full-sized image
10 docs
\n
Click the thumbnail to see\nthe full-sized image
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
Volumio: https://volumio.com/
\nmoOde Audio: https://moodeaudio.org/
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.
\nWhichever holidays you celebrate this time of year, life generally\ngets busy and stressful.
\nIt 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.
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.
\nSince 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.
\nThe 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.
\nBut 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.
\nIf 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.
\nThere are tons of resources online, from youtube channels to reddit\n(https://www.reddit.com/r/adventofcode/), to Discord (https://discord.gg/tXJh262)
\nSo, 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.
\nIf 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','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.
\nIf you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996
\nI 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.
\nThe 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!
\nThis 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.
\nInfosec personalities like John Hammond, Gerald Auger, InsiderPHD,\nand InfoSec Pat are featured in this year\'s challenge.
\nYou 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!
\nEverything can be done with a free account from within a browser.
\nIf 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
\nPlease 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.
\nIf 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','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.
\nWhichever holidays you celebrate this time of year, life generally\ngets busy and stressful.
\nIt 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.
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.
\nSince 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.
\nThe 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.
\nBut 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.
\nIf 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.
\nThere are tons of resources online, from youtube channels to reddit\n(https://www.reddit.com/r/adventofcode/), to Discord (https://discord.gg/tXJh262)
\nSo, 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.
\nIf 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','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.
\nIf you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996
\nI 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.
\nThe 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!
\nThis 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.
\nInfosec personalities like John Hammond, Gerald Auger, InsiderPHD,\nand InfoSec Pat are featured in this year\'s challenge.
\nYou 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!
\nEverything can be done with a free account from within a browser.
\nIf 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
\nPlease 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.
\nIf 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','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.
\nIf you missed the first episode, which introduces this series, you\ncan go back and listen to HPR3996
\nThe 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.
\nEverything 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.
\nEd 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
\nYou can access this year\'s challenge by visiting sans.org/holidayhack\nor https://www.sans.org/mlp/holiday-hack-challenge-2023/
\nThere, 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.
\nI 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.
\nI 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.
\nHave 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