Site Map - skip to main content - 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 on 2005-09-19, 13 years, 8 months, 5 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 16 days.

Meet the team

Please help out tagging older shows !


Latest Shows


hpr2815 :: Copy pasta

Copying and pasting on Linux: X selections, xsel, clipboard managers, GPM, screen, and more

Hosted by klaatu on 2019-05-17 is flagged as Clean and released under a CC-BY-SA license.
Tags: copy,paste,xsel.
Listen in ogg, spx, or mp3 format. Comments (0)

You can copy and paste on Linux the same way you do on any other OS: Ctrl+C to copy and Ctrl+V to paste (or use the Edit menu, or a right-click menu).

However, Linux doesn't limit you to just that. The primary GUI environment of Linux (at the time of this recording) is X, and the Inter-Client Communication Conventions Manual defines three X Selection states: Primary, Secondary, and Clipboard. The Secondary is rarely (if ever?) used, so I don't cover it here.

Primary

The primary X Selection is anything literally selected at any given moment. If you highlight a word in Firefox with your mouse, for instance, then it becomes the Primary Selection, and it is owned by Firefox. If you press the Middle Mouse Button in any application, then that application asks the owner (Firefox, in this example) for the data contained in the Primary Selection. Firefox sends the data to that application so that it can paste it for you.

A Primary selection remains the Primary Selection until it is overwritten by a new Primary Selection. In other words, text needn't be highlighted to be retained in the Primary Selection slot.

Clipboard

The Clipboard Selection is data that has explicitly been sent to the clipboard by a copy action. This is usually a right-click > Copy or a selection of Edit > Copy. When another application is told to paste from the clipboard, it pastes data from the Clipboard Selection.

Both

You can (and often do) have both a Primary Selection and a Clipboard selection. If you press Ctrl+V, you get the contents of the Clipboard Selection. If you press the middle mouse button, then you get the contents of the Primary Selection.

xsel

The xsel command allows you to retrieve the contents of an X Selection.


$ xsel --primary
dungeons
$ xsel --clipboard
dragons

Clipboard managers

Clipboard managers such as Klipper, CopyQ, Parcellite, and so on, provide a history for your clipboard. They track the latest 10 (or so) items you have copied or selected. They can be a little confusing, because they do tend to blur the line between the Primary Selection and the Clipboard Selection, but now that you know the technical difference, it shouldn't confuse you to see them both listed by a clipboard manager designed to conflate them.

GPM

GPM is a daemon allowing you to use your mouse without a GUI. Among its features, it permits you to select text in a text console (TTY) and then paste it with the middle mouse button.

GNU Screen and Tmux

Screen and tmux are "window managers for text consoles". I don't tend to use tmux as often as I should, having learnt GNU Screen long ago, so I'm not familiar with the process of copying and pasting with tmux. For Screen, you can copy text in this way:

  1. Press Ctrl+A to get out of insert mode.

  2. Press left-square_bracket to enter copy-mode

  3. Move your text to the position you want to start selecting and press Enter or Return

  4. Arrow to the position at which you want to end your selection and press Enter or Return again

To paste your selection:

  1. Press Ctrl+A to get out of insert mode.

  2. Press right-square_bracket to paste


hpr2814 :: Spectre and Meltdown and OpenBSD and our future

A discussion about CPU's and our future with them, where are we going?

Hosted by Zen_Floater2 on 2019-05-16 is flagged as Clean and released under a CC-BY-SA license.
Tags: SCATTER HUMANS!!!.
Listen in ogg, spx, or mp3 format. Comments (1)

I discuss the entire Spectre and Meltdown issues and where we might go post an Intel world. My objective is to encourage others to leave Speculative processing backed by management engine based chips. SCATTER HUMANS!!! WE MUST LEAVE!!!!


hpr2813 :: Should we dump the linux Desktop.

Knightwise wonders if we should let go of the linux desktop environments and focus on cross-platform

Hosted by knightwise on 2019-05-15 is flagged as Explicit and released under a CC-BY-SA license.
Tags: linux, desktop, rant.
Listen in ogg, spx, or mp3 format. Comments (5)

Knightwise wonders if we should let go of the linux desktop environments and focus on cross-platform applications instead. Please bring your torches and pitchforks.


hpr2812 :: Is 5G mobile data a danger to your health?

Apply Betteridge’s Law of Headlines to find out the answer


Hosted by clacke on 2019-05-14 is flagged as Clean and released under a CC-BY-SA license.
Tags: 5g, health, radiation, pseudoscience.
Listen in ogg, spx, or mp3 format. Comments (0)

This is mostly verbatim from my Fediverse post https://libranet.de/display/0b6b25a8-165c-9c7f-b55d-c7a077813050, with a few minor edits.

The anti-5G campaign has been cooking for many years now, and at the epicenter of it all are two men, Lennart Hardell and Rainer Nyberg. It’s a Swedish-Finnish phenomenon that is now really making the rounds and spreading internationally, as actual commercial deployment of 5G networks draws nearer.

As a Swede, I apologize. These two do not represent the Swedish or Finnish cancer or radiation research community, and our media have given them far more space in the public discourse than their work merits.

They are heavily quoted in networks of pseudoscience, including anti-vaccine sites, right-wing "alternative facts" sites and Strålskyddsstiftelsen ("Swedish Radiation Protection Foundation"), a private foundation created in 2012 with a deceptive name meant to invoke authority, which has had to be corrected on multiple occasions by the actual Swedish Radiation Safety Authority, Strålskyddsmyndigheten.

Strålskyddsstiftelsen received the 2013 "Misleader of the Year" award from the main Swedish scientific skeptics' society, Vetenskap och Folkbildning ("Science and Public Education") for "[their fearmongering propaganda and biased reporting on the health effects of mobile telephony use and wireless networks]".

https://www.vof.se/utmarkelser/tidigare-utmarkelser/aretas-forvillare-2013/ (in Swedish)

These networks are part of a feedback loop where they get media attention, politicians pick up on their claims and use them to invoke the precautionary principle and get precautionary regulation in place, or judges rule based on the claims, which then gets quoted by these entities as evidence that they were right all along.

They make it very hard to find factual information on whether millimeter-wavelength radiation actually has any different effect from the centimeter-wavelength radiation that we have been using for over two decades without any documented harmful effects, because wherever you look you just find these sites claiming that we have definitely had adverse health effects for the last two decades and the new frequency bands will definitely be far worse.

When you dig deeper into the claims on these sites you find a handful of cherry-picked articles, leading back to the two men mentioned at the top, to studies with flawed methodology like self-reported surveys on mobile telephony use among cancer patients, or to the pseudoscience/media/politics/law feedback loop. And it’s all about centimeter waves, which simply have shown no conclusive sign of increasing brain cancers or any other adverse health effect related to the radiation. For every positive report made you can find one that reports brain cancer fell as we introduced mobile phones. There is a massive body of data, and if the signal were there, we would have seen it by now.

I’m no cancer researcher, but neither is Rainer Nyberg, he’s a retired professor in pedagogy. He’s a concerned citizen. https://en.wikipedia.org/wiki/Lennart_Hardell is an actual oncologist and professor who has studied carcinogens, but his research results on the wireless/cancer connection have been dismissed as "non-informative", "post hoc", "barely statistically significant" and "flawed" by his peers. There is nothing there.

We know that high-voltage 16.7 Hz fields increase the risk for leukemia in train drivers, but we don’t know why. I am open to the possibility that 20-50 GHz waves have different consequences from 2 GHz waves, but I’d have to hear it from a credible source.

Straight up DNA mutation is out the window, and that’s one of the centerpoints of these campaigns. This is still frequencies below visual light, it’s not ionizing radiation. No plausible mechanism has been suggested, and there is no clear data on any adverse effects.

We use millimeter waves for the full body scans in US airports. Surely the effects of those have been studied? The top search results go to truthaboutcancer and infowars and similar names I won’t even bother to click. I don’t want to read another article about how all cancer research after 1950 has been wrong, we should all just eat chalk to balance our acidity, and cancer is a fungus.

Apart from the pseudoscience sites I found one paper on the first search results page, concluding that X-ray backscatter scanners have well-known risks, but radiation levels are far below safety standards, both for passengers and for security staff, and also below the background radiation exposure while flying, and millimeter-wave scanners, while an "alarmingly small amount of information about its potential health effects" is available, "The established health effects associated with non-ionizing radiation are limited to thermal effects" and "these scanners operate at outputs well below those required to produce tissue heating", that is, we currently don’t know of a way millimeter waves might be harmful: https://www.sciencedirect.com/science/article/pii/S1687850714000168 (https://doi.org/10.1016/j.jrras.2014.02.005)

For a guide on how to spot pseudoscience and how to read scientific papers, see ahuka’s excellent hpr2695: Problems with Studies.

https://en.wikipedia.org/wiki/Betteridge%27s_Law_of_Headlines


hpr2811 :: Interview with Alan Pope

In this episode, Yannick talks with Alan Pope about snaps, snapcraft and all things related

Hosted by Yannick the french guy from Switzerland on 2019-05-13 is flagged as Clean and released under a CC-BY-SA license.
Tags: ubuntu, snap, snapcraft, flatpack, linux, appimage, alan pope, popey.
Listen in ogg, spx, or mp3 format. Series: Interviews | Comments (0)

