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, 11 months, 11 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 12 days.

Meet the team

Please help out tagging older shows !


Latest Shows


hpr2885 :: ONICS Part 2: Filtering and Extraction

In this episode I discuss commands to filter and/or extract packets from a packet trace file.


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

In this episode we'll talk about filtering and dissecting packet traces and streams and introduce diffing. Remember that most tools have very flexible options for a variety of use cases. So check their manpages. Each man page also has multiple examples of how to use each tool.

Counting Packets

  • Lets start with grabbing a trace from the unit tests:
   $ mkdir /tmp/packets
   $ cd /tmp/packets
   $ cp /path/to/onics/tests/data/packets/sample.xpkt .
  • Lets see what we have inside. First, lets see how many packets there are. We'll use a new tool 'pcount'.
   $ pcount sample.xpkt

   90 total packets and 19082 total bytes.
  • Good thing we looked first. Don't want to walk through all the packets.

Scanning Packet Flows

  • Well, lets look at the connections or "flows" in the trace. We'll do this by using the 'nftrk' command for "network flow tracker".

  • Like 'pcount' this utility (and many or most ONICS utilities), this program can run on a live stream or a trace file. We'll run:

   $ nftrk -dt sample.xpkt | grep END

and get:

   |FLOW END|IP:ca=192.168.0.43,sa=224.0.0.251,proto=2|Start=1565446184.543,
   End=1565446184.544,Dur=0.001|SENT:1,60|
   ...
   |FLOW END|IP:ca=192.168.0.7,sa=192.168.0.255,proto=17,cpt=631,spt=631|
   Start=1565446184.543,End=1565446184.544,Dur=0.001|SENT:3,660|
  • 'nftrk' tracks flows giving events like the start and end of each flow or connection. We just want a summary of all the connections so we just grep for 'END' (all caps).

  • We could just as easily have grepped for START, but this way we get the final number of packets sent and received on each connection. If we just want a count of the connections we can do:

   $ nftrk -dt sample.xpkt | grep START | wc -l

and that tells us that there are 10 flows in the trace.

Basic Filtering

  • Ok, so 90 packets, in 10 flows totalling ~19000 bytes. Lets now see about filtering the connection so we just get the TCP packets.
   $ pflt tcp sample.xpkt tcponly.xpkt

   $ pcount tcponly.xpkt
   73 total packets and 17184 total bytes.

   $ nftrk -dt tcponly.xpkt | grep END | wc -l
   2
  • We could have been super fancy and done:
   $ pflt tcp sample.xpkt |
     pcount -p |
     nftrk -t 2>/tmp/flows > tcponly.xpkt &&
     echo -n "Number of flows " &&
     grep END /tmp/flows | wc -l &&
     rm -f /tmp/flows
  • Ok, enough of that. Anyway, now we have a trace file with only the TCP connections. Running
   $ nftrk -dt /tmp/tcponly.xpkt | grep END
   |FLOW END|IP:ca=192.168.0.4,sa=192.168.0.7,proto=6,cpt=38859,spt=22|
   Start=1566073862.612,End=1566073862.613,Dur=0.000|C2S:25,4561|S2C:30,5124|
   |FLOW END|IP:ca=192.168.0.4,sa=64.233.169.147,proto=6,cpt=35071,spt=80|
   Start=1566073862.613,End=1566073862.613,Dur=0.000|C2S:9,704|S2C:9,6795|

Shows that the server ports are 22 and 80 for the two connections. That's SSH and HTTP.

  • The patterns we can use to filter packets are pretty standard across most of the ONICS tools.

  • We'll discuss this is more detail in a future podcast. But if you want to see the kinds of fields you can match on go to

   $ man onics_proto

Extracting Ranges of Packets

  • What if we wanted to just grab specific packets out of the trace file? Say we wanted packets 3-6. For that we would run:
   $ pxtr 3,6 sample.xpkt pkts-3-to-6.xpkt
  • Alternately we could ask for all packets from the 7th packet to the first TCP packet. We match using the same types of matching conditions as with pflt, but we must enclose them in {}s.
   $ pxtr "7,{tcp}" sample.xpkt | xpktdump
  • Lets say we just wanted to drop packets 5-10 from the stream. There are several ways to do this in ONICS, but using pxtr, the way we would do it would be:
   $ pxtr 1,4 sample.xpkt > not-5-to-10.xpkt
   $ pxtr 11,NONE sample.xpkt >> not-5-to-10.xpkt
  • Maybe I should add another option to pxtr to invert the boundary conditions. It's a tradeoff between having the tools do one thing and one thing well and supporting a potentially common use case.

Differences Between Traces

  • Finally, lets look at one tool that I really like. Let's see the difference between the original stream and the one that we just created:
   $ pdiff sample.xpkt not-5-to-10.xpkt | less
  • Sure enough that shows us that packets 5-10 were dropped from the stream. If we do the reverse
   $ pdiff -v not-5-to-10.xpkt sample.xpkt | less

it describes the sample.xpkt from the perspective of starting with not-5-to-10.xpkt and inserting a bunch of packets into the middle.

Conclusion

  • In this podcast we looked at a few tools to help analyze and dissect packet traces or packet streams.
  • Next time we'll look at some of the more powerful pattern matching we can apply and

hpr2884 :: TASCAM Porta 02 MiniStudio 4-Track Cassette Recorder Demonstration

I demonstrate the use of a vintage home studio device


Hosted by Jon Kulp on 2019-08-22 is flagged as Clean and released under a CC-BY-SA license.
Tags: Multi-Track Recording, Recording Devices, Home Recording Studios, Cassette Tapes, Vintage Recording .
Listen in ogg, spx, or mp3 format. Comments (4)

I discuss and demonstrate the latest retro gadget I found at the flea market last weekend, a TASCAM Porta 02 MiniStudio 4-Track Cassette Recorder. It was in a bin full of junk—filthy, lacking its power supply, and I got it for only $5. I hacked a power supply, disassembled it completely, washed everything thoroughly, and put it back together. It worked perfectly with the exception of the pause button. This has been one of the most fun projects I can remember, especially because my daughter is into it too, and she's learning how to make multi-track recordings. I always wanted a 4-track when I was in high school but never had one. Now I do!

TSACAM Porta 02 4-Track Recording Demonstration

Links to info about stuff I mentioned


hpr2883 :: Pass the pigs

tuturto talks about their childhood game pass the pigs

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

For more information, have a look at https://boardgamegeek.com/boardgame/2593/pass-pigs


hpr2882 :: ONICS Part 1: Basic Commands

In this episode I review some basic commands for manipulating packet captures


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

Background

  • It's been about 6 years since I talked about my project ONICS in HPR 1350
  • ONICS stands for Open Network Inpection Command Suite
  • I created ONICS as because I thought it would be neat to have a suite of tools that could manipulate packets on the command line in a way similar to how tools lik sed, awk, grep, cut, and so forth manipulate text.

Installing

  • Not currently maintained in any package distributions
  • Maintainers who are interested in doing so are welcome
  • Install by source
    $ git clone https://gitlab.com/catlib/catlib
    $ cd catlib
    $ make
    $ cd ..
    $ git clone https://gitlab.com/onics/onics
    $ cd onics
    $ ./configure
    $ make
    $ make test
    $ sudo make install
    $ make veryclean
  • Can always uninstall cleanly from the source directory
    $ make uninstall
  • Alternate to installation is to stop at 'make test' and then add to 'onics/bin' and 'onics/scripts' to your path.

Documentation

  • Manpages are available in onics/doc directory if you aren't installing locally. They are quite extensive.

  • If installed locally, starting with:

    $ man onics

XPKT Format

  • PCAP format is outdated and not very extensible

    • I want to be able to annotate with interface IDs, flow IDs, packet numbers, classification info, header offsets, etc...
  • First and foremost, the file header prevents just cating files together.

    • it makes merging live streams more difficult
    • pcapng improves things but still has global file header

First Programs

  • Let's first capture in the traditional way
    $ sudo tcpdump -i eth0 -c 5 -w file1.pcap
  • First program is to capture packets from the wire:
    $ sudo pktin eth0 > file2.xpkt
  • If not running as root
    $ sudo chown myname file1.pcap file2.xpkt
  • Let's dump them:
    $ tcpdump -r file1.pcap
    $ xpktdump file2.xpkt
  • Now lets convert the PCAP to XPKT
    $ pc2xpkt file1.pcap file1.xpkt
      or
    $ pc2xpkt file1.pcap > file1.xpkt
      or
    $ pc2xpkt < file1.pcap > file1.xpkt
      or
    $ cat file1.pcap | pc2xpkt > file1.xpkt
  • Now we can dump file1 using xpktdump:
    $ xpktdump file1.xpkt

Something we can't do w/ tcpdump

  • Lets now merge them one after another
    $ cat file1.xpkt file2.xpkt > merged.xpkt
    $ xpktdump merged.xpkt
  • Of course there's a simpler way
    $ cat file1.xpkt file2.xpkt | xpktdump

Convert back to pcap:

  • Let's convert file2 to PCAP
    $ xpkt2pc file2.xpkt file2.pcap
      or
    $ xpkt2pc < file2.xpkt > file2.pcap
      or
    $ xpkt2pc file2.xpkt > file2.pcap
      or
    $ cat file2.xpkt | xpkt2pc > file2.pcap
  • Let's look at the stream using tcpdump:
    $ tcpdump -r file2.pcap
  • If we didn't want to actually store as a PCAP
    $ xpkt2pc file2.xpkt | tcpdump -r -
  • Let's concatenate and dump using tcpdump
    $ cat file1.xpkt file2.xpkt | xpkt2pc | tcpdump -r | less

Sending packets:

    $ sudo tcpdump -i eth0  # in one terminal
    $ sudo pktout -i eth0 file1.xpkt
      or
    $ sudo pktout -i eth0 < file1.xpkt
      or
    $ cat file1.xpkt | sudo pktout -i eth0

Summary

  • XPKT is a versatile, extensible, self-contained packet trace format
  • ONICS' most basic tools are pktin, pktout, pc2xpkt and xpkt2pc
  • We've demonstrated how the ONICS design supports leveraging the power of the UNIX command line for packets
  • This is only the VERY beginning. ONICS has over 20 binaries and 30 scripts for manipulating packets.

hpr2881 :: Automatically split album into tracks in Audacity

Inspired by a Jon Kulp show, Ken splits a large recording based on silence between tracks


Hosted by Ken Fallon on 2019-08-19 is flagged as Explicit and released under a CC-BY-SA license.
Tags: Audacity, hpr1771, Detect Silence, Split Track, Label.
Listen in ogg, spx, or mp3 format. Comments (1)

In this show Ken, recalls hpr1771 :: Audacity: Label Tracks by Jon Kulp to add Labels to an large audio file.

  • Tidy up the audio to the point where you are happy with it, but do not truncate silence.
  • Find the first break in the audio and check how long it is. In my case it was 4 seconds.
  • Select the entire track and select Analyze>Silence Finder
  • Change Maximum duration of silence to just under the length of the break. In my case I set it to 3 seconds
  • This will then create a series of labels on a new Label track
  • Edit the names of each as desired.
  • Select File > Export > Export Multiple
  • Select Split Files based on Labels
  • Name files using Label/Track Name

hpr2880 :: Evaluating a Study

We've developed the standards to judge, so now let's do an example!


Hosted by Ahuka on 2019-08-16 is flagged as Clean and released under a CC-BY-SA license.
Tags: Health, Medicine, Evidence, Science, Studies.
Listen in ogg, spx, or mp3 format. Series: Health and Healthcare | Comments (0)

We take the ideas we have developed over the previous episodes and use them to evaluate a a study I found online. These are things anyone can do with just a little work on Google, and the payoff is to have a good idea of whether or not you are looking at a quality study


hpr2879 :: Describing how I listen to podcasts PART 1

This episode badly covers the console audio player moc.

Hosted by MrX on 2019-08-15 is flagged as Explicit and released under a CC-BY-SA license.
Tags: Audio, Podcasts, Linux, Ncurses.
Listen in ogg, spx, or mp3 format. Comments (0)

In this series I cover how I listen to podcasts and how the process has change over the years. This episode badly covers the console audio player moc.


hpr2878 :: Type classes in Haskell

tuturto explains what type classes are and how to use them

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

Background

Type classes are Haskell’s way of doing ad hoc polymorphics or overloading. They are used to defined set of functions that can operate more than one specific type of data.

Equality

In Haskell there’s no default equality, it has to be defined.

There’s two parts to the puzzle. First is type class Eq that comes with the standard library and defines function signatures for equality and non-equality comparisons. There’s type parameter a in the definition, which is filled by user when they define instance of Eq for their data. In that instance definition, a is filled with concrete type.

class  Eq a where
  (==) :: a -> a -> Bool
  (/=) :: a -> a -> Bool

  x /= y = not (x == y)

Definition above can be read as “class Eq a that has two functions with following signatures and implementations”. In other words, given two a, this function determines are they equal or not (thus Bool as return type). /= is defined in terms of ==, so it’s enough to define one and you get other one for free. But you can still define both if you’re so included (maybe some optimization case).

If we define our own Size type, like below, we can compare sizes:

data Size = Small | Medium | Large
    deriving (Show, Read)

instance Eq Size where
    Small == Small = True
    Medium == Medium = True
    Large == Large = True
    _ == _ = False

And here’s couple example comparisons.

> Small == Small
True
> Large /= Large
False

Writing these by hand is both tedious and error prone, so we usually use automatic derivation for them. Note how the second line now reads deriving (Show, Read, Eq).

data Size = Small | Medium | Large
    deriving (Show, Read, Eq)

Hierarchy between type classes

There can be hierarchy between type classes, meaning one requires presence of another. Common example is Ord, which is used to order data.

class Eq a => Ord a where
    compare :: a -> a -> Ordering
    (<) :: a -> a -> Bool
    (>=) :: a -> a -> Bool
    (>) :: a -> a -> Bool
    (<=) :: a -> a -> Bool
    max :: a -> a -> a
    min :: a -> a -> a

This definition can be read as “class Ord a, where a has instance of Eq, with pile of functions as follows”. Ord has default implementation for quite many of these, in terms of others, so it’s enough to implement either compare or <=.

For our Size, instance of Ord could be defined as:

instance Ord Size where
    Small <= _ = True
    Medium <= Small = False
    Medium <= _ = True
    Large <= Large = True
    Large <= _ = False

Writing generic code

There’s lots and lots of type classes in standard library:

  • Num for numeric operations
  • Integral for integer numbers
  • Floating for floating numbers
  • Show for turning data into strings
  • Read for turning strings to data
  • Enum for sequentially ordered types (these can be enumerated)
  • Bounded for things with upper and lower bound
  • and so on…

Type classes allow you to write really generic code. Following is contrived example using Ord and Show:

check :: (Ord a, Show a) => a -> a -> String
check a b =
    case compare a b of
        LT ->
            show a ++ " is smaller than " ++ show b
        GT ->
            show a ++ " is greater than " ++ show b
        EQ ->
            show a ++ " and " ++ show b ++ " are equal"

Check takes two parameters that are same type and that type has to have Ord and Show instances. Ord is for ordering and Show is for turning data into string (handy for displaying it). The end result is string telling result of comparison. Below is some examples of usage. Note how our function can handle different types of data: Size, Int and [Int].

> check Medium Small
"Medium is greater than Small"
> check Small Large
"Small is smaller than Large"
> check 7 3
"7 is greater than 3"
> check [1, 2] [1, 1, 1]
"[1, 2] is greater than [1, 1, 1]"

There are many extensions to type classes that add more behaviour. These aren’t part of standard Haskell, but can be enabled with a pragma definition or compiler flag. They can be somewhat more complicated to use, have special cases that need careful consideration, but offer interesting options.

In closing

Thank you for listening. Question, comments and feedback welcome. Best way to catch me nowadays is either by email or in fediverse, where I’m tuturto@mastodon.social.


hpr2877 :: Using Zenity with Pdmenu

Zenity is a rather cool program that will display GTK+ dialogs from a script


Hosted by Dave Morriss on 2019-08-13 is flagged as Explicit and released under a CC-BY-SA license.
Tags: zenity,Bash scripting,pdmenu,GTK+.
Listen in ogg, spx, or mp3 format. Series: Bash Scripting | Comments (0)

Overview

I use pdmenu a lot to help me do work on my main desktop PC. I did an HPR show on pdmenu on 13 December 2017 and the author Joey Hess responded in show 2459.

In the intervening time I have also integrated Zenity into my menus. This is a GUI tool which generates a number of different pop-up windows known as dialogs, which can display information, or into which information can be typed. The capabilities provided by pdmenu are a little too basic to enable me to do what I need to do.

I thought it might be of interest to show some examples of how I use this tool with pdmenu.

Long notes

I have provided detailed notes as usual for this episode, and these can be viewed here.


hpr2876 :: Sausage Orzotto

A favorite recipe, dictated while it is cooked.


Hosted by Windigo on 2019-08-12 is flagged as Explicit and released under a CC-BY-SA license.
Tags: food,cooking.
Listen in ogg, spx, or mp3 format. Comments (3)

This recipe has been heavily adapted from one I received from Hello Fresh - credit where credit's due!

Ingredients:

  • 1 lb (500g) Sausage (chicken or pork works)
  • 1 ½ cups (192g) Orzo
  • 2 tbsp (40g) Butter
  • Olive oil
  • Zucchini
  • Shallot
  • 1 - 2 tbsp (20-40g) Italian Seasoning
  • Pepper
  • 2 cups (475ml) water
  • 1 tsp (4g) stock concentrate
  • 16oz (450g?? One normal can, whatever that is) Crushed or diced tomatoes
  • 1 cup (226g) Mozzarella cheese (shredded)
  • Panko Breadcrumbs
  • Salt (Optional)
  1. Mince half the shallot (or all of it, I'm not the boss of you). Trim and shred the zucchini. Prepare a mixing bowl lined with a paper towel.
  2. Preheat oven to 500 F
  3. Drizzle some oil into a large oven-proof pan (if you've got one) and cook the sausage, with half the Italian seasoning, over medium heat, breaking it into bite-sized pieces as you cook it. Transfer to the mixing bowl for later.
  4. Add another drizzle of olive oil, and shred the zucchini into the pan. Add shallot, and cook until the zucchini shrinks to ⅔ of its size (about 5 minutes). Transfer to the mixing bowl with the sausage.
  5. Wipe out the pan with a paper towel. Melt 1 tbsp of butter over medium heat, and add orzo, stirring pretty frequently for 2-3 minutes.
  6. Stir in the rest of the Italian seasoning, along with the water, tomatoes, and stock concentrate. Bring to a boil and stir until orzo is done - around 12 - 14 minutes.
  7. Drain excess liquid from the zucchini and sausage.
  8. Mix sausage & zucchini into orzo mixture, with 1 tbsp of butter. Season with salt & pepper, if you want.
  9. If you don't have an oven-proof pan, you're going to want to transfer everything over to a large baking dish of some kind. 13x9" works for me.
  10. Cover the mixture in mozzarella cheese and panko breadcrumbs - in that order!
  11. Place dish in the oven for 2-3 minutes, until the breadcrumbs are toasted.

Note: If these metric measurements seem crazy, they probably are.


Previous five weeks

hpr2875 :: cutting up the frames hosted by Brian in Ohio

Released: 2019-08-09. Duration: 00:07:36. Flag: Clean.
Tags: bicycle, recumbent, recycle.
you've got to crack some eggs to make an omelette

hpr2874 :: Repair of G.E. Variable Speed Cassette Recorder hosted by Jon Kulp

Released: 2019-08-08. Duration: 00:20:28. Flag: Clean.
Tags: Recording, Audio, Tape, Cassette, Recording Devices, Tape Speeds, Electronics, Repair.
I talk about repairing a 1997 handheld cassette recorder and demonstrate its use.

hpr2873 :: Death Angel - Card game hosted by tuturto

Released: 2019-08-07. Duration: 00:17:25. Flag: Clean. Series: Tabletop Gaming.
Tags: cardgame.
Short description of Death Angel card game

hpr2872 :: Shoe Lace Tips hosted by MrX

Released: 2019-08-06. Duration: 00:07:52. Flag: Explicit.
Tags: hacks, tips.
In this episode I give some shoe lace tips

hpr2871 :: HPR Community News for July 2019 hosted by HPR Volunteers

Released: 2019-08-05. Duration: 01:03:14. Flag: Explicit. Series: HPR Community News.
Tags: Community News.
HPR Volunteers talk about shows released and comments posted in July 2019

hpr2870 :: Hierarchy of Evidence hosted by Ahuka

Released: 2019-08-02. Duration: 00:14:25. Flag: Clean. Series: Health and Healthcare.
Tags: Health, Medicine, Evidence, Science, Studies.
All studies are not the same. Some are better than others.

hpr2869 :: building a bike, following in John Kulp's footsteps hosted by Brian in Ohio

Released: 2019-08-01. Duration: 00:11:34. Flag: Clean.
Tags: bicycle, recumbent, recycle.
turning a couple of old bikes into a long wheel base recumbent

hpr2868 :: Custom data with Persistent hosted by tuturto

Released: 2019-07-31. Duration: 00:20:02. Flag: Clean. Series: Haskell.
Tags: haskell, persistent, database.
tuturto explains how to serialize custom data with Persistent

hpr2867 :: The Kenwood TS940S Automatic Tuning Unit hosted by MrX

Released: 2019-07-30. Duration: 00:13:04. Flag: Explicit. Series: HAM radio, QSK.
Tags: Amateur, Radio, Ham.
I cover the Automatic Tuning unit on my Kenwood TS940S, re comment from HPR2668

hpr2866 :: Intro to Bitcoin for techies hosted by mightbemike

Released: 2019-07-29. Duration: 00:31:55. Flag: Clean.
Tags: bitcoin, blockchain, cryptocurrency.
Survey of Bitcoin: blockchains, blocks, transactions, miners, PoW, hashing, addresses, wallets

hpr2865 :: The YouTube channels I really like hosted by Jeroen Baten

Released: 2019-07-26. Duration: 00:14:17. Flag: Clean.
Tags: apollo,agc,youtube.
Just some random thoughts on some random youtube channels

hpr2864 :: One weird trick to add a --help option to your awk scripts hosted by klaatu

Released: 2019-07-25. Duration: 00:20:13. Flag: Clean. Series: Learning Awk.
Tags: awk,option,help,arg.
Klaatu demonstrates two ways to add a --help message to your awk scripts

hpr2863 :: Simplified application architectures for improved security hosted by Beeza

Released: 2019-07-24. Duration: 00:15:55. Flag: Clean.
Tags: Application development, Application architecture, Security.
A thought experiment in whether reducing runtime dependencies can improve security and how to do it.

hpr2862 :: Art vs. Commerce In Storytelling hosted by lostnbronx

Released: 2019-07-23. Duration: 00:13:50. Flag: Clean. Series: Random Elements of Storytelling.
Tags: stories, storytelling, art, commerce, lostnbronx.
Lostnbronx examines stories as both art and products.

hpr2861 :: Safety Razors hosted by operat0r

Released: 2019-07-22. Duration: 00:14:30. Flag: Clean.
Tags: shaving,safety,razor,health,grooming.
I go over some of my thoughts on Safety Razors Etc

hpr2860 :: Encryption and Quantum Computing hosted by Ahuka

Released: 2019-07-19. Duration: 00:12:37. Flag: Clean. Series: Privacy and Security.
Tags: Encryption, Quantum Computing.
How will quantum computing affect the security of encryption?

hpr2859 :: HPR NYE Show 2018-2019 part 7 hosted by Honkeymagoo

Released: 2019-07-18. Duration: 02:58:34. Flag: Explicit.
Tags: HPR new years show, new years, community.
The HPR community comes together to say happy new year and chat

hpr2858 :: Vehicle designer for a space game hosted by tuturto

Released: 2019-07-17. Duration: 00:23:24. Flag: Clean. Series: Haskell.
Tags: haskell.
tuturto talks about modeling vehicle designer for their space game

hpr2857 :: Creating CounterParty Collectible Tokens for the Bitcorn Game hosted by mightbemike

Released: 2019-07-16. Duration: 00:16:35. Flag: Clean.
Tags: bitcorn, bitcoin, collectibles.
How to create Bitcorn collectibles: tokens issued on Bitcoin blockchain, used in Bitcorn Farms game

hpr2856 :: Mint Mobile Security Rant hosted by operat0r

Released: 2019-07-15. Duration: 00:19:45. Flag: Explicit.
Tags: Mint Mobile,ANdroid,Phones,4G,VoIP,google voice.
Settle in for a Mint Mobile Security Rant

hpr2855 :: HPR NYE Show 2018-2019 part 6 hosted by Honkeymagoo

Released: 2019-07-12. Duration: 02:21:26. Flag: Explicit.
Tags: HPR new years show, new years, community.
The HPR community comes together to say happy new year and chat

hpr2854 :: Telling myself something In The Morning hosted by Jezra

Released: 2019-07-11. Duration: 00:06:14. Flag: Clean. Series: Programming 101.
Tags: python, programming.
There was a need for some software, so I wrote some

hpr2853 :: Feeding the beast hosted by folky

Released: 2019-07-10. Duration: 00:07:04. Flag: Clean.
Tags: bankid, swish, cash, payment, digitalization, sweden.
How the swedes are killing their hardcash and feeding the beast

hpr2852 :: Gnu Awk - Part 16 hosted by Dave Morriss

Released: 2019-07-09. Duration: 00:42:44. Flag: Explicit. Series: Learning Awk.
Tags: Gnu Awk, advanced features.
Winding up the Gnu Awk series

hpr2851 :: An introduction to the work of fire fighters hosted by Jeroen Baten

Released: 2019-07-08. Duration: 00:30:47. Flag: Clean.
Tags: fire fighting, fire brigade.
A small introduction into the work of fire fighters

hpr2850 :: NIST Cybersecurity Framework hosted by Ahuka

Released: 2019-07-05. Duration: 00:28:22. Flag: Clean. Series: Privacy and Security.
Tags: Enterprise, Security.
What NIST suggests as a framework to improve security at the Enterprise level

hpr2849 :: HPR NYE Show 2018-2019 part 5 hosted by Honkeymagoo

Released: 2019-07-04. Duration: 02:09:19. Flag: Explicit.
Tags: HPR new years show, new years, community.
The HPR community comes together to say happy new year and chat

hpr2848 :: Random numbers in Haskell hosted by tuturto

Released: 2019-07-03. Duration: 00:32:37. Flag: Clean. Series: Haskell.
Tags: haskel, random numbers.
tuturto talks how to generate random numbers (and other values) in Haskell

hpr2847 :: earbuds hosted by operat0r

Released: 2019-07-02. Duration: 00:15:02. Flag: Clean.
Tags: earbuds,hacking,music,diy.
My trials with earbuds and custom setups

hpr2846 :: HPR Community News for June 2019 hosted by HPR Volunteers

Released: 2019-07-01. Duration: 00:56:04. Flag: Explicit. Series: HPR Community News.
Tags: Community News.
HPR Volunteers talk about shows released and comments posted in June 2019

hpr2845 :: HPR NYE Show 2018-2019 part 4 hosted by Honkeymagoo

Released: 2019-06-28. Duration: 02:51:05. Flag: Explicit.
Tags: HPR new years show, new years, community.
The HPR community comes together to say happy new year and chat

hpr2844 :: The Sony TC-222-A Portable Reel-To-Reel Tape Recorder hosted by Jon Kulp

Released: 2019-06-27. Duration: 00:31:08. Flag: Clean.
Tags: Music,Recording,Audio,Tape,Reel-To-Reel,Open-Reel,Recording Devices,Tape Speeds,Bash Scripting.
I talk about my latest thrift-store gadget, a 1969 Sony portable reel-to-reel tape recorder

hpr2843 :: Afrikan Tähti (or Star of Africa) hosted by tuturto

Released: 2019-06-26. Duration: 00:11:18. Flag: Clean. Series: Tabletop Gaming.
Tags: finnish, childhood favourite.
tuturto talks about one of the most important Finnish board game ever

hpr2842 :: What's in my Bag an update to hpr2065 hosted by Tony Hughes AKA TonyH1212

Released: 2019-06-25. Duration: 00:03:45. Flag: Clean.
Tags: Linux, PC's, Laptops, Geek Bag.
This is a short update show on what I carry in my Geek Bag

hpr2841 :: How I got into Linux (and then some...) hosted by Christopher M. Hobbs

Released: 2019-06-24. Duration: 00:31:04. Flag: Clean. Series: How I Found Linux.
Tags: linux, intro, story, discourse, bsd.
A response to the request for "how i got into linux" and a little of my history with Linux/BSD

hpr2840 :: HPR NYE Show 2018-2019 part 3 hosted by Honkeymagoo

Released: 2019-06-21. Duration: 02:01:33. Flag: Clean.
Tags: HPR new years show, new years, community.
The HPR community comes together to say happy new year and chat

hpr2839 :: Sample episode of the Distrohoppers Digest podcast hosted by Ken Fallon

Released: 2019-06-20. Duration: 00:37:11. Flag: Clean.
Tags: Distrohoppers Digest, mintCast, linux, bsd.
We bring you the first episode of the new Creative Commons show the Distrohoppers Digest

hpr2838 :: Why Haskell? hosted by tuturto

Released: 2019-06-19. Duration: 00:31:40. Flag: Clean. Series: Haskell.
Tags: haskell, response.
tuturto tries to answer Beeza's question on why would someone want to use Haskell

hpr2837 :: parallax live desktops in android hosted by operat0r

Released: 2019-06-18. Duration: 00:17:20. Flag: Explicit.
Tags: youtube downloader,systemd,linux,autohotkey.
Parallax_Wallpaper, mouse gigglers, system d Youtube background play and more !

hpr2836 :: Interview with Wendy Hill hosted by Yannick

Released: 2019-06-17. Duration: 00:26:16. Flag: Clean. Series: Interviews.
Tags: opensource, photography, lubuntu, darktable, rapidphotodownloader, displaycal, gimp.
In this episode, Yannick talks with Wendy Hill about her use of opensource software in her job

Older Shows

Get a full list of all our shows.