skip to main content - accessibility menu - dyslexic font - mobile - text - print

Hacker Public Radio

Your ideas, projects, opinions - podcasted.

New episodes Monday through Friday.

Welcome to HPR the Community Podcast Network

We started producing shows as Today with a Techie 10 years, 1 months, 23 days ago. Our shows are produced by listeners like you and can be on any topic that "are of interest to Hackers". If you listen to HPR then please consider contributing one show a year. If you record your show now it could be released in 21 days.

Latest Shows

hpr1911 :: Thoughts on GUI v CLI and the best distro

Thoughts on which desktop to use, and which GUI to use

Hosted by Ken Fallon on 2015-11-30 and released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. Comments (0)

Promotion of GUI to new users

Deciding which GUI to present to a non techie, is simply a non issue as they can and do use different OS's all the time. We all have family and friends who have managed to operate phones, TV's and tablets as they iterate through their UI changes. Think about the changes in phones from Symbian to Android, iOS. The move from up and down channel tv's to DVR's, STB's and smart TV's. An then they all managed to get the hang of iPads and tablets without even calling you.

Promotion of GUI to tech savvy users.

Teach someone to use a GUI and they can use that computer.
Teach someone the command line and they can use any computer.

GUI's change and do so all the time. This happens across the board. On all OS's Windows, Mac, KDE, Android, Gnome, Nokia.

On the other hand, if you learn to computer via the command line ONCE, then you know how to operate computers from 46 years ago, and most likely in 46 years. If you plans involve a career in the tech industry, you need to be using the command line.

Most of the issues are the fear of not been the expert any more.

Is Linux is ready for the Desktop ?

Yes. Android

IS GNU/Linux is ready for the Desktop ?

But you cry "Android isn't Linux".

Yes. ChromeOS is now shipping more units to educational market than Apple.


Don't worry about it. Find what works for you and use it. Try and learn as much as you can. Learning stuff that will be around in 5 years is a good investment, but that is your choice.

hpr1910 :: QMMP--The Qt-based MultiMedia Player

QMMP is a simple media player inspired by Winamp and XMMS.

Hosted by Frank Bell on 2015-11-27 and released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. Comments (3)

Qmmp is an audio and video player for Linux, BSD, and Windows that's similar in appearance and functionality to Wimamp and XMMS. The Linux and BSD version are capable of playing video as well, through an mplayer plugin.

If you like eye candy, it's skinnable; a library of skins is available from the maintainer. In addition, it works nicely with legacy XMMS and Winamp skins.


Qmmp interface.

Qmmp video play:

Qmmp settings dialog:



Slackbuilds links: Qmmp: Qmmp Plugins:

Wikipedia article:

Playlist (*.m3u) specification:



hpr1909 :: Creating an Open, Embedded-Media Music Textbook

This is a recording of my presentation at the recent national joint CMS/ATMI meeting in Indianapolis

Hosted by Jon Kulp on 2015-11-26 and released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. Comments (3)

Re-Invigorating the Wheel: Creating an Open, Embedded-Media Music Textbook for the Digital Age

This is a recording of a presentation I gave on November 7th, 2015, at the national joint meeting of the College Music Society (CMS) and the Association for Technology in Music Instruction (ATMI) in Indianapolis, Indiana. I even have some action photos! Click on the first image below to visit the Flickr photo album, which also includes the slides from my presentation.

ATMI 2015 photo Album on Flickr


  • Percy Goetschius. Counterpoint Applied in the Invention, Fugue, Canon and Other Polyphonic Forms. New York: G. Schirmer, 1902. Download
  • ________. Exercises in Elementary Counterpoint. New York: G Schirmer, 1910. Download
  • Kent Kennan. Counterpoint, 4th ed. Englewood Cliffs, NJ: Prentice-Hall, 1999.
  • Jonathan Kulp, Gratis ad Parnassum: A Free Workbook for 18th-Century Counterpoint. Lafayette, LA: [no publisher] 2009. view pdf
  • Friedrich J. Lehmann. A Treatise on Simple Counterpoint in Forty Lessons. New York: G Schirmer, 1907. (This is the one I found on Project Gutenberg that I did not think was suitable as a textbook for my class)