A few years ago, when you wanted to install a package on your Linux system, you had to grab the source code, and the nightmare began. But nowadays, this is over. You have deb files, and snaps, and flatpacks, and many other package formats available. On this episode, I was joined by Alan Pope, from Canonical, to talk about one of them in particular : snaps.


hpr2810 :: Wi-Fi on Android

Ken fixes an Android Firewalled Wi-Fi connection that reports no Internet and won’t connect


Hosted by Ken Fallon on 2019-05-10 is flagged as Explicit and released under a CC-BY-SA license.
Tags: Android, fdroid, lineageos, AFWall+, Wi-Fi, wpa_supplicant.conf, termux.
Listen in ogg, spx, or mp3 format. Comments (0)

Background

You're running a firewall on your work and home networks right, so of course you're running one on your Smart Phone. Given this device holds more information about you than you probably know yourself, it would be only prudent to make sure that you are protecting what gets in but also what gets out.

I run AFWall+ which is available from the F-Droid app store. It runs fine on LineageOS.

I then set it on the children's phone so that no application is allowed to use mobile data, and then only applications that need Internet get Internet Access. This works well as it's a normal use case for mobile applications to have intermittent access to the Internet.

I see no reason why the Linux Kernel should need unfettered access to the Internet, so it's not allowed out. One issue you may come across is that even though you know that there is a Connection your phone doesn't, and so it will display the Wi-Fi Connected, no Internet message.

I'm not sure how this check is done but abqnm suggests at in the StackExchange question How does Android determine if it has an Internet connection? that it may be related to Google Cloud Messaging.

... this means that the device is unable to receive a response from GCM (Google Cloud Messaging, the framework that handles push notifications). This traffic is sent through ports 5228, 5229, and 5230. If the AP is blocking or interfering with traffic on those ports, push notifications won't work ...

I do indeed see blocked attempts by Google Play Services on my own phone, but not on the other phones that have no google services installed. The only entry I see in the logs is an ICMP attempt to "Comcast Cable Communications, Inc". If you know more please record a show for Hacker Public Radio about it.

Giving Access

Normally you will get a message saying that the Wi-Fi has no Internet access.

Android System. Wi-Fi has no Internet access. Tap for options

If you tap the message a popup will allow you to stay connected and will let you remember the choice.

OpenWireless.Org. This network has no Internet access. Stay connected? [] Don't ask again for this network NO YES

In some cases the router helpfully resets the connection before you can reply to the message meaning it goes into a loop continually popping up the message but not reacting to it.

In this case we can use Termux a Android Terminal emulator, to drop to a shell and fix the problem.

I used su to get root access but you could also change to the user wifi.

The file you need to edit is /data/misc/wifi/wpa_supplicant.conf. It's probably best to edit this file with the wifi off.

network={
	ssid="OpenWireless.Org"
	key_mgmt=NONE
	priority=15
	id_str="{snip}"
}

Scroll down to the network that is giving you trouble and add disabled=1

network={
	ssid="OpenWireless.Org"
	key_mgmt=NONE
	priority=15
	disabled=1
	id_str="{snip}"
}

I ended up copying the file to the sdcard, and editing it there. I then copied it back as su and used chown wifi:wifi /data/misc/wifi/wpa_supplicant.conf to fix the permissions.

Once that's done you can reboot the phone and connect to the network without a problem. You should also consider putting up an Open Wireless access point yourself.


hpr2809 :: The Blue Oak Model License and Its One Big Gotcha

Introducing and examining a new and elegant permissive software license.

Hosted by Joel D on 2019-05-09 is flagged as Clean and released under a CC-BY-SA license.
Tags: legal, licensing.
Listen in ogg, spx, or mp3 format. Comments (2)

The Blue Oak Model License 1.0.0 was just released this month. In this episode I read the license, explain where it sits in among other software licenses, and enumerate some of the problems it purports to solve.

I’m no legal expert, so take all of this as sort of a rough introduction to the license.

Overall, if you are looking at permissive (vs copyleft) licenses, I would strongly suggest you consider this license! It’s concise, robust, it was developed by credible people, and gives your users future-proof safety from a number of common legal traps.

However: just note that it has a feature, some would say bug, that might be a big deciding factor in whether you feel comfortable with it (listen for details)

Nevertheless, I believe this license, or at least its style of language, will soon become extremely common.

Further links:

  • The Blue Oak Model License 1.0.0 — the license itself. You may also wish to read the group’s statement about their methodology and how the license came to be.
  • Deprecation Notice: MIT and BSD — the blog post I mention in the recording, by Blue Oak council member, developer and IP lawyer Kyle Mitchell. He explains some problems he sees with the MIT and BSD licenses and how the BOML addresses them.
  • Discussion on Hacker News — This was a pretty good discussion. Kyle Mitchell also chimed in here to respond to some criticisms and tire-kicking of this license (you can recognize him by his handle kemitchell).

