Index :: FAQ :: Contact

Featured Media: Basenet Radio

The show has been dormant for some time (years) but its back.

Latest HackerMedia:

May 05, 2016

Hacker Public Radio
HPR2025: Using a Smarphone as a microphone
Hello citizen of the Internet, my name is njulian, and in my first Episode for HPR I want to talk about an App called "Microphone". This App is available for Android in the F-Droid repository, link is in the Shownotes. All it does is sending the audio input from the microphone directly into the audio output. This causes horrible feedback loops, if the output happens to be the Phone's speakers. But if you plug a Male-to-Male 3.5mm cable into your Phone and the other end into your Computer you can use your Smartphone as a Microphone. Actually I am using this right now to record this show with Audacity on my Laptop. The reasons for that are pretty simple: I don't have enough free space on my Phone to record a show with Urecord and the other is that I was curious if this app really works. Well, actually there is not much more I could tell about the App. It has no menu, no way to customize it, and as you can hear no noise suppression. That's about it, thanks for listening. The App: https://f-droid.org/repository/browse/?fdfilter=microphone&fdid=net.bitplane.android.microphone The Cable: https://en.wikipedia.org/wiki/Phone_connector_%28audio%29 Links https://f-droid.org/repository/browse/?fdfilter=microphone&fdid=net.bitplane.android.microphone https://en.wikipedia.org/wiki/Phone_connector_%28audio%29

May 04, 2016

Hacker Public Radio
HPR2024: Remapping Keys with xmodmap
In this episode I talk about how I tried to implement an idea that my son had when we were talking one day. I was complaining about file names with spaces in them, and he asked what if the computer automatically changed the spacebar so that it made underscores whenever somebody was trying to save a file? I thought this was a great idea. I even thought of a way implement it, though not quite as magically as he had envisioned. My solution involves the use of the command-line tools xev and xmodmap, and one blather voice prompt to launch the xmodmap command that will remap the spacebar to make underscores instead. Maybe somebody a whole lot smarter than me can figure out how to make this happen automatically whenever a save dialog box is open. First you need to find the keycode for your spacebar. Run the xev command and then press the spacebar to see which key code it is. Here's the output on my laptop: KeyPress event, serial 48, synthetic NO, window 0x4e00001, root 0xc0, subw 0x0, time 116149126, (-739,-226), root:(448,358), state 0x0, keycode 65 (keysym 0x20, space), same_screen YES, XLookupString gives 1 bytes: (20) " " XmbLookupString gives 1 bytes: (20) " " XFilterEvent returns: False As you can see, my spacebar has the keycode of "65." Now we use xmodmap to reassign keycode 65 to make underscores: xmodmap -e "keycode 65 = underscore" Now to test it out. While xev is running, press spacebar. Notice that now when the spacebar is pressed it makes an underscore: KeyPress event, serial 57, synthetic NO, window 0x2600001, root 0xc0, subw 0x0, time 116190619, (-520,-247), root:(667,337), state 0x0, keycode 65 (keysym 0x5f, underscore), same_screen YES, XLookupString gives 1 bytes: (5f) "_" XmbLookupString gives 1 bytes: (5f) "_" XFilterEvent returns: False And to change it back: xmodmap -e "keycode 65 = space" Now whenever I want to change the spacebar to make underscores or switch it back, I speak one of the following commands, which are in my blather configuration file. MAKE UNDERSCORES: xmodmap -e "keycode 65 = underscore" MAKE SPACES: xmodmap -e "keycode 65 = space" Links xmodmap man page: xmodmap is a utility for modifying keymaps and pointer button mappings in X xev man page: use xev print contents of X events Video Demonstration

Off the Hook
Off The Hook - May 04, 2016


The Linux Link Tech Show
The Linux Link Tech Show Episode 657
Richs drawer, android and jide, locust, redis

May 03, 2016

Hacker Public Radio
HPR2023: Setting up my Raspberry Pi 3
Setting up my Raspberry Pi 3 I bought a Raspberry Pi 3 in March 2016, soon after it was released. I want to use it as a server since it's the fastest Pi that I own, so I have tried to set it up in the best way for that role. In this episode I describe what I did in case you want to do something similar. Refer to the full notes for the details: http://hackerpublicradio.org/eps/hpr2023/full_shownotes.html Links Pimoroni Pibow 3: https://shop.pimoroni.com/products/pibow-for-raspberry-pi-3 Raspberry Pi Universal Power Supply: https://shop.pimoroni.com/products/raspberry-pi-universal-power-supply Raspberry Pi 3 Heatsink: https://shop.pimoroni.com/products/heatsink SATA Hard Drive to USB Adapter: https://shop.pimoroni.com/products/sata-hard-drive-to-usb-adapter SanDisk SSD PLUS 120 GB Sata III 2.5-inch Internal SSD: http://www.amazon.co.uk/SanDisk-PLUS-Sata-2-5-inch-Internal/dp/B00S9Q9UKS Kingston Flash Memory Card 32 GB: http://www.amazon.co.uk/Kingston-Class10-microSDHC-Include-Adapter/dp/B0162YQG2I FLIRC Raspberry Pi 2/3 Case: https://thepihut.com/products/flirc-raspberry-pi-3-b-case Adafruit tutorial "Using an External Drive as a Raspberry Pi Root Filesystem": https://learn.adafruit.com/external-drive-as-raspberry-pi-root/overview Article by paulv on the Raspberry Pi forums - "HOWTO: Move the filesystem to a USB stick/Drive": https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=44177 Copy of adafruit-pi-externalroot-helper script: http://hackerpublicradio.org/eps/hpr2023/adafruit-pi-externalroot-helper.txt Transcript of what happened when I ran the script: http://hackerpublicradio.org/eps/hpr2023/session_log.txt

