PurelyFunctional.tv Newsletter 363: Learn to build and deploy a single-page application

Issue 363 - February 03, 2020 · Archives · Subscribe

Single-Page Application Course Launch 🚀

I've been hard at work creating a new course. The course is in a new format. It's project based, so we build something real and specific out of a set of tools. Think of it like a Lego kit. The kit shows you what you will build. It gives you all the pieces you will need. And it gives you instructions. You build the kit, you learn something, then you can add all the pieces to your collection. The kit leaves you a little bit more capable, with more pieces and skills. That's the idea behind these courses.

In my new course, you can learn to build an in-browser Markdown editor with live preview. We use shadow-cljs (with npm) and Netlify to host it. Check out the free introduction video.

The course launches on Wednesday, but if you're a member, you already have access. Watch it here.

Book update 📖

Chapter 6 is out! Buy it now: Grokking Simplicity.

Also, the liveBook is ready for prime time! This means you can preview the content of the book before buying and you can read it online after you buy. Amazing!

You can buy the book and use the coupon code TSSIMPLICITY for 50% off.

Podcast episode🎙

A new episode for Season 3 is ready. In it, we are reading from The Early History of Smalltalk by Alan Kay. Listen/watch/read here. Be sure to subscribe and tell your friends.

Clojure Challenge 🤔

Last week's challenge

The challenge in Issue 362 was a function to parse query strings of a URL. You can see the [submissions](https://gist.github.com/ericnormand/78a3541fdb01b70d 176293242d7f5781).

You can leave comments on these submissions in the gist itself. Please leave comments! You can also hit the Subscribe button to keep abreast of the comments. We're all here to learn.

This week's challenge

Moving average

Very often, your dataset represents real measurements over time. There's a clear trend in the data, but it's muddied by the noise in each data point. One way to focus on the trend is to perform a moving average. Each data point is the average of the n points around it (the window).

Your task is to write a function that takes a sequence of numbers and returns a sequence of weighted averages. Make n (the window size) an argument.

As usual, please reply to this email and let me know what you tried. I'll collect them up and share them in the next issue. If you don't want me to share your submission, let me know.

Rock on!
Eric Normand