My Rust Book: Language for the next 40 years

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • ByteStash-Dev

  • A bit of a back story. Before Rust, I was working on Byte Stash, a decentralized file system. The plan was to write a Proof of concept in JavaScript, then write the actual program in an ahead-of-time compiled language. The thing is I didn't know what language to use. Of course, C/C++ was the first option that came to mind, but the second thing that came to mind was the possible pitfalls that one could encounter while using it. So, I decided to search for another option.

  • xbytes-rs

    Convert byte sizes to human-readable sizes

  • Back to why I learnt Rust, byte stash. I put the project aside. Hold on, hear me out. After building the proof of concept in Javascript, my search for the ahead-of-time compiled language for the main project began, then I found Rust. In the time I took to learn rust, and finish up on the proof of concept, I burnt out and took a break from writing code. So I decided to put it aside till I had other people pitch in. Instead, I started rewriting my JS libraries in Rust. Xbyte is one of them. Xbyte was a tool I made to convert bytes into human-readable sizes and vice versa. For instance, 4747 → ('4.75 KB'). When I built this in Javascript, it was relatively easy. But in Rust, it was another ball game. I didn’t need a 64-bit integer, or a 128-bit integer so I invented my 91-bit integer. I spent a lot of time on it, reading what was in the standard library and adapting it to my 91-bit integer. I did abandon it later though and go with the 128-bit integer. But I learnt a lot while working on it. When you are not used to working with core primitives, and you get to touch the holy grail, you feel like you have to advocate for the holy grail. I hadn’t spent much time optimizing for performance previously, but when I started writing Rust, I got to think about optimization, the feeling was exhilarating, a bit frustrating, but definitely exciting. For instance, in javascript, everything is on the heap, you don’t think about it. But with Rust, you are conscious of what you are doing. That’s what I love about Rust. Even if you don’t go to MIT to learn about how computers work, you can’t help but think about some of these things. Not because if you don’t things would go bad, but because these concepts are baked into the type system.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • freyr-js

    A tool for downloading songs from music streaming services like Spotify and Apple Music.

  • Around that time, I started working on Freya, a software that would pull all the metadata from various music providers. You paste a link it would grab the metadata of the track, playlist, or album and present it to you so that you'd be able to do anything with it. It was written in Nodejs, but I wanted to write it Rust, or at least create a GUI in Rust. I created a UI component library for it, but didn’t get to using it, I burnt out. But after taking a brief break from coding, I went back to learning Rust. I kept building things, not because I had to, but because it was an idea, and it was possible.

  • freyr-gui

    A cross-platform front-end GUI for freyr-js written in Rust

  • Around that time, I started working on Freya, a software that would pull all the metadata from various music providers. You paste a link it would grab the metadata of the track, playlist, or album and present it to you so that you'd be able to do anything with it. It was written in Nodejs, but I wanted to write it Rust, or at least create a GUI in Rust. I created a UI component library for it, but didn’t get to using it, I burnt out. But after taking a brief break from coding, I went back to learning Rust. I kept building things, not because I had to, but because it was an idea, and it was possible.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts