Site Map - skip to main content

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, 14 years, 2 months, 6 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 20 days.

Meet the team

Please help out tagging older shows !


Latest Shows


hpr2949 :: Grin and Beam: The 2 major mimblewimble blockchains

Grin and Beam are two mimblewimble implementations that are very different & we take a look at both

Hosted by mightbemike on 2019-11-21 is flagged as Explicit and released under a CC-BY-SA license.
Tags: blockchain, privacy.
Listen in ogg, spx, or mp3 format. Series: Blockchain | Comments (0)

Last time we reviewed the mimblewimble protocol for blockchain networks. This is an innovative protocol focused on privacy and scalability.

In this episode we take a closer look at the two major implementations of mimblewimble, called Grin and Beam. They are both interesting projects that take very different approaches, yet both have managed to launch working blockchains that preserve the core strengths of the protocol.


hpr2948 :: Testing with Haskell

Introduction on HSpec and QuickCheck

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

Intro

I have liked writing automated tests for a long time, so it’s not a surprise that I end up writing them in Haskell too. This is very broad topic, so this episode only scratches the surface.

HSpec

HSpec is testing framework that automatically detects tests, like most of the modern systems. It supports hierarchies, so one can organize tests by feature for example.

spec :: Spec
spec = do
    describe "Very important feature" $ do
        it "Execution should be error free" $ do
            ...

        it "Flux capacitors can be charged" $ do
            ...

    describe "Somewhat less important feature" $ do
        ...

Unit test

Unit test tests a single case with fixed set of inputs. With pure functions these are a pleasure to write as they’re really just data in, data out, verify results. Below is two examples:

spec :: Spec
spec = do
    describe "Markov chain configuration" $ do
        it "Adding new starting element to empty configuration creates item with frequency of 1" $ do
            let config = addStart ("AA" :: DT.Text) emptyConfig
            config ^? (configStartsL . _head . itemFreqL) `shouldBe` Just 1
            config ^? (configStartsL . _head . itemItemL . _Just) `shouldBe` Just "AA"

        it "Adding same element twice to empty configuration creates item with frequency of 2" $ do
            let config = addStart "AA" $
                         addStart ("AA" :: DT.Text) emptyConfig
            config ^? (configStartsL . _head . itemFreqL) `shouldBe` Just 2
            config ^? (configStartsL . _head . itemItemL . _Just) `shouldBe` Just "AA"

Both are for testing configuring markov chains. First one checks that adding a starting element in empty configuration results correct item with correct weight being added. Second checks that adding same starting element twice results weight of 2.

Both tests use lenses for reading nested data structure. Episode doesn’t cover them much at all, as it’s enough to know that (configStartsL . _head . itemFreqL) focuses on starting elements of configuration, selects first item of the list and then selects frequency of that item. Lenses can also be used for modifying data and they don’t have to focus on only one element.

Unit tests are easy enough to write, they verify single thing about the unit being tested and are usually super fast to run and not error prone.

Property based test

Property based tests are used to check that a certain property holds with randomly generated input parameters. I’m using HSpec as testing framework and QuickCheck as tool for generating test data:

spec :: Spec
spec = do
    describe "planets" $ do
        describe "food" $ do
            it "food requirement for positive amount of population is more than zero" $ do
                forAll positivePopulation $ \x -> foodRequirement x  > RawResource 0

            it "food base production for farms is equal or greater than their amount" $ do
                forAll someFarms $ \x -> (sum (fmap foodBaseProduction x)) > (RawResource $ length x)

Above we have to tests. First one checks that with any non-zero population, foodRequirement is greater than 0. Second one check that with any positive amount of farm, foodBaseProduction is greater than amount of the farms.

positivePopulation is Generator, that is used by QuickCheck to generate random data for testing. Its definition is shown below:

singlePopulation :: Gen PlanetPopulation
singlePopulation = do
    let aPlanetId = toSqlKey 0
    let aRaceId = toSqlKey 0
    aPopulation <- arbitrary `suchThat` \x -> x > 0
    return $ PlanetPopulation aPlanetId aRaceId aPopulation

positivePopulation :: Gen [PlanetPopulation]
positivePopulation = do
    k <- arbitrary `suchThat` \x -> x > 0
    vectorOf k singlePopulation

Generated data can be really simple or very complex. Generating complex data is often convenient to break into smaller steps and write generators for them.

Property based tests are somewhat harder to write than unit tests, but they can potentially cover edge cases that might otherwise not been discovered.

Working with database

All tests shown so far have been testing pure code, that is, code that is data in, data out. When database is introduced, things get more complicated. Suddenly there’s much more possibilities for errors. Below is an example of such a test:

spec :: Spec
spec = withApp $ do

    describe "Status handling"  $ do
        describe "Planet statuses"  $ do
            it "Expired planet statuses are removed and news created" $ do

                sId <- runDB $ insert $ StarSystem
                        { starSystemName = "Aldebaraan"
                        , starSystemCoordX = 10
                        , starSystemCoordY = 20
                        , starSystemRulerId = Nothing
                        }

                fId <- runDB $ insert $ Faction
                        { factionName = "Star lords"
                        , factionHomeSystem = sId
                        , factionBiologicals = 10
                        , factionMechanicals = 10
                        , factionChemicals = 10
                        }

                pId1 <- runDB $ insert $ Planet
                        { planetName = "New Earth"
                        , planetPosition = 3
                        , planetStarSystemId = sId
                        , planetOwnerId = Just fId
                        , planetGravity = 1.0
                        , planetRulerId = Nothing
                        }

                _ <- runDB $ insert $ PlanetStatus
                        { planetStatusPlanetId = pId1
                        , planetStatusStatus = GoodHarvest
                        , planetStatusExpiration = Just 20201
                        }

                let status = Simulation 20201
                _ <- runDB $ insert status

                news <- runDB $ removeExpiredStatuses (simulationCurrentTime status)

                statuses <- runDB $ selectList [ PlanetStatusPlanetId ==. pId1 ] []
                loadedNews <- runDB $ selectList [] [ Asc NewsDate ]

                liftIO $ statuses `shouldSatisfy` (\x -> length x == 0)
                liftIO $ news `shouldSatisfy` (\x -> length x == 1)
                liftIO $ loadedNews `shouldSatisfy` (\x -> length x == 1)

There’s a lot more code that had to be written for this test and majority of it is for setting up database state. The test if for ensuring that when good harvest boost expires, it is removed from database and respective news article is created.

These kinds of tests have a lot more code and are much more slower to run because of the communication with a database. There’s also more cases where something can go wrong. But in the end, these kinds of tests are needed if one wants to verify that interaction with database is working as planned.

Testing API

Last example is about testing REST API. There are two tests, where the first one is checking that proper access control is in place and second one checks that pending messages are correctly retrieved.

spec :: Spec
spec = withApp $ do
    describe "Message handling" $ do
        it "unauthenticated user can't access messages" $ do
            _ <- get ApiMessageR
            statusIs 401

        it "pending messages are loaded" $ do
            (pId, fId) <- setupPerson
            _ <- runDB $ insert $ researchCompleted 25250 fId HighSensitivitySensors
            user <- createUser "Pete" (Just pId)
            authenticateAs user
            _ <- get ApiMessageR
            resp <- getResponse
            let jsonM = join (decode <$> simpleBody <$> resp) :: Maybe Value

            assertEq "message tag"
                     (jsonM ^? (_Just . _Array . _head . key "tag" . _String))
                     (Just "ResearchCompleted")
            assertEq "star date"
                     (jsonM ^? (_Just . _Array . _head . key "starDate" . _Integer))
                     (Just 25250)
            assertEq "technology"
                     (jsonM ^? (_Just . _Array . _head . key "contents" . key "Technology" . _String))
                     (Just "HighSensitivitySensors")

            statusIs 200

Here extra complication is created by the fact that many features of the system are behind authentication and authorization. Luckily Yesod comes with helper function authenticateAs, that allows code to authenticate when system is running in development mode.

These test are even slower than any of the previous ones, but on the other hand, they test whole chain from user interaction to database and back.

In closing

There’s lots of things that I couldn’t cover in such a short time, like various types of tests: UI testing, performance testing, security testing, long running testing…, the list goes on and on. But hopefully this episode gave you ideas what kinds of tests one can write and how to get started doing so using Haskell.

Best way to reach me is email or at fediverse, where I’m tuturto@mastodon.social.


hpr2947 :: The Mimblewimble Protocol

mimblewimble is a new blockchain protocol for scalability, privacy and fungilbility

