• 0 Posts
  • 27 Comments
Joined 4 years ago
cake
Cake day: June 24th, 2020

help-circle
  • Something which notifies you whenever a new comment or reply is made to a selected post/comment, so that you can keep track of any new conversation.

    Something like this would be awesome as a core Lemmy feature IMO. It would essentially turn a post (or maybe any comment tree?) into a matrix style room. Lemmy is actually decent for long term discussion (e.g. helping someone with a problem), but not if there are more than two people involved.


  • Hi, This is a high priority ticket and the FFmpeg version is currently used in a highly visible product in Microsoft. We have customers experience issues with Caption during Teams Live Event. Please help,

    Use -data_field first as decoder option in CLI. Default value was changed from first to auto in latest FFmpeg version. Or modify AVOption of same name in API for this decoder.

    Thanks @Elon for the reply, This is the command we are currently using: ffmpeg.exe -f lavfi -i movie=flvdecoder_input223.flv[out+subcc] -y -map 0:1 ./output_p.srt

    I will be looking to see any updates in the FFmpeg documentation. Can you please elaborate and provide pointers the right decoding options or the right FF command er can use. Thank you!

    ffmpeg.exe -data_field first -f lavfi -i movie=flvdecoder_input223.flv[out+subcc] -y -map 0:1 ./output_p.srt

    Got that’s fucking brutal. This isn’t even asking them to fix a bug, it’s just basic help-desk shit.

    I’m sure Microsoft has some good devs that are a net benefit to the open source projects they use, but this is not one of them.












  • It’s not just the visible complexity in this one file. The point of it is to keep a subscriber count in sync, but you have that code I referenced above, plus:

    LinkPersonCommunityCreatedEvent LinkPersonCommunityDeletedEvent LinkPersonCommunityCreatedPublisher LinkPersonCommunityDeletedPublisher

    And then there are things like LinkPersonCommunityUpdated[Event/Publisher] which don’t even seem to be used.

    This is all boilerplate IMO.

    And all of that only (currently) serves keeping that subscriber count up to date.

    And then there’s the hidden complexity of how things get wired up with spring.

    And after all that it’s still fragile because that event is not tied to object creation:

      @Transactional
      public void addLink(Person person, Community community, LinkPersonCommunityType type) {
    
        final LinkPersonCommunity newLink = LinkPersonCommunity.builder().community(community)
            .person(person).linkType(type).build();
        person.getLinkPersonCommunity().add(newLink);
        community.getLinkPersonCommunity().add(newLink);
        linkPersonCommunityRepository.save(newLink);
        linkPersonCommunityCreatedPublisher.publish(newLink);
      }
    

    And there’s some code here:

    https://github.com/sublinks/sublinks-api/blob/main/src/main/java/com/sublinks/sublinksapi/api/lemmy/v3/community/controllers/CommunityOwnerController.java#L138C31-L138C50

        final Set<LinkPersonCommunity> linkPersonCommunities = new LinkedHashSet<>();
        linkPersonCommunities.add(LinkPersonCommunity.builder().community(community).person(person)
            .linkType(LinkPersonCommunityType.owner).build());
        linkPersonCommunities.add(LinkPersonCommunity.builder().community(community).person(person)
            .linkType(LinkPersonCommunityType.follower).build());
    
        communityService.createCommunity(community);
    
        linkPersonCommunityRepository.saveAllAndFlush(linkPersonCommunities);
    

    that is able to bypass the community link service and create links in the repository directly, which would presumably not trigger than event.

    Maybe there’s a good reason for that, but it sure looks fragile to me.



  • Browsing the code makes me angry at how bloated Java projects are:

    package com.sublinks.sublinksapi.community.repositories;
    
    import com.sublinks.sublinksapi.community.dto.Community;
    import com.sublinks.sublinksapi.community.models.CommunitySearchCriteria;
    import com.sublinks.sublinksapi.post.dto.Post;
    import com.sublinks.sublinksapi.post.models.PostSearchCriteria;
    import org.springframework.data.domain.Page;
    import org.springframework.data.domain.Pageable;
    import org.springframework.data.jpa.repository.JpaRepository;
    import org.springframework.data.jpa.repository.Query;
    import org.springframework.data.repository.query.Param;
    import java.util.List;
    
    public interface CommunitySearchRepository {
    
      List<Community> allCommunitiesBySearchCriteria(CommunitySearchCriteria communitySearchCriteria);
    
    }
    

    Every file is 8 directories deep, has 20 imports, and one SQL statement embedded in a string literal. 😭






  • It’s all reasonable stuff except maybe:

    People’s names are all mapped in Unicode code points.

    I don’t see how you could avoid this this in software that needs to ask the user their name.

    I think it’s definitely a good idea to avoid using names wherever possible, and definitely don’t try to do anything clever with them.

    When necessary, software can just be clear:

    • “in unicode, what should I call you?”
    • "in unicode, who is making this credit card transaction?’