Fork me on GitHub
#exercism
<
2020-04-04
>
seancorfield04:04:52

Does anyone else think the definition of "yelling" in the Bob exercise is lacking/vague/unintuitive?

4
seancorfield05:04:20

Hah! Finally managed to get all the tests to pass but it still doesn't feel like a good definition of "yelling": https://exercism.io/mentor/solutions/723dccaa218e4495a333327052c0884d -- feedback?

seancorfield05:04:54

(and, wow, this question has a huge variance in responses -- how did y'all respond to this?)

hindol05:04:16

I used to peek at the test cases when I solved. Many questions don't explicitly state all the criteria.

seancorfield05:04:07

Aren't we supposed to look at the test cases? They're part of the download, after all. And running lein test is about the only way you know you have anything close to a solution.

seancorfield05:04:14

I swear I've spent nearly an hour on Bob trying to figure out what their definition of "yelling" is. Even looking at community solutions hasn't much helped -- I think it's a terrible question.

seancorfield05:04:34

I have to say, so far, I am really not impressed by Exercism.

seancorfield05:04:47

The machinery is very slick but the exercises are awful.

pez05:04:03

I kinda like that the exercises are vague. It makes my creativity trigger. I also almost always start with running the tests. I often look at them. Depending on the problem. For Bob I think I didn't look at them, just tried to make them pass. The yelling part of Bob had me puzzled too. But I smiled all my way through that exercise, thought it was very fun.

seancorfield05:04:35

I've deleted my account. I was hoping for much better, after all the "buzz" I've seen about Exercism. Kinda glad I resisted signing up for so long.

Bobbi Towers05:04:33

As a maintainer working on the next release, I'm searching for ways it could be much better. Some we are already aware of: https://www.youtube.com/watch?v=5Cj1Dr9m3GM

pez05:04:16

Wow. To me it has been the most wonderful thing! Here's my Bob solution, btw: https://exercism.io/tracks/clojure/exercises/bob/solutions/ada967a952664c9a8ce6a10bb9fac5cc

seancorfield05:04:51

Why define 0-arity functions? Why not use plain local binding expressions?

seancorfield05:04:23

I find the regex approach to be mostly impenetrable. Some of the solutions I looked at were completely unreadable because of their reliance on regex (yours isn't too bad but I think it's pretty ugly in some places)

seancorfield05:04:01

If you trim first, it's much clearer when you're checking if ? is the last character.

seancorfield05:04:49

(to me, "yelling" should be a sentence ending in ! especially after they make that big (pompous) deal about "correct English" -- which they clearly are not adhering to!)

seancorfield05:04:53

(I'm a bit surprised I can still view your solution BTW @pez given that I've deleted my Exercism account -- that means that all solutions are fully public?)

Bobbi Towers05:04:42

only once the student chooses to publish it

seancorfield05:04:25

Yeah, I'm just still surprised you can view solutions when you don't have an account at all.

seancorfield05:04:31

Anyways, since I've deleted my account, I should probably leave this channel too. I'm sure some folks will get benefit from it but I'm very disappointed in it and I won't be recommending it to anyone.

pez06:04:26

@porkostomus I'm watching the video now (trying to get past the horrible title, haha). Anyway, I'm at where Jeremy is talking about splitting things up in learning and practising, and I quite like it. Seeing there is a complete new set of exercises needed for the learning track I want to offer some of my time on reading them and giving feedback on them and their manifestations in Clojure. Seeing I am somewhat in the target group for them. Maybe this channel can be used for such things to?

Bobbi Towers06:04:18

Yes that would be great 😀 The part where he mentions how new the platform is - that's the thing. It was never really put together with much thought to the learning path. That's what we're trying to change.

hindol06:04:44

I remember Clojure Koans having a very well thought out learning path. https://github.com/functional-koans/clojure-koans

Bobbi Towers07:04:33

Yeah the koans are great! There's also http://clojurescriptkoans.com/ I refer to these often, so hard to beat. So little talk. Finely crafted to introduce just one thing at a time

pez06:04:57

@hindol.adhya told me about the plans to automate some of the mentoring. I was very sceptical. But the way Jeremy presents it there, I think it will work.

pez06:04:31

And, naturally, I also get very interested in the part about in-browser exercises. Will that be made in a way where the Clojure REPL is going to be in the front seat, you think?

Bobbi Towers06:04:48

Perhaps at some point, I agree that would be nice, as it is so central to the Clojure workflow. The way I think of the automated mentoring is more like we are building a "super-linter", that is, tooling to catch common things so that we can maximize the parts of mentoring where the human aspect is most effective.

Bobbi Towers06:04:39

This is the editor the site will be using: https://ace.c9.io/

pez07:04:43

Ace is cool. I think I might look at it a bit deeper now, than I have before.

Bobbi Towers07:04:46

I don't think it has the ability to do stuff like structural editing or inline-eval, which is a shame :face_with_raised_eyebrow: I'd be up for the challenge of trying to implement something better

pez07:04:07

Parinfer might be possible to stick in there some way...

pez07:04:46

Also, we could look at how Calva could support the onboarding from Exercism better. Might mostly be a matter of documentation. For someone who has vscode and something like brew, it is pretty quick. I've been able to use babashka for my exercises a bit lately, so maybe there is a way we can ship that with Calva... Thinking out loud here.

Bobbi Towers07:04:40

Those are both great ideas! I would definitely be in favor of that. VSCode and Calva keep getting better and have become the starter-kit of choice, in my opinion.

Bobbi Towers07:04:51

Yeah it would be really great to add socket REPL support to Calva for babashka

Bobbi Towers07:04:30

There's this: https://marketplace.visualstudio.com/items?itemName=mauricioszabo.clover (It's by the same author of Chlorine for Atom) I don't use it though because I'm happy with my VSCode config and I'm afraid of messing it up, so I just use a different editor for babashka 😜

Bobbi Towers07:04:05

I hear it supports nREPL now though, so perhaps it will no longer be an issue...

pez07:04:09

Yeah, an nREPL server is being added to babashka. Still has some quirks used from Calva. I will try to figure out what is not happening. Not sure if it is possible to bundle babashka with Calva, but if it is, it might open up for a cool Exercism lab 😃

borkdude07:04:53

@pez Can you test the latest version I posted in the #babashka channel? I was planning to release it today, but if it still has quirks we can maybe fix those before releasing

pez07:04:21

The same branch as I have been testing so far?

borkdude07:04:07

it's been merged to master now. I've also posted binaries over there

pez08:04:36

Calva relies on the info op to support navigation and doc lookup. So that is probably most of what is not going on.

pez08:04:28

And on my wish-list would be the test ops. That would make it work for many Exercism exercises.

pez08:04:45

But clojure.test in itself is not supported yet, right?

pez09:04:41

I don't get completions from it...

borkdude09:04:05

hmm, good point, me neither. I'll make a separate issue for it

pez09:04:41

Cool. Since I never use it directly to run tests I didn't know what to evaluate. 😃 But, now looked that up and, yes, indeed it runs my tests. Sweet!

borkdude12:04:15

@pez The issue is now fixed on master

pez16:04:22

Awesome. Also saw you released it. That's awesome too!

borkdude16:04:44

yeah. btw, you were mentioning to include bb. some other idea that could be interesting to explore: use sci inside Calva, so people can configure VSCode/Calva using Clojure itself. https://www.npmjs.com/package/@borkdude/sci#use-from-javascript

borkdude16:04:26

an example JavaScript project which uses sci to expose a Clojure DSL: https://github.com/Deep-Symmetry/bytefield-svg

pez16:04:31

The ClojureScript runtime is shipped with Calva as well. NOt sure how to leverage that, but anyway. 😃

borkdude16:04:23

the CLJS runtime?

pez18:04:11

Yeah. Since parts of Calva are written in cljs.

pez21:04:56

So, the Meetup exercise was a bit extra interesting. :thinking_face: https://exercism.io/mentor/solutions/2d316846219d4bc0ac79d1aeaf3888d7