ooh I didn't know about this channel before.
Nice.
Thanks @ pez for creating it!
Thanks for all the help mentoring me, @jaihindhreddy!
My pleasure!
@pez you could consider announcing this channel in #announcements
Might help in recruiting more mentors and maintainers.
Yeah, we should consider that. What should we say the channel is about? When I created it I dodged that question, but if promoting, we can't really 😃
That's a good question. I'm not sure. Maybe talk a little bit about what Exercism is, and how it helped you personally, and how people can help it, through mentoring and maintaining, or for beginners to learn.
I just casually mention #exercism and run away, without explaining it. I second @pez, we cannot really announce it yet.
I can definitely tell how excercism was, and is, helpful and important for me. What is a bit unclear, yet, is what this channel is about. We've so far (the few days it has existed, haha) stayed clear from posting code and discussing solutions. Yet, given how ethereal anything posted on this slack is, maybe we shouldn't avoid that? I feel that it could be like a #beginners channel on steroids used like that.
Then the channel purpose could be something like A place where http://exercism.io mentors and students gather and discuss everything from how the Clojure Track can continue to serve the community, to how to tackle this or that exercise, as well as coordinate the tasks of helping students along the track in a timely manner.
Am I laying it on to thick, you think?
I love it. A tad too thick yes 😅
LOL
Announced it, with all the butter still there. It's deeply meant and honest, so there is that.
there's also some work going on a babashka exercism track 🙂 https://github.com/porkostomus/babashka
That's awesome, @borkdude! I think I might enter that track.
Do you think we should advertise this channel on Exercism itself? Truth be told, I am still not sure what we'll use this channel for. One great use is, and you mentioned it @pez, notifying potential mentors about a new solution. Quicker feedback is always good. I remember waiting over a month for feedback on one solution! I am glad I pushed on, some would not. Discussing about solutions is not a good idea as it can contain spoilers. Unless we find a way to hide spoilers. What do you think?
Right. I just hope it's not against exercism's policy.
Seems the official recommendation is to use a thread to hide spoilers. https://mobile.twitter.com/slackhq/status/843928196445888512
Yeah, let's use threads. It'll be a bit like on exercism, where you can find them spoilers if you look for them.
Yes, I think it would be good to advertise this channel on exercism.
I've been suggesting people to join this slack org, naturally they'd probably find this channel. We can mention it as well.
Thanks for sorting this out @pez. I had a selfish moment hoping not too many people on exercism see this as it's kind of nice having a relatively undiluted hotline to a mentor! (speaking of which, @hindol.adhya, I've submitted the RNA Transcription ex).
Aaand I stole the mentorship from hindol, sorry 😅
So... give me the elevator pitch on what http://exercism.io is and why I should care? (I've heard about it a lot but never visited the site).
Infinine seqs, sure, but how do you even introduce people to metadata and epochal time model on Exercism? Those are pretty beginner level exercises.
@hindol.adhya The "Robot Name" exercise allows me to introduce the epochal time model to curious people. I usually tend to suggest using defn-
to make some fns private to the ns. And when people ask why there's no def-
, I explain metadata.
When it comes to things like variable names, when recommending coll
as the same for seqables, I try to back that up with this piece of evidence:
(->> (vals (ns-publics 'clojure.core))
(map (comp :arglists meta))
(flatten)
(remove '#{& nil})
(frequencies)
(sort-by val >)
(take 5))
The top 5 most used argnames in clojure.core
pop out. This allows me to explain metadata and vars and a bunch of other things, depending on the level of curiosity and hunger someone shows.Glad that works for you! I personally fear introducing too many things at once will scare students away.
P.S. Regarding defn-
, I use (defn ^:private ...)
to retain symmetry with def
.
Absolutely. I only pull this out after discussing at least a few problems with someone. I've only used it about 3-4 times I think.
I make sure they're already comfortable with threading macros and the idea of namespaces, and the fact that ns
requires and refers-in everything in clojure.core
. I try to stay just outside their comfort zone to maximise learning.
For example, when I think an iteration was just right, instead of just saying so and moving on, I try to dig around for a couple of good things in the solution, and why they're good. That's when these things come out.
That's a great strategy indeed.