Pure parallelism (Haskell Unfolder #47)

Will be streamed today, 2025-07-23, at 1830 UTC.

Abstract:

“Pure parallelism” refers to the execution of pure Haskell functions on multiple CPU cores, (hopefully) speeding up the computation. Since we are still dealing with pure functions, however, we get none of the problems normally associated with concurrent execution: no non-determinism, no need for locks, etc. In this episode we will develop a pure but parallel implementation of linear regression. We will briefly recap how linear regression works, before discussing the two primitive functions that Haskell offers for pure parallelism: par and pseq.

26 Likes

Maybe this is more a me thing, but seeing a youtube video with an AI generated thumbnail really turns me off of the video, regardless of what the content is like. From my point of view, a clean company logo or a crude drawn-in-paint multiple computers connected image are both better as thumbnails than using AI to generate thumbnails.

15 Likes

I agree, I’d rather see Andres’ stick figures than the clones army of Edsko typing in a classroom.

6 Likes

I guess is a matter of taste. I really like those kind of thumbnails

7 Likes

Maybe so! I just find myself having a strong aversion to such thumbnails; to me they’re synonymous with low effort content made to flood the algorithm, not the in depth exploration I’m sure this video is.

9 Likes

I think the last two were not so bad but I particularly disliked this thumbnail as well.

5 Likes

Great as usual!

Would just like to +1 a future episode on data parallelism in native Haskell to complement this and the earlier episode on interfacing with CUDA.

9 Likes

Missed opportunity for someone to hand-draw some cartoon versions of Well Typed people! Missed opportunity for Well Typed’s brand and marketing (“business value” kek).

The AI is obviously ..idk.. “smooth” and mechanically okay but it really lacks personality. It looks like you threw a couple pictures of the people through a mechanical transformation. That’s bad cartooning.

I guess you could try harder with AI to get some cartoonish zing in there, but at that point why not just use a pencil or tablet or whatever. Drawing isn’t actually hard after all. And then it would make the thumbnails interesting - over time, the art style and characters will evolve and that sort of human growth is actually interesting. You could even go abstract to avoid having to draw human figures (which are pretty involved). Animal avatars, anthropomorphic Haskell operators, etc.

Again, you could do that with more prompting. But I’m not sure it’s any easier. Either way, I’d love to see good cartoons in these thumbnails because then I’d get immediate delight when these videos are posted.

4 Likes

I do like the thumbnail. Even if AI generated, it still catches my eye and is mildly entertaining, which is good enough. What does make me sad is that there are so many comments about it and none on the substance of the podcast.

19 Likes

That’s what you get as a business when you put your hand on the controversial stove :slight_smile: If a business makes a business decision that is poorly received by the public, that’s on the business - not the public.

Reminds me of Anduril getting pissy all their job posts got backlash. Like yeah..your entire business has bad PR get used to it. Don’t get to externalize it and have a business play the victim.

3 Likes

I really like the recent thumbnails! I find them fun and engaging, and the caricatures of Andres and Edsko are funny.

If we look at the four most recent videos (besides this one):

So it seems like the new thumbnails are getting twice as much engagement. That sounds very beneficial for the Haskell community! Hopefully this new engagement is predominately coming from _outside_the community too, from people who previously would have been interested in the content but were put off by the thumbnail. So I for one thank Well Typed for this service to growing the community.

8 Likes

The two videos with AI thumbnails are about big practical topics (writing applications, records), whereas the plain videos are much more niche (monomorphism restriction, generic monoids). It is not clear to me from these examples that the thumbnails are what is driving the engagement.

8 Likes

@edsko and @kosmikus, thanks for yet another excellent, and free, video.

To show I paid attention to the content, at 2:30, I thought Edsko handled very smoothly that he was presenting a straight line labelled f(x) = 5 + 2 * x that actually had an intercept of zero!

5 Likes

Haha :slight_smile: Thanks for the positive feedback, much appreciated!

The line does have an intercept of 5, but I agree that it looks very confusing. There is a little + mark from the line data that landed on the Y-axis, making it look like an additional tick-mark on that axis. The actual (0, 0) point is in the lower-left corner. But I completely agree that it’s unnecessarily hard to read, I should have used an example without a datapoint at X=0, apologies :slight_smile:

3 Likes

I see! I did not pay close enough attention to spot that the tick-mark was not coloured black!

Paraphrasing a classic, the emotional intensity of debate on a language video blog increases as one moves down the following scale: substance, syntax, typos, video thumbnails.

14 Likes