Hacker Public Radio show

Hacker Public Radio

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

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

Podcasts:

 HPR2389: Thoughts on Lifetime Learning | File Type: audio/mpeg | Duration: Unknown

Thoughts on Lifetime Learning For some of my other thoughts on this topic, consider reading this blog post.

 HPR2388: Apt Spelunking 4: Planet of the Apts | File Type: audio/mpeg | Duration: Unknown

It's another exciting episode of Apt Spelunking! The fourth installation, which covers the following packages: dunst - Lightweight notification daemon Dunst is a lightweight, customizeable desktop notification daemon. Similar to Ubuntu's notify-osd, it displays passive notifications with very minimal resources. It has customizeable keystrokes, and its colors can be configured as well. i3 - Lightweight tiling window manager i3 is my window manager of choice; tiling, extremely customizeable, and absurdly light. With fantastic support for multiple monitors, and vim keybindings, it eventually finds its way onto every machine I use. uqm - Ur-Quan Masters Derived from Star Control II, Ur-Quan Masters is a fantastic retro game about spaceships and aliens. Earth has been seized, and is isolated from the rest of the galaxy. Luckily, you happen to have yourself a ship built with ancient mystic technology and whatnot. Fun, funny, and dangerously addictive; make sure to stay away from this game if you have things to do.

 HPR2387: Free Weights and a Bicycle | File Type: audio/mpeg | Duration: Unknown

Frank discusses his long experience with trying not to get fat by using free weights and a bicycle. Free weights are, without question, the geekiest form of exercise, having a versatility and flexibility unmatched by any alternative. Here are some sample programs: Warm Up adapted from the Royal Canadian Air Force Exercises Sample Programs: Procedure: 3 sets × 8 reps, increasing to 10 reps, then add five pounds and start over with 8 reps. Exercises (* = requires bench, **= bench desirable): Program One: Leg Raises,* Leg Curls,* Dumbbell Flies,** Barbell Curls, Triceps Pull-Overs, Forward and Reverse Wrist Twists (using pipe with rope to raise and lower weights) Program Two: Dumbbell Lunge, Bench Press,* Bent-Over Rows, Dumbbell Kickbacks, Zottman Curls, Forward and Reverse Wrist Curls Program Three: Half Squats, Bench Press, Concentration Curls, Dumbbell Kickbacks, Forward and Reverse Wrist Curls. As stated in the podcast, Frank has not found many weight-training websites appealing. The websites tend to be for fanatic bodybuilders or for pitching products. This one, though, has a pretty good catalog of exercises: http://www.weight-training-exercises.com/. Note that the same exercise may be known by several names, depending on the speaker. Free Weights: A bicycle:

 HPR2386: The Decline and Fall of Tcl | File Type: audio/mpeg | Duration: Unknown

Tcl is an interesting language that does many things "wrong", especially if you're coming from a LISP perspective, and especially-especially if you're coming from a Scheme perspective. Examples are all over the C2 wiki, but probably DynamicStringsVsFunctional is the epicenter. It also forms an important part of modern Scheme history, as the Tcl War led to the creation of Guile. What happened after that? Where Tcl and Tk went wrong, by David N Welton TL;DL: Tcl was successful because it found its niche as a lightweight yet capable language able to both integrate and be integrated with C code, but it fell behind on Tk look-and-feel compared to GNOME and KDE and also on other mainstream development phenomena, it ossified because it was afraid to upset its installed base, it got stuck between not-slim-enough and not-featureful-enough, the syntax is too weird, and it spiraled into losing touch with the rest of the free software world, which ultimately also affected business use. Further notes Guile (again) faces several of these same challenges. Haskell tries to avoid success at all costs, in order to not lose the freedom to improve the language. Python and Perl both have Tk integrations and Python's IDLE is even implemented in it. Lua had ltk, but it's no longer maintained. There is even a Tcl/Tk package for R. Ousterhout pronounces it OH-stir-howt, which may or may not be how I pronounced it. I think the guttural sound may be reserved for the Dutch "G" and have nothing to do with "H". Potential episodes Fossil Tcl

 HPR2351: HPR Community News for July 2017 | File Type: audio/mpeg | Duration: Unknown

