Player FM - Internet Radio Done Right
28 subscribers
Checked 3h ago
הוסף לפני ten שנים
תוכן מסופק על ידי HPR Volunteer and Hacker Public Radio. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי HPR Volunteer and Hacker Public Radio או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Player FM - אפליקציית פודקאסט
התחל במצב לא מקוון עם האפליקציה Player FM !
התחל במצב לא מקוון עם האפליקציה Player FM !
פודקאסטים ששווה להאזין
בחסות
S
Squid Game: The Official Podcast


Squid Game is back—and this time, the knives are out. In the thrilling Season 3 premiere, Player 456 is spiraling and a brutal round of hide-and-seek forces players to kill or be killed. Hosts Phil Yu and Kiera Please break down Gi-hun’s descent into vengeance, Guard 011’s daring betrayal of the Game, and the shocking moment players are forced to choose between murdering their friends… or dying. Then, Carlos Juico and Gavin Ruta from the Jumpers Jump podcast join us to unpack their wild theories for the season. Plus, Phil and Kiera face off in a high-stakes round of “Hot Sweet Potato.” SPOILER ALERT! Make sure you watch Squid Game Season 3 Episode 1 before listening on. Play one last time. IG - @SquidGameNetflix X (f.k.a. Twitter) - @SquidGame Check out more from Phil Yu @angryasianman , Kiera Please @kieraplease and the Jumpers Jump podcast Listen to more from Netflix Podcasts . Squid Game: The Official Podcast is produced by Netflix and The Mash-Up Americans.…
HPR4377: Password store and the pass command
Manage episode 482334400 series 108988
תוכן מסופק על ידי HPR Volunteer and Hacker Public Radio. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי HPR Volunteer and Hacker Public Radio או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Standard UNIX password manager Password management is one of those computing problems you probably don't think about often, because modern computing usually has an obvious default solution built-in. A website prompts you for a password, and your browser auto-fills it in for you. Problem solved. However, not all browsers make it very easy to get to your passwords store, which makes it complex to migrate passwords to a new system without also migrating the rest of your user profile, or to share certain passwords between different users. There are several good open source options that offer alternatives to the obvious defaults, but as a user of Linux and UNIX, I love a minimal and stable solution when one is available. The pass command is a password manager that uses GPG encryption to keep your passwords safe, and it features several system integrations so you can use it seamlessly with your web browser of choice. Install pass The pass command is provided by the PasswordStore project. You can install it from your software repository or ports collection. For example, on Fedora: $ sudo dnf install pass On Debian and similar: $ sudo apt install pass Because the word pass is common, the name of the package may vary, depending on your distribution and operating system. For example, pass is available on Slackware and FreeBSD as password-store. The pass command is open source, so the source code is available at git.zx2c4.com/password-store. Create a GPG key First, you must have a GPG key to use for encryption. You can use a key you already have, or create a new one just for your password store. To create a GPG key, use the gpg command along with the --gen-key option (if you already have a key you want to use for your password store, you can skip this step): $ gpg --gen-key Answer the prompts to generate a key. When prompted to provide values for Real name, Email, and Comment, you must provide a response for each one, even though GPG allows you to leave them empty. In my experience, pass fails to initialize when one of those values is empty. For example, here are my responses for purposes of this article: Real name: Tux Email: tux@example.com Comment: My first key This information is combined, in a different order, to create a unique GPG ID. You can see your GPG key ID at any time: $ gpg --list-secret-keys | grep uid uid: Tux (My first key) tux@example.com Other than that, it's safe to accept the default and recommended options for each prompt. In the end, you have a GPG key to serve as the master key for your password store. You must keep this key safe. Back it up,
…
continue reading
4434 פרקים
Manage episode 482334400 series 108988
תוכן מסופק על ידי HPR Volunteer and Hacker Public Radio. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי HPR Volunteer and Hacker Public Radio או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Standard UNIX password manager Password management is one of those computing problems you probably don't think about often, because modern computing usually has an obvious default solution built-in. A website prompts you for a password, and your browser auto-fills it in for you. Problem solved. However, not all browsers make it very easy to get to your passwords store, which makes it complex to migrate passwords to a new system without also migrating the rest of your user profile, or to share certain passwords between different users. There are several good open source options that offer alternatives to the obvious defaults, but as a user of Linux and UNIX, I love a minimal and stable solution when one is available. The pass command is a password manager that uses GPG encryption to keep your passwords safe, and it features several system integrations so you can use it seamlessly with your web browser of choice. Install pass The pass command is provided by the PasswordStore project. You can install it from your software repository or ports collection. For example, on Fedora: $ sudo dnf install pass On Debian and similar: $ sudo apt install pass Because the word pass is common, the name of the package may vary, depending on your distribution and operating system. For example, pass is available on Slackware and FreeBSD as password-store. The pass command is open source, so the source code is available at git.zx2c4.com/password-store. Create a GPG key First, you must have a GPG key to use for encryption. You can use a key you already have, or create a new one just for your password store. To create a GPG key, use the gpg command along with the --gen-key option (if you already have a key you want to use for your password store, you can skip this step): $ gpg --gen-key Answer the prompts to generate a key. When prompted to provide values for Real name, Email, and Comment, you must provide a response for each one, even though GPG allows you to leave them empty. In my experience, pass fails to initialize when one of those values is empty. For example, here are my responses for purposes of this article: Real name: Tux Email: tux@example.com Comment: My first key This information is combined, in a different order, to create a unique GPG ID. You can see your GPG key ID at any time: $ gpg --list-secret-keys | grep uid uid: Tux (My first key) tux@example.com Other than that, it's safe to accept the default and recommended options for each prompt. In the end, you have a GPG key to serve as the master key for your password store. You must keep this key safe. Back it up,
…
continue reading
4434 פרקים
כל הפרקים
×This show has been flagged as Clean by the host. I am subscribed to a number of YouTube channels, and I am sharing them with you. Links: https://www.youtube.com/@2LegsAPaulMcCartneyPodcast https://www.youtube.com/@AdamNeely https://www.youtube.com/@AlReviewsWho https://www.youtube.com/@AlternateHistoryHub https://www.youtube.com/@amawaterways https://www.youtube.com/@theSpaceVixen https://www.youtube.com/channel/UC1AtM-B9YZTSoMcKt1yDieg https://www.youtube.com/@TheRealAndyMcKee https://www.youtube.com/channel/UCxgAH7EcmKhC9bLm7xQ971g https://www.youtube.com/@ApartmentSessions https://www.youtube.com/@arthurc.clarkecenterforhum6745 https://www.youtube.com/@associationofirishcelticfe4447 https://www.palain.com/ Provide feedback on this episode .…
This show has been flagged as Clean by the host. TuxJam co-host Kevie goes over the desktop applications that he currently uses, January 2025 at the time of recording. These include: Peazip Lutris GIMP Inkscape Tuba Mumble Telegram Calibre PDF Arranger Bluefish Editor Easytag Goodvibes OBS Studio Openshot Reco Audacity Provide feedback on this episode .…
This show has been flagged as Explicit by the host. Overview Several years ago I wrote a Bash script to perform a task I need to perform almost every day - find the newest file in a series of files. At this point I was running a camera on a Raspberry Pi which was attached to a window and viewed my back garden. I was taking a picture every 15 minutes, giving them names containing the date and time, and storing them in a directory. It was useful to be able to display the latest picture. Since then, I have found that searching for newest files useful in many contexts: Find the image generated by my random recipe chooser, put in the clipboard and send it to the Telegram channel for my family. Generate a weather report from wttr.in and send it to Matrix. Find the screenshot I just made and put it in the clipboard. Of course, I could just use the same name when writing these various files, rather than accumulating several, but I often want to look back through such collections. If I am concerned about such files accumulating in an unwanted way I write cron scripts which run every day and delete the oldest ones. Original script The first iteration of the script was actually written as a Bash function which was loaded at login time. The function is called newest_matching_file and it takes two arguments: A file glob expression to match the file I am looking for. An optional directory to look for the file. If this is omitted, then the current directory will be used. The first version of this function was a bit awkward since it used a for loop to scan the directory, using the glob pattern to find the file. Since Bash glob pattern searches will return the search pattern when they fail, it was necessary to use the nullglob (see references) option to prevent this, turning it on before the search and off afterwards. This technique was replaced later with a pipeline using the find command. Improved Bash script The version using find is what I will explain here. function newest_matching_file { local glob_pattern=${1-} local dir=${2:-$PWD} # Argument number check if [[ $# -eq 0 || $# -gt 2 ]]; then echo 'Usage: newest_matching_file GLOB_PATTERN [DIR]' >&2 return 1 fi # Check the target directory if [[ ! -d $dir ]]; then echo "Unable to find directory $dir" >&2 return 1 fi local newest_file # shellcheck disable=SC2016 newest_file=$(find "$dir" -maxdepth 1 -name "$glob_pattern" \ -type f -printf "%T@ %p\n" | sort | sed -ne '${s/.\+ //;p}') # Use printf instead of echo in case the file name begins with '-' [[ -n $newest_file ]] && printf '%s\n' "$newest_file" return 0 } The function is in the file newest_matching_file_1.sh , and it's loaded ("sourced", or declared) like this: . newest_matching_file_1.sh The '.' is a short-hand version of the command source . I actually have two versions of this function, with the second one using a regular expression, which the find command is able to search with, but I prefer this one. Explanation The first two lines beginning with local define variables local to the function holding the arguments. The first, glob_pattern is expected to contain something like screenshot_2025-04-*.png . The second will hold the directory to be scanned, or if omitted, will be set to the current directory. Next, an if statement checks that there are the right number of arguments, aborting if not. Note that the echo command writes to STDERR (using '>&2' ), the error channel. Another if statement checks that the target directory actually exists, and aborts if not. Another local variable newest_file is defined. It's good practice not to create global variables in functions since they will "leak" into the calling environment. The variable newest_file is set to the result of a command substitution containing a pipeline: The find command searches the target directory. Using -maxdepth 1 limits the search to the chosen directory and does not descend into sub-directories. The search pattern is defined by -name "$glob_pattern" Using -type f limits the search to files The -printf "%T@ %p\n" argument returns the file's last modification time as the number of seconds since the Unix epoch '%T@' . This is a number which is larger if the file is older. This is followed, after a space, by the full path to the file ( '%p' ), and a newline. The matching file names are sorted. Because each is preceded by a numeric time value, they will be sorted in ascending order of age. Finally sed is used to return the last file in the sorted list with the program '${s/.\+ //;p}' : The use of the -n option ensures that only lines which are explicitly printed will be shown. The sed program looks for the last line (using '$' ). When found the leading numeric time is removed with ' s/.\+ //' and the result is printed (with 'p' ). The end result will either be the path to the newest file or nothing (because there was no match). The expression '[[ -n $newest_file ]]' will be true if $newest_file variable is not empty, and if that is the case, the contents of the variable will be printed on STDOUT, otherwise nothing will be printed. Note that the script returns 1 (false) if there is a failure, and 0 (true) if all is well. A null return is regarded as success. Script update While editing the audio for this show I realised that there is a flaw in the Bash function newest_matching_file . This is in the sed script used to process the output from find . The sed commands used in the script delete all characters up to a space, assuming that this is the only space in the last line. However, if the file name itself contains spaces, this will not work because regular expressions in sed are greedy . What is deleted in this case is everything up to and including the last space. I created a directory called tests and added the following files: 'File 1 with spaces.txt' 'File 2 with spaces.txt' 'File 3 with spaces.txt' I then ran the find command as follows: $ find tests -maxdepth 1 -name 'File*' -type f -printf "%T@ %p\n" | sort | sed -ne '${s/.\+ //;p}' spaces.txt I adjusted the sed call to sed -ne '${s/[^ ]\+ //;p}' . This uses the regular expression: s/[^ ]\+ // This now specifies that what it to be removed is every non-space up to and including the first space. The result is: $ find tests -maxdepth 1 -name 'File*' -type f -printf "%T@ %p\n" | sort | sed -ne '${s/[^ ]\+ //;p}' tests/File 3 with spaces.txt This change has been propagated to the copy on GitLab . Usage This function is designed to be used in commands or other scripts. For example, I have an alias defined as follows: alias copy_screenshot="xclip -selection clipboard -t image/png -i \$(newest_matching_file 'Screenshot_*.png' ~/Pictures/Screenshots/)" This uses xclip to load the latest screenshot into the clipboard, so I can paste it into a social media client for example. Perl alternative During the history of this family of scripts I wrote a Perl version. This was originally because the Bash function gave problems when run under the Bourne shell, and I was using pdmenu a lot which internally runs scripts under that shell. #!/usr/bin/env perl use v5.40; use open ':std', ':encoding(UTF-8)'; # Make all IO UTF-8 use Cwd; use File::Find::Rule; # # Script name # ( my $PROG = $0 ) =~ s|.*/||mx; # # Use a regular expression rather than a glob pattern # my $regex = shift; # # Get the directory to search, defaulting to the current one # my $dir = shift // getcwd(); # # Have to have the regular expression # die "Usage: $PROG regex [DIR]\n" unless $regex; # # Collect all the files in the target directory without recursing. Include the # path and let the caller remove it if they want. # my @files = File::Find::Rule->file() ->name(qr/$regex/) ->maxdepth(1) ->in($dir); die "Unsuccessful search\n" unless @files; # # Sort the files by ascending modification time, youngest first # @files = sort {-M($a) <=> -M($b)} @files; # # Report the one which sorted first # say $files[0]; exit; Explanation This is fairly straightforward Perl script, run out of an executable file with a shebang line at the start indicating what is to be used to run it - perl . The preamble defines the Perl version to use, and indicates that UTF-8 (character sets like Unicode) will be acceptable for reading and writing. Two modules are required: Cwd : provides functions for determining the pathname of the current working directory. File::Find::Rule : provides tools for searching the file system (similar to the find command, but with more features). Next the variable $PROG is set to the name under which the script has been invoked. This is useful when giving a brief summary of usage. The first argument is then collected (with shift ) and placed into the variable $regex . The second argument is optional, but if omitted, is set to the current working directory. We see the use of shift again, but if this returns nothing (is undefined), the '//' operator invokes the getcwd() function to get the current working directory. If the $regex variable is not defined, then die is called to terminate the script with an error message. The search itself is invoked using File::Find::Rule and the results are added to the array @files . The multi-line call shows several methods being called in a "chain" to define the rules and invoke the search: file() : sets up a file search name(qr/$regex/) : a rule which applies a regular expression match to each file name, rejecting any that do not match maxdepth(1) : a rule which prevents the search from descending below the top level into sub-directories in($dir) : defines the directory to search (and also begins the search) If the search returns no files (the array is empty), the script ends with an error message. Otherwise the @files array is sorted. This is done by comparing modification times of the files, with the array being reordered such that the "youngest" (newest) file is sorted first. The <=> operator checks if the value of the left operand is greater than the value of the right operand, and if yes then the condition becomes true. This operator is most useful in the Perl sort function. Finally, the newest file is reported. Usage This script can be used in almost the same way as the Bash variant. The difference is that the pattern used to match files is a Perl regular expression. I keep this script in my ~/bin directory, so it can be invoked just by typing its name. I also maintain a symlink called nmf to save typing! The above example, using the Perl version, would be: alias copy_screenshot="xclip -selection clipboard -t image/png -i \$(nmf 'Screenshot_.*\.png' ~/Pictures/Screenshots/)" In regular expressions '.*' means "any character zero or more times". The '.' in '.png' is escaped because we need an actual dot character. Conclusion The approach in both cases is fairly simple. Files matching a pattern are accumulated, in the Bash case including the modification time. The files are sorted by modification time and the one with the lowest time is the answer. The Bash version has to remove the modification time before printing. This algorithm could be written in many ways. I will probably try rewriting it in other languages in the future, to see which one I think is best. References Glob expansion: Wikipedia article on glob patterns HPR shows covering glob expansion: Finishing off the subject of expansion in Bash (part 1) Finishing off the subject of expansion in Bash (part 2) GitLab repository holding these files: hprmisc - Miscellaneous scripts, notes, etc pertaining to HPR episodes which I have contributed Provide feedback on this episode .…
This show has been flagged as Explicit by the host. New hosts There were no new hosts this month. Last Month's Shows Id Day Date Title Host 4391 Mon 2025-06-02 HPR Community News for May 2025 HPR Volunteers 4392 Tue 2025-06-03 The Water is Wide, and the sheet music should be too Jezra 4393 Wed 2025-06-04 Journal like you mean it. Some Guy On The Internet 4394 Thu 2025-06-05 Digital Steganography Intro mightbemike 4395 Fri 2025-06-06 Second Life Lee 4396 Mon 2025-06-09 AI and Sangria operat0r 4397 Tue 2025-06-10 Transfer files from desktop to phone with qrcp Klaatu 4398 Wed 2025-06-11 Command line fun: downloading a podcast Kevie 4399 Thu 2025-06-12 gpg-gen-key oxo 4400 Fri 2025-06-13 Isaac Asimov: Other Asimov Novels of Interest Ahuka 4401 Mon 2025-06-16 hajime oxo 4402 Tue 2025-06-17 pinetab2 Brian in Ohio 4403 Wed 2025-06-18 How to get your very own copy of the HPR database norrist 4404 Thu 2025-06-19 Kevie nerd snipes Ken by grepping xml Ken Fallon 4405 Fri 2025-06-20 What did I do at work today? Lee 4406 Mon 2025-06-23 SVG Files: Cyber Threat Hidden in Images ko3moc 4407 Tue 2025-06-24 A 're-response' Bash script Dave Morriss 4408 Wed 2025-06-25 Lynx - Old School Browsing Kevie 4409 Thu 2025-06-26 H D R Ridiculous Monitor operat0r 4410 Fri 2025-06-27 Civilization V Ahuka 4411 Mon 2025-06-30 The Pachli project thelovebug Comments this month These are comments which have been made during the past month, either to shows released during the month or to past shows. There are 29 comments in total. Past shows There are 4 comments on 3 previous shows: hpr4375 (2025-05-09) " Long Chain Carbons,Eggs and Dorodango? " by operat0r . Comment 4 : Torin Doyle on 2025-06-06: "Reply to @Bob" hpr4378 (2025-05-14) " SQL to get the next_free_slot " by norrist . Comment 1 : Torin Doyle on 2025-06-12: "Cheers for this." hpr4388 (2025-05-28) " BSD Overview " by norrist . Comment 4 : Henrik Hemrin on 2025-06-02: "Learned more about BSD." Comment 5 : norrist on 2025-06-02: "Additional info for OpenBSD Router" This month's shows There are 25 comments on 10 of this month's shows: hpr4391 (2025-06-02) " HPR Community News for May 2025 " by HPR Volunteers . Comment 1 : Torin Doyle on 2025-06-06: "Very disappointed." Comment 2 : Ken Fallon on 2025-06-06: "Thanks for your feedback." Comment 3 : Torin Doyle on 2025-06-09: "Reply to Ken [Comment 2]" Comment 4 : norrist on 2025-06-09: "Watch the Queue for a show about how to find all the comments" Comment 5 : Torin Doyle on 2025-06-10: "Comment #3 typo." Comment 6 : Torin Doyle on 2025-06-11: "Reply to Comment #4 by norrist" Comment 7 : Torin Doyle on 2025-06-11: "Got the link." hpr4394 (2025-06-05) " Digital Steganography Intro " by mightbemike . Comment 1 : Henrik Hemrin on 2025-06-05: "Fascinating topic" Comment 2 : oxo on 2025-06-05: "Good show! " hpr4395 (2025-06-06) " Second Life " by Lee . Comment 1 : Antoine on 2025-06-08: "Brings philosophical thoughts" hpr4397 (2025-06-10) " Transfer files from desktop to phone with qrcp " by Klaatu . Comment 1 : Laindir on 2025-06-18: "The perfect kind of recommendation" hpr4398 (2025-06-11) " Command line fun: downloading a podcast " by Kevie . Comment 1 : Henrik Hemrin on 2025-06-11: "Tempted to have fun" Comment 2 : Ken Fallon on 2025-06-22: "Personal message to redhat (nprfan)" hpr4403 (2025-06-18) " How to get your very own copy of the HPR database " by norrist . Comment 1 : Torin Doyle on 2025-06-18: "Appreciated!" Comment 2 : Torin Doyle on 2025-06-18: "Database size." Comment 3 : norrist on 2025-06-18: "Also an SQLite version" Comment 4 : Torin Doyle on 2025-06-25: "Not able to use database to find my comments." hpr4404 (2025-06-19) " Kevie nerd snipes Ken by grepping xml " by Ken Fallon . Comment 1 : Henrik Hemrin on 2025-06-22: "More to digest" Comment 2 : Alec Bickerton on 2025-06-29: "Shorter version" Comment 3 : Alec Bickerton on 2025-06-29: "Shorter version" Comment 4 : Alec Bickerton on 2025-06-29: "XML parsing without xmlstarlet" hpr4405 (2025-06-20) " What did I do at work today? " by Lee . Comment 1 : Dave Morriss on 2025-06-25: "Thanks for bringing us along..." hpr4406 (2025-06-23) " SVG Files: Cyber Threat Hidden in Images " by ko3moc . Comment 1 : oxo on 2025-06-23: "Interesting! " Comment 2 : ko3moc on 2025-06-24: "response " hpr4408 (2025-06-25) " Lynx - Old School Browsing " by Kevie . Comment 1 : Henrik Hemrin on 2025-06-29: "Review ALT texts" Mailing List discussions Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the Mailing List which is open to all HPR listeners and contributors. The discussions are open and available on the HPR server under Mailman . The threaded discussions this month can be found here: https://lists.hackerpublicradio.com/pipermail/hpr/2025-June/thread.html Events Calendar With the kind permission of LWN.net we are linking to The LWN.net Community Calendar . Quoting the site: This is the LWN.net community event calendar, where we track events of interest to people using and developing Linux and free software. Clicking on individual events will take you to the appropriate web page. Provide feedback on this episode .…
This show has been flagged as Clean by the host. After updating the firmware on my Sony Noise Cancelling Headset, and upgrading to Fedora 40 , my A2DP ) profiles stopped working. I did a quick search and found someone with the same issue and it would be fixed in a Kernel upgrade. Common enough on a bleeding edge that is Fedora, however as the months moved on and the kernel upgraded, the problem remained. I tried to implement workarounds several times but eventually came across this passage from hank aka hankuoffroad on the Fedora Forums This is a known behavior when using Bluetooth audio on Linux on hands-free mode: you cannot use A2DP for high-quality audio output while simultaneously using the Bluetooth microphone via HSP/HFP, due to profile limitations in the Bluetooth specification and current Linux audio stack. I knew this of course, but my Sony WH-CH700N Wireless Noise Cancelling Headphones don't have a microphone. ... Hold on how does Noise Cancelling work exactly again ? Active noise control (ANC), also known as noise cancellation (NC), or active noise reduction (ANR), is a method for reducing unwanted sound by the addition of a second sound specifically designed to cancel the first Wikipedia If the first is the background noise, it needs a microphone to capture it so it can be inverted. Ah ha...I had recently also disabled my Zoom H2v2 as it was now sometimes acting as a speaker. So presumably pipewire tries to find any microphone on the system, when it cant find the best one it will resort to the one used for noise canceling in the headset. Once the headset is been used for audio in as well, then there isn't enough bandwidth to do high definition audio, so you end up with the low quality two way profiles. Would the solution be as easy as enabling a proper microphone . . . . Provide feedback on this episode .…
This show has been flagged as Clean by the host. Having purchased a new cable bag from Bellroy at the start of the year, Kevie shares his thoughts on the Bellroy Travel Kit . Provide feedback on this episode .
This show has been flagged as Clean by the host. If you go to the system settings in the main menu for KDE and scroll down, you can get to shortcuts and under shortcuts, there is a thing called custom shortcuts, and you can do anything you want in here. Provide feedback on this episode .
This show has been flagged as Explicit by the host. The program starts with a brief trailer, presenting the story, before starting the full audiodrama... I hope you have a good show, thanks in advance for listening. References (some): LIANG, Jiashuo. A History of Japan’s Unit 731 and Implications for Modern Biological Warfare. Advances in Social Science, Education and Humanities Research, v. 673. Atlantis Press, 2022. PBS. The Living Weapon: Shiro Ishii. Link: https://www.pbs.org/wgbh/americanexperience/features/weapon-biography-shiro-ishii . Accessed: January 2025. RIDER, Dwight R. Japan’s Biological and Chemical Weapons Programs; War Crimes and Atrocities – Who’s Who, What’s What, Where’s Where. 1928 – 1945. 3rd ed., 2018 [“In Process” version]. Credits of audio used — in order of appearance (or “listenance”): Kulakovka / Pixabay – Lost in Dreams (abstract chill downtempo cinematic future beats). BBC Sound Effects – Aircraft: Beaufighters - Take off. (Bristol Beaufighter, World War II); Army: Parade Ground Manoeuvres - Platoon strolls single-file on parade ground; Weather: Snow - Blizzard - heard inside house, with banging shutters; Footsteps In Snow - Footsteps in snow, 3 men departing; Water - Filling metal bucket from pond and pouring water on to concrete. florianreichelt / Freesound ¬– quick woosh. Thalamus_Lab / Freesound – Vertical Noise_Chinese Folk Duo Decay. neolein / Freesound – Mystic chinese guzheng. BBC Sound Effects again – World War 2 - Enemy artillery (World War II actuality) - 1975 (500S); Aircraft: Beaufighters - Exterior, steep climb. (Bristol Beaufighter, World War II). JamesFarrell_97 / Freesound – Game Theme. Luke100000 / Freesound – turning old pages. BBC Sound Effects – Sirens & Gunfire - World War II Air Raid Siren, German, all clear sounded. Gvidon / Pixabay – Spinning Head. * If you'd like the script to read (along with a few other things, like the Audacity project), you can obtain the text at the production's page on Archive.org: https://archive.org/details/the-prisioner-of-unit-731-audiodrama-final * As a post-show extra: you can listen to the producer's motivation for producing this story on ep. 4313. hpr4313 :: Why I made a 1-episode podcast about a war story: https://hackerpublicradio.org/eps/hpr4313/index.html Provide feedback on this episode .…
This show has been flagged as Clean by the host. In this episode Dave and Kevie chat with Nik from the Pachli project. Pachli is a free/open-source Mastodon/Fediverse client for Android. We talk in depth about Nik's background, Pachli's name and origin, and the motivation for creating another client for the Fediverse. Also discussed is Pachli's association with the Nivenly Foundation , and how users and developers can contribute to the project as a whole. With thanks to Nik for his time and candor. Fediverse: @nikclayton@mastodon.social Fediverse: @pachli@mastodon.social Email: team@pachli.app Website: pachli.app GitHub: pachli-android Provide feedback on this episode .…
This show has been flagged as Clean by the host. Civilization V, released in 2010, was a further evolution of the franchise that added interesting new features. We introduce it in this episode. Links: https://en.wikipedia.org/wiki/Jon_Shafer https://civilization.fandom.com/wiki/Production_(Civ5) https://civilization.fandom.com/wiki/Happiness_(Civ5) https://www.youtube.com/watch?v=xgRIdcWq_fs https://www.youtube.com/watch?v=rh6hXzW_GyA https://www.youtube.com/watch?v=DbK82-u08dw https://www.youtube.com/watch?v=Hyv3qJpMNIs https://www.youtube.com/watch?v=Qgc8ZaShkR4 https://www.youtube.com/watch?v=Wy6AoOQ136Y https://www.youtube.com/watch?v=q7VW-rGvfrs https://www.youtube.com/watch?v=xypYpI4UiEc https://www.youtube.com/watch?v=I__9ZlOUG4E https://www.youtube.com/watch?v=Z3x3P8gsCFA https://www.palain.com/gaming/civilization-v/ Provide feedback on this episode .…
Never fan of duel monitors Mother inlaw had a better monitor then me https://slickdeals.net 4:3, 16:9, 21:9 (Ratio calculator) Samsung 49" Class Odyssey G95C DQHD 240Hz Curved Gaming Monitor LS49CG95DENXZA US $646.49 posture / arms out / screen position / mouse shoulder For car sim and gaming not for DEV Virtual Monitor for Display Port connections https://github.com/roshkins/IddSampleDriver HDR profiles for windows HDR calibration https://github.com/dylanraga/win11hdr-srgb-to-gamma2.2-icm avsforum HDR10 test patterns set https://www.avsforum.com/threads/hdr10-test-patterns-set.2943380/ Set and Forget HDR on Win11. Works for Black Myth Wukong. Sdr Hdr Trick https://www.youtube.com/watch?v=EPUKW3xLTNM Talk about Gameplay / Lighting /HDR / Bright High contrast https://github.com/freeload101/SCRIPTS/blob/6059ce43696e3c8101926da7959bebafbd0ab3b6/AutoHotkey/C0ffee%20Anti%20Idle%20v2.ahk#L130 SUMMARY The presenter discusses configuring monitor settings for development, emphasizing HDR calibration and multi-monitor productivity. IDEAS Calibrating a monitor's HDR settings can significantly improve image quality by adjusting brightness and color. Using HDR (High Dynamic Range) enhances the visual experience by improving contrast and color accuracy. Adjusting black levels and brightness helps in achieving optimal visibility for both bright and dark scenes. The calibration of HDR settings involves fine-tuning various parameters like gamma, whites, and blacks. Multi-monitor setups can enhance productivity by allowing more efficient workspace organization. Curved monitors may benefit development tasks by providing a larger visual area without needing multiple displays. Managing dual monitors requires spatial awareness to efficiently switch focus between screens. Windows' snapping features help in organizing windows on multi-monitor setups, enhancing workflow efficiency. The presenter finds the transition from dual monitors to a single large curved monitor advantageous for productivity. A larger screen real estate reduces the need for physical separation of workspaces, easing multitasking. QUOTES "I will be looking at calibrating my monitor's HDR settings." "Let me know if you have any questions or suggestions in regards to these videos..." "HDR is a…
Kevie , from the TuxJam podcast, takes a look at the Lynx command line browser and briefly discusses it's uses and if it still has a place in our modern times. Some Useful Hot-keys: g to go to a specific website m goes to your start page (Main screen is what Lynx calls it) o for options h for help p for print q to quit program / search for text on a page Navigation < previous page > forward page up and down move between links on the page. Down or left will also cancel a command if pressed accidentally. Pg Up and Pg Down scroll up or down a whole screen at a time. ctrl n (down or next) and ctrl p (up or previous) will move the page up and down a couple of lines a will add the current page to the bookmarks list v views the list of bookmarks , open the current page in another browser G displays the URL and allows editing ctrl L reloads the current page Some Basic Config Edits: Edit the file /etc/lynx/lynx.cfg (You will need to used sudo privileges to edit a system file) To change the starting page go to Line 111 and add STARTFILE:YOUR_CHOSEN_PAGE_URL I used https://duckduckgo.com/lite Don't forget to comment out the default one at line 105 To change the browser to open a link, go to Line 3141 and add EXTERNAL:http:BROSWER_LAUNCH_COMMAND %s:TRUE To use the default browser on modern Linux systems add xdg-open…
Introduction On 2025-06-19 Ken Fallon did a show, number 4404 , responding to Kevie's show 4398 , which came out on 2025-06-11. Kevie was using a Bash pipeline to find the latest episode in an RSS feed, and download it. He used grep to parse the XML of the feed. Ken's response was to suggest the use of xmlstarlet to parse the XML because such a complex structured format as XML cannot reliably be parsed without a program that "understands" the intricacies of the format's structure. The same applies to other complex formats such as HTML, YAML and JSON. In his show Ken presented a Bash script which dealt with this problem and that of the ordering of episodes in the feed. He asked how others would write such a script, and thus I was motivated to produce this response to his response! Alternative script My script is a remodelling of Ken's, not a completely different solution. It contains a few alternative ways of doing what Ken did, and a reordering of the parts of his original. We will examine the changes in this episode. Script #!/bin/bash # Original (c) CC-0 Ken Fallon 2025 # Modified by Dave Morriss, 2025-06-14 (c) CC-0 podcast="https://tuxjam.otherside.network/feed/podcast/" # [1] while read -r item do # [2] pubDate="${item%;*}" # [3] pubDate="$( \date --date="${pubDate}" --universal +%FT%T )" # [4] url="${item#*;}" # [5] echo "${pubDate};${url}" done < <(curl --silent "${podcast}" | \ xmlstarlet sel --text --template --match 'rss/channel/item' \ --value-of 'concat(pubDate, ";", enclosure/@url)' --nl - ) | \ sort --numeric-sort --reverse | \ head -1 | \ cut -f2 -d';' | wget --quiet --input-file=- # [6] I have placed some comments in the script in the form of '# [1]' and I'll refer to these as I describe the changes in the following numbered list. Note: I checked, and the script will run with the comments, though they are only there to make it easier to refer to things. The format of the pipeline is different. It starts by defining a while loop, but the data which the read command receives comes from a process substitution of the form '<(statements)' (see the process substitution section of "hpr2045 :: Some other Bash tips" ). I have arranged the pipeline in this way because it's bad practice to place a while in a pipeline, as discussed in the show: hpr3985 :: Bash snippet - be careful when feeding data to loops . (I added -r to the read because shellcheck , which I run in the vim editor, nagged me!) The lines coming from the process substitution are from running curl to collect the feed, then using xmlstarlet to pick out the pubDate field of the item, and the url attribute of the enclosure field returning them as two strings separated by a semicolon ( ';' ). This is from Ken's original code. Each line is read into the variable item , and the first element (before the semicolon) is extracted with the Bash expression "${item%;*}" .…
Out of nowhere, my Firefox browser on my Mac mini started automatically adding every page I visited to my bookmarks. At first, I thought it was a bug after recent update —maybe a misconfigured setting or similar. But when I searched for a fix, Google suggested something alarming: Scan for malware. And guess what? The source of my trouble turned out to be an 4 SVG files hiding malicious code. That’s right—those innocent-looking vector graphics files we use every day for logos, icons, and web design? They can secretly carry malware. In my case those were the files, a logos of reputable delivery companies like deliveroo and JustEat which I have downloaded while I was updating a website for my client. Today, we’re breaking down how SVG files are being weaponized, why they’re so effective, and how to protect yourself. example of svg file <?xml version="1.0"?> <svg xmlns="http://www.w3.org/2000/svg" width="120" height="160" viewBox="0 0 120 160"> <!-- Animated Bodhi Leaf --> <path id="bodhi-leaf" d="M60 10 Q30 40 20 80 Q15 120 60 150 Q105 120 100 80 Q90 40 60 10 Z" stroke="#1E5631" stroke-width="2"> <animate attributeName="fill" values="white;#FFD700;#2E8B57;#4682B4;#FF0000;#800080;#808080;black;white" dur="8s" repeatCount="indefinite"/> </path> <!-- Static veins (contrast with leaf) --> <path d="M60 10 L60 150" stroke="#1E5631" stroke-width="1.5"/> <g stroke="#1E5631" stroke-width="1"> <path d="M60 30 Q45 35 40 50"/> <path d="M60 30 Q75 35 80 50"/> <path d="M60 60 Q40 70 35 90"/> <path d="M60 60 Q80 70 85 90"/> <path d="M60 90 Q50 100 45 120"/> <path d="M60 90 Q70 100 75 120"/> </g> </svg>…
This is about developing Visual Basic classes for a web application. The classes access an SQL Server database via Stored Procedures. Tests.vb Private Sub ResourceTypeTests() ResourceTypeAddTest() ResourceTypeGetTest() End Sub Private Sub ResourceTypeAddTest() Dim fake As New Fake Console.WriteLine("Adding resource type") Console.WriteLine() Dim objResourceType As New ResourceType With { .ResourceTypeID = 0, .ResourceTypeName = fake.Noun } OutputResourceType(objResourceType) Dim ResourceTypeID As Integer = objResourceType.Add() Console.WriteLine("Added Resource Type ID " & ResourceTypeID) Console.WriteLine() Console.WriteLine("Modifying resource type with ID " & ResourceTypeID) Console.WriteLine() fake = New Fake With objResourceType .ResourceTypeID = ResourceTypeID .ResourceTypeName = fake.Noun End With Console.WriteLine("Modification") OutputResourceType(objResourceType) Dim newResourceTypeID As Integer = objResourceType.Add() Console.WriteLine("Modified ResourceTypeID " & newResourceTypeID) Console.WriteLine() End Sub Private Sub ResourceTypeGetTest() Console.WriteLine("Fetching resource types") Console.WriteLine() Dim objResourceType As New ResourceType() Dim ResourceTypeList As List(Of ResourceType) = objResourceType.GetResourceTypes() For Each ResourceType As ResourceType In ResourceTypeList OutputResourceType(ResourceType) Next End Sub Private Sub OutputResourceType(ResourceType As ResourceType) Console.WriteLine("Resource Type ID " & ResourceType.ResourceTypeID) Console.WriteLine("Resource Type Name " & ResourceType.ResourceTypeName) Console.WriteLine() End Sub ResourceType.vb Public Class ResourceType Private m_ResourceTypeID As Integer Private m_ResourceTypeName As String Private ReadOnly dataFields As New List(Of String) From { "ResourceTypeID", "ResourceTypeName" } Private ReadOnly objFields = dataFields Dim objGlobals As New Globals Dim _ConnectionString As String = objGlobals.getConnectionString() Property ResourceTypeID As Integer Get ResourceTypeID = m_ResourceTypeID End Get Set(value As Int32) m_ResourceTypeID = value End Set End Property Property ResourceTypeName As String Get ResourceTypeName = m_ResourceTypeName End Get Set(value As String) m_ResourceTypeName = value End Set End Property Public Function Add() As Int32 Dim ReturnValue As Int32 Try ReturnValue = StoredProcOutInt( _ConnectionString, "dbo.ResourceType_Add", Me, dataFields, objFields, "NewResourceTypeID" ) Catch ex As Exception ErrorRecorder("Resource.Add", ex.Message, ex.Data.ToString) ReturnValue = 0 End Try Return ReturnValue End Function Public Function GetResourceTypes() As List(Of ResourceType) Dim ObjResourceTypes As New List(Of ResourceType) Try StoredProc(Of ResourceType)( _ConnectionString, "dbo.ResourceType_Get", dataFields, objFields, ObjResourceTypes ) Catch ex As Exception ErrorRecorder("ResourceType.GetResourceTypes", ex.Message, ex.Data.ToString) End Try Return ObjResourceTypes End Function End Class ResourceType_Add.sql SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO CREATE PROCEDURE [dbo].[ResourceType_Add] @ResourceTypeID INT, @Resou…
H
Hacker Public Radio

More Command line fun: downloading a podcast In the show hpr4398 :: Command line fun: downloading a podcast Kevie walked us through a command to download a podcast. He used some techniques here that I hadn't used before, and it's always great to see how other people approach the problem. Let's have a look at the script and walk through what it does, then we'll have a look at some "traps for young players" as the EEVBlog is fond of saying. Analysis of the Script wget `curl https://tuxjam.otherside.network/feed/podcast/ | grep -o 'https*://[^"]*ogg' | head -1` It chains four different commands together to "Save the latest file from a feed". Let's break it down so we can have checkpoints between each step. I often do this when writing a complex one liner - first do it as steps, and then combine it. The curl command gets https://tuxjam.otherside.network/feed/podcast/ . To do this ourselves we will call curl https://tuxjam.otherside.network/feed/podcast/ --output tuxjam.xml , as the default file name is index.html. This gives us a xml file, and we can confirm it's valid xml with the xmllint command. $ xmllint --format tuxjam.xml >/dev/null $ echo $? 0 Here the output of the command is ignored by redirecting it to /dev/null Then we check the error code the last command had. As it's 0 it completed sucessfully. Kevie then passes the output to the grep search command with the option -o and then looks for any string starting with https followed by anything then followed by two forward slashes, then -o, --only-matching Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line We can do the same with. I was not aware that grep defaulted to regex, as I tend to add the --perl-regexp to explicitly add it. grep --only-matching 'https*://[^"]*ogg' tuxjam.xml http matches the characters http literally (case sensitive) s* matches the character s literally (case sensitive) Quantifier: * Between zero and unlimited times, as many times as possible, giving back as needed [greedy] : matches the character : literally / matches the character / literally / matches the character / literally [^"]* match a single character not present in the list below Quantifier: * Between zero and unlimited times, as many times as possible, giving back as needed [greedy] " a single character in the list " literally (case sensitive) ogg matches the characters ogg literally (case sensitive) When we run this ourselves we get the following $ grep --only-matching 'https*://[^"]*ogg' tuxjam.xml https://archive.org/download/tuxjam-121/tuxjam_121.ogg https://archive.org/download/tuxjam-120/TuxJam_120.ogg https://archive.org/download/tux-jam-119/TuxJam_119.ogg https://archive.org/download/tuxjam_118/tuxjam_118.ogg https://archive.org/download/tux-jam-117-uncut/TuxJam_117.ogg https://tuxjam.otherside.network/tuxjam-115-ogg https://archive.org/download/tuxjam_116/tuxjam_116.ogg https://tuxjam.otherside.network/tuxjam-115-ogg https://tuxjam.otherside.network/tuxjam-115-ogg https://t…
Get your own copy of the HPR database reset_hpr.sh systemctl start mariadb curl https://hackerpublicradio.org/hpr.sql > hpr.sql mariadb -e 'drop database hpr_hpr' mariadb -e 'create database hpr_hpr' mariadb hpr_hpr < hpr.sql mariadb -e 'select count(*) from eps' hpr_hpr mariadb -e 'select * from comments where comment_author_name="Torin Doyle" G' hpr_hpr…
1 intro hpr 4346 swift 110 2 prior tablet samsung tablet lineageos 3 my use case reading pdfs/epubs using emacs forth developement on microcontrollers, serial port access was a challenge 4 my not use case video media consumption audio consumption 5 pinetab2 tablet based on rockchip rk3566 4 gig and 8 gig models community driven developement 6 impressions kids love rolling releases and glitzy desktops this device needs minimum everything to be useful stuck with arch stuck with systemd wayland 7 so what i did installed x11, better, mature system, virtual keyboards installed fluxbox, low system resources needed. lots of customization done by config files, yes suckless is no good installed emacs-lucid (gtk no good), why you ask? emacs is a lisp environment focused on text editing emacs has mechanisms that allow intereaction with X easy to build functions to get basic tablet motions epub modes, pdf modes, terminal emulator , org mode! installed xvkbd for virtual keyboard in tablet mode installed xpdf all programs in factory arch install available 8 where this is at functions ok laptop mode is nice, keyboard case works well tablet rotation is done via emacs commands (need to bind these to keys) and has three modes tablet mode with virtual keyboard tablet mode with external key board (full screen portrait mode) tablet mode using keyboard case, book mode still suffer random crashes, still tracking that down good battery life (battery status available on emacs modeline) wifi works, bluetooth doesn't easy access to serial ports using standard tools 9 what i'd like to do install slackware spify up the desktop add functionality things like brightness control…
hajime This installation script installs an Arch Linux system on an x64 architecture. The installation can be done with or without a network connection (internet). oxo/hajime - Codeberg.org hajime/make-recov at main - oxo/hajime - Codeberg.org isolatest/isolatest at main - oxo/isolatest - Codeberg.org…
Isaac Asimov is best known for two series, the Foundation series and the Robot series, and he eventually tied them together. But he also wrote some stand-alone novels that are quite good, and I want to discuss them here. They are The End Of Eternity, The Gods Themselves, and Nemesis. Links: https://en.wikipedia.org/wiki/The_End_of_Eternity https://en.wikipedia.org/wiki/The_Gods_Themselves https://en.wikipedia.org/wiki/Nemesis_(Asimov_novel) https://www.palain.com/science-fiction/the-golden-age/other-asimov-novels-of-interest/…
More than ten years ago I studied the lecture recordings of "Introduction to Cryptography" Introduction to Cryptography by Christof Paar - Invidious by Professor Paar Christof Paar - Wikipedia, which are absolutely amazing! These lectures will learn you how the most popular encryption algorithms work. The scripts I mentioned in their current versions are: tool/gpg-gen-key at main - oxo/tool - Codeberg.org tool/gpg-bu-key at main - oxo/tool - Codeberg.org tool/gpg-pass-vfy at main - oxo/tool - Codeberg.org Search the history for commit 95408d31c2 (gpg-gen-key) and dd608f9bd6 (gpg-bukey and gpg-pass-vfy) for the versions at the moment of recording.…
Kevie, from the TuxJam podcast, continues his look at audio tools on the command line; this time focusing on acquiring audio files from an RSS feed. Save the latest file from a feed: wget `curl RSS_FEED | grep -o 'https*://[^"]*FILE_EXTENSION' | head -1` To get the latest episode of TuxJam wget `curl https://tuxjam.otherside.network/feed/podcast/ | grep -o 'https*://[^"]*ogg' | head -1` However if you want the files from the whole feed: wget `curl RSS_FEED | grep -Eo 'https*://[^"]*FILE_EXTENSION' | sort -u | xargs` To get every episode of TuxJam: wget `curl https://tuxjam.otherside.network/feed/podcast/ | grep -Eo 'https*://[^"]*ogg' | sort -u | xargs` If you wish to specify the directory to save the file in then use -P /directory after wget. To download the TuxJam feed and place the files in a directory called Podcasts in your home folder you would use: wget -P ~/Podcasts `curl https://tuxjam.otherside.network/feed/podcast/ | grep -Eo 'https*://[^"]*ogg' | sort -u | xargs` For more in this mini-series of audio command line tools then see: hpr4249 :: Audio Streams on the Command Line hpr4287 :: Schedule audio recordings on the command line hpr4294 :: Schedule audio recordings on the command line - A bit of fine tuning…
How does it work? qrcp binds a web server to the address of your Wi-Fi network interface on a random port and creates a handler for it. The default handler serves the content and exits the program when the transfer is complete. When used to receive files, qrcp serves an upload page and handles the transfer. The tool prints a QR code that encodes the text: http://{address}:{port}/{random_path} Most QR apps can detect URLs in decoded text and act accordingly (i.e. open the decoded URL with the default browser), so when the QR code is scanned the content will begin downloading by the mobile browser. (Notes taken from https://github.com/claudiodangelis/qrcp released under the MIT license. Links https://github.com/claudiodangelis/qrcp/releases https://qrcp.sh/tutorials/secure-transfers-with-mkcert…
We join operat0r in the kitchen for another cooking and AI discussion. Chock full of tasty tips of getting your LLM of choice up and running. Links https://en.wikipedia.org/wiki/Sangria https://www.anaconda.com/docs/getting-started/miniconda/install https://duckduckgo.com/?t=ffab&q=silly%20tagern%20install&ia=web https://docs.unsloth.ai/ https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html https://pytorch.org/get-started/locally/…
Second Life is a multiplayer virtual world that allows people to create an avatar for themselves and then interact with other users and user-created content within a multi-user online environment. From Wikipedia, the free encyclopedia Links Second Life Official Website - https://secondlife.com/ Second Life on Wikipedia - https://en.wikipedia.org/wiki/Second_Life Linden Lab - https://lindenlab.com/…
H
Hacker Public Radio

Apologies for not introducing myself in the audio! I struggled a bit to take on this topic at a high enough level to keep it to about a half hour, because every subtopic is nuanced and the details are always technical. Not sure how well it worked out but my intention was to focus mainly on the 2 most common examples - hiding messages in text and in images. Topics I mentioned: encryption vs steganography who uses steganography and for what purpose? hiding text in text hiding data in images using LSB encoding hiding data in other places steganalysis If you want to leave feedback, consider saying whether you think it would be more useful to talk about: using the most popular tools and software detailed look at specific steganographic techniques case studies in the unlikely case that I do a followup episode (I doubt there's a strong interest in this topic)…
H
Hacker Public Radio

Prerequisites: Novice Ability to read and write. Access to pen and paper. Advanced/Expert Disc bound notebook (if you're cool you'll have one) Title: BIC Soft Feel Retractable Ballpoint Pen, Medium Point (1.0mm) Source(s): https://us.bic.com/en_us/bic-soft-feel-retractable-ball-point-pen-medium-assorted-36-pack.html UPC: 070330196506 Item Number: SCSM361-AST Commercial name: Soft Feel Retractable Ball Pen Retractable pen no-slip grip Tungsten carbide ball 1.0mm medium point Title: BIC Cristal Xtra Smooth Black Ballpoint Pens, Medium Point (1.0mm). Source(s): https://us.bic.com/en_us/bic-cristal-xtra-smooth-black-ballpoint-pens-medium-point-1-0mm-500-count-pack.html UPC: 070330377226 Item Number: MS500E-BLK Commercial name: Cristal Xtra Smooth Ball Pen Cap with pocket clip Tungsten carbide ball 1.0mm medium point Translucent barrel for visible ink supply Title: BIC Round Stic Xtra Comfort Black Ballpoint Pens, Medium Point (1.0mm). Source(s): https://us.bic.com/en_us/bic-round-stic-xtra-comfort-black-ballpoint-pens-144-count-pack.html UPC: 070330377325 Item Number: GSMG144E-BLK Commercial name: Round Stic Grip Xtra Comfort Ball Pen Cap with pocket clip Tungsten carbide ball 1.0mm medium point Title: BIC Round Stic Xtra Life, Ball Point Pen Source(s): https://us.bic.com/en_us/bic-round-stic-xtra-life-ball-point-pen-blue-60-pack.html Cap with pocket clip Tungsten carbide ball 1.0mm medium point Translucent barrel for visible ink supply UPC: 070330131613 Item Number: GSM609DC Commercial name: Round Stic Xtra Life Ball Pen Title: Pilot G2 Pens 0.7 mm Source(s): https://www.target.com/s/pilot+g2+pens Source(s): https://pilotpen.us/Product?0=41&1=47&cid=260 Gel ink Rolling Ball 0.7mm fine point Translucent barrel for visible ink supply Rubber grip Refillable Convenient clip Title: Uniball Signo 207 Source(s): https://www.unibrands.co/collections/207 Gel ink 0.7mm fine point Translucent barrel for visible ink supply Rubber grip Refillable Convenient clip Title: uniball™ Roller, Rollerball Pens. Source(s): https://www.unibrands.co/collections/rollerball-pens/products/roller-rollerball-pens Gel ink 0.7mm fine point Refillable Cap with clip Title: 8.5 x 11 dot g…
lilypond opensource music notation software https://lilypond.org/ dombra https://en.wikipedia.org/wiki/Dombra
H
Hacker Public Radio

New hosts There were no new hosts this month. Last Month's Shows Id Day Date Title Host 4369 Thu 2025-05-01 What LP records do I have? Fred Black 4370 Fri 2025-05-02 Playing Civilization IV, Part 8 Ahuka 4371 Mon 2025-05-05 HPR Community News for April 2025 HPR Volunteers 4372 Tue 2025-05-06 The power of GNU Readline - part 4 Some Guy On The Internet 4373 Wed 2025-05-07 Rsync with stdin as source oxo 4374 Thu 2025-05-08 24-25 New Years Eve show 7 Honkeymagoo 4375 Fri 2025-05-09 Long Chain Carbons,Eggs and Dorodango? operat0r 4376 Mon 2025-05-12 Re-research Lee 4377 Tue 2025-05-13 Password store and the pass command Klaatu 4378 Wed 2025-05-14…
H
Hacker Public Radio

As we saw in the demonstration of the Culture victory, picking the right Wonders to build is an important part of your strategy, so in this episode we conclude our look at Civilization IV by analysing which Wonders to focus on for each Victory type. Links: https://civilization.fandom.com/wiki/List_of_wonders_in_Civ4#Ancient https://www.palain.com/gaming/civilization-iv/playing-civilization-iv-part-9/…
H
Hacker Public Radio

Synopsis On this episode, Rho`n talks about his experience with the *nix find command and the -print0 option in relation to oxo's experience. He also gives a brief explanation of the xargs command and its use with find -print0. References: How to Use the xargs Command on Linux xargs(1) — Linux manual page…
Intro How I know BSD Very minimal NetBSD usage I'm am leaving out Dragonfly BSD Previous episodes Several by Claudio Miranda and others - check the tags page. hpr3799 :: My home router history hpr3187 :: Ansible for Dynamic Host Configuration Protocol hpr3168 :: FreeBSD Jails and iocage hpr2181 :: Install OpenBSD from Linux using Grub History and Overview https://en.wikipedia.org/wiki/History_of_the_Berkeley_Software_Distribution The history of the Berkeley Software Distribution began in the 1970s when University of California, Berkeley received a copy of Unix. Professors and students at the university began adding software to the operating system and released it as BSD to select universities. https://en.wikipedia.org/wiki/Comparison_of_BSD_operating_systems Comparisons to Linux Not better or worse, just different. BSD is a direct descendant of the original UNIX Not distributions - Separate projects with separate code bases. Permissive vs Copyleft One Project vs Kernel + User land Most Open Source software is available on BSD ports and packages Network Devices and DISKS will have different naming conventions. BE CAREFUL Distinctives FreeBSD Probably most widely used Base OS Commercial products Tightly integrated with ZFS Jails OS for Firewall appliances - PFSense and Opensense OpenBSD Focus on Code Correctness and Security Often First to develop new security methodologies - ASLR and Kernel relinking at boot Home of OpenSSH, ... Base includes Xorg and a minimal Window Manager The Best docs - man pages NetBSD Supports the most platforms pkgsrc can be used on any UNIX like. How I use BSD Home Router Recently migrated from FreeBSD to OpenBSD Better support for the cheap 2.5G network adapters in Ali express firewalls Workstations OpenBSD Dual boot laptop - missing some nice features - Vscode and BT audio OpenBSD for Banking NAS FreeBSD Was physical by migrated to Proxmox VM with direct attached drives Jails for some apps ZFS pools for storage My recommendations Router OpenBSD - Any BSD will work Opensense - similar experience to managing DD-WRT Thinkpads - OpenBSD Other laptops / PC - FreeBSD desktop focus derivative. ghost or midnight Servers/NAS FreeBSD ZFS Jails BSD is worth trying Dual booting is supported but can be tricky if unfamiliar. r…
H
Hacker Public Radio

In this nostalgic episode, I share my personal experiences riding and flying light aircraft during the 1980s and 1990s. From the hum of a Cessna engine to the grace of a Bonanza slicing through the clouds, it’s a journey through the skies filled with stories of daring, faith, and the wonder of flight. Topics Covered: Light Aircraft Overview General insight into what qualifies as light aircraft and why they’re beloved by private pilots and hobbyists. Light aircraft – Wikipedia Flying in a Cessna Memories of flying in various models of the iconic Cessna—dependable, nimble, and a staple of personal aviation. Cessna – Wikipedia Bonanza Adventures Experiences flying in the Beechcraft Bonanza, known for its sleek design and comfort—especially memorable during cross-country flights. Beechcraft Bonanza – Wikipedia Missionary Aviation Stories Recollections of missionary pilots and their vital roles in reaching remote areas, often relying on small aircraft to deliver aid, supplies, and hope. Missionary aviation – Wikipedia Aviation in the 1980s and 1990s A look back at the culture of general aviation during this era—before GPS was common, when flight was guided more by instinct, skill, and charts on your lap. General aviation – Wikipedia Listen now on your favourite platform and take to the skies with me!…
H
Hacker Public Radio

https://jamboree.rmccurdy.com Profiles top 100 M/F https://github.com/freeload101/SCRIPTS/tree/master/NODE (Click the horde tab and use my key) https://agnai.chat/settings?tab=0 https://lite.koboldai.net https://sillytavernai.com says says "SillyTavern is an advanced, locally-deployed interface designed to facilitate deep, interactive role-playing experiences. Built on large language models (LLMs) such as Claude and Gemini , SillyTavern allows users to engage with custom-built characters that they can mold according to their own preferences. The tool was created by Cohee , RossAscends , and the SillyTavern community , evolving from an earlier version of TavernAI. Its core function is to serve as a front-end interface for AI models via API calls, which means it doesn't require users to host complex models themselves."…
H
Hacker Public Radio

Some tips that I use for cable management, and keeping a track of stuff. Featuring the elusive "charge master 9000 NGX Pro Enterprise Edition". Links https://en.wikipedia.org/wiki/Twist_tie https://en.wikipedia.org/wiki/Tweezers
Recently I had a discussion on Mastodon about mobile phone applications. The other person stated "the web belongs to web browsers". I agreed to it as a general good approach. Some dedicated apps cannot be substituted with the browser, but some can. I do not have so many apps myself, but anyway that statement got me to review a couple of my apps how they works in the Firefox browser. And actually, I could delete three apps and all functions I needed from them can be managed from Firefox. Beside traditional bookmarks, those pages can be pinned to the Firefox start page or placed like a webapp on the mobile screen, so they look like an ordinary app. Using the Firefox browser makes it easier to control the privacy. In addition to what is built into Firefox, I currently also have the two extensions, Privacy Badger and uBlock Origin in my Firefox browser. Beside privacy and in general to be somewhat more in control, this approach also reduces the number of apps to keep updated and reduce storage need. Sometimes apps are necessary of otherwise beneficial. But I think the traditional browser should not be forgotten also on the smart mobile phone.…
H
Hacker Public Radio

font selection Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher Programming Fonts - Test Drive font installation install font package % yay -Sy $font_package update font database % fc-cache --force --verbose verify available fonts % fc-list | grep $font_name change font in application configs e.g.: alacritty emacs sway tofi…
Power Measurement and Antenna Gain HPR show by Paulj, May 2025. 1.0 Power expressed in dB (also written as dBW) Power PdB = 10 . log10P Where P is the power expressed in Watts. 2.0 Power expressed in dBm Power PdBm = 10 . log10P Where P is the power expressed in milliwatts. 1W = 1000mW Power PdBm = 10 . log101000mW Power PdBm = 30 dBm so: 0 dB = 30 dBm 3.0 Power expressed relative to an isotropic antenna - dBi An Isotropic antenna is an theoretical ideal antenna which radiates equally in all directions. Imagine the antenna is at the centre of a sphere, the signal strength at the surface of the sphere is equal at all points. The gain of an isotropic antenna is defined as 1, meaning: 10 dB = 10 dBi 4.0 Power expressed relative to a half wave dipole antenna - dBd The simplest practical antenna is a half wave dipole antenna, where each of the two legs is a quarter wave length long. The feed is at the centre, and the two legs are generally horizontal, and aligned away from the feed point 180 degrees apart. The dipole antenna exhibits gain perpendicular to the legs. The maximum gain is 1.64 times the isotropic antenna - a gain of approximately 2.15dBi. The gain off the ends of the dipole is much lower - the total power radiated by the antenna can not exceed the power being input, so if there is more radiation (gain) in one direction, there must be a corresponding reduction in a different direction. So: 2.15 dBi = 0 dBd 5.0 Effective Radiated Power - ERP and EIRP ERP and EIRP are both used to indicate the power achieved using an antenna.ERP compares the antenna performance with a dipole, and EIRP compares the performance with an isotropic antenna. So, the ERP is the power which would need to be fed into a dipole antenna, to get the same effect in the direction your antenna is pointing. EIRP is the power required for an isotropic antenna to gain equivalence. Practical example: My KX3 can transmit 15W. using the formula above, this is 11.77 dB. If I attach a Yagi-Uda antenna with a gain of 10dB, the ERP is 21.77 dB. Using the formula above, from this number you can calculate that this is the equivalent of 150.3142 Watts ERP. To understand the EIRP, we need to add 2.15 to the 21.77 dB value, giving 23.92 dB EIRP. Again, converting to actual power gives 246.515 Watts EIRP. If you are comparing antennas, make sure the same units are being used in all cases (either EIRP or ERP) - some sellers will use EIRP, because the values are higher! Check your licence conditions. Power output limits are often at the antenna, and don't include antenna gain. You can set your transmitter to output sufficient power to overcome any feed line losses, and present up to the power permitted to the antenna. A good antenna can then be used to get the transmitted power out and across the world. For feedline loses, the value is given in dB per 10 metres. For example, RG58 is 2dB / 10 metres (at…
PROBLEMS: Infinite feeds Notifications Everything virtual...? I hope the program be conducive to make you think straightly about this; short and long term. Links cited: Alzheimer’s Facts and Figures: https://www.alzra.org/alzheimers/facts-and-figures/ How Exercise Protects Your Brain’s Health: https://health.clevelandclinic.org/exercise-and-brain-health Switching off: Sweden says back-to-basics schooling works on paper: https://www.theguardian.com/world/2023/sep/11/sweden-says-back-to-basics-schooling-works-on-paper Brazil restricts use of smartphones in elementary and high schools: https://edition.cnn.com/2025/01/13/americas/brazil-restricts-smartphones-in-schools-intl-latam/index.html The Brazilian Classroom: Same same, but very different: https://teachingacrossborders.ucalgaryblogs.ca/the-brazilian-classroom-same-same-but-very-different/…
Isaac Asimov began with the Foundation series, but then added to it. Early on, he wrote what are called the Empire novels which are prequels to the rise of Trantor. Then he decided to tie his Robot series into his Foundation series. So now we will take a look at these remaining novels. Links: https://en.wikipedia.org/wiki/Galactic_Empire_series https://en.wikipedia.org/wiki/The_Stars,_Like_Dust https://en.wikipedia.org/wiki/The_Currents_of_Space https://en.wikipedia.org/wiki/Pebble_in_the_Sky https://en.wikipedia.org/wiki/Robots_and_Empire https://www.palain.com/science-fiction/the-golden-age/the-rest-of-asimovs-foundation-story/…
In this episode, I discuss my ongoing project aimed at mapping the dependencies municipalities have on major third-party digital services, particularly focusing on Microsoft and Google , given their dominance in the market. The aim of this research isn't about debating the quality of these products—it's assumed that with thousands of employees, these services meet most quality expectations. Instead, the focus is on the critical implications of widespread dependency and potential risks related to service interruptions or supply chain attacks. Why is this important? Supply Chain Attacks : High dependency means higher vulnerability to targeted disruptions. Business Continuity : Significant risks were illustrated by incidents such as the CrowdStrike outage in July 2024 , which forced Brussels Airport back to pencil-and-paper operations temporarily. My Research Approach: Primarily, I analyze the DNS MX records of municipalities: MX records typically reveal if mail services are hosted on Microsoft (Office 365/Exchange Online) or Google (Workspace). A high probability that using these providers for email also means municipalities likely depend on the respective cloud office suite (e.g., Word/Excel/SharePoint or Docs/Sheets/Drive). Preliminary Observations: Belgium, Finland, Netherlands : Over 70% of municipalities rely heavily on Microsoft mail services, a significant warning sign of dependency. Germany, Hungary : Fewer than 5% of municipalities use Microsoft or Google explicitly via MX records, though caution is necessary. Here’s why: Challenges Identified: Local MS Exchange Servers : Municipally hosted local installations aren't externally identifiable via MX records. Mail Proxies : Some municipalities use mail proxy services (spam/phishing filters) obscuring the actual mail service used behind proxy domains. Techniques Tested: SPF Records : Often reveal the underlying email service, though they may contain outdated information, lowering reliability. Telnet EHLO Commands : Municipalities commonly obscure their SMTP headers, limiting usefulness. Cloud Provider IP-Ranges : Investigating if mail servers run on Google, Amazon, or Azure infrastructure. Even if identified, this alone doesn't clarify if proprietary or replaceable services are used. TXT Records : Occasionally contain subscription keys or mail-related settings (e.g., MS subscriptions, Mailjet), but again, could be historical remnants. Unfortunately, none of these get to show me all of the third party services. Community Call: I'm reaching out to listeners and the broader community for ideas or techniques on reliably fingerprinting the actual digital service providers behind mail servers. Specifically: How to accurately determine if servers run Microsoft or Google services ? Any ideas to detect deployments of Nextcloud or similar open-source alternatives? Resources: Project Webpage : jurgen.gaeremyn.be/map.html Source Code : gitlab.com/jurgeng/mxcheck I'm looking forward to all your suggestions in the comments!…
H
Hacker Public Radio

SQL for find next available Episode Problem https://repo.anhonesthost.net/HPR/hpr_hub/issues/71 We need to get the next_free_slot, and this needs to take into account the Eps and reservations table. Eps table contain recorded and uploaded shows. reservations table reserve episodes that have not been recorded. There are existing queries to find the next free slot, but it does not include reservations. HPR SQL dump - https://hackerpublicradio.org/hpr.sql TLDR Create a list of all episode IDs from eps and reservations tables using SQL UNION Join the union list + 1 with the IDs from the eps and reservation tables WHERE clause to select rows in the union list +1 that are not in eps and not in reservations Order by and Limit to select the smallest Test Data Test data to make developing query easier. Simpler numbers so it is easier to spot patterns Same table and column names, and store them in a different database. Create the test data tables -- Create eps CREATE TABLE IF NOT EXISTS eps ( id INT, PRIMARY KEY (id) ); CREATE TABLE IF NOT EXISTS reservations ( ep_num INT, PRIMARY KEY (ep_num) ); Insert the test data -- Inserts INSERT INTO eps (id) VALUES (1001); INSERT INTO eps (id) VALUES (1002); INSERT INTO eps (id) VALUES (1003); INSERT INTO eps (id) VALUES (1004); INSERT INTO eps (id) VALUES (1011); INSERT INTO eps (id) VALUES (1021); INSERT INTO eps (id) VALUES (1031); INSERT INTO eps (id) VALUES (1041); INSERT INTO reservations (ep_num) VALUES (1004); INSERT INTO reservations (ep_num) VALUES (1005); INSERT INTO reservations (ep_num) VALUES (1006); INSERT INTO reservations (ep_num) VALUES (1010); INSERT INTO reservations (ep_num) VALUES (1016); Print the test data tables -- Episodes SELECT e.id as e_id FROM eps e order by e.id; +------+ | e_id | +------+ | 1001 | | 1002 | | 1003 | | 1004 | | 1011 | | 1021 | | 1031 | | 1041 | +------+ SELECT r.ep_num as r_id FROM reservations r; +------+ | r_id | +------+ | 1004 | | 1005 | | 1006 | | 1010 | | 1016 | +------+ Join Types UNION - combine results of 2 queries INNER - Only records that are in both tables LEFT - All the Results in the Left column and matching results in the Right Test data Join Examples In the test data, the ID 1004 is in both the episodes and reservations table. This will not occur in the real HPR database, but is useful to how different join types work Example queries with INNER , RIGHT , and LEFT joins. MariaDB [next_av]> SELECT e.id ,r.ep_num FROM eps e INNER JOIN reservations r ON e.id = r.ep_num; +------+--------+ | id | ep_num | +------+--------+ | 1004 | 1004 | +------+--------+ 1 row in set (0.001 sec) MariaDB [next_av]> SELECT e.id ,r.ep_num FROM eps e RIGHT JOIN reservations r ON e.id = r.ep_num; +------+--------+ | id | ep_num | +------+--------+ | 1004 | 1004 | | NULL | 1005 | | NULL | 1006 | | NULL | 1010 | | NULL | 1016 | +------+--------+ 5 rows in set (0.001 sec) MariaDB [next_av]> SELECT e.id ,r.ep_num FROM eps e LEFT JOIN reservations r ON e.id = r.ep_num; +---…
H
Hacker Public Radio

Standard UNIX password manager Password management is one of those computing problems you probably don't think about often, because modern computing usually has an obvious default solution built-in. A website prompts you for a password, and your browser auto-fills it in for you. Problem solved. However, not all browsers make it very easy to get to your passwords store, which makes it complex to migrate passwords to a new system without also migrating the rest of your user profile, or to share certain passwords between different users. There are several good open source options that offer alternatives to the obvious defaults, but as a user of Linux and UNIX, I love a minimal and stable solution when one is available. The pass command is a password manager that uses GPG encryption to keep your passwords safe, and it features several system integrations so you can use it seamlessly with your web browser of choice. Install pass The pass command is provided by the PasswordStore project. You can install it from your software repository or ports collection. For example, on Fedora: $ sudo dnf install pass On Debian and similar: $ sudo apt install pass Because the word pass is common, the name of the package may vary, depending on your distribution and operating system. For example, pass is available on Slackware and FreeBSD as password-store. The pass command is open source, so the source code is available at git.zx2c4.com/password-store. Create a GPG key First, you must have a GPG key to use for encryption. You can use a key you already have, or create a new one just for your password store. To create a GPG key, use the gpg command along with the --gen-key option (if you already have a key you want to use for your password store, you can skip this step): $ gpg --gen-key Answer the prompts to generate a key. When prompted to provide values for Real name, Email, and Comment, you must provide a response for each one, even though GPG allows you to leave them empty. In my experience, pass fails to initialize when one of those values is empty. For example, here are my responses for purposes of this article: Real name: Tux Email: tux@example.com Comment: My first key This information is combined, in a different order, to create a unique GPG ID. You can see your GPG key ID at any time: $ gpg --list-secret-keys | grep uid uid: Tux (My first key) tux@example.com Other than that, it's safe to accept the default and recommended options for each prompt. In the end, you have a GPG key to serve as the master key for your password store. You must keep this key safe. Back it up,…
Research Tools Harvard Referencing - https://en.wikipedia.org/wiki/Parenthetical_referencing#Author%E2%80%93date_(Harvard_referencing) Google Notebook LM - https://notebooklm.google/ Google Scholar - https://scholar.google.co.uk/ Connected Papers - https://www.connectedpapers.com/ Zotero - https://www.zotero.org/ Databases SQL Databases - https://en.wikipedia.org/wiki/Relational_database NoSQL Databases - https://en.wikipedia.org/wiki/NoSQL Graph Databases - https://en.wikipedia.org/wiki/Graph_database Misc Borland Graphics Interface - https://en.wikipedia.org/wiki/Borland_Graphics_Interface Hough Transform - https://en.wikipedia.org/wiki/Hough_transform Joplin - https://joplinapp.org/…
Let's make soup while talking about Dorodango. Dorodango (Japanese: 泥だんご, lit. "mud dumpling") is a Japanese art form in which earth and water are combined and moulded, then carefully polished to create a delicate shiny sphere. https://en.wikipedia.org/wiki/Dorodango Links https://en.wikipedia.org/wiki/Egg_drop_soup https://en.wikipedia.org/wiki/Dorodango https://en.wikipedia.org/wiki/Ultisol https://en.wikipedia.org/wiki/Mason_jar…
H
Hacker Public Radio

----------------- NYE 2025 7 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Mordancy Travel Blog https://mordancy.blogspot.com/ Toast & Cheese with Anchovy http://www.confessionsofachocoholic.com/recipes/cheesy-anchovy-toast Rosemary Potatoes https://www.foodnetwork.com/recipes/ina-garten/rosemary-roasted-potatoes-recipe-1943124 Lasagna https://www.spendwithpennies.com/easy-homemade-lasagna/ Mango https://www.mango.org/ Thai Chili Peppers https://www.chilipeppermadness.com/chili-pepper-types/medium-hot-chili-peppers/thai-chili-peppers/ Fish Sauce https://hot-thai-kitchen.com/fish-sauce-101/ Mortar & Pestel https://en.wikipedia.org/wiki/Mortar_and_pestle Sriracha https://www.huyfong.com/ Mexican Chili Peppers https://www.chilipeppermadness.com/chili-pepper-types/mexican-peppers/ New Orleans https://www.neworleans.com/ General Tso Chicken https://natashaskitchen.com/general-tsos-chicken/ Melinda's Green Hot Sauce https://melindas.com/products/melinda-s-green-sauce Melinda's Black Truffle Hot Sauce https://melindas.com/products/melinda-s-black-truffle-hot-sauce?_pos=1&_sid=5935dbdad&_ss=r A-1 Sauce https://www.krafthein…
H
Hacker Public Radio

In today's show, oxo show us how you can use the output of the find command with -print0 option to rsync files to another location. find . -type f -mmin -230 -print0 | rsync -aAXv --info=progress2,stats --progress --from0 --files-from - . dst
H
Hacker Public Radio

Prerequisites are: Novice level. Backup(s) of ALL your data. Confirm backup data works as desired. Intermediate/Experienced level. Understanding of *unix operating system. Terminal use (without the need to immediately restore from backups) . Expert Level. How to exit vim. Resources In-Depth Series: GNU Readline (by Dave Morriss). https://hackerpublicradio.org/series/0102.html GNU Readline Library. https://tiswww.cwru.edu/php/chet/readline/rluserman.html It's too dangerous to go alone; take these (blessed configs). https://github.com/sgoti-gpg/blessed-configs .inputrc: VI experience in the shell. https://deut-erium.github.io/2024/01/28/inputrc.html…
H
Hacker Public Radio

New hosts Welcome to our new hosts: murph, Jerm, Elsbeth, ko3moc, oxo. Last Month's Shows Id Day Date Title Host 4347 Tue 2025-04-01 "Of my country!" Brazil - in a Southern city viewing Antoine 4348 Wed 2025-04-02 Resizing the root partition on a PC MrX 4349 Thu 2025-04-03 xbindkeys send keys for linux! operat0r 4350 Fri 2025-04-04 GIMP: More Photo Fixes Ahuka 4351 Mon 2025-04-07 HPR Community News for March 2025 HPR Volunteers 4352 Tue 2025-04-08 Why grandma, what large language models you have. Some Guy On The Internet 4353 Wed 2025-04-09 diff and patch Klaatu 4354 Thu 2025-04-10 24-25 New Years Eve show episode 5 Honkeymagoo…
H
Hacker Public Radio

Civilization IV added some new Victory types, and I decided to illustrate one of them, the Culture victory, by going through an example of achieving this. This is the second part of my demonstration. Then I discussed a few points about the Science and Military victories. Links: https://www.palain.com/gaming/civilization-iv/playing-civilization-iv-part-8/…
H
Hacker Public Radio

Eventually I will add all my Records on Discogs, but I also thought about posting about them on mastodon on: https://mastodon.social/@Freds_Vinyl_records I will post them when I have time, and also add Records that I have acquired since.
Lessons I've learned moderating 5+ tech panels: Preparation: Be familiar with the panelists and their subject matter. Avoid asking common questions. Set up the stage using a semicircle arrangement rather than formal tables to promote dialogue between panelists. Ensure that each panelist has their own microphone to prevent any accidental dominance in the discussion. Execution: Set a friendly and informal tone before the panel starts to help nervous panelists relax. Involve the audience by encouraging questions and conducting polls to increase engagement. Use a central microphone for audience questions to avoid delays and maintain a smooth flow. Listen carefully to questions and rephrase them if necessary to ensure clarity for the panelists. Know when to politely wrap up discussions to keep the conversation moving.…
H
Hacker Public Radio

Hi listener! My name is oxo. In this first episode for HPR I will introduce myself a little and present my plans for my future episodes on this channel. My goal is to let you as a listener follow along while I am learning new interesting things about Linux. This will be mainly about how I manage to survive the commandline while having fun doing so! :) My main codebase is in the codeberg repository, which you can find here: oxo - Codeberg.org Comments are always welcome! Please contact me via Mastodon: @oxo@qoto.org or email oxo at protonmail.com…
H
Hacker Public Radio

Hi all! Topics Topic 1: Hello, my name is Antoine. Topic 2: I listened to you! a) Comment from Archer72: "[...] Audio setups are *definitely* of interest to hackers :)" Link: https://hackerpublicradio.org/eps/hpr4325/index.html#comment_4278 b) From hpr4351 :: HPR Community News for March 2025 (on the show) Something like: 'I'm not going to read your (long) comments, give a show on it'. Sorry for making you read my comments, dear HPR Janitors! (Specially you, good-voice Sgoti) Link: https://hackerpublicradio.org/eps/hpr4351/index.html Topic 3: My audio setup (Also you can see written on a commentary of mine on the link on Topic 2 a). Topic 4: My audio editing (when I do) With examples. * On the sibilance ("sss") example, the adjustment settings for the to-be-better fragment was an agressive cut of -7.4 dB on frequency 5.8 kHz (for advanced curiosity: Q 4.73, threshold -36.3 dB, ratio 3.8:1). Did it only with some testing, and knowing that sibilance normally is at about 6 kHz (when it happens, because here the dynamic microphone ended up not capturing too much of it). Topic 5: I'm in a new working time If you can, do a word of prayer to God in favour of me. If anything I said "that is better" is, actually, worse, don't worry thinking you are perceiving it wrongly, it's just that I'm not a professional and can have made it wrong. Or it's only a matter of taste, it's fine also; the ideas are there, and I welcome your participation too. Thank you! Credit of music I decided to use on the example after normalizing and compressing a fragment is from: EvanBoyerman: " Hopeful Piano/String Cinematic Ambience Drama Background Music ", CC-BY 4.0, link: https://freesound.org/people/EvanBoyerman/sounds/798705/…
H
Hacker Public Radio

Some advice about tracking spending, money management, RocketMoney, MintApp, Budgeting, Personal Finance, Financial Management, Automatic Routing, Investments, Net Worth and data brokers. https://investors.intuit.com/news-events/press-releases/detail/1005/intuit-completes-acquisition-of-mint-com https://www.monarchmoney.com/ https://www.rocketmoney.com/ https://www.ynab.com/ https://www.deleteme.com/ https://www.paypal.com https://www.federalregister.gov/documents/2024/11/15/2024-25534/negative-option-rule…
H
Hacker Public Radio

NYE 2025 6 pdp8online: The ASR33 is a printing terminal and a program storage device (paper tape) used... wikipedia: Radar in World War II greatly influenced many important aspects of the conflict... ll: SCR-584 radar developed at the MIT Radiation Laboratory in the 1940s... wikipedia: The PDP-1 (Programmed Data Processor-1) is the first computer in... w140: Intel 8086 is a 16-bit microprocessor monolithic integrated circuit introduced in 1978... wikipedia: Chaosnet is a local area network technology. It was first developed... wikipedia: The Hercules Graphics Card (HGC) is a computer graphics controller wikipedia: The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with... goodreads: Where Wizards Stay Up Late: The Origins of the Internet wikipedia: Dual-tone multi-frequency signaling (DTMF) is a telecommunication signaling system. wikipedia: Asperger syndrome (AS), also known as Asperger's syndrome or Asperger's, is a diagnostic label... wikipedia: Autism spectrum disorder[a] (ASD), or simply autism, is a neurodevelopmental disorder... wikipedia: Diagnostic and Statistical Manual of Mental Disorders wikipedia: The Diagnostic and Statistical Manual of Mental Disorders, Fifth Edition (DSM-5) wikipedia: Agoraphobia[1] is a mental and behavioral disorder,[5] specifically an anxiety disorder characterized by wikipedia: "Nice guy" is an informal term, commonly used with either a literal or a sarcastic meaning... ncbi: Predictive utility of autistic traits in youth with ADHD wikipedia: Many causes of autism, including environmental and genetic factors... massgeneral: Bressler Program for Autism Spectrum Disorder wikipedia: International Organization for Standardization iso: The International Organization for Standardization wikipedia: The Media Transfer Protocol (MTP) wikipedia: The Network Time Protocol (NTP) is a networking protocol for clock synchronization between... wikipedia: OpenSSL is a software library for applications that provide secure communications over computer networks... wikipedia: The Network Time Protocol daemon (ntpd) is an operating system progra…
H
Hacker Public Radio

Short introduction episode, on my journey with Linux, Python, FOSS & Ham Radio
H
Hacker Public Radio

Elsbeth talks about how she got started with technology, the issues she has faced as a female geek and gamer, aspects of her career with building computers and software quality assurance as well as other hobbies such as reading and yoga. Links: Light aircraft: https://en.wikipedia.org/wiki/Cessna World War II Coding: https://en.wikipedia.org/wiki/Enigma_machine Gaming: https://en.wikipedia.org/wiki/Women_and_video_games https://en.wikipedia.org/wiki/Retro_gaming https://en.wikipedia.org/wiki/EarthBound https://en.wikipedia.org/wiki/Fallout_(video_game) https://en.wikipedia.org/wiki/Leisure_Suit_Larry Other Interests: https://en.wikipedia.org/wiki/Linguistics https://en.wikipedia.org/wiki/Yoga_as_therapy Meta-verse / multiplayer virtual worlds: https://en.wikipedia.org/wiki/Second_Life https://en.wikipedia.org/wiki/Final_Fantasy_XIV Mental Health Awareness: https://www.nami.org/get-involved/awareness-events/mental-health-awareness-month/ https://mentalhealth-uk.org/get-involved/mental-health-awareness-days/ https://twloha.com/ https://www.projectsemicolon.com/ Role models: https://en.wikipedia.org/wiki/Felicia_Day https://en.wikipedia.org/wiki/Marie_Curie…
Swift110 talks about installing and running Ubuntu back in the day, and the journey many of us have in picking a distro https://swift110.wordpress.com/2011/08/25/i-will-not-be-upgrading-from-ubuntu-10-10-to-11-04/
H
Hacker Public Radio

Isaac Asimov first invented the Three Laws of Robotics in a series of short stories. But he then imagined how a future society might develop with robots, and he pictured this in a series of novels that have become classics in their own right. Links: https://en.wikipedia.org/wiki/The_Caves_of_Steel https://archive.org/details/isaac-asimov-the-caves-of-steel https://en.wikipedia.org/wiki/The_Naked_Sun https://en.wikipedia.org/wiki/The_Robots_of_Dawn https://www.palain.com/science-fiction/the-golden-age/isaac-asimov-the-robot-novels/…
H
Hacker Public Radio

Links to presentation information aerc Git repository here: https://git.sr.ht/~rjarry/aerc Slide deck here: https://aerc-mail.org/fosdem-2025 JMAP information: https://jmap.io/ Building a watt-meter esp-rs and a rocket backend Wattmeter code: https://github.com/ssaavedra/esp32-amp-sensor Backend code: https://github.com/ssaavedra/amp-sensor-backend Celebrating Open Standards: How Podcasting 2.0 Shaped the Future of Podcasting Description and links on the FOSDEM website: https://fosdem.org/2025/schedule/event/fosdem-2025-5630-celebrating-open-standards-how-podcasting-2-0-shaped-the-future-of-podcasting/ Immich Home page: https://immich.app All the world's a stage:Running a theatre show on open source software https://fosdem.org/2025/schedule/event/fosdem-2025-4290-all-the-world-s-a-stage-running-a-theatre-show-on-open-source-software/ LoRaMesher Repository: https://github.com/LoRaMesher/LoRaMesher…
Today I would like to share my journey into the world of Linux and Free Software and how it has shaped my computing experience over the years. Links https://en.wikipedia.org/wiki/The_Elder_Scrolls_IV:_Oblivion https://en.wikipedia.org/wiki/GNU_Emacs https://www.youtube.com/c/SystemCrafters https://en.wikipedia.org/wiki/ThinkPad_X_series#X230…
H
Hacker Public Radio

This is just an introduction, here is the rough text of the audio: Hello HPR: I'm murph, I've been an HPR listener for a long-time, into the TWAT days. I'll try to keep it quick. I started in computers in the early 80's with a VIC-20. After a few of the Commodore 8-bits, I settled into the Amiga line, which I daily drove up into this century, and stll have a few. In college in the 90's, I had a dilemma. I wanted to do C programming homework from home, but the expensive Amiga compiler wasn't compatible with the Sun workstations at school. Another student introduced me to Linux, and I promptly ordered a set of Slackware CDs and figured out how to install. I was looking for the compilers to complete my studies, but have stayed for the freedom, and the communities, like this one. I've used countless distros over the years, and use a few for different needs. I am still a Linux user, and system administrator. I've given a few talks on things like gnu/screen, mastodon, tmux ay conventions like Penguicon, SCaLE, HOPE and some more regional conferences. I was inspired by Lyle and Thaj Sera's HPR birds of a feather talk, and thought that it would make a good presentation, and asked them to let me base a talk off of it, which they encouraged. Part of that is how to submit a show, which resulted in me finally, after all this time, finally submitting one of my own, as opposed to the occassional show I've crassly barged into. If you want to reach me, the best ways would be by email or on the fediverse, @murph@hackers.town Thanks for listening.…
H
Hacker Public Radio

Running a private Ubuntu Mirror It is possible to set up a local server to keep a synchronized copy of all the Ubuntu packages, allowing later installs of packages for any local machine even in the absence of an internet connection. To do this a script called apt-mirror can be run on the server. crontab 0 1 * * * /usr/local/bin/apt-mirror The location of the mirror is specified in apt-mirror.conf /etc/apt/apt-mirror.conf set mirror_path /disk/ftp/Mirror set cleanup_freq daily set mirror_verbose yes The origin servers are specified in mirror.list . It is possible to choose which architectures and Ubuntu releases to fetch as well as whether to fetch just the binary packages or also the sources. /etc/apt/mirror.list deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse deb http://security.ubuntu.com/ubuntu noble-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse deb-i386 http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse deb-i386 http://security.ubuntu.com/ubuntu noble-security main restricted universe multiverse deb-i386 http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse deb-i386 http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse #deb-src http://security.ubuntu.com/ubuntu noble-security main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse clean http://archive.ubuntu.com/ubuntu The mirrored packages could be served up to local machines in a number of ways, I am using vsftpd to serve the files via FTP. /etc/vsftp.conf anonymous_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES listen=YES pam_service_name=vsftpd seccomp_sandbox=NO isolate_network=NO anon_root=/disk/ftp/ no_anon_password=YES hide_ids=YES pasv_min_port=40000 pasv_max_port=50000 write_enable=YES On local machines, the mirror on the server can then be specified as the source for apt to use to retrieve packages. /etc/apt/sources.list.d/ubuntu.sources Types: deb URIs: ftp://server/Mirror/mirror/archive.ubuntu.com/ubuntu Suites: noble noble-updates noble-backports Components: main universe restricted multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg ## Ubuntu security updates. Aside f…
Intro Hello, this is your host, Archer72, for Hacker Public Radio. In this episode, this is my third show involving my record player. I am using a Zoom H1essential Stereo Handy Recorder microphone, recording into Audacity for this show. Why visit the record shop? Picking up a record at the record shop expands my music choices. I get a chance to talk to the owner on the weekend when searching for new music. He is an archaeologist and a teacher at a local college during the week, and is knowledgeable on all the music in the store. One Year With the Institute - Archive.org I wanted a way to listen to the records while on my laptop, preferably with headphones, as to not disturb the household. How is this accomplished? This is done using a combination of Darkice to capture the stream, and Icecast to stream it to the local network. What is Icecast? Icecast is a streaming media (audio/video) server which currently supports Ogg (Vorbis and Theora), Opus, WebM and MP3 streams. It can be used to create an Internet radio station or a privately running jukebox and many things in between. It is very versatile in that new formats can be added relatively easily and supports open standards for communication and interaction. Icecast is distributed under the GNU GPL, version 2. The default config file is located in /usr/share/doc/icecast2/icecast.xml.dist.gz icecast.xml.dist if the default config gets mangled or corrupted by myself. Several other types of configs are also in /usr/share/doc/icecast2/ that include a bare bones config and the installed icecast2 config is located in /etc/icecast2/icecast.xml Configuration needed to be personalized <location>Cynthiana,KY</location> <admin>ricemark20.nospam@nospam.gmail.com</admin> Change the passwords from hackme to a more secure password <authentication> <!-- Sources log in with username 'source' --> <source-password>hackme</source-password> <!-- Relays log in with username 'relay' --> <relay-password>hackme</relay-password> <!-- Admin logs in with the username given below --> <admin-user>admin</admin-user> <admin-password>hackme</admin-password> </authentication> <!-- In my case, this is the IP address of the Raspberry Pi --> <hostname>192.168.x.x</hostname> mountPoint = live # mount point of this stream on the IceCast2 server name = DarkIce Vinyl Stream # name of the stream description = This is my Vinyl stream # description of the stream url = http://localhost # URL related to the stream genre = Podca…
H
Hacker Public Radio

----------------- NYE 2025 5 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Pulse Audio https://pulse.audio/ Tech and Coffee https://techandcoffee.info/ Netgear Switch https://www.netgear.com/business/wired/switches/ Magiford Books by KM Shea https://www.goodreads.com/series/367723-magiford-supernatural-city Dan Willis Arcane Case Books https://danwillisauthor.com/product-category/arcane-casebook-series/ Brad Magnarella Prof Croft Books https://www.goodreads.com/series/192507-prof-croft Auld Lang Syne https://www.themorgan.org/sites/default/files/images/exhibitions/AuldLangSyne.pdf Bagpipes https://www.getours.com/expert-travel-advice/history-traditions-celebrations/the-history-of-bagpipes-in-scotland Uilleann Bag Pipes https://en.wikipedia.org/wiki/Uilleann_pipes Glasgow, Scotland https://www.visitglasgow.com/ IBM https://www.ibm.com/us-en Wells Fargo https://www.wellsfargo.com/ First Union https://en.wikipedia.org/wiki/First_Union Wachovia https://en.wikipedia.org/wiki/Wachovia Bank of America https://www.bankofamerica.com/ Dallas Fort Worth…
Make a diff: $ diff --unified --new-file --recursive original/ my-revision/ > my.patch Send my.patch to somebody so they can use it as input for the patch command: $ patch --strip 0 < my.patch
Title: A large language model (LLM). License: Text is available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Source(s): https://en.wikipedia.org/wiki/Large_language_model Title: Enshittification, also known as crapification and platform decay. License: Text is available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Source(s): https://en.wikipedia.org/wiki/Enshittification Title: Technical debt. License: Text is available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Source(s): https://en.wikipedia.org/wiki/Technical_debt Title: Programming language. License: Text is available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Source(s): https://en.wikipedia.org/wiki/Programming_language Title: bastardize License: Copyright. All rights reserved. Source(s): https://www.merriam-webster.com/dictionary/bastardization…
H
Hacker Public Radio

New hosts Welcome to our new host: Marc W. Abel. Last Month's Shows Id Day Date Title Host 4326 Mon 2025-03-03 HPR Community News for February 2025 HPR Volunteers 4327 Tue 2025-03-04 Chatting with Sgoti Some Guy On The Internet 4328 Wed 2025-03-05 Use SELinux the easy way Klaatu 4329 Thu 2025-03-06 Maintaining The Remote System hairylarry 4330 Fri 2025-03-07 GIMP: Fixing Photos Ahuka 4331 Mon 2025-03-10 Re-inventing the light switch Lee 4332 Tue 2025-03-11 Top 5 mistakes every new terminal user makes Klaatu 4333 Wed 2025-03-12 A Radically Transparent Computer Without Complex VLSI Marc W. Abel 4334 Thu 2025-03-13 24-25 New Years Eve show episode 3 Honkeymagoo…
H
Hacker Public Radio

If you you take a lot of photos, some of them will show problems. But you don't need to throw them away. With GIMP, you can fix these common problems and restore your photos. In this episode I take a look at two problems that turn out to be related and to have similar fixes: Dark photos, and Color problems. Links: https://www.youtube.com/watch?v=G8OJJbhNWGs https://www.youtube.com/watch?v=jbU8FqTI-A4 https://www.ahuka.com/gimp/more-photo-fixes/…
H
Hacker Public Radio

We're going to be talking about synth keys more specifically sending keystrokes and Linux cat ~/.xbindkeysrc /bin/bash /home/plex/.local/bin/Plex.sh /bin/bash /home/plex/.local/bin/Steam.sh /usr/local/bin/kasa --host 192.168.1.239 --port 9999 --type dimmer on; /usr/local/bin/kasa --host 192.168.1.239 --port 9999 --type dimmer brightness 100 /usr/local/bin/kasa --host 192.168.1.239 --port 9999 --type dimmer on; /usr/local/bin/kasa --host 192.168.1.239 --port 9999 --type dimmer brightness 40 /usr/local/bin/kasa --host 192.168.1.239 --port 9999 --type dimmer on; /usr/local/bin/kasa --host 192.168.1.239 --port 9999 --type dimmer brightness 12 /usr/local/bin/kasa --host 192.168.1.239 --port 9999 --type dimmer off;xrandr --output default --gamma 3:3:3 Links https://www.nongnu.org/xbindkeys/ https://wiki.archlinux.org/title/Xbindkeys…
H
Hacker Public Radio

Background It all happened when I noticed that a disk space monitor sitting in the top right hand side on my Gnome desktop was red. On inspection I discovered that my root filesystem was 87% full. The root partition was only 37GB in size which meant there was less than 4GB of space left. When I thought back I remembered that my PC was running a bit slower than usual and that that the lack of space in the root partition could have been to blame. I had some tasks that I wanted to complete and thought I’d better do something about the lack of space before it became an even bigger problem. What happened As per usual all this happened when I was short of time and I was in a bit of a hurry. Lesson one don’t do this sort of thing when your in a bit of a hurry. Because I was in a hurry I didn’t spend time doing a complete backup. Lesson two do a backup. My plan was to get some space back by shrinking my home partition leaving some empty space to allow me to increase the size of my root partition. For speed and ease I decided to use Gparted as I have used this many times in the past. Wikipedia article about Gparted Official Gparted webpage It’s not a good idea to try and resize and or move a mounted filesystem so a bootable live version of Gparted would be a good idea. The reason for this is that if you run Gparted from your normal Linux OS and the OS decides to write something to the disk while Gparted is also trying to write or move things on the disk then as you could imagine very bad things could and probably would happen. I knew I had an old bootable live CDROM with Gparted on it as I had used this many times in the past though not for a few years. As I was short on time I thought this would be the quickest way to get the job done. I booted up the live CD and setup the various operations such as shrinking the home partitions, moving it to the right to leave space for the root partition then finally increasing the size of the almost full root partition. What I didn’t notice at the time is that there was a tiny explanation mark on at least one of the partitions. I probably missed this because I was in a hurry. Lesson three don’t rush things and be on the lookout for any error messages. When I clicked the green tick button to carry out the operations it briefly seemed to start and almost instantly stopped saying that there were errors and that the operation was unsuccessful and something about unsupported 64 bit filesystems. At this point I thought / hoped that nothing had actually happened. My guess was that the old live Gparted distribution I was using didn’t support Ext4 though I could be completely wrong on this. Lesson four don’t use old versions of Gparted particularly when performing operations on modern filesystems. Wikipedia article about the Ext4 filesystem I removed the Gparted bootable CD and rebooted my PC. At this point I got lots of errors scrolling up the screen I then got a message I’ve never see before from memory I think it said Journaling It then said something about pass 1 pass 2 pass 3 and continued all the way to 5. Then it talked about recovering data blocks. At this point I got very nervous. I had all sorts of fears going through my head. I imagined I may have lost all the contents of my hard-rive. The whole experience was very scary. I let it complete all operations an…
I’m glad I’m here with you! I'll tell my impressions on things of my Brazilian country. Pardon me for some high-volume transitions ! Trying and testing the brickabrackis ( possibilities ). Pleasing or not. Thanks! Topics: 1- Sistema Único de Saúde (the national health system) Works! Any citizen, any person, has access to health treatment: no payment, no check if the person has payed taxes on anything, if is a worker or not. Of course, waiting time might be a problem if it's not an urgency or emergency, and quality varies (as any service, paid or not), according to city (capital or country town, more structured or smaller cities), hospital, the specific doctor and support team etc. 2- Tap water The water from the tap is safe, recognized as drinking water (in my city, and maybe in many if not most). The water treatment company ("Sanepar") here even sells their water bottled, and sponsors events that distribute them (sports events) to show the quality. But people don't use to drink from the tap it directly. If they do not use a filter, it's common to buy water in 20 liters carboys (big plastic bottles, 20L is a bit more than 5 gallons) . I use this last option, but drink water under the shower also. Most people (that I know, of course) simply don't drink water ! I don't know. I don't understand how it is, but they don't drink water, not even a liter per day. Coffee and soda are the most common "substitutes". 3- Religion numbers Statistics about religion are very misleading. You can find different numbers but it's generally: more than half identifying as Catholics. More than 20% evangelical, 10% without religion. But those numbers say nothing about reality of what you find in the streets. Maybe because in some areas it's embarassing to identify as an atheist, as if you're immoral and cannot be trusted; so, people without religion simply say the religion of the family, or the generic "catholic, non-practicing". 4- Brazilian Law Our law is written and detailed. Everything you could want to know about our judicial system, our rights and etc. are explicit in laws; and our Constitution, in force since 1988, with more than 200 articles, guides all. The Supreme Court can make and change interpretations and, thus, issue binding decisions that are not seem in the law, but this is the exception. Cover of the official edition of the Brazilian Constitution in the English Language. (Source: https://www.stf.jus.br/arquivo/cms/legislacaoConstituicao/anexo/Brazil_Federal_Constitution_EC_125.pdf. Accessed on February 2025.) Most of the norms are federal and encompass the entire nation: it is a reason we are so "equal", in many senses, while living in a country with 212 million people (official estimation of IBGE, July 1st 2024 * ) and that represents 48% of the size of South America. 5- Now something very specific to my city, a capital city on the south of the country It's not expected to say Good morning when you cross with a stranger on the street. No Hello or Good morning to the bus driver also. I mean, a lot of people greet, but many don't and it's common to not do so. In many other parts of the country, of course, it's different. For example, I lived in a capital city on the north, and everybody expected you to say Good Morning! when entering an elevator in the morning, behavior that generally makes people think you're strange here in my southern city. If I ask for the name of a seller on a store, to be more polite saying his or her name occasionally if I am making a lot of questions and demanding more attention time, they as…
H
Hacker Public Radio

The PineTab2 is PINE64's successor to the original PineTab Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover. The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. A similarly packaged RISC-V tablet is the PineTab-V. Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023. Taken from https://wiki.pine64.org/wiki/PineTab2…
A collection of tips and tricks that operat0r uses to make a standard Android phone more custom. The secret block extension is "11335506" - tell 'em Ken sent ya. Links UserLAnd - Linux on Andro UserLAnd is an open-source app which allows you to run several Linux distributions like Ubuntu, Debian, and Kali. Widgify - DIY Live Wallpaper Widgify is a well-designed beautification tool for phone, where you can experience a wide variety of screen widgets to easily match your super personalized phone home screen! Nova Launcher Prime Nova Launcher is a powerful, customizable, and versatile home screen replacement. Firefox Nightly for Developers Nightly is built for testers. Help us make Firefox the best browser it can be. Expanded extension support in Firefox for Android Nightly How to use collections on addons.mozilla.org SponsorBlock SponsorBlock is an open-source crowdsourced browser extension and open API for skipping sponsor segments in YouTube videos. WireGuard (VPN) The official app for managing WireGuard VPN tunnels. DNS66 This is a DNS-based host blocker for Android. (Requires root) Hacker's Keyboard Four- or five-row soft-keyboard TidyPanel Notification Cleaner Tidy up your notification panel with simple, minimal, beautiful and intuitive UI.…
ברוכים הבאים אל Player FM!
Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.