skip to main content - dyslexic font - mobile - text - print

Hacker Public Radio

Your ideas, projects, opinions - podcasted.

New episodes Monday through Friday.

Correspondent

klaatu


Host ID: 78

gnuworldorder.info


email: klaatu.nospam@nospam.member.fsf.org
episodes: 147

hpr2013 :: Parsing XML in Python with Xmltodict

Released on 2016-04-20 under a CC-BY-SA license.

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.


hpr2012 :: Parsing XML in Python with Untangle

Released on 2016-04-19 under a CC-BY-SA license.

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.


hpr2010 :: Parsing JSON with Python

Released on 2016-04-15 under a CC-BY-SA license.

JSON is a popular way of storing data in a key/value type arrangement so that the data can be parsed easily later. For instance, here is a very simple JSON snippet:

{
"name":"tux",
"health":"23",
"level":"4"
}

If you are like me, three questions probably spring to your mind:

  1. That looks an awful lot like a Python dictionary.

    Yes, it looks exactly like a Python dictionary. They are shockingly similar. If you are comfortable with Python lists and dictionaries, you will feel right at home with JSON.

  2. I don't feel comfortable with dictionaries, can't I just use a delimited text file?

    You can, but you will have to write parsers for it yourself. If your data gets very complex, the parsing can get pretty ugly.

    That is not to say that you should not use a simple delimited text file if that is all that your programme needs. For example, I would not want to open a config file as a user and find that I have to format all my options as valid JSON.

    Just know that JSON is out there and available, and that the JSON Python module has some little features that make your life easier when dealing with sets of data.

  3. Why not use XML instead?

    You can. Mostly one should use the most appropriate format for one's project. I'm a big fan of XML, but sometimes JSON makes more sense.

I am not going to make this post about teaching the JSON format. If you need clarification on how to structure data into JSON, go through a tutorial on it somewhere; there are several good ones online. Honestly, it's not that complex; you can think of JSON as nested dictionaries.

Starting from scratch, let's say that you write a programme that by nature gathers data as it runs. When the user quits, you want to save the data to a file so that when the user resumes the app later, they can load the file back in and pick up where they left off.

Storing Data as JSON

At its most basic, the JSON data structure is basically the same as a Python dictionary, and in fact the nice thing about JSON is that it can be directly imported into a Python dictionary. Usually, however, you are resorting to JSON because you have somewhat complex data, so in the sample code we will use a dictionary-within-a-dictionary:

#!/usr/bin/env python

game = {'tux': {'health': 23, 'level': 4}, 'beastie': {'health': 13, 'level': 6}}
# you can always add more to your dictionary

game['konqi'] = {'health': 18, 'level': 7}

That code creates a ditionary called game which stores the player name and a corresponding dictionary of attributes about how the player is doing in the progress of the game. As you can see after the comment, adding new players is simple.

Now let's see how to save that data to a save file.

## continued...
import json

with open('dosiero.json', 'w') as outfile:
    json.dump(game, outfile)

That would be your save command. Simple as that, all the structured content of your game dictionary is committed to a file on your hard drive.

Reading Data from a JSON File

If you are saving data to JSON, you probably will evenually want to read the data back into Python. For this, Python features the function json.load

import json

dosiero = open('dosiero.json')
game = json.load(dosiero)

print game['tux']     # prints {'health': 23, 'level': 4}
print game['tux']['health']    # prints 23
print game['tux']['level']     # prints 4

# when finished, close the file

json_data.close()

As you can see, JSON integrates surprisingly well with Python, so it's a great format when your data fits in with its model.

Have fun!

[EOF]

Made with Free Software.


hpr1942 :: Kobo Touch N-905 E-Reader

Released on 2016-01-12 under a CC-BY-SA license.

Klaatu reviews the Kobo Touch N-905 e-reader.

Too Long; Didn't Listen: it's a positive review and the device mostly works well with Linux. There are some exceptions, such as the need to hack around the registration process; luckily, that's easy:

http://gedakc.users.sourceforge.net/display-doc.php?name=kobo-desktop-ereader-setup

That being "the ugly", here are the Good and the Bad:

Good:

  • works with Linux, after one initial hack
  • uses file manager or calibre
  • great format support (EPUB, EPUB3, PDF, MOBI, JPEG, GIF, PNG, BMP, TIFF, TXT, HTML, RTF, CBZ, CBR)
  • e-ink
  • great battery life (lasts a month on one charge, with every evening and weekend filled with reading)
  • a little more interactive and configurable than expected
  • one device, one app, one purpose
  • small, lightweight, convenient
  • cheap ($60 USD)
  • expansion up to 32gb

Negative

  • requires registration (or a rego hack)
  • rearranges your books by meta data; no override to respect your dirs
  • touch screen
  • slow (though not annoyingly slow)
  • long time to index books
  • hard to keep track of books you are currently reading
  • sleep/off screen should be more configurable

hpr1937 :: Klaatu talks to Cloudera about Hadoop and Big Data

Released on 2016-01-05 under a CC-BY-SA license.

Cloudera delivers the modern platform for data management and analytics. We provide the world’s fastest, easiest, and most secure Apache Hadoop platform to help you solve your most challenging business problems with data.

http://www.cloudera.com/
https://hadoop.apache.org/


hpr1932 :: Klaatu interviews Grafana

Released on 2015-12-29 under a CC-BY-SA license.

Grafana provides a powerful and elegant way to create, explore, and share dashboards and data with your team and the world.

Grafana is most commonly used for visualizing time series data for Internet infrastructure and application analytics but many use it in other domains including industrial sensors, home automation, weather, and process control.

http://grafana.org


hpr1927 :: Ansible Interview

Released on 2015-12-22 under a CC-BY-SA license.

Klaatu talks to Ansible at All Things Open conference.


hpr1923 :: Klaatu and System76

Released on 2015-12-16 under a CC-BY-SA license.

Klaatu interviews Sam about kjd newest line of System76 computers, now with an all metal body! (the computers, not Klaatu, or Sam)

https://system76.com/


hpr1917 :: OpenSource.com

Released on 2015-12-08 under a CC-BY-SA license.

Klaatu interviews Rikki Endsley from http://opensource.com, a community-driven website covering news and events in the open source world. Klaatu sometimes contributes to http://opensource.com, so this interview is tainted and biased. Beware!


hpr1912 :: OpenNMS at All Things Open Conference

Released on 2015-12-01 under a CC-BY-SA license.

Klaatu talks to Jessie the OpenNMS project at the All Things Open Conference.


hpr1907 :: Charlie Reisinger and Penn Manor