New hosts Welcome to our new host: Ironic Sodium. Last Month's Shows Id Day Date Title Host 2326 Mon 2017-07-03 HPR Community News for June 2017 HPR Volunteers 2327 Tue 2017-07-04 A Texan's view on Why only a Native Born person can be President JWP 2328 Wed 2017-07-05 Baofeng UV5R VHF/UHF Handset part 8 MrX 2329 Thu 2017-07-06 Building a Digital Clock Kit Dave Morriss 2330 Fri 2017-07-07 Awk Part 7 b-yeezi 2331 Mon 2017-07-10 Liverpool Makefest 2017 Show 1 Tony Hughes AKA TonyH1212 2332 Tue 2017-07-11 Installing DD-WRT on ASUS RT-N66U Ironic Sodium 2333 Wed 2017-07-12 VirtualenvWrapper for Fish Shell b-yeezi 2334 Thu 2017-07-13 Our Adventure Begins!

 HPR2350: Ahuka Insurance - Understanding The Marketplace | File Type: audio/mpeg | Duration: Unknown

In the U.S., health care, like most things, is driven by a private marketplace. We take a look at the principles that govern this marketplace in this episode. Links: http://www.npr.org/templates/story/story.php?storyId=114045132 http://www.palain.com/?page_id=293

 HPR2349: Customizing my bash prompt | File Type: audio/mpeg | Duration: Unknown

Basic bash prompt information Variables and files .bashrc: the RC file where all of this stuff can be set PS1: main prompt variable PS2: continuation prompt PROMPT_COMMAND: a bash function name, run every time prompt is displayed Colors Uses escape sequences There are problems with prompts and escape sequences Multiple escaping String interpretation and variable expansion tput to the rescue! Takes away the need for complex escape codes Must run tput init at the beginning of your .bashrc file TL;DR: Use tput for color strings, add them at the last possible moment, with brackets and backslashes Embedding bash scripts Single quotes are king Will be run every time PS1 is evaluated Otherwise, only run at time of assignment Layout of my prompt Two lines Information/status line Prompt line Status line Starts with current username Changes color when user has mail Next is the hostname (truncated) Separated by an @ symbol, like an email address Changes color when the system is in need of a reboot Checks for /run/reboot_required Current directory Separated from previous items by a pipe Truncated with a tilde if user's home is in the path Prepended with a number indicating the directory stack, if present Appended with the git (±) symbol if we're in a git branch, followed by the name of the branch Prompt line A blue » character Prepended with the number of background processes spawned from this terminal Screenshot: Link to Git Repository https://gitlab.com/windigo-configs/bash.git Editor's Note: added 2017-08-05

 HPR2348: Vim Hints 005 | File Type: audio/mpeg | Duration: Unknown

Vim Hints 005 Vim Hints is back! Oops! Where did half of 2015, all of 2016 and the first half of 2017 go? Well, life got in the way, plus motivation dwindled somewhat. This series is very demanding - the sed series was a walk in the park compared to tackling the continental-scale landscape of Vim! Still, the original goal was to try and introduce the really useful features of Vim and to make it manageable for everyday use. The hope was, and still is, that the series could get people started on their own journeys through its marvels. Also, with the currently circulating StackOverflow article on "How to exit the Vim editor?", it's worth pointing out that we dealt with that subject in episode 1, and this issue is revealed as the ridiculous meme that it really is! Quick recap To recap, the last episode of this planned series was in March 2015. Here's a list of links to all of the episodes so far: Vim Hints 001 (show 1714 2015-02-26) Vim Hints 002 (show 1724 2015-03-12) Vim Hints 003 (show 1734 2015-03-26) Vim Hints 004 (show 1776 2015-05-25) Let's briefly describe what was covered in these episodes to set the context. So far we have looked at very basic editing in episode 1, where we mentioned modes Normal, Insert and Command modes. In episode 2 we looked at Vim's backup mechanism, undoing and redoing changes, and file recovery in the event of a problem. We started using the .vimrc configuration file. We began looking at movement commands in Normal mode in episode 3, and beefed up the configuration file somewhat. More movement commands were covered in episode 4 as well as searching. We began looking at commands that make changes, adding, inserting, deleting and changing text in various ways. The concept of doing these things with various movements was covered. Again, a number of useful options for the configuration file were introduced. Full Notes Since the notes explaining this subject are particularly long, they have been placed here: http://hackerpublicradio.org/eps/hpr2348/full_shownotes.html and an ePub version is also available here: http://hackerpublicradio.org/eps/hpr2348/full_shownotes.epub. Links Stack Overflow: Helping One Million Developers Exit Vim Vim Help: Vim documentation: change Vim documentation: motion Vim documentation: options Previous episode: "

 HPR2347: An Intro to Apache Hadoop | File Type: audio/mpeg | Duration: Unknown