Resources Mentioned

Watch My Workflow:

Serious Nerds Only

Many of the tedious repetitive processes I had to do on image files and audio files are done by bash scripts that are launched by voice commands, as demonstrated in the YouTube video above. The processes I'm talking about are things like renaming files according to my filenaming conventions, putting the files in the right place, resizing images, converting images to different formats, optimizing them for file size, converting audio from MIDI to ogg and mp3, and reducing audio from two channels to one in order to reduce file size. Below are the main tools I use for this, apart from the Linux bash shell itself. If you're interested in actually seeing the scripts I wrote to perform the magic, I am happy to share. Just drop me an email.

  • Calibre command-line tools: these were essential to automate the process of converting the source HTML file into the various versions and eBook formats of the book. Without this I might have thrown up my hands in defeat long ago.
  • ImageMagick: command-line image-manipulation tools
  • sox: command-line audio-manipulation tool, "the Swiss Army knife of sound processing programs."
  • optipng: command-line png optimizer. This is important to keep the book's file size as small as possible.
  • jpegoptim: command-line jpeg optimizer.
  • TiMidity++: an open-source, command-line MIDI-to-WAVE converter and player.
  • LAME: high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.
  • oggenc (part of vorbis-tools): Several tools to use, manipulate and create Vorbis files (vorbis is a free audio codec).

hpr1908 :: Arduino Pumpkin

droops talks about how his class built a pumpkin that comes alive for halloween.

Hosted by droops on 2015-11-25 and released under a CC-BY-NC-SA license.
Listen in ogg, spx, or mp3 format. Comments (1)

Code for Pumpkin

int ledPin1 = 5;
int ledPin2 = 6;
int motorPin = 8;
int lightPin = 3;
int lightVal;
int potPin = 0;
int potVal;

void setup(){
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(motorPin, OUTPUT);
  pinMode(potPin, INPUT);
  pinMode(lightPin, INPUT);
  digitalWrite(ledPin1, LOW);
  digitalWrite(ledPin2, LOW);
  digitalWrite(motorPin, LOW);

void loop(){
  potVal = analogRead(potPin);
  lightVal = analogRead(lightPin);
  if (lightVal < potVal){

void animate(){
  digitalWrite(ledPin1, HIGH);
  digitalWrite(ledPin2, HIGH);
  digitalWrite(motorPin, HIGH);
  digitalWrite(ledPin1, LOW);
  digitalWrite(ledPin2, LOW);
  digitalWrite(motorPin, LOW);

hpr1907 :: Charlie Reisinger and Penn Manor

Klaatu interviews Charlie Reisinger of Penn Manor school district

Hosted by klaatu on 2015-11-24 and released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. Series: Interviews | Comments (1)

Klaatu interviews Charlie Reisinger about how Penn Manor school district uses of open source...on every student's laptop.

hpr1906 :: Apt Spelunking 2: tvtime, phatch, and xstarfish

Windigo digs through his software repositories and finds another couple of gems

Hosted by Windigo on 2015-11-23 and released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. Comments (1)

Welcome to the another episode of apt spelunking! If you missed the first episode, I should explain. Apt spelunking is the act of aimlessly searching through your distribution's software repositories, and picking out the gems that you find. I call it apt spelunking because I use Debian, which uses the apt packaging format.

Let's jump into the first package: tvtime.


The package tvtime is a simple one, but it does what it does very well. tvtime interfaces with a TV tuner - specialized hardware that allows your computer to process analog television signals, via coaxial or RCA video cables. If you have this hardware, usually an expansion card or USB peripheral, tvtime allows you to use your computer as an analog television.

tvtime binds to the card of your choosing, allows you to switch between NTSC and PAL modes (NTSC is what I use, that being the American standard), and shows you a wonderfully grainy video. It has filters that can help smooth out the image a bit, but it's still an analog video.

tvtime is video only, so you need to use something else to handle the audio of whatever you are hooking up. Often this is done by the hardware tv tuner somehow; my PCI card tuner has a 3.5mm jack that offloads any sound received over the coaxial wire, and I patch that into my sound card. RCA cables have separate wires for audio, and I plug those into my sound card via a converter cable.

I have used tvtime to hook up videogame consoles, VCRs, and older computers like the TRS-80. It's helped me to defeat Eternal Darkness, an old GameCube game that is still worth a look, and it's allowed me to digitize old VHS tapes we have lying around. More on that in another episode.

It is a fantastic alternative to keeping an older analog TV around. If you have older equipment that needs to dump analog video somewhere, tvtime and a hardware tuner makes for a great setup.


This absurdly spelled program is incredibly good at what it does. Phatch, some sort of unholy combination of "photo" and "batch", is a GUI interface for assembling chains of actions to manipulate image files.

I use this program for web development to save time when creating static photo galleries or other types of images with similar constraints.

To use phatch, you assemble a set of operations (phatch refers to these as "actions") in an ordered "action list". I'll use my gallery thumbnail action list as an example.

There are only two actions in my thumbnail action list: "fit", and "save". Each action has a set of predefined parameters and options that let you tweak what happens to your files. The "fit" action resizes an image without goofing up the aspect ratio. You give it a box to fit the image in, and it fits it fully into that box and cuts off any extra edges. The most important parameters for this action are canvas width, and canvas height - which tells phatch how big the box is. The save action has parameters that let you set which image format to use, which folder to save to, and even what to name the file. For my thumbnails, I have it use the original filename, and append a "_t".

Once you have your action list together, you can tell phatch to run on an entire directory and include or exclude different file types.

There is much, much more to phatch than just resizing images. Sounds like another episode idea… anyhow, moving on!


I left xstarfish until the end, because it's so much fun and so very, very weird. xstarfish generates a random, tileable background that can be dumped to a file, or assigned directly to the X display of your choice.

It uses some sort of magic randomsauce to pick a color palette, some patterns, and some other distortions to that you get a brand-new, unique background every time you run it.

It can also be started in daemon mode, with a timer, to automatically change your wallpaper periodically.

There are at least two problems with this.

First of all, let's start with the practical. You can set the size of the image xstarfish generates, by either using the -g flag and manually setting the geometry with a pixel width and/or height, or you can use the -s flag and set a general size like "small", "large", or "full". If you use "full", xstarfish automatically generates a full wallpaper for your display.

Since xstarfish generates randomness (which is often CPU intensive) and uses that to generate random filters (which can be hard on your CPU) and can be set to do it periodically (which, depending on frequency, could keep your CPU busy), this utility can be a resource hog. I have two monitors, each running 1280x1024 resolution, and when I set it to generate a new background every 10 seconds... well, it didn't. It just maxed out one of my CPU cores, and spit out a background every once and a while. Cutting it down to only generate a single monitor-sized image every 60 seconds made things much more reasonable.

The second, more pertinent issue with xstarfish is that it randomly picks colors and patterns. It is exceptionally random about it. Imagine for a moment that you needed to paint a room, and you wanted to pick random colors and patterns for a room in your house. You would begin by blindfolding a friend and pushing them into the paint isle at your nearest hardware store. Whatever three buckets of paint they bump into first, well, that's your color palette. What do you mean you don't like orange, sea foam and gunmetal grey?

Then, you take those paint cans and proceed to tie one to your ceiling fan, one to your eight-year-old child and swing the third around your head at a 35 degree angle. Fairly quickly, you'll have your own xstarfish-inspired decor.

With all of the potentially awful things that can happen, I really do like xstarfish. It's not something I keep running all the time, and a lot of the options remind me of early 90s Encino Man fashion and school photo backdrops with lasers. But sometimes the patterns are actually quite pleasing, and if I keep the tile size small, it reminds me of 90s web design.

That concludes the second installment of apt spelunking. Please don't let me take all the glory; take a tour through your package manager, whatever distro you use, and tell us about some cool stuff you find!

hpr1905 :: 66 - LibreOffice Impress - Built-In Charts

Creating charts from inside Impress

Hosted by Ahuka on 2015-11-20 and released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. Series: LibreOffice | Comments (0)

In the last tutorial we looked at OLE objects, and saw that Charts could be brought into Impress from Calc via OLE. But you can create the Charts directly in Impress. Bear in mind that due to the modular nature of LibreOffice you will be using the same tools to do this as Calc uses: LibreOffice developers never reinvent the wheel if they can avoid it.

There is a lot to know about Charts if you are going to use them effectively, and we covered all of this in our Calc tutorials. For more go to


hpr1904 :: Windows Command Line Tips and Tricks

Some tips to make you feel more comfortable on the Windows side of things.

Hosted by OnlyHalfTheTime on 2015-11-19 and released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. Comments (2)

Hello, HPR. I am OnlyHalfTheTime, the Reluctant Windows Admin. I am a Linux user at home and at heart. I run VPSs on Digital Ocean, host websites all in Linux, mostly Ubuntu. By day, however, I work for an Managed Services Provider which deals with all Windows boxes.

Today, I would like to talk about some tips and tricks I have come across while being forced to make the best out of a Windows environment. Being a Linux user, I find that many functions are more quickly completed if you drop to a Command Line Interface. This holds true for many Windows functions as well.

First, let's establish the kind of environment you will need.

Unfortunately, there is no sudo command built in to Windows. What we will need to do is run a command prompt as an administrator. On Windows 7, you can accomplish this by clicking the start menu, typing cmd, then rightclicking the command prompt program and choosing 'run as administrator'. In Windows 8 and 10, you can right click the start menu directly and click Command Prompt Admin.

This is almost the equivalent to running as root. You can affect almost anything except some system protected files. No rm -rf /* for you! The windows user most like root would be SYSTEM. Running a command prompt as SYSTEM is possible to accomplish a few ways, but is very very rarely needed. I can make another podcast about that later, but it is out-of-scope here.

Lets get into our first example: User creation is so much easier at the Windows command line. For example, I want to add a local user to a system with administrative rights. From an admin command prompt, I type:

net user john hunter2  /add

this creates the user john with the password hunter2. Then I type:

net localgroup administrators john /add

This adds john to the local group administrators. This group has admin rights on this local machine. Say john abuses this privilege and needs to have his permissions revoked.

net localgroup administrators john /delete

This is much easier than going to the control panel, searching for users, adding a user, defining a password, choosing to make it an admin user. For me at least.

Another thing the net command is used for is restarting services. Does that sounds silly to you? I agree! Regardless, let say you want to restart the print spooler on a troubled workstation. You could open a run prompt by hitting Windowskey+R and type "services.msc". This opens up the services window where you can find the service "print spooler" and right click it to restart. or you could just type:

net stop spooler
net start spooler

This is easier to script as well, in case a user is always having trouble printing. Provide a simple batch file (the equivalent of a shell script) to resolve and get on with your day.

Affecting files can be a pain in Windows as the paths tend to be esoteric and alien to a Linux user. For example. Let's say I want to copy file in the openVPN programs folder to my desktop. I could type:

copy "C:\Program Files (x86)\OpenVPN Technologies\OpenVPN Client\etc\profile\" "C:\Users\john\desktop\"

Gotta remember those doublequotes since Windows has spaces AND parentheses in the full path. Wow. Even with tab completion, that's a lot of work. I have a better solution if you have access to the GUI. Find the file you wish to copy and drag and drop it into the command window. Windows will enter the full path into the prompt. If the files does not already exist where you want it you can't drag it into the prompt. There are variables that can speed up this process. It may not be as elegant and simple as ~, but Windows does have a variable for the local user's home directory. You can type:


But you are saying, wait OnlyHalfTheTime, this doesn't save me any time or keystrokes! This is true in this specific case, but in scripting, it becomes important to use variables instead of full paths. I may not have Windows installed in the "C" drive for example. Also, some are real time-savers. if you use %APPDATA% for example, it maps to C:{username}.

Now, let's say I am going to be doing a lot of work in a specific directory. I could keep entering the full path, but come on, no one likes that guy. I could open a command prompt and cd or change directory, just like in Linux. or I could find the directory in the file explorer and right click in the folder while holding down shift. This gives you and extra option in the context menu named 'open command windows here' which does exactly that. You will get a command window opened with the working directory set as the folder in which you right clicked.

Hopefully some of these methods will help folks like me: Windows admin by day, Linux enthusiast by night. This is OnlyHalfTheTime, the Reluctant Windows Admin, signing off.

hpr1903 :: Some further Bash tips

Some more information about types of expansion in Bash

Hosted by Dave Morriss on 2015-11-18 and released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. Series: Bash Scripting | Comments (2)

Some further Bash tips


There are seven types of expansion applied to the command line in the following order:

  • Brace expansion (we looked at this subject in the last episode 1884)
  • Tilde expansion
  • Parameter and variable expansion (this was covered in episode 1648)
  • Command substitution
  • Arithmetic expansion
  • Word splitting
  • Pathname expansion

We will look at some more of these in this episode but since there is a lot to cover, we'll continue in a later episode.

I have written out a moderately long set of notes about this subject and these are available here

hpr1902 :: My Linux Tool Box

Fin talks about his digital box of Linux tools.

Hosted by Fin on 2015-11-17 and released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. Series: Whats in My Toolkit | Comments (2)

Tools I use:

  1. Htop - Command line system monitor
  2. Firefox - The best web browser
  3. Pluma or Gedit - Great gui text editors
  4. Yaourt or Synaptic - Simple yet powerful package managers
  5. Gucharmap - Character map for all your unicode needs
  6. Markdown - Distraction free, simple document writing.
  7. VLC - The one true media player.
  8. Cinnamon Desktop Environment - My favorite desktop environment.
  9. LibreOffice - For my limited office application needs.
  10. Evince or Atril - Simple, effective, reliable PDF readers.
  11. mtPaint - Pixel art programme.
  12. Inkscape - Vector graphics tool. Great for drawing.
  13. GIMP - The Gnu Image Manipulation Programme.
  14. Gnome Terminal or Mate Terminal - My preferred GUI terminals.
  15. Redshift - Ease your screen viewing when the sun goes down.
  16. Alarm Clock Applet - Used for the Pomodoro time management technique.
  17. Gparted - My preferred partition management tool.
  18. Steam - Lots of freedom hating games.
  19. Play on Linux - Tool to play other freedom hating games.
  20. Gpick - Simple colour picker and colour scheme generator.
  21. Thunderbird - My preferred email client. The best of a boring bunch.
  22. Skype - My nessecessity for human contact.
  23. Transmission - Torrent client. Great for downloading lots of Linux Distros!
  24. Uget - For when I need a large file that doesn't have a torrent.
  25. Java - I use OpenJDK and OpenJRE as java is my first language.
  26. Asunder CD Ripper - For ripping audio CD collections.
  27. Audacity - For recording this podcast!
  28. Music Brainz Picard - Tag, accurately, all those freshly ripped CDs.
  29. Virtualbox - Try all those .iso Linux distributions you just downloaded!
  30. GUFW - GUI Uncomplicated Fire Wall. Does exactly what it says on the tin.
  31. Numix Theme - A very complete theme with a lovely icon set. Flat style, very modern.