28
[-] Zetaphor@zemmy.cc 69 points 9 months ago

I have a book on learning Pytorch, this XKCD is in the first chapter and implementing this is the first code practice. It's amazing how things progress.

[-] Zetaphor@zemmy.cc 61 points 10 months ago* (last edited 10 months ago)

The apology video to me rang hollow and self serving. They made jokes (including a sex joke which was very unfortunate timing), they teased a new product and plugged lttstore, they said the details on how Labs does thorough testing will be paywalled, they publicly disclosed Billets prototype price which GN's video clearly stated they did not want public (an error in the video apologizing for errors), and then there's Linus' response.

I've canceled my floatplane subscription and unsubscribed from all of their YouTube channels. I was willing to see them through on the original accusations from GN, but after that "apology" and the accusations from Madison, I no longer feel okay rewarding them with my time and money.

[-] Zetaphor@zemmy.cc 85 points 10 months ago

Then you missed where they dropped an opportunity to show a new screwdriver variant coming to LLTStore.com 🤦

[-] Zetaphor@zemmy.cc 119 points 10 months ago

This situation sucks and was something I would have been willing to see through. But after reading the thread from Madison this morning I've decided to cancel my Floatplane subscription. While the accusations she makes are currently accusations, they're pretty damning and worth taking seriously in case they are more than allegations. I await LMG's response to her thread, as I feel that will be the deciding factor in whether or not I continue to consume and support anything LMG does going forward.

Her thread: https://twitter.com/suuuoppp/status/1691693740254228741

[-] Zetaphor@zemmy.cc 37 points 10 months ago

Putting all of the large communities on a single instance is just reddit with more steps. It's good that one of the larger Lemmy communities is not also on the largest Lemmy instance. Lemmy.world suffers a lot of outages (in part because it's so centralized), meanwhile this community remains available.

[-] Zetaphor@zemmy.cc 39 points 11 months ago

And you haven't already quit because you're on an H1B/GC visa, and so your residence in the US is tied to your employment, effectively making you a corporate owned slave.

1
submitted 11 months ago* (last edited 11 months ago) by Zetaphor@zemmy.cc to c/plugins@sh.itjust.works

As the title says, I got tired of hearing about twitter and reddit so provide this userscript a comma separated list of keywords and you will no longer see posts containing those keywords. I'd love to see this functionality built into Lemmy itself, but until then here's a userscript.

Repo link

[-] Zetaphor@zemmy.cc 34 points 11 months ago* (last edited 11 months ago)

This question all comes down to your opinion of what makes a person a person, whether that means we have something greater than the collection of our atoms, or whether we are simply the emergent outcome of the complex arrangement of atoms. If you subscribe to the former then you also need to believe that this machine is somehow capable of either transporting/transplanting that "soul" for lack of a better expression. Where if you subscribe to the latter than this is most certainly a suicide cloning machine.

I personally subscribe to the idea that consciousness is an emergent property of complexity. Given a sufficiently large enough series of inputs you can observe new and unexpected outputs that appear to be on higher orders of complexity than their inputs. This response is an example of that, from electrons flowing through transistors we end up with operating systems, hardware IO, web browsers, networking protocols, ASCII standards, font rendering, etc. All of that complexity emerges from a massive amount of on/off switches arranged in patterns over time.

Following this chain of reasoning I believe that making an exact duplicate of me down to the state of each atom is no different than that entity being me, however as a conscious being with human ethics and morals I put value in the singularity of my existence, and so a plurality of Zetaphor is something I find undesirable as it fundamentally challenges my perception of what it means to be myself.

So assuming the entity leaving the transporter is me, there's two ways to approach the way a machine like this could operate:

  • It reads my state in its entirety and then destroys (or encodes for transport) that state
  • Or it's creating the new instance of me bit by bit as it reads my current state

That means one of two things, either there is a brief moment of time where two identical copies of me are in the universe, or there is a period of time where zero complete copies of me exist in the universe. So either I stopped existing momentarily and then was recreated from scratch (death and clone birth), or I existed in two places at once and then died in one (cloning and suicide).

207
submitted 11 months ago* (last edited 11 months ago) by Zetaphor@zemmy.cc to c/piracy@lemmy.dbzer0.com

cross-posted from: https://zemmy.cc/post/25499

You may have seen my previous post over here, after I had just gotten everything setup initially.

I've now expanded this with an additional script, a github repo, and proper documentation.

Here's a cleaner explanation:

I've taken on the challenge of self-hosting more of the services I regularly depend on. The latest target is Spotify. This meant I needed a simple and convenient way to listen to my music from anywhere, get new music into my collection, and also still receive recommendations based on my interests and listening habits.

I now have what I think is the pretty ideal setup, here's what it includes:

  • A 24/7 radio station that plays my entire catalog (link here if you're interested). This is powered by Azuracast along with the scripts in the repo. The station link is using the Public Pages feature in Azuracast with a bunch of custom CSS.

  • A Spotify-like experience that also supports mobile and offline. This is powered by Navidrome for web/desktop and Substreamer for mobile. Substreamer connects to Navidrome using the Subsonic API.

  • A couple of scripts that allow me to easily download tracks/albums/playlists from Spotify and Youtube. I used these to bootstrap the collection and export my existing playlists from each service.

  • A couple of scripts that automatically grab my latest recommendations from Spotify and LastFM, add them into Navidrome, and provide me a nearly fully automated way to parse out tracks I want to keep permanently.

That last point is the most interesting part in my opinion. Both scripts run on a weekly cron job that downloads my Discover Weekly playlist from spotify, and current recommendations from LastFM. It then creates a playlist for each source for that weeks collection and moves it into Navidrome.

I then browse that weeks playlist at my leisure, using the "star" feature in Navidrome to decide what to keep. Once I'm done I run another script manually that takes all of the starred tracks from those two playlists and moves them into my catalog, and then deletes the remaining tracks and the playlists.

This means I just need to go through and listen to recommendations and click a button on what to keep, and the rest is discarded automatically. It really doesn't get any simpler than this!

What remains will then be available for on-demand playback through Navidrome and also added to the full catalog that powers the 24/7 radio station.

FAQs from the last thread

What is being used to download from X? - spotdl is being used for Spotify.pytube is being used for LastFM and Youtube. spotdl is also just downloading tracks from Youtube under the hood.

What is the audio quality of the downloaded tracks? - Since these are coming from Youtube, everything is a 128kbps VBR Opus codec. It's certainly not FLAC but it's good enough for my enjoyment.

7
submitted 11 months ago* (last edited 11 months ago) by Zetaphor@zemmy.cc to c/selfhosted@lemmy.world

You may have seen my previous post over here, after I had just gotten everything setup initially.

I've now expanded this with an additional script, a github repo, and proper documentation.

Here's a cleaner explanation:

I've taken on the challenge of self-hosting more of the services I regularly depend on. The latest target is Spotify. This meant I needed a simple and convenient way to listen to my music from anywhere, get new music into my collection, and also still receive recommendations based on my interests and listening habits.

I now have what I think is the pretty ideal setup, here's what it includes:

  • A 24/7 radio station that plays my entire catalog (link here if you're interested). This is powered by Azuracast along with the scripts in the repo. The station link is using the Public Pages feature in Azuracast with a bunch of custom CSS.

  • A Spotify-like experience that also supports mobile and offline. This is powered by Navidrome for web/desktop and Substreamer for mobile. Substreamer connects to Navidrome using the Subsonic API.

  • A couple of scripts that allow me to easily download tracks/albums/playlists from Spotify and Youtube. I used these to bootstrap the collection and export my existing playlists from each service.

  • A couple of scripts that automatically grab my latest recommendations from Spotify and LastFM, add them into Navidrome, and provide me a nearly fully automated way to parse out tracks I want to keep permanently.

That last point is the most interesting part in my opinion. Both scripts run on a weekly cron job that downloads my Discover Weekly playlist from spotify, and current recommendations from LastFM. It then creates a playlist for each source for that weeks collection and moves it into Navidrome.

I then browse that weeks playlist at my leisure, using the "star" feature in Navidrome to decide what to keep. Once I'm done I run another script manually that takes all of the starred tracks from those two playlists and moves them into my catalog, and then deletes the remaining tracks and the playlists.

This means I just need to go through and listen to recommendations and click a button on what to keep, and the rest is discarded automatically. It really doesn't get any simpler than this!

What remains will then be available for on-demand playback through Navidrome and also added to the full catalog that powers the 24/7 radio station.

FAQs from the last thread

What is being used to download from X? - spotdl is being used for Spotify.pytube is being used for LastFM and Youtube. spotdl is also just downloading tracks from Youtube under the hood.

What is the audio quality of the downloaded tracks? - Since these are coming from Youtube, everything is a 128kbps VBR Opus codec. It's certainly not FLAC but it's good enough for my enjoyment.

[-] Zetaphor@zemmy.cc 41 points 11 months ago

But now you have the opportunity to build it in Rust or Typescript! /s

[-] Zetaphor@zemmy.cc 74 points 11 months ago

You're saying this like Firefox is adding the shitty standard because they want to, and not because Google used their monopoly to force adoption of the shitty standard forcing Firefox to follow suit if they don't want their users to have a broken experience.

If Google introduces a shitty standard to YouTube and Firefox doesn't adopt it, do you honestly think users are going to care or understand and blame Google? No, they'll get pissed because they think Firefox broke YouTube and they'll move to Chrome.

This exact situation played out with shadow DOM, Google implemented it into YouTube while it was still a draft standard, so all non-Chrome browsers ran worse because they had to use a polyfill.

That is why we're telling people to stop using Chromium. If they didn't have this monopoly none of this would be possible. Mozilla has some issues as an organization, but do honestly you think the better choice is letting an advertising company decide how the web works?

[-] Zetaphor@zemmy.cc 43 points 11 months ago* (last edited 11 months ago)

Nothing about this is recent, those who pay attention to the standards process have been screaming for ages about the Google problem. It's just that now between interest rates being what they are and them having a monopoly on the browser market that they're cashing in on their investment.

[-] Zetaphor@zemmy.cc 50 points 11 months ago

The problem is a lot of people who want to learn to code, and are conditioned to desire the college route of education, don't actually know that there is a difference and that you can be completely self-taught in the field without ever stepping foot in a university.

135
submitted 11 months ago* (last edited 11 months ago) by Zetaphor@zemmy.cc to c/piracy@lemmy.dbzer0.com

I recently decided to start taking on the challenge of selfhosting and curating my music collection. I originally started looking at Lidarr as I am already a big fan of Radarr and Sonarr, but it wasn't really what I was looking for. I'm not often seeking out full albums, and am more often finding my music by listening to single tracks from Spotify's Discover Weekly playlist. I needed a solution that would let me replicate this experience while hosting my own MP3's and ideally be entirely automated.

I currently have the following setup running on a VPS:

  • Azuracast - This provides me a streaming radio station that cycles through my entire library 24/7
  • Navidrome - This fills the gap of the Spotify-like interface where I can play specific tracks, albums, or playlists

I bootstrapped my library with a Python script that parsed a list of Spotify URL's and downloaded all of the tracks with the spotdl library. This allowed me to grab my liked tracks, the playlists I had created, as well as a large number of albums I wanted.

I then used ChatGPT to write two python scripts:

  • The first script runs using cron every Monday and uses SpotDL to grab the contents of my Discover Weekly playlist from Spotify. It puts all of the files into a folder with that weeks date and also creates a playlist file. This way I can easily browse that weeks playlist in Navidrome and decide what to keep. It also sends me an email on completion/error

  • The second script is a bit more complex. This one does the same end result but for all of my LastFM reccomendations. This is done by spinning up a headless Chrome browser with Selenium in a docker container. It then logs into my LastFM account, parses each reccomendation, and then uses pytube to download the video links, since LastFM just directly links to Youtube videos. This list should change as I continue scrobbling via Navidrome and other sources, but I still need to determine how often the cron job should run.

My next step is figuring out how to connect to Azuracast/Navidrome using the many subsonic compatible clients so I can have mobile playback and things like offline playback. I'm currently looking at substreamer for Android.

I'd also like to look into a more seamless way of picking out the tracks I want to keep and discard from the playlists in Navidrome. I'm considering writing something to check its SQL database for liked tracks in each playlist and automatically move those into the main folder/playlist that Azuracast is playing from.

This whole setup took me only a couple days to create, and largely relied on ChatGPT to write the scripts and dockerfiles. I'm a capable programmer but GPT-4 is absolutely OP if you know what you're trying to accomplish and how to debug its mistakes. That Selenium script only took me an hour from idea to completion and I never modified the code by hand, only prompted it for corrections/additions.

If anyone is interested I've uploaded all the scripts to a gist, you just need to go through and update with your credentials/URLs

2
submitted 1 year ago* (last edited 1 year ago) by Zetaphor@zemmy.cc to c/technology@beehaw.org

cross-posted from: https://zemmy.cc/post/79525

I currently have 4 different Android clients for Lemmy installed on my phone and none of them are what I'm looking for. Additionally I've tried 3 different PWA's and they're still not what I want out of a browsing experience.

So I've decided if nobody else is going to make what I'm looking for I'll have to do it myself. This is an early preview of the current unnamed client I'm working on.

It will be a PWA supporting Android an iOS, though I don't own any Apple products so support will be in so far as they don't do dumb stuff to break PWA standards. It's open source and will be free to use.

Currently the dev environment is hardcoded to my personal instance as CORS support is restricted in the Lemmy server until a future release. This means all PWA's are actually proxying your requests through their server in order to rewrite the origin header. I don't intend to release this until CORS support is fully resolved which should be soon.

I need help with a name! I was considering Infinity since I'm using that for the loading symbol, but there's already a reddit client with that name and I don't want to poach it if they decided to transition to Lemmy.

[-] Zetaphor@zemmy.cc 69 points 1 year ago

What in this message made you think your rejection had anything to do with donations? Seems like you're jumping to that conclusion without any evidence.

2
submitted 1 year ago* (last edited 1 year ago) by Zetaphor@zemmy.cc to c/fediverse@lemmy.world

cross-posted from: https://lemm.ee/post/177673

Cross posting this here for visibility since lemmy.ml federation has been very hit or miss the last week. Original post from @sunaurus@lemm.ee

Today, a bunch of new instances appeared in the top of the user count list. It appears that these instances are all being bombarded by bot sign-ups.

For now, it seems that the bots are especially targeting instances that have:

  • Open sign-ups
  • No captcha
  • No e-mail verification

I have put together a spreadsheet of some of the most suspicious cases here.

If this is affecting you, I would highly recommend considering one of the following options:

  1. Close sign-ups entirely
  2. Only allow sign-ups with applications
  3. Enable e-mail verification + captcha for sign-ups

Additionally, I would recommend pre-emptively banning as many bot accounts as possible, before they start posting spam!

Please comment below if you have any questions or anything useful to add.

24
submitted 1 year ago by Zetaphor@zemmy.cc to c/chat@beehaw.org

cross-posted from: https://zemmy.cc/post/17190

This comes to us courtesy of @misnina@crystals.rest. As a technical person I sometimes find it difficult to communicate with my friends about the value proposition of Lemmy and other federated platforms.

The reality is 99.9% of people are going to instantly tune out the moment they hear "federation", "decentralized", or "self-hosted". These things all existed before the centralized social media hellscape we have today, but those centralized platforms gained dominance because they were able to package their value into a simple pitch: "Your one-stop shop for social!"

Another good example of this is comparing the current state of the official Lemmy website to the official Mastodon website.

Mastodon spends the first 2 page scrolls offering you a visual explanation of what their platform offers, a cohesive and familiar social experience. It's not until you get 1/3 into the page that you see the words "open source", and the word "federation" doesn't even appear in the main copy, it's used in a user testimonial towards the bottom of the site.

Lemmy's site on the other hand has an okay paragraph of copy about it's value proposition, but then spends the first two image tiles and blurbs showing and talking about its source code and infrastructure, with only the third referencing moderator tools.

The following section talks about self-hosting and the fediverse, with only a brief mention to the core value proposition. I could go on about the remainder of the site but by this point it's likely that the majority of users who weren't already seeking this and/or are technically inclined have left.

Communicating the value of these things is difficult and something we're going to need to focus on improving both as platform providers and as users of that platform. That's why I'm so enamored with this video from Nina. It is quick and to the point, it only communicates what needs to be said for anyone to understand the value prop, and it does so in a way that doesn't invoke any of the exclusive terminology.

Thank you for coming to my ~~TED Talk~~ rant.

view more: next ›

Zetaphor

joined 3 months ago