Phone Losers
Permit Applications
Stan Trucker is the sponsor of today's show where we call people who've filled out event permit applications and present them with various wacky situations. This show also contains the world premiere of El Hombre's new single titled Under Your House.

May 02, 2016

Hacker Public Radio
HPR2022: Whats in my bag
Swissgear messenger bag http://www.conrad.com/ce/en/product/977572/Swissgear-Yukon-156-to-173-Laptop-Bag-Wenger-SwissGear-SWISSGEAR-173-Black (this link is to a newer version, closest I could find to my 7 year old bag) This bag has been with me since 2009, and for about the last 3 years did double duty, carrying both of my laptops with other assorted gear, and has held up beautifully, No fabric wear, not a stitch or seam broken anywhere. Both zippers are intact and still pull smooth and easily, they haven't even lost the pull-tabs (usually my first issue with any zipper). The handle and the shoulder strap are reasonably comfortable (for a single shoulder strap) and show no signs of wear either. Can't recommend this bag enough if you are looking for a tough messenger bag. If you are going to haul 2 laptops around (plus gear) I would strongly recommend something with 2 shoulder straps though, if you're doing any serious walking about. Toshiba Satellite P855-S5312 http://www.cnet.com/products/toshiba-satellite-p855-s5312-15-6-core-i5-3210m-windows-8-6-gb-ram-750-gb-hdd-series/specs/ I beefed up the ram to 16gb and removed the optical drive in order to install a second hard drive. I also replaced the original 750gb spinning HDD. The new drives were both samsung evo 500gb SSD's. http://www.newegg.com/Product/Product.aspx?Item=9SIA2W02DV8166 My only real gripe about this laptop is the screen resolution, which maxes out at 1366x768. IMHO, this is a waste of real estate on a 15.6 inch screen. I am looking into this, but replacement with a higher resolution screen seems to be unfeasible, from what I am reading. ( IF YOU HAVE SUGGESTIONS OR KNOW OF A SOLUTION I WOULD LOVE TO HEAR ABOUT IT!!) The old HP Pavillion dv5-1235dx http://www.cnet.com/products/hp-pavilion-dv5-1235dx-15-4-core-2-duo-t6400-vista-home-premium-64-bit-4-gb-ram-320-gb-hdd-series/specs/ (I dont presently haul this one around anymore) Got this one in '09. nice screen doing 1680x1050 , but I didn't care for the plastic housing. I like the metal case on the toshiba. - although older, I really liked this laptop, and still prefer the keyboard (although somewhat cramped) over the one on my Toshiba. The feel of the keys themselves and the distinctive stroke and light click as you press down through the detent, just feels better than the chiclet keyboard on my newer machine. Incidentally, I once spilled a rum and coke across this thing, keyboard and all, while it was powered down. After dry out and a good cleaning, it fired up and still works. I don't recommend trying to re create this experiment though. Dumb luck, I suppose. I was sure it would be a deader. Wacom intuos cth480 pen/touch tablet http://www.amazon.com/Wacom-Intuos-Tablet-Certified-Refurbished/dp/B00Q7FU5YS (this thing isn't available in this form anymore) these are very nice and work out of the box for me on debian, and mint, (cant speak for other distros). Getting the pen's pressure sensitivity settings in some drawing programs (krita, gimp, etc) can sometimes be a bit fiddly and sometimes hard to find. Overall works quite well, although I am not a professional artist. Trucker, remember? Fun to play with, and reasonably small so its good travel size. Toshiba 2TB 'canvio' portable hard drive Western Digital 2TB 'my passport ultra' portable hard drive I carry one of these (WD) for extra storage and backups of my laptop. The other ( the Toshiba) I use mostly for storage of my movies and TV series collections (gotta have your firefly fix, right?). As to which one is better, I prefer the case on the Toshiba, just seems more durable in that high impact plastic, but I will let you know when one of them fails me :) and for those real long distance wifi signals (and/or getting into monitor mode): TP-LINK TL-WN722N Wireless N150 High Gain USB Adapter (wifi antennae) 150Mbps http://www.amazon.com/TP-LINK-TL-WN722N-Wireless-Adapter-External/dp/B002SZEOLG?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_search_detailpage Alfa AWUS036H High power 1000mW with 5dBi Rubber Antenna and a 7dBi Panel Antenna http://www.amazon.com/Alfa-Awus036H-Upgraded-Long-Rang-Panel/dp/B003YHYIT0?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_search_detailpage NooElec R820T SDR & DVB-T NESDR Mini A lightweight toy for playing with software defined radio (SDR) programs, which you can see at nooelec.com if you want IFIXIT 54 bit driver kit, very handy for ripping open your gear. Crappy tools make for a crappy day, right? "disposable" reading glasses http://www.amazon.com/Valupac-Reading-Glasses-Include-Gunmetal/dp/B00JRNIHWY?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_search_detailpage (missed these in the audio) zebra f-301 ballpoint pens, black ink, 2 in fine point and 2 in medium several cheap highlighter markers and one sharpie Just to be clear...I included many of the links here from Amazon and other shopping sites, or from c-net, because I couldn't see how to load my pictures in with the notes, not because I want to give product reviews or sell anyone anything. I know it can be done, because I see it elsewhere, I'm just too tired to figure it out now. next one. As I understand it, I owe at least 2-3 shows. Be patient with me Ken, I'm workin' on it. Links http://www.conrad.com/ce/en/product/977572/Swissgear-Yukon-156-to-173-Laptop-Bag-Wenger-SwissGear-SWISSGEAR-173-Black http://www.cnet.com/products/toshiba-satellite-p855-s5312-15-6-core-i5-3210m-windows-8-6-gb-ram-750-gb-hdd-series/specs/ http://www.newegg.com/Product/Product.aspx?Item=9SIA2W02DV8166 http://www.cnet.com/products/hp-pavilion-dv5-1235dx-15-4-core-2-duo-t6400-vista-home-premium-64-bit-4-gb-ram-320-gb-hdd-series/specs/ http://www.amazon.com/Wacom-Intuos-Tablet-Certified-Refurbished/dp/B00Q7FU5YS http://www.amazon.com/TP-LINK-TL-WN722N-Wireless-Adapter-External/dp/B002SZEOLG?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_search_detailpage http://www.amazon.com/Alfa-Awus036H-Upgraded-Long-Rang-Panel/dp/B003YHYIT0?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_search_detailpage http://www.amazon.com/Valupac-Reading-Glasses-Include-Gunmetal/dp/B00JRNIHWY?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_search_detailpage

