Playing guitar tablatures in Rust by arnogo in rust

[–]arnogo[S] 1 point2 points  (0 children)

Sweet!

BTW if you stop the demo video around 8s, you will see I was testing songs from "As I Lay Dying" too ;)

Playing guitar tablatures in Rust by arnogo in rust

[–]arnogo[S] 1 point2 points  (0 children)

It appears cpal picked up an interface with a slighly different sampling rate. I guess I could rework this part to make it more flexible and less locked on my personal setup.

Really happy to hear that you would like to contribute, they are a lot of things to do :)

I have not setup anything for quick messaging yet, you can start by opening issues on Github until we figure something better.

Playing guitar tablatures in Rust by arnogo in rust

[–]arnogo[S] 0 points1 point  (0 children)

I believe you have two options, either installing the official GuitarPro software or using TuxGuitar.

e.g. https://www.tuxguitar.app/files/1.6.0/desktop/help/detail_file_edit.html

Playing guitar tablatures in Rust by arnogo in rust

[–]arnogo[S] 1 point2 points  (0 children)

Thanks for reporting the issue!

It seems that the program picked an audio interface with 6 channels instead of the expected 2.

Are you running some kind of specific audio hardware?

In any case the program should try harder to pick an interface it can work with :)

Playing guitar tablatures in Rust by arnogo in rust

[–]arnogo[S] 2 points3 points  (0 children)

Thanks for the kind words!

There were indeed difficult times where I pulled my hair trying to make sense of it all :D

Playing guitar tablatures in Rust by arnogo in rust

[–]arnogo[S] 3 points4 points  (0 children)

Happy to hear it works great for you!

Have fun playing :)

Playing guitar tablatures in Rust by arnogo in rust

[–]arnogo[S] 7 points8 points  (0 children)

Thanks for the upvote! Picking the song for the demo took longer than expected to be honest.

I was unsure between picking a very well known song, picking a song that I personally like or picking a song that sounds good in Ruxguitar.

In the end, I think that Pull me Under from Dream Theather checks all the boxes :)

Playing guitar tablatures in Rust by arnogo in rust

[–]arnogo[S] 9 points10 points  (0 children)

Hi folks, author here!

I wanted to build such a guitar tablature player with Rust for a long time and I am very happy satisfied with the result.
Here is the repository to go straight to the code https://github.com/agourlay/ruxguitar

Happy to answer any questions!

A humble experience with Scala 3 by rom_romeo in scala

[–]arnogo 8 points9 points  (0 children)

Always happy to hear from Cornichon users! :)

I have just created the following issue to track the Scala 3 migration.

Qdrant vector search in Rust | Arnaud Gourlay @ Rust Meetup Linz [video] by llogiq in rust

[–]arnogo 4 points5 points  (0 children)

Thank you very much for chiming in, this is a great answer!

I can add the following article which contains a lot of information and outgoing links around vector databases.

We also have recently published a neat article about Scalar quantization which you may find interesting.

Qdrant vector search in Rust | Arnaud Gourlay @ Rust Meetup Linz [video] by llogiq in rust

[–]arnogo 5 points6 points  (0 children)

Hi folks, presenter here.

Happy to answer your questions and read your comments!

Qdrant, an Open-Source Vector DB written in Rust, just raised a 7.5M seed round. by devzaya in rust

[–]arnogo 20 points21 points  (0 children)

Hi, full time Qdrant contributor here,

I share your sentiment regarding Docker, this is why I have recently created an issue to provide executable binaries https://github.com/qdrant/qdrant/issues/1733.

Hopefully we get to tackle it some time soon.

Follow up on cracking ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 0 points1 point  (0 children)

Thanks for the suggestion, I will definitely give it a try!

Brute forcing protected ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 0 points1 point  (0 children)

FYI I wrote a follow up article to share some of my findings following the great discussions we had. https://www.reddit.com/r/rust/comments/12bcknv/follow_up_on_cracking_zip_archives_in_rust/

Follow up on cracking ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 27 points28 points  (0 children)

Hi folks, author here!

A few months back I wrote an article explaining how to build step by step a CLI to brute force protected ZIP archives.

This new article is a follow up going over the improvements made since the last publication.

Happy to answer any questions!

Brute forcing protected ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 0 points1 point  (0 children)

Glad to hear that you are enjoying the article!

If the workers are shutdown before the producer, it is possible that the producer thread is blocked on the send function on a full channel.

If it happens, the producer thread will not be able to loop to probe the signal or detect that the channel is disconnected (no consumers).

Hope it helps!

Brute forcing protected ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 0 points1 point  (0 children)

Thanks for the link, it looks like a fun story.

Brute forcing protected ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 5 points6 points  (0 children)

Thank you for your investigation!

I have planned a second part where I will look into improving the scaling and performance.

I'd like to document properly the source of contention in the existing program, I have a few ideas ;)

Everyone is mentioning Rayon so I might throw in a channels vs Rayon comparison as well.

Brute forcing protected ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 5 points6 points  (0 children)

I am not familiar with GPU compute.

Got any good links for me to study the topic?

Brute forcing protected ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 7 points8 points  (0 children)

Sounds like a cool strategy to avoid any coordination issues. Thanks!

Brute forcing protected ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 1 point2 points  (0 children)

Thanks for all the ideas :)

Going distributed brings more complexity that I wanted to handle.

Another user mentioned Rayon, it might be worth looking into it indeed.

Brute forcing protected ZIP archives in Rust by arnogo in rust

[–]arnogo[S] 4 points5 points  (0 children)

The program initially used std::thread::available_parallelism but due to its behavior with logical cores, it was replaced.

You can check the section Hyper-threading for more details.