This is the “enhanced” podcast for HPR1989 – in addition to being in the high-quality yet lower-bandwidth .opus format, the file linked herein contains proper Chapter markings in the proper metadata format along with a full complement of additional metadata, including an embedded copy of the show-notes. Therefore, if you download this file, you’ll have high-quality audio and all of the useful supplementary material all gathered together without having to go poking around elsewhere on the internet or transport multiple files that you have to keep together.
Of course, the show-notes are also reproduced here, so you’re not missing too much if you just listen from this page (Mozilla Firefox, Google Chrome, and their derivatives all support .opus playback. Microsoft will HOPEFULLY properly support it in Edge someday, too, if they ever figure out you have to actually support the file format that .opus comes in and not just the codec.
One final note before we get to the episode proper: I’ve included links to graphics online in most of the chapter markings (“CHAPTER###URL”) – I’m curious to know if anyone finds a media player that properly supports this feature! I do know VLC recognizes the chapter markings, but I’m not sure that it picks up on the supplementary information.
"WDTV Makes Me Itch"
A step-by-step description of turning an old computer into a simple linux media player
If you’d like to listen in a more full-featured player, or offline, here’s a direct link to download the file:https://hpr.dogphilosophy.net/hpr1989/hpr1989Enhanced.opus
This half-hour-long episode describes the complete process for turning an old, limited thin-client terminal (an HP T5740) – and incidentally just about any other kind of hardware – into a simple automatic media-playing kiosk-style device, running VLC on a hand-made minimalist Arch Linux installation. I’ve tried to describe the procedure I came up with in enough detail that anyone with a little bit of Linux experience can hopefully follow and potentially replicate the whole thing, but not so much detail that it gets horrifically tedious. Some of the extra details I glossed over in the audio are here in the show notes if you want them.
This episode will mostly be of interest to people with a little bit of Linux experience, but may hopefully be interesting to a few others. Mac and Windows partisans take note: before you start giggling about how "complicated" it is to set up Linux as you listen to what I describe here, I will reiterate that I chose to do the install "by hand" like this, and I assure you a more typical Linux install is quite a bit simpler (having just spent several months brutally installing Windows systems on innocent computers, getting an ordinary Linux installation finished is not only easier but faster. ("Windows is getting ready to start to prepare to configure updates. Please wait 5 hours and don’t turn off your computer…") So there.
Some Linuxable Hardware I Mentioned: Installing linux on old computers, laptops, etc. is such a well-established tradition that I don’t see any reason to hunt down specific examples, but I also mentioned:
- Dead Badgers: http://www.strangehorizons.com/2004/20040405/badger.shtml
- Raspberry Pi: https://archlinuxarm.org/platforms/armv6/raspberry-pi
I assume I don’t need to explain that the Dead Badgers thing isn’t entirely serious… It’s not entirely a joke, either: How To Case-Mod a Beaver
[Match] Name=en* [Network] DHCP=ipv4
Autostart X on tty1 only: https://wiki.archlinux.org/index.php/Xinitrc#Autostart_X_at_login
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
I actually have also tried the "web browser kiosk" thing with the browser loading up a particular web page on start. It actually works just fine, except that the Windows DHCP server seems to be kind of slow, and if I just let the system start without checking the browser initially just shows an "internet no work" sort of message. I got around this nicely by adding a couple of steps to .xinitrc before starting the web browser. First, I created a graphic to use as an X background that just has text that indicates that it’s waiting for the network to come up. Then, I put a loop in .xinitrc that checks for a hostname on the internet to see if it resolves to an IP yet, which would tell me the internet had come up. I didn’t want to have to install any specific additional software utilities or, ideally, to have to do any special parsing. It turns out that you can just use "getent ahosts4 google.com" (or other internet hostname) as a test for this – it will return nothing if the name doesn’t resolve, so you only need to test if the response is not a blank. I used "sleep 1" to pause one second between tries. Once the resolution returns something, I had xsetbg change the background graphic to a more appropriate default and continue starting the browser, the VNC server, etc.
The .xinitrc for that looks like this:
if [ -d /etc/X11/xinit/xinitrc.d ] ; then for f in /etc/X11/xinit/xinitrc.d/?* ; do [ -x "$f" ] && . "$f" done unset -f fi xset s off xset -dpms xsetbg -fullscreen WaitingForNetwork.png #vlc --extraintf=http --http-host 0.0.0.0:8080 --http-password 'PutPasswordHere' -L playlist.m3u & #Not sure this is necessary - chromium seems to retry on its own while [ `getent ahostsv4 google.com` -eq ''] do ##wait one second then check again to see if network is up sleep 1 done xsetbg NetworkNowUp.png ##The URL below is a "test to see if you can connect to a conference" link chromium --incognito --app=https://www3.gotomeeting.com/join/406552062 & x0vncserver -display :0 -passwordfile /home/tech/.vnc/passwd & exec openbox-session
If you have any questions or comments, you can leave them at either
or on my own blog right here (https://hpr.dogphilosophy.net)
I did it. It’s too late. Nobody can stop me now. I recorded a thing. No, really, and not only that, but I uploaded it to Hacker Public Radio! I’m pretty sure everyone assumed I’d been abducted by ravenous space-alien humanitarians (i.e. like “vegetarians”, but for humans instead of vegetables) but that’s not what’s kept me from getting recordings done at all. Now that the ordinary audio is uploaded into…Read more...
I started up a “grab-bag” episode covering three sets of topics and realized each one had plenty of material to be its own episode, so now I’m working on 3 episodes… An episode on “Things to do with discarded/obsolete Android phones” (part 1: stuff that you can do by just installing and running free apps without root access or custom firmware) has plenty of fun in it, and will end…Read more...
This is actually a show-concept I started playing with intermittently half a decade ago (before I became a Hacker Public Radio contributor), where I would find a scientific paper that was either over-hyped in the news OR (preferably) was about such an ordinary piece of useful scientific work that nobody’s University PR Department bothered to turn it into a breathless press release, and then record a “science news” show episode…Read more...
(Now that it’s come out in the official Hacker Public Radio feed, here’s the even-more-awesome opus version. If you want the Ogg Vorbis, Speex, or crappy-old-mp3 versions, check out the official Hacker Public Radio page instead) “Today’s episode discusses (and encourages) the use of metadata tags in audio files. Most of the episode is spent on id3v2.3 metadata for mp3 files) and vorbiscomments (metadata for opus, ogg vorbis, flac, and…Read more...
Finally, after taking too long again (but still maintaining the trend of reducing the time between episodes…), just a few minutes ago I finished tweaking and uploading my most recent topic: “Audio Metadata in Ogg, MP3, and others“. It’s about 45 minutes long, covering mostly id3v2.3 (MP3 metadata) and vorbiscomments (virtually-everyone-else-that-matters metadata), but I also talk a little about matroska/webm metadata, mp4 metadata, wav, and “windows media”. This one took…Read more...
Still working on things – version 1.1 of the Opus codec reference software is due any day now, so I’m waiting to see the final word on what’s new in it besides the general “even better quality”. Busy season is upon us here at the Asylum for the Sufficiently Nerdy, so it’s gotten somewhat more difficult to find large chunks of time to carefully research, assemble information, and record it…Read more...
I’m going to cover the Opus codec and posting legally-free audio on the web as the next episode. Ingress is just now starting to get some changes that should make it substantially more interesting (and it was pretty interesting to begin with, I think!), but not only do I want some time to actually try out the changes, I think the subject of the Opus codec is getting relatively more…Read more...
My third HPR contribution is now up at Hacker Public Radio. Now, if you’re interested in Google’s new location-based game, Ingress, this should hopefully be a reasonable, minimally-lame and hopefully unstupid introduction to the topic. Let me know what you think – I’ve got a followup episode to do, so now’s your chance to throw in suggestions to make it better. Thanks! Meanwhile, assuming you’re using modern web software, you…Read more...
I finally got around to getting my first episode on Ingress recorded. It needs a little clean-up, volume adjustment, a little minor mixing, and some written show notes, but it sounds like the audio is in pretty good shape. I should be able to get it done and uploaded by sometime tomorrow (well, “later today” by my clock’s reckoning, since it’s now “tomorrow” from when I started). After an online…Read more...