clojuredesign-podcast

Discussions around the Functional Design in Clojure podcast - https://clojuredesign.club/
nate 2020-03-17T02:38:14.074900Z

@cb.lists Hello and welcome to the show. Glad to hear you're enjoying them. You bring up a really good idea for discussion. I can't think of any code bases off the top of my head, but maybe someone else in this channel could offer up one that they've found useful. I totally agree that reading code is a good way to learn how a language is used. In the small, maybe reading through advent of code solutions would be helpful: https://www.reddit.com/r/Clojure/comments/e4lsbk/advent_of_code_2019_in_clojure/

Cris B 2020-03-17T02:47:44.080100Z

Thanks @nate- I've kind of avoided Advent of Code, thinking of it as a competitive thing (not my style), but in truth that's based on no actual information at all. I shall take a look. I've sometimes found stdlibs to be good sources of stuff to read. Depends on the language - golang's I found very informative, Rust's less so at least from a superficial look (too much atypical unsafe code). I wonder where Clojure's sits - I imagine there's more java interop stuff there than an app developer would normally want to write.

nate 2020-03-17T02:53:51.085Z

I understand staying away from competitiveness. I can never keep up, so I'm usually just challenging myself. One very useful thing is to implement a problem and then go look at a very experienced clojure dev, like Mike Fikes or Bruce Hauman, and see how they approached it. Sometimes it would take a while just to understand what was going on with their code, and I always learned something.

nate 2020-03-17T02:55:47.088Z

Reading clojure libs can be uneven. Depends on how far the author goes down the meta programming rabbit hole. I've enjoyed reading the ring source recently. Nearer the other end of the spectrum sits aleph, it's wonderful but mind bending under the hood.

nate 2020-03-17T02:56:56.089800Z

The other issue with reading libs is that it doesn't really help with how to structure your main app source. There was a discussion around that topic in another channel the other day. I'll try to dig it up.

Cris B 2020-03-17T03:05:44.092800Z

Yep, I think of libs as possibly good sources of idiomatic code, but you're right, at some point you need app-level code to get a good handle on the larger organisational issues. I'm too early in my clojure journey to want my mind bent too far out of its already idiosyncratic shape so perhaps aleph is for another day! You're AoC suggestion is a good one.

nate 2020-03-17T03:22:14.093300Z

Cool. Have fun and keep on learning.

Stefan 2020-03-17T07:20:12.095Z

@cb.lists I can also recommend joining the Clojure track on http://exercism.io, in mentored mode if places are still available, but even in practice mode I found it useful because you can easily browse through other people’s solutions. It’s not always easy to derive what is the “idiomatic” way of doing things, but you’re going to see alternative solutions for sure, and that is very enlightning I find.

Stefan 2020-03-17T07:24:21.096300Z

All this corona-forced-working-from-home has led to a bit of a problem for my, by the way: since I don’t have my commute, I don’t find the time to listen to all my podcasts. But I’ll catch up, I promise!

Cris B 2020-03-17T07:40:59.098500Z

@stefan.van.den.oord Thanks I had kind of forgotten about exercism. I've used it in past, but when I looked into it last year for Rust the student/mentor ratio was out of control. I do enjoy seeing others' solutions to things I've tackled though, so practice mode could still be worth a look.

Stefan 2020-03-17T07:41:52.099300Z

Yeah that ratio can be an issue. I did the Haskell track recently, and there it was quite good, answers within 1 to 2 days generally, but I think the Clojure track may be a bit crowded…

Cris B 2020-03-17T07:44:27.101Z

Just had a quick look - Clojure & Haskell have similar numbers, with Rust having far more students (I guess it must still be cool - must be nearly time for something else to take that spot?). I'll give it a try for Clojure - feedback is nice to have.

porkostomus 2020-03-17T07:59:03.103900Z

Hi, I'm one of the maintainers over at Exercism, and we're actually hard at work rolling out a whole new platform (set to launch this June) in order to address this very issue of excessive wait times.

👍 2
Cris B 2020-03-17T09:18:24.105200Z

@porkostomus - cool, will be interested to see what you come up with. It does seem inherently difficult given the inevitable imbalance between mentor & student numbers.

porkostomus 2020-03-17T10:12:14.110100Z

It's largely a community of students who go on to become mentors. That's how I got into it, having gone through the track it seemed like the natural thing to do in order to level up 🙂 So the hope is that by enhancing the curriculum and learning experience, more people will want to become involved.

👍 1
nate 2020-03-17T19:54:40.111400Z

Seems apropos.

Cris B 2020-03-17T20:57:18.113900Z

Thanks @nate looks like there are some useful learning resource there (parens of the dead looks like fun). I'm constantly impressed by how much work devs are willing to put into making this kind of thing available.