May 01, 2016

Hacker Public Radio
HPR2021: HPR Community News for April 2016
New hosts Welcome to our new hosts: Joe, brian. Last Month's Shows Id Day Date Title Host 2000 Fri 2016-04-01 How to Point a Satellite Dish Ken Fallon 2001 Mon 2016-04-04 HPR Community News for March 2016 HPR Volunteers 2002 Tue 2016-04-05 Just got a Raspberry Pi Zero swift110 2003 Wed 2016-04-06 Using the Incron file watching daemon b-yeezi 2004 Thu 2016-04-07 A First Look at the Owon B35T NYbill 2005 Fri 2016-04-08 How I prepare and record my HPR Kdenlive voiceover shows. Geddes 2006 Mon 2016-04-11 Basic Audio Production - Compression Nacho Jordi 2007 Tue 2016-04-12 My new laptop Dave Morriss 2008 Wed 2016-04-13 HPR needs shows to survive. Ken Fallon 2009 Thu 2016-04-14 Understanding the GNU/Screen Hardstatus line Curtis Adkins (CPrompt^) 2010 Fri 2016-04-15 Parsing JSON with Python klaatu 2011 Mon 2016-04-18 Introduction to sed - part 4 Dave Morriss 2012 Tue 2016-04-19 Parsing XML in Python with Untangle klaatu 2013 Wed 2016-04-20 Parsing XML in Python with Xmltodict klaatu 2014 Thu 2016-04-21 A first look at the Owon B35T Part 2 NYbill 2015 Fri 2016-04-22 Linux in the Church Joe 2016 Mon 2016-04-25 Echoprint laindir 2017 Tue 2016-04-26 Here are my thoughts on a 3D printer Kit. cheeto4493 2018 Wed 2016-04-27 How to make Komboucha Tea b-yeezi 2019 Thu 2016-04-28 a pi project and an owncloud project Matt McGraw (g33kdad) 2020 Fri 2016-04-29 Automotive Billing brian Mailing List discussions Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the Mail List which is open to all HPR listeners and contributors. The discussions are open and available on the Gmane archive. The main threads this month were: From: NYbill <nybill@...> Date: 2016-04-04 17:08:54 -0400 Subject: Fwd: Re: Defaults... Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1159 Messages: 1 From: Ken Fallon <ken@...> Date: 2016-04-05 20:20:08 +0200 Subject: Call for shows Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1160 Messages: 5 From: Mike Ray <mike@...> Date: 2016-04-06 13:45:38 +0100 Subject: HTML notes accessibility pointer Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1161 Messages: 7 From: Curtis Adkins <curtadkins@...> Date: 2016-04-09 21:26:57 -0400 Subject: Upload show issue Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1168 Messages: 2 From: Ken Fallon <ken@...> Date: 2016-04-12 08:12:09 +0200 Subject: Fwd: CFP for Full Stack Fest 2016 has opened! Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1170 Messages: 1 From: Ken Fallon <ken@...> Date: 2016-04-19 13:21:58 +0200 Subject: 11th Annual People's Podcast Awards Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1175 Messages: 1 From: Ken Fallon <ken@...> Date: 2016-04-21 15:46:34 +0200 Subject: Fwd: for your podcast: interview about FOSS situation in Russia Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1176 Messages: 1 From: Frank Bell <frankwbell@...> Date: 2016-04-21 13:37:59 -0400 Subject: Proposed New Series Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1177 Messages: 8 From: Carl D Hamann <carl.hamann@...> Date: 2016-04-22 10:42:04 -0500 Subject: Re: Proposed New Series Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1184 Messages: 2 From: Dave Morriss <perloid@...> Date: 2016-04-25 15:27:13 +0100 Subject: HPR Community News - next Saturday on 2016-04-30T18:00:00Z Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1187 Messages: 5 From: Fifty OneFifty <fiftyonefifty@...> Date: 2016-04-25 21:56:10 -0500 Subject: Re: Hpr Digest, Vol 91, Issue 11 Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1189 Messages: 3 From: Carl D Hamann <carl.hamann@...> Date: 2016-04-25 23:01:41 -0500 Subject: Re: HPR Community News - next Saturday on 2016-04-30T18:00:00Z Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1191 Messages: 1 From: Dave Morriss <perloid@...> Date: 2016-04-30 18:21:57 +0100 Subject: Re: HPR Community News - next Saturday on 2016-04-30T18:00:00Z Link: http://comments.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1196 Messages: 1 Total messages this month: 38 Comments this month These are comments which have been made during the past month, either to shows released during the month or to past shows. There are 46 comments: hpr1987 (2016-03-15) "Pomodoro Timer - The Evolution of a Script (pt 1)" by Nacho Jordi. Comment 2: David L. Willson on 2016-04-17: "changed my life" hpr1990 (2016-03-18) "Pomodoro Timer - The Evolution of a Script part deux" by Nacho Jordi. Comment 1: David L. Willson on 2016-04-17: "found it!" hpr1993 (2016-03-23) "Can your window manager do this?" by Nacho Jordi. Comment 1: sigflup on 2016-04-04: "ratpoison" hpr1996 (2016-03-28) "Xdotool magic" by Nacho Jordi. Comment 1: Urugami on 2016-04-18: "File Naming" hpr1998 (2016-03-30) "Homebrewing" by m1rr0r5h4d35. Comment 2: Ken Fallon on 2016-04-07: "Would love to hear the full recoring" hpr1999 (2016-03-31) "How I record a full band under Linux" by noplacelikeslashhome. Comment 1: Jon Kulp on 2016-04-01: "More on Ardour!" Comment 2: Ken Fallon on 2016-04-06: "More detail" hpr2000 (2016-04-01) "How to Point a Satellite Dish" by Ken Fallon. Comment 1: Mike Ray on 2016-04-04: "I tried very hard..." Comment 2: droops on 2016-04-04: "Very Good" Comment 3: Frank on 2016-04-05:"[no title]" Comment 4: Ken Fallon on 2016-04-06: "Beep" hpr2001 (2016-04-04) "HPR Community News for March 2016" by HPR Volunteers. Comment 1: Jon Kulp on 2016-04-04: "Not a Timing Belt" hpr2002 (2016-04-05) "Just got a Raspberry Pi Zero" by swift110. Comment 1: Ken Fallon on 2016-04-06: "I'm so jealous" hpr2003 (2016-04-06) "Using the Incron file watching daemon" by b-yeezi. Comment 1: Ken Fallon on 2016-04-06: "Installing this now" hpr2004 (2016-04-07) "A First Look at the Owon B35T" by NYbill. Comment 1: Ken Fallon on 2016-04-07: "daisy chain" Comment 2: NYbill on 2016-04-07: "Americanism's?" Comment 3: Dave Morriss on 2016-04-07: "Not an Americanism to my knowledge" Comment 4: Ken Fallon on 2016-04-08: "Why not what" Comment 5: NYbill on 2016-04-08:"[no title]" hpr2005 (2016-04-08) "How I prepare and record my HPR Kdenlive voiceover shows." by Geddes. Comment 1: NYbill on 2016-04-10: "Well done." Comment 2: Ken Fallon on 2016-04-17: "Such Effort" hpr2006 (2016-04-11) "Basic Audio Production - Compression" by Nacho Jordi. Comment 1: Ken Fallon on 2016-04-17: "Great Addition" hpr2007 (2016-04-12) "My new laptop" by Dave Morriss. Comment 1: Ken Fallon on 2016-04-17: "Suspect" Comment 2: Dave Morriss on 2016-04-18: "I dunno what you're talking about" Comment 3: Alpha32 on 2016-04-26: "Interesting show" hpr2008 (2016-04-13) "HPR needs shows to survive." by Ken Fallon. Comment 1: 0xf10e on 2016-04-13: "But Ken, " Comment 2: Jonathan Kulp on 2016-04-14: "sure you can!" Comment 3: Ken Fallon on 2016-04-17: "Thanks" hpr2009 (2016-04-14) "Understanding the GNU/Screen Hardstatus line" by Curtis Adkins (CPrompt^). Comment 1: Ken Fallon on 2016-04-22: "Great show" hpr2010 (2016-04-15) "Parsing JSON with Python" by klaatu. Comment 1: Zen_Floater2 on 2016-04-14: "squirrel" Comment 2: Ken Fallon on 2016-04-22: "Don't like xpath !" hpr2011 (2016-04-18) "Introduction to sed - part 4" by Dave Morriss. Comment 1: b-yeezi on 2016-04-18: "Wow" Comment 2: Dave Morriss on 2016-04-19: "Thanks" Comment 3: Ken Fallon on 2016-04-22: "Nice one" hpr2012 (2016-04-19) "Parsing XML in Python with Untangle" by klaatu. Comment 1: Ken Fallon on 2016-04-22: "Normal Parsers" hpr2013 (2016-04-20) "Parsing XML in Python with Xmltodict" by klaatu. Comment 1: sigflup on 2016-04-19: "cool" Comment 2: Ken Fallon on 2016-04-22: "large complex files " hpr2014 (2016-04-21) "A first look at the Owon B35T Part 2" by NYbill. Comment 1: Mike Ray on 2016-04-21: "Great Show" Comment 2: NYbill on 2016-04-21: "Its a brand new bench! " Comment 3: Ken Fallon on 2016-04-25: "Logging in android" hpr2015 (2016-04-22) "Linux in the Church" by Joe. Comment 1: jan on 2016-04-24:"[no title]" Comment 2: Ken Fallon on 2016-04-25: "Great episode" hpr2016 (2016-04-25) "Echoprint" by laindir. Comment 1: Ken Fallon on 2016-04-25: "Thank you Thank you Thank you Thank you " hpr2019 (2016-04-28) "a pi project and an owncloud project" by Matt McGraw (g33kdad). Comment 1: Matt (g33kdad) on 2016-04-23: "Some photos" Comment 2: Jonathan Kulp on 2016-04-30: "Muttonchop too" hpr2020 (2016-04-29) "Automotive Billing" by brian. Comment 1: Frank on 2016-04-30:"[no title]"

April 28, 2016

Hacker Public Radio
HPR2020: Automotive Billing
I get a call to look at my friend's broke down car.

Phone Losers
Lube Job Customers Still Aren't Angry
Today is yet another episode of car dealership prank calls where nobody gets very angry or confused about our calls to them. You can thanks Ty A. for that, who is the sponsor of today's show.

April 27, 2016

Hacker Public Radio
HPR2019: a pi project and an owncloud project
HPR - A couple of Projects I've been working on Intro Please record a show!!!!! Couple of Projects Pi Project Love of Music Digital, of course and webradio Sonos, other proprietary solutions Got a Pi2 for XMas Pi Music Box RuneAudio Arch Based underlying tech is MPD flash SD Card boot with network cable attached add music and webradios to library .pls and .m3u files PhotoFrame Project proprietary items tablet/smart phone lying around ownCloud update for my parents on the road Links and other Goodies Pi Project SomaFM Capital Public Radio Sonos Samsung Shape PiMusicBox Rune Audio Music Player Daemon USB Audio Dongle (amazon link... NOT an affiliate link) PicFrame Project ownCloud Kindle Fire HD 6 PicFrame PicFrame Android App Contact Info Matt McGraw - matty at the strangeland dot net Stay-At-Home G33k Dad ~ Fatherhood in the digital age @sahg33kdad Google+ www.google.com/+MattMcGraw The following link includes a photo of the RPi in the bookshelf with the stereo as well as a screenshot of the Rune Audio app running on my Android phone. https://cloud.thestrangeland.net/index.php/s/CdbU1povrcproZQ

