Learn Rust, Contribute to SAFE, and Save the World


#1

If someone wanted to contribute to Project Safe but had no programming experience and was willing to learn, where should they start?


Demonsaw developer has lost his job at rockstar. Can we show some love?
Can Someone Give the Breakdown on Rust Code Improvements?
#2

For core work
http://learnxinyminutes.com/docs/rust/
Then work through this
http://doc.rust-lang.org/stable/book/README.html

For apps then javascript node.js python etc. are all at your disposal. Coursera and friends may help.


#3

Challenge excepted :wink:


#4

Lol…challenge declined for me I’m afraid…I just read the first few lines under the heading “An Introduction to rust”, which was itself written in as incomprehensible a language as Rust itself! :smiley:
eg:
“This program makes a variable binding named x. The value of this binding is a Vec, a ‘vector’, that we create through a macro defined in the standard library.”

Oooo…kaaaay…lol…completely lost in under a minute!


#5

I played with it and found that is wasn’t not terribly difficult…

The thing that is different and tricky is how it treats its variables.

I found this talk quite helpful in understanding what is different without having to dive into greek right away.


#6

Don’t start with Rust man. Start with a kids programming language on the web. Search and play.


#7

Thank you for the concern, but I’m confident I can take on this challenge.

I will eat this elephant one bite at a time.


#8

My goal is to learn Rust and SAFE. I will accomplish this by studying Rust/SAFE for at least one hour a day. To keep me on task and to motivate me, I will chronicle my journey here on the forum and post what I learn each day.

Step 1: Dual boot laptop with Ubuntu.


#9

OK, I expect that’s the answer to the OP really then as it’s asking about where non-coders should start. I had a look at code academy or something a while back, but prob take me forever to become proficient enough to do anything useful.
I’m going to wait until you’ve done Safepress, then use that and the proper coding skills of others like yourself to create things.
PS - I’m after a nice accounts/small business program that may utilise something Factom like for time-stamping records but on Safe - so after you’ve made Safepress… :smiley:
Actually I know a very well paid accountant who apparently co-created/funded a web based program on the normal web, but got a bit scammed on the shares front like that Facebook guy…diluted em sort of…because he didn’t want to pay an extra £40,000…I’m seeing him next week actually so might investigate a bit further…he was interested in investing in Safecoin too, so meant to try to explain that further anyway…


#10

an excellent start - shout if you need help

with dual booting that is - Rust is a steep learning curve for me too. All I have is enough python to make me dangerous with Django :slight_smile:

I think Exercism will be useful once I have gone through the resources @dirvine posted

For core work
http://learnxinyminutes.com/docs/rust/
Then work through this
http://doc.rust-lang.org/stable/book/README.html

Exercism teaches TDD - Test Driven Development which I am assured is the Way To Go.


#11

http://doc.rust-lang.org/stable/book/installing-rust.html
2.1. Installing Rust
http://doc.rust-lang.org/stable/book/hello-world.html
2.2. Hello, world!

What I accomplished today:
1: dual booted laptop with Ubuntu
2: installed Rust
3. created main.rs file
4. compiled main.rs file
5. ran main binary

Comments: When compiling main.rs “Hello, World” will not display on screen. Do not panic like I did. If you keep reading it explains that “Hello, world” will output as a binary executable called main. To execute this file all you have to do is type ./main


#12

Is there a certain “Style” SAFE uses when programming in Rust?


#13

Look at the code and you’ll find the style by yourself.


#14

http://doc.rust-lang.org/stable/book/hello-cargo.html
2.3. Hello, Cargo!

Insert Keanu Reeves voice “I know Cargo, wow!”

What I learned today:
1: how to manually create a cargo project
2: how to build and run a cargo project
4: how to autocratically create new cargo projects with cargo new command

Comments: I now know enough to be dangerous. With this knowledge I can run safe_vault with just a few simple commands.

git clone https://github.com/maidsafe/safe_vault cd safe_vault
$ cargo run

Edit: Cargo has it’s own guide @ http://doc.crates.io/guide.html


#15

https://github.com/maidsafe/safe_vault

I don’t know how you made it this far, it’s not suppose to be able to build right now. Did I miss something?


#16

You are right, I spoke to soon. I got an error when I tried to compile it. But, in theory it should have worked, right?


#17

lol, I have to write at least 20 characters only to say “Yes”


#18

My experience is that most programming languages are quite similar… If you know one you can learn the next ones easier and easier…

Rust probably isn’t the best place to start, but it isn’t insurmountable.

I wrote a Rock Paper Scissors simulation in a hour or so – But I had written it in python earlier… It ran 3 times faster in Rust. I was thinking it would be fun to get two computers to play over Crust, but I haven’t gone there yet.

I also like to write Chess 960 position generators. for a fairly easy starter project that isn’t too simple.

The trickier part for me would be how to contribute… I wouldn’t know where to start or the ethics of where to play without stepping on toes etc.


#19

I like how Rust and MaidSafe both have been around for 8 years. And both launching very closely to eachother :slight_smile:


#20

I found another good resource.

http://rustbyexample.com/

I will go through this when I finish the Rust Book :smile: