Great tutorial, there’s a lot of valuable information here.
I just want to clarify one point: does learning from this tutorial and writing an independent implementation require attribution, or is attribution only expected when actual code or very specific implementations are reused?