Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. I'm ambivalent about Rust these days.

I'm ambivalent about Rust these days.

Scheduled Pinned Locked Moved Uncategorized
39 Posts 11 Posters 147 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • matt@toot.cafeM matt@toot.cafe

    I don't feel good about using, promoting, or contributing to the network effect of a language that is only practically available to well-off software developers. But at the same time, I don't want to write and encourage others to write more code that's prone to the kinds of bugs that are common in C and C++. I want safety, for applications and also system software if possible, to be available in a language that people without high-end computers can practically use.

    4/?

    matt@toot.cafeM This user is from outside of this forum
    matt@toot.cafeM This user is from outside of this forum
    matt@toot.cafe
    wrote last edited by
    #5

    The most underpowered computer that can practically run rustc at all is a supercomputer by historical standards. Many such computers are now discarded as e-waste. I want such computers to be usable, including for developing their own software. Rust can produce very efficient, fast-starting, lean applications that can run very well on these computers. But that software can't be _developed_ on these computers, thus reinforcing the divide between user and developer.

    5/?

    matt@toot.cafeM 1 Reply Last reply
    0
    • matt@toot.cafeM matt@toot.cafe

      The most underpowered computer that can practically run rustc at all is a supercomputer by historical standards. Many such computers are now discarded as e-waste. I want such computers to be usable, including for developing their own software. Rust can produce very efficient, fast-starting, lean applications that can run very well on these computers. But that software can't be _developed_ on these computers, thus reinforcing the divide between user and developer.

      5/?

      matt@toot.cafeM This user is from outside of this forum
      matt@toot.cafeM This user is from outside of this forum
      matt@toot.cafe
      wrote last edited by
      #6

      I also want new personal computers to be developed that take advantage of the very low power consumption of application processors that are designed for industrial embedded applications, to do things that we currently consider impractical, like a laptop that can run for a full day on a small (e.g. 2000 mAh) battery. A laptop that can run directly off a solar panel would be even better; we've had solar-powered pocket calculators for decades, after all.

      6/?

      matt@toot.cafeM 1 Reply Last reply
      0
      • matt@toot.cafeM matt@toot.cafe

        I also want new personal computers to be developed that take advantage of the very low power consumption of application processors that are designed for industrial embedded applications, to do things that we currently consider impractical, like a laptop that can run for a full day on a small (e.g. 2000 mAh) battery. A laptop that can run directly off a solar panel would be even better; we've had solar-powered pocket calculators for decades, after all.

        6/?

        matt@toot.cafeM This user is from outside of this forum
        matt@toot.cafeM This user is from outside of this forum
        matt@toot.cafe
        wrote last edited by
        #7

        As an example of the kind of processor I'm thinking of, consider the Microchip (formerly Atmel) SAMA5 family. Single-core Cortex-A5 at 500 MHz, benchmarking at 722 DMIPS on the evaluation board I recently ordered (yes, I've gone far down this rabbit hole), with 128 or 256 MB of RAM in typical configurations. The practicality of achieving 15 hours of battery life on a 2000 mAh battery has been directly validated by this SoC family's use in the HumanWare Mantis Q40 Braille display/note-taker.

        7/?

        matt@toot.cafeM freya@social.highenergymagic.netF stepheneb@ruby.socialS 3 Replies Last reply
        0
        • matt@toot.cafeM matt@toot.cafe

          As an example of the kind of processor I'm thinking of, consider the Microchip (formerly Atmel) SAMA5 family. Single-core Cortex-A5 at 500 MHz, benchmarking at 722 DMIPS on the evaluation board I recently ordered (yes, I've gone far down this rabbit hole), with 128 or 256 MB of RAM in typical configurations. The practicality of achieving 15 hours of battery life on a 2000 mAh battery has been directly validated by this SoC family's use in the HumanWare Mantis Q40 Braille display/note-taker.

          7/?

          matt@toot.cafeM This user is from outside of this forum
          matt@toot.cafeM This user is from outside of this forum
          matt@toot.cafe
          wrote last edited by
          #8

          That Mantis is running a closed software stack on a SAMA5D3 SoC. It primarily acts as a Braille terminal for a PC or mainstream mobile device, and also has a handful of other applications, including a book reader that can download books over WiFi. But it could *be* a personal computer all by itself; it's already running Linux. Yes, it would be a personal computer with CPU performance somewhere in the neighborhood of a Pentium II. But we used to do real personal computing on those.

          8/?

          matt@toot.cafeM swelljoe@mas.toS 2 Replies Last reply
          1
          0
          • matt@toot.cafeM matt@toot.cafe

            That Mantis is running a closed software stack on a SAMA5D3 SoC. It primarily acts as a Braille terminal for a PC or mainstream mobile device, and also has a handful of other applications, including a book reader that can download books over WiFi. But it could *be* a personal computer all by itself; it's already running Linux. Yes, it would be a personal computer with CPU performance somewhere in the neighborhood of a Pentium II. But we used to do real personal computing on those.

            8/?

            matt@toot.cafeM This user is from outside of this forum
            matt@toot.cafeM This user is from outside of this forum
            matt@toot.cafe
            wrote last edited by
            #9

            Like I said, I already ordered a SAMA5 evaluation board, specifically the SAMA5D27 WLSOM1 evaluation kit, with 256 MB of RAM. I got Alpine Linux running on it. It can compile C. Slowly, yes; compiling CPython (default configuration with only base development packages) took 3.5 hours. But still, it finished, without running out of memory or thrashing endlessly. When I tried compiling a small Rust application, it took long enough just to compile the syn crate that I gave up.

            9/?

            matt@toot.cafeM 1 Reply Last reply
            0
            • pixelate@tweesecake.socialP pixelate@tweesecake.social shared this topic
            • matt@toot.cafeM matt@toot.cafe

              As an example of the kind of processor I'm thinking of, consider the Microchip (formerly Atmel) SAMA5 family. Single-core Cortex-A5 at 500 MHz, benchmarking at 722 DMIPS on the evaluation board I recently ordered (yes, I've gone far down this rabbit hole), with 128 or 256 MB of RAM in typical configurations. The practicality of achieving 15 hours of battery life on a 2000 mAh battery has been directly validated by this SoC family's use in the HumanWare Mantis Q40 Braille display/note-taker.

              7/?

              freya@social.highenergymagic.netF This user is from outside of this forum
              freya@social.highenergymagic.netF This user is from outside of this forum
              freya@social.highenergymagic.net
              wrote last edited by
              #10

              @matt ooooo you're doing work with the same SoC I am thinking of using for my mesh phone project

              matt@toot.cafeM 1 Reply Last reply
              0
              • freya@social.highenergymagic.netF freya@social.highenergymagic.net

                @matt ooooo you're doing work with the same SoC I am thinking of using for my mesh phone project

                matt@toot.cafeM This user is from outside of this forum
                matt@toot.cafeM This user is from outside of this forum
                matt@toot.cafe
                wrote last edited by
                #11

                @freya Seriously? OK, I'm not crazy for using this SoC in 2026.

                freya@social.highenergymagic.netF 1 Reply Last reply
                0
                • matt@toot.cafeM matt@toot.cafe

                  Like I said, I already ordered a SAMA5 evaluation board, specifically the SAMA5D27 WLSOM1 evaluation kit, with 256 MB of RAM. I got Alpine Linux running on it. It can compile C. Slowly, yes; compiling CPython (default configuration with only base development packages) took 3.5 hours. But still, it finished, without running out of memory or thrashing endlessly. When I tried compiling a small Rust application, it took long enough just to compile the syn crate that I gave up.

                  9/?

                  matt@toot.cafeM This user is from outside of this forum
                  matt@toot.cafeM This user is from outside of this forum
                  matt@toot.cafe
                  wrote last edited by
                  #12

                  So, we could have a general-purpose personal computer that runs for 15 hours on a 2000 mAh battery. Maybe more with TTS output rather than a Braille display; I gather that Braille displays are fairly power-hungry because of all the pins moving up and down. But I believe that a general-purpose personal computer needs to be good for modifying its own software, at all levels of the stack. Rust fails hard on that criterion on this low-power CPU that has performance that used to be good.

                  10/?

                  matt@toot.cafeM yerke@hachyderm.ioY E 3 Replies Last reply
                  0
                  • matt@toot.cafeM matt@toot.cafe

                    @freya Seriously? OK, I'm not crazy for using this SoC in 2026.

                    freya@social.highenergymagic.netF This user is from outside of this forum
                    freya@social.highenergymagic.netF This user is from outside of this forum
                    freya@social.highenergymagic.net
                    wrote last edited by
                    #13

                    @matt fuck no. look at the security features, onboard secure element and eFuses and such on some of them. I'm pretty sure that's an SoC that's covered by the CIP-LTS Linux kernel, which is what I plan to use in my device to avoid the "woops your bsp is no longer supported, fuck your updates" problem. specs I'm thinking. SAMA5D27 536MHz, 256MiB ram, 256MiB flash for OS, 4GB flash for apps and data. qwerty keyboard, D-pad, trackwheel, 2.8-inch 320x240 LCD. screenreader, obviously. custom UI layer because xorg and Wayland for this are both bad. the radio stack is SX1262 LoRa and MM8108 Wi-Fi HaLow, the former for device-to-device messaging, the latter for connection to a federated, independent, solar-powerable mesh mobile network I've been designing, based on Intel N100 base stations on lampposts and stuff. it initially started as "what if I make an accessible meshtastic device?" and expanded out to "what if we made an accessible, non-touchscreen, E2EE, federated smartphone platform, based on a mid 2000s blackberry formfactor, a device very good at making very secure communication very simple and reliable, and very not optimised for anything else?"

                    matt@toot.cafeM E 2 Replies Last reply
                    1
                    0
                    • matt@toot.cafeM matt@toot.cafe

                      So, we could have a general-purpose personal computer that runs for 15 hours on a 2000 mAh battery. Maybe more with TTS output rather than a Braille display; I gather that Braille displays are fairly power-hungry because of all the pins moving up and down. But I believe that a general-purpose personal computer needs to be good for modifying its own software, at all levels of the stack. Rust fails hard on that criterion on this low-power CPU that has performance that used to be good.

                      10/?

                      matt@toot.cafeM This user is from outside of this forum
                      matt@toot.cafeM This user is from outside of this forum
                      matt@toot.cafe
                      wrote last edited by
                      #14

                      So, do I want to go back to writing, and encouraging others to write, software in C? Absolutely not. I'm convinced by the arguments that memory safety by default, that can be checked by machine rather than requiring constant programmer discipline, is a moral imperative, considering the consequences of memory safety vulnerabilities for security and privacy.

                      11/?

                      matt@toot.cafeM 1 Reply Last reply
                      0
                      • matt@toot.cafeM matt@toot.cafe

                        That Mantis is running a closed software stack on a SAMA5D3 SoC. It primarily acts as a Braille terminal for a PC or mainstream mobile device, and also has a handful of other applications, including a book reader that can download books over WiFi. But it could *be* a personal computer all by itself; it's already running Linux. Yes, it would be a personal computer with CPU performance somewhere in the neighborhood of a Pentium II. But we used to do real personal computing on those.

                        8/?

                        swelljoe@mas.toS This user is from outside of this forum
                        swelljoe@mas.toS This user is from outside of this forum
                        swelljoe@mas.to
                        wrote last edited by
                        #15

                        @matt my first Linux box was a 166MHz Cyrix 6x86 (so, much slower floating point than a Pentium or AMD at the same clock, but, pin compatible and similar instruction set, I think). It was a huge jump up from the Amiga 3000 I had before, and very usable for all sorts of things. I am pretty spoiled in terms of compute now, but I was writing software (well, learning to write software) on that machine. But, yeah, can't run a modern Linux or build Rust apps in 64MB. Maybe Zig, though?

                        matt@toot.cafeM 1 Reply Last reply
                        0
                        • matt@toot.cafeM matt@toot.cafe

                          So, do I want to go back to writing, and encouraging others to write, software in C? Absolutely not. I'm convinced by the arguments that memory safety by default, that can be checked by machine rather than requiring constant programmer discipline, is a moral imperative, considering the consequences of memory safety vulnerabilities for security and privacy.

                          11/?

                          matt@toot.cafeM This user is from outside of this forum
                          matt@toot.cafeM This user is from outside of this forum
                          matt@toot.cafe
                          wrote last edited by
                          #16

                          So do we have to accept that some level of computing power well above that of a Pentium II is simply the baseline for a modern general-purpose computer? Maybe. Perhaps the idea of something like the Mantis Braille display, with its battery efficiency, being a general-purpose personal computer is simply an impossible dream that I have to let go of. But, that was always an extreme example anyway.

                          12/?

                          matt@toot.cafeM 1 Reply Last reply
                          0
                          • matt@toot.cafeM matt@toot.cafe

                            So, we could have a general-purpose personal computer that runs for 15 hours on a 2000 mAh battery. Maybe more with TTS output rather than a Braille display; I gather that Braille displays are fairly power-hungry because of all the pins moving up and down. But I believe that a general-purpose personal computer needs to be good for modifying its own software, at all levels of the stack. Rust fails hard on that criterion on this low-power CPU that has performance that used to be good.

                            10/?

                            yerke@hachyderm.ioY This user is from outside of this forum
                            yerke@hachyderm.ioY This user is from outside of this forum
                            yerke@hachyderm.io
                            wrote last edited by
                            #17

                            @matt maybe gccrs (when it’s ready) will be less resource hungry. There is also Mutabah’s compiler you can try now.

                            1 Reply Last reply
                            0
                            • swelljoe@mas.toS swelljoe@mas.to

                              @matt my first Linux box was a 166MHz Cyrix 6x86 (so, much slower floating point than a Pentium or AMD at the same clock, but, pin compatible and similar instruction set, I think). It was a huge jump up from the Amiga 3000 I had before, and very usable for all sorts of things. I am pretty spoiled in terms of compute now, but I was writing software (well, learning to write software) on that machine. But, yeah, can't run a modern Linux or build Rust apps in 64MB. Maybe Zig, though?

                              matt@toot.cafeM This user is from outside of this forum
                              matt@toot.cafeM This user is from outside of this forum
                              matt@toot.cafe
                              wrote last edited by
                              #18

                              @swelljoe My first Linux box was a 486SX at 33 MHz in 1996. I think I put Linux on it when it still had only 4 MB of RAM. Hard to believe you could actually compile real C code, including the kernel, on that little.

                              swelljoe@mas.toS 1 Reply Last reply
                              0
                              • matt@toot.cafeM matt@toot.cafe

                                So do we have to accept that some level of computing power well above that of a Pentium II is simply the baseline for a modern general-purpose computer? Maybe. Perhaps the idea of something like the Mantis Braille display, with its battery efficiency, being a general-purpose personal computer is simply an impossible dream that I have to let go of. But, that was always an extreme example anyway.

                                12/?

                                matt@toot.cafeM This user is from outside of this forum
                                matt@toot.cafeM This user is from outside of this forum
                                matt@toot.cafe
                                wrote last edited by
                                #19

                                Were there other paths to a software stack with minimal unsafe code at the bottom that required far fewer machine resources to compile, that the industry chose not to take? Maybe the Rust Graydon wanted that had no future (https://graydon2.dreamwidth.org/307291.html)? I guess it's kind of moot, because the industry didn't take one of those paths, meaning there's no big library ecosystem on which to build, say, a new personal computing platform with a TTS/Braille-first UI framework.

                                13/?

                                matt@toot.cafeM 1 Reply Last reply
                                0
                                • matt@toot.cafeM This user is from outside of this forum
                                  matt@toot.cafeM This user is from outside of this forum
                                  matt@toot.cafe
                                  wrote last edited by
                                  #20

                                  @inkreas.ing How long does a release build take?

                                  1 Reply Last reply
                                  0
                                  • matt@toot.cafeM matt@toot.cafe

                                    Were there other paths to a software stack with minimal unsafe code at the bottom that required far fewer machine resources to compile, that the industry chose not to take? Maybe the Rust Graydon wanted that had no future (https://graydon2.dreamwidth.org/307291.html)? I guess it's kind of moot, because the industry didn't take one of those paths, meaning there's no big library ecosystem on which to build, say, a new personal computing platform with a TTS/Braille-first UI framework.

                                    13/?

                                    matt@toot.cafeM This user is from outside of this forum
                                    matt@toot.cafeM This user is from outside of this forum
                                    matt@toot.cafe
                                    wrote last edited by
                                    #21

                                    OK, I guess Rust compile time isn't so bad on older computers that people actually use as personal computers. See this reply that came in from Bluesky. https://bsky.app/profile/did:plc:54jgbo4psy24qu2bk4njtpc4/post/3mlptu6oycc2g 5 seconds for a debug build on a 2009 MacBook. I feel better now.

                                    14/?

                                    matt@toot.cafeM 1 Reply Last reply
                                    0
                                    • matt@toot.cafeM This user is from outside of this forum
                                      matt@toot.cafeM This user is from outside of this forum
                                      matt@toot.cafe
                                      wrote last edited by
                                      #22

                                      @inkreas.ing What CPU model does that MacBook have? And how much RAM? Thanks.

                                      1 Reply Last reply
                                      0
                                      • matt@toot.cafeM matt@toot.cafe

                                        So, we could have a general-purpose personal computer that runs for 15 hours on a 2000 mAh battery. Maybe more with TTS output rather than a Braille display; I gather that Braille displays are fairly power-hungry because of all the pins moving up and down. But I believe that a general-purpose personal computer needs to be good for modifying its own software, at all levels of the stack. Rust fails hard on that criterion on this low-power CPU that has performance that used to be good.

                                        10/?

                                        E This user is from outside of this forum
                                        E This user is from outside of this forum
                                        edenlinnea@caneandable.social
                                        wrote last edited by
                                        #23

                                        @matt that's cool. I run primarily 100 percent with Braille unless Braille just won't read something.

                                        1 Reply Last reply
                                        0
                                        • matt@toot.cafeM matt@toot.cafe

                                          @swelljoe My first Linux box was a 486SX at 33 MHz in 1996. I think I put Linux on it when it still had only 4 MB of RAM. Hard to believe you could actually compile real C code, including the kernel, on that little.

                                          swelljoe@mas.toS This user is from outside of this forum
                                          swelljoe@mas.toS This user is from outside of this forum
                                          swelljoe@mas.to
                                          wrote last edited by
                                          #24

                                          @matt I had the Amiga C compiler Matt Dillon (of FreeBSD and Dragon BSD) made and I tinkered with it. I think I used it as far back as the Amiga 2000, which I think only had 1MB. I probably upgraded it in some way, but don't remember details, probably 2MB. The 3000 used weird ass ZIP RAM, and I distinctly remember I upgraded it to 8MB. But, I'm confident I wouldn't enjoy working with those kind of limitations for serious programming.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups