Hacker Public Radio show

Hacker Public Radio

Summary: Hacker Public Radio is an podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that are of interest to hackers and hobbyists.

Join Now to Subscribe to this Podcast
  • Visit Website
  • RSS
  • Artist: Hacker Public Radio
  • Copyright: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License

Podcasts:

 HPR3406: A study of cards in games | File Type: audio/mpeg | Duration: Unknown

What function cards have in games.

 HPR3405: Hacking Stories with Reacted: part 2 | File Type: audio/mpeg | Duration: Unknown

I talk about some old old old pentesting stories from days old!

 HPR3404: Suse 15.3 Leap | File Type: audio/mpeg | Duration: Unknown

Short review of Suse 15.3

 HPR3403: Forth on microcontrollers | File Type: audio/mpeg | Duration: Unknown

microlisp lisp on avr microcontrollers (and others) http://www.ulisp.com/ ben eater https://eater.net/ computer on breadboards http://6502.org/ forth on avr microcontrollers eforth http://forth.org/eforth.html amforth http://amforth.sourceforge.net/ flash forth https://www.flashforth.com/ incantations sudo avrdude -c usbtiny -p m328p -e -U flash:w:uno.hex:i -U eeprom:w:uno.eep.hex:i sudo avrdude -c usbtiny -p m328p -e -U flash:w:uno.hex:i -U eeprom:w:uno.eep.hex:i sudo avrdude -P usbtiny -p m328p -e -U efuse:w:0x05:m -U hfuse:w:0xD9:m -U lfuse:w:0xFF:m

 HPR3397: What is a PineTime | File Type: audio/mpeg | Duration: Unknown

This is the first impression of a PineTime watch that I bought about a week ago and have already done some changes to the underlying code. I think this is an interesting project and open source so you can contribute. Github repository: https://github.com/JF002/InfiniTime Sales page: https://www.pine64.org/pinetime/

 HPR3396: Card roles in Magic the Gathering | File Type: audio/mpeg | Duration: Unknown

Cutting to the chase: When getting into Magic the Gathering, it's easy to get overwhelmed and confused by choice. Instead of thinking about cards, I've learnt to think about the game mechanic roles that a deck needs to have satisfied, and then I look for cards that fill those roles. My list is by no means definitive, but I think these are the basic universal roles you need, regardless of how you play: Mana base: Land cards. These provide you with mana so you can play cards. For a 60 card deck, anticipate requiring about 24. In a later episode, I'll talk about additional ways to manage mana. General purpose: Creatures, enchantments, instants, artifacts, and so on. These are cards, costing a full spectrum of mana amounts (some you can play for 1 or 2 mana, others require 4 and 5 and more), that you need to populate your deck. These don't need to be anything special, unless you want to spend money for really fancy cards, but I assume you're not listening to me if you're a pro player. Card draw: You're going to deplete your hand unless you have cards that give you permission to draw more cards than just your allotted one-per-turn. Recursion: When you're forced to discard a card you really really wanted to play, you'll be glad to have some cards that grant you permission to bring that card back from your graveyard. This is called "recursion" by Magic players. There are other card types that can be useful, but they may be best for specific strategies. The ones I list here are, I believe, pretty universal. You can find lists of cards that fill specific roles with a simple Internet search. For instance, if you realize you have no cards that let you replenish your hand, you might search for "best cards to draw cards MTG" and get directed to a site like TappedOut.net or magic.wizards.com. Go to your local game store or an online vendor to buy just the cards you need. Because there are so many to choose from in any given category, you get to control the price. I have a rule for myself that do not spend over $2 on any single card. When trying to fill roles, I generally aim to get 4 cards that do the thing I need. Sometimes I get exactly the same card 4 times, other times I get a variety of cards to fill the role. Either way, 4 usually feels like a good draw frequency for each role.

 HPR3395: Hacking Stories with Reacted: part 1 | File Type: audio/mpeg | Duration: Unknown

I talk about some old old old pentesting stories from days old!

 HPR3394: Be an XML star with xmlstarlet | File Type: audio/mpeg | Duration: Unknown

See the layout of an XML document $ xmlstarlet elements planets.xml xml xml/sol xml/sol/planet xml/sol/planet/name xml/sol/planet/albedo xml/sol/planet xml/sol/planet/name xml/sol/planet/albedo xml/sol/planet xml/sol/planet/name xml/sol/planet/albedo See content of the planet node $ xmlstarlet select -t --value-of '/xml/sol/planet' planets.xml Mercury 0.11 Venus 0.7 Terra 0.39 Get the third instance of the planet node $ xmlstarlet select -t --value-of '/xml/sol/planet[3]' planets.xml Terra 0.39 Get only the planets with an albedo greater than 0.25 $ xmlstarlet select -t --value-of '/xml/sol/planet[albedo > 0.25]' planets.xml Venus 0.7 Terra 0.39 Get only the planets closer to Sol than the third planet $ xmlstarlet select -t --value-of '/xml/sol/planet[position() < 3]' planets.xml Mercury 0.11 Venus 0.7 Learn more XPath functions at Mozilla Developer Network. Download xmlstarlet from xmlstarlet.sourceforge.net.

 HPR3393: We need to talk about XML | File Type: audio/mpeg | Duration: Unknown

Klaatu introduces XML. The sample XML document discussed in this episode is: <xml> <sol> <planet> <name> Mercury </name> <albedo> 0.11 </albedo> </planet> <planet> <name> Venus </name> <albedo> 0.7 </albedo> </planet> <planet> <name> Terra </name> <albedo> 0.39 </albedo> </planet> </sol> </xml>

 HPR3392: Structured error reporting | File Type: audio/mpeg | Duration: Unknown

Initial state When I originally wanted a unified error reporting on the server-side, I made one huge type that enumerated all the possible error cases that could be reported: -- | Error codes for all errors returned by API data ErrorCode -- common error codes = ResourceNotFound | InsufficientRights | FailedToParseDataInDatabase -- errors specific to news | SpecialEventHasAlreadyBeenResolved | UnsupportedArticleType | SpecialNewsExtractionFailed | TriedToMakeChoiceForRegularArticle -- errors specific to simulation state | SimulationStatusNotFound | DeltaTIsTooBig | TurnProcessingAndStateChangeDisallowed | SimulationNotOpenForCommands | SimulationNotOpenForBrowsing -- errors specific to people | StatIsTooLow Text | CouldNotConfirmDateOfBirth | DateOfBirthIsInFuture | FirstNameIsEmpty | FamilyNameIsEmpty | CognomenIsEmpty | RegnalNumberIsLessThanZero -- errors specific to new person creation | AgeBracketStartIsGreaterThanEnd | PersonCreationFailed deriving (Show, Read, Eq) Then I had some helper functions to turn any value of that type into a nice error message: errorCodeToStatusCode :: ErrorCode -> Int statusCodeToText :: Int -> ByteString errorCodeToText :: ErrorCode -> Text raiseIfErrors :: [ErrorCode] -> HandlerFor App () errorCodeToStatusCode was responsible for turning ErrorCode into http status code. For example StatIsTooLow "intrigue" would be 400. statusCodeToText would take this code and turn it into short error message given in http response. 400 would be Bad Request. errorCodeToText would give a bit more verbose explanation of what happened, StatIsTooLow "intrigue" would be mapped to "Stat intrigue is too low". Finally raiseIfErrors would take a list of ErrorCode and use these helper functions to turn them into a http response with correct status code, error message and json body detailing all errors that had happened: [ { code: { tag: "StatIsTooLow" , contents: "intrique" } , error: "Stat intrigue is too low" } ] There’s two tags: code, which contains machine readable details about the error and error, which contains error message that can be shown to user. While this worked fine, there was some problems with it. ErrorCode type was growing larger and larger and the module it was defined in was referred all over the codebase. Every time I added a new error message, all the modules that used error reporting had to be compiled and it was getting slow. Solution Breaking up the ErrorCode to smaller types and moving them to different modules would means less modules were going to built when I added a new error code. The problem was that raiseIfErrors :: [ErrorCode] -> HandlerFor App () wanted a list of ErrorCode and elements in a list have to be of same type. I started by splitting ErrorCode to smaller types. Each of the smaller error types have automatically derived toJSON and fromJSON functions for serializing them to and from JSON: data PersonCreationError = StatIsTooLow Text | CouldNotConfirmDateOfBirth | DateOfBirthIsInFuture | FirstNameIsEmpty | FamilyNameIsEmpty | CognomenIsEmpty | RegnalNumberIsLessThanZero deriving (Show, Read, Eq) $(deriveJSON defaultOptions ''PersonCreationError) That $(deriveJSON defaultOptions ''PersonCreationError) is template haskell call. Basica

 HPR3391: HPR Community News for July 2021 | File Type: audio/mpeg | Duration: Unknown

table td.shrink { white-space:nowrap } New hosts There were no new hosts this month. Last Month's Shows Id Day Date Title Host 3369 Thu 2021-07-01 Linux Inlaws S01E33: The Return of the Rust monochromec 3370 Fri 2021-07-02 More Free Images? Ahuka 3371 Mon 2021-07-05 HPR Community News for June 2021 HPR Volunteers 3372 Tue 2021-07-06 HPR 2020 - 2021 New Years Eve Show Episode 8 Honkeymagoo 3373 Wed 2021-07-07 HPR RPG Club reviews Starfinder klaatu 3374 Thu 2021-07-08 Why I love the MacBook Mid 2010 swift110 3375 Fri 2021-07-09 Car ODB2 Fun and Fail operat0r 3376 Mon 2021-07-12 Making books with Linux - part 2 Dave Morriss 3377 Tue 2021-07-13 Chromebook support and more Zen_Floater2 3378 Wed 2021-07-14 A bit of my

 HPR3390: Intro to DOS Series | File Type: audio/mpeg | Duration: Unknown

This Introduction to the series also serves as a brief recap of my early history with computers, and the path that brought me to where I am today. Links: https://www.ahuka.com/dos-lessons-for-self-study-purposes/

 HPR3389: Tales of a Tagger | File Type: audio/mpeg | Duration: Unknown

https://hackerpublicradio.org/report_missing_tags.php Shows without a summary and/or tags Page generated on 2021-06-11 at 20:43:39 UTC Sort order: id Current counts 323 shows without summaries 306 shows without tags 275 shows with neither summaries nor tags 354 shows which need work Instructions Find a show in the list below Check in the list which attributes are missing: summary and/or tags Click the show number or title to visit the show page Read the show notes and listen to the show to determine the missing information Submit your updates by email to tags at hackerpublicradio.org Please send simple ASCII email. No HTML please, and no multipart, encrypted or signed messages; the script can't handle them at the moment! (We are working on a solution to some of this though). Remember, the internals of an email are complex and the script isn't clever enough to deal with all the many possible formats. Please be gentle with it! Format the message as follows: show:12345 summary:Using Linux at Christmas to make tomato soup in a sporran tags:linux,christmas,sporran,tomato soup show: 12346 tags: sausage,clothing,hairpiece Start with the show:XXXX line (just the show number, no 'hpr') If either the summary or the tags are already present on the show you can omit them from the group It's not possible to change existing summaries or tags by this route, only to add missing ones Ensure the summary text isn't longer than 100 characters The tags need to be separated by commas If you need to add a tag with a comma in it enclose the tag in double quotes The length of the tag list can't exceed 200 characters You can update more than one show per email if you want Blank lines between the groups of show/summary/tags lines are fine (as shown), as are comment lines beginning with '#' Updates will be processed with a script, which is run manually, and this page will be refreshed once the changes have been made. The timestamp above shows when it was last refreshed. Got carried away and broke the 100 character rule can be checked in vim by hitting '$', goes to the last character in the line. Observe the character count at the bottom of the screen to verify this is less than 100. Went a little too far with tags, and went pretty far beyond the 200 character Found that these are reasonable limits, that if not followed, break the script Don't be like me. Gently use these tools and they will serve you well. Here are some of the tools I used when tagging was done right. i3 window manager Use mplayer and vim Mplayer Play audio file faster without pitch increase https://kenfallon.com/speeding-up-speech-with-mplayer { key will slow down by 50% of the current rate [ key will slow down by 10% of the current rate Backspace will return the speed to normal ] key will speed up 10% of the current rate } key will speed up by 50% of the current rate 9 key will decrease the volume 0 key will increase the volume alias mplayer='mplayer -af scaletempo' Android - Termux Download a show via wget (Doing this on Firefox does not show progress bar)

 HPR3388: Linux Inlaws S01E35: The Free Software Foundation Europe | File Type: audio/mpeg | Duration: Unknown

