Project Description

This project is about creating a GUI that visualizes algorithms. At first, it will focus on search and sort algorithms.

Goal for this Hackweek

Have a GUI that shows a bubble-sort.

Results

I wrote a small program that shows quick sort and bubble sort. Each number is represented by a bar with a length that's proportional to its value and a color based on its initial position in the array. The coloring helps tracking individual numbers.

After recording the demo you can see on the repository page, I refactored the code to allow multiple arrays at the same time. That allows for direct comparisons, but needs to be improved to control them at once.

Repo: https://git.sr.ht/~agraul/visu (mirrored to https://github.com/agraul/visu)

Resources

  • https://lib.rs/crates/egui
  • https://github.com/emilk/eframe_template/

Looking for hackers with the skills:

rust algorithms gui

This project is part of:

Hack Week 22

Activity

  • almost 2 years ago: agraul added keyword "algorithms" to this project.
  • almost 2 years ago: agraul added keyword "gui" to this project.
  • almost 2 years ago: agraul added keyword "rust" to this project.
  • almost 2 years ago: hennevogel liked this project.
  • almost 2 years ago: agraul started this project.
  • almost 2 years ago: agraul originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Grapesss: a physical Shamir's Secret Sharing application [ESP32-C3 + Mobile] by ecandino

    drawing

    Description

    A couple of years ago I created StegoSecretS, a small cli used to encrypt and split a secret into multiple keys, using the Shamir's Secret Sharing algorithm.

    The idea is to re-implement the project using physical devices. One device alone will be useless, but when close together they can be used to decrypt the secret.

    On a practical side the user encrypts the secret with a mobile application. The same application is used to split the secret, and load the partial keys into different micro-controllers. Another user will be able to decrypt the secret only having at least N devices close together (using the application).

    I'm planning to use a couple of ESP32-C3 I bought, and build a very simple Android mobile application.

    Goals

    • Learn about Rust and micro-controllers (ESP32-C3)
    • Learn about mobile applications (Android and Kotlin)

    Resources


    Write an url shortener in Rust (And learn in the way) by szarate

    So I have 469.icu :), it's currently doing nothing... (and for sale) but in the meantime, I'd like to write an url shortener from scratch and deploy it on my own server

    https://github.com/foursixnine/url-manager-rs/tree/main


    Better diff'ing experience by MSirringhaus

    Description

    For diff-ing directories, I usually like to use meld, but it struggles a lot with large trees. Experiment with writing a TUI meld-clone for diffing directories and files

    Goals

    Get first prototype going of a TUI that can show

    • diffs of text-files
    • diffs of directories.

    Stretch goals

    • Themes
    • Filters (no whitespace, etc.)
    • Live config changes (Show/hide line numbers, etc.)


    Hacking on sched_ext by flonnegren

    Description

    Sched_ext upstream has some interesting issues open for grabs:

    Goals

    Send patches to sched_ext upstream

    Also set up perfetto to trace some of the example schedulers.

    Resources

    https://github.com/sched-ext/scx


    SMB3 Server written entirely in Rust by dmulder

    Description

    Given the number of bugs frequently discovered in the Samba code caused by memory issues, it makes sense to re-write the smbd service purely in Rust code. Meanwhile, it would be wise to abandon backwards compatibility here with insecure protocol versions, and simply implement the SMB3 spec.

    Goals

    Get a simple server up and running and get it merged into upstream Samba (which now has Rust build support).

    Resources


    Finish gfxprim application multiplexor (window manager) by metan

    Project Description

    I've implemented drivers for a few e-ink displays during the last hackweek and made sure that gfxprim widgets run nicely on e-ink as well. The missing piece to have a portable e-ink computer/reader/music player/... is a application that can switch between currently running applications and that can start new applications as well. Half of the solution is ready, there is a proxy gfxprim backend where applications render into a piece of a shared memory and input events (e.g. keyboard, mouse) can be multiplexed. What is missing is an interface (possibly touchscreen friendly as well) to make it user friendly.

    Goal for this Hackweek

    Make nekowm usable "window manager".

    Resources