• randomblock1@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    20 days ago

    This seems like a silly workaround at first but it’s really not. If the network is unreliable, you can’t really use normal video streaming, you need to send full screenshots. Probably still a better idea to use only I-frames than a bunch of JPEGs but whatever.

    But they did make some very silly mistakes. Par for the course of an AI coding company I guess.

    1. WTF are you doing with 40mbps. Tone it down to like 8.
    2. If the network is reliable but slow, just reduce bitrate and resolution. Don’t use JPEGs unless packet loss is the problem.
    3. WTF are you doing using a whole game streaming server for? It’s meant for LAN, with minimal latency. Just capture the screen and encode it, send via WebSockets. Moonlight is completely unnecessary.
    4. Only keep the latest frames on the server. Don’t try to send them all immediately or it’ll fall behind. Wait for the client to finish receiving before sending another one. This way it won’t lag behind increasingly. This should have been extremely obvious.
    5. H264 is so 2003, ask the client if it supports AV1 or HEVC then use that, more data for free.
    6. Use WebTransport when available, it’s basically made for live streaming
    7. Why are you running a screenshot tool in terminal then grabbing the jpg… Unnecessary file overhead & dependency

    I probably missed some but even for an AI company this is really bad

  • Dave.@aussie.zone
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    21 days ago

    Ok there’s a whole lot of wtf going on here.

    AI codebots in the cloud doing your code for you, cool, I guess.

    So you need to watch them? And presumably intervene if necessary? Ok.

    So then:

    They decided that they’d stream a video of the AI codebots doing their thing.

    At 40Mbps per stream.

    For “enterprise use”.

    Where presumably they want lots of users.

    And then they didn’t know about locked down enterprise internet and had to engineer a fallback to jpeg for when things aren’t great for them. Newsflash - with streaming video peaking at 40Mbs per user, things will never be great for your product in the real world.

    How, in any way, does this scale to anything approaching success? Their back end now has to have the compute power to encode and serve up gigabits of streaming video for anything more than ~50 concurrent users, let alone the compute usage of the actual “useful” bit , the AI codebots.

    For say, 5 users out of a site of 200, IT departments will now see hundreds of megabits of streaming traffic - and if they’re proactive, they will choke those endpoints to a crawl so that their pathetic uplink has a chance to serve the other 195 users.

    All of this for a system that is fundamentally working on maybe 5kB of visible unicode text at any particular moment.

    • 4grams@awful.systems
      link
      fedilink
      English
      arrow-up
      0
      ·
      21 days ago

      Quit reading at:

      …AI platform where autonomous coding agents…

      But your comment made me go back and look out of disbelief. How does a person get this far down a rabbit hole?

      • Dave.@aussie.zone
        link
        fedilink
        arrow-up
        0
        ·
        21 days ago

        How does a person get this far down a rabbit hole?

        I don’t know. Software engineering is tangential to my field but I have to wonder, is software efficiency even a consideration these days?

        It seems that maybe a week of just solid thinking about what they have and what they need - WITHOUT touching a keyboard - could have put them in a better position. But move fast and break things doesn’t seem to accommodate that kind of approach.

        • entwine@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          20 days ago

          But move fast and break things doesn’t seem to accommodate that kind of approach.

          I think it’s more of a “chatgpt, design my product for me” type situation.