Off the Hook
Off The Hook - Apr 27, 2016


The Linux Link Tech Show
The Linux Link Tech Show Episode 656
joels review of the remix jide tablet, good stuff.

April 26, 2016

Hacker Public Radio
HPR2018: How to make Komboucha Tea
How to Make Kamboucha Tea Makes about 1 gallon Ingredients Ingredient US Metric water 3 1/2 quarts ?? white sugar 1 cup ?? black tea 8 bags (or 2 tablespoons loose tea) ?? starter tea from last batch of kombucha or store-bought 2 cups ?? scoby 1 per fermentation jar N/A Optional flavoring extras for bottling: 1 to 2 cups chopped fruit, 2 to 3 cups fruit juice, 1 to 2 tablespoons flavored tea (like hibiscus or Earl Grey), 1/4 cup honey, 2 to 4 tablespoons fresh herbs or spices Equipment Stock pot 1-gallon glass jar or two 2-quart glass jars Bottles: Six 16-oz glass bottles with plastic lids, 6 swing-top bottles, or clean soda bottles Instructions Note: Avoid prolonged contact between the kombucha and metal both during and after brewing. This can affect the flavor of your kombucha and weaken the scoby over time. 1. Make the Tea Base: Bring the water to a boil. Remove from heat and stir in the sugar to dissolve. Drop in the tea and allow it to steep until the water has cooled. Depending on the size of your pot, this will take a few hours. You can speed up the cooling process by placing the pot in an ice bath. 2. Add the Starter Tea: Once the tea is cool, remove the tea bags or strain out the loose tea. Stir in the starter tea. (The starter tea makes the liquid acidic, which prevents unfriendly bacteria from taking up residence in the first few days of fermentation.) 3. Transfer to Jars and Add the Scoby: Pour the mixture into a 1-gallon glass jar (or divide between two 2-quart jars, in which case you'll need 2 scobys) and gently slide the scoby into the jar with clean hands. Cover the mouth of the jar with a few layers of cheesecloth or paper towels secured with a rubber band. 4. Ferment for 7 to 10 Days: Keep the jar at room temperature, out of direct sunlight, and where it won't get jostled. Ferment for 7 to 10 days, checking the kombucha and the scoby periodically. It's not unusual for the scoby to float at the top, bottom, or even sideways. A new cream-colored layer of scoby should start forming on the surface of the kombucha within a few days. It usually attaches to the old scoby, but it's ok if they separate. You may also see brown stringy bits floating beneath the scoby, sediment collecting at the bottom, and bubbles collecting around the scoby. This is all normal and signs of healthy fermentation. After seven days, begin tasting the kombucha daily by pouring a little out of the jar and into a cup. When it reaches a balance of sweetness and tartness that is pleasant to you, the kombucha is ready to bottle. 5. Remove the Scoby: Before proceeding, prepare and cool another pot of strong tea for your next batch of kombucha, as outlined above. With clean hands, gently lift the scoby out of the kombucha and set it on a clean plate. As you do, check it over and remove the bottom layer if the scoby is getting very thick. 6. Bottle the Finished Kombucha: Measure out your starter tea from this batch of kombucha and set it aside for the next batch. Pour the fermented kombucha (straining, if desired) into bottles, along with any juice, herbs, or fruit you may want to use as flavoring. Leave about a half inch of head room in each bottle. (Alternatively, infuse the kombucha with flavorings for a day or two in another jar covered with cheesecloth, strain, and then bottle. This makes a cleaner kombucha without "stuff" in it.) 7. Carbonate and Refrigerate the Finished Kombucha: Store the bottled kombucha at room-temperature out of direct sunlight and allow 1 to 3 days for the kombucha to carbonate. Until you get a feel for how quickly your kombucha carbonates, it's helpful to keep it in plastic bottles; the kombucha is carbonated when the bottles feel rock solid. Refrigerate to stop fermentation and carbonation, and then consume your kombucha within a month. 8. Make a Fresh Batch of Kombucha: Clean the jar being used for kombucha fermentation. Combine the starter tea from your last batch of kombucha with the fresh batch of sugary tea, and pour it into the fermentation jar. Slide the scoby on top, cover, and ferment for 7 to 10 days. Additional Notes: • Batch Size: To increase or decrease the amount of kombucha you make, maintain the basic ratio of 1 cup of sugar, 8 bags of tea, and 2 cups starter tea per gallon batch. One scoby will ferment any size batch, though larger batches may take longer. • Putting Kombucha on Pause: If you'll be away for 3 weeks or less, just make a fresh batch and leave it on your counter. It will likely be too vinegary to drink by the time you get back, but the scoby will be fine. For longer breaks, store the scoby in a fresh batch of the tea base with starter tea in the fridge. Change out the tea for a fresh batch every 4 to 6 weeks. • Other Tea Options: Black tea tends to be the easiest and most reliable for the scoby to ferment into kombucha, but once your scoby is going strong, you can try branching out into other kinds. Green tea, white tea, oolong tea, or a even mix of these make especially good kombucha. Herbal teas are ok, but be sure to use at least a few bags of black tea in the mix to make sure the scoby is getting all the nutrients it needs. Avoid any teas that contain oils, like earl grey or flavored teas. • Avoid Prolonged Contact with Metal: Using metal utensils is generally fine, but avoid fermenting or bottling the kombucha in anything that brings them into contact with metal. Metals, especially reactive metals like aluminum, can give the kombucha a metallic flavor and weaken the scoby over time. Troubleshooting Kombucha • It is normal for the scoby to float on the top, bottom, or sideways in the jar. It is also normal for brown strings to form below the scoby or to collect on the bottom. If your scoby develops a hole, bumps, dried patches, darker brown patches, or clear jelly-like patches, it is still fine to use. Usually these are all indicative of changes in the environment of your kitchen and not a problem with the scoby itself. • Kombucha will start off with a neutral aroma and then smell progressively more vinegary as brewing progresses. If it starts to smell cheesy, rotten, or otherwise unpleasant, this is a sign that something has gone wrong. If you see no signs of mold on the scoby, discard the liquid and begin again with fresh tea. If you do see signs of mold, discard both the scoby and the liquid and begin again with new ingredients. • A scoby will last a very long time, but it's not indestructible. If the scoby becomes black, that is a sign that it has passed its lifespan. If it develops green or black mold, it is has become infected. In both of these cases, throw away the scoby and begin again. • To prolong the life and maintain the health of your scoby, stick to the ratio of sugar, tea, starter tea, and water outlined in the recipe. You should also peel off the bottom (oldest) layer every few batches. This can be discarded, composted, used to start a new batch of kombucha, or given to a friend to start their own. • If you're ever in doubt about whether there is a problem with your scoby, just continue brewing batches but discard the kombucha they make. If there's a problem, it will get worse over time and become very apparent. If it's just a natural aspect of the scoby, then it will stay consistent from batch to batch and the kombucha is fine for drinking.

April 25, 2016

Hacker Public Radio
HPR2017: Here are my thoughts on a 3D printer Kit.
I purchased a 3D printer kit from AliExpress. http://www.aliexpress.com/item/Free-shipping-High-Quality-Precision-Reprap-Prusa-i3-DIY-3d-Printer-kit-with-2-Roll-Filament/32424257787.html Here are some after thoughts on how I liked it, a little overview of 3D printers and why I bought this one. Pictures of the printer as assembled, and a few items I printed http://www.travestylabs.com/3Dprinter/ I hope to make this into a series about software, tips and modifications, and other thoughts I have to share about it. Links http://www.aliexpress.com/item/Free-shipping-High-Quality-Precision-Reprap-Prusa-i3-DIY-3d-Printer-kit-with-2-Roll-Filament/32424257787.html http://www.travestylabs.com/3Dprinter/

April 24, 2016

Hacker Public Radio
HPR2016: Echoprint
Ken's message asking about programmatically checking for the intro and outro: http://thread.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1039 The Echoprint website: http://echoprint.me Codegen source code: https://github.com/echonest/echoprint-codegen Echoprint - An Open Music Identification Service: https://www.ee.columbia.edu/~dpwe/pubs/EllisWP11-echoprint.pdf Server source codehttps://github.com/echonest/echoprint-server

Phone Losers
Falling Off The Potato Wagon
UtahKurt is responsible for RBCP falling off the potato wagon today and calling up a bunch of lube job customers who refused to get angry about the horrible things I did inside their cars.

April 21, 2016

Hacker Public Radio
HPR2015: Linux in the Church
Linux has been my exclusive OS for many years. When I became the tech director at my church I wanted to utilize the power and freedom of Open Source so I'm gradually implementing it on many of my project.

April 20, 2016

Hacker Public Radio
HPR2014: A first look at the Owon B35T Part 2
In this episode of HPR you get to hear more of the things on NYbill's electronics bench that make clicking noises. The review of the Owon B35T's continues. Bluetooth is now working. And we get an inside look at the meter. The Owon B35T: http://tinyurl.com/glgpe2f Pics for the episode: http://tinyurl.com/glf3hqb

Off the Hook
Off The Hook - Apr 20, 2016


Phone Losers
Microwave Beam Experiments For Science
Jeff sponsors today's educational edition of The Snow Plow Show. Thanks, Jeff! In this episode we notify members of a homeowner's association that we're beaming microwaves at their house and there's nothing they can do about it.

The Linux Link Tech Show
The Linux Link Tech Show Episode 655
reactions to intel insecurity, rich and his apple woes

April 19, 2016

Hacker Public Radio
HPR2013: Parsing XML in Python with Xmltodict
If Untangle is too simple for your XML parsing needs, check out xmltodict. Like untangle, xmltodict is simpler than the usual suspects (lxml, beautiful soup), but it's got some advanced features as well. If you're reading this article, I assume you've read at least the introduction to my article about Untangle, and you should probably also read, at some point, my article on using JSON just so you know your options. Quick re-cap about XML: XML is a way of storing data in a hierarchical arrangement so that the data can be parsed later. It's explicit and strictly structured, so one of its benefits is that it paints a fairly verbose definition of data. Here's an example of some simple XML: <?xml version="1.0"?> <book> <chapter id="prologue"> <title> The Beginning </title> <para> This is the first paragraph. </para> </chapter> <chapter id="end"> <title> The Ending </title> <para> Last para of last chapter. </para> </chapter> </book> And here's some info about the xmltodict library that makes parsing that a lot easier than the built-in Python tools: Install Install xmltodict manually, or from your repository, or using pip: $ pip install xmltodict or if you need to install it locally: $ pip install --user xmltodict Xmltodict With xmltodict, each element in an XML document gets converted into a dictionary (specifically an OrderedDictionary), which you then treat basically the same as you would JSON (or any Python OrderedDict). First, ingest the XML document. Assuming it's called sample.xml and is located in the current directory: >>> import xmltodict >>> with open('sample.xml') as f: ... data = xmltodict.parse(f.read()) If you're a visual thinker, you might want or need to see the data. You can look at it just by dumping data: >>> data OrderedDict([('book', OrderedDict([('chapter', [OrderedDict([('@id', 'prologue'), ('title', 'The Beginning'), ...and so on... Not terribly pretty to look at. Slightly less ugly is your data set piped through json.dumps: >>> import json >>> json.dumps(data) '{"book": {"chapter": [{"@id": "prologue", "title": "The Beginning", "para": "This is the first paragraph."}, {"@id": "end", "title": "The Ending", "para": "This is the last paragraph of the last chapter."}] }}' You can try other feats of pretty printing, if they help: >>> pp = pprint.PrettyPrinter(indent=4) >>> pp.pprint(data) { 'book': { 'chapter': [{'@id': 'prologue', 'title': 'The Beginning', 'para': 'This is the ... ...and so on... More often than not, though, you're going to be "walking" the XML tree, looking for specific points of interest. This is fairly easy to do, as long as you remember that syntactically you're dealing with a Python dict, while structurally, inheritance matters. Elements (Tags) Exploring the data element-by-element is very easy. Calling your data set by its root element (in our current example, that would be data['book']) would return the entire data set under the book tag. We'll skip that and drill down to the chapter level: >>> data['book']['chapter'] [OrderedDict([('@id', 'prologue'), ('title', 'The Beginning'), ('para', 'This is the first paragraph.')]), OrderedDict([('@id', 'end'), ('title', 'The Ending'), ('para', 'Last paragraph of last chapter.')])] Admittedly, it's still a lot of data to look at, but you can see the structure. Since we have two chapters, we can enumerate which chapter to select, if we want. To see the zeroeth chapter: >>> data['book']['chapter'][0] OrderedDict([('@id', 'prologue'), ('title', 'The Beginning'), ('para', 'This is the first paragraph.')]) Or the first chapter: >>> data['book']['chapter'][1] OrderedDict([('@id', 'end'), ('title', 'The Ending'), ('para', 'Last paragraph of last chapter.')]) And of course, you can continue narrowing your focus: >>> data["book"]["chapter"][0]['para'] 'This is the first paragraph.' It's sort of like Xpath for toddlers. Having had to work with Xpath, I'm happy to have this option. Attributes You may have already noticed that in the dict containing our data, there is some special notation happening. For instance, there is no @id element in our XML, and yet that appears in the dict. Xmltodict uses the @ symbol to signify an attribute of an element. So to look at the attribute of an element: >>> data['book']['chapter'][0]['@id'] 'prologue' If you need to see each attribute of each chapter tag, just iterate over the dict. A simple example: >>> for c in range(0,2): ... data['book']['chapter'][c]['@id'] ... 'prologue' 'end' Contents In addition to special notation for attributes, xmltodict uses the # prefix to denote contents of complex elements. To show this example, I'll make a minor modification to sample.xml: <?xml version="1.0"?> <book> <chapter id="prologue"> <title> The Beginning </title> <para class="linux"> This is the first paragraph. </para> </chapter> <chapter id="end"> <title> The Ending </title> <para class="linux"> Last para of last chapter. </para> </chapter> </book> Notice that the <para> elements now have a linux attribute, and also contain text content (unlike <chapter> elements, which have attributes but only contain other elements). Look at this data structure: >>> import xmltodict >>> with open('sample.xml') as g: ... data = xmltodict.parse(g.read()) >>> data['book']['chapter'][0] OrderedDict([('@id', 'prologue'), ('title', 'The Beginning'), ('para', OrderedDict([('@class', 'linux'), ('#text', 'This is the first paragraph.')]))]) There is a new entry in the dictionary: #text. It contains the text content of the <para> tag and is accessible in the same way that an attribute is: >>> data['book']['chapter'][0]['para']['#text'] 'This is the first paragraph.' Advanced The xmltodict module supports XML namespaces and can also dump your data back into XML. For more documentation on this, have a look at the module on github.com/martinblech/xmltodict. What to Use? Between untangle, xmltodict, and JSON, you have pretty good set of options for data parsing. There really are diferent uses for each one, so there's not necessarily a "right" or "wrong" answer. Try them out, see what you prefer, and use what is best. If you don't know what's best, use what you're most comfortable with; you can always improve it later. [EOF] Made on Free Software.

April 18, 2016

Hacker Public Radio
HPR2012: Parsing XML in Python with Untangle
XML is a popular way of storing data in a hierarchical arrangement so that the data can be parsed later. For instance, here is a simple XML snippet: <?xml version="1.0"?> <book> <chapter id="prologue"> <title> The Beginning </title> </chapter> </book> The nice thing about XML is that it is explicit and strictly structured. The trade-off is that it's pretty verbose, and getting to where you want to go often requires fairly complex navigation. If you do a quick search online for XML parsing in Python, your two most common results are lxml and beautifulsoup. These both work, but using them feels less like opening a dictionary (as with JSON) to look up a definition and more like wandering through a library to gather up all the dictionaries you can possibly find. In JSON, the thought process might be something like: "Go to the first chapter's title and print the contents." With traditional XML tools, it's more like: "Open the book element and gather all instances of titles that fall within those chapters. Then, look into the resulting object and print the contents of the first occurrence." There are at least two libaries that you can install and use to bring some sanity to complex XML structures, one of which is untangle. Untangle With untangle, each element in an XML document gets converted into a class, which you can then probe for information. Makes no sense? well, follow along and it will become clear: First, ingest the XML document. Assuming it's called sample.xml and is located in the current directory: >>> import untangled >>> data = untangle.parse('sample.xml') Now our simple XML sample is sitting in RAM, as a Python class. The first element is <book> and all it contains is more elements, so its results are not terribly exciting: >>> data.book Element(name = book, attributes = {}, cdata = ) As you can see, it does identify itself as "book" (under the name listing) but otherwise, not much to look at. That's OK, we can keep drilling down: >>> data.book.chapter Element(name = chapter, attributes = {'id': 'prologue'}, cdata = ) Now things get more interesting. The next element identifies itself as "chapter", and reveals that it has an attribute "id" which has a value of "prologue". To continue down this path: >>> data.book.chapter.title Element(name = title, attributes = {}, cdata = The Beginning ) And now we have a pretty complete picture of our little XML document. We have a breadcrumb trail of where we are in the form of the class we are invoking (data.book.chapter.title) and we have the contents of our current position. Sniping That's very linear; if you know your XML schema (and you usually do, since XML is quite strict) then you can grab values without all the walking. For instance, we know that our chapters have 'id' attributes, so we can ask for exactly that: >>> data.book.chapter['id'] 'prologue' You can also get the contents of elements by looking at the cdata component of the class. Depending on the formatting of your document, untangle may be a little too literal with how it stores contents of elements, so you may want to use .strip() to prettify it: >>> data.book.chapter.title.cdata.strip() 'The Beginning' Dealing with More Than One Element My example so far is nice and tidy, with only one chapter in the book. Generally you'll be dealing with more data than that. Let's add another chapter to our sample file, and some content to each: <?xml version="1.0"?> <book> <chapter id="prologue"> <title> The Beginning </title> <para> This is the first paragraph. </para> </chapter> <chapter id="end"> <title> The Ending </title> <para> Last para of last chapter. </para> </chapter> </book> Accessing each chapter is done with index designations, just like with a dict: >>> data.book.chapter[0] Element(name = chapter, attributes = {'id': 'prologue'}, cdata = ) >>> data.book.chapter[1] Element(name = chapter, attributes = {'id': 'end'}, cdata = ) If there is more than one instance of a tag, you must use a designator or else untangle won't know what to return. For example, if we want to access either the title or para elements within a chapter: >>> data.book.chapter.title Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'list' object has no attribute 'title' Oops. But if we tell it which one to look at: >>> data.book.chapter[0].title.cdata.strip() 'The Beginning' >>> data.book.chapter[1].title.cdata.strip() 'The Ending' Or you can look at the paragraph instead of the title. The lineage is the same, only instead of looking at the title child, you look at the para child: >>> data.book.chapter[0].para.cdata.strip() 'This is the first paragraph.' >>> data.book.chapter[1].para.cdata.strip() 'Last para of last chapter.' You can also iterate over items: >>> COUNT = [0,1] >>> for TICK in COUNT: ... print(data.book.chapter[TICK]) Element <chapter> with attributes {'id': 'prologue'} and children [Element(name = title, attributes = {}, cdata = The Beginning ), Element(name = para, attributes = {}, cdata = This is the first paragraph.)] Element <chapter> with attributes {'id': 'end'} and children [Element(name = title, attributes = {}, cdata = The Ending ), Element(name = para, attributes = {}, cdata = Last para of last chapter.)] And so on. Easy and Fast I'll admit the data structure of the classes does look odd, and you could probably argue it's not the cleanest and most elegant of all output; it's unnerving to see empty cdata fields or to constantly run into the need to strip() whitespace. However, the ease and speed and intuitiveness of parsing XML with untangle is usually well worth any trade-offs. [EOF] Made on Free Software.

Phone Losers
987214-A
Milkbrain sponsors today's show where we talk to homeowners about their roofs and their front yard in ground pools.


[more]
Link to us!

Hackermedia.org is provided by:
Binary Revolution | Infonomicon Computer Club