off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
seancorfield 2021-04-29T00:49:45.340Z

https://github.com/gsnewmark/ring-pratchett — Happy 73rd birthday Sir Terry! :wizard:

❤️ 1
2021-04-29T10:15:22.341700Z

The only Pratchett I've read is GOod Omens, but I don't know how much of that was Pratchett and how much Gaiman. What's a good first Pratchett book?

dharrigan 2021-04-29T10:16:50.341900Z

The Colour of Magic is pretty good. First book.

dharrigan 2021-04-29T10:19:16.342100Z

I'm not a big reader of Pratchett. I read a few books, but I'm not one for reading an entire series and getting in the worldview.

Faris 2021-04-29T13:31:56.344600Z

The City Watch series is great!

mauricio.szabo 2021-04-30T18:58:16.398400Z

I always found amazing how Pratchett describes people. I don't know if it's only on the brazilian version, but it's hilarious 🙂

seancorfield 2021-04-30T18:58:49.398600Z

He was a brilliant observational humorist in that respect, yes.

mauricio.szabo 2021-04-30T18:59:59.398800Z

I always remember one when he described the bodyguards as "I'm not going to bother describing then, cause they'll die on the first battle" or something like that 😄

Darin Douglass 2021-04-29T00:54:43.340200Z

i recently picked up a copy of Mort. i'm excited see what all they hypes about!

seancorfield 2021-04-29T01:24:15.340400Z

Oh, you are in for a treat! I think I have every one of his books and have read several of them multiple times!

Faris 2021-04-29T04:12:12.340800Z

I grew up on his books, I credit his books for my (usually) sunny disposition. I remember his death hitting me so hard….

dharrigan 2021-04-29T06:22:28.341100Z

I've been adding Clacks Overhead to my response headers for yonks 🙂

👍 1
sova-soars-the-sora 2021-04-29T16:45:54.350900Z

Is youtube the way to reach the youth? (de facto reply is TikTok?) I'm thinking about how to get younger people into clojure so they can start building stuff. It's very satisfying when you have a project you've been working on for several months or years that steadily improves as you work on it. It would be great to get more young people into coding so they could work on such things. Maybe videos and a discord chat room (that has voice chat) ? Maybe making 15 second clips of cool clojure functions with choppy zoom footage, repl results, and dubby EDM in the background? I wonder how to get more people having a head start into the word of coding. There's a few gentlemen in the Clojure community who teach their kids coding and it delights me to think of how awesome that is. Of course, you kinda have to hit the birth lottery in that case. So I'm wondering how to reach the larger population of youngsters and get them making stuff. Low friction onramp to creating something cool and having the confidence to do more intricate things.

marrs 2021-04-29T16:48:27.354900Z

Don’t try and be cool. The nearest thing to this I can think of is handmade hero. That goes out on Twitch and is uploaded to YouTube.

marrs 2021-04-29T16:48:51.355600Z

But it’s pretty dry. It’s just about the craft

marrs 2021-04-29T16:49:02.356Z

There’s no EDM ;)

marrs 2021-04-29T16:51:05.359Z

If you want EDM, check out Fluxus. It’s a graphics live coding environment utilizing (I think) Racket. It’s a great way to teach Lisp. There’s also Overtone, which is a music live coding environment. That one does use Clojure

souenzzo 2021-04-29T17:04:51.361Z

Someone already tried to create an interface (protocol!) like JDBC for "immutable datalog databases"?

sova-soars-the-sora 2021-04-29T17:13:21.362Z

I noticed that in my computing science education there was a conflation of what was useful, applicable knowledge and what was internal mechanics that were nice-to-knows. This might just be the nature of the beast, but as a designer of automobiles, for example, you need not know the absolute mechanistic vibrations of a catalytic converter or the action of pistons, you really just need to know how to design them into a cogent shape. I think computing is like this -- having lots of "black boxes" where one does not understand the internal mechanics is quite alright. There was not a clear delineation in my education in this regard, but I sussed it out myself over the years. I wonder what a computing-science track would look like that focused on "black boxes are OK and awesome" and really prioritized components of design over internal mechanics. To be a painter, I don't need to know how paints are derived. But I wonder what y'all think. I think a curriculum based in Clojure would likely have this prioritization handled somewhat naturally.

sova-soars-the-sora 2021-04-30T16:03:20.392Z

That's a strong point

