Cattail

joined 3 months ago
MODERATOR OF
[–] Cattail@lemmy.world 1 points 4 hours ago

that is kinda the appeal that its new and unknown; its something novel to explore. losing people you know know is a big price, you could hope that someone comes with you into the cyrochamber

[–] Cattail@lemmy.world 1 points 4 hours ago

i see so you'd live in best of times as much as possible instead of skipping to the great reset. i dont think we can get set back that far simple because of GMO of plants and global trade. also refined metals would still exist. a car engine can rust or break but the engine can be melted into farm equipment. so we are safe from bronze age. id say we would be a cross between iron age with modern tech

[–] Cattail@lemmy.world 1 points 4 hours ago

thats why im assuming the science works without any drawbacks. i was thinking that would cool to see cultural slide show, but at some point you'd probably not get reference and you would be able to tell what's sci fi or what product placement. there would be words that start popping up that you wouldn't know.

the period pieces of the future will probably be fun like how would they depict the 2020s and 2010s

[–] Cattail@lemmy.world 1 points 4 hours ago

ironically i thought that inspired this would you rather was making IP for Disney and having Disney cryogenically freeze you just to thaw you out to prove your alive so keep the copywrite out of public domain. of course disney would pay for your stasis

[–] Cattail@lemmy.world 1 points 17 hours ago

Hmmm would be weird to enter a new world with nobody you know and at best descendants (or Young family members that remember you) that care about you. Yeah I guess if you did enter the freezing chamber you'd be giving up anything that made you happy now

[–] Cattail@lemmy.world 7 points 20 hours ago

monkeys paw: USD is no longer used

[–] Cattail@lemmy.world 4 points 20 hours ago

yeah i was thinking about that. like would you wake up in a dictatorship or a time with way more problems than now

[–] Cattail@lemmy.world 3 points 20 hours ago

lol i dont expect to solve problems witht this would you rather

 

just to outline this fictitious would you rather, you rich enough to retire cryogenic preservation is perfect. you could live out the rest of your life in retirement and see the world evolve "like god intended", or you can adopt cryogenic lifestyle where you freeze yourself for however long you want and stay thawed for however long you want but your still a human with natural human lifespan so you will eventually die.

of course contingencies are allowed if you think something cataclysmic will happened you can be dethawed abruptly and considering future medicines to extend your lifespan is allowed

[–] Cattail@lemmy.world 0 points 3 days ago

lol just say they're wrong and platform your own position

 

cross-posted from: https://lemmy.world/post/29785220

PeerTube Picks is now available on the official Firefox Add-ons page! Firefox users no longer have to worry about losing their data when the browser closes:

FireFox add-on link

The name PeerTube Picks was chosen through collaboration with the PeerTube Lemmy community. This add-on provides video recommendations using a cosine similarity algorithm based on videos you've watched and liked. It aims to predict which videos you're likely to engage with—either by watching for longer periods or hitting the like button.

Updates: The PeerTube Picks icon now appears next to the search bar on any PeerTube page. Clicking it opens a list of recommended videos, ranked by engagement and relevance.

A new Options page allows you to:

-Download or upload your video watch history

-Delete your watch history (recommended occasionally to refresh your recommendations)

I’m open to suggestions and contributions—feel free to share ideas or improvements!

[–] Cattail@lemmy.world -2 points 1 week ago

them: "both sides bad" me: "republicans are bad indeed" them: 😠

[–] Cattail@lemmy.world 1 points 2 weeks ago

That's annoying because it's like you could fix it but you don't know if they'll acknowledge you fix.

[–] Cattail@lemmy.world 1 points 2 weeks ago (2 children)

I noticed this issue with my project that the Linux experiment dominates the hot section. I had to limit channel names or channel-account name combinations to max two just so that there's diversity in suggestions. If you limit it to more then other Linux content will populate hottest section

Also I'd like a filter for linguistic content just so I can get video that I can understand.

Other than that I do like that the app lets you log into peertube and I can explore content in specific instances

74
submitted 3 weeks ago* (last edited 3 weeks ago) by Cattail@lemmy.world to c/fediverse@lemmy.world
 

cross-posted from: https://lemmy.world/post/28808772

Finally released an alpha build for the PeerTube recommendation algorithm!
Basic UI is complete. If you want to try it out, the link is here:
👉 https://github.com/solidheron/peertube_recomendation_algorythm

New features since the last build:

  • Sort by videos that share your time engagement similarity.
  • Sort by videos that share your like similarity.
  • Display of like similarity cosine values.
  • Basic information shown for recommended videos (title, account, and channel names).
  • 404 check for generated instance links (so you don’t get stuck clicking into dead videos—you’ll know which instance hosts the video).
  • De-ranking for previously seen videos (simply a 0.5x multiplier on time and like similarity).

Features from previous builds:

  • Ability to input multiple instance domain names (DNs) and generate playable video links.
  • Limit of 5 recommendations per channel to avoid floods (e.g., during testing, The Linux Experiment would dominate otherwise—this limit is more of a failsafe than a feature).

Personal thoughts:
I still think cosine similarity beats chronological algorithms.
This algorithm also synergizes with other algorithms—it's great for finding videos that appear next to or below what you're currently watching.

You can also revisit videos you previously liked to help strengthen your like similarity vectors.


Moving forward: basic design philosophies and current issues

There’s an issue I’m calling the “Linux pipeline.”
Basically, Linux-related videos tend to dominate PeerTube’s well-produced content.
Since the algorithm relies on English words in descriptions, titles, and tags, Linux videos—which sometimes have fewer general keywords—end up being more "orthogonal" to typical user vectors, causing lower ranking.

Another challenge:
It’s really hard to properly combine like cosine similarity and time engagement cosine similarity.
You could add them, but it doesn’t fully make sense:

  • High like similarity + high time engagement similarity = you probably like and will watch the video longer.
  • But short videos can be liked even if they contribute almost nothing to time engagement (because time engagement is based on percentage watched × video length).

If I combined them, it would basically enter machine learning territory:
You'd have to adjust proportions dynamically based on user behavior.
Since I want this algorithm scoped to one person only (no data sharing yet), that level of ML is out of scope for now.

(Sharing data across devices could come later—Brave browser has sync features, and PeerTube watch history syncing could be possible.)


Summary:
Most of the data structure is settling into place.
Future updates will probably focus on expanding the data structure and making small improvements.

 

cross-posted from: https://lemmy.world/post/28633828

finally some simple UI, you click on browser extension "icon" and get taken to a webpage that will show you all the video that rank by cosine similarity (I just now realized has UUID when it should have shortuuid), linked below is the webpage

https://github.com/solidheron/peertube_recomendation_algorythm/blob/main/example1.PNG

above is just example with my recommendations luckily the links change colors if you've already seen them. of course the video at the top is the video I watched the longest.

other than that I been cleaning up backend stuff and ignoring minor error that pop up. it should more accurately capture watch time on peertube videos and doesn't just say you watch an hour of a video you didn't care about. probably adding a bunch of code that needs to get cleaned up.

my opinion has shifted a bit on this simple algo it seems like the videos I get tend to be random and take require me to find videos independently to get some decent suggestion, also there's a Linux pipeline

I do have a software engineering problem where view time is only input to the algorithm, like, dislike, and finished status of a video is available. I have decided on going with cosine similarity for likes and dislikes and adding it to the time engagement. if you like a video all the tokens of that video get a +1 in length and dislike makes all the tokens -1 in length. I thought it was a good solution because it doesn't rely on converting a like to time. I wouldn't know how to deal with like being a multiplier for time engagement vector and would dislike be negative or something or just zero. generally adding a like cosine vector to a time engagement vector generally means both time and likes normalized (sorta) both can contribute to a video recommendation.

seems like cosine recommendation will need processing

 

cross-posted from: https://lemmy.world/post/28546756

So I’ve completed the cosine similarity function, which means the script is now recommending videos in a raw way. Below is just a ranking of videos that match my watch history (all three are most likely videos I’ve already watched):

2: {shortUUID: "saKY2TWfwNYgPUQFkE4xsi", similarity: 0.4955} 3: {shortUUID: "kk7x8GAs7gNvkzaPs6EPiU", similarity: 0.4099} 4: {shortUUID: "uXeAyVfX1WEzqSPsDxtH3p", similarity: 0.2829}

Getting to this point made me realize: there’s no such thing as a simple algorithm—just simple ways to collect data. The code currently has issues with collecting data properly, so that’s something that needs fixing. Hopefully, once the data collection in this script is improved, it can be reused for future Fediverse algorithms.

There are countless ways to process the data. Cosine similarity is a simple concept and easy to implement in code, but it has a flaw: content you’ve already watched tends to rank higher than anything new. So a basic "pick the highest cosine similarity" approach probably isn’t ideal. It either needs logic to remove already-watched videos, or to bias toward videos lower down in the ranking. But filtering out watched videos isn’t perfect either—people do like to rewatch things.

The algorithm currently just looks at how much time you spent watching unique segments of a video, then assigns a value in seconds to all the words in the title, description, and tags, and sums that over all videos.

The algorithm is actually okay—subjectively, it’s better than just sorting by date. I picked a few videos at random from the top 300 ranked by cosine similarity , and there was content interesting enough to watch for more than 30 seconds, and some that was just too weird for me. Here are a few examples:

Some of these links are across different instances because no single PeerTube instance has all the videos. I loaded metadata for over 6,000 videos across five instances during testing.

The question is: should the algorithm be scoped to a single instance (only looking at content on the user’s home instance), or should it recommend from any instance and take you there?

funny thing to note is that there might be a linux pipeline in this algo

 

cross-posted from: https://lemmy.world/post/28461880

so I spent last several days making collecting watch time on both videos and livestreams more robust and work across multiple peertube instances, im sure it still has gaps in the structure so that jenk data can get in.

if you want to try it heres the link https://github.com/solidheron/peertube_recomendation_algorythm/ btw its a browser extension

so now I got two parts left that I know of first being creating the user_recomendation_vector and the function that gets recommendation based on that vector. I settle on cosine similarity vector since its easy to implement and can be run in browser with only data collected by the user device, and doesnt requires sharing outside of peertube api. user_recomendation_vector should have two part AOLR: (algorithm of last resort) which will be the words in the title, tags, and description tokenized with an float value and recomended_standard: which will be based on what category either programs or people decide a video belongs to along with an associated float value to make it a vector.

I do have issues with deciding if engagement is important, if short video should have multiplier if they're completed, how much is a like worth, how important is it to get an end of the video.

I should add that I have made complimentary video_description_vector thats store in browser all vector dimentions are 1.

 

cross-posted from: https://lemmy.world/post/28064839

writing down my thoughts for added elements called Video_description_vector and Video_description_vector_history. Video_description_vector is an element that an instance gives to describe what categories a video does and does not belong to and Video_description_vector_history is record of user submissions of what categories they say a video belongs to so that way categories can be removed.

Video_description_vector has sub elements that are format standards, this is done so that so that future potentially better format can be entered into Video_description_vector . I'm working on my recommended standard, so far I have isTrue array that lists what categories the video belongs to, while the isFalse element lists what categories it does not belong to—subjectively. done that way so that isn't a sea of element like "cartoon":True or "action":False . I do know that I need sub-element for music metrics

Below is a made-up example. It’s about the Cleveland Browns, an American football team, doing a fundraiser for charity. Categories like “football” or “sports” are excluded because the Browns are not actually playing football or engaging in sports in the video. { "Video_description_vector": { "recommended_standard": { "isTrue": ["Browns", "Charity", "Cleveland", "ALS", "fundraiser"], "isFalse": ["Sports", "football", "Cincinnati"] }, "future_standard": { "doesnt": { "subarray": { "example": "no" }, "exist": ["Sports", "football", "Cincinnati"] } } }, "Video_description_vector_history": [ { "name": "vidchase", "host": "videovortex.tv", "submitted_date": "11/15/2020", "uuid": "this and everything above can be removed if inside a video.json", "recommended_standard": { "isTrue": ["Browns", "Charity", "Cleveland"], "isFalse": ["Sports", "football", "Cincinnati"] } }, { "name": "composite", "host": "combined.instance", "submitted_date": "4/15/2024", "uuid": "this and everything above can be removed if inside a video.json", "recommended_standard": { "isTrue": ["fundraiser", "Charity", "ALS"] } }, { "name": "Troll", "host": "wrong.info", "submitted_date": "6/9/0420", "uuid": "example", "recommended_standard": { "isTrue": ["sack", "ballz"] } }, { "name": "GoodFaith_but_wrong", "host": "other.instance", "submitted_date": "1/14/2023", "uuid": "example", "recommended_standard": { "isTrue": ["Browns", "NFL", "football"] } } ] }

 

cross-posted from: https://lemmy.world/post/28011368

So I started by doing research and by research I mean watching two videos on YouTube about basic recommendation algorithms.

I did watch a 30 minute video on Netflix software engineer talking about using machine learning and complex matrix and these bandit style machine learning algorithms to recommend TV shows/movies really the base conclusion is that there's a 50% improve over doing all these complex things over their baseline measurement. Baseline will mean traditional pre neral network based algorithms.

The way I interpret it is that basics take you a long way and all the basics are is just organizing any peertube video into a vector and people watching into a vector as well. The idea would be that which videos are more similar to each other would be good recommendations if a watcher watch one of those videos, or if they didn't like it don't recommend any videos similar to that. Once these videos get vectorized then the watcher's vector can be updated in a basic way more watch time mean its more of what they want and a like would give it a boost, or comment could boost multiplier.

I'd say that the watcher's vector can be stored locally while videos vector is public. It will be a while to figure out a function/algorithm to adapt to watcher. Does the watcher taste change, do they multiple things , should the algorithm adapt fast or slow as new videos come in, novelty/consistency. I don't expect this problem to be solved anytime soon , but the recommendation algorithm will simply evolve and split as to have their own unique benefits and drawbacks.

To start foundation is to start a standard for video vector. Video can be quantified and qualified. There's only a few measurable quantities like video length and existing views. Qualitative attribute of videos like "is it a cooking tutorial, "is it a sports commentary ", or "is it a Livestream VOD" are going to require that the vector be stored in a format that can adapt to the expanding number of dimensions the quality a peertube video can have. Next issue is measure qualities to an actual number is something sports related or sports adjacent would a 1 mean yes or would a 0 mean neutral/agnostic or no.

The last simplist issue would be communicated the algorithm that updates the watcher's vector since that can be done via updates from peertube server or GitHub

 

so this is code that the owncast plays https://github.com/solidheron/owncast_plays_dualshock script is based on, but the peertube version. if you were interested in the script here a trial run of the script. with the peertube setting and obs studio it should be similar latency chatter experiences with owncast

should note that for some reason the DiskStation emulator is not registering r2 and l2 button presses on linux. I don't think the game has any use for those buttons

 

rotated out the games and script. don't worry dragon quests monster has a save state and can be loaded back at any time

 

rotated out the games and script. don't worry dragon quests monster has a save state and can be loaded back at any time

 

I finished up the script that controls the PS4 controller and it works good enough with one know issue. I look at the twitch plays Pokemon channel and they rotate out there games about every 10 days so I'll take down dragon quest monsters to free it up for chocobo dungeons 2. Dragon quest will be returned to on a later date.

It's just that activity on dragon quest fedi plays has been sparse.

view more: next ›