Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
191
hpr_transcripts/hpr3760.txt
Normal file
191
hpr_transcripts/hpr3760.txt
Normal file
@@ -0,0 +1,191 @@
|
||||
Episode: 3760
|
||||
Title: HPR3760: Bookwyrm
|
||||
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3760/hpr3760.mp3
|
||||
Transcribed: 2025-10-25 05:03:59
|
||||
|
||||
---
|
||||
|
||||
This is Hacker Public Radio Episode 3,760 for Friday the 30th of December 2022.
|
||||
Today's show is entitled Bookworm.
|
||||
It is part of the series' social media.
|
||||
It is hosted by Aoka and is about 14 minutes long.
|
||||
It carries a clean flag.
|
||||
The summary is.
|
||||
This episode looks at a relatively new, but promising alternative to Goodreads that
|
||||
is firmly in day.
|
||||
Hello.
|
||||
This is Aoka, welcoming you to Hacker Public Radio in another exciting episode.
|
||||
This time in our Better Social Media series.
|
||||
And what I want to do this time is talk about an application that I'm very interested
|
||||
in called Bookworm, and it's spelled B-O-O-K-W-Y-R-M.
|
||||
Now this is a competitor, I think, to Goodreads, and I've talked about that before.
|
||||
I use Goodreads.
|
||||
It does certain things for me in terms of managing what is actually a fairly large library, mostly
|
||||
of e-books.
|
||||
And it's okay, but it's owned by Amazon, so there's some incentive there to start looking
|
||||
for alternatives.
|
||||
And particularly, something that's in the Fediverse is always attractive to me, and that's where
|
||||
Bookworm comes in.
|
||||
This is a, you know, as part of the Fediverse, it's completely decentralized.
|
||||
It uses the ActivityPub API and Protocol, and the reason that matters is that any application
|
||||
that uses ActivityPub can communicate with any other application that uses ActivityPub.
|
||||
So ActivityPub, so you could arrange to post things in Bookworm, and someone could follow
|
||||
them and mast it on, or Pluroma, and they could see your posts there.
|
||||
They could reply to them.
|
||||
They could share them, you know, all of the kinds of things that you would want to do.
|
||||
So there's a lot to like here.
|
||||
So to get started, you go to joinbookworm.com, and I've put the link in the show notes
|
||||
for you, and click the join bookworm button.
|
||||
Now as with all federated media, you have to pick an instance to get hosted on.
|
||||
Remember that the virtue of federation is that there is not a centralized server that
|
||||
everyone is on, but instead a whole lot of servers that communicate with each other.
|
||||
And that is what the ActivityPub Protocol facilitates.
|
||||
So your first decision will be to pick an instance.
|
||||
There are several of these.
|
||||
Some of these are in languages other than English.
|
||||
I saw one in Lithuanian, which I think is wonderful.
|
||||
I don't speak Lithuanian, I probably never will.
|
||||
I'm still all I can do to learn Spanish.
|
||||
I saw one that was private, and you had to request an invitation.
|
||||
OK, let a thousand flowers bloom as far as I'm concerned.
|
||||
And again, being decentralized means you can have all kinds of options without causing problems.
|
||||
Also, like all federated media, each instance can have its own set of policies.
|
||||
These mostly can be summed up as act like a jerk and we kill your account.
|
||||
Which doesn't bother me particularly.
|
||||
But you might want to look for what they have as a written code of conduct.
|
||||
Most fediverse instances have one.
|
||||
Although some of them might just say, hey, we don't care what you do.
|
||||
So to each their own.
|
||||
Now to see what each instance requires, click the learn more button for that instance
|
||||
when you are on the instances page.
|
||||
Now right now, honestly, there are not a lot of instances.
|
||||
This is still a fairly young project.
|
||||
But it looks promising to me.
|
||||
One thing I noticed was several highlighted instances.
|
||||
They don't guarantee anything in terms of uptime.
|
||||
And that it is up to you to back up your data.
|
||||
Now personally, when I write a review of a book I have read, I also posted on a blog on my website.
|
||||
And that is my backup.
|
||||
Now I'm a strong believer in having my own website and controlling my content that way
|
||||
instead of relying on a social media site to do it.
|
||||
Now for some of the technical details.
|
||||
The bookworm project is hosted on GitHub and I've put a link there.
|
||||
I use some pretty standard technologies like Django, PostgreSQL and of course ActivityPub
|
||||
on the back end.
|
||||
And Doctor and EngineX for the server.
|
||||
It also connects to OpenLibrary for book information.
|
||||
Now, OpenLibrary is itself a project at the Internet Archive that aims to be a library
|
||||
catalog that includes building towards a web page for every book ever published.
|
||||
Note that the OpenLibrary also lends out electronic copies of books, although that has been
|
||||
a subject of controversy with the author's guilds suing them claiming it is nothing
|
||||
more than a flagrant violation of copyright law.
|
||||
Now the use of ActivityPub means you can post a book review on your bookworm instance
|
||||
and have it floaty or mastodon feed.
|
||||
Then someone who follows you on mastodon can read and post a response that flows back
|
||||
to bookworm.
|
||||
And of course if you're on one instance and you have a friend on a different instance
|
||||
you can follow each other, read, respond and so on.
|
||||
Now right now as I write this it looks like there are about 11 contributors to the project.
|
||||
So as I said it's still pretty early but that means you could if you wish get involved
|
||||
and help shape the direction of the project.
|
||||
Now how do you join?
|
||||
Get on a server or set up your own.
|
||||
All right if you are sufficiently capable technically and things like Django and
|
||||
EngineX and Docker are things you're thoroughly familiar with you would probably be easy
|
||||
for you to set up your own server if you wished.
|
||||
I'm not actually that technically capable.
|
||||
So what I did was I went looking for an instance to join.
|
||||
So I went to the site and bookworm.social looked like it was the largest instance and it was
|
||||
self described as the flagship instance.
|
||||
So I decided I would try that because I figured that would give me the best look at how it
|
||||
works.
|
||||
Just click a join button, put in a username, email address, password and submit them and
|
||||
then you get an email back with a link to confirm your email address, very, very standard
|
||||
kinds of stuff.
|
||||
Now once you've confirmed your email address and logged in you are invited to create
|
||||
a profile, add some books and find people to connect with.
|
||||
Since this is a federated application using activity pub they don't even have to be
|
||||
on bookworm.
|
||||
I could just add some of my friends from mastodon or pixel fed, which are two other activity
|
||||
public applications I am using, however this might just result in seeing everything twice.
|
||||
I found that when I added my mastodon friends to pixel fed I saw all of their photos on
|
||||
mastodon and again on pixel fed.
|
||||
Of course there may be a setting that I've missed that would make that a little easier
|
||||
to deal with.
|
||||
In any case I decided to try a slightly different approach.
|
||||
First I posted on mastodon looking for anyone I know there who may be on bookworm.
|
||||
Then I noticed when I added the book I am currently reading that had been reviewed and
|
||||
rated by another bookworm user.
|
||||
So I clicked on their profile and requested an ad.
|
||||
Yeah, I might make a new friend or two this way.
|
||||
I also posted about this on diaspora which I also used though it is not an activity pub
|
||||
application unfortunately.
|
||||
I wish it was but you know it is what it is for the moment.
|
||||
Now adding content and that's the first step.
|
||||
I added the book that I am currently reading which is called Hero of Two Worlds by Mike
|
||||
Duncan.
|
||||
Yeah, if you're curious about what I read but I have a bunch of books I have already
|
||||
read that are on good reads and I can copy that content.
|
||||
Now this is where I have to prepare by creating some shelves.
|
||||
Now shelves is used metaphorically of course because we are used to putting physical books
|
||||
on physical shelves and really what we're talking about are tags or labels.
|
||||
Any book can have multiple of these shelves.
|
||||
So the three default shelves are want to read, reading and read and that's okay.
|
||||
But I've used custom shelves for a variety of other things and good reads.
|
||||
First I have ebooks from multiple sources.
|
||||
Some I've bought from places like Google Books, Amazon, Kobo and Nook and I do have a few
|
||||
physical books still.
|
||||
Some others I got as ebooks like directly from the author such as Michael W. Lucas' books
|
||||
or from a story bundle or a Kickstarter.
|
||||
Then I also like to indicate the genre.
|
||||
I have lots of books in history, science, science fiction, music, politics and so on.
|
||||
Those happen to be my main interests.
|
||||
So to meet my needs I really have to have those custom shelves.
|
||||
It is now easy to do.
|
||||
There's a button on your homepage to do this.
|
||||
Just months ago when I first looked at Bookworm it was not easy to do.
|
||||
This is a good thing because as I'm saying this is an actively developed project.
|
||||
If you don't see something you want right now you can ask for it or maybe in a few months
|
||||
it will just show up.
|
||||
Now the next thing the Bookworm offers is to import from a CSV file and that happens
|
||||
to be how you can export from Goodreads so if you wanted to switch you could.
|
||||
Why would you want to switch?
|
||||
Well as I said Goodreads is now owned by Amazon and now that can be good if all or most
|
||||
of your content is on a Kindle as it allows for pretty good integration.
|
||||
But I suspect that for some people at least Amazon is a dirty word and not using Amazon
|
||||
is important so you do have a path to switch.
|
||||
That said at the time I'm writing this which is in April of 2022 and yes I work a lot
|
||||
ahead on these things so it's coming out on Hacker Public Radio a lot later than when
|
||||
I first wrote it.
|
||||
But at that point the import function still had some issues maybe by the time this comes
|
||||
out they'll have solved those issues and that can add to the work of moving things.
|
||||
Now I have to point out I have a ridiculous number of books on my Goodreads account which
|
||||
may contribute to the problem but when I tried to import my entire collection was about
|
||||
1800 books about 60 failed to import for some reason.
|
||||
In many cases I'm not quite sure why Bookworm offered the Fellowship of the Ring as an
|
||||
alternative to the book I actually had.
|
||||
Why that one I don't know but there are at least 15 different books for which Bookworm
|
||||
suggested Fellowship of the Ring.
|
||||
So when Bookworm doesn't have a book listed you have to add it.
|
||||
Now I've run into this because some of the books I like come from smaller publishers
|
||||
like as I mentioned I buy books from Michael W. Lucas who self-publishes all of his stuff
|
||||
and sometimes Bookworm will have the book but not the particular edition.
|
||||
Now when I run into that I try to be a good citizen and add the information but then
|
||||
my wife says I was meant to be a librarian and given her track record I'm going to think
|
||||
she's probably correct, she usually is.
|
||||
Now overall what's my impression, Bookworm is not quite mature enough at this moment
|
||||
to replace Goodreads for my uses but as I said it's being actively developed I've seen
|
||||
major features added over the last six months or so.
|
||||
So what I did is I made a small cash donation to the developer and I'll keep following
|
||||
this project and I'd encourage all of you to check it out as well.
|
||||
So this is Hookah for Hacker Public Radio signing off and encouraging everyone to support
|
||||
free software.
|
||||
Bye bye.
|
||||
You have been listening to Hacker Public Radio at HackerPublicRadio.org.
|
||||
Today's show was contributed by a HPR listener like yourself.
|
||||
If you ever thought of recording podcasts then click on our contribute link to find out
|
||||
how easy it really is.
|
||||
Hosting for HPR has been kindly provided by an onsthost.com, the internet archive and
|
||||
our sings.net.
|
||||
On this advice status today's show is released on our Creative Commons Attribution 4.0 International
|
||||
License.
|
||||
Reference in New Issue
Block a user