In this episode our aging heroes host the Free Software Foundation Europe (FSFE). Its president, Matthias Kirschner talk about the past, the present and the future of free and open source software not only from an FSFE perspective. Never mind how he got into computers in the first place. Also, different opinions about communism in general and its implementations (and the flaws of the first rounds of implementations) are touched upon. So historians, FLOSS users and enthusiasts, communists and free spirits: This is your episode! Plus: Ever wondered what the Towel Day is all about? Check out the second half of the episode! At our guest's request: Please note that this episode was recorded on June 1st 2021. Links: Free Software Foundation Europe: https://fsfe.org Matthias Kirschner: https://fsfe.org/about/people/kirschner/kirschner.en.html Free Software Foundation: https://fsf.org Open Software Initiative (OSI): https://opensource.org OSI definition of open source: https://opensource.org/osd Public Money Public Code campaign: https://publiccode.eu Stallman controversy: https://arstechnica.com/tech-policy/2021/03/richard-stallman-returns-to-fsf-18-months-after-controversial-rape-comments Towel Day: https://en.wikipedia.org/wiki/Towel_Day FSFE podcast: https://fsfe.org/news/podcast.en.html Rutger Bregman, Human kind: https://www.amazon.de/Humankind-Hopeful-History-Rutger-Bregman/dp/1408898934 Ashes to Ashes: https://www.bbc.co.uk/programmes/b00jhp3l UK met office: https://www.metoffice.gov.uk Karl Marx, A Critique of Political Economy: https://en.wikipedia.org/wiki/Das_Kapital

 HPR3387: Infosec Podcasts Part 5 Grab bag | File Type: audio/mpeg | Duration: Unknown

Inoffensive in every region of the world. Thank you to everyone who has listened to my previous episodes. I hope I am not boring you all to death! Why am I recording this series? You can hear my reasoning for why I am making this series by listening to the introduction to any of the previous four episodes in this series. Yes, this is a shameless plug for you to listen to my other works. Because there are so many podcasts to list, I have broken them down into 6 different episodes based on topics: Part 1 - News & Current Events Part 2 - General Information Security Part 3 - Career & Personal Development Part 4 - Social Engineering Part 5 - Hacks & Attacks Technical Information & Learning Infosec Community / Social / History Part 6 - Infosec Leadership Part 5 Hacks & Attacks Malicious Life Ran Levi sponsored by Cybereason (Periodically) Detailed descriptions of specific historical events in cybersecurity https://malicious.life/ Darknet Diaries - Jack Rhysider (Bi-Weekly) Stories from the darker side of the net https://darknetdiaries.com/ Technical information / learning Digital Forensic Survival Podcast - Michael Leclair (Weekly) A weekly deep dive into digital forensics https://digitalforensicsurvivalpodcast.com/ The Offensive Security Podcast - TJ Null and Jeremy Miller (Harbinger) and sponsored by Offensive Security (Creators of the OSCP Offensive Security Certified Professional certification) Probably belongs in the Career & Personal Development category, but I discovered it after I had already recorded that episode. Interviews with Red team practitioners and other security professionals, related to the various certifications and training available with Offensive Security. https://www.offensive-security.com/podcast/ Community / Social / History Command Line Heroes - Saron Yitbarek and sponsored by Red Hat (Weekly with gaps between seasons) Tells the stories about how got to be where we are today, from open source to dev-ops, hardware, programming languages, and everything in between https://www.redhat.com/en/command-line-heroes Beers with Talos - Mitch Neff, Craig Williams, Joel Esler, Matt Olney all part of Cisco Talos Research Center (Periodically) A light hearted and sarcastic podcast which touches on current issues of interest to the hosts https://www.talosintelligence.com/podcasts I hope that this series has helped introduce you to some new and interesting listening options. Give some of them a try, and I would love to get your feedback in the episode comments on the HPR website. The next and final episode of this series will be about Information Security Leadership podcasts. Thank you for listening.

Comments

Login or signup comment.