Hosted by mightbemike on 2019-11-19 is flagged as Clean and released under a CC-BY-SA license.
Tags: blockchain, privacy.
Listen in ogg, spx, or mp3 format. Series: Blockchain | Comments (0)

Financial privacy is critical for adoption of cryptocurrency as a means of exchange. Individuals worry about employers monitoring their spending details, insurers increasing rates based on purchases and landlords raising rents when they get a promotion. Businesses can only operate using cryptocurrency if they can prevent disclosure of vendor payments, rates paid to suppliers, payroll details, and so on. At the same time, they need to selectively disclose financial data to governments and might need to demonstrate compliance in some industries.

Mimblewimble is a new protocol that uses cryptography to achieve striking reductions in blockchain size, so users can run a full node on low powered devices like phones. It offers the strongest privacy protection assurances around, through a variety of clever tricks. For one thing, transaction history is not recorded, which also results in a smaller blockchain. There are no addresses and no transaction amounts are recorded.

We’re not going to focus on the cryptography, although it’s a fascinating example of just how much progress is being made in recent years. We’ll focus instead on what makes this mysterious network protocol unique among cryptocurrencies.


hpr2946 :: Sunday at OggCamp Manchester 2019

Interviews and chat from the UK's largest FLOSS event.


Hosted by Ken Fallon on 2019-11-18 is flagged as Clean and released under a CC-BY-SA license.
Tags: OGGCamp, FSFE, Matrix, BlackEdge, mystorm, blackice, fswebcam, android, sshpass.
Listen in ogg, spx, or mp3 format. Series: Interviews | Comments (0)


beni, Andrew Conway/mcnalu, Timttmy, and Dave at the HPR booth.


Michael from Electric Flap Jack Custom Built Guitars, and author of Fretboard Template Generator available on GitHub


Perspex template for carving the body and neck.


A work in progress.


Tools for making guitar, including the tool to round the frets.


And of course you need a guitar stand.


Fretboard Template Generator available on GitHub


Tai Kedzierski hanging out with "Grumpy" Mike Cook.


Mike produces electronic musical instruments for people with accessibility issues.


He also has a book called Arduino Music and Audio Projects to help you do this yourself.


At Drake Music we are leaders in music, disability and technology.
We are innovators, educators, curators and advocates. We believe everyone has the right to express themselves creatively through music. We use new technologies and ideas to open up access to music for all. Our vision is a world where disabled and non-disabled musicians work together as equals.


The bat base.





The Cattle Caster.


The Arduino Caster


The Open Rights Group.
Open Rights Group protects the digital rights of people in the UK including privacy and free speech online. We are funded by over 3,000 people like you.


Manchester Grey Hats

Manchester Grey Hats is a place for all those interested in hacking and cyber security to learn and share. We run capture the flags, workshops and perform/present security research.

We encourage all skill levels and those from all backgrounds. Are you an aspiring hacker or a developer thinking about security? Come along and learn. Presenting is open to all members, so if you have something you’d like to present but aren’t ready for the big conferences, get in touch.

Said best by The Mentor – “This is our world now… the world of the electron and the switch, the beauty of the baud”

Although we meet face to face once a month, MGH is mostly an online community. We encourage people to join us in person for workshops and events but if you can't, join us on Slack and our live stream.


An example of the of the locks that needed to be picked for the FlawCon Capture the Flag event.





How to hold the lock while you are picking it.


hpr2945 :: Saturday at OggCamp Manchester 2019

Interviews and chat from the UK's largest FLOSS event.


Hosted by Ken Fallon on 2019-11-15 is flagged as Clean and released under a CC-BY-SA license.
Tags: OGGCamp, FSFE, Matrix, BlackEdge, mystorm, blackice, fswebcam, android, sshpass.
Listen in ogg, spx, or mp3 format. Series: Interviews | Comments (0)

OggCamp is an unconference celebrating Free Culture, Free and Open Source Software, hardware hacking, digital rights, and all manner of collaborative cultural activities and is committed to creating a conference that is as inclusive as possible.
This year a team of HPR volunteers hit the show.


Ken's recording kit and some of the stickers.


Dave, Andrew Conway/mcnalu and Timttmy getting the booth ready.


Only HPR hosts can sign the booth.


Yannick signs the booth.


Timttmy's script to turn an Android phone into a webcam. Two versions of the script to take a screenshot and post it to the web.


Surveillance state ?


Our latest host Nihilazo signs the booth.


An Interview with Ban Parsons from the Matrix An open network for secure, decentralized communication


An Interview with mystorm.uk makers of the open FPGA. An FPGA chip is a re-programmable piece of silicon hardware, it can be reconfigured or programmed to a logic circuit of your own design.
In 2016 we decided to setup up the myStorm project in order to build OpenSource FPGA hardware. Several years later we are building the 5th generation of BlackIce Development boards. BlackIce Mx the latest generation of our hardware has been built using BlackEdge open hardware standard which enable the 'Core' Board IceCore to be separated from its carrier board which provides MixMod and Pmod hardware add-ons. Please take a look at the myStorm forum to ask questions and participate in our community.




An Interview with Erik Grun of the Free Software Foundation Europe about their campaign for Public Money? Public Code!


hpr2944 :: ONICS Basics Part 4: Network Flows and Connections

I try to add a bit more basic networking info while writing a quick script for Dave Morris


Hosted by Gabriel Evenfire on 2019-11-14 is flagged as Clean and released under a CC-BY-SA license.
Tags: command line networking.
Listen in ogg, spx, or mp3 format. Series: Networking | Comments (0)

Terminology

  • connection - a bi-directional communication channel between two programs over a network
  • client - the initiator of a connection
  • server - the receiver of the connection
  • port - a common term for the address of a program or service on a given machine
  • 5-tuple - the combination of protocol, client machine network address, client port, server machine network address, server port that uniquely identifies a connection
  • flow - a grouping of packets to be treated in a common way
  • microflow - a flow with a fine level of granularity such as the packets from one direction of traffic in a connection

The topflow.sh Script

#!/bin/sh

# Start a capture in the background that drops the packets
# and just reports the flow events
pktin $1 | nftrk -d -f /tmp/flows.txt &
PID=$!

# On CTRL-C clean kill the capture and clean up
trap "kill $PID ; rm -f /tmp/flows.txt /tmp/topflows.txt /tmp/namecache.txt ; exit 0" INT TERM

# Once per second do
#   look at the last 100 flows
#   sort them by 5-tuple
#   remove duplicates
#   convert ports, protocols and addresses to names
#   sort by data usage per flow in reverse order (highest first)
#   a little more pretty printing
#   only take the top 20 lines
#   clear the screen and print the result
while [ 1 ] ; do
    tail -100 /tmp/flows.txt |
            sort -s -t '|' -k 3,3 |
            awk -f uniqflows.awk  |
            awk -f prflow.awk  |
            sort -s -t ',' -k 3 -r |
            awk -f columns.awk |
            head -20 > /tmp/topflows.txt
    clear
    cat /tmp/topflows.txt
    sleep 1
done

You can find the complete code at: https://gitlab.com/onics/onics-examples


hpr2943 :: Music as Life

quantum harmony


Hosted by brian on 2019-11-13 is flagged as Explicit and released under a CC-BY-SA license.
Tags: science.
Listen in ogg, spx, or mp3 format. Comments (1)

Background sounds provided by some road noise, and a train.


hpr2942 :: Why I love lisps

A very wooden and scripted episode about why I love the lisp programming language family


Hosted by Nihilazo on 2019-11-12 is flagged as Clean and released under a CC-BY-SA license.
Tags: lisp, programming.
Listen in ogg, spx, or mp3 format. Comments (2)

Syntax example

(define (fib-rec n)
  (if (< n 2)
      n
      (+ (fib-rec (- n 1))
         (fib-rec (- n 2)))))

Structured Editing

Parinfer: https://shaunlebron.github.io/parinfer/

Paredit: https://www.emacswiki.org/emacs/ParEdit

Clojure libraries

core.match (adds pattern matching): https://github.com/clojure/core.match

core.logic (prolog-like stuff): https://github.com/clojure/core.logic

overtone: https://github.com/overtone/overtone

Other stuff

Clojure macro explanation: https://learnxinyminutes.com/docs/clojure-macros/

Books

The little schemer: https://mitpress.mit.edu/books/little-schemer-fourth-edition

Clojure for the brave and true: https://www.braveclojure.com/


hpr2941 :: Server Basics 107: Minishift and container management

