• faercol@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 hours ago

      Hmmmm, the first blog posts about rewriting the backend part from Go to Rust are a few years old by now (early 2020) so it’s clearly not a “let’s vibecode everything in two weeks” kind of project.

      However… The later stages are probably vibecoded… Yeah, that would check out today.

    • nightlily@leminal.space
      link
      fedilink
      English
      arrow-up
      31
      arrow-down
      2
      ·
      1 day ago

      I get why vibe coders love Rust - it’s a lot harder to shoot yourself in the foot if rustc is checking your lifetimes, but holy shit is the code I’ve seen from them the most unholy mess. Rust is difficult enough to read at the best of times but LLMs don’t even bother with any kind of module structure. Just thousands of lines of vomit in single files and a worrying amount of unsafe.

      • gravitas_deficiency@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        7 hours ago

        Preamble: I am a huge LLM/codegen skeptic, due to a litany of reasons.

        With that said, this honestly sounds like whoever did the prompting didn’t include something like this in the prompt, along with nuanced adversarial review loops:

        unsafe blocks are strongly discouraged, and must be specifically justified, and survive antagonistic review by a rust language specialist agent and software security specialist agent. Part of the intent of this reimplementation is to leverage the strengths of the rust language itself, and rampant unsafe usage directly contradicts that.

        • megopie@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 hours ago

          Sure, but adding adversarial loops, or, some complex addition to every prompt would increase the token usage massively, thus the cost.

          So, why bother with that?

          I could very well be wrong, but all indications I’ve seen have been that that the cost of the tokens needed to get something even vaguely acceptable is greater than the cost of just hiring someone, or a group, to do the job. Unless something needs to be done fast due to an immediate concern, and the cost is no object.

              • bumblebeer@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 hours ago

                Well yes, I’m not saying it’s a free lunch. The point is a large up-front investment buys you unlimited tokens in perpetuity for no more than the cost of electricity to power the cluster — which can be surprisingly cheap for UMA machines.

                I’ve swapped off API models entirely and have been able to do a lot more useful work since I don’t have to worry about token cost or usage limits. Granted it’s slower per task (less tk/s), but overall much more productive, and private.

          • gravitas_deficiency@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            50 minutes ago

            No, I’m saying that there are ways to introduce feedback mechanisms and antagonistic review and specialist agents to improve the end result of what codegen crap gives you. It’s by no means perfect, but it’s a damn sight better than “make no mistakes”, and if the quality of the rust code is really that much of a shitshow, it’s probably not even being reviewed by a human before getting yeeted into prod, let alone the other things I outlined.

      • Kacarott@aussie.zone
        link
        fedilink
        English
        arrow-up
        2
        ·
        12 hours ago

        At my work when I was instructed to vibe code a new app, I specifically chose rust because I was hoping for the AI bubble to burst soon, so then I’d be able to be a proper rust developer

      • Fiery@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        15 hours ago

        Just tell the clanker to use modern practices poof fixed.

        Jokes aside a lot of that bad code can be detected by static linting tools and gated on, making it impossible for any of those to reach main.

      • boonhet@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        21 hours ago

        Honestly sounds like LLMs have learned that from half the rust projects I’d seen before the LLM craze lol

    • TBi@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      ·
      1 day ago

      And this will probably give rust a bad name if most of the code is horrid vibe coded stuff. (Cuck coded?)

    • Scrollone@lemmy.zip
      link
      fedilink
      English
      arrow-up
      73
      arrow-down
      1
      ·
      2 days ago

      Yeah exactly. “Just” 240 MB, it’s still a lot for a glorified chat app

        • VibeSurgeon@piefed.social
          link
          fedilink
          English
          arrow-up
          3
          ·
          14 hours ago

          I’d be willing to bet $100 that AI assistance was involved in creating this new client, yes.

          Similarly I’d bet the same amount that AI assistance was involved in building the former electron-based client

        • ryannathans@aussie.zone
          link
          fedilink
          English
          arrow-up
          12
          arrow-down
          1
          ·
          2 days ago

          Rust apps seem to always be on the heavy side, maybe depends how much debug info they leave in

          • fartsparkles@lemmy.world
            link
            fedilink
            English
            arrow-up
            36
            ·
            2 days ago

            Indeed, they’re probably shipping a backtrace symboliser, and since there’s no system-wide equivalent of libc to link against, they’ll be including the entire Rust standard library with the binary too.

            My other hunch is the Krisp noise cancellation ML model is a huge chunk of the memory footprint.

          • threeonefour@piefed.ca
            link
            fedilink
            English
            arrow-up
            7
            arrow-down
            1
            ·
            1 day ago

            I once played around with reverse engineering a Rust program. I compiled the optimized version of the standard “hello world” program which somehow turned into 50,000 lines of assembly.

            It looked like it copied over dozens of functions from libc and the data section was filled with every single possible error string “file not found”, “connection timed out”, etc. as if there was a possibility of hello world generating an access denied error.

            • henfredemars@infosec.pub
              link
              fedilink
              English
              arrow-up
              6
              ·
              22 hours ago

              Was your C hello world program statically linked? I believe Rust includes its libraries whereas the typical hello world does not. Static linkage generally brings in large amounts of unused code.

            • boonhet@lemmy.zip
              link
              fedilink
              English
              arrow-up
              3
              ·
              20 hours ago

              Rust has static linking, you get the necessary (and some unnecessary) parts of the standard library in your binary instead of the user having to install the library the way you have to have a libc installed. Makes for fatter binaries but much easier compatibility.

      • zergtoshi@lemmy.world
        link
        fedilink
        English
        arrow-up
        10
        ·
        1 day ago

        Windows 98 required far less disk space and was a complete operating system - that is if you consider Win98 an operating system…

    • fartsparkles@lemmy.world
      link
      fedilink
      English
      arrow-up
      37
      ·
      edit-2
      2 days ago

      Even the guys who invented Electron (developers of the Atom text editor) stopped using it years ago and switched to Rust when writing their new editor, Zed, and its UI framework GPUI (which Discord will be using too).

      • henfredemars@infosec.pub
        link
        fedilink
        English
        arrow-up
        7
        ·
        22 hours ago

        Maybe we don’t want to use JavaScript for literally everything.

        It’s great to see it. I wonder how much of this push comes from the high price of memory.

        • VibeSurgeon@piefed.social
          link
          fedilink
          English
          arrow-up
          3
          ·
          14 hours ago

          The price of memory-thing is probably not that important as compared to the AI-assisted coding thing. Making things in Rust when you have access to AI tools is dead simple, which was always the argument for making things in Electron. Porting things from one language to another also happens to be one of the sweet spots for AI coding tools, they thrive on tasks that have very clear specs - an already existing codebase with tests is just about as clear of a spec as you can get.

  • AgentSeven@lemmy.zip
    link
    fedilink
    English
    arrow-up
    64
    arrow-down
    2
    ·
    1 day ago

    Discord is as much spyware as anything else. Its efficiency in using my computer’s resouces in order to log everything about me, build a dossier on me and sell me out at every opportunity is not a consideration, as I view it as something to be avoided like Meta, et al.

    That said, Electron does suck.

    • derfaucet@beehaw.org
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      1 day ago

      Anything else? Nah bro. It’s as much spyware as Google chat or Whatsapp… But Matrix, XMPP, mumble, etc are not spyware (sure, if your host is the CIA maybe, but with these software you can be your own host if you want. No spying guaranteed.)

  • gera@feddit.nu
    link
    fedilink
    English
    arrow-up
    11
    ·
    1 day ago

    With screensharing on wayland? With screensharing on wayland, right?

  • Pika@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    37
    ·
    2 days ago

    man I love that they are ditching electron but, they “just” fixed the discord linux client to properly update and now they are rehauling it? can’t wait to get this update 3 years from now.

    • henfredemars@infosec.pub
      link
      fedilink
      English
      arrow-up
      2
      ·
      22 hours ago

      I got frustrated enough with the weirdness of the Linux client that I eventually ended up using a pinned browser tab.

      At least then the data collection monstrosity is sandboxed. I believe Flatpak helps, too.

  • Chiahna@piefed.blahaj.zone
    link
    fedilink
    English
    arrow-up
    31
    ·
    2 days ago

    It’s great, but I wonder what happens with the linux client? There is no mention of it in the article.
    Do we get optimized native client or is that too much work if they don’t have universal framework anymore?

    • VibeSurgeon@piefed.social
      link
      fedilink
      English
      arrow-up
      6
      ·
      14 hours ago

      “Native” sort of loses its meaning in this context - this new client is not “native” in the sense of using the existing GUI tooling for each platform (Cocoa for macOS, any of Microsoft’s own frameworks on Windows, primarily Gnome/KDE on Linux).

      It is using a universal framework in GPUI, so the experience will be the same on each platform.

      It is “native” in the sense that it’s not web technology on any of the platforms.

    • sorter_plainview@lemmy.today
      link
      fedilink
      English
      arrow-up
      28
      ·
      edit-2
      2 days ago

      They are using GPUI. Rust native UI framework from the Zed IDE team. I think the creator of Zed is the one who created Electron in the first place, then left. I’m not sure though.

      So it should be cross platform

    • Axolotl.cpp@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 day ago

      TL;DR: vesktop will probably no longer work (unless they wanna mantain the client themselves…) and vencord will likely only work as a userscript in your browser.

    • subignition@piefed.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      It probably won’t, but honestly there aren’t that many features the desktop client has that you can’t just get by using the browser webapp (Keyboard shortcuts, and the “now playing” feature that is a privacy mess, are the two biggest ones that come to mind right now)

  • carrylex@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 day ago

    I’m pretty sure this is just an experiment:

    • Don’t break anything that works
    • The website version of the app can’t be replaced
    • The normal discord app is not that memory hungry it’s usually below 1 GB for me, maybe consider optimizing your existing codebase?
    • A web based client allows for easier customization, better styling and easier creation of modifications
    • boonhet@lemmy.zip
      link
      fedilink
      English
      arrow-up
      2
      ·
      21 hours ago

      The existing app is based on electron. It pretty much can’t be optimised unless you manage to greatly reduce the footprint of Chromium itself.

  • Brkdncr@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    ·
    2 days ago

    You ever use a Swiss Army knife to open a letter? It’s a lot of extra shit you don’t need but it’s there anyways.

    • perturbedstarstuff@lemmy.world
      link
      fedilink
      English
      arrow-up
      23
      ·
      1 day ago

      It’s actually really difficult to get your friends to switch over little things like ‘being a spy platform’, and ‘leaking tens of thousands of users private information’.

    • guy@piefed.social
      link
      fedilink
      English
      arrow-up
      43
      arrow-down
      1
      ·
      1 day ago

      People probably voice chat with their friends, I don’t think Lemmy has that feature?

      • idunnololz@lemmy.world
        link
        fedilink
        English
        arrow-up
        10
        arrow-down
        2
        ·
        1 day ago

        I also use it for socializing. Basically a collection of giant instant messaging groups.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      20 hours ago

      Oh, I’m sorry, I wasn’t aware I had to forego all traditional social media applications to use federated ones. 🙄

    • Allero@lemmy.today
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      1
      ·
      1 day ago

      It’s a mainstream platform, so many non-Lemmy people are still there.

      Besides, it’s always worth the praise when someone makes good technical decisions that benefit users.

    • Axolotl.cpp@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 day ago

      To manage my community more easly and interact with many others aswell plus every friend of my uses it.

      There is no alternative currently that offers a granular permission system like discord’s, voice chat and streaming that doesn’t also suck in other aspects

    • BurgerBaron@quokk.au
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      1 day ago

      Things I want are held hostage on Discord. If I want to play Motorstorm online, I look at the fan server channel and it has real time lobby stats and chat rooms to get some games going. Just an example. My friends usually use Steam for voice chat.

    • derfaucet@beehaw.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      Someone at work with much more political power, and much less knowledge of how dangerous surveillance capitalism is, insists on using it 'cause they use it all the time and it’s functional.

      :(