Released on 2015-11-24 under a CC-BY-SA license.

Klaatu interviews Charlie Reisinger about how Penn Manor school district uses of open source...on every student's laptop.


hpr1880 :: Arduino Bluetooth HOWTO

Released on 2015-10-16 under a CC-BY-SA license.

Klaatu talks about the HC-05 and -06 series of bluetooth modules and how to use them with an Arduino, including some basic code on the Arduino to get it to respond to signals over bluetooth, and some basic PyQt code on how to send signals to the bluetooth device. PLUS, he talks about configuring the bluetooth so that it is connected to the serial port of your system (so that Python can use it).

A super basic bluetooth controller app can be found here: https://gitlab.com/makerbox/rovcon (it's Klaatu's code, and it's not quite finished, so if you have improvements or questions, feel free to comment or merge or email)


hpr1856 :: ssh config

Released on 2015-09-14 under a CC-BY-SA license.

Put a file called 'config' into ~/.ssh and you can define any option you would normally provide as part of the command as an automatically-detected configuration.

For example:

host foo
    hostname foo.org
    identityfile /home/klaatu/.ssh/foo_rsa
    port 2740
    protocol 2

Makes the command 'ssh klaatu@foo' look like this to SSH:

ssh -p2740 -i ~/.ssh/foo_rsa klaatu@foo.org

hpr1691 :: Arduino 101 Arduino IO

Released on 2015-01-26 under a CC-BY-SA license.

In this two-part series, Klaatu introduces you to the Arduino. First, learn about the breadboard and how to make electricity course through it in order to power your very own simple circuit.

To follow along with what Klaatu is talking about, refer to these two graphics:

And here are diagrams of the simple circuits that Klaatu constructs.

image: a diagramme of the simple circuit in todays show

The simple code to reset the servo:

#include <Servo.h>
Servo myservo;

int servoPosition;

void setup()
{
  myservo.attach(13);
  myservo.write(90);
}

void loop() {}

And the code that responds to input:

#include <Servo.h>
Servo myservo; 

int servoPosition;
int servoMax = 180;
int servoMin = 0;

int value;
int valMax = 600;
int valMin = 50;


void setup()
{
  myservo.attach(13);
}

void loop() 
{
  value = analogRead(0);
  servoPosition = map(value, valMin, valMax, servoMax, servoMin);
  servoPosition = constrain(servoPosition, servoMin, servoMax);
  myservo.write(servoPosition);
}

And here is a bonus diagramme that you can try to create, using a light sensor, servo, and resistor.

image: homework

hpr1690 :: Arduino 101 Breadboard

Released on 2015-01-23 under a CC-BY-SA license.

In this two-part series, Klaatu introduces you to the Arduino. First, learn about the breadboard and how to make electricity course through it in order to power your very own simple circuit.

To follow along with what Klaatu is talking about, refer to these two graphics:

And here are diagrams of the simple circuits that Klaatu constructs.

image: a diagram of the simplest circuit in todays show

image: a diagram of the switched circuit in todays show


hpr1668 :: Nixstaller

Released on 2014-12-24 under a CC-BY-SA license.

Cross-distro and -POSIX packages are easy with Nixstaller. (Note that this pre-dates and is entirely unrelated to NixOS or Nix packages.)

Download Nixstaller from http://nixstaller.sourceforge.net and read the docs there.

Review the sample package templates included in the examples dir.

Generate an empty template dir with genprojdir.sh

Modify the config.lua and run.lua files to suit your needs.

Place your payload(s) into the appropriate folders.

Generate your re-distributable install file with geninstall.sh:

geninstall foo-1.0.0 foo.run

That's it!


hpr1616 :: Howto Use Webfonts

Released on 2014-10-13 under a CC-BY-SA license.

Klaatu reveals the secret of webfonts WITHOUT using Google. How can this be? Listen and find out.


hpr1606 :: Howto VNC

Released on 2014-09-29 under a CC-BY-SA license.

Klaatu talks about how to get to VNC up and running. It focuses on x11vnc but basically it applies to any variety.

Virtual Network Computing
From Wikipedia, the free encyclopedia

In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.
VNC is platform-independent – There are clients and servers for many GUI-based operating systems and for Java. Multiple clients may connect to a VNC server at the same time. Popular uses for this technology include remote technical support and accessing files on one's work computer from one's home computer, or vice versa.
VNC was originally developed at the Olivetti & Oracle Research Lab in Cambridge, United Kingdom. The original VNC source code and many modern derivatives are open source under the GNU General Public License.
There are a number of variants of VNC which offer their own particular functionality; e.g., some optimised for Microsoft Windows, or offering file transfer (not part of VNC proper), etc. Many are compatible (without their added features) with VNC proper in the sense that a viewer of one flavour can connect with a server of another; others are based on VNC code but not compatible with standard VNC.
VNC and RFB are registered trademarks of RealVNC Ltd. in the U.S. and in other countries.


hpr1601 :: Howto Install LAMP

Released on 2014-09-22 under a CC-BY-SA license.

If you're just starting out as a web developer or designer, you should know about LAMP and how to use it. This episode introduces you to the basics.

LAMP (software bundle)
From Wikipedia, the free encyclopedia
LAMP is an acronym for an archetypal model of web service solution stacks, originally consisting of largely interchangeable components: Linux, the Apache HTTP Server, the MySQL relational database management system, and the PHP programming language. As a solution stack, LAMP is suitable for building dynamic web sites and web applications.
https://en.wikipedia.org/wiki/LAMP_%28software_bundle%29


hpr1596 :: About the Word "Hack"

Released on 2014-09-15 under a CC-BY-SA license.

Klaatu muses about the word "hack" and what it means, what it should mean, and how we can keep it meaningful.


hpr1579 :: Crowd Sourced Air Quality Monitoring

Released on 2014-08-21 under a CC-BY-SA license.

Klaatu interviews a programmer about new crowd-sourced air quality detection systems. Big crowds at this Carnegie Melon event, so the sound quality is not great.

Links

CMU CREATE Lab

hpr1574 :: Arts and Bots

Released on 2014-08-14 under a CC-BY-SA license.

Klaatu interviews a teacher about the use of robots and programming in liberal arts classes. Big crowds at this Carnegie Melon event, so the sound quality is not great.

Links

CMU CREATE Lab

hpr1522 :: How to Use Docker and Linux Containers

Released on 2014-06-03 under a CC-BY-SA license.

How to use Docker and Linux Containers


hpr1494 :: The Next Gen is You (2/2)

Released on 2014-04-24 under a CC-BY-SA license.

Steam OS or Steam on Linux, anti-micro for game controller optimisation.
Part 2 of 2
http://straightedgelinux.com/blog/opinions/box.html


hpr1493 :: The Next Gen is You (1/2)

Released on 2014-04-23 under a CC-BY-SA license.

Steam OS or Steam on Linux, anti-micro for game controller optimisation.


hpr1376 :: How Should We Then Teach the Art of Computing?

Released on 2013-11-11 under a CC-BY-SA license.
In this episode Klaatu discusses the Art of Computing.

hpr1358 :: how to set up GnuPG, a PGP-compliant encryption

Released on 2013-10-16 under a CC-BY-SA license.

Klaatu explains how to set up GnuPG, a PGP-compliant encryption system, and use it with both Thunderbird and Mutt mail clients.

Links

Set up GnuPG: http://straightedgelinux.com/blog/howto/setupgnupg.html

Using Mutt: http://straightedgelinux.com/blog/howto/mutt.html

Klaatu's humble dot-muttrc file: http://gnuworldorder.info/dot-muttrc (there are better ones out there)

Klaatu's public key


hpr1277 :: Icecast 102

Released on 2013-06-25 under a CC-BY-SA license.

Klaatu talks about how to feed Icecast with different sources like MPD and BUTT, and how to use the front-ends ncmpcpp and gmpc.

Here are the simple and ugly shell scripts that Klaatu uses to manage his Icecast streaming station. They aren't quite finished products yet but they'll give you an idea of how one might realistically manage an internet radio station from the shell:

http://slackermedia.info/radio

Klaatu is indebted to Delwin, The Last Known God, and Ruji for their help on this episode.


hpr1272 :: Open Badges?

Released on 2013-06-18 under a CC-BY-SA license.

Cyanide Cupcake and Klaatu ponder the new Open Badge spec, and whether badges are important, useful, or...a government conspiracy!

Links

openbadges.org


hpr1259 :: Cyanide Cupcake and Klaatu

Released on 2013-05-30 under a CC-BY-SA license.

Cyanide Cupcake talks to Klaatu about the Scratch programming language.

Links


hpr1207 :: Icecast 101

Released on 2013-03-19 under a CC-BY-SA license.

Klaatu talks about how to set up Icecast, new Ices, old Ices, and a nice little (simple) HTML5 player. This is part one of a two-part series.

Here are the raw commands for Icecast, Ices, and Ices-cc:

#start the streaming server
icecast -c /etc/icecast.xml -B

#start the mp3 stream
ices-cc -c /etc/ices-cc.conf -F /home/dj/playlist.txt -R -b 96 -m mp3 -P radio

# start the ogg stream
ices /etc/ices/ices-playlist.xml

Here is the code for the simple HTML5 player that Klaatu mentions in the episode. It's straight HTML5 but in case you're new to HTML5 then this could be useful:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>My Great Streaming Server Example dot Com</title>
</head>
<div id="player">
<audio width="100px" height="200px" autoplay loop controls autobuffer preload="auto">
      <source src="http://example.com:8000/mp3" type="audio/mp3" />
      <source src="http://example.com:8000/ogg" type="audio/ogg" />
</audio>
</div>
  </body>
</html>

Klaatu is indebted to Kwisher, Delwin, and Ruji for their help on this series.


hpr1188 :: Rmail in Emacs

Released on 2013-02-20 under a CC-BY-SA license.

11 hours to go. 235 funders Contributed $8,633 USD of $20,000 43%
Donate here http://www.indiegogo.com/projects/sonar-project

Klaatu sneaks in an addendum to his Emacs mini-series on howto use Rmail in Emacs. Bonus topics include how to configure fancy Unix mail tools like msmtp, procmail, tmail, and fetchmail.


hpr1127 :: AFP file share on a Linux server

Released on 2012-11-27 under a CC-BY-SA license.

Klaatu continues his Networking Basics series with a howto set up a netatalk/AFP file share on a Linux server for native-like file sharing for Mac clients.

Apple Filing Protocol
From Wikipedia, the free encyclopedia

This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. Please help to improve this article by introducing more precise citations. (March 2008) The Apple Filing Protocol (AFP), formerly AppleTalk Filing Protocol, is a proprietary network protocol that offers file services for Mac OS X and original Mac OS. In Mac OS X, AFP is one of several file services supported including Server Message Block (SMB), Network File System (NFS), File Transfer Protocol (FTP), and WebDAV. AFP currently supports Unicode file names, POSIX and access control list permissions, resource forks, named extended attributes, and advanced file locking. In Mac OS 9 and earlier, AFP was the primary protocol for file services.
https://en.wikipedia.org/wiki/Apple_Filing_Protocol


hpr1121 :: Klaatu continues his Networking Basics series with a SAMBA howto.

Released on 2012-11-19 under a CC-BY-SA license.
Klaatu continues his Networking Basics series with a SAMBA howto.
http://samba.org

hpr0882 :: RPM format

Released on 2011-12-19 under a CC-BY-SA license.

Klaatu continues his three-part series on packaging applications for GNU Linux and BSD. In this second episode, he covers the RPM format and howto use rpmbuild to create both binary and source RPM packages. He uses SigFLUP's yesplz as an example again, so be sure to grab the source if you'll be following along.

Get this episode in ogg vorbis courtesy the GNU World Order.


hpr0876 :: Packaging applications: BSD ports

Released on 2011-12-11 under a CC-BY-SA license.

Klaatu concludes his three-part series on packaging applications for GNU Linux and BSD. In this episode, he covers BSD ports; how to get them, how to write one, and how to install it. Then he gives his opinion on the myriad packaging options that unix users have available to them.

Get this episode in ogg vorbis courtesy the GNU World Order.


hpr0872 :: Packaging YUM

Released on 2011-12-05 under a CC-BY-SA license.

A bonus episode in the Packaging Applications for Linux mini series! Inspired by Thrice in IRC, Klaatu discusses the yum package manager and how to weild it like an ancient RPM warrior.


hpr0866 :: Publican, the user-friendly Perl frontend to Docbook XML

Released on 2011-11-28 under a CC-BY-SA license.

Klaatu introduces you to Publican, the user-friendly Perl frontend to Docbook XML from the Fedora Linux Project. Also, how to set up vim with XML tag completion.

Links

Also see Docbook The Definitive Guide

nXML-mode for GNU Emacs.

Feel free to glance over the dot-emacs file that Klaatu uses, mostly stolen from Unix guru Bill Von Hagen (who in turn stole it from lots of other people; read comments for credits)

XML Completion for Vim


hpr0861 :: Emacs Part 3: The Reckoning.

Released on 2011-11-20 under a CC-BY-SA license.

A small mini series (three parts) on GNU Emacs; Klaatu tells you how to use it, when to use it and when not to, why you'd want to use it, and most of all - how to become a pro on it! Not a sales pitch for Emacs, just a harmless introduction. First try is free.


hpr0856 :: GNU Emacs 2

Released on 2011-11-13 under a CC-BY-SA license.

Second episode of three in Klaatu's GNU Emacs mini series. This time, you and Klaatu will tackle the .emacs file and learn how to bring text highlighting, modern-style copy/paste keybindings, and even a little taste of buffers and frame-type things.


hpr0853 :: Pat Volkerding of Slackware Linux chats with Klaatu

Released on 2011-11-08 under a CC-BY-SA license.

Pat Volkerding of Slackware Linux chats with Klaatu and whomever happens to wander by (Maco, Vincent Batts, Chad Wallenberg, and others) at the SELF afterparty.

Slackware

From Wikipedia, the free encyclopedia

Slackware is a free and open source Linux-based operating system. It was one of the earliest operating systems to be built on top of the Linux kernel and is the oldest currently being maintained. Slackware was created by Patrick Volkerding of Slackware Linux, Inc. in 1993. The current stable version is 13.37, released on April 27, 2011.
Slackware aims for design stability and simplicity, and to be the most "Unix-like" Linux distribution, making as few modifications as possible to software packages from upstream and using plain text files and a small set of shell scripts for configuration and administration.

photo of Pat Volkerding

Warning: this is not a proper interview, just 40 minutes of aimless and fairly noisy chit chat at a party. So it's probably not for everyone, although if you're a Slackware fan then it might be of some interest.

http://www.slackware.com/
http://en.wikipedia.org/wiki/Patrick_Volkerding
http://en.wikipedia.org/wiki/Slackware


hpr0852 :: GNU Emacs 1

Released on 2011-11-07 under a CC-BY-SA license.

A small mini series (three parts) on GNU Emacs; Klaatu tells you how to use it, when to use it and when not to, why you'd want to use it, and most of all - how to become a pro on it! Not a sales pitch for Emacs, just a harmless introduction. First try is free.

emacs logo

GNU Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing. The features of GNU Emacs include:

  • Content-sensitive editing modes, including syntax coloring, for a variety of file types including plain text, source code, and HTML.
  • Complete built-in documentation, including a tutorial for new users.
  • Full Unicode support for nearly all human languages and their scripts.
  • Highly customizable, using Emacs Lisp code or a graphical interface.
  • A large number of extensions that add other functionality, including a project planner, mail and news reader, debugger interface, calendar, and more. Many of these extensions are distributed with GNU Emacs; others are available separately.

hpr0846 :: Jared Smith from Fedora

Released on 2011-10-30 under a CC-BY-SA license.

Klaatu, losing his voice from too much Ohio Linux Festivities, interviews Jared Smith, the project manager of Fedora Linux.

http://fedoraproject.org/wiki/Fedora_Project_Wiki
http://www.jaredsmith.net/


hpr0841 :: Jonathan Nadeau

Released on 2011-10-23 under a CC-BY-SA license.

At the Ohio Linux Fest, Klaatu interviews Jonathan Nadeau about the FSF, Trisquel Linux, Linux and accessibility, and how non-programmers can get involved with software projects.


hpr0836 :: Jeff from No Machine

Released on 2011-10-16 under a CC-BY-SA license.

Klaatu interviews Jeff from No Machine.


hpr0831 :: Chris from Sourceforge.net

Released on 2011-10-09 under a CC-BY-SA license.

Klaatu interviews Chris from Sourceforge.net, at the Ohio Linux Fest.


hpr0827 :: HPR booth and HostGator

Released on 2011-10-03 under a CC-BY-SA license.

Klaatu talks about howto establish an HPR booth at your favourite tech conference, and gives a report about HPR's presence at the Ohio Linux fest this year. Also, an interview with Lance from HostGator.com


hpr0823 :: Klaatu talks to Trevor, a programmer for Phonon's Gstreamer backend

Released on 2011-09-27 under a CC-BY-SA license.

At the Ohio Linux Fest, Klaatu talks to Trevor, a programmer for Phonon's Gstreamer backend.


hpr0820 :: Setting up a web server and a mySQL server

Released on 2011-09-22 under a CC-BY-SA license.

Klaatu continues his Networking Basics series with an overview on setting up and configuring a web server and a mySQL server.

Get the ogg vorbis version from the Gnu World Order.


hpr0807 :: MaraDNS

Released on 2011-09-05 under a CC-BY-SA license.

Klaatu continues his Networking Basics series with a howto set up a simple DNS server using MaraDNS.

Get the ogg vorbis version from the Gnu World Order.


hpr0801 :: Slackbuilds

Released on 2011-08-28 under a CC-BY-SA license.

Klaatu begins a three-part series on packaging applications for GNU Linux and BSD. In this first episode, he covers Slackbuilds using SigFLUP's yesplz as an example.

Get this episode in ogg vorbis courtesy the GNU World Order.


hpr0793 :: Server/Client relationship, DHCP server

Released on 2011-08-16 under a CC-BY-SA license.

Remember back in the 400s of HPR when Klaatu was doing a Networking Basics miniseries? Well, its back, with an introduction to the concept of the Server / Client relationship, how to set up a server as an internet gateway and a DHCP server.


hpr0780 :: NovaCut

Released on 2011-07-29 under a CC-BY-SA license.
klaatu talks to Jason DeRose about NovaCut (http://novacut.com/)
The fund raiser will end on Friday Jul 29, 11:00pm EDT and they have 774 Backers. They already have raised $25,435 of their $25,000 goal
http://www.kickstarter.com/projects/novacut/novacut-pro-video-editor

hpr0767 :: Maddog and "super dumb terminals"

Released on 2011-07-11 under a CC-BY-SA license.

At the South East Linux Fest 2011, Klaatu talks to Maddog about "super dumb terminals", super computing, a sys admin's rightful position in the world, and much more.

For lovers of ogg, the episode can also be found at the Gnu World Order website.


hpr0765 :: South East Linux Fest organizers

Released on 2011-07-07 under a CC-BY-SA license.

Klaatu talks to the organizers of this year's South East Linux Fest, Dave S. Yates (of the Lotta Linux Links podcast) and the tireless Mr. Jeremy Sands.

For lovers of ogg, the episode can also be found at the Gnu World Order website.


hpr0760 :: /dev/Rob0 of maintainer of the SlackBuilds.org mailing list

Released on 2011-06-30 under a CC-BY-NC-SA license.

Klaatu talks to /dev/Rob0, a Slackware user, maintainer of the SlackBuilds.org mailing list, and a presenter at the South East Linux Fest 2011.

For lovers of ogg, the episode can also be found at the Gnu World Order website.


hpr0731 :: Klaatu the ubiquity and potential danger of the rm command

Released on 2011-05-22 under a CC-BY-NC-SA license.

Klaatu discusses the imbalance between the ubiquity and potential danger of the rm command. He proposes the alternative command, trash.

Get this episode in ogg vorbis.

Git the trash shell script from gitorious.org/trashy


hpr0727 :: HOWTO root and mod an Andr0id phone.

Released on 2011-05-16 under a CC-BY-NC-SA license.

Klaatu's HOWTO root and mod an Andr0id phone.

Links:

This episode is also available in ogg vorbis.


hpr0723 :: How to be a safe computerist

Released on 2011-05-10 under a CC-BY-NC-SA license.

Klaatu brings his Urban Camping series to a close with a discussion of how to be a safe computerist whilst urban camping. He covers ssh, X Forwarding, tor, tcpdump, and general computer common sense.

The ogg version is available from GNU World Order.


hpr0720 :: CLI Magic

Released on 2011-05-06 under a CC-BY-NC-SA license.

Klaatu talks to Mark, aka deltaRay, from CLI Magic and suso.com about the command line, the Indiana Linux Fest, and more!

Git yer ogg version from the GNU World Order.


hpr0711 :: Klaatu and Verbal chat about web2py

Released on 2011-04-25 under a CC-BY-NC-SA license.

At the first Indiana Linux Fest, Klaatu and Verbal sit down to chat about web2py.

Free codec lover? Get your ogg here.


hpr0641 :: Urban Camping ep 7

Released on 2011-01-17 under a CC-BY-NC-SA license.

What does an urban camper do all day? Find out in this exciting seventh episode of the HOW TO be an Urban Camper mini series!

Say, is that Irving Gillette and the lovely Ada Jones singing "In the Heart of the City That Has No Heart" at the end? Why yes! it is. But don't thank me, thank archive.org


hpr0638 :: Urban Camping ep 6

Released on 2011-01-12 under a CC-BY-NC-SA license.

Episode 6 of HOW TO be an Urban Camper. This one talks about making money whilst urban camping.

End song is "Play or Give me my Money Back" by Michael Tokarick via archive.org


hpr0634 :: Urban Camping ep 5

Released on 2011-01-06 under a CC-BY-NC-SA license.

The fifth episode in Klaatu's HOW TO be an Urban Camper mini series, about where to find food.


hpr0626 :: Urban Camping ep 4

Released on 2010-12-27 under a CC-BY-NC-SA license.

The third episode in Klaatu's HOW TO be an Urban Camper mini series, about organization of your gear, and the eternal quest for the perfect coffee travel mug.


hpr0624 :: Urban Camping ep 3

Released on 2010-12-23 under a CC-BY-NC-SA license.

The third episode in Klaatu's HOW TO be an Urban Camper mini series, about the always engrossing topic of personal hygiene.


hpr0620 :: Klaatu holds an interview with Tek Systems

Released on 2010-12-17 under a CC-BY-NC-SA license.
Klaatu talks to Tek Systems at SELF 2010. Listen to the ogg vorbis version courtesy of the Bad Applez.

hpr0615 :: Urban Camping ep 2

Released on 2010-12-10 under a CC-BY-NC-SA license.

The second episode in the HOW TO be an Urban Camper mini series. This one covers finding shelter, things to look out for, scouting out the neighborhood, police and other thugs, and where not to stay..
End song excerpt by the Princess Orchestra, courtesy archive.org


hpr0607 :: Klaatu talks to Rebecca from bueda.com

Released on 2010-11-30 under a CC-BY-NC-SA license.
Klaatu talks to Rebecca from bueda.com about the Semantic Web, social networking, privacy and the internet, hipsters, and hipster boxing. Want to hear all of this in the free codec ogg vorbis? get it from the good folks over at the Gnu World order

hpr0602 :: Urban Camping ep 1

Released on 2010-11-23 under a CC-BY-NC-SA license.

Klaatu's first episode in his HOW TO be an Urban Camper mini series.

Trombone sample from freesound.org catalogue number 73581
End song by Jimmy Rogers, courtesy archive.org


hpr0592 :: FOSScon: An interview with CrissiD and Charles

Released on 2010-11-09 under a CC-BY-NC-SA license.
Klaatu interviews CrissiD and Charles, two organizers of FOSScon 2010. Listen to the ogg vorbis version of this interview courtesy your friends at the Bad Apples GNU Linux Oggcast.
http://www.fosscon.org
http://www.thebadapples.info/audiophile/hpr_fosscon2010.ogg
http://www.thebadapples.info

hpr0588 :: Klaatu interviews Brian Smith from dns.com

Released on 2010-11-03 under a CC-BY-NC-SA license.
Klaatu An interview with Brian Smith SELF Interviews Klaatu interviews Brian Smith from dns.com. Listen to the ogg vorbis version of this interview courtesy your friends at the Bad Apples GNU Linux Oggcast.

hpr0583 :: An interview with Alan Hicks

Released on 2010-10-27 under a CC-BY-NC-SA license.
Klaatu interviews Alan Hicks of Slackbook and the Slackware team about SELF 2010, Slackware 13.1, encryption, and the wifis Listen to the ogg vorbis version of this episode courtesy of teh Bad Applez.

hpr0579 :: Interview with Jeff and Loafy, two SELF volunteers

Released on 2010-10-21 under a CC-BY-NC-SA license.
Klaatu talks to Jeff and Loafy, two volunteers at SELF 2010. For the ogg version, click riiiight here.

hpr0576 :: Interview with HeathenX

Released on 2010-10-18 under a CC-BY-NC-SA license.

Klaatu, at the Ohio Linux Fest 2009, interviews HeathenX from the screencasters about art on Linux, Inkscape, GIMP, multi-platform applications, and more.

The ogg version provided by The Bad Apples.


hpr0574 :: Interview with Maco

Released on 2010-10-06 under a CC-BY-NC-SA license.
Klaatu interviews Maco about her new Sign Language Tutor application, Gally, as well as why Qt and KDE are better than all the rest, plus Ubuntu Women and women in computing, Linux and security, and some other stuff. Listen to this episode in ogg vorbis courtesy the Bad Applez.

hpr0572 :: Interview with Mark Zareason

Released on 2010-09-21 under a CC-BY-NC-SA license.

Klaatu talks to Mark from Zareason.

Wanna hear this episode in ogg? Sure ya do!


hpr0556 :: Basekamp Interview

Released on 2010-07-18 under a CC-BY-NC-SA license.
Klaatu talks to Meg and Scott from Basekamp.com about possible art worlds, free culture, free software, economics, social organization, collaboration, and a lot more.

Find the ogg version courtesy your friends at the bad applez.

hpr0553 :: interview with celesteLynPaul

Released on 2010-07-10 under a CC-BY-NC-SA license.
klaatu interviews celesteLynPaul of the KDE project

hpr0551 :: Interview with Wendy Seltzer

Released on 2010-07-01 under a CC-BY-NC-SA license.
another interview from klaatu at SELF 2010

hpr0550 :: Interview with jledbetter

Released on 2010-06-25 under a CC-BY-NC-SA license.
klaatu interviews jledbetter a java developer

hpr0547 :: openCSW Interview

Released on 2010-06-07 under a CC-BY-NC-SA license.

Klaatu talks to Philip Brown of the openCSW project about Solaris, SunOS, portability and code, and lots more.

You may also listen to this episode in glorious ogg vorbis.

Word up! the anti-talkshoe producers of this episode: Timrit and cobra2


hpr0515 :: Network Basics Part 6

Released on 2010-02-11 under a CC-BY-NC-SA license.
Klaatu continues his network basics series

hpr0501 :: Klaatu interviews Rikki Kite of Linux Pro Magazine

Released on 2010-01-06 under a CC-BY-NC-SA license.

Klaatu, at the Ohio Linux Fest 2009. interviews Rikki Kite, associate publisher of Linux Pro Magazine.

The ogg version provided by The Bad Apple Linux Oggcast.


hpr0494 :: Klaatu interviews Russ from Linux in the Ham Shack

Released on 2009-12-11 under a CC-BY-NC-SA license.

Klaatu, at Ohio Linux Fest 2009, interviews Russ from the Linux in the Ham Shack podcast.

The ogg version provided by The Bad Apple Linux Oggcast.


hpr0484 :: Her PR Problem

Released on 2009-11-17 under a CC-BY-NC-SA license.

Rikki Kite of The Rose Blog and Linux Pro Magazine gives her "Her PR Problem" talk at Ohio Linux Fest 2009's Diversity in Open Source Workshop.

The ogg version provided by The Bad Apple Linux Oggcast.


hpr0479 :: OLF 2009: Interview with Dwick

Released on 2009-11-06 under a CC-BY-NC-SA license.

Klaatu at Ohio Linux Fest 2009 interviews DWick, a math professor, about math programs on Linux.

The ogg version kindly provided by The Bad Apples.


hpr0470 :: Interworx

Released on 2009-10-21 under a CC-BY-NC-SA license.
Klaatu interviews Jon from Interworx at Ohio Linux Fest 2009.

hpr0441 :: Migrating Your GPG Key and Starting GPG-Agent

Released on 2009-09-09 under a CC-BY-NC-SA license.
Klaatu continues his discussion of GnuPG related matters (see episode 0222 for Alpine+GPG and some random Bad Apple Linux OggCast ep 2x04 on GPG in general). In this exciting episode, he talks about the proper way to migrate your GnuPG keys, how to manage gpg-agent in your Slackware+KDE desktop, and advises everyone who will be attending Ohio Linux Fest this year to attend the GnuPG Key Signing Party.

hpr0435 :: Lightweight Apps: Enlightenment, Part 2

Released on 2009-09-01 under a CC-BY-NC-SA license.

Lightweight Apps: Enlightenment, Part 2

Klaatu and Bryanstein from the Florida Linux Show rave about e17.

Easy-E17 Install Script
This episode in ogg


hpr0434 :: HPR Roundtable 4

Released on 2009-09-01 under a CC-BY-NC-SA license.

Klaatu, Deepgeek, Charles from MintCast, Russ from the Techie Geek, Russ from The Linux Ham Shack, and Seal gather at the official HPR Round Table to discuss what free software apps they use to make life easier.

Projects mentioned in this episode:

Portable Ubuntu Remix

Xming

OpenSwan - IPsec for Linux

Handbrake

Mozilla Sunbird

Filezilla

Celtx

Org Mode for Emacs

gVim

...and a LOT more...

You can also download this episode in the controversial ogg format.


hpr0432 :: How to use walkies

Released on 2009-08-27 under a CC-BY-NC-SA license.

If you're putting on an event such as a Linux Fest, a film production, an organized [a]political demonstration, then you may find yourself using walkies ("walkie talkies" or "CB Radios"). Klaatu talks all about walkies in this episode; deciding whether to buy or rent, how to use them effectively, how to use them efficiently, and other matters of etiquette & protocol.

You can also listen to this walkies episode in the free audio format, ogg vorbis.


hpr0423 :: Interview with Ian Geiser of the KDE Project

Released on 2009-08-14 under a CC-BY-NC-SA license.

Klaatu talks to Ian Geiser of the KDE project.

You can download this episode as an ogg file.
KDE dot News


hpr0416 :: Mer Project Interview

Released on 2009-08-06 under a CC-BY-NC-SA license.

Klaatu, at SELF, talks to Andrew from the Mer project, for the Nokia N770 and N8x0 tablets.

The Mer Project
This episode in ogg vorbis.


hpr0414 :: Networking Basics Part 5

Released on 2009-08-01 under a CC-BY-NC-SA license.

Klaatu goes over IP (Internet Protocol), its header information, the mechanics of datagram fragmentation, and RFC 791 in general.

see also RFC 791
iana protocol number assignments

Listen to this episode in ogg.


hpr0413 :: Ontario Linux Fest Interview

Released on 2009-07-30 under a CC-BY-NC-SA license.
p>Klaatu talks to Richard W. about Open Street Maps -- why it exists, why it's important, and what it's good for -- and the upcoming Ontario Linux Fest.

Download this episode in the ogg vorbis format.


hpr0411 :: Free Software Foundation Interview

Released on 2009-07-28 under a CC-BY-NC-SA license.

Klaatu talks to Deborah from the Free Software Foundation.

The FSF
If you're gonna listen to an episode about the FSF, you may as well listen to the ogg vorbis version, no?


hpr0409 :: Bug Reporting

Released on 2009-07-24 under a CC-BY-NC-SA license.

In this exciting continuation of HPR Episode 92, Klaatu talks to Mackenzie at the SouthEast Linux Fest about bug reporting and bug triaging.

Download this here episode over yonder in the ogg vorbis format.


hpr0408 :: Interview with JonathanD from Freenode

Released on 2009-07-23 under a CC-BY-NC-SA license.

Klaatu talks to JonathanD of the Freenode network.

The Free-as-in-Node Podcast
geeknic
The ogg version of this episode.


hpr0406 :: Moonshine

Released on 2009-07-21 under a CC-BY-NC-SA license.

While everyone else at the SouthEast Linux Fest was watching the fine closing keynote by Mr. Paul Frields, Klaatu was hanging out in the hallways talking to Cobra2 (of unixporn.com), Alan Hicks (from the Slackbook project), and a few other SELF attendees as they discuss howto make Moonshine. Bonus topics include Brunswick Stew, moonshine mash recipes, building transmissions, and trucks.

You can download this episode as an ogg file.


hpr0404 :: Tikiwiki

Released on 2009-07-17 under a CC-BY-NC-SA license.

Klaatu installs Tiki Wiki, a simple but full-featured wiki software.

You may also listen to this episode in ogg vorbis.


hpr0402 :: Interview with Paul Frields of the Fedora Project

Released on 2009-07-15 under a CC-BY-NC-SA license.

Klaatu talks to Paul Frields (of the Fedora Project) about Linux in computer forensics and government.

You can also get this episode in ogg vorbis courtesy the good folks over at the Bad Apple Linux Ogg Cast.


hpr0394 :: Networking Basics Part 4 TCP and UDP

Released on 2009-07-03 under a CC-BY-NC-SA license.

Klaatu continues his Network Basics series. This episode covers TCP and UDP.

You can download the ogg version of this episode, or if you are using Firefox 3.5 then you can just listen to it right in your browser, by clicking here.


hpr0392 :: Interview with Dual Core

Released on 2009-07-01 under a CC-BY-NC-SA license.

Klaatu interviews int eighty and Remy from the group Dual Core.

You can download this interview as an ogg file.
Check out Dual Core on the world wide interwebs.


hpr0390 :: Interview with Alan Hicks

Released on 2009-06-29 under a CC-BY-NC-SA license.
Klaatu and Alan Hicks (from the Slackbook project) chat about Slackware, 64bit support, slack hacking methodology, what's in the works for Slackbook 3.0, Slackware' intended audience, the SouthEast Linux Fest, and more.

Check out the book that got Klaatu addicted to Slack, Slackware Essentials
Or check out the revised Slackware Book project online at slackbook.org
And check out Slackware itself at slackware.com This episode is also available in ogg vorbis format.


hpr0388 :: Interview with Beth Lynn of OLF

Released on 2009-06-25 under a CC-BY-NC-SA license.

Klaatu first debates with his SouthEast Linux Fest pal, 8 year old Ethan, about where to conduct interviews...then talks to Beth Lynn about Ohio Linux Fest 2009 and all the new and exciting events planned for it!

Get the ogg version of this episode by clicking on this link right.....here.


hpr0384 :: Red Hat Interview

Released on 2009-06-19 under a CC-BY-NC-SA license.

Klaatu talks to Eric from Red Hat about RHEL, Fedora, Linux in tha corporate world, and how proprietary blockades to adopting free software can be worked around for those of us who wear ties to work.

Speaking of proprietary blockades...you can download this episode as an ogg file.
For extra credit, check out Red Hat's blog.


hpr0383 :: TOR Interview

Released on 2009-06-18 under a CC-BY-NC-SA license.

Klaatu talks to Wendy Seltzer of the TOR project about...the TOR project. Please note that even though Klaatu continually refers to the TOR Project as "The Onion Router", officially the TOR Project is now properly referred to as simply "the TOR Project".

You can download the ogg vorbis version of this episode from the Bad Apples.


hpr0379 :: SSL Ep 1

Released on 2009-06-12 under a CC-BY-NC-SA license.

Klaatu reveals the mysteries of SSL certifications and why self-signing is not such a bad thing after all.

CAcert.org - the self signing collective

The ogg vorbis version of this episode can be downloaded here.


hpr0373 :: Qemu

Released on 2009-06-04 under a CC-BY-NC-SA license.

Klaatu, on vacation in Niagra Falls (or so it sounds from all the background noise...), talks about Qemu.

Qemu Pre-built Virtual Machines to run with Qemu

You may also choose to download the ogg version.


hpr0363 :: Networking Basics Part 3

Released on 2009-05-22 under a CC-BY-NC-SA license.

In the third episode of Basic Networking, Klaatu talks about all things Ethernet; from the physical construction of the cables to the structure of the data frames being sent over them.

As usual, an ogg version is available over on the bad apples.


hpr0357 :: Network Basics Part 2

Released on 2009-05-13 under a CC-BY-NC-SA license.

In episode 2 of Networking Basics, Klaatu covers Routers, Switches, and Hubs. He also discusses the concepts of Collision Domains and Broadcast Domains.

The ogg version is available here.


hpr0351 :: Network Basics

Released on 2009-05-05 under a CC-BY-NC-SA license.
klaatu talks about basic networking

hpr0338 :: cappuccino

Released on 2009-04-16 under a CC-BY-NC-SA license.

Klaatu reveals the methodology and secrets of making the perfect cappuccino.

Here's the ogg version.


hpr0329 :: SSH Part 2

Released on 2009-04-03 under a CC-BY-NC-SA license.

HOWTO use ssh keys and ssh-agent to provide easier SSH'ing in your network!

Listen carefully for bonus subliminal messages delivered by Klaatu's friend's (black) cat.

This episode also available in ogg.,/a>


hpr0307 :: Krita

Released on 2009-03-04 under a CC-BY-NC-SA license.
Klaatu compares Krita, Gimp and, obligatorily, Ph0t0sh0p.

hpr0287 :: sysctl

Released on 2009-02-04 under a CC-BY-NC-SA license.
Klaatu talks about the lil' kernel paramater command "sysctl" and how it enables your computer to stop responding to pings, and more.

ogg version located at http://www.thebadapples.info/audiophile/sysctl.ogg

hpr0269 :: Cups

Released on 2009-01-09 under a CC-BY-NC-SA license.
klaatu talks about printing in linux

hpr0244 :: Enlightment

Released on 2008-12-05 under a CC-BY-NC-SA license.

Klaatu hijacks deepgeek's "Lightweight App" series and discusses one of his favourite lightweight desktop environments.

You can also choose to download Klaatu's ogg version of this episode.


hpr0237 :: Creating Identification Cards Part 2

Released on 2008-11-26 under a CC-BY-NC-SA license.
p>Klaatu talks about using the phone company as a leaping-off point toward a new You! Also, gift cards and spreading the word about your new identity.

Get Klaatu's ogg version of this show if you hatez the MPEG.


hpr0234 :: Creating Identification Cards Part 1

Released on 2008-11-21 under a CC-BY-NC-SA license.

Get yer supplies at Poison ID .
A simple laminator example is the ABC HeatSeal

Download the ogg version if you are a codec snob.


hpr0228 :: nokia

Released on 2008-11-13 under a CC-BY-NC-SA license.

Klaatu talks about setting up your Nokia N8*0 or N770 to be a robust computing platform, and the importance of doing so before you need it rather than waiting, like he does, until the last minute and scrambling to get all the packages you need installed. He concedes that he's failed to mention a lot of cool apps, so feel free to make suggestions in the comments.

Nokia N-series Repository Site

You can also download Klaatu's ogg version of this episode if you prefer ogg.


hpr0223 :: git

Released on 2008-11-06 under a CC-BY-NC-SA license.

Klaatu talks about how to set up, navigate within, commit, and push with git. This is a beginner level howto that will also help you understand SVN and CVS.

More information about git and similar apps can be found here:
git.or.cz
kernel.org git tutorial
CVS, another versioning system
Subversion

You can also download the ogg version of this episode.


hpr0222 :: Alpine GPG

Released on 2008-11-05 under a CC-BY-NC-SA license.

For more info on PGP and GPG:
The Bad Apples episode 2x04 ogg
The Bad Apples episode 2x04 mp3
Linux Reality episode 47

you can also download the OGG version of this episode.


hpr0207 :: Vulgar Esperantist Part 3

Released on 2008-10-15 under a CC-BY-NC-SA license.
klaatu continues his Vulgar Esperantist series

hpr0203 :: Alpine: How to

Released on 2008-10-09 under a CC-BY-NC-SA license.

Klaatu talks about the virtues of the Alpine (or Pine) email client, how to set it up, special settings for using it with IMAP servers, how to configure the reply-to address correctly, and much more.

Alpine Official Site Pine Official Site OGG version


hpr0197 :: Vulgar Esperantist Part 2

Released on 2008-10-01 under a CC-BY-NC-SA license.
klaatu continues his Vulgar Esperantist series

hpr0186 :: Vulgar Esperantist part 1

Released on 2008-09-16 under a CC-BY-NC-SA license.
klaatu's first part in his "Vulgar Esperantist" series done for the LinguistChat web series

hpr0181 :: Setting up vsFTPD

Released on 2008-09-09 under a CC-BY-NC-SA license.

Klaatu talks about setting up an FTP server.

vsFTPd site
ogg version


hpr0173 :: Configuring Pulse Audio

Released on 2008-08-28 under a CC-BY-NC-SA license.

Klaatu and notJlindsay discuss Pulse Audio and how to configure it so it doesn't bork your system. One thing Klaatu fails to mention is that before you try any of this, you should just run whatever software updates may be available for your OS. Pulse configuration and compatability seems to be improving rapidly over time, so many thing may "fix themselves" by simply making sure your distro is up to date.

Wiki Article
the ogg version of this episode


hpr0166 :: 10 Minute Mail

Released on 2008-08-19 under a CC-BY-NC-SA license.

10 Minute Mail
Ogg Version of this Episode


hpr0152 :: Pulse Audio Intro

Released on 2008-07-30 under a CC-BY-NC-SA license.

Klaatu interviews Kajarii about Pulse Audio.

Pulse Audio Website

Since I'll be listening to this episode in OGG format, I figured I'd post the ogg version in case anyone else wants it. --klaatu


hpr0149 :: DynamicDNS

Released on 2008-07-25 under a CC-BY-NC-SA license.
klaatu talks about dynamic dns

hpr0139 :: Compiling a Kernel over the Nework with distcc

Released on 2008-07-14 under a CC-BY-NC-SA license.
klaatu talks about compiling a Kernel over the network with distcc.

hpr0134 :: Kernal Patching

Released on 2008-07-07 under a CC-BY-NC-SA license.
Part 2 of the How to Build your own Kernal Series

hpr0108 :: Handbrake - Howto

Released on 2008-05-29 under a CC-BY-NC-SA license.
The podcasting machine hosts another episode of hacker public radio

hpr0092 :: bugs

Released on 2008-05-07 under a CC-BY-NC-SA license.
klaatu talks about bug reporting and bug triaging.

hpr0087 :: Compling a Kernel

Released on 2008-04-30 under a CC-BY-NC-SA license.
get the latest Linux kernel source code download Dave Yates's Kernel Compile Episode Peter64's Kernel Compile Monsterb's Kernel Compile

hpr0080 :: Coffee

Released on 2008-04-21 under a CC-BY-NC-SA license.
klaatu talks about coffee

hpr0072 :: Imagemagick

Released on 2008-04-09 under a CC-BY-NC-SA license.
klaatu gives a review of Imagemagick

hpr0061 :: Punk Computing

Released on 2008-03-25 under a CC-BY-NC-SA license.
How not to get stuck by the man, while sticking it to the man.

Shownotes by: diggsit

hpr0059 :: Interview with scorche

Released on 2008-03-21 under a CC-BY-NC-SA license.
Interview with scorche from the Rockbox Project

hpr0055 :: Slax

Released on 2008-03-17 under a CC-BY-NC-SA license.
http://www.slax.org
http://en.wikipedia.org/wiki/St._patricks_day

hpr0053 :: Codecs Part 4

Released on 2008-03-13 under a CC-BY-NC-SA license.
In this final episode of the series, Klaatu covers some proprietary codec packages. He then explains how to use free software and the linux command line to transcode a video using the open codec, Theora.
http://theora.org/
http://linuxreviews.org/man/ffmpeg2theora/

Shownotes by: diggsit

hpr0041 :: Codecs Part 3

Released on 2008-02-26 under a CC-BY-NC-SA license.
Codecs aren't containers. Klaatu explains the difference. He also presents some legal and technical factors to consider when choosing a codec.

Shownotes by: diggsit

hpr0029 :: Codecs Part 2

Released on 2008-02-07 under a CC-BY-NC-SA license.
Klaatu continues his four-part series. This episode focuses on the technique of video compression. He explains the variables involved, and how they relate to file size and delivery method.

Shownotes by: diggsit

hpr0026 :: Intro to codecs

Released on 2008-02-04 under a CC-BY-NC-SA license.
In this first of a four-part series, Klaatu begins a discussion of free and non-free video codecs. Specifically, why they are needed and how they work.

Shownotes by: diggsit

Become a Correspondent