Files
hpr-knowledge-base/hpr_transcripts/hpr1148.txt

1187 lines
59 KiB
Plaintext
Raw Normal View History

Episode: 1148
Title: HPR1148: Development Discussion
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1148/hpr1148.mp3
Transcribed: 2025-10-17 19:50:58
---
Hi everyone, this is Clat 2, you may or may not know me from Hacker Public Radio and it
turns out we're throwing a party on New Year's Eve and everyone's invited whether you've
listened to Hacker Public Radio or not, whether you've contributed or not, you should stop
in on the Mumble server, mumble.openspeak.cc, Hort 64747, you can use any username you want,
drop in, say hi, eavesdrop, whatever you want to do, it'll be a lot of fun and it's going
for 24 hours, that's right, UTC minus 12, the whole UTC day will be broadcasting all
day, all night and we want you to join us.
So I guess this is Ken and I having a development discussion about the scheduling system for
HPR and we've had a little bit of a pre-show chat but I guess we need to recap where we've
got to, don't we?
Yep, probably not.
And just as a warning bubblebex, you can probably pass forward this one because it will
include things like black, atom and XML and stuff, not to speak a poem and other weird
things.
And the other thing.
Okay, so your question was, is it clear to me what you want to do with the system?
And my honest answer is, in the recent discussions, it's probably becoming a little less clear
but what I want to do is focus on the unique philosophy of first of all keeping it simple.
Yep.
Secondly, having well-defined parts that do a particular thing, do it well and then
stop.
Something else takes over from there and does it well and then stops.
Indeed, indeed.
Especially since we've got several ways into this thing and so we want to reuse as many
bits as we possibly can.
Good.
Okay, so epic harness, not to be confused with epic anus.
We really got to stop this.
Poor guy.
Slavic.
As, as you said, I hadn't read it like that until you pointed it out, so it's not.
No, no, no.
I saw the dog reference in there.
The canine bit, it didn't spot the rest, but I'll never be able to get over that now.
So anyway, yes, what is clear?
What's clear is you want to keep it simple, but what I thought I told you to fast forward.
You're obviously listening, so fine.
We will keep it simple for the user.
So on the website, there will ideally be a, well, let's focus on what's actually been
worked on now.
And that is the HTML form, so the web form.
Yeah, but you've recorded a show somehow on your MP3 player or something.
You don't necessarily know anything, those about this stuff, you don't necessarily
know everything.
Yes, you do.
Or you can be recording a show for HBR.
You don't necessarily know anything about the format or whatever, you've just recorded
them on your org, sends a clip or on your whatever, or something, and you send it to
us.
Fine.
Well, what you do know about your show is more than anybody else, because you know your
own name, you know, if there were other people who contributed to it, IE, you might have
interviewed somebody or might have been around table or might have been in the discussion
as an event or something.
And you fill out all the form with the shorts, the title, the short synopsis of it, and
the detailed description, possibly with links.
Okay, well, let's not get involved in that.
End of the day, press the send button.
What that will do is, we'll submit a file and the media file and the XML file, which
is an X format file in Assam element format, which is an format that can be used to describe
a particular event, in this case, it's that.
What is an aside there, is that going to be kosher data, as it stands?
Will it?
Is there a DTD that describes that?
Yes, there's a full access validation for Assam, because Assam is a nice clean format that
can be described like that.
But you've just described a component of it rather than the whole thing, have you?
For them, it's understood you.
So the Assam feed, so as opposed to an RSS feed itself, can be a series of these, you
have the main one that describes the feed itself, then you've got individual elements, sorry,
entries.
The entry one is being the show, essentially, but what the Assam format itself allows you
to do is have one of those shows you don't necessarily need to have the wrapper feed at
all.
You can just have the element to be a valid Assam feed, so that your XST validation, your
XST validation doors, or your whatever schematrons or whatever can validate the file.
Yep.
Okay.
That sounds?
Yep.
Yep.
I could foresee parts as falling over if it didn't do that.
Yes.
And this is something that we could never do if we were doing a wedding at RSS validation.
No.
Okay.
Boss, you have to remember that this is on a website who's got the word hacker in that
name.
I know we've all become accustomed to that, but even as events like I'll come or whatever
you can see people seeing the word hacker out of the corner of the eye and then veering
at a 90 degree angle to try and get away from us as quickly as possible.
I actually wanted to do an interview with somebody I had the other day, it was a very interesting
topic which I won't go into and it was a very interesting company that you work for.
To this, she saw the word hacker.
Rakes went on.
Like we all had to be stopped, and then research will be done on what I mean, that's
about the way.
Yeah.
Bad, bad, bad PR, we need to do something to be a bit more positive.
We can just, just as an aside here, you're clipping quite a lot.
The front of your words are really being chopped off quite seriously.
I don't know if you want to tune your mumble setting a bit.
Okay, give me one second.
Can you hear me?
Yes, you sound good.
Okay, I'm going to have some more of my biscuit and then go back to you.
Yes, and through the magic of audacity removed truncated silence, you can hear any of
that big gap.
No, no, no, no.
I guess I'm a show convener.
I'm probably doing a bit of editing here.
No, audacity has a built-in picture.
Yes, yes.
I know.
That's all you need to do.
You have to be a little bit careful with it, judging from 50, 150's experiences.
Yeah, I think he was doing it manually.
Well, seeing it all right, right, because he was really seemed like he never breathed
in sessions in there.
Anyway, keep that conversation.
Okay, let's get over that.
Here's how you edit a show, you record it, you open it in audacity, go to file truncated
silence, file import, intro and outro, move them over, move them over, file export, job
done.
That's what works.
Okay.
Enough about that.
So, somebody's just uploaded the form, attached the file and sent it in like you do an
any email attachment and any application, yeah.
So it should be simple enough for people to do.
And the script will drop it into a folder, a random folder and a, well, not directory,
but under that directory, there will be a random folder generated using the priority
underscore the days in proper ISO 8, 6, 10, whatever that spec is.
So year, year, month, month, month, day, day, time.
For minutes, seconds, nanoseconds, underscore, and then a random UID or something relatively
random enough so that if somebody is uploading a movie from the internet that they want to
share with their friends, that they can't really use Hacker Public Radio for that, yeah.
So as far as we're concerned, somebody has uploaded a virus and has uploaded a script
to pawn our network.
So we trust that.
What has been uploaded as far as we've thrown it?
90.
99% of the time it's going to be a valid file, but you never know.
Okay.
Of course you could always run a virus scanner over it just to be on the safe side if you
wanted to.
Clam or something like that would be good.
Yeah, we could do that.
Yes, absolutely.
And we probably more than likely will be doing that as well.
In fact, we will be doing lots of stuff with that before we start automating it.
And this is actually why we want to separate the front of the back system so that if there
is a back end system, so the back end system that would be doing that processing and checking
will not be the same system that's hosting Hacker Public Radio, okay, be a separate VPS,
separate system, which, which we have yet to get commissioned, but that's by the way,
yeah, okay, but it's going to be a separate one.
So if it gets poomed, well, no big deal, you've done all the scripts that are already available
on Gatorius and woohoo for you well done.
So from the Unix philosophy, somebody pressed the button, uploaded the show and it's now
on a directory.
That's the end of that process.
However, somebody else might decide that they would like to use the FTP server and we
would like to have the FTP server set up so that they can transfer the file over FTP,
but essentially, essentially, it would still end up on that website somewhere in a well
known location.
The same if somebody wants to copy it over SAP or if they want to do a gase commuter
or something, the file gets to us somewhere and end of upload process is it's in a directory
marked priority, underscore date, underscore random thingy, yeah, yeah, okay.
So you come in on a Monday morning and there's a heap of these things and there's a heap
of the previous ones.
How do you know what's where, what the time order was, all of those sorts of things, oh yeah,
you can get that from the, you can get some of that from the naming, but do you have any
metadata, you're keeping metadata as I'm sort that references all this stuff?
I'm asking because my scheduler thing needs to have some view of what's waiting to
process.
Okay.
So skipping forward past all that awkward, difficult questions for moments, that was the
best one.
Yes.
So magic will happen and then we will have the output, okay, okay, it will be encoded files.
So the main output that people will see actually, the main output will be a as I'm feed in this
case, which will contain links to the three files or as many files as we generate, it
might be four now with the, with the newer format and I cannot get that into my head for
some reason.
The name is Opus.
Yeah.
Opus format.
Yeah.
So it might be, it might be two, actually, MP3 and Opus or whatever, speaks and hug, might
be five, might even be the flat one, God knows.
Are you, are you describing an atom feed that contains the whole lot where you got one
per type?
I think we agreed it was one per type.
Yeah, yeah.
No, but what I'm actually describing now is a, the main feed to feed the website.
So that will be a, actually, don't want to have any links in this at all.
So we will have an atom feed, we will have an atom and an RSS feed for each of the different
formats, we'll have an atom and an RSS feed for each of the different formats going from
episode one right through to the current episode.
So to recap, and the first one will be only a two week ten, ten episode, ten episode
feed.
So that's, okay, okay, yeah, yeah.
Oh, I see, you've got, you've got both of those things.
You've got a complete archive feed as well, so what you're saying, wow, okay, and that's
the one that's on the website, it says warning, 17 gigs or something.
Yes.
That's the 21 gigs now for the MP3 feed.
Yeah.
Okay.
Many take it.
Yeah.
Yeah, yeah.
Some people download that and you see a noticeable spike in the downloads from time to
time.
I bet, I bet.
Wow.
That's amazing.
Okay.
Okay.
Carry on there.
Oh.
Okay.
Now.
So that's the output part.
It's pretty reasonable.
Uh-huh.
So they, you'll have the feeds, you know, multiplied by two per format.
Multiply by two again for feed type, so RSS and atom.
Yeah.
Yeah.
Then we will have another metadata, only one, which will contain links to the actual
files themselves.
So this will be not an embed, but a HTML reference and the code to how you can play
them.
And that one will be feeding the WordPress instance, which will be run on the hacker
public radio front page website with MiriGamy.
This is for you, the player you were mentioning recently on the mailing list, you want an embedded
player on the website, is that right?
Yeah.
Yeah.
Yeah.
But sell like if you go to beta.hackerpublicradio.org now, naturally, if I have to go to your data.
Second.
I have to post a show still.
Okay.
It takes a while to generate it for the first visitor.
So I guess you were the first visitor today.
What am I after?
Yeah.
Wait for it.
I'm going for it.
No, I, it's my, my crappy typing beta.hackerpublicradio.org link will be in the show notes.
And because it is processing full feed, the full 20, 21 gig feed, well, it's not that it's
obviously contain all the files, but it does contain all the episodes, so it processes
that every time.
Yeah.
It's all right.
No.
Fantastic.
So this is quite fresh.
Yeah.
This boring bog standard WordPress, but with one plug-in, and that is a planet plug-in.
So what's nifty about this is the word pro, you know, we were talking about separation
of different rules, so the best are at least one of the best and you can argue with
whether it's the CM, one of the best CMSs out there is WordPress.
You can argue whether it's Jumla or Drupal or whatever.
And the point is, it doesn't matter because some, some other website could host, you know,
if WordPress in the morning got compromised or whatever, we could bring up a Jumla instance
or a Drupal instance and feed it with the same file and everything will be back in.
The only thing that we would need to bring over is the comments and the, any other swing
and bling that we put onto the WordPress site.
Yeah.
Comprendive-oo.
Indeed.
Indeed.
That's very nice.
In addition, the only thing that we need to maintain is, well, it becomes a regular WordPress
maintenance thing and we already have little tenants available to take over and manage
and maintain that website because that can be completely and totally independently operating.
From the rest of the, you know, the backend system.
Okay.
Okay.
Plus, as the comments, the one thing that can be compromised over there is the comments
and stuff like that, but what we can do is we can generate an RSS or as a feed of that
and feed it back to some other website, you know, some, the backend process again so
that we have an archive of them if that database ever gets corrupt.
Yeah.
Yeah.
Okay.
Okay.
You're still going to have to moderate your comments as you're doing now, I guess, but
well, it might be easier and what we can do with that is we can make several admins and
different time zones.
So we've got pretty much covered with the different time zones.
So right now, because of the level of access that you need to go in and improve all the
comments, we can, yeah, we'll see how it goes.
What we might do is try and have it automated.
We might have it that, you know, you need to, you need to put in the capture or something
that we've got.
Hard like captures, but I need to drive it.
That's, you know, the secret code word is, I don't know, Dave is fantastic.
Just type that in and then, and then, what can I say, you're the man, you're the man.
So yeah, you know, it's, you know, we can change it from time to time.
And if you want to make a comment, you have to listen to the latest episode and at the
end of the day.
Very good.
Yes.
Yes, absolutely.
Absolutely.
Yeah.
If it goes crazy like that, we'll try and avoid it as much as possible, but if it goes
crazy, then we have tools that are disposing.
Sure.
Okay.
So what I've described, first of all, as the input to the system, you know, this, the,
the Bobo Vex, you should still not be listening.
You can still tell our number and press the hash sign outside and it'll come to us.
You can still email admin at hackupublicradio.org with your, uh, show, um, or you can fill it out
in the web form and send it.
Yeah.
So all we want to, we want to have that available.
And then on the website, we want to have nice calendars and we want to have ID to three
tags and, you know, the cloud thing so that when you browse the website, you can see, oh,
Linux, click on that or, oh, um, opposite audio format, click on that or, yeah, or, you
know, all the, all the stuff that WordPress as well.
Yes.
Yes.
You do that to WordPress and let the, let the people do that.
But we can also have the tag cloud you're talking about, where did the tags come from?
Ah, let's, let's, let's, let's, that's a, that's a very good thing.
My friend, I, um, yes, sorry, yes, I'm, I'm often criticized for wanting to go straight
to the guts of things.
No, no, no, no, no, we have to, I have to crucify you here with this information.
And so this, the, the front end thing we can also have, uh, because of the WordPress thing,
we can also have syndicated, um, blogs coming in so that if, uh, other hosts get added
to the planet, anything they hash with, hash HPR, um, can also be, uh, brought in as, as
a planet underneath that blog posting in relation to that thing.
So we can do neat stuff like that plus we can also have, we would have an easy way to
put up additional blog posts like, um, record, you know, requested chills and we can also
put up stuff like, um, video tutorials and how to's and, you know, it's, it's just easier
to manage.
It's a WordPress blog.
And everybody asks how you do, how am I going to do this?
It's not developed on time that we need to do on the backend.
It's, you know, Google it for five minutes and then you find out how, yeah, yeah, yeah.
One of the things I was going to raise with you at some point rather was, um, people
want, seem to want to put together bigger watches of show notes these days, um, and given
that Dan is producing such great stuff, uh, but he's, he's hosting it himself.
What's his HPR going to be in a position where it can offer some sort of, you know, video
capability or, or, um, uh, a big, big chunky lump of show notes that are not in the main,
the mainstream of that, something of that sort sort, um, am I making sense?
Yes.
Actually, Dan's is being hosted on, uh, Hacker Public Radio's web server.
Oh, is it?
Okay.
Okay.
Okay.
So it's actually run on a blog instance and he is a, is a perfect example of, you know,
where we could go with that with show notes and they're like, yeah, yeah, yeah, because
it's, um, the, the, the present scheme of fairly thin show notes is to some extent forced
on people by the, by the, the format, isn't it?
When I did my first show, I wanted to produce it in almost show notes and I thought they're
not.
Um, so anyway, that's, that's, that's something you're already already got in hand.
So we'll leave that for the moment.
Yeah.
I was, um, yeah, it is a bit of a, it's a bit of a thing, like what is the best way to ask
people to do show notes to just paste them in as, you know, typing and put a link in,
which is also fine, um, because, or do we ask them to learn HTML, which is also fine
because, you know, it's sooner or later, it's good to learn that, um, I know I sent you
to use the markup language thing, which you, as I've seen you do, take two extremes.
Uh, I think it's great.
I, I hate wrote in HTML.
I think it's a really, really crappy way of, of, uh, you know, formatting text, but that's
just just my personal, uh, bias.
Um, I'm not sure there's a better one to be honest with you, but I was writing tech and
latex today, and I hate that as just as much.
But, uh, yeah, it's, it's, if, if, if there's a way that people kind of avoid it, then
it might be, might be nice, you know, the standard standard, um, asking, asking doc or something
similar to that.
If you can get away with it, it is great, but, uh, depends what you, what you're trying
to do.
I mean, it varies from, this is my show, it's about, I don't know, pick and fluff from
Renewal.
Enjoy.
Boom.
Yeah.
Sometimes that's a, that's it.
And sometimes it's like Dan's episode you really want to go a little bit more in depth
into it and whatever.
Yeah.
And that's exactly right.
But with the, with the form that's been developed, there are PHP libraries that you
can, uh, use to do the Wizzy Week type stuff, like on a WordPress blog.
You have the option to edit in HTML or you have the option to do the Wizzy Week stuff
and open up links and do, do all the good stuff.
So, yeah, no, we, yeah, sure, sure, we, what CMS is all about, isn't it, this is, this
is why CMS is a bit of old, keep you away from the nasty stuff.
Okay, fine.
Good.
Okay.
So, now we have an impulse and we have an output.
Okay.
Okay.
Okay.
Okay.
Okay.
So, we're reconvened next week, same time.
Um, all right.
No, uh, all messing aside.
There are, um, there are scheduling rules as the standard moment.
Yeah.
Yeah.
But, um, they may change, they may not change.
I don't know.
And we also, again, have to take into account that yes, they may change, uh, they're
wrong.
And might go to a seven day schedule or might go to a two day schedule or whatever.
So whatever we do, it would need to be flexible.
But I also want to bear in mind, whatever we do, I don't want to invent something and
have to maintain it.
If there's something out there and I can do the scheduling, then all very well, okay.
But let's take a step back.
Let's make blocks.
So, we have the input and the output pretty much covered and I think people kind of understand
that whole thing.
There is one other aspect that came up during the week was, uh, CT.
I don't know if you've seen that.
Have you seen that?
Oh, no.
No, I have posted to the website.
Hold on one second.
I'll have a sluckity and I get you that link.
Okay.
Have a look at that.
So for people following along home, I don't know if he wants me to say this because, but,
uh, I think it's brilliant.
So tough.
The size is aiit.se forward slash hpr.
And that's alpha integral into your tango dot cr echo, forward slash hpr hack, okay,
okay, okay.
So what is this?
Tell me about this.
So this is what you're seeing is a website that has got the words hpr schedule on it.
It's got three tabs at the top that say 2012, October, 2012, November, 2012, December.
It being currently 2012, November.
And it's got a spreadsheet type calendar with the week, month, uh, with across the columns
at the top week.
Monday, Tuesday, Wednesday, Thursday, Friday, yeah, yeah, yeah, and on the week, we have
44, 45, 46, 47, 48.
And then we have the episodes filled in.
So Thursday was episode 11, 09, uh, us try come 2012, Thursday's opens, we're still
left.
And then, uh, a hook, a decay that after who restoration team, hardcore public reading
and uses on Monday and yesterday was TLL TS, yeah.
And today is one month, 13.
And then, uh, you know, there's different colors for a new host, community news, syndicated
show, talk to me.
So what he is essentially doing and that's requested is, well, for the schedule going forward,
the further calendar going forward, why can't we, um, fill it out like this?
So he's based on the past, but so if you click on October, you see a full series of
all right, right, right, right, okay, all days filled in.
So each of the days has got the title, the author, uh, with the number of the show on
what the talk was, and the, it's background colors.
So on the 8th was his yellow.
We had Dave Morris on the 17th, we had Bobo Bex, um, the 16th of a Tuesday, oddly enough,
was a syndicated Thursday.
And you know, you see the, the different colors and, um, and deeply talk to me, news has
come in there.
So you get a color, color thing.
So what he was saying was, well, we could publish the schedule out forward as well.
And yes, of course, we could.
So why not feed the schedule that we're feeding to the website, include future events on
us as well as they are at that particular point in time when you went to the website.
So obviously we can't predict in the future that it's going to be a new host tomorrow,
but based on the information that we have right now, this is how it's going to look.
If you upload your show and it gets processed, then you come back and you press refresh,
and then bam, you'll see tomorrow, there's a, there's a new yellow block with, uh, you
know, uh, a bit of a bit, bam, boom, or whatever your handle is, new show, bounce, blah.
Okay.
Yep.
But that's, that can, that can actually be the same feed, yeah?
Mm-hmm.
Mm-hmm.
Are you going to, huh?
Are you going, can I agree completely and totally with what you're saying?
I like the idea.
I think you're, and I see where you're going.
It's maybe a little bit, um, premature to what we're going to discuss, but no, not easy,
easy lemon squeezy.
No, no.
Okay.
Uh, the, the thing that I'm trying to write is the, is some sort of engine that's going
to do the scheduling based on the rules.
And one of the things that it could quite happily produce is, no, I have this, have these
shows that I can see pending.
So I will go and run the algorithm across them and outcomes the, the, the, the, the material
to be plugged into this, um, this very nice, uh, um, schedule feed.
Yeah.
This would be an atom feed because that will learn everything, everything coming out to
the backend has to be an atom feed.
Okay.
You would, okay.
Because that's the standard, yeah.
Yeah.
What I'm saying, the standard interface.
And is, is that what this thing, this, this, this, this, um, this web, uh, form here
is, them is actually doing nice.
It's, it's, it's, it's part of an atom feed.
Well, it's not an atom feed.
It's an RSS feed, but, uh, okay.
Okay.
Okay.
He's basically parsing a current RSS feed, what he's pointed to me was, well, you know,
if you're having a text file of, um, of, uh, pending shows, is, is it a crap way to display
what's coming up and it's, it is crap, yes, but it's better than, uh, better than nothing
as well.
We have a minute.
It's actually what I use.
So it's, no, it's, no, it's great.
It's great.
No, it's, no, I have no problem with the, the concept, um, I'm just, because we've
discussed the process of looking into the future with, with shows, yeah, with the pending
queue.
And, um, in fact, I think I was proposing that, that the thing I'm writing, do that.
And I think one of the earlier demos of, of the sort of first concept code did actually
do that and said, you know, it, it returned show numbers and, uh, and dates and, uh, and
so, so forth, so on and so forth, but, um, at that point, I think the discussion went
well, it's got no business doing all this stuff because, um, it's just, it should just
come back with a show number and a date and that's, that's the end and a UUID that hooks
into the actual show, um, it would be a list of short numbers and dates.
No, that's fine.
That's fine.
If you look at the, the notes that I sent you on, it does actually address that issue.
So section two, second bullet point, queue reporting mode, square out all this, all this
sort of stuff.
Yeah.
Okay.
Okay.
Okay.
Rather than, um, are you running out of time or not?
No, I'm good.
I'm good.
Okay.
Rather than, uh, just before we go on to the queuing system, let's just finish off on
the transcoding system.
So there's got to be another transcoding system, which will take the part, take the media
files in.
Well, there's got to be a checking system, obviously, to check and make sure that everything
is, is homecordory, that the email will parse, they will scan for viruses, as you point
out, we'll parse the XML, make sure that it's valid, um, that it's, it's, first of all,
a scanner to make sure that it is what it says it is, that it parses the XML to make sure
it's valid, um, then checks to see all the required fields are in there.
And then that is a valid email address.
And then, yeah, there's got to be an element of, is this an existing host or previous
host or, yeah, that sort of thing.
Um, yeah, I was just concerned about how one did that, but that's, that's a discussion
for later, I think.
Well, as a, as a block, a chunk of stuff that needs to be done, that's a chunk of stuff.
So that, um, we do have, for Adam, it's nice and the fact that they also supply you with
the next C, uh, validation, so you can validate it against a merge of, of, uh, of, uh, things
and we can check it for, you know, incidental JavaScript and, and that sort of stuff as
well.
Uh-huh.
We can also, um, then identify the email address and then send an email to, before we
do anything more with it, send an email out to the recipient with a message.
This has somebody submitted a show to hack up a radio, um, with this email address, uh,
is this valid or not?
And then you click it, um, another UID just to confirm and then it processes the show because
there's no point proceeding any further unless somebody responds to the email.
Yeah.
Yeah.
There's always the case that it'll be dodgy or whatever, but that just means manual
interventions required at that point.
So maybe they'll try again in a few hours or maybe they'll try again in a day, but, you
know, at the end of, at the end of a particular period of time, somebody will go in and, and
clean out all those all shows.
Yeah.
Yes.
So that, yes.
That's the validation.
So presumably now, somebody's clicked on the file, the uploader, the sentence reasonably
quickly.
There's been an email sent out to them, they click on that link.
That comes back and it says, yes, okay, that can be taken from that queue into another
queue.
The other queue then would possibly, I don't know if things have been validated beforehand
or not, we'd have to just, you know, virus, you know, dehackified before or after during
or both.
But when it goes to the secondary processing queue, then presumably we have good XML, presumably
we've got a good media file.
If we don't, we can always email back saying the media file we had while it turned out to
be an, an impact for video file or turned out to be a, you know, PDF or something.
So we can, we can do all that checks with the things like media info and file and whatever
so there's lots of things for looking at the metadata of the, of the media file itself.
If the media file is all okay and all the rest of it, we can do the transcoding into
the different formats.
That's relatively straightforward that, that's been cracked before and then that part
is done.
Then we have the question over the scheduling then.
Yes.
Yes.
So, the scheduling is going to be based on what the mailing list decides are the scheduling
rules, which at the moment are listed on the, on the calendar.php page, what's that?
Yes.
Yes.
So, something where the, the rules can be changed with great, well, relative simplicity
by somebody who knows how to, how to do it.
So it's meant to be as flexible as it possibly can be.
So you know, what happened to be at that particular time is largely irrelevant to, to the design.
I was just wondering about that because since we, since you started working on that, I
heard a very interesting, a very interesting discussion, hold on one second and I'll find
it.
One second in August, Augusti removed silence, one second to come actually be a few minutes
in New World.
Okay.
Yes, it was this link.
So this guy has written a scheduler and he has, he has pretty much done a lot of the
stuff that we would want from scheduler and it basically runs on the same concept as
yourself.
So if you go to slide 9, links in the show notes, what was, the program is called reminder
and it's what does the reminder file look like?
Well, it could be as simple as this.
So it's got the word capital letters, REM, space six, January, space message div, it's
birthday, you nine, REM six November, 2007 message, something talk, reminder, Wednesday
at 1930, something, something could be, is good days, if there's a moon on two days
or whatever, blah, blah, blah.
So what he can do with his thing is, you know that the problem we have scheduling the
Saturday, last Saturday, so the first Monday of the month where, where the first Saturday
just before the first Monday of the month, this guy can actually solve it because you put
in first Monday of the month minus two and that's all fixed.
Yeah, yeah, yeah, it's not hard to program and it's just hard to do in I calendar.
Yes, yes, I completely understand that.
I calendar, I don't think it's, I don't think it's well implemented.
Um, I'd agree with you.
You're doing that, no doubt, sometimes.
I've got it in my queue, but I've got quite a few others in the queue as well.
So it's amazing how you had nothing to talk about and then you were talking to me for
10 minutes, 10 minutes, sure as you could do.
And what's worse, I was listening to the, the, the community show on Monday and heard
comments to the effect that something about said and something about all could be, would
go down well.
So I know, I know about them, I could, I'm sure I could write about them.
I could read to a show, if you could start an episode one this time, that would help.
Oh, it's no fun starting at one.
Come on, start from the back and go back with, um, yes, yeah, I will.
But let me mean what, okay, so here's the, here's the, here's the, we would need a scheduling
system to, uh, to schedule the stuff, whether it's something you write, or not, is another
question.
Because then we have to, yeah, I've seen this before somewhere, I've seen, seen something
about this before.
Anyway, yeah, I hadn't, I hadn't quite seen it in the same way that you did, but that's,
that's good.
I like it.
Okay, fair enough.
Okay, so there's, uh, so there's a scheduling system.
Um, now this is where it begins to get a little vague from you, David, um, because I have
no real particular, particular way to solve this issue.
And I'm deliberately doing that, to be honest with you, because, um, while for start, the
scheduling rules are very vague, right, or the, it's not clear at this point in this, in
the discussions, how the community feels about this whole scheduling thing anyway, because
it could be just as simple as we upload shows, when shows come in, they get added to the
output feed.
It could be as simple as that.
Mm-hmm.
So scheduling might be required.
This whole scheduling thing has come to the fore more as a result of my experience over
the last two years with, uh, yes, yes, yes, your strategy to fill the gaps that, that existed
at the, at the time, I guess, isn't it?
Well, that in a way, but also people upload clumps of shows at the same time.
So clad to give away a huge big secret, um, upload uploads, you know, four or five shows
from a series at the same time, which is fine.
And, you know, you could just dump all of them out as, you know, a whole week could be
just dedicated to clad to shows.
But the question is, um, I have, I know for a fact that if I did that, and I have done
that in the past, for some reason, I just, you know, got an evening to do, uh, podcasting
and I put four or five shows out at the set, you know, physically recorded them at the
same time, edited them the following night and posted them the next night.
I know for a fact nobody could handle me talking for five days in a row straight like
that, that just is, that's too much to ask from anybody.
So that's why in the scheduling, I have, uh, said that where possible, and that's where
possible, we only have one show from a particular host on any particular week.
Yeah.
Yeah.
And the other, the other great hook for HPR is new, new host getting, um, bump to the
top of the queue.
Uh, that's, that's pretty attractive, isn't it?
If you're thinking you want to do this, yeah, you're going to have to sit behind, however
many other people for, for weeks on end, it's a, it's a disincentive.
So that's quite an important rule, I don't know.
Yeah, exactly.
And that's why I like the idea of posting shows based on, um, your last published date,
which is a, which would be a new rule.
And I'm thinking about it, I really liked to bounce it off a few people because that one
would be kind of cool, because there's been a reluctance for people to get back into
it. So you haven't posted a show for a year and, uh, you know, you're going to get back
into it at the same time.
And, you know, so that one would encourage people to, uh, kill two birds at the one
stone that it would encourage.
So you even kind of, you've got your one show a year commitment, which we're still
asking people to do.
One show a year is really all that we're asking people to do.
One contribution a year to be honest.
So you do your contribution and then you go away from it and then you have a great
idea for a show and you're re-enthused by the whole podcasting scene.
Pop it into the queue and zoom it goes up to the top as well, because we would give
a higher priority to, you know, in, in any particular queue, we would give a higher
priority to somebody who has not posted shows before.
Yeah.
Yeah.
Now that sounds, sounds great.
I like the sound of that.
How would that work out natural practice thinking about it?
Because that would actually eliminate that the need for that other rule, which is they,
um, we would give priority to, you know, never put a safe shore host on any particular
week, because that would just naturally, um, fix that.
Mm-hmm.
Do you know, I don't know.
Just off the top of my head, how that would, how that would, would work out, um, these
regardless, the interactions, these things are a bit more than my brain can handle at this
time.
I tend to, tend to run test beds and see what they do.
Oh, look at that.
It's just done that.
Unless it would do that.
But yes.
And there's always very weird ones because how would you handle?
Well, we do need to know that for the scheduling point of view, because, um, if we're
basing it, for instance, on the last post-it show, we need a way of knowing what the last
post-it show was.
Oh, indeed.
Yes, you'll see in my, in my notes, I sent you, which is, which is a very point, which
is why after 49 minutes without showing the silence truncated, I managed to avoid the
whole discussion about this because whatever it is, the community decides is the rules that
we're going to take those rules and convert it into a system.
And what I really don't want is to be writing something exceptionally complicated and then
find out that, nah, we're not going to do that.
Nobody wants that.
So, you know, we've just written a chunk of really cool code that nobody's actually going
to give you.
No, fair enough.
Fair enough.
Fair enough.
How about you go to the points, read them out and I'll answer.
Okay.
Okay.
We've covered a lot of this ground already.
What should I do with these notes, by the way, is that we'll add, we'll add them to
the, I'll, I'll maybe edit them a wee bit and add them into the, to the whole show.
Sure.
That's some of them are a bit, waffly, because they were just, just, consciousness nonsense.
Have you, have you heard me on the community news?
I was embarrassing.
Oh, my God.
I couldn't even figure out what I was trying to say.
It's good that you're honest.
I'm here trying to be a good show.
It was a great show, actually.
That, that, that, when we were chatting about things at, at, uh, Ogcamp, and I said to
you, the, the, the shows I liked the most were the ones where the community news ones
are the reviews and the chitchat.
I, I thought that was a great example of, of, of those, lots of people, lots of opinions,
great, good stuff.
Anyway, um, I, um, I was asking you very specific questions about the,
where the schedule is going to fit in this thing.
What, what is it?
Are you seeing a whole bunch of, are you seeing a big script running all the other sub bits
or are you seeing a, a web-based thing or how, how are you, how are you wanting all
this to be stitched together?
So I was asking you that, you know, do, do, do, do you want something that would sit as
a, as, um, a, a rest type interface, web-based thing, um, that could be just called as a,
as a service.
Uh, I don't know, probably not actually it sounds, sounds, you want, not into complex
areas that we don't want to get into at this stage.
What I want to be able to do is, um, uh, make anything that we do.
So this, so that you have a hacker public radio in the box that somebody else can take
it and turn it into a geek public radio or beer public radio or whatever.
So that, we, and I'm thrilled that we do the work and the work never has to be done again
or if, you know, we, uh, Epicanos is doing the work on, uh, on, opus feeds and chapter
marks and metadata and we will get that done, we will get a format as, and we'll put it
into, we will have it as a resource from the other podcaster anywhere else in the world,
you know, there will be a web page and hacker public radio.
You want to know about this stuff?
Here's real world practice.
You want a file format or an encoding format that's guaranteed not to break all these media
players that are listed and tested here.
Uh-huh.
A public radio is the place you want to go and I want to do that for, for everything, uh,
everything that we do.
I mean, ideally take it from other people, which is why I'm really glad, um, on the mailing
list, uh, John the nice guy sprigs, who's behind CC hits, has really gotten involved,
given us actually access to the code while it's on Gatorious, that was, that was really
difficult.
He has got the code to do a lot of the stuff about putting in, uh, putting in metadata
into files and, and putting files together.
So we will get a lot of synergy there and hopefully be able to feedback.
So if we make improvements there, we'll be able to feedback to his project.
Yeah.
Yeah.
So I went on a bit of a tangent there, but the main point of it is, Dave, I don't know.
No.
No.
If, um, if it turns out that that's, um, scheduler thing, remind, um, that program can
do everything that we need to do, then all we need to do is publish the how to and how
to do it.
Uh-huh.
If it turns out it isn't, then we need to do more stuff.
So my, my, my visit, my vision is that there will be cron jobs doing various different
things.
Yeah.
Yeah.
Yeah.
For the bits that I have talked about in detail, um, I would see cron jobs.
So I would see a cron job that would every minute go through and check for new directories
on that folder.
And if it finds them, it would inform some other script that would then go in there and,
you know, do the processing and, and trigger that and one would check.
Suddenly check and then send the email out and then that email will come back to a web
service and the web service will communicate back again to some other background script
to kick off something else.
You see where I'm going?
Yeah.
Do I do.
You probably, you probably need some sort of a work, work, work flow-ish type thing behind
all that though, don't you?
Because you've got it, you've got sort of state, state change things that are, that are
chugging through it.
You want to know, you know, what state is this particular task in and, uh, has it been
acknowledged back?
Can we go on to the next state and so on and so forth?
No.
No.
No.
There'll be one, one thing that will pick up the files and we'll move them from the external
directory into the check is this spam process.
If it's the spam process would run, pick them from that directory and move them into
the, it's not spam now.
You can either.
Okay.
Okay.
Okay.
They, each of them would act independently.
There's no need to know where anything is.
We could do it.
We could do a wrapper and, all right, I know people are, are very anxious to know where
their show is, but if the show is, is actually some sort of directed attack, attack or public
radio, which you could be and you have to bear in mind that all our, all these scripts
are going to be available for, um, people to monitor and check and see how they work.
Mm-hmm.
Uh, if, if those scripts are available to people, um, I don't particularly want to be given
somebody, um, if I'm deliberately holding up the processing of some sort of dodgy script
because we've identified it.
I don't want to be given somebody the clue, okay, well, it's now past stage two.
So you know that that hack that you've done over there works.
So now you're at stage two and then you wait for the day and you see it in stage two and
you keep sending it files and telecos to stage three and you know how you've got past
stage three, you know?
Yeah.
Yeah.
Yeah.
Call me evil because the whole, the whole thing should, should be relatively straightforward.
You know, you're supposed to show today and you checked six hours time and it should
be available because if you get the, you should be able to get the email pretty quick.
That's what I'd like to see that, you know, we'd be able to get the email pretty quick
and then if we get a confirmation email back from people, then you kind of know, okay,
well, it's, it's a relatively straightforward thing.
Sorry, I'm being completely, you know, you might think I'm going overboard in this whole
security thing.
Oh, hell no.
No, I've worked 30 ideas in universities where it's a very hostile environment and the
way it's full of, full of hackers and computer science hackers do, which are the worst ones.
Yes, exactly.
Well, no, the, the best ones we've been, they're supposed to be thinking like that, that's
the whole point.
So anyway, it works to all this semi-autonomous little workflow by itself and then at the
end of the day, you know, what is ready is that after processing has finished, by the
way, there will be a step in there that will require a human to do the validation of
the file that will be just, just part of the workflow that a random snippet of the beginning.
So the intro, some random snippet of the snippets of the middle and the outro, along with the
media info file info, will be emails to a mailing list, which will probably be me for, for
now.
But it would be that, you know, general mailing list thing where we would then be informed
that there's a new show has come in and have a listen to the audio, you know, the snippet
audio track that we put in, is it audible and, you know, does it sound like spam?
And then that person will hit OK or click the approved link or, you know, the usual spam
approved link thing.
Uh-huh.
And I would send it back to the next stage of the process, which would be doing all the
bits.
Okay.
Okay.
So that whole workflow, I kind of have in my head, I, I think we can get that nailed down
pretty easy.
The thing that I don't know is, all right, and at the end of that workflow, we will have
an XML file, which will have an automatic element in, we'll know when it was sent in and
we'll know what priority it is, we'll know what the show host's email address is, which
will be the key to link them to their, to their, have they posted a show before.
Yep.
You will be able to do a call against the website to, to see when, well, you will actually
be able to download the atom feed yourself, because you will have the atom feed on all
previous shows, yeah?
So you will be able to look in there and see, you know, do an X, X pack query and find
out for this host, show me the last published date.
Uh-huh.
Yep.
Sorry, so that will give you the answer to when they posted last.
Yes, indeed, indeed.
So then we have a scheduler, which you have, and let's run to the remainder of the questions
then, shall we?
Okay.
Um, as a, I think you've answered quite a lot of them, because I was, I was not sure how
much info the scheduler would actually be able to get about shows, I thought one point
we said, well, all it needs is the, the, uh, you, you, you idea, whatever it is, um,
put it into a mind, Dave, come on, you have, indeed, you have indeed, um, so question five
is not really relevant.
Um, and it, I was also asking you, what other context your bits and pieces does the thing
need to, to work with?
And it can get all of those from the, the, the big atom feed and, um, yes, yeah, I think
pretty much everything in my list is, in, in that bit is covered, um, I do like the idea
just as a by the by, I do have the idea of, um, I had a little bit of a piphany actually
since, and I must say, thank you very much, I, for the discussions that I'll come because
I really did help focus my mind on this problem.
And I have a little bit of a piphany that if we do everything within, uh, with an atom
element, you know, it describes the show with the, with the file that we have, you know,
the main feed file and with the references to the other atom feeds, we should have enough
to be able to get everything historic without actually having to have a database.
Yes, yes, which is desirable because, um, you don't, um,
the database could, could complicate things quite a lot, um, as maybe, doesn't make it
quite such a, a portable package of stuff, because then you, you may be tied to a particular
database or, you know, all of that stuff.
Um, so yeah, okay, the rest, the rest of my questions are about, I sort of stopped asking
questions.
It's not sure.
It's not lost in my own document here, um, it's not actually telling me stuff.
Yeah, yeah, yeah.
Well, really, it was just, just saying things like, um, I was, my original idea was a sort
of if then else type, um, algorithm, which I'd actually, having looked around the web,
I see the, uh, is it called if this, then that, the, the, the, which I, which is using
similar ideas, which I, which I thought was great.
It's sort of supported my designer felt, um, but, uh, it's, it's, it's using things, which
I'm calling triggers, which are doing tests to do things like is, is today, a Thursday,
and then if so, then go and find a third, a syndicate, a Thursday show, um, and if there
isn't one, then do the else condition, which is, well, just fish out an ordinary, um, standard
default show and, and do that.
And it's very, so they were, the idea was to have a, a, a prioritized list of these, these
triggers, these if then else expressions, which would be, be processed until a hit, um,
was a hit occurred, um, and it'd be sort of a fall through a case if, if no hits occurred.
Um, and, uh, at the end of it, a show would be found and presented to the, to the back
end, and then that would be it.
So, um, the, the code would be determining what the show number was, simply from adding
one to the previous show number, it would, uh, it would know what date it would be based
on, um, one of the rules that, that it's, that it's operating, that it must be a weekday
and, uh, and there you go.
And it's actually quite simple in concept.
We're not quite as simple in execution, but, uh, the simple and nothing concept.
And it was really just to, just, wittering on about that, that particular design that,
uh, that this, and it's actually quite a good design, I like it, but depending on what
the community decides to do, that might all go out the window because we would get rid
of, uh, syndicated Thursdays or at least merge them in that if somebody has a show or
has something that they want from older, um, that they just put it into the regular
show regular queue and then if somebody happens to be posting a lot of them or just a matter
because, you know, they're, will have, they will get, every time they post a show, they
get put back to the end of the queue because they've just posted a show.
So you get, uh, you get a nice, um, turnaround like that too, but okay, we kind of do need
to see how it all pans out.
But either way, I think the system, if I'm all you propose, uh, would work.
The only difference is that you would be appending to the main, have some feed, the
different, uh, the different other feeds.
Yep.
Yep.
And the question is, do we then, for the unique identifier, use the UUID, uh, and go away
from the HPR, you know, hack-up-obluxury or slash-pap-pap-pap, because that would actually
make it a lot more portable.
Yep.
Yep.
Yeah.
Just, yeah.
But you still want to continue with the show number idea.
Yeah.
The UID is just an internal, internal designator, yeah.
Yeah.
The show number will, will remain a relevant thing, uh, but that can be carried in a, uh,
some other field.
It doesn't have to necessarily be the, uh, UUID.
Uh-huh.
It can be, uh, tag or something else, speaking of which, the tag cloud is carried as a cash
reaction.
Right.
Okay.
Okay.
It's not a big deal.
There are lots of these micro formats, link, rel, um, things, which you can use, but whatever
we have to use, whatever, um, the WordPress plugin, atom, uh, plan, uh, thing, um, need.
Uh-huh.
So that's kind of why I'm starting at the front, and, you know, the, the input, I'm starting
at the website, I'm working the way back to see what we end up needing on the scheduling
system.
Does that make sense?
Uh-huh.
Sure.
Sure.
Okay.
If we wanted to just your example of the tag cloud, if we want to do a tag cloud, well,
then that information has to come from somewhere, and that has to be carried in the atom format
somewhere, and I actually managed to pass that over to Epikamas because, um, he's holding
the, uh, the PHP website form.
So whatever he comes up with as supporting it, uh, will be what we will support in the
end.
Yes, indeed.
Ta-da.
Sounds good.
That sounds like a bit of delegation there.
I love it.
I love it.
Yes.
Yes.
Yes.
Yes.
Oh, yeah.
I see.
I see on the form is optional tags keywords for this show separated by commerce.
So that, that's your, that's your tag cloud folder.
Is it?
Yeah.
And, yeah.
Well, we've had with the categories.
You know, you've had the option of mini series within HPR for ages.
Mm-hmm.
And what happens?
Quite a lot of people are very enthusiastic and including myself now.
If you go back and look at the ones I've started.
And it beaters out for one reason or another after a while.
And then you end up with a lot of series that have got one or two possibly three episodes.
You know, some of them are meant to have one, two or three episodes.
So, but then there are other series that, you know, my, uh, how I got into Linux or, um,
the one that Boba Bex just recently did.
Um, uh, that's, that's been, uh, fairly long running, ongoing.
Uh, you know, you're, you're first to low world post to hack up public radio.
And yet that doesn't have a series.
But if we had tags, you know, um, we can get that information out.
Yeah.
And, um, this goes back to the famous, uh, not yet recorded.
But we might do it on the 24 hour episode, uh, show of, um, episode 00,
of hack up public radio, where we ask people, hi, you're listening to hack up public radio.
Um, as you're listening to this, can you write down, you know,
show, can you improve the show notes and the episodes and, and write on tags?
Yes.
Yes.
And, uh, I actually, um, the other David Whitmore is, uh, gone through those for us as well.
But it's probably too much of a task, task, anyone person to go through all 1112 episodes or something.
Yes.
I would have thought so, yes.
Be nice to think of an algorithmic way of doing some of that.
But anyway, one thing that I need to fix by the way, when all this is done,
then we can do the nice stuff like, uh, figuring out how to fake and pause this to, um,
to archive that.
Yes.
I know, uh, that, um, Jason Scott sent me a, uh, a thingy on how to do that.
And I, yes, we'll get to it.
It's on the list.
But yes, there's loads of stuff we need to do.
And one problem I have is not yet solved or not even come up with any idea of how to solve
has been, um, speech to text.
Right.
So I would like even bad speech to text will be better than no speech to text.
So something that we can plug in the episodes into and get something ish about what they were talking about.
Yeah.
Yeah.
That's, it's a loadable.
Of course that will.
Not this week, not this week.
Yeah.
Nobody's really solved that one of those.
There's a whole bunch of people who do, um, do, uh, transcriptions.
There's, there's, there's, there's sort of crowd sourced transcription groups that,
that, uh, that look after some podcasts, I believe, aren't they?
Um, I mean, there is, there is, uh, Google voice had for a while.
A service, I thought, where they were collecting, um, voices and they would do,
they would do a text to speech on it.
Do the closed caption, uh, or YouTube, YouTube, if you uploaded videos of there that you could get the closed caption added to it.
So maybe that is something that we could look at as well.
Yeah.
But, yeah.
Anybody listen to this show who has ideas about that, please, uh, getting contact with us.
And you can come to the vice president of, um, auditory enhancement.
Uh, great.
Uh, good, good.
Okay.
So I have reached a natural conclusion in, in, in my list of questions.
Get started, Dave.
Well, we'll come back for episode two next week, I guess, you know.
Um, but we all have just another thing, well, I mentioned it.
What I would like to do is give hosts their own hacker, at hacker public radio,
or dot org email address, or possibly another email address.
So that that was the one that goes into the show notes.
Um, and then it's a redirect to your own webs, you know, whatever other meme email you have.
So that at least we could, we could possibly pass those things through some spam filter or whatever before it gets you.
Uh, uh, I don't know if that's an idea, but that's a lot of the things that I was thinking of.
I have loads of ideas.
All I need now is the tenants and the tenants and the desks.
Is that what it is?
Which is now.
Yes, indeed.
Indeed.
Indeed.
Well, hopefully so.
It's, uh, things are certainly, uh, livening up on the, on the, the development list and so forth.
So who knows?
Yeah.
And I, I'm almost again, apologize for, uh, for your scheduling thing because I don't know the scope of it yet.
But what I'm hoping to do is I'm going to manually.
Uh, when I get time, uh, and it has to be soon.
It really does.
I'm going to, um, the, uh, beta dot hyperpublic radio dot org site is currently being fed by an RSS feed.
What I want to do is convert that to a atom feed.
So the current database will be fed via an atom feed to the beta website so that then we can put that live so that at least the front end WordPress thing is live.
And then what we can do is, um, we will have a known good system for, uh, so if the atom feed that we produce with the new system is identical to the one that has been produced will then nothing changes.
Uh-huh.
Uh-huh.
We don't need to migrate comments or anything weird like that.
Makes sense?
Yeah.
Yep.
Okay.
Fantastic.
All right.
Okay.
Okay.
I will look after this show and do the, do the necessary and, uh, send it to you in whatever form you wish.
Black, black, dash dash best.
Although it's recorded in WAV, so that's fine to just send us.
Yeah.
Or in fact, don't bother.
I have it here.
So I can do it as you wish.
But, uh, but, um, you know, since, since I was going to do the, uh, the notes and the things, uh, tidy up these notes.
Are they actually make, make some sense to others?
Um, I can happily look after it if you want.
Yeah.
If I can do that, yeah.
I've got more, more time than you.
Yeah.
It's hard to say.
It's true.
Okay.
All right.
Thanks very much.
That's fantastic.
Okay.
By speaking again.
Cheers.
Oh, and tune in tomorrow for another exciting episode.
I'll have a proper radio.
We don't have enough shows.
Always send us in your shows.
And if you could tell us if, uh, you can do some backup shows.
I was thinking during the, the day about what type of backup shows will be cool that would never go off on the queue.
For example, um, uh, for example, uh, collection of PodSafe.
Music or, uh, Creative Commons music that you would like to hear.
And, uh, yeah, I was thinking about another project, but I don't have time.
Okay.
Bye.
Okay.
Cheers again.
See, the thing is I don't know when to stop talking.
Ha, ha, ha.
I don't see.
All right.
You have been listening to Hacker Public Radio or Tacker Public Radio.
We are a community podcast network that releases shows every weekday Monday through Friday.
Today's show, like all our shows, was contributed by a HPR listener like yourself.
If you ever consider recording a podcast, then visit our website to find out how easy it really is.
Hacker Public Radio was founded by the digital dog pound and the economical computer club.
HPR is funded by the binary revolution at binref.com.
All binref projects are proudly sponsored by Liner Pages.
From shared hosting to custom private clouds, go to LinerPages.com for all your hosting needs.
Unless otherwise stasis, today's show is released under a Creative Commons,
Attribute Show, Share Alive.
Read us our license.