https://en.wikipedia.org/wiki/Apache_Hadoop The link above is primary info source. http://hadoop.apache.org/ has all the learning docs.

 HPR2346: Liverpool Makefest 2017 Show 4 | File Type: audio/mpeg | Duration: Unknown

Hi Tony Hughes here with the 4th show of some short interviews I did during the Liverpool Makefest held on the 24th June 2017 at Liverpool Central Library. https://lpoolmakefest.org/ The first interview is with Hillary Harper one of the Makefest Crew The second interview was with Gemma from Patten Craft http://www.gemmamaylatham.co.uk/portfolio-item/patterncraft/ The final interview for this show was with Simon Rider of Liverpool Book Art https://liverpoolbookart.com/

 HPR2345: Fixing a toilet roll holder | File Type: audio/mpeg | Duration: Unknown

In this episode Ken discusses how a simple "life hack", turned a source of frustration, into an engineering problem with a simple solution.

 HPR2344: Follow on to HPR2340 (Tracking the HPR queue in Python) | File Type: audio/mpeg | Duration: Unknown

This is a follow up to my previous show HPR2340, the improvement being I use the available STATS file from the hpr website rather than scraping the content from the HPR calendar page Link to my original show HPR2340 http://hackerpublicradio.org/eps.php?id=2340 Link to the excellent episode HPR1986 from Dave Morriss which references the stats file http://hackerpublicradio.org/eps/hpr1986/full_shownotes.html#example-2 Link to useful HPR Stats page http://hackerpublicradio.org/stats.php Snapshot contents (2017-06-23) of 'stats.txt' file which was actually called 'hpr_stats.txt' my mistake Started: 11 years, 8 months, 19 days ago (2005-10-10) Renamed HPR: 9 years, 5 months, 27 days ago (2007-12-31) Total Shows: 2911 Total TWAT: 300 Total HPR: 2611 HPR Hosts: 286 Days to next free slot: 17 Hosts in Queue: 9 Shows in Queue: 14 Comments waiting approval: 0 Files on the FTP Server: 1 Number of Emergency Shows: 7 Days until show without media: 0 1498246151,369343750,299186950,2911,300,2611,286,17,9,14,0,1,7,0 Link to Meld the great visual diff and merge tool http://meldmerge.org/ #!/usr/bin/env python3 ### This is a scratchpad file I've created to try out snippets of code in python # The script below is for use with Python 3 # This script should work out of the box on most systems running a version of Python 3 # If you happen to have a blinkstick lying about then your can uncomment the blinkstick module # and uncomment the references at the bottom of the program that call the blinkstick functions # Regrds, Mr X # Imported modules from time import sleep # used to pause program #from blinkstick import blinkstick # used to control blinkstick nano attached to usb port of raspberry pi import urllib.request # used to capture hpr webpage content to get the number of HPR shows in the que import re # regular expressions, used to find sting in HPR webpage (get_hpr_que) # These functions control a blink stick nano attached to my raspberry pi USB port ################# # They can be ignored or deleted if you don't have one def bstick_off(): # Search for all attached blinksticks and turn them all off for bstick in blinkstick.find_all(): bstick.turn_off() # Turn front blinkstick LED off bstick.set_color(channel=0, index=1, name="black") # Turn rear blinkstick led off print("Blinkstick: " + bstick.get_serial() + " turned off") def bstick_on(colour): # Turn blinkstick on and set led colour to string value stored in var colour # valid colours are, black, silver, gray, white, maroon, red, purple, fuchsia, green, lime, olive, yellow, navy, blue, teal, aqua for bstick in blinkstick.find_all(): bstick.set_max_rgb_value(30) # Sets max blinkstick RGB value to 15, makes LED dimm bstick.set_color(name=colour) # Turn blinkstick on, var colour determines colour print ("Blinkstick: " + bstick.get_serial() + " | Colour: " + bstick.get_color(color_format="hex") + " [" + colour + "]") #hex def bstick_on_random(): # Turn blinkstick on colour random for bstick in blinkstick.find_all(): bstick.set_random_color() print ("Blinkstick: " + bstick.get_serial() + " | Colour: " + bstick.get_color(color_format="hex")) def bstick_blink_red(): # Flash blinkstick colour red for bstick in blinkstick.find_all

 HPR2343: Healthcare in the Netherlands | File Type: audio/mpeg | Duration: Unknown

In show hpr2325 Ahuka describes how Health Insurance and How It Works. In this episode Ken reads the current state of Healthcare in the Netherlands by reading the Wikipedia entry. Links Healthcare in the Netherlands hpr2325 :: Insurance - How It Works

 HPR2342: Wherein our hero fails to repair a garage door. | File Type: audio/mpeg | Duration: Unknown

My garage door failed spectacularly for a second time. I make an attempt to repair it but find that my extension cables are a bit too short. I hope I can explain a little about how garage doors work along the way.

 HPR2330: Awk Part 7 | File Type: audio/mpeg | Duration: Unknown

In this episode, I will (very) briefly go over loops in the Awk programming language. Loops are useful when you want to run the same command(s) on a collection of data or when you just want to repeat the same commands many times. When using loops, a command or group of commands is repeated until a condition (or many) is met. While Loop Here is a silly example of a while loop: #!/bin/awk -f BEGIN { # Print the squares from 1 to 10 the first way i=1; while (i <= 10) { print "The square of ", i, " is ", i*i; i = i+1; } exit; } Our condition is set in the braces after the while statement. We set a variable, i, before entering the loop, then increment i inside of the loop. If you forget to make a way to meet the condition, the while will go on forever. Do While Loop Here is an equally silly example of a do while loop: #!/bin/awk -f BEGIN { i=2; do { print "The square of ", i, " is ", i*i; i = i + 1 } while (i != 2) exit; } Here, the commands in the do code block are executed at the start, then the looping begins. For Loop Another silly example of a for loop: #!/bin/awk -f BEGIN { for (i=1; i <= 10; i++) { print "The square of ", i, " is ", i*i; } exit; } As you can see, we set the variable, set the condition and set the increment method all in the braces after the for statement. For Loop Over Arrays Here is a more useful example of a for loop. Here, we are adding the different values of column 2 into an array/hash-table called a. After processing the file, we print the different values. For file.txt: name color amount apple red 4 banana yellow 6 strawberry red 3 grape purple 10 apple green 8 plum purple 2 kiwi brown 4 potato brown 9 pineapple yellow 5 Using the awk file of: NR != 1 { a[$2]++ } END { for (b in a) { print b } } We get the results of: brown purple red yellow green In another example, we do a similar process. This time, not only do we store all the distinct values of the second column, we perform a sum operation on column 3 for each distinct value of column 2. For file.csv: name,color,amount apple,red,4 banana,yellow,6 strawberry,red,3 grape,purple,10 apple,green,8 plum,purple,2 kiwi,brown,4 potato,brown,9 pineapple,yellow,5 Using the awk file of: BEGIN { FS=","; OFS=","; print "color,sum"; } NR != 1 { a[$2]+=$3; } END { for (b in a) { print b, a[b] } } We get the results of: color,sum brown,13 purple,12 red,7 yellow,11 green,8 As you can see, we are also printing a header column prior to processing the file using the BEGIN code block.

Comments

Login or signup comment.