reddit / emacs
Emacs and turtle graphics
aard_fi · 2022-12-19 20:37
I recently was showing my 6 year old daughter a handful of basic lisp snippets when she got interested in what I'm doing at the computer all day - and she was somewhat interested. While thinking about how to entertain her on the upcoming trip to the grandparents in a few days I remembered turtle graphics from when I was small.
A quick search revealed that Ray Puzio [indeed implemented turtle graphics in emacs](https://www.youtube.com/watch?v=zzbEjmlIET0) - with the sources uploaded to emacsturtle.metameso.org back in 2014, but the page is long gone. The talk should be enough to piece it together - if I had enough time before the trip, and this wasn't such a last minute idea.
Does anybody reading here accidentally happen to have an old copy of turtle.el?
itistheblurstoftimes · 2022-12-19 20:58
This would be great. I did a quick search too and found other people looking for it.
janoc · 2022-12-19 21:16
I suggest showing your daughter Scratch (https://scratch.mit.edu/) Not Emacs but more accessible for kids and she can do a lot more things that are interesting to her with it - make small games, animated "films", draw stuff ...
And if you really want turtle graphics, Python has turtle graphic built-in:
https://pythonguides.com/python-turtle-graphics/
As does Racket, if you prefer lisp-y programming:
https://docs.racket-lang.org/turtles/Traditional_Turtles.html
hungry_lizard_00 · 2022-12-19 21:40
I know this is not what you asked, but [code dot org](https://code.org) is a pretty good platform to introduce kids to programming much like scratch that's already mentioned by someone else in another comment.
It has drag and drop functionality that she can use to put code blocks together to see what they do and she can gradually switch to typing stuff as she gets more comfortable.
aard_fi · 2022-12-19 22:13
I don't think scratch is the right thing for her to get started. She might get interested in that once she learned some basics the hard way, but for now that'd look to close to a puzzle game for her - while she asked about programming.
As close to my working environment as possible is useful for her to accept my authority there - we're talking about a girl that didn't accept my explanations on spelling and pronunciation of words of Greek origin until I could prove her by digging out my old school books that I learned Greek at school.
Racket looks interesting, I'll see if I can get that working for the trip.
I'm cursing enough about python at work, I don't need that in my private live...
aard_fi · 2022-12-19 22:18
That she'd have to type is not a bug, but a feature here - she desperately wants me to finally hand over one of my old notebooks so she has her own device with a keyboard to type on.
She learned reading this year not because the main goal was reading - but because she wanted to write, und understood that reading is kind of a requirement to get to writing. I'm not sure she's ready to learn programming basics already - but to have a chance of her accepting it it'll have to look like me working, with typing stuff into a text thingy.
a-huge-waste-of-time · 2022-12-20 00:55
I think UCBLogo fits the bill (lisp + turtle graphics) pretty well; & it comes with books suitable for younger students: https://people.eecs.berkeley.edu/~bh/logo.html
Similar resource w/o graphics: https://archive.org/embed/isbn_9780262560993 - the Little Schemer
7890yuiop · 2022-12-20 04:05
> She learned reading this year not because the main goal was reading - but because she wanted to write, and understood that reading is kind of a requirement to get to writing.
“I’m one of the few people you’ll meet who’ve written more books than I’ve read.” -- Garth Marenghi
But seriously, you might have a future author on your hands there :)
7890yuiop · 2022-12-20 04:15
That site isn't completely unknown to the Wayback Machine but, unless I'm missing something, it doesn't seem to have captured anything useful. I imagine you knew this already.
* https://web.archive.org/web/20140819002143/http://emacsturtle.metameso.org/
* https://web.archive.org/web/*/http://emacsturtle.metameso.org/*
aard_fi · 2022-12-20 08:22
I was playing with UCBLogo long before I had kids, and forgot about it - thanks for reminding me. I also remembered that I had a Scheme interpreter on my Palm Vx which I think also could do some graphics - will need to dig out where that thing is, and if I can change its battery.
The book looks pretty interesting for helping with ideas to get her started. I've been searching for something like this - but turns out, searching for info about kids with lisp brings you to a slightly different topic. Shocking.
aard_fi · 2022-12-20 08:25
Yep - went there, got excited about a capture in 2014, just when the files should've been there, got let down by the reveal, and decided to try my luck here as a last-ditch effort.
janoc · 2022-12-20 08:38
There are plenty of other teaching languages for kids. Alice, Baltazar, Karel the Robot, Scratch - there is even Logo which is literally based on those turtles (https://el.media.mit.edu/logo-foundation/what_is_logo/logo_primer.html) .
It depends on how you present it. And it is much easier to teach kids the basics of algorithms on that than on a completely abstract language in a "crazy" editor with idiosyncratic controls like Emacs & Elisp. Nothing against the later, I use both - but it isn't something I would teach a 6 years old take their first steps with.
It is much better if they "fight" with only one thing at a time - and the abstract concepts required for programming are usually hard enough.
aard_fi · 2022-12-20 11:24
I'm not too worried about the Emacs part - it's just a box to enter text in, and other than "evaluate this" - which I can bind to whatever she finds most comfortable to use - nothing else is needed for figuring out if she wants to try that, or maybe go for something easier first.
She generally prefers abstract approaches, and needs to see for herself if something is still too hard for her, so I'm not going to fight her on that. If she gets the idea that I'm making it too simple for her because she's a kid she's just getting upset, and losing interest - while having her fail by herself makes her ask for an easier version. Pretty much from the point it was able to communicate that to her she got to try whatever she wanted to try (assuming it's not too dangerous and I can't make it safe) and figure out by herself if she's ready for that or not - that approach seems to have worked a tiny bit too well.
janoc · 2022-12-20 12:13
By all means, you know your daughter best. If she is comfortable with Emacs and Lisp, why not.
My experience teaching both kids and adults programming is different but then not everyone is the same. Most kids are still unable to read at 6 years!
Good luck and mainly have fun, both of you!
ieure · 2022-12-20 18:25
I share your interest in this.
i think the best route is to get in touch with the author (Ray Puzio) directly and see if he still has a copy.
There's an email address for (rsp@...) at the bottom of this page: https://github.com/exp2exp/ob-servant
Also looks like Ray gave a talk at EmacsConf 2020, so the organizers (bandali, saschac, zaeph) might have contact info if that email doesn't pan out.
aard_fi · 2022-12-20 18:47
Damn, that's a good find. I tried searching contact data myself, but didn't get anywhere. I just sent a mail to that address, let's see if that still works.
It's somewhat annoying nowadays to get in touch with people - 10-15 years ago it was pretty trivial to contact pretty much anybody who was using internet, but nowadays you can just find they exist, with not much in the way of sending them a message.
ieure · 2022-12-20 19:03
Yeah, it is frustrating. It mostly seems to be driven by people not wanting to share their email addresses because of spam/phishing risk. And/or changing email addresses a lot; I think a lot of providers delete the account and don't let you leave a forwarding address like they used to.
I also found [this issue on the emacsnyc GitHub repo](https://github.com/emacsnyc/emacsnyc.github.io/issues/8) where someone else was looking for the file. That seems to be the meetup where Ray presented the code. Definitely seems worth sharing more widely if you end up tracking down a copy.
Good luck!
aard_fi · 2022-12-21 10:11
I installed and evaluated everything suggested in this thread yesterday (including scratch).
For everything but scratch I think elisp would be the easiest - just because it is in an editor that allows you to easily edit with cursor keys or mouse positioning without actually learning about the editor and then evaluate again - all the other options either come with their own input system not as easy to use, or would need an editor, but are not as nicely integrated, so would have a higher learning curve just to get to the "type, evaluate" stage.
Scratch would have the big advantage of supporting the environment in German, though for elisp it'd also be trivial to do aliases for the relevant functions. No idea if compiler errors are localized, need to check that. Not a major thing, though, she should be able to cope with it in English as well.
janoc · 2022-12-21 12:52
Don't forget that Racket has DrRacket IDE and Python comes with Idle which are very much intended for this type of use.