Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement #25: Add an examples index #197

Merged
merged 11 commits into from
Sep 2, 2020
Merged

Implement #25: Add an examples index #197

merged 11 commits into from
Sep 2, 2020

Conversation

PaulDance
Copy link
Contributor

@PaulDance PaulDance commented Sep 1, 2020

Hello again @sunjay!

In order to address #25, I compiled a selection of examples I judged interesting and organized them in sections by level, which I thought could be better than repeating the level for every entry, and yes also because it was simpler for me. I say that because I had quit the trouble recording the examples, then cutting and finally rendering them to GIFs, so I might have cut some corners here and there 😩.

You might notice that I did not respect your initial proposition about some of the examples' level: I considered "Beginner" as simple geometric shapes, "Intermediate" more complex geometric constructions including drawings with parameterized arcs because I consider this just a lot of guesswork, and "Advanced" the maze and fractals drawn using recursive algorithms. So to summarize, I grouped by programming complexity rather than drawing complexity, which I think is more a matter of finding the right numbers and writing a lot of similar code. Let me know what you think about this.

Finally, I wrote the descriptions after making all those GIFs, so they did not end up being novels, but I might have included some typos, so proofreading is required.

Cheers,
Paul.

It aims in the end at completing #25: having a README.md to show people around
the examples directory. This commit introduces such a file as required in the
issue with an organized structure. Images will be added to the directory
`docs/assets/images/examples`.

Signed-off-by: Paul Mabileau <paulmabileau@hotmail.fr>
Took the interesting and different enough examples from the available set and
listed them in `examples/README.md` with respective source code links.

Signed-off-by: Paul Mabileau <paulmabileau@hotmail.fr>
Recorded a demonstration for every selected examples in the index and
added it to the example index.

Signed-off-by: Paul Mabileau <paulmabileau@hotmail.fr>
Added a few sentences per selected example in order to just describe it, inform
which turtle methods are used or explain how the drawing algorithm operates.

Signed-off-by: Paul Mabileau <paulmabileau@hotmail.fr>
As the linked Wikipedia article states, it is the Heighway, and not highway,
dragon.

Signed-off-by: Paul Mabileau <paulmabileau@hotmail.fr>
@codecov

This comment has been minimized.

Copy link
Owner

@sunjay sunjay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PaulDance Wow! Amazing work! You did such a fantastic job with this. I am excited to merge it. 🎉

I say that because I had quit the trouble recording the examples, then cutting and finally rendering them to GIFs, so I might have cut some corners here and there

No worries! I have done a lot of this so I know how difficult it can be. Thank you so much for putting in the effort! Did you also speed up some of the GIFs as well? They look great! So high quality I'm honestly so impressed by your work. 😁

Note: Did you by any chance record the GIFs with a red-light filter enabled or some other program that makes your screen dimmer? I noticed that none of the examples with white backgrounds are actually fully white. (I've made this mistake before. Don't worry, you don't have to go and re-record everything! At this point, I think it would be better to leave them as-is and then open an issue to do it later. It's only barely noticeable right now, and that's only if you know what to look for.)

So to summarize, I grouped by programming complexity rather than drawing complexity, which I think is more a matter of finding the right numbers and writing a lot of similar code. Let me know what you think about this.

Great! I am fine with the way you ordered things. That issue was written 3 years ago, so it makes sense that we would have to deviate now that we have so many more examples. If we find a better classification/ordering later, we can always readjust!

Finally, I wrote the descriptions after making all those GIFs, so they did not end up being novels, but I might have included some typos, so proofreading is required.

This is what I'm here for! Shorter descriptions can be great. No need to be overly verbose just for the sake of it. You did a great job with your descriptions. I like that you mentioned which parts of the API are used for many of them. Some of the names you chose for the examples are very creative! 😁

I've left you lots of feedback in the form of suggested changes. You should be able to batch them up into a single commit and apply them all at once. Feel free to improve the work even more, but do keep in mind that we can always come back and keep working on this later. :)

Note: I made the edits directly on GitHub, so you may need to trim trailing whitespace in your editor after saving the file. 😅

Out of Date Images

An unfortunate consequence of #25 being 3 years old is that the GIFs for heart, maze, and rust are all out of date. If you run those examples again, I think they've changed pretty significantly.

If you have a chance, could you try and re-record the heart and maze examples? No problem if you don't have the energy for that, we can always open up follow up GitHub issues to keep working on this. The rust example can't be re-recorded right now because of #177. We can leave that GIF as is for now.

examples/README.md Outdated Show resolved Hide resolved
examples/README.md Outdated Show resolved Hide resolved
examples/README.md Outdated Show resolved Hide resolved
examples/README.md Show resolved Hide resolved
examples/README.md Outdated Show resolved Hide resolved
examples/dragon.rs Show resolved Hide resolved
examples/README.md Outdated Show resolved Hide resolved
examples/README.md Outdated Show resolved Hide resolved
examples/README.md Outdated Show resolved Hide resolved
examples/README.md Outdated Show resolved Hide resolved
@PaulDance
Copy link
Contributor Author

I am excited to merge it.

Nice!

Did you also speed up some of the GIFs as well?

I actually sped up the long drawings themselves using turtle.set_speed 😉

Did you by any chance record the GIFs with a red-light filter enabled or some other program that makes your screen dimmer?

Oopsie daisy 🤷‍♂️... yes I did, but it never crossed my mind! I guess this is how one learns, huh.

If you have a chance, could you try and re-record the heart and maze examples?

Yes I can definitely do that and truthfully I think it would look better to have them all in the same size. The time I spent recording and adjusting the GIFs was mostly figuring out how to get the GIFs themselves first. I tried using Peek, but couldn't make it work because moving and resizing the recording window was a nightmare. So i used recordMyDesktop that I have used before and worked fine, but when I tried to edit the result using the graphical video editor kdenlive, exporting to a GIF was a complete failure. So I finally had to make the edits manually with ffmpeg which I never used before... Now, it shouldn't take me that much time to record two additional ones, no worries.

PaulDance and others added 4 commits September 1, 2020 16:21
A few are still to be discussed.

Co-authored-by: Sunjay Varma <sunjay@users.noreply.github.com>
Signed-off-by: Paul Mabileau <paulmabileau@hotmail.fr>
As the ones initially published in the issue were three years old, an update
was bound to be required at some point. The Rust example GIF is to be updated
as well as soon as the Rust example is updated itself.

Signed-off-by: Paul Mabileau <paulmabileau@hotmail.fr>
Applied the same formatting suggestion as the Heighway dragon example
and also clarified a bit the description itself.

Signed-off-by: Paul Mabileau <paulmabileau@hotmail.fr>
Copy link
Owner

@sunjay sunjay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work @PaulDance! I found one typo and one missed GitHub suggestion. This can be merged once those are resolved and the build passes. 🎉

examples/README.md Outdated Show resolved Hide resolved
A simple copy-and-paste oversight in the table of contents.

Co-authored-by: Sunjay Varma <sunjay@users.noreply.github.com>
@PaulDance
Copy link
Contributor Author

@sunjay That should be it, right?

@sunjay
Copy link
Owner

sunjay commented Sep 2, 2020

@PaulDance I just applied the last suggestion that must have been missed for some reason. I'll merge as soon as the build passes. Nicely done! 🎉

@PaulDance
Copy link
Contributor Author

PaulDance commented Sep 2, 2020

@sunjay No, I did not miss that one: you came back on your first comment saying this part was actually fine by you, so I let it as is. Did I miss something?

@sunjay
Copy link
Owner

sunjay commented Sep 2, 2020

@PaulDance I think there may have been some misunderstanding. The suggestion I just applied was similar to several others you applied earlier, not one of the ones we discussed leaving as is. Is there a comment where I said it was fine as is?

@PaulDance
Copy link
Contributor Author

PaulDance commented Sep 2, 2020

See the links I just added to my previous message.
Know that I am fine with your changing it, but I thought you changed your mind and wanted to leave it in.

@sunjay
Copy link
Owner

sunjay commented Sep 2, 2020

Ah! I see where the misunderstanding is. Here's the comment you linked to with some added emphasis:

Note that despite my earlier comment, I am totally fine with using "simple" in the example titles for these shapes. That is a totally accurate description of the drawing and doesn't have anything to do with the example code itself. :)

So you see, I'm fine with calling the shapes themselves simple, but I wanted to change the description to avoid calling the example that. (My other comment that makes the applied suggestion goes more into why.)

Sorry for the confusion! Hopefully that resolves things and we can get this merged. 😁

@PaulDance
Copy link
Contributor Author

Ok then, sorry I missed that part. Everything is therefore fine by me now. You'll be able to merge this in a few minutes I'd say.

@sunjay sunjay merged commit 08fa38d into sunjay:master Sep 2, 2020
@sunjay
Copy link
Owner

sunjay commented Sep 2, 2020

Great job @PaulDance!

@PaulDance PaulDance deleted the examples-index branch September 2, 2020 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants