PurelyFunctional.tv Newsletter 220: Re-frame Components

Issue 220 - April 10, 2017

Hi Clojurers,

Oh, does it feel good to be recording again! I took a "break" after the JVM course to develop my plan for Re-frame and work on the video backend.

I really want to make things that you will find useful. I want to help people learn Clojure. And I can't do that without a good idea of what you want to learn. How much of a waste would it be to make something that nobody wants? It's the ultimate waste---I might as well have been on vacation for all of the impact my hard work has if I make the wrong thing. I'm lucky to have the best members who have been patiently waiting for the next lessons.

Making something people want is why the survey I sent out last week is so important (I'd still love submissions). Thanks to everyone who filled it out, I see that there's a very broad range of issues people have with web programming. There are simply too many topics to cover in one course. So instead of doing one course, I'm going to do a suite of courses. I've linked to the first one below, which has already begun. If you're a member, you can already watch the four lessons I've published. Otherwise, stick around for the pre-sale coming up soon.

The video backend---basically all of the steps it took from recording an episode through telling the world about it---was built up over time and largely manual. It was about time to rethink a few things. With the help of some friends giving me advice, I automated a lot of it and it's such a dream. I'm able to do a lot more, and more quickly, with less stress. Yes, it took a bit of time to build, but I'll soon make up that time with more recording. Thanks again for enduring the break in the videos.

Rock on!

PS Want to get this in your email? Subscribe!

Building Re-frame Components

When we are coding, there are big-picture skills, like how to architect the entire app, and small-picture skills, like how to write a loop to get a job done. This is the first course in the Re-frame suite of courses I'm creating, and it's much closer to the small-picture side. This one is just about creating Re-frame components, without much time spent thinking about the greater app architecture. That stuff is really important, but I also think it's important to be able to focus on one important thing at a time.

In this course, I take a page from Bob Ross and live-code "happy little components". I basically talk through building reusable components and solving little problems as they come up, all while seeing the component change before my eyes. And you can experience the magic of live-coding in the editor that is embedded in the page.


Kevin Lynaghk is systematically exploring how to make React component renders fast. We need more work like this. Please check it out.

The Post JavaScript Apocalypse YouTube

Douglas Crockford is often controversial but always thoughtful and incisive. This talk cuts a few things out of "future" languages and has some interesting ideas like variable names that allow spaces.

Working with Time is Easy YouTube

Don't let the tongue-in-cheek title fool you: Jon Skeet, the speaker, wrote NodaTime, the JodaTime port for the .NET platform. Despite the title, he does explain quite a bit about what makes time so complicated. It clarifies what each of the (J|N)odaTime types is for. Highly recommended.

Internet History Podcast

I'm really enjoying this podcast. For someone (me) who grew up hearing about AOL, IPOs, Netscape, and the Dot Com Bubble, it's great to hear about what was actually happening at the time. If you're curious of the commercial history of how the current landscape of companies got to be the way it is, check out this podcast.

The Nerdwriter YouTube

This is a great bunch of video essays, mostly on art and pop culture, but many are about science, politics, and society.

New Orleans Clojure Conference Survey

Thanks for all of your help sharing your desires from a conference. I'd sure love some more answers to this survey. Remember, the more answers I get, the better the conference will be.