Getting Ready To Slurp GUIDs From Hive

in Value 4 Value10 months ago

Building the next v4v.app v2

Support Proposal 265 on PeakD
Support Proposal 265 with Hivesigner
Support Proposal 265 on Ecency
Vote for Brianoflondon's Witness KeyChain or HiveSigner

This is a value for value post: see the explanation in the footer.


Rosetta Stone ish

GUID-SLURP

I've just completed building the start of a new piece of tech for Podcasting 2.0. At the moment this is a first stage without integration with Hive, but it points the way to using Hive as a distributed database for the whole Podcasting industry.

I wrote a whole post about this: Could this Be Another Killer App for Hive Which Hardly Anyone Will Know About?

image.png

Rosetta Stone

The first stage has been to build a completely Docker container way of hosting a mini database which can convert amongst the current set of identifiers for a Podcast.

Podcasts have a bunch of different historical identifiers for feeds the most important of which:

  • URL of the RSS feed
  • An iTunes ID from Apple
  • A PodcastIndex ID from the @podcastindex

The new one is a GUID which was defined by the Podcast 2.0 Project.

Linking all these together is surprisingly hard.

What I've built is a Rosetta Stone system which anyone can run (or use via an API) that quickly looks up all the identifiers if you have any one identifier.

So if you know that the RSS feed URL of No Agenda is http://feed.nashownotes.com/rss.xml you can run this:

curl -X 'GET' \
  'https://guid.podping.org/?url=http%3A%2F%2Ffeed.nashownotes.com%2Frss.xml' \
  -H 'accept: application/json'

And it will give you this:

[
  {
    "podcastGuid": "856cd618-7f34-57ea-9b84-3600f1f65e7f",
    "url": "http://feed.nashownotes.com/rss.xml",
    "originalUrl": "http://feed.nashownotes.com/rss.xml",
    "podcastIndexId": 41504,
    "itunesId": 269169796,
    "timestamp": "2023-05-30T12:56:13.963000"
  }
]

If you want to find the RSS URL from the PodcastIndex ID of 41504, this will give it to you:

curl -X 'GET' \
  'https://guid.podping.org/podcastIndexId/41504' \
  -H 'accept: application/json'

Decentralised

And the reason it is decentralised? Because this whole system, including a reverse proxy, the database and the API all runs with basically one command on the cheapest possible web server (a 1GB Linode for example though I'd recommend 2GB or more memory).

You can find the instructions to run this here: guid-slurp on Github.

The Hive Bit

Right now this database won't stay up to date. There are roughly 50 to 90 changes a day we reckon. The next step is for the @podcastindex to send these changes out via the @podping system and then any of these resolvers will pick those up and update themselves.

For now this will be done every week via sharing a database dump.

This Hive part will take a while to sort out but the long term goal is a fully decentralised unique identifier system for Podcasting which anyone can update and query.

And please vote!

You can find all the links to my next proposal at the top and bottom of this post and I appreciate all votes no matter how large or small.


Value for Value

For the last few months while building @v4vapp I was generously supported by the DHF. Going forward I have a much more modest support which covers direct server costs and a little of my time.

If you appreciate the work I do on and around Hive, you can express this directly: upvoting posts on Hive is great. Also consider a direct donation (there's a Tip button on Hive or a Lightning Address) on all my posts.

Support Proposal 265 on PeakD
Support Proposal 265 with Hivesigner
Support Proposal 265 on Ecency
Vote for Brianoflondon's Witness KeyChain or HiveSigner


Send Lightning to Me!

Sort:  

🤔 Sounds very interesting. Learned another bit about podcasting: there is three ways how to search & find a podcast.
Do you know which option Fountain is using?

Fountain is using the Podcast Index I believe.

Thanks 👍🏻

Fantastic work, i'm lookng forward to see this complete!

Thanks for sharing some out of the box developments on hive.

Its interesting information. Theres so many podcast thats available now. I shall look at some and give it a try !

Great to see new tech using Rosetta Stone system for enabling the conversion and linking of different identifiers for podcasts. Having the potential of utilizing Hive as a distributed database for the entire podcasting industry will be another huge project in this ecosystem.

Delightful, this is what people actually need. A lot of projects are so useless or purely greed-driven that it makes my brain go numb reading about them. This is solution-oriented, it makes sense and it is using a proper budget calculation.

fantastic work!

@tipu curate

Let me say that this is podcasting at a higher level
I learnt something new...

The way we see that you have been working hard for a long time and bringing us new and special things, the way you have brought this today that we can now listen to it comfortably. The way we see that even now many communities on hive are working and many apps are working, the way you are working hard is also very successful. We all have to work together to make this hive and app popular all over the world.