hono4kami

joined 1 week ago
MODERATOR OF
[–] hono4kami@slrpnk.net 1 points 1 hour ago (1 children)

Not really reaching, both the song The Downward Spiral and Closer has the same leitmotif, and I like it so much. Makes me wonder why I forgot about this one

[–] hono4kami@slrpnk.net 1 points 1 hour ago

I think I know the culprit, see my comment here: https://slrpnk.net/post/16303676/12737230

The fix seems to be just merged few days ago. Hopefully this time it's actually fixed

[–] hono4kami@slrpnk.net 2 points 5 hours ago (1 children)

My Lemmy instance actually can't fetch YouTube thumbnail, so I actually have to put it manually lol.

See http://www.get-youtube-thumbnail.com/

[–] hono4kami@slrpnk.net 5 points 5 hours ago* (last edited 5 hours ago) (1 children)

If you don't put a whopping 1MB of JavaScript in your website, you're doing web development wrong.

/s

[–] hono4kami@slrpnk.net 2 points 5 hours ago* (last edited 5 hours ago) (1 children)

See the other reply: seems that it was caused by Lemmy backend only fetches the first 512kb of the HTML, meanwhile YouTube puts bunch of JavaScript in the beginning of the HTML

Here's the fix that was only merged couple days ago apparently, https://github.com/LemmyNet/lemmy/pull/5266

Crazy, right

[–] hono4kami@slrpnk.net 2 points 5 hours ago* (last edited 5 hours ago) (3 children)

Also, this is a good tip in general:

You can't fetch title and thumbnail for YouTube links that starts with youtu.be. This applies not only in Lemmy, but other websites too, for example Twitter (even before Elon's era).

This is, IMO due to the link doesn't really contain HTML and OpenGraph metadata. It only redirects you. If you try cURL-ing the youtu.be link, you will see that it doesn't have a response body, only some header including Location header that will tell you where to redirect. The response code itself is 301.

[–] hono4kami@slrpnk.net 1 points 5 hours ago (2 children)

I'm noticing that YouTube video's thumbnail and title can't be fetched somehow. In theory this should work, right? See the post and my comment below:

https://slrpnk.net/post/16303676

https://slrpnk.net/post/16303676/12737095

[–] hono4kami@slrpnk.net 2 points 5 hours ago* (last edited 5 hours ago) (7 children)

So I take a peek at the Lemmy's source code.

When you see a thumbnail and title of a URL (including YouTube video links) on Lemmy, what happens is that Lemmy server fetched the website HTML file and get the og:title and og:image (this convention is called OpenGraph protocol ^1) located inside <head> HTML tag.

For example, for this video https://www.youtube.com/watch?v=MbYuEEU5e50, the OpenGraph metadata inside the HTML looks like this:

<meta property="og:title" content="Flume - Lose It feat. Vic Mensa">
<meta property="og:image" content="https://i.ytimg.com/vi/MbYuEEU5e50/maxresdefault.jpg">

Try opening the "Create Post" page, then enter URL of a YouTube video. You might notice that a loading spinner will appear. During this, the frontend of Lemmy is actually creating a request to /api/v3/post/site_metadata?url=[insert your URL]. When the backend side of Lemmy receives the request from front end, it will run this code ^2 to fetch the HTML and parse it to find the OpenGraph metadata. If the metadata is found, the backend will return it to front end, and you willl see recommended title and the "Thumbnail URL" field should be filled.

In theory, this should work fine, regardless of any website. I personally tried to view the HTML code of a YouTube video and the HTML file indeed contains OpenGraph metadata.

But it doesn't for YouTube videos in Lemmy somehow. And I'm not sure.

I'm suspecting YouTube thought that Lemmy servers are bots and because of that instead of receiving the HTML file of a YouTube video, instead it received a HTML file of a captcha page. I think I'm gonna try contacting admins of my instance to see whether YouTube URL works or not.

[–] hono4kami@slrpnk.net 9 points 6 hours ago (7 children)

It's because Lemmy can't fetch YouTube thumbnails. I swear it used to fetch thumbnail and title automatically before, hmm

[–] hono4kami@slrpnk.net 3 points 16 hours ago (3 children)

Oh wow I completely forgot lol

[–] hono4kami@slrpnk.net 2 points 20 hours ago (1 children)

i kinda want to upload all my shitposts gallery on PeerTube but i can't even find a single instance that is open for registration lol

[–] hono4kami@slrpnk.net 2 points 21 hours ago (1 children)

Let me give you my opinion, specifically as a React developer, if you don't mind.

And let's be clear: I intend this to be a constructive criticism. I hope you understand and don't take it the wrong way.

To be honest, I don't know how good or bad federating one-way is. This is more of a "people" problem rather than a technical problem.

But, to be honest, what I am bothered by, is the fact that the website doesn't give an attribution in the UI about which instance certain users are from and which instance certain certain community are from.

Take a look at this post: https://clubsall.com/posts/theyre-trying-to-charge-luigi-with-terrorism-imagine-that-qfF82

The UI says that the post was posted by u[slash]BytesOnBikes. If I didn't know better, I'd have assumed this was from a user from clubsall. But if you click the username, you realize that the link says u[slash]BytesOnBikes[at]slrpnk.net. I think this would be confusing as a user. What if there is the same user under the username BytesOnBikes from clubsall? At least if you include the instance name, user would know right away that both users are different. But if you didn't include the instance name, I feel like this can be abused to impersonate user. This is a bad thing to happen to your website, don't you agree?

Now that we both understand that lack of attribution is a bad thing to clubsall... What's stopping you from adding an instance name to the username? I'm sure the app has a way to know which instance certain users are from. From what I gather, I feel like this is as easy as appending a string in the code.

I haven't even talked about the community name on the UI. Or the ethicality of misleading attribution.

 

I know that there are countless amount of movies/games soundtracks with leitmotifs, but other than that I've never found albums with leitmotifs.

 

(This is a repost of this reddit post https://www.reddit.com/r/selfhosted/comments/1fbv41n/what_are_the_things_that_makes_a_selfhostable/, I wanna ask this here just in case folks in this community also have some thoughts about it)

What are the things that makes a selfhostable app/project project good? Maybe another way to phrase this question is, what are the things that makes a project easier to self-host?

I have been developing an application that focuses on being easy to selfhost. I have been looking around for existing and already good project such as paperless-ngx, Immich, etc.

From what I gather the most important thing are:

  • Good docs, this is probably the most important. The developer must document how to self-host
  • Less runtime dependency--I'm not sure about this one, but the less it depends on other services the better
  • Optional OIDC--I'm even less sure about this one, and I'm also not sure about implementing this feature on my own app as it's difficult to develop. It seems that after reading this subreddit/community, I concluded that lots of people here prefer to separate identity/user pool and app service. This means running a separate service for authentication and authorization.

What do you think? Another question is, are there any more good project that can be used as a good example of selfhostable app?

Thank you


Some redditors responded on the post:

  • easy to install, try, and configure with sane defaults
  • availabiity of image on dockerhub
  • screenshots
  • good GUI

I also came across this comment from Hacker News lately, and I think about it a lot

https://news.ycombinator.com/item?id=40523806

This is what self-hosted software should be. An app, self-contained, (essentially) a single file with minimal dependencies.

Not something so complex that it requires docker. Not something that requires you to install a separate database. Not something that depends on redis and other external services.

I’ve turned down many self-hosted options due to the complexity of the setup and maintenance.

Do you agree with this?

 

Repository: https://codeberg.org/ForgeFed/ForgeFed

ForgeFed is a federation protocol for software forges and code collaboration tools for the software development lifecycle and ecosystem.

ForgeFed is an ActivityPub extension. ActivityPub is an actor-model based protocol for federation of web services and applications.

See also:

https://forgejo.org/2023-01-10-answering-forgejo-federation-questions/

https://forgejo.org/docs/latest/contributor/federation-architecture/

 

https://drawabox.com/r/artfundamentals/

If you visit r/ArtFundamentals now, there is a message:

/r/ArtFundamentals has PERMANENTLY CLOSED. Our drawing lessons are still available, completely free, on drawabox.com. We also have a large community you can join on our Discord chat server: discord.gg/drawabox. Lastly, all of the advice I have provided on this subreddit (6000+ comments worth) is available on our archive: drawabox.com/r/artfundamentals. More info on why we closed here: https://www.reddit.com/r/drawabox/comments/14pr4fa/drawabox_is_no_longer_maintaining_an_official/

Quote from the mentioned post:

[...] As of June 30th 2023, we have decided to move away from having an official presence on Reddit. Maintaining a presence on any social media platform comes with its risks - whether it's Reddit, Discord, or any other. When a platform demonstrates a lack of regard for its users, its volunteer moderators, and the third party developers that help provide critical accessibility and usability tools, that elevates the level of risk to something more immediate. [...]

 

So far, I found:

English

German

 

Will we even see commercial electric planes in our lifetime?

From what I know, what's stopping it from becoming commercialized(?) is limitation of current generation battery. TBH I'm not an expert on this subject.

 
view more: next ›