Klaatu introduces Minishift, a local test environment for a single-node cloud

Hosted by klaatu on 2019-11-11 is flagged as Clean and released under a CC-BY-SA license.
Tags: server,container,docker,serverless,cloud,sys admin,kubernetes.
Listen in ogg, spx, or mp3 format. Comments (0)

Learn "the OS of the cloud" with minishift or minikube


hpr2940 :: Better Social Media 05 - Mastodon

Mastodon is the federated alternative to Twitter.


Hosted by Ahuka on 2019-11-08 is flagged as Clean and released under a CC-BY-SA license.
Tags: Fediverse, social media, federated, alternative.
Listen in ogg, spx, or mp3 format. Series: Social Media | Comments (1)

As mentioned earlier, Diaspora was one of the earliest alternative, privacy-respecting social media platforms, but it was focused on being an alternative to Facebook (and it has done this fairly well). But that leaves the other big platform of the social world, Twitter. Mastodon is a nice federated alternative to Twitter and a nicer place to be. https://www.zwilnik.com/?page_id=1034


Previous five weeks

hpr2939 :: Submit a show to Hacker Public Radio in 10 easy steps hosted by b-yeezi

Released: 2019-11-07. Duration: 00:10:01. Flag: Clean. Series: Podcasting HowTo.
Tags: podcast, hpr, how-to.
This is a 10 step walkthrough of submitting a show to HPR

hpr2938 :: Naming pets in space game hosted by tuturto

Released: 2019-11-06. Duration: 00:20:36. Flag: Clean. Series: Haskell.
Tags: haskell, markov chains.
How to use markov chains to generate names

hpr2937 :: Lord D's Film Reviews: His Girl Friday hosted by lostnbronx

Released: 2019-11-05. Duration: 00:48:57. Flag: Clean. Series: Lord D Film Reviews.
Tags: review, film, lord d.
Lostnbronx reviews an old screwball comedy.

hpr2936 :: HPR Community News for October 2019 hosted by HPR Volunteers

Released: 2019-11-04. Duration: 00:41:54. Flag: Explicit. Series: HPR Community News.
Tags: Community News.
Ken discusses last months shows and talks about OggCamp, FLOSS Weekly, FOSDEM, and Star Wars.

hpr2935 :: The work of fire fighters, part 3 hosted by Jeroen Baten

Released: 2019-11-01. Duration: 00:30:07. Flag: Clean.
Tags: fire fighting, fire brigade.
The continued introduction into the work of fire fighters

hpr2934 :: Server Basics 106: Namespaces and containers hosted by klaatu

Released: 2019-10-31. Duration: 00:33:53. Flag: Clean.
Tags: server,container,docker,serverless,cloud,sys admin,kubernetes.
Klaatu talks about the unshare and lxc commands

hpr2933 :: A walk through my PifaceCAD Python code – Part 1 hosted by MrX

Released: 2019-10-30. Duration: 00:14:31. Flag: Explicit. Series: A Little Bit of Python.
Tags: Podcasts, Linux, Command Line, Python, Raspberry Pi.
In this series a do whirl wind tour of the Python code I developed for my PifaceCAD board

hpr2932 :: Stardrifter RPG Playtest Part 10 hosted by lostnbronx

Released: 2019-10-29. Duration: 00:54:15. Flag: Explicit. Series: Tabletop Gaming.
Tags: rpg, gaming, stardrifter, game construction, playtest.
Lostnbronx and friends playtest a new, original RPG system.

hpr2931 :: Wallabag for on premises article aggregation hosted by b-yeezi

Released: 2019-10-28. Duration: 00:11:30. Flag: Clean.
Tags: self-hosted, docker.
In this episode, I describes my trials and eventual triumph in installing Wallabag

hpr2930 :: Better Social Media 04 - Diaspora hosted by Ahuka

Released: 2019-10-25. Duration: 00:14:46. Flag: Clean. Series: Social Media.
Tags: social media, alternative, federated, Fediverse.
Diaspora was the original alternative platform when it went up against Facebook.

hpr2929 :: Recovering Files from a Dead MacBook Air hosted by Jon Kulp

Released: 2019-10-24. Duration: 00:08:02. Flag: Clean.
Tags: Ubuntu, Mac OSX, File Recovery, Filesystem Repair.
I talk about recovering the files from my wife's dead MacBook Air using an Ubuntu Live CD.

hpr2928 :: Building markov chains with Haskell hosted by tuturto

Released: 2019-10-23. Duration: 00:29:58. Flag: Clean. Series: Haskell.
Tags: markov chains, Haskell.
How to build markov chains with Haskell

hpr2927 :: Stardrifter RPG Playtest Part 09 hosted by lostnbronx

Released: 2019-10-22. Duration: 00:26:24. Flag: Explicit. Series: Tabletop Gaming.
Tags: rpg, gaming, stardrifter, game construction, playtest.
Lostnbronx and friends playtest a new, original RPG system.

hpr2926 :: Full Circle Magazine hosted by Tony Hughes AKA TonyH1212

Released: 2019-10-21. Duration: 00:03:01. Flag: Clean.
Tags: Full Circle Magazine, Ubuntu, Linux, Free Magazine, Creative Commons.
Just a short show to request support for one of the Linux communities longest standing Magazines

hpr2925 :: LinuxLugCast's Memorial for FiftyOneFifty hosted by Honkeymagoo

Released: 2019-10-18. Duration: 02:05:41. Flag: Explicit.
Tags: LinuxLugCast, FiftyOneFifty, Memorial, Syndication.
We are here tonight to share memories of our friend Donald Grier aka FiftyOneFifty.

hpr2924 :: Hacking an Alarm Clock to Make it Quieter hosted by Jon Kulp

Released: 2019-10-17. Duration: 00:06:05. Flag: Clean.
Tags: clocks, electronics, decibels, noise levels, alarm clocks, alarms.
I talk about installing a resistor in the speaker wire of an alarm clock so it won't be so loud

hpr2923 :: Describing how I listen to podcasts PART 5 hosted by MrX

Released: 2019-10-16. Duration: 00:29:10. Flag: Explicit.
Tags: Audio, Podcasts, Linux, Command Line, Python, Raspberry Pi.
In this episode I cover how I use my 2nd add on board the PiFace Control and Display

hpr2922 :: Stardrifter RPG Playtest Part 08 hosted by lostnbronx

Released: 2019-10-15. Duration: 00:32:47. Flag: Explicit. Series: Tabletop Gaming.
Tags: rpg, gaming, stardrifter, game construction, playtest.
Lostnbronx and friends playtest a new, original RPG system.

hpr2921 :: Geocaching with the family hosted by thelovebug

Released: 2019-10-14. Duration: 00:48:36. Flag: Clean.
Tags: geocaching, outdoors, family.
Dave and his family take a wander around a wood looking for Geocaches

hpr2920 :: Better Social Media 03 - MeWe hosted by Ahuka

Released: 2019-10-11. Duration: 00:12:09. Flag: Clean. Series: Social Media.
Tags: social media, alternative.
MeWe was advertised as another popular alternative to Google Plus.

hpr2919 :: hosting software in HPR show notes hosted by Jezra

Released: 2019-10-10. Duration: 00:10:26. Flag: Clean. Series: Programming 101.
Tags: canoe, ptython, api, weather.
boats are awesome, but might lead to hosting software in the HPR show notes

hpr2918 :: Selecting random item from weighted list hosted by tuturto

Released: 2019-10-09. Duration: 00:26:44. Flag: Clean. Series: Haskell.
Tags: haskell, random, monad.
How to selected random item from weighted list using Haskell

hpr2917 :: Stardrifter RPG Playtest Part 07 hosted by lostnbronx

Released: 2019-10-08. Duration: 00:28:05. Flag: Explicit. Series: Tabletop Gaming.
Tags: rpg, gaming, stardrifter, game construction, playtest.
Lostnbronx and friends playtest a new, original RPG system.

hpr2916 :: HPR Community News for September 2019 hosted by HPR Volunteers

Released: 2019-10-07. Duration: 01:08:01. Flag: Explicit. Series: HPR Community News.
Tags: Community News.
HPR Volunteers talk about shows released and comments posted in September 2019

hpr2915 :: Intro - My Recording Setup hosted by Carl

Released: 2019-10-04. Duration: 00:20:48. Flag: Clean.
Tags: Fedora, Firewire, Audio Interface.
My first HPR episode. A bit of an intro and then a description of my recording setup.

hpr2914 :: Describing how I listen to podcasts PART 4 hosted by MrX

Released: 2019-10-03. Duration: 00:08:46. Flag: Explicit.
Tags: Audio, Podcasts, Linux, Raspberry Pi, hardware, electronics, projects.
In this episode I cover my 2nd add on board for the raspberry pi

hpr2913 :: Windows, SDN, and Firewalls hosted by Beto

Released: 2019-10-02. Duration: 00:41:23. Flag: Explicit. Series: Networking.
Tags: Windows, Firewalls, SDN.
Being a Windows User for the past 3 years, Information on SDN, and a DIY approach to a home Firewall

hpr2912 :: Stardrifter RPG Playtest Part 06 hosted by lostnbronx

Released: 2019-10-01. Duration: 00:33:33. Flag: Explicit. Series: Tabletop Gaming.
Tags: rpg, gaming, stardrifter, game construction, playtest.
Lostnbronx and friends playtest a new, original RPG system.

hpr2911 :: my internet connection hosted by Jezra

Released: 2019-09-30. Duration: 00:10:55. Flag: Explicit.
Tags: internet service, satellite.
a bloviated harang with a smattering of spewed expetives, while describing available ISPs

hpr2910 :: Better Social Media 02 - Pluspora hosted by Ahuka

Released: 2019-09-27. Duration: 00:09:42. Flag: Clean. Series: Social Media.
Tags: Fediverse, social media, federated.
Pluspora was advertised as the federated alternative to Google Plus.

hpr2909 :: ONICS Basics Part 3: Networking Fundamentals hosted by Gabriel Evenfire

Released: 2019-09-26. Duration: 00:50:31. Flag: Clean. Series: Networking.
Tags: command-line, networking, basics.
This show discusses basic principles of networks and how to send data using ONICS

hpr2908 :: Modeling opinions in space game hosted by tuturto

Released: 2019-09-25. Duration: 00:35:04. Flag: Clean. Series: Haskell.
Tags: haskell, game development.
tuturto talks about modeling opinions

hpr2907 :: Stardrifter RPG Playtest Part 05 hosted by lostnbronx

Released: 2019-09-24. Duration: 00:52:00. Flag: Explicit. Series: Tabletop Gaming.
Tags: rpg, gaming, stardrifter, game construction, playtest.
Lostnbronx and friends playtest a new, original RPG system.

hpr2906 :: Feature Engineering for Data-Driven Decision Making hosted by b-yeezi

Released: 2019-09-23. Duration: 00:16:46. Flag: Clean.
Tags: data.
In this episode, I explain feature engineering, and how it can be used to make decisions

hpr2905 :: Two HPR hosts living in the same region finally meet up! hosted by Dave Morriss

Released: 2019-09-20. Duration: 00:19:05. Flag: Explicit.
Tags: HPR,hosts,meeting,Dave Morriss,MrX.
Dave Morriss and MrX meet up and record a conversation

hpr2904 :: DIY URL shortening hosted by klaatu

Released: 2019-09-19. Duration: 00:12:18. Flag: Clean.
Tags: html, url shortner.
Quick tip on how to shorten an URL without a silly SaaS

hpr2903 :: What is PMEM hosted by JWP

Released: 2019-09-18. Duration: 00:07:33. Flag: Clean.
Tags: Pmem, intel, memory, storage.
Persistent memory (PMEM), also known as storage-class memory

hpr2902 :: Stardrifter RPG Playtest Part 04 hosted by lostnbronx

Released: 2019-09-17. Duration: 00:54:46. Flag: Explicit. Series: Tabletop Gaming.
Tags: rpg, gaming, stardrifter, game construction, playtest.
Lostnbronx and friends playtest a new, original RPG system.

hpr2901 :: Describing how I listen to podcasts PART 3 hosted by MrX

Released: 2019-09-16. Duration: 00:13:55. Flag: Explicit.
Tags: Audio, Podcasts, Linux, Command Line, hardware, electronics, Raspberry Pi.
In this episode I cover the 1st add-on board I purchased for one of my raspberry pi's

hpr2900 :: Better Social Media 01 - Introduction hosted by Ahuka

Released: 2019-09-13. Duration: 00:11:51. Flag: Clean. Series: Social Media.
Tags: Fediverse, social media, federated.
We don't have to use Twitter and Facebook. There are alternatives.

Older Shows

Get a full list of all our shows.