Project Description

As I do not work as a developer per se, I love developing new code and learning new technologies that arise in this world. The Rust language is defined as Rust is a multi-paradigm, general-purpose programming language. Rust emphasizes performance, type safety, and concurrency.

Goal for this Hackweek

During this Hackweek 21 I'd like to learn this "new" language and maybe take some challenges from codewars.com in order to check my results.

Resources

  • https://doc.rust-lang.org/book/
  • https://www.codewars.com

Looking for hackers with the skills:

rust

This project is part of:

Hack Week 21

Activity

  • almost 3 years ago: mbolot left this project.
  • over 3 years ago: dsterba liked this project.
  • over 3 years ago: ravindrank joined this project.
  • over 3 years ago: dvenkatachala liked this project.
  • over 3 years ago: dvenkatachala joined this project.
  • over 3 years ago: afeijoo joined this project.
  • over 3 years ago: mbolot joined this project.
  • over 3 years ago: hhetter123 liked this project.
  • over 3 years ago: amanzini joined this project.
  • over 3 years ago: amanzini liked this project.
  • over 3 years ago: MSirringhaus liked this project.
  • over 3 years ago: jzerebecki liked this project.
  • over 3 years ago: jzerebecki left this project.
  • over 3 years ago: jzerebecki added keyword "rust" to this project.
  • over 3 years ago: jzerebecki joined this project.
  • over 3 years ago: pherranz started this project.
  • over 3 years ago: mbrugger liked this project.
  • over 3 years ago: pherranz originated this project.

  • Comments

    • amanzini
      over 3 years ago by amanzini | Reply

      I'm doing the same, exploring the Rust language using also these other resources:

      https://github.com/Dhghomon/easy_rust

      https://github.com/rust-lang/rustlings

      https://practice.rs/why-exercise.html

      :)

    • afeijoo
      over 3 years ago by afeijoo | Reply

      Me too, following: - https://doc.rust-lang.org/stable/rust-by-example/index.html

      I'm using Eclipse as IDE (https://www.eclipse.org/downloads/packages/release/photon/rc3/eclipse-ide-rust-developers), it's not the latest version, but it works fine.

    Similar Projects

    Modal editor in Rust by acervesato

    Description

    To write a modal editor in Rust inspired by vim and having the following features:

    • vim basic motion commands + insert/visual mode
    • multiple buffers with tabs
    • status bar

    It should be written for terminal only using ratatui library and crossterm.

    Goals

    The goal is to start with a functional prototype that can be extended in the future with the following features (in random order):

    • treesitter support + styles
    • fuzzy finder
    • grep finder
    • integration with git
    • tree viewer
    • internal terminal floating window
    • mailing list workflow integration

    Resources


    RMT.rs: High-Performance Registration Path for RMT using Rust by gbasso

    Description

    The SUSE Repository Mirroring Tool (RMT) is a critical component for managing software updates and subscriptions, especially for our Public Cloud Team (PCT). In a cloud environment, hundreds or even thousands of new SUSE instances (VPS/EC2) can be provisioned simultaneously. Each new instance attempts to register against an RMT server, creating a "thundering herd" scenario.

    We have observed that the current RMT server, written in Ruby, faces performance issues under this high-concurrency registration load. This can lead to request overhead, slow registration times, and outright registration failures, delaying the readiness of new cloud instances.

    This Hackweek project aims to explore a solution by re-implementing the performance-critical registration path in Rust. The goal is to leverage Rust's high performance, memory safety, and first-class concurrency handling to create an alternative registration endpoint that is fast, reliable, and can gracefully manage massive, simultaneous request spikes.

    The new Rust module will be integrated into the existing RMT Ruby application, allowing us to directly compare the performance of both implementations.

    Goals

    The primary objective is to build and benchmark a high-performance Rust-based alternative for the RMT server registration endpoint.

    Key goals for the week:

    1. Analyze & Identify: Dive into the SUSE/rmt Ruby codebase to identify and map out the exact critical path for server registration (e.g., controllers, services, database interactions).
    2. Develop in Rust: Implement a functionally equivalent version of this registration logic in Rust.
    3. Integrate: Explore and implement a method for Ruby/Rust integration to "hot-wire" the new Rust module into the RMT application. This may involve using FFI, or libraries like rb-sys or magnus.
    4. Benchmark: Create a benchmarking script (e.g., using k6, ab, or a custom tool) that simulates the high-concurrency registration load from thousands of clients.
    5. Compare & Present: Conduct a comparative performance analysis (requests per second, latency, success/error rates, CPU/memory usage) between the original Ruby path and the new Rust path. The deliverable will be this data and a summary of the findings.

    Resources

    • RMT Source Code (Ruby):
      • https://github.com/SUSE/rmt
    • RMT Documentation:
      • https://documentation.suse.com/sles/15-SP7/html/SLES-all/book-rmt.html
    • Tooling & Stacks:
      • RMT/Ruby development environment (for running the base RMT)
      • Rust development environment (rustup, cargo)
    • Potential Integration Libraries:
      • rb-sys: https://github.com/oxidize-rb/rb-sys
      • Magnus: https://github.com/matsadler/magnus
    • Benchmarking Tools:
      • k6 (https://k6.io/)
      • ab (ApacheBench)