w3f / w3f-education

Technical Education at Web3 Foundation
Other
17 stars 19 forks source link

[WIP] Rust Extension Pages - Safe Math #148

Closed CrackTheCode016 closed 7 months ago

CrackTheCode016 commented 1 year ago

Covers safe math, currency math, and some sp-runtime/arithmetic primitives.

todo

CrackTheCode016 commented 1 year ago

Note for anyone reviewing - I did not really include any sp_runtime examples, as I felt they took away from the core concept of showing some of the nuances of numbers in Rust.

shawntabrizi commented 1 year ago

I don't want to be harsh here, but pretty underwhelmed with the content here.

This barely scratches the surface of what kind of content i would expect to be TAUGHT when going through this project.

It feels very much blind leads the blind, as in you have not made yourself an expert on these topics, and yet you are starting to teach them to someone else. You have basically just showed them what they can figure out spending 10 minutes and a rust compiler, but nothing deeper than the surface.

There is some expectation that you have learned deeper than this surface knowledge from the academy yourself, but if not, that is also okay. But I do believe the expectation is that you should strive to make yourself an expert of these tools, how they work, etc... and then attempt to teach others.

With that said, I think there needs to be a shift in the process and expectations here. If you reach out to me, I can help. Better yet, if you engage yourself with the key players like Kian, Keith, Oliver, and the other frame devs, you will see they have encyclopedic knowledge of these tools and how to use them and frame them.

Finally, I think you need to be basing all of your content around the final reality that people are going to be building blockchains. It is not enough to just say something exists or show them some tool. We must show them why it exists, how the tool should be used, and everything they might not expect about using the tool. Perhaps things you need to bump into yourself by pushing the boundaries of these tools.

I think in that context, looking more closely at the source code, the APIs, and also how all these things are using in substrate would be important. For example, if you are writing about wrapping_add, it might be interesting for you make a personal note that it is only used 14 times in the entire polkadot-sdk. Can you justify to yourself what those use-cases were? Do you need to inquire to the person who wrote those lines? Can you then express to the reader that same knowledge?

Anyway, I hope that this feedback resonates with you and makes sense in retrospect. I think one of the things I have seen from my experience is that a single solid page of content does more good than a whole tutorial where we don't really move the needle.

DrW3RK commented 1 year ago

Thanks for the quality feedback on the content @shawntabrizi

Your insights and feedback are valuable for keeping the quality of this course high. Please remember that this is the first round of quality feedback we are getting for the content, and we shall incorporate it into the course content.

If you reach out to me, I can help. Better yet, if you engage yourself with the key players like Kian, Keith, Oliver, and the other frame devs, you will see they have encyclopedic knowledge of these tools and how to use them and frame them.

It feels very much blind leads the blind, as in you have not made yourself an expert on these topics, and yet you are starting to teach them to someone else.

Perhaps things could be different if the people "who can see" lead this effort rather than just providing feedback. As that was not the case, we are two personnel who attended PBA trying to put this highly sought-after beginner resource together. We are open to feedback and criticism, as well as process improvements.

This education repository is open and the technical education team at Web3 Foundation is fully committed to maintaining the quality of it to the highest standards in the ecosystem. Would be great if you could share this with the core devs and the fellowship and see if anyone has the time/energy to lead this initiative.