Hacker Public Radio show

Hacker Public Radio

Summary: Hacker Public Radio is an podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that are of interest to hackers and hobbyists.

Join Now to Subscribe to this Podcast
  • Visit Website
  • RSS
  • Artist: Hacker Public Radio
  • Copyright: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License

Podcasts:

 HPR2619: A Gentle Introduction to Quilt | File Type: audio/mpeg | Duration: Unknown

A gentle introduction to quilt Or, patch management for software. Speaker Intro Hi, I'm bjb. I'm a programmer. Motivation and topic intro I needed to learn how to use the software tool "quilt", so you get to listen to my podcast about an introduction to quilt. People collaborating on a project must edit the same set of source files. After one person commits some changes, then the other people must rebase their own changes on the new version of the shared files before they can push their changes. A minor fix for some old typo should not be in the same patch as a new feature; a comment correction should also be in its own patch. Essentially, two new features and some bug fixes should not all be smushed together in one patch. Each feature should be in its own patch (or patch series), and each bug fix should be in its own patch. This allows others to be able to review the proposed changes easily, and even lets them pick and choose which patches they want to apply. It becomes a chore to manage all these patches. That's where quilt comes in. Sadly, I hadn't learned quilt till this weekend ... well one way to ensure I learn it fairly well is to write a HPR episode about it! Here goes. I have written this episode to be understandable by anyone - you don't have to be a coder. You could use this tool to keep track of any plain-text files - recipes, todo lists, html, hpr show notes, poetry, what-have-you. Introduction First let's describe what a patch is. No, first let's describe what source code looks like. Source code is a plain text file full of computer instructions. It is a plain text file, as opposed to a word processing file. Plain text files do not have any formatting codes or styles in them (such as which font should be used, or what colour, and so on). They just contain the characters that make up words of the content. A key feature of these source code files is that a new section of the file starts on a new line. The source code is almost never "reflowed" like prose might be. It is sort of like poetry - the more formal poetry, not prose poetry. There are a lot of really small sections in source code files (called "statements" and "expressions"). Most of these sections fit on one line. This is useful for the tools we're going to discuss because when one line changes it does not affect the following lines, as it might when text is reflowed after a change. People have been coding with plain text files in various languages for decades. Thus a large set of tooling has grown around this format. One of those tools is called "diff" and another one is called "patch". Diff is a way to compare two text files. Typically it would be used to compare the "before" and "after" of a source code file undergoing changes. So you could find out what was done to the source code file by running diff on the before and after versions of that file. A diff file is a series of excerpts from the original and changed files. There are various kinds of diffs. Some of them show only the changed lines. Some of them show a few lines before and a few lines after in addition to the changed lines themselves. That second kind is called a "context diff" and helps the automated machinery (and humans too) find the correct part of the file to which the change must be applied. By default there are 3 lines of context before and after the changed lines. The changed part is represented by including the old AND new line. In order to distinguish which lines are old and which are the replacements, all the lines (context lines, removed lines and added lines) are shifted over to the right by one character. The context lines start with a space

 HPR2618: Yesod - First Impressions | File Type: audio/mpeg | Duration: Unknown

First place to start is probably Yesod’s web site at: https://www.yesodweb.com/ Often recommended environment for developing Haskell programs is Stack: https://docs.haskellstack.org/en/stable/README/ My road to Haskell started with Learn You a Haskell for Great Good: http://learnyouahaskell.com/ and going through lecture notes of CIS 194: http://www.seas.upenn.edu/%7Ecis194/spring13/lectures.html

 HPR2617: Exposing a Raspberry Pi database through a REST API | File Type: audio/mpeg | Duration: Unknown

Links from the episode Wikipedia - REST API Wikipedia - WSGI Bottle Framework SQLite

 HPR2616: Liverpool Makefest 2018 - interview with Josh - A.K.A - All About Code | File Type: audio/mpeg | Duration: Unknown

This is another short interview recorded at this year's Liverpool Makefest, this time with Josh who developed EduBlocks. https://lpoolmakefest.org/ https://edublocks.org/ http://allaboutcode.co.uk/ https://github.com/AllAboutCode https://twitter.com/all_about_code?lang=en

 HPR2615: Cancer | File Type: audio/mpeg | Duration: Unknown

I had surgery for cancer in 2010, and family history of cancer, which means certain things have had to be done. https://www.palain.com/?page_id=338 https://en.wikipedia.org/wiki/Gleason_grading_system https://www.cancer.org/cancer/prostate-cancer/treating.html https://www.palain.com/?page_id=344

 HPR2614: My 1948 Truetone D1835 Tube Radio | File Type: audio/mpeg | Duration: Unknown

The 1948 Truetone D1835 Tube Radio I recently bought a vintage tube powered radio at an estate sale and in this episode I talk about it and let you hear it. Click the image to view my Flickr pictures. Watch A video showing the radio in action!

 HPR2613: Quick Awk Tip | File Type: audio/mpeg | Duration: Unknown

This is obvious, but it tripped me up a few times after listening to the excellent Awk series by Dave and B-yeezi, so I though I'd share it here to save others the trouble. When moving from simple awk commands to proper awk scripts, you put a shebang line at the top of your script. It's pretty common to many of us, because we do it for Python and Bash all the time. But if you just put: #!/usr/bin/awk Then your awk script won't work the way you expect. You must provide the -f flag: #!/usr/bin/awk -f Now you can pipe things to your awk script as expected.

 HPR2612: Liverpool Makefest 2018 - interview with Joe aka Concrete Dog | File Type: audio/mpeg | Duration: Unknown

In this episode I talk to Joe aka Concrete dog about amateur Rocketry https://concretedog.blogspot.com/2018/ https://twitter.com/concreted0g

 HPR2611: HPR Community News for July 2018 | File Type: audio/mpeg | Duration: Unknown

New hosts Welcome to our new host: Philip. Last Month's Shows Id Day Date Title Host 2586 Mon 2018-07-02 HPR Community News for June 2018 HPR Volunteers 2587 Tue 2018-07-03 Cleaning out your Digital Gutters knightwise 2588 Wed 2018-07-04 Miniature painting tuturto 2589 Thu 2018-07-05 Saving Money: a response to Klaatu's Personal Finance Series Jon Kulp 2590 Fri 2018-07-06 Blowing a PC Power Supply Tony Hughes AKA TonyH1212 2591 Mon 2018-07-09 International Troubleshooting NYbill 2592 Tue 2018-07-10 Tech Talk With Allison sigflup 2593 Wed 2018-07-11 Intro to De Bellis Antiquitatis tuturto 2594 Thu 2018-07-12

 HPR2610: Gnu Awk - Part 12 | File Type: audio/mpeg | Duration: Unknown

Gnu Awk - Part 12 Introduction This is the twelfth episode of the “Learning Awk” series which is being produced by b-yeezi and myself. In this episode I want to continue with the subject I started in episode 10, an advanced-level look at arrays in Awk. This episode covers patsplit which can split a string into an array, the built-in array PROCINFO which can be used to control how awk sorts arrays, as well as asort and asorti, built-in functions for sorting arrays. In case it might be of interest I have also included a section describing a recent use I made of awk to solve a problem. Long notes I have provided detailed notes as usual for this episode, and these can be viewed here. Links GNU Awk User’s Guide Previous shows in this series on HPR: “Gnu Awk - Part 1” - episode 2114 “Gnu Awk - Part 2” - episode 2129 “Gnu Awk - Part 3” - episode 2143 “Gnu Awk - Part 4” - episode 2163 “Gnu Awk - Part 5” - episode 2184 “Gnu Awk - Part 6” - episode 2238 “Gnu Awk - Part 7” - episode 2330 “Gnu Awk - Part 8” - episode 2438 “Gnu Awk - Part 9” - episode 2476 “Gnu Awk - Part 10” - episode 2526 “Gnu Awk - Part 11” - episode 2554 Resources: ePub version of these notes Examples: awk12_ex1.awk, awk12_ex2.awk, awk12_ex3.awk, awk12_ex4.awk, awk12_ex5.awk, awk12_ex6.awk, awk12_ex7.awk, awk12_ex8.awk, awk12_ex9.awk, awk12_ex10.awk, awk12_extra.awk

 HPR2609: SparkleShare | File Type: audio/mpeg | Duration: Unknown

Clacke mentioned SparkleShare in episode 2542, and it occurred to me that not everyone knows what Sparkleshare is. So here's a show about it. To setup SparkleShare, refer to SparkleShare.org. It's available for Linux, Windows, and Mac; great for cross-platform collaboration. The Linux installer uses FlatPak, so you do need to install that. Once installed, launch SparkleShare in the usual way. If you have no usual way, you can use this command: $ flatpak run org.sparkleshare.SparkleShare The first screen asks for your name and email. This doesn't have to be your real name and email, but it is what SparkleShare will use when making commits on your behalf. This name and email will be visible to anyone who can see your online Git repository. The next screen displays the Sync Remote Project screen. You use this screen any time you want to add another share to your sparkle. In this episode, I set up two projects: one brand new one using my home server as host, and one that mirrors an existing project on Gitlab.com. Adding a project from Gitlab The first thing you must do is give SparkleShare permission to access Gitlab. To do this, click on the SparkleShare icon in your system tray > SparkleShare > Client ID and copy your ID to your clipboard. Now go to your online Git host and add this "Client ID" to your approved SSH Keys. Where this is located depends on your Git host, but in Gitlab, it's located in the left column of the Settings screen. When your SSH Key has been added, Gitlab displays a key fingerprint (actually just a string of numbers) as confirmation. The path to your remote Git repository is the part of an URL after the host. It usually starts with your username. For example, if I have a project on Gitlab located at gitlab.com/notklaatu/foo.git then the path that SparkleShare needs is notklaatu/foo.git Click the Add button to add the project to your local SparkleShare folder. Adding a project hosted on your own server There are a lot more variables if you're hosting a Git repository on your own server. These are the things that you may need to account for: Is your local .ssh/config file setting some "invisible" defaults for when you SSH to your server? If so, you may need to modify or add an entry for SparkleShare. Your SparkleShare auto-generated "Client ID" is located in $HOME/.config/org.sparkleshare.SparkleShare/ssh Is your SparkleShare SSH key (the "Client ID" in SparkleShare lingo) in your authorized_hosts file? Does a Git repository exist on your remote server in the location you think it exists? Using SparkleShare Use SparkleShare exactly as you would DropBox or the NextCloud Desktop Client: drag-and-drop a file to add it, drag it to the Trash to delete it. All SparkleShare folders sync'd with any given project syncs automatically through the magickalfulness of Git hooks.

 HPR2608: BattleTech | File Type: audio/mpeg | Duration: Unknown

Following links might help you to get more familiar with the game. Manufacturer’s website: https://bg.battletech.com/ Forums, where fans have discussions about the game: https://bg.battletech.com/forums/ Sarna, extensive wiki: http://www.sarna.net/wiki/Main_Page

 HPR2607: Processing | File Type: audio/mpeg | Duration: Unknown

Get Processing from processing.org. Download, extract, and launch. On Linux, just click the processing file. Processing requires that either OpenJDK or Java to be installed. Processing requires a void setup() function, which is a function that Processing expects whenever an application is launched. If you don't have a setup function, your application still launches, but with basic Processing defaults. Try this to start with: void setup() { size(480,720); } Click the Run button in the top left corner to launch your [very simple] application: an empty window that is 480 pixels wide and 720 pixels tall. Draw a rectangle on your canvas by invoking Processing's void draw() function: void draw() { rect(10,10,80,80); } Click the Run button in the top left corner to launch your application. Add some colour to your rectangle: void draw() { fill(8,120,90); rect(10,10,80,80); } Click the Run button in the top left corner to launch your application. Make a simple painting app: void setup() { size(480,720); } void draw() { if (mousePressed) { fill(20,120,90); ellipse(mouseX,mouseY,25,25); } else { fill(random(10,120),random(10,80),random(20,200)); } } More Processing tricks: you can export your application as a standalone Java app, or as an Android .apk as long as you have the Android SDK installed. Processing's documentation is excellent. It has examples for all functions, with pictures.

 HPR2606: Liverpool Makefest 2018 - interview with Dan Lynch | File Type: audio/mpeg | Duration: Unknown

Another interview from Liverpool Makefest 2018 this time with Dan Lynch of Linux Outlaws and Floss Weekly https://lpoolmakefest.org/ http://makefest.podfactory.org/ https://twit.tv/shows/floss-weekly http://sixgun.org/linuxoutlaws/

 HPR2589: Saving Money: a response to Klaatu's Personal Finance Series | File Type: audio/mpeg | Duration: Unknown

Links 403(b) Tax-Sheltered Annuity Plans United States Savings Bonds Guitar Maker Robert Ruck

Comments

Login or signup comment.