Site Map - skip to main content - dyslexic font - mobile - text - print

Hobby 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, 9 months, 4 days ago. Our shows are produced by listeners like you and can be on any topic that "are of interest to hobbyists". If you listen to HPR then please consider contributing one show a year. If you record your show now it could be released in 22 days.

Meet the team

Please help out tagging older shows !

Latest Shows

hpr2836 :: Interview with Wendy Hill

In this episode, Yannick talks with Wendy Hill about her use of opensource software in her job

Hosted by Yannick on 2019-06-17 is flagged as Clean and released under a CC-BY-SA license.
Tags: opensource, photography, lubuntu, darktable, rapidphotodownloader, displaycal, gimp.
Listen in ogg, spx, or mp3 format. Series: Interviews | Comments (0)

Wendy Hill is a photographer. And by that, I don’t mean she takes pictures of her kids on Sundays at the baseball game. Although, if she was to do that, it would probably turn out to be great pictures. No, Wendy is a professional photographer, and to run her business, she uses free and opensource software.

Wait… no Photoshop? No Illustrator? How is that possible? Wendy joined me on Mumble earlier this year – that’s 2019 for you, visitors from the future – and we discussed about that.

hpr2835 :: HPR NYE Show 2018-2019 part 2

The HPR community comes together to say happy new year and chat

Hosted by Honkeymagoo on 2019-06-14 is flagged as Clean and released under a CC-BY-SA license.
Tags: HPR new years show, new years, community.
Listen in ogg, spx, or mp3 format. Comments (0)

Hacker Public Radio New Years Show episode 2

hpr2834 :: My favorite desktop and android applications

Moving right along with shows from the requests list, I combine two program lists.

Hosted by Christopher M. Hobbs on 2019-06-13 is flagged as Clean and released under a CC-BY-SA license.
Tags: programs, linux, android, apps, applications, lists, favorites.
Listen in ogg, spx, or mp3 format. Comments (0)


  • xfce4-terminal
  • globaltime (orage)
  • xfce4 notes
  • thunar
  • firefox
  • Emacs
  • claws-mail
  • weechat
  • mupdf
  • gtk-redshift
  • asunder
  • keepassx
  • lucky backup
  • virtualbox/kvm
  • xlog
  • gpredict
  • arduino ide
  • tor browser bundle
  • ledger wallet
  • xmame
  • freedoom
  • rRootage
  • dia
  • fbreader
  • gnumeric/libreoffice
  • mandelbulber2
  • gqrx
  • transmission
  • xastir
  • youtube-dl gui
  • zenmap
  • mpv


  • LineageOS
  • built in phone
  • signal
  • built in fm radio
  • built in camera
  • 2048
  • acrylic paint
  • amsatdroid free
  • antennapod
  • aprsdroid
  • audiofx
  • barcode scanner
  • binaural beats
  • blockinger
  • blowtorch
  • built in calendar
  • call recorder
  • chroma doze
  • built in clock
  • cloudlibrary
  • built in contacts
  • danmaku death
  • echolink
  • equate
  • f-droid
  • fbreader
  • fennec f-droid
  • red cross first aid
  • flashlight
  • freegal music
  • gadgetbridge
  • built in gallery
  • ghost commander
  • gobandroid
  • hoopla
  • iz2uuf morse code trainer
  • libby
  • lightning
  • mobilinkd tnc
  • mupdf
  • netguard
  • o’reilly
  • orbot, orfox
  • osmand~
  • red cross pet first aid
  • plumble
  • propel graviton
  • radiodroid (
  • recorder
  • roblox
  • rpn
  • sealnote
  • sim card
  • simple world clock
  • space trader
  • spotify
  • suntimes, suntimes alarms
  • survival manual
  • termux
  • timber
  • tsumego pro
  • ttrss-reader
  • unifi
  • vlc
  • webtube
  • weechat-android
  • wifianalyzer
  • wikipedia
  • yalp store
  • yorecast

hpr2833 :: Jeroen chats with Joep Piscaer

Interviewing Joep Piscaer during Loadays in Antwerpen, Belgium

Hosted by Jeroen Baten on 2019-06-12 is flagged as Clean and released under a CC-BY-SA license.
Tags: loadays, ryan caligiuri, steve harvey.
Listen in ogg, spx, or mp3 format. Series: Interviews | Comments (1)

In this show an Interview with Joep Piscaer, recorded during the recent Loadays conference in Antwerpen, Belgium.

Schedule of recent Loadays event:

I mention the "Cut the crap podcast", made by Ryan Caligiuri.

And specifically episode 145 as an excellent example of his podcast quality:

At the end of the podcast I a refer to the "Follow your Gift" talk, by Steve Harvey.

You can find a recording of this talk on YouTube at

hpr2832 :: How I got started in Linux

This is a very brief introduction on what got me into using Linux.

Hosted by Shannon Wright on 2019-06-11 is flagged as Clean and released under a CC-BY-SA license.
Tags: linux, introduction.
Listen in ogg, spx, or mp3 format. Series: How I Found Linux | Comments (1)

This is just a brief intro into my introduction to Linux.

hpr2831 :: Interview with Robbie Ferguson

In this episode, Yannick talks with Robbie Ferguson about the Nagios Enterprise Monitoring System

Hosted by Yannick on 2019-06-10 is flagged as Clean and released under a CC-BY-SA license.
Tags: nagios, network, monitoring, opensource, singleboardcomputer, sbc, raspberrypi, odroid.
Listen in ogg, spx, or mp3 format. Series: Interviews | Comments (1)

When it comes to monitoring your network, and the machines on it, you have a lot of options. But, let’s face it : none of those are easy to implement, and configuring a monitoring tool, whether it’s an open-source or a proprietary one, is often complex and time consuming.

Well, someone took that matter into their own hands, and made NEMS. What is NEMS, how can it help us, and what infrastructure does it require? Those are a few of the questions I asked Robbie Ferguson, the maintainer of NEMS, who joined me on Easter week-end for a little chat.

hpr2830 :: HPR NYE Show 2018-2019 part 1

The HPR community comes together to say happy new year and chat

Hosted by Honkeymagoo on 2019-06-07 is flagged as Explicit and released under a CC-BY-SA license.
Tags: hpr nye, new years eve, community.
Listen in ogg, spx, or mp3 format. Comments (3)

Hacker Public Radio New Years Show episode 1

Welcome to the 7th Annual Hacker Public Radio show. It is December the 31st 2018 and the time is 10 hundred hours UTC.

"we should have bought stock"

hpr2829 :: Discussion around fair use clips on HPR

A request for comments on not publishing clips with known fair use samples

Hosted by Various Hosts on 2019-06-06 is flagged as Clean and released under a CC-BY-SA license.
Tags: HPR, Policy Change, Legal, DMCA, TWAT, Fair Use, PacketSniffers, Copyright.
Listen in ogg, spx, or mp3 format. Comments (2)

Request for comments

Hi All,

Under safe harbor provisions, we as volunteers are usually insulated from any copyright issues that may arise in the shows. "We do not vet, edit, moderate or in any way censor any of the shows on the network, we trust you to do that."

This we got by accident because "This is a long standing tradition arising from the fact that HPR is a community of peers who believe that any host has as much right to submit shows as any other."

In the show notes associated with hpr2829 on 2019-06-06, the host included the following text "For all included materials: If anyone feels they have right to any material in this show please let me know and I will comply."

This violates the HPR upload policy.

"Never include content, for example music, in your show that you do not have permission to redistribute. Try to avoid using any content in your show that can not be redistributed under a Creative Commons Attribution-ShareAlike 3.0 Unported license. If you are redistributing under another Creative Commons License or by arranged permission please make note of the restrictions when you upload your show. We can then signal that, so that others who redistribute HPR content can filter your show out."

As it was clear that they were not in compliance, I contacted the host. The host has been very helpful and has already removed some of the content but commented "There are still 2 audio clips included. I claim I can use them on the basis off fair use principles."

While the host may be correct, if they are not, then it is me and not the host that will be held responsible for posting it. I do not want that responsibility.

Under the current HPR rules I am allowed to reject this submission.

Before I do, I would appreciate as much feedback as possible on this topic so that we can gauge the opinions of the HPR Community as a whole.



The discussion thread remains open and is open to all by joining the Maillist.

hpr2828 :: Writing Web Game in Haskell - Science, part 2

tuturto continues their explanation on simulating science in a game written in Haskell

Hosted by tuturto on 2019-06-05 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)


Last time we looked how to model technology and research. This time we’ll do some actual research. I’m skipping over some of the details as the episode is long enough as it is. Hopefully it’s still possible to follow with the show notes.

Main concepts that I’m mentioning: Technology allows usage of specific buildings, ship components and such. Research unlock technologies and may have antecedents that has to be completed before the research can be started. Research cost is measure of how expensive a research is in terms of research points, which are produced by different buildings.

Earlier I modeled tech tree as Map that had Technology as keys and Research as values. I realized that this is suboptimal and will replace it at some point in the future.

Server API

There’s three resources that client can connect to. First one is for retrieving list of available research, second one for manipulating current research and last one for retrieving info on how much research points is being produced.

/api/research/available     ApiAvailableResearchR       GET
/api/research/current       ApiCurrentResearchR         GET POST DELETE
/api/research/production    ApiResearchProductionR      GET


Simulation of research is done by handleFactionResearch, which does simulation for one faction for a given date. After calculating current research point production and retrieving list of current research, function calculates progress of current researches. Unfinished ones are written back to database, while completed are moved into completed_research table. Final step is updating what research will be available in the next turn.

handleFactionResearch date faction = do
    production <- totalProduction $ entityKey faction
    current <- selectList [ CurrentResearchFactionId ==. entityKey faction ] []
    let updated = updateProgress production <$> current
    _ <- updateUnfinished updated
    _ <- handleCompleted date updated $ entityKey faction
    _ <- updateAvailableResearch $ entityKey faction
    return ()

Research point production

Research points are produced by buildings. So first step is to load all planets owned by the faction and buildings on those planets. Applying researchOutput function to each building yields a list of TotalResearchScore, which is then summed up by mconcat. We can use mconcat as TotalResearchScore is a monoid (I talked about these couple episodes ago).

totalProduction fId = do
    pnbs <- factionBuildings fId
    let buildings = join $ fmap snd pnbs
    return $ mconcat $ researchOutput . entityVal <$> buildings

researchOutput function below uses pattern matching. Instead of writing one function definition and case expression inside of it, we’re writing multiple definitions. Each of them matches building of different type. First example is definition that is used for ResearchComplex, while second one is for ParticleAccelerator. Final case uses underscore to match anything and indicate that we’re not even interested on the particular value being matched. mempty is again from our monoid definition. It is empty or unit value of monoid, which in case of TotalResearchScore is zero points in all research categories.

researchOutput Building { buildingType = ResearchComplex } =
    { totalResearchScoreEngineering = ResearchScore 10
    , totalResearchScoreNatural = ResearchScore 10
    , totalResearchScoreSocial = ResearchScore 10

researchOutput Building { buildingType = ParticleAccelerator } =
    { totalResearchScoreEngineering = ResearchScore 15
    , totalResearchScoreNatural = ResearchScore 15
    , totalResearchScoreSocial = ResearchScore 0

researchOutput _ = mempty

Updating progress

Moving research forward is more complex looking function. There’s bunch of filtering and case expressions going on, but the idea is hopefully clear after a bit of explanation.

updateProgress takes two parameters, total production of research points and current research that is being modified. This assumes that there are only one of each categories of research going on at any given time. If there were more, we would have to divide research points between them by some logic. Function calculates effect of research points on current research and produces a new current research that is the end result.

Perhaps the most interesting part is use of lenses. For example, line entityValL . currentResearchProgressL +~ engResearch $ curr means that curr (which is Entity CurrentResearch) is used as starting point. First we reach to data part of Entity and then we focus on currentResearchProgress and add engResearch to it. This results a completely new Entity CurrentResearch being constructed, which is otherwise identical with the original, but the currentResearchProgress has been modified. Without lenses we would have to do this destructuring and restructuring manually.

updateProgress :: TotalResearchScore ResearchProduction -> Entity CurrentResearch -> Entity CurrentResearch
updateProgress prod curr =
    case researchCategory <$> research of
        Just (Engineering _) ->
            entityValL . currentResearchProgressL +~ engResearch $ curr

        Just (NaturalScience _) ->
            entityValL . currentResearchProgressL +~ natResearch $ curr

        Just (SocialScience _) ->
            entityValL . currentResearchProgressL +~ socResearch $ curr

        Nothing ->
        research = Map.lookup (currentResearchType . entityVal $ curr) techMap
        engResearch = unResearchScore $ totalResearchScoreEngineering prod
        natResearch = unResearchScore $ totalResearchScoreNatural prod
        socResearch = unResearchScore $ totalResearchScoreSocial prod

Writing unfinished research back to database is short function. First we find ones that hasn’t been finished by filtering with (not . researchReady . entityVal) and then we apply replace to write them back one by one.

updateUnfinished updated = do
    let unfinished = filter (not . researchReady . entityVal) updated
    mapM (\x -> replace (entityKey x) (entityVal x)) unfinished

Handling finished research starts by finding out which ones were actually completed by filtering with (researchReady . entityVal) and their research type with currentResearchType . entityVal. Rest of the function is all about database actions: creating entries into completed_research and adding news entries for each completed research, then removing entries from current_research and available_research.

handleCompleted date updated fId = do
    let finished = filter (researchReady . entityVal) updated
    let finishedTech = currentResearchType . entityVal <$> finished
    insertMany_ $ currentToCompleted date . entityVal <$> finished
    insertMany_ $ researchCompleted date fId . (currentResearchType . entityVal) <$> finished
    deleteWhere [ CurrentResearchId <-. fmap entityKey finished ]
    deleteWhere [ AvailableResearchType <-. finishedTech
                , AvailableResearchFactionId ==. fId ]

Available research

Figuring out what researches will be available for the next turn takes several steps. I won’t be covering random numbers in detail, they’re interesting enough for an episode on their own. It’s enough to know that g <- liftIO getStdGen gets us a new random number generator that is seeded by current time.

updateAvailableResearch starts by loading available research and current research for the faction and initializing a new random number generator. g can be used multiple times, but it’ll always return same sequence of numbers. Here it doesn’t matter, but in some cases it might. getR is helper function I wrote that uses random number generator to pick n entries from a given list. n in our case is hard coded to 3, but later on I’ll add possibility for player to research technologies that raise this limit. newAvailableResearch (we’ll look into its implementation closer just in a bit) produces a list of available research for specific research category. These lists are combined with <> operator and written into database with rewriteAvailableResearch.

updateAvailableResearch fId = do
    available <- selectList [ AvailableResearchFactionId ==. fId ] []
    completed <- selectList [ CompletedResearchFactionId ==. fId ] []
    g <- liftIO getStdGen
    let maxAvailable = ResearchLimit 3
    -- reusing same g should not have adverse effect here
    let engCand = getR g (unResearchLimit maxAvailable) $ newAvailableResearch isEngineering maxAvailable available completed
    let natCand = getR g (unResearchLimit maxAvailable) $ newAvailableResearch isNaturalScience maxAvailable available completed
    let socCand = getR g (unResearchLimit maxAvailable) $ newAvailableResearch isSocialScience maxAvailable available completed
    rewriteAvailableResearch fId $ engCand <> natCand <> socCand

newAvailableResearch is in charge of figuring out what, if any, new research should be available in the next turn. In case where amount of currently available research is same or greater than research limit, empty list is returned, otherwise function calculates candidates and returns them. Logic for that is following:

  • candidates are research of specific category of those that has been unlock and unresearched
  • unlocked and unresearched are unlocked ones that are in list of known technology
  • unlocked research are ones with antecedents available in tech tree
  • known technology are ones in list of completed research

and complete definition of the function is shown below:

newAvailableResearch selector limit available completed =
    if ResearchLimit (length specificCategory) >= limit
        then []
        else candidates
        specificCategory = filter (availableResearchFilter selector) available
        candidates = filter (selector . researchCategory) unlockedAndUnresearched
        unlockedAndUnresearched = filter (\x -> researchType x `notElem` knownTech) unlockedResearch
        unlockedResearch = filter (antecedentsAvailable knownTech) $ unTechTree techTree
        knownTech = completedResearchType . entityVal <$> completed

availableResearchFilter f x =
    maybe False (f . researchCategory) res
        res = Map.lookup (availableResearchType $ entityVal x) techMap

Final step of the simulation of research is to update database with new available research. mkUniq is helper function that removes duplicate elements from a list. It’s used in rewriteAvailableResearch function to make a list that contains all unique top research categories (engineering, natural sciences and social sciences). If the resulting list isn’t empty, we’ll use it to remove all available research for those top categories and insert new available research.

rewriteAvailableResearch fId res = do
    let cats = mkUniq $ fmap (topCategory . researchCategory) res
    unless (null cats) $ do
        deleteWhere [ AvailableResearchFactionId ==. fId
                    , AvailableResearchCategory <-. cats ]
        insertMany_ $ researchToAvailable fId <$> res

Now everything is ready for next round of simulation.

hpr2827 :: Unscripted ramblings from my garage about my first CTF event

I briefly discss a CTF event I was invited to and what I plan to bring with me.

Hosted by Christopher M. Hobbs on 2019-06-04 is flagged as Clean and released under a CC-BY-SA license.
Tags: ctf, hacking, security, infosec, events, conventions, gear.
Listen in ogg, spx, or mp3 format. Comments (2)

Unscripted ramblings about an upcoming CTF event.

Hak5 items mentioned (

  • WiFi Pineapple
  • Bash Bunny (erroneously referred to as a ‘rabbit’)
  • USB Rubber Ducky
  • Packet Squirrel
  • LAN Turtle (unmentioned but I’ll bring one)

Software mentioned:

My info:

Previous five weeks

hpr2826 :: HPR Community News for May 2019 hosted by HPR Volunteers

Released: 2019-06-03. Duration: 00:58:17. Flag: Explicit. Series: HPR Community News.
Tags: Community News.
HPR Volunteers talk about shows released and comments posted in May 2019

hpr2825 :: More text to speech trials hosted by Ken Fallon

Released: 2019-05-31. Duration: 00:04:46. Flag: Clean.
Tags: gTTS, Mimic, tts.
A supplementary show to Jeroens episode 2792

hpr2824 :: Gnu Awk - Part 15 hosted by Dave Morriss

Released: 2019-05-30. Duration: 00:31:56. Flag: Explicit. Series: Learning Awk.
Tags: Awk utility, Awk Language, gawk, redirection.
Redirection of input and output - part 2

hpr2823 :: Gentoo and why I use it hosted by aldenp

Released: 2019-05-29. Duration: 00:12:28. Flag: Clean.
Tags: Gentoo.
I talk about what Gentoo is, and why I love it so much.

hpr2822 :: What's in the Box! Part 1 hosted by NYbill

Released: 2019-05-28. Duration: 00:21:05. Flag: Clean. Series: Hobby Electronics.
Tags: DIY, Soldering, Guitar, electronics.
NYbill opens a mystery box he found in the mail box.

hpr2821 :: Interviewing some exhibitors at the 2019 event hosted by Jeroen Baten

Released: 2019-05-27. Duration: 00:46:24. Flag: Clean. Series: Interviews.
Tags: vcfe, vintage, computers, exhibition, munich, germany.
I interviewed some of the exhibitors at the recent event in Munich, Germany.

hpr2820 :: 29 - CERT Home Security Tips hosted by Ahuka

Released: 2019-05-24. Duration: 00:22:17. Flag: Clean. Series: Privacy and Security.
Tags: Home Networks, Security.
What CERT recommends to mitigate security and privacy threats to your home network.

hpr2819 :: Reply to Knightwise - podcasts hosted by Ahuka

Released: 2019-05-23. Duration: 00:08:13. Flag: Clean. Series: Podcast recommendations.
Tags: podcasts, narrowcasting, broadcasting.
I provide a slightly different view on podcasts to that recently given by Knightwise.

hpr2818 :: Writing Web Game in Haskell - Science, part 1 hosted by tuturto

Released: 2019-05-22. Duration: 00:43:26. Flag: Clean. Series: Haskell.
Tags: Haskell.
tuturto explains types and data they used to model science in their Haskell game

hpr2817 :: Are you successful? Click to find out more! hosted by clacke

Released: 2019-05-21. Duration: 00:04:41. Flag: Clean.
Tags: success, self-care.
The answer may surprise you!

hpr2816 :: Gnu Awk - Part 14 hosted by Dave Morriss

Released: 2019-05-20. Duration: 00:22:37. Flag: Explicit. Series: Learning Awk.
Tags: Awk utility, Awk Language, gawk,redirection.
Redirection of input and output - part 1

hpr2815 :: Copy pasta hosted by klaatu

Released: 2019-05-17. Duration: 00:38:20. Flag: Clean.
Tags: copy,paste,xsel.
Copying and pasting on Linux: X selections, xsel, clipboard managers, GPM, screen, and more

hpr2814 :: Spectre and Meltdown and OpenBSD and our future hosted by Zen_Floater2

Released: 2019-05-16. Duration: 00:20:51. Flag: Clean.
A discussion about CPU's and our future with them, where are we going?

hpr2813 :: Should we dump the linux Desktop. hosted by knightwise

Released: 2019-05-15. Duration: 00:20:29. Flag: Explicit.
Tags: linux, desktop, rant.
Knightwise wonders if we should let go of the linux desktop environments and focus on cross-platform

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

Released: 2019-05-14. Duration: 00:08:04. Flag: Clean.
Tags: 5g, health, radiation, pseudoscience.
Apply Betteridge’s Law of Headlines to find out the answer

hpr2811 :: Interview with Alan Pope hosted by Yannick

Released: 2019-05-13. Duration: 01:29:47. Flag: Clean. Series: Interviews.
Tags: ubuntu, snap, snapcraft, flatpack, linux, appimage, alan pope, popey.
In this episode, Yannick talks with Alan Pope about snaps, snapcraft and all things related

hpr2810 :: Wi-Fi on Android hosted by Ken Fallon

Released: 2019-05-10. Duration: 00:07:42. Flag: Explicit.
Tags: Android, fdroid, lineageos, AFWall+, Wi-Fi, wpa_supplicant.conf, termux.
Ken fixes an Android Firewalled Wi-Fi connection that reports no Internet and won’t connect

hpr2809 :: The Blue Oak Model License and Its One Big Gotcha hosted by Joel D

Released: 2019-05-09. Duration: 00:21:08. Flag: Clean.
Tags: legal, licensing.
Introducing and examining a new and elegant permissive software license.

hpr2808 :: Haskell function types hosted by tuturto

Released: 2019-05-08. Duration: 00:24:29. Flag: Clean. Series: Haskell.
Tags: haskell.
tuturto gives overview of function types in Haskell

hpr2807 :: Are bash local variables local? hosted by clacke

Released: 2019-05-07. Duration: 00:11:01. Flag: Clean. Series: Bash Scripting.
Tags: bash, perl, scope, dynamic scope, lexical scope.
A lesson on dynamic scope vs lexical scope

hpr2806 :: HPR Community News for April 2019 hosted by HPR Volunteers

Released: 2019-05-06. Duration: 01:54:00. Flag: Explicit. Series: HPR Community News.
Tags: Community News.
HPR Volunteers talk about shows released and comments posted in April 2019

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

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 ?

Older Shows

Get a full list of all our shows.