Good project suggestions

Hello everyone, i'm pretty new to rust so i would like to know some good project suggestions to work on or resources to get some inspiration
(please do not suggest a grep clone :smile: )

How about a tool for transmitting files over wifi?

FTP? Rsync? Git? Netcat?

Try to rewrite a small program you already wrote in rust.

1 Like

i'm working on something similar but i want something else,
If you're curious about why i'm making 2 projects at the same time, it's because i want to switch between them when i'm bored

How about a spreadsheet with formulas? You could start out with a simple terminal interface that let's you set a cell with a command, and then prints the updated contents after computing new cell values?

that sounds interesting, i'm gonna try it out, thanks

We still don't have an entry in Rust for the "Million Digit Fibonacci Challenge":

That is to say create a program in Rust that calculates all the digits of the first Fibonacci number that has one million digits, fibo(4784969).

The original challenge, which arose on another forum demands that one does not use any library that does not come as a standard part of the language. So no use of big number maths crates.

Ideally a Rust solution would keep up with the best performers which are in C and C++.

I think saying "one million digits" is a little misleading. From my point of view, the number 4784969 has only seven digits.

Of course. This is the 4784969-th Fibonacchi number which has one million digits.

https://github.com/not-yet-awesome-rust/not-yet-awesome-rust contains a list of holes in the Rust ecosystem that need filling.

2 Likes

How so misleading?

The number 4784969 certainly has 7 digits.

However the 4784969th number in the Fibonacci sequence has one million digits. It's also the first number in the Fibonacci sequence to have one million digits.

We are assuming decimal digits here of course.

You should be looking to match a time of about 0.5 seconds on a boring old x86 PC with 4 cores or about 1 second single core.

Ah sorry I misunderstood then :slight_smile:

@snow-blade A parser (and, if you like, a transpiler) is also really fun as a project in Rust (I am talking from experience :wink:). Parsers are very ubiquitous, so you can use that knowledge in a vast amount of fields (e.g. query parsing, programming language transformations etc.). It also teaches you a lot about tree data structures and working with strings.

HI there - for me personally the best way to learn something usually is to take any OSS rust project and just start hacking on good-first-issue.

The other is to review patches of people that know more than you.

Nothing beats getting into the weeds of a language than trying to do something in a complex code base with a good test suite.

(If you want you can help out with goose load testing - we just started and are also still learning rust and best practices, but it’s so much fun.)

Another codebase I really liked was:

reqwest

There is probably lots more OSS projects, so pick something that interests you :slight_smile: and hack away.

I learned a lot from the Rust module of https://github.com/pingcap/talent-plan.