kevincox

joined 3 years ago
[โ€“] kevincox@lemmy.ml 11 points 1 week ago

I switched to Immich recently and am very happy.

  1. Immich's face detection is much better, very rarely fails. Especially for non-white faces. But even for white faces PhotoPrisim regularly needed me reviewing the unmatched faces. I also needed to really turn up the "what is a face" threshold because otherwise it would miss a ton of clear faces. (Then it only missed some, but also has tons of false positives). On the other hand Immich just works.
  2. Immich's UI is much nicer overall. Lots of small affordances. For example the menu item to "view in timeline" is worth switching alone. Also good riddance to PhotoPrism's persistent and buggy selection. Someone must have worked really hard on implementing this but it was really just a bad idea.
  3. Immich has an app with uploading, and it allows you to view local and uploaded photos in one interface which is a huge UX win. I couldn't find a good Android app for uploading to photoprism. You could set up import delays and stuff but you would still regularly get partially uploaded files imported and have to clean it up manually.
  4. Immich's search by content is much better. For example searching for "cat with red and yellow ball" was useless on PhotoPrism, but I found tons of the results I was looking for on Immich.

The bad:

  1. There is currently a terrible jank in the Immich app which makes videos unusable and everything painful. Apparently this is due to some Album sync process running in the main thread. They are working on it. I can't fathom how a few hundred albums causes this much lag but ๐Ÿคท There is also even worse lag on the location view page, but at least that is just one page.
  2. The Immich app has a lot less features than the website. But the website works very well on mobile so even just using the website (and the app for uploading) is better than PhotoPrism here. The fundamentals are good but it just needs more work.
  3. I liked PhotoPrism's advanced filters. They were very limited but at least they were there.
  4. Not being able to sort search results by date is a huge usability issue. I often know roughly when the photo I want to find was taken and being able to order by date would be hugely helpful.
  5. You have to eagerly transcode all videos. There is no way to clean up old transcodes and re-transcode on the fly. To be fair the PhotoPrism story also wasn't great because you had to wait for the full video to be transcoded before starting, leading to a huge delay for videos more than a few seconds, but at least I could save a few hundred gigs of disk space.

Honestly a lot of stuff in PhotoPrism feels like one developer has a weird workflow and they optimized it for that. Most of them are counter to what I actually want to do (like automatic title and description generation, or the review stuff, or auto quality rating). Immich is very clearly inspired by Google Photos and takes a lot of things directly from it, but that matches my use case way better. (I was pretty happy with Google Photos until they started refusing to give access to the originals.)

[โ€“] kevincox@lemmy.ml 18 points 1 week ago

Most Intel GPUs are great at transcoding. Reliable, widely supported and quite a bit of transcoding power for very little electrical power.

I think the main thing I would check is what formats are supported. If the other GPU can support newer formats like AV1 it may be worth it (if you want to store your videos in these more efficient formats or you have clients who can consume these formats and will appreciate the reduced bandwidth).

But overall I would say if you aren't having any problems no need to bother. The onboard graphics are simple and efficient.

[โ€“] kevincox@lemmy.ml 1 points 2 weeks ago

Must be because Factorio released 2.0 and the Space Age DLC recently.

[โ€“] kevincox@lemmy.ml 1 points 1 month ago

I paid for GPM for quite a while. I then started working at Google and beta tested YouTube Music from very early on and gave lots of feedback about how it sucked. When they shut down GPM I cancelled my YouTube Premium membership and installed an ad blocker. Not just YTM but so many things about YouTube were getting worse and worse and I couldn't find it in myself to keep paying for a service that kept removing features.

[โ€“] kevincox@lemmy.ml 3 points 1 month ago (3 children)

Yes, but in my experience it is pretty trash. Unlike Google Play Music which matched the music to known tracks and shuffled it in with recommended playlists and other features on YouTube Music the uploaded songs are basically completely isolated. At that point why use a streaming service?

[โ€“] kevincox@lemmy.ml 5 points 1 month ago

A few hundred a month is just a few per day. That is pretty low volume by most standards.

I would say in general if the SMTP server could be replaced by a single human writing and mailing snail-mail letters by hand it qualifies as low volume.

[โ€“] kevincox@lemmy.ml 0 points 1 month ago (1 children)

https://github.com/simplex-chat/simplex-chat/issues/444 suggests otherwise. Do you have any information about multi-device support.

[โ€“] kevincox@lemmy.ml 19 points 1 month ago

This isn't how YouTube has streamed videos for many, many years.

Most video and live streams work by serving a sequence of small self-contained video files (often in the 1-5s range). Sometimes audio is also separate files (avoids duplication as you often use the same audio for all video qualities as well as enables audio-only streaming). This is done for a few reasons but primarily to allow quite seamless switching between quality levels on-the-fly.

Inserting ads in a stream like this is trivial. You just add a few ad chunks between the regular video chunks. The only real complication is that the ad needs to start at a chunk boundary. (And if you want it to be hard to detect you probably want the length of the ad to be a multiple of the regular chunk size). There is no re-encoding or other processing required at all. Just update the "playlist" (the list of chunks in the video) and the player will play the ad without knowing that it is "different" from the rest of the chunks.

[โ€“] kevincox@lemmy.ml 9 points 1 month ago

That is a pretty weak argument. The issues are minor and in a library that people are moving off of to a better build and stronger validated library. Yes, it should have been like that in the first place, but the problem is minor and being addressed.

I would look more to the various features of Matrix that aren't encrypted like room names, topics, reactions, ... and not to mention the oodles of unencrypted metadata. I really wouldn't call Matrix a high-privacy system.

I like Matrix and use it regularly, but it definitely doesn't have a privacy-first mindset like Signal does. I'm hoping that this improves over time, but without a strong privacy first leadership it seems unlikely to happen.

[โ€“] kevincox@lemmy.ml 2 points 1 month ago (14 children)

Simplex doesn't support mutli-device. That's a deal breaker for me. I do 90% of my messaging at my desktop but also want to be able to chat on the go. Using my laptop on the couch is also fairly convenient.

[โ€“] kevincox@lemmy.ml 1 points 2 months ago* (last edited 2 months ago) (1 children)

Ah ok. You aren't doing auth. I don't understand how this is relevant.

[โ€“] kevincox@lemmy.ml 1 points 2 months ago (3 children)

Are you doing auth in the reverse proxy for Jellyfin? Do you use Chromecast or any non-web interface? If so I'm very interested how you got it to work.

 

Is there any service that will speak LDAP but just respond with the local UNIX users?

Right now I have good management for local UNIX users but every service wants to do its own auth. This means that it is a pain of remembering different passwords, configuring passwords on setting up a new service and whatnot.

I noticed that a lot of services support LDAP auth, but I don't want to make my UNIX user accounts depend on LDAP for simplicity. So I was wondering if there was some sort of shim that will talk the LDAP protocol but just do authentication against the regular user database (PAM).

The closest I have seen is the services.openldap.declarativeContents NixOS option which I can probably use by transforming my regular UNIX settings into an LDAP config at build time, but I was wondering if there was anything simpler.

(Related note: I really wish that services would let you specify the user via HTTP header, then I could just manage auth at the reverse-proxy without worrying about bugs in the service)

view more: next โ€บ