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:

 HPR3569: Linux Inlaws S01E53: Rust Marketing | File Type: audio/mpeg | Duration: Unknown

In this episode our two heroes explore the depths a new (?) hipster programming language called Rust. Being an obvious piece of blatant technology marketing, the Linux Inlaws are still waiting for the funds to arrive from the Rust Foundation :-) (@Foundation: If you want to get in touch please send a mail to sponsor at linuxinlaws eu). Jokes aside, the episode give a short overview of this new programming language without going into deeper technical details as this podcast is only the usual four hours long. Links: Rust: https://en.wikipedia.org/wiki/Rust Rust (II): https://www.rust-lang.org Firefox and Rust: https://servo.org Rust on TIOBE: https://www.tiobe.com/tiobe-index/rust Rust adoption: https://thenewstack.io/rust-by-the-numbers-the-rust-programming-language-in-2021 Bottlerocket: https://aws.amazon.com/bottlerocket/ Rust Foundation: https://foundation.rust-lang.org Cargo (Rust's package management and build system): https://doc.rust-lang.org/cargo Rust's Crates: https://crates.io D-Wave's quantum machines: https://www.dwavesys.com/solutions-and-products/systems Grumpies: https://grumpy-old-coders.org

 HPR3568: PopKorn Episode 2: Programming, Mathematics, and Asymmetric Literacy | File Type: audio/mpeg | Duration: Unknown

Shownotes will be updated after the show has been posted. Mastodon: https://nixnet.social/blackernel Email: izzyleibowitz@pm.me

 HPR3567: What is NVMe™ and why is it important? | File Type: audio/mpeg | Duration: Unknown

https://blog.westerndigital.com/nvme-important-data-driven-businesses/ NVM Express (NVMe) or Non-Volatile Memory Host Controller Interface Specification (NVMHCIS) is an open, logical-device interface specification for accessing a computer's non-volatile storage media usually attached via PCI Express (PCIe) bus. The acronym NVM stands for non-volatile memory, which is often NAND flash memory that comes in several physical form factors, including solid-state drives (SSDs), PCI Express (PCIe) add-in cards, and M.2 cards, the successor to mSATA cards. NVM Express, as a logical-device interface, has been designed to capitalize on the low latency and internal parallelism of solid-state storage devices https://en.wikipedia.org/wiki/NVM_Express

 HPR3566: HPR Community News for March 2022 | 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 3542 Tue 2022-03-01 The Worst Car I Ever Had Beeza 3543 Wed 2022-03-02 Idle thoughts on web browsers dnt 3544 Thu 2022-03-03 All my microphones Andrew Conway 3545 Fri 2022-03-04 How I make coffee Archer72 3546 Mon 2022-03-07 HPR Community News for February 2022 HPR Volunteers 3547 Tue 2022-03-08 Password Managers Some Guy On The Internet 3548 Wed 2022-03-09 Make a custom Git command klaatu 3549 Thu 2022-03-10 Linux Inlaws S01E51: git and static site generators monochromec 3550 Fri 2022-03-11 Format; Copy; Diskcopy; Xcopy Ahuka 3551 Mon 2022-03-14 Bash snippet

 HPR3565: Heavy Hacking down in the quarry. | File Type: audio/mpeg | Duration: Unknown

Another trip down the quarry with Marshall aka Timtimmy. Today he's changing the toggle plate on a MOBICAT MC 120 PRO Jaw Crusher. We've already covered it before but there is a brief refresher about the hydraulic, and pneumatic systems before we get to changing the plate itself. As always be sure you follow the safety instructions provided by the manufacturer. LinksMOBICAT MC 120 PRO Jaw CrusherBison 120 Jaw CrusherHealth and safety at quarries. The Quarries Regulations 1999. Approved Code of Practice British Standard Whitworth (BSW)

 HPR3564: Removing EXIF data from an image | File Type: audio/mpeg | Duration: Unknown

Introduction I’m writing a script to process image files sent in by HPR hosts with their shows. One of the things the script does is to strip Exif metadata from such images. That’s because this metadata may contain details that could identify the creator of the image - their camera, their location, and other things. Many people will be alert to this, but in case anything slips through it seems a courtesy to anonymise images sent to HPR. As I was implementing this I realised that one piece of Exif data: 'Orientation', can’t just be removed. Sometimes images are created with a particular orientation by the camera but are written with an Exif orientation setting that shows another orientation. If this is just removed the image might be shown wrongly. This short episode describes the journey I had learning about this issue and finding how to get round it. The Problem A show was sent in early March 2022 which had three images with orientation values in the Exif metadata. They had apparently been taken with one orientation but were being rotated for viewing. I later discovered that the orientation setting can be viewed with the exiftool command: $ exiftool -orientation testimage.jpg Orientation : Rotate 90 CW You can find information about the Orientation tag on the ExifTool web site. The actual image in this case is rotated 90° anti-clockwise (the top of the image is to the left) and this needs to be reversed. The setting 'Rotate 90 CW' causes it to be displayed after rotating 90° in the clockwise direction. The actual value for this setting is 6. The problem is that removing all the Exif data causes such an image to revert to its raw state as explained below. Investigation Demonstration It took me a little while to understand this problem because I couldn’t find a good explanation of what was going on. I found a repository on GitHub which would take a picture and generate all of the possible Exif orientations from it. I used it to generate pictures from one (a thumbnail) I used in an old HPR show. Here’s the original picture with an orientation setting of 6 (Rotate 90 CW), and then with the Exif metadata removed. Original image with orientation 6 Same image with Exif stripped Methods used to fix this I found and installed some tools: jpegexiforient - reads or writes the Exif Orientation Tag exifautotran - transforms Exif files so that Orientation becomes 1 jpegtran - lossless transformation of JPEG files Note that these only operate on JPEG images. The exifautotran tool is a shell script that uses jpegexiforient to find the orientation and jpegtran to undo whatever rotation (or other transformation) has been defined. Reading the exifautotran script helped me understand all of this, but I did not use these tools in the end. In the script I had written to manage images I also needed to do other image operations:

 HPR3563: Home Coffee Roasting, part 1 | File Type: audio/mpeg | Duration: Unknown

Links Example of a coffee page Green coffee outlook for March A neat video of first crack Coffee Glossary Article on Zimbabwe coffee Ethiopian Cini cups If I left anything out, let me know in the comments or email me. I think I mentioned in the show that I would put in the sound of first crack, but then it didn't work because the motor was too loud and you couldn't hear anything. Sorry. For part 2, see hpr3573

 HPR3562: Creating a new project with Haskell and Stack | File Type: audio/mpeg | Duration: Unknown

Stack Stack is a cross-platform program for developing Haskell projects. It features: Installing GHC automatically, in an isolated location. Installing packages needed for your project. Building your project. Testing your project. Benchmarking your project. Follow installation instructions to get it installed in your system. Starting a new project Our game will be called Treasure Dungeon. After installing stack, we'll open a new terminal window, change into some suitable directory and use stack to create our project: stack new treasure-dungeon rio. This will create directory treasure-dungeon and initialize it by using rio template. rio is a standard library that I have recently started using. There's a tutorial available if you want to learn more about it. We'll cover only very basics while writing the game. package.yaml Next step is to modify the project settings for the project that was created for us. Have a look at license file and change that to your liking. Then open up package.yaml and edit some of the metadata: git this should point to your public repository license this has machine readable info about the license terms author here you should fill in your info maintainer this is the person currently maintaining the package copyright Copyright information executablebles this section lists executable, you may want to edit the name I have a repository at codeberg if you want to have a look what settings I ended up with. stack.yaml Having finished with package.yaml, save it and start editing stack.yaml. Here we change only one setting: - resolver: lts-18.27, this specifies which set of libraries to use. These are fetched from Stackage. Final step is to edit README.md to suit your needs. Using stack Now we can work on our project. Lets start by building it: stack build. This will build the example code. There's one library and one executable there. If everything went correctly, we can start our executable with stack exec -- treasure-dungeon. This should print a little message on screen and exit. We can also turn on verbose logging, by starting the project with stack exec -- treasure-dungeon --verbose 2> log.txt. Another useful command is stack test, which will compile and run tests for the project. There's couple simple ones as an example created by the template. And if you want to clean up your project of intermediate files and exes, you can use stack clean. Project structure Final thing before finishing, let's have a look at the project structure. There's three directories: app, src and test. app contains code for our executable. This is where we will be placing big portion of the code, mainly one that deals with user interactions. src contains code for our library. This is where we will be placing code that codifies rules of the game. We want to keep this part of the code oblivious about outside world, like screens, user input and such. test this is where tests l

 HPR3561: Employment security | File Type: audio/mpeg | Duration: Unknown

Going through the phone system for the state of Illinois in the United States. Feel free to record your experience with various states/countries.

 HPR3560: LCh Components Layer Modes | File Type: audio/mpeg | Duration: Unknown

Layer Modes, sometimes called Blending Modes, allow you to combine layers in a variety of ways. We continue with the LCh Components Modes, which brings us to yet another color model, in this case the Hue, Saturation, and Value model. We've already looked at RGB, which is the model used for most broadcast and online uses, and the CMYK model which is used for printing, and in the previous tutorial we looked at the HSV model. This wraps up our look at color models, and also concluded our look at Layer Modes (or Blending Modes). These are the Layer Modes available on the latest (at the time I write this) version of GIMP, 2.10.24. Links: https://docs.gimp.org/2.10/en/gimp-concepts-layer-modes.html https://ninedegreesbelow.com/photography/determine-image-tonality-and-palette-part-1.html https://en.wikipedia.org/wiki/CIELAB_color_space https://en.wikipedia.org/wiki/CIELUV#Cylindrical_representation_.28CIELCH.29 https://en.wikipedia.org/wiki/List_of_color_spaces_and_their_uses https://en.wikipedia.org/wiki/Luminance https://www.ahuka.com/gimp/lch-components-layer-modes/

 HPR3559: Linux Inlaws S01E52: The Zig Project | File Type: audio/mpeg | Duration: Unknown

In this episode Martin and Chris have a very special guest: Loris Cro of Zig fame. Zig fame? Stay tuned. Not only is Loris an ex-colleague of our two aging heroes, he is also the community vice president at the Zig Software Foundation. So this episode will be all about this new programming language, why you should use it (and perhaps why you shouldn't) and life, the universe and the rest. And Rust. Of course. :-) Full disclosure: In contrast to other episodes, this one is really tech-heavy and may offend the less technical listeners. Listen at your own discretion if you want to into the weeds of Clang, LLVM, typing and cross-compilation - you have been warned. If this is up alley, you may want consider seeking professional help just in case :-). Links: Zig: https://ziglang.org Zig Foundation financial update: https://ziglang.org/news/financials-update Clang / LLVM: https://clang.llvm.org Rust: https://www.rust-lang.org Cargo: https://doc.rust-lang.org/cargo Mitchell's Tweet: https://twitter.com/mitchellh/status/1481441162871279618?s=20&t=OBGncJWN4B0N7mhflxlAbg 501cs (only read this if you can't get to sleep!): https://en.wikipedia.org/wiki/501(c)_organization Miami Vice: https://www.imdb.com/title/tt0086759 Lord of the Rings Trilogy: https://www.imdb.com/list/ls072068350 Land of the Blind: https://www.imdb.com/title/tt0433405/?ref_=fn_al_tt_1

 HPR3558: How I'm learning Haskell | File Type: audio/mpeg | Duration: Unknown

Online resources mentioned in the episode for learning Haskell: How to Learn Haskell - Chris Allen CIS 194 - Brent Yorgey Learn You a Haskell for Great Good! LambdaHack is a framework for Roguelike games. Books about Haskell: Haskell Programming from First Principles - Chris Allen Algebra-Driven Design - Sandy Maguire Optics by Example - Chris Penner Production Haskell Thinking With Types: Type-Level Programming in Haskell - Sandy Maguire What I Wish I Knew When Learning Haskell - Stephen Diehl Blogs I follow: Planet Haskell Monday Morning Haskell Alexis King Important reminders: haskell isn't impossible you don't need math degree to write Haskell you don't need to know category theory you need practice, you most likely can't just stare at code and learn it like that ad astra!

 HPR3557: A short story about Lenovo and laptop batteries | File Type: audio/mpeg | Duration: Unknown

kvalitetsdatorer.se https://www.kvalitetsdatorer.se/se/ The company where I bought my refurbished Thinkpad T530 inxi -Bxxx Command to get full information about all batteries in the system. Even on devices connected to the computer, as my Sansa Clip+ f.ex. Thinkpad X230 battery patch https://bystram.be/posts/thinkpad-x230-battery-ec-patch/ batteriexperten.se https://www.batteriexperten.com/sv/ tpacpi-bat A Perl script with ACPI calls for recent ThinkPads (such as T420 and W520) whose battery thresholds are not supported by tp_smapi

 HPR3556: TTS for HPR | File Type: audio/mpeg | Duration: Unknown

Used the opentts Project with default settings. The voices you will hear in order: coqui_en_ljspeech larynx_northern_english_male larynx_southern_english_female larynx_scottish_english_male larynx_glados I found the gladOS voice funny, hence I included that one, but these are the best sounding to my knowledge so far. I have seen that with there will be a new mimic release version 3 soon, which has a really great voice. And example with the voice of Alan Pope mycroft_demo. And synesthesiam who's working on these projects said that there will be hopefully a model, which can be trained with actual voice, which would fine tune the voice to sounds more like someone else.

 HPR3555: PopKorn Episode 1: The Fallacy of the Unreasonable Effectiveness of Mathematics in the ETC | File Type: audio/mpeg | Duration: Unknown

Mastodon: https://nixnet.social/blackernel Email: izzyleibowitz@pm.me

Comments

Login or signup comment.