walterl 2021-04-30T20:30:49.402700Z

It's whole (different) discussion 🙂

marrs 2021-04-29T17:18:05.364900Z

@sova have you watched any of the sicp video lectures? They make a similar assertion using Scheme (which they invented).

2021-04-29T17:18:12.365200Z

painters are taught how paints are derived

2021-04-29T17:19:03.366200Z

there are advantages of starting at a low level - it doesn't scale well, but it's usable with a much smaller set of concepts

2021-04-29T17:20:17.367Z

a curriculum based on clojure would be frustrating (moreso than standard introductory cs) because clojure intentionally doesn't black box its substrate

2021-04-29T17:22:17.368600Z

"hello world" is smaller in assembly than it is in java and requires a much smaller set of concepts, it's just that those building blocks are weak at scale

2021-04-29T17:24:08.369700Z

arguably starting at a lower level (and having programs turn into a mess at small/medium scale) shows the students the motivation for the abstractions that are introduced

walterl 2021-04-29T17:53:51.369900Z

To echo @noisesmith: it might not be necessary to know the details, but it helps (in all your examples). But when it comes to CS the basics/details/lower level stuff really should be part of it, because CS is not programming. A degree in CS does not and should not prepare you to be a programmer, but to be a computer scientist. What we do is software (not broad "computer") engineering (the application of science). The fact that programming and CS are often conflated leads to negative effects on both sides.

craftybones 2021-04-29T18:13:53.372300Z

I second @noisesmith. I’ve been teaching programming for the last 7 years or so. I’ve tried both approaches of a very high level language(Logo, a lisp dialect, JS) and Assembly(A fake one), but both end up achieving different things. The high level approach gets people to develop a fascination and an interest for the subject. The low level drills in the fundamentals and as @noisesmith said, the motivations for the abstractions of higher level languages really shine through.

craftybones 2021-04-29T18:15:06.373300Z

Clojure is not an ideal first language to learn. It has a lot of concepts that are better understood when certain fundamentals of programming are understood as well. It being a hosted language muddies things a bit more too.

craftybones 2021-04-29T18:16:35.375100Z

Depending on the age group, I’ve found Logo to be a fantastic high level language to teach. It might not work for someone older perhaps, but it was my first language and it is still an enjoyable language to learn how to program

2021-04-29T18:17:18.375800Z

there was a post making the rounds a while back where a guy who I think had a background in numerical computing (fortran) talked about his first time being exposed to scheme

craftybones 2021-04-29T18:17:42.376600Z

That’s like the Portugese encountering Mandarin for the first time I suppose 😄

2021-04-29T18:18:18.377200Z

and if I recall, sort of going from "this is all silly nonsense" to "this is powerful arcane magic"

craftybones 2021-04-29T18:18:54.377600Z

I think with Lisp, its just got to click and then it becomes clear as day

craftybones 2021-04-29T18:19:51.379300Z

The first language I learned was a Lisp dialect, Logo, but I didn’t know it was one since it isn’t too hot on the parentheses. Many years later I encountered Common Lisp and had a hard time and disliked it. Rediscovered Lisp via Clojure in 2010 and there’s been no turning back

2021-04-29T18:23:17.382300Z

there is a blog post series I really like building a mini haskell language, and I think that has a lot in common with sicp, scheme and haskell are both high level, and they both explain how they work at a low level (sicp shows a simulated register machine for evaluating scheme, the blog posts compiles haskell down to combinators and writes a little vm to evaluate them)

craftybones 2021-04-29T18:23:40.382500Z

Oh wow cool. Do you have a handy link?

craftybones 2021-04-29T18:24:27.382700Z

Write you a Haskell? that the one?

craftybones 2021-04-29T18:25:18.383Z

https://www.stephendiehl.com/llvm/

2021-04-29T18:25:31.383500Z

"Compilers for contrarians"

craftybones 2021-04-29T18:27:11.383700Z

Cool, thanks

2021-04-29T18:36:24.385800Z

inspired by that series I wrote some code for compiling a call by need lambda calculus to combinators and evaluating it using the aws step function dsl (https://git.sr.ht/~hiredman/lions) and when I had to create a step function that operated as a register machine to evaluate the combinators I cracked open the sicp chapter on register machines (https://mitpress.mit.edu/sites/default/files/sicp/full-text/sicp/book/node105.html)