Mitch Downey 

@mitch@podcastindex.social
571 Followers
247 Following
5K Posts

open source developer @ podverse.fm / fediverse / foss / javascript / node.js / podcasts / react / react native / typescript

⚡️:mitch@getalby.com

Podversehttps://podverse.fm
Githubhttps://github.com/mitchdowney

Podcasting 2.0 question:

How are people handling grouping music RSS feeds by artist? Is that a use case for the publisher tag?

Are there any examples in the wild, or RSS feed companies that support this?

Finally making progress on the new Podverse 2.0 website, and it'd be nice to be able to group music feeds by artist.

After making a huge Postgres database schema with many join tables...I am finally learning about "Cartesian product" issues 😣

And hoo boy...I am not seeing any appealing ways to handle this.

I have an "item" table, I want to query for one item, and in the screenshot are all the related tables I want to include data from with the result...but apparently the OneToMany relationships (all the tables that end with "s" in this case) cause exponential complexity. Not sure what to do...

This is what a lot of my programming looks like today:

"write a QueueResourceItemController with methods that correspond with each of them in the QueueResourceItemService"

and from that Copilot spit out 102 lines of code. In this case it happened to work first try, using patterns already set in other files for the project.

You still have to review the code manually, but its amazing how well it handles some types of work. It's kinda like using a calculator for math instead of pen and paper.

close! can't say podverse is decentralized...

chatgpt is better at marketing this than me 🙈

ChatGPT knows about Podcasting 2.0 👀

Prompt: what is the difference between <itunes:season> and <podcast:season>

Answer wasn't super helpful though...all I wanted it to tell me is something like "name is optional for <podcast:season> but name is not supported with <itunes:season>"

@adam @dave oh Lord what are we in for this week 😂

There are many classes that will have both repository and a get method...how can these lines be abstracted into a super class, so it can be used with other service classes, like ChannelAboutService?

These helpers are using TypeORM.

This is my attempt...but I keep getting stuck on a Typescript error with the "where" key. Error msg in linked gist:

https://gist.github.com/mitchdowney/905f751d70de25cb7409019b7a91e138

Typescript super class service with TypeORM

Typescript super class service with TypeORM. GitHub Gist: instantly share code, notes, and snippets.

Gist
C programmers watching JavaScript programmers work

"A revolutionary media technology, transforming podcasting!" sounds like another project i know :)

@adam @dave their marketing dept is good. How many years of in house technical experience does Podcasting 2.0 have?

hey @dave, @suorcd and I are looking into ways to shrink our database, and our "episodes" table is by far the largest. I was wondering if you have thoughts on how to reduce the size of this table. We are using Postgres. Our biggest columns are episode description, and 3 columns for URLs.

We already have a pruning process for removing dead / no longer public episodes. I suppose we could limit the length of text saved to the description column, although not sure what a good limit will be.

×

This is what a lot of my programming looks like today:

"write a QueueResourceItemController with methods that correspond with each of them in the QueueResourceItemService"

and from that Copilot spit out 102 lines of code. In this case it happened to work first try, using patterns already set in other files for the project.

You still have to review the code manually, but its amazing how well it handles some types of work. It's kinda like using a calculator for math instead of pen and paper.

my usage of static methods may be a little sus here. i was having trouble getting typescript to work without static. i'm not sure static is a problem here though
@mitch What was it doing without the statics?

@ericpp sorry, i misremembered. it's not exactly a typescript issue. if i don't use static then i can't use the Controller classes in the way shown in the first screenshot.

i suppose i could handle it by instantiating the class first, like in the second screenshot.

i'm not sure the change will be consequential, but maybe it's a better practice than using static.

@mitch Ah that makes sense. I think static is probably better than instantiating the class in the router even when it's not needed by the route.

I'm not an expert at express, but it seems like the standard procedure is to have lambda functions in the router.get/router.post/etc calls that instantiate classes and call code.

You basically have those lambda functions as static functions in the class instead, which I think should be fine.