Not mentioned in the recording: One thing that caused me a bit of confusion at first was the term “attribution”. Kyle and the Blue Oak folks use this term mainly to talk about license terms, not authorship or credit. So for them an attribution requirement is a requirement to include the license terms with any distributed copies, not a requirement to give authorship credit to people.

If you want to use this license as a starting point for your own “bespoke” license, you can! As I mention in the recording, I created my own variant of the Blue Oak license for one of my own projects. My main change was a strong requirement for downstream users to give credit to upstream contributors—not just when redistributing source code, but in all published software, books and websites created with the software!

Of course, when you make your own changes, you had better think hard about them, and if possible, get the advice of an Actual Lawyer who can discuss your particular situation.


hpr2808 :: Haskell function types

tuturto gives overview of function types in Haskell

Hosted by tuturto on 2019-05-08 is flagged as Clean and released under a CC-BY-SA license.
Tags: haskell.
Listen in ogg, spx, or mp3 format. Series: Haskell | Comments (0)

Haskell is statically typed language, meaning that during compilation, programs are checked for type correctness. This means that you won’t accidentally mix for example text and numbers. Haskell does type inference. The compiler will try and figure out what kind of types would make your program to be valid in terms of types. Programmer could completely omit types, but it’s often helpful to write type signatures for at least top level definitions. These will be helpful for both the programmers and compilers.

concrete types

Simplest case is where types are spelled out definitely. Function add below takes two Integer parameters and produces Integer value. Note that types are written in upper case.

add :: Integer -> Integer -> Integer

It’s possible to not use concrete types. In following example a (note the lower case) can be anything. So function takes two values of a, a Boolea and produces a. This is useful technique for writing very general functions.

choose :: a -> a -> Boolean -> a

ad hoc polymorphism

In previous example, we wouldn’t be able to do much at all with a as we don’t know its type. Sometimes we need to know a bit more about type, without specifically declaring its type. For those cases type constraints are useful.

add :: (Num a) => a -> a -> a

This version of add again takes two parameters, both being type a and produces value a. But (Num a) => part in the signature constraints a to be instance of Num. This type class (I’ll talk about these some other time) defines that each instance of it will have set of functions: +, -, *, negate, abs, signum and fromInteger. So now our add function can use those functions, regardless of what specific type a is.

parametrized functions

Types used in function signature can be parametrized. If we wanted a function that returns a first element of any list, we could have following signature: first :: [a] -> Maybe a

first takes single parameter, list of a and returns Maybe a. Maybe is a type that is used to signify a value that might or might not be present and has following definition:

data Maybe a =
     Nothing
     | Just a

So our function would return Nothing when given an empty list and Just a when given a list of at least one element.

using functions

Function application in Haskell doesn’t require parentheses around arguments. Calling our add function is just add 1 2. If one of the values is result of another function call, we need to tell which parameters belong to which function. Using $ is one option: add 1 $ add 2 3, another option is to use parentheses: add 1 (add 2 3).

When function is called with less parameters than it expect, instead of run time error you’ll going to receive a function. In following example addLots 5 will produce same value as add 1000 5:

addLots = add 1000
addLots 5

Another contrived example of partial application:

findPodcasts :: [Podcast] -> Text -> [Podcast]
search = findPodcasts loadedPodcasts
myPodcasts = search "tuturto"

functions as types

Functions have type (that’s what the signature is for after all) and functions can be used as values. You can return function from another function or you can pass in a function as a parameter.

Common example is filter, which has following signature: filter :: (a -> Bool) -> [a] -> [a]

It takes two parameters, first one is function that has type a -> Bool and second one is list of a. Return value is list of a. You can produce a list of odd numbers between 1 and 10 with filter odd [1..10].

anonymous functions

Sometimes you need a function to pass in as a parameter, but the function is so small that you don’t want to give it a name. For those cases, anonymous function are good. If you wanted to produce a list of odd numbers that are greater that 5 in range from 1 10, you could write it as: filter (\x -> odd x && x > 5) [1..10]. If you squint hard enough \ looks almost like a lowercase greek letter λ.

Easiest way to catch me is either email or fediverse where I’m tuturto@mastodon.social


hpr2807 :: Are bash local variables local?

A lesson on dynamic scope vs lexical scope


Hosted by clacke on 2019-05-07 is flagged as Clean and released under a CC-BY-SA license.
Tags: bash, perl, scope, dynamic scope, lexical scope.
Listen in ogg, spx, or mp3 format. Series: Bash Scripting | Comments (0)

https://en.wikipedia.org/wiki/Scope_%28computer_science%29

In hpr2739, Dave talked briefly about local variables. But what are they?

In most modern languages, especially in compiled languages, "local" means that the value of a variable cannot be directly known, by looking up the name, outside the bounds of that function, but that’s not how it works in bash.

Languages like C and Python have lexical scope. Lexical scope means local variables are local in the text. The names are local.

If I’m writing code that is textually located outside the function, I cannot even describe how to access the variables within the function, because myvariable in my function is not the same variable, not the same place, as myvariable in your function.

Languages like Bash and Elisp have dynamic scope. That means local variables are local in time. The names are global.

What happens when you declare a variable local in bash is that the existing value of that variable is stowed away, to be brought back when your function exits.

#!/usr/bin/env bash
function sayscope() {
    echo The scope is $whatsmyscope
}

function globalscope() {
    whatsmyscope=global
}

function dynamicscope() {
    whatsmyscope=dynamic
}

function localscope() {
    local whatsmyscope=local
    sayscope
    dynamicscope
    sayscope
}

globalscope
sayscope
localscope
sayscope
The scope is global
The scope is local
The scope is dynamic
The scope is global

Perl has both, and it calls them local (dynamic scope, like bash) and my (lexical scope):

#!/usr/bin/env perl
use v5.10;

sub sayscope {
    say "Dynamic scope is $whatsmyscope";
}

sub globalscope {
    $whatsmyscope="global";
}

sub dynamicscope {
    $whatsmyscope="dynamic";
}

sub lexicalscope {
    my $whatsmyscope="lexical";
    say "Lexical scope is $whatsmyscope";
    sayscope;
}

sub localscope {
    local $whatsmyscope="local";
    sayscope;
    dynamicscope;
    sayscope;
    lexicalscope;
}

globalscope;
sayscope;
localscope;
sayscope;
Dynamic scope is global
Dynamic scope is local
Dynamic scope is dynamic
Lexical scope is lexical
Dynamic scope is dynamic
Dynamic scope is global

You almost never want to use local in Perl, it’s mostly there for historical reasons — lexical scope is a Perl 5 feature. https://perl.plover.com/local.html covers well the remaining few and narrow exceptions where local might be useful.

As dynamic scope has some valid use, it’s available in some otherwise lexically scoped languages. For example, Common LISP has the special form, and several Schemes and Racket have parameter objects:

To dig fully into the history and flora of dynamic and lexical scope merits another episode.


hpr2806 :: HPR Community News for April 2019

HPR Volunteers talk about shows released and comments posted in April 2019


Hosted by HPR Volunteers on 2019-05-06 is flagged as Explicit and released under a CC-BY-SA license.
Tags: Community News.
Listen in ogg, spx, or mp3 format. Series: HPR Community News | Comments (2)

New hosts

There were no new hosts this month.

Last Month's Shows

Id Day Date Title Host
2781 Mon 2019-04-01 HPR Community News for March 2019 HPR Volunteers
2782 Tue 2019-04-02 Never stop gaming klaatu
2783 Wed 2019-04-03 The Windows "Shutdown.exe" Command Explained Claudio Miranda
2784 Thu 2019-04-04 The Yamaha Disklavier Jon Kulp
2785 Fri 2019-04-05 What is uCPE JWP
2786 Mon 2019-04-08 My YouTube Channels Tony Hughes AKA TonyH1212
2787 Tue 2019-04-09 NodeJS Part 1 operat0r
2788 Wed 2019-04-10 Looping in Haskell tuturto
2789 Thu 2019-04-11 Pacing In Storytelling lostnbronx
2790 Fri 2019-04-12 My YouTube Subscriptions #5 Ahuka
2791 Mon 2019-04-15 LUKS like truecrypt klaatu
2792 Tue 2019-04-16 Playing around with text to speech synthesis on Linux Jeroen Baten
2793 Wed 2019-04-17 bash coproc: the future (2009) is here clacke
2794 Thu 2019-04-18 Interview with Martin Wimpress Yannick the french guy from Switzerland
2795 Fri 2019-04-19 Dead Earth klaatu
2796 Mon 2019-04-22 IRS,Credit Freezes and Junk Mail Ohh My! operat0r
2797 Tue 2019-04-23 Writing Web Game in Haskell - Simulation at high level tuturto
2798 Wed 2019-04-24 Should Podcasters be Pirates ? knightwise
2799 Thu 2019-04-25 building an arduino programmer Brian in Ohio
2800 Fri 2019-04-26 My YouTube Subscriptions #6 Ahuka
2801 Mon 2019-04-29 Guitar Set Up Part 1. NYbill
2802 Tue 2019-04-30 Mid-life (?) assessment clacke

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 23 comments in total.

Past shows

There are 4 comments on 4 previous shows:

This month's shows

There are 19 comments on 7 of this month's shows:

  • hpr2783 (2019-04-03) "The Windows "Shutdown.exe" Command Explained" by Claudio Miranda.
    • Comment 1: Bubba on 2019-04-04: "Shutdown.exe command"
    • Comment 2: ClaudioM on 2019-04-06: "Also Useful with PsExec from Sysinternals Suite"

  • hpr2784 (2019-04-04) "The Yamaha Disklavier" by Jon Kulp.
    • Comment 1: tuturto on 2019-04-04: "music to ears"
    • Comment 2: Jan on 2019-04-04: "Translations"
    • Comment 3: Jon Kulp on 2019-04-04: "Ok but it wasn't the "Well-Tempered Piano""
    • Comment 4: Gavtres on 2019-04-05: "So cool!"
    • Comment 5: Dave Morriss on 2019-04-05: "What a wonderful device!"
    • Comment 6: Guy on 2019-04-06: "How far away are you?"
    • Comment 7: Jon Kulp on 2019-04-06: ""or" not "of""
    • Comment 8: Windigo on 2019-04-14: "Library of Congress"
    • Comment 9: Jon Kulp on 2019-04-15: "A great summer job"
    • Comment 10: Jon Kulp on 2019-04-18: "Older near-perfect player pianos"

  • hpr2787 (2019-04-09) "NodeJS Part 1" by operat0r.
    • Comment 1: tuturto on 2019-04-10: "looking for more"

  • hpr2789 (2019-04-11) "Pacing In Storytelling" by lostnbronx.
    • Comment 1: tuturto on 2019-04-11: "what about non-fictional stories"

  • hpr2793 (2019-04-17) "bash coproc: the future (2009) is here" by clacke.
    • Comment 1: Dave Morriss on 2019-04-22: "I really enjoyed this!"

  • hpr2796 (2019-04-22) "IRS,Credit Freezes and Junk Mail Ohh My!" by operat0r.
    • Comment 1: cogoman on 2019-04-25: "Credit card security"

  • hpr2798 (2019-04-24) "Should Podcasters be Pirates ?" by knightwise.
    • Comment 1: tuturto on 2019-04-24: "Yarrr, record me episodes"
    • Comment 2: Dave Morriss on 2019-04-27: "Memories of early podcasts and pirate radio"
    • Comment 3: DudeNamedBen on 2019-04-29: "Da Podfather, Adam Curry"

Mailing List discussions

Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the Mail 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:

http://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-April/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.

Any other business

HPR on Wikipedia

Please see the draft at https://en.wikipedia.org/w/index.php?title=Draft:Hacker_Public_Radio

If you are not already a host, then please help improve the site.

Tags and Summaries

Thanks to the following contributor for sending in updates in the past month: Tony Hughes

Over the period tags and/or summaries have been added to 36 shows which were without them.

If you would like to contribute to the tag/summary project visit the summary page at https://hackerpublicradio.org/report_missing_tags.php and follow the instructions there.


Previous five weeks

hpr2805 :: My 50th Show hosted by Tony Hughes AKA TonyH1212

Released: 2019-05-03. Duration: 00:17:44. Flag: Clean.
Tags: HPR, Linacityux, podcasting, Audacity.
This is a review of the other 49 shows I've posted in the last 3 years

hpr2804 :: Awk Part 13: Fix-Width Field Processing hosted by b-yeezi

Released: 2019-05-02. Duration: 00:06:21. Flag: Explicit. Series: Learning Awk.
Tags: bash,linux,cli,commandline,awk.
In this episode, I discuss how to deal with fix-width field text files using Awk

hpr2803 :: Update on my Raspi 3 B OpenMedia Vault and Next Cloud instances hosted by JWP

Released: 2019-05-01. Duration: 00:07:29. Flag: Explicit.
Tags: Raspberry Pi,NextCloud,openmediavault.
A short podcast on how my little home servers are working or not

hpr2802 :: Mid-life (?) assessment hosted by clacke

Released: 2019-04-30. Duration: 00:16:31. Flag: Clean.
Tags: life, kids, work, medicine, future.
It seems life goes faster and faster and then turns around and goes slower and slower

hpr2801 :: Guitar Set Up Part 1. hosted by NYbill

Released: 2019-04-29. Duration: 00:28:44. Flag: Clean.
Tags: Guitar, DIY.
NYbill talks about setting up a guitar.

hpr2800 :: My YouTube Subscriptions #6 hosted by Ahuka

Released: 2019-04-26. Duration: 00:19:29. Flag: Clean. Series: YouTube Subscriptions.
Tags: YouTube, Channels, Subscriptions.
Part six of my list of subscribed channels

hpr2799 :: building an arduino programmer hosted by Brian in Ohio

Released: 2019-04-25. Duration: 00:20:12. Flag: Clean. Series: Arduino and related devices.
Tags: Arduino,ArduinoISP.
turn an arduino nano into a programmer

hpr2798 :: Should Podcasters be Pirates ? hosted by knightwise

Released: 2019-04-24. Duration: 00:12:05. Flag: Explicit.
Tags: podcast,pirate radio,decentralisation.
Knightwise waxes nostalgically on the early days of podcasting and wonders if we all sold out?

hpr2797 :: Writing Web Game in Haskell - Simulation at high level hosted by tuturto

Released: 2019-04-23. Duration: 00:25:47. Flag: Clean. Series: Haskell.
Tags: haskell, persistent.
tuturto gives overview of simulation in their 4x game

hpr2796 :: IRS,Credit Freezes and Junk Mail Ohh My! hosted by operat0r

Released: 2019-04-22. Duration: 00:12:26. Flag: Clean.
Tags: IRS,Credit Freeze,Junk Mail,hacking.
IRS Credit Freezes and Junk Mail

hpr2795 :: Dead Earth hosted by klaatu

Released: 2019-04-19. Duration: 00:36:50. Flag: Clean. Series: Tabletop Gaming.
Tags: RPG,Tabletop Game,Dead Earth.
A review of a 20-year old, GNU Free Documentation Licensed, RPG about post-apocalyptic turmoil

hpr2794 :: Interview with Martin Wimpress hosted by Yannick the french guy from Switzerland

Released: 2019-04-18. Duration: 00:40:12. Flag: Clean. Series: Interviews.
Tags: ubuntu, mate, ubuntu mate, martin wimpress, raspberry pi, desktop environment, linux.
In this episode, Yannick talks with Martin Wimpress about the Ubuntu MATE project

hpr2793 :: bash coproc: the future (2009) is here hosted by clacke

Released: 2019-04-17. Duration: 00:21:16. Flag: Clean. Series: Bash Scripting.
Tags: bash, coproc, subshell.
clacke discovers bash's coproc keyword and explains some toy examples

hpr2792 :: Playing around with text to speech synthesis on Linux hosted by Jeroen Baten

Released: 2019-04-16. Duration: 00:20:03. Flag: Clean. Series: Sound Scapes.
Tags: speech synthesis linux.
Playing around with different text to speech programs to see what is possible.

hpr2791 :: LUKS like truecrypt hosted by klaatu

Released: 2019-04-15. Duration: 00:25:23. Flag: Clean. Series: Privacy and Security.
Tags: encryption.
Klaatu demonstrates how to use LVM and cryptsetup to create and use portable encrypted filesystems

hpr2790 :: My YouTube Subscriptions #5 hosted by Ahuka

Released: 2019-04-12. Duration: 00:20:06. Flag: Clean. Series: YouTube Subscriptions.
Tags: YouTube, Channels, Subscriptions.
Part five of my list of subscribed channels

hpr2789 :: Pacing In Storytelling hosted by lostnbronx

Released: 2019-04-11. Duration: 00:16:38. Flag: Clean. Series: Random Elements of Storytelling.
Tags: stories, storytelling, pacing, lostnbronx.
Lostnbronx takes a stab at explaining why the pace of your story matters.

hpr2788 :: Looping in Haskell hosted by tuturto

Released: 2019-04-10. Duration: 00:47:28. Flag: Clean. Series: Haskell.
Tags: haskell, programming.
tuturto describes some loop-like constructs in Haskell

hpr2787 :: NodeJS Part 1 hosted by operat0r

Released: 2019-04-09. Duration: 00:10:13. Flag: Clean.
Tags: NodeJS,puppeteer,programing,Javascript.
I don't know Javascript do ?

hpr2786 :: My YouTube Channels hosted by Tony Hughes AKA TonyH1212

Released: 2019-04-08. Duration: 00:07:03. Flag: Clean. Series: YouTube Subscriptions.
Tags: Linux, Computers, YouTube, Gaming, Electronics, Audacity.
A short show about some of my YouTube channels inspired by Ahuka

hpr2785 :: What is uCPE hosted by JWP

Released: 2019-04-05. Duration: 00:06:39. Flag: Explicit.
Tags: Network Function Virtualization,NFV,Universal customer premises equipment,uCPE.
A short talk on telco networking standards

hpr2784 :: The Yamaha Disklavier hosted by Jon Kulp

Released: 2019-04-04. Duration: 00:24:00. Flag: Explicit.
Tags: Music, Piano, Keyboard, Musical Instruments, Player Pianos, Recording Devices.
I talk about the Yamaha Disklavier DKC500RW that's in my office at work

hpr2783 :: The Windows "Shutdown.exe" Command Explained hosted by Claudio Miranda

Released: 2019-04-03. Duration: 00:15:23. Flag: Clean.
Tags: shutdown, windows, commandprompt, cmd.
A rundown of the Windows "shutdown.exe" command.

hpr2782 :: Never stop gaming hosted by klaatu

Released: 2019-04-02. Duration: 00:21:17. Flag: Clean. Series: Tabletop Gaming.
Tags: rpg,dm,gm,game master,dungeon master,dnd.
Ways to feed the gaming impulse, even when you can't game

hpr2781 :: HPR Community News for March 2019 hosted by HPR Volunteers

Released: 2019-04-01. Duration: 00:59:24. Flag: Explicit. Series: April Fools Shows.
Tags: Community News.
HPR Volunteers talk about shows released and comments posted in March 2019

hpr2780 :: My SBC Nextcloud Install Pt. 1 - Hardware hosted by minnix

Released: 2019-03-29. Duration: 00:22:55. Flag: Clean.
Tags: nextcloud,single board computers,home server,sbc,arm.
How I built my self-enclosed Nextcloud server using a single board computer and a RAID enclosure

hpr2779 :: HTTP, IPFS, and torrents hosted by aldenp

Released: 2019-03-28. Duration: 00:11:51. Flag: Clean.
Tags: HTTP, IPFS, torrents.
Replacing the web with new, decentralized protocols

hpr2778 :: Functor and applicative in Haskell hosted by tuturto

Released: 2019-03-27. Duration: 00:30:41. Flag: Clean. Series: Haskell.
Tags: haskell, functor, applicative.
Brief introduction on functor and applicative patterns in Haskell and where they can be used

hpr2777 :: The quest for the perfect laptop. hosted by knightwise

Released: 2019-03-26. Duration: 00:31:07. Flag: Clean.
Tags: computer, hardware, geek, buy.
Knightwise is out looking for a new laptop and describes what he is looking for and why.

hpr2776 :: Sub-Plots In Storytelling hosted by lostnbronx

Released: 2019-03-25. Duration: 00:18:13. Flag: Clean. Series: Random Elements of Storytelling.
Tags: stories, storytelling, sub-plots, lostnbronx.
Lostnbronx looks at the importance of tightly-structured subplots in storytelling.

hpr2775 :: My YouTube Subscriptions #4 hosted by Ahuka

Released: 2019-03-22. Duration: 00:19:58. Flag: Clean. Series: YouTube Subscriptions.
Tags: YouTube, Channels, Subscriptions.
Part four of my list of subscribed channels

hpr2774 :: CJDNS and Yggdrasil hosted by aldenp

Released: 2019-03-21. Duration: 00:10:29. Flag: Clean.
Tags: CJDNS,Yggdrasil.
A summary of the things I like about CJDNS and Yggdrasil, and the places I think they could improve.

hpr2773 :: Lead/Acid Battery Maintenance and Calcium Charge Voltage hosted by Floyd C Poynter

Released: 2019-03-20. Duration: 00:31:09. Flag: Clean.
Tags: automotive, battery, maintenance, charger.
Discussion on installing new Calcium battery into older vehicle and resulting maintenance issues.

hpr2772 :: My applications and software part 3 hosted by Tony Hughes AKA TonyH1212

Released: 2019-03-19. Duration: 00:09:45. Flag: Clean.
Tags: Software, applications, utilities.
A short show about the software I use in Linux Mint

hpr2771 :: Embedding hidden text in Djvu files hosted by klaatu

Released: 2019-03-18. Duration: 00:41:16. Flag: Clean.
Tags: pdf, ebook, bloat, djvu.
Part 2 of Klaatu's Djvu mini series

hpr2770 :: Navigating the maze of RPG books hosted by klaatu

Released: 2019-03-15. Duration: 00:31:13. Flag: Clean. Series: Tabletop Gaming.
Tags: book,rpg,game.
There are so many kinds of RPG books out there, where do you start? Klaatu tells all!

hpr2769 :: Quick Review of the AstroAI WH5000A Multimeter hosted by NYbill

Released: 2019-03-14. Duration: 00:24:15. Flag: Clean.
Tags: multimeter, electronics, test equipment, hardware review.
NYbill reviews, yet another, inexpensive multimeter.

hpr2768 :: Writing Web Game in Haskell - Planetary statuses hosted by tuturto

Released: 2019-03-13. Duration: 00:18:42. Flag: Clean. Series: Haskell.
Tags: haskell.
tuturto describes system for recording planetary statuses in their game

hpr2767 :: Djvu and other paperless document formats hosted by klaatu

Released: 2019-03-12. Duration: 00:32:15. Flag: Clean.
Tags: pdf, ebook, bloat, djvu.
A tutorial on how to read and generate djvu files

hpr2766 :: Disk enumeration on Linux hosted by klaatu

Released: 2019-03-11. Duration: 00:24:03. Flag: Clean.
Tags: fdisk,dmesg,lsblk,udisks.
Klaatu reviews the various commands used to enumerate drives on Linux

Older Shows

Get a full list of all our shows.