PurelyFunctional.tv Newsletter 211: Collaborative Clojuring, SICP, Union Types

Issue 211 - February 06, 2017

Hi Clojurists,

Clojure Remote is coming up this week and and I'm psyched to be leading a workshop. It's part of an ongoing exploration of this process I've been developing to build composable abstractions. I want real-world experience teaching it and seeing how people follow it. I'll let you know how this goes.

I'm also almost done with JVM Fundamentals for Clojure course. Woohoo! It's way bigger than I thought it would be. And there's still more to do. Before I dive in, finish it up, and wrap a big bow on it, I want to make it as valuable as possible. I want the course to make your life easier. Many of the questions will be turned into free tutorials released during the launch.

So, I'm asking you. What are your biggest questions about Clojure and the JVM? What are your biggest struggles with the JVM? If you could know one thing about the JVM that would make your life easier, what would that be? If you could make the JVM different in one way, what would that be? Please email me and I'll be forever grateful.

Please enjoy the issue.

Rock on!

PS Want to get this in your email? Subscribe!

Beautiful authentication: Tear down the barbed wire YouTube

I've often thought it would be cool to write a book all about "logging in". There are so many different ways to do it. And it seems like all online services reimplement everything. Redirecting to the login form, setting the session cookie, sending a password reset email, etc. The idea behind the book would be to explain all of the permutations of design decisions, where security is most important, and all the pieces you'll need.

This presentation by Tiffany Conroy fulfills a large part of that desire. She explains how SoundCloud analyzed actual user data---where they had trouble and the mistakes they made---to redesign the login/registration experience. It focuses on the user experience side, but that is a lot. It left me wanting more, if only because it was so good. This talk has gotten me thinking about login and registration on my own site.

Unlocking Hidden Value in Your Data

Cognitect has released a new library. It is a system for describing a data-centric HTTP API and have it generated automatically from that description. It looks like a continuation of Paul deGrandis's 2014 Conj talk. An interview I did with him on the topic is also enlightening.

Data-driven programming is one of the hallmarks of Lisp, and Clojure makes it even more common with its literal data structures.

MIT SICP Lectures YouTube

The classic recording of Gerald Sussman and Harold Abelson teaching from their book at MIT. Ah, to go back in time and somehow get into MIT! Nostalgic ambitions...


Wow! A collaborative editor for ClojureScript code! Send your friends the URL and you can edit code together. Brought to you by Gijs Stuurman.

[Union Typ


s with clojure.spec](https://lambdaisland.com/blog/25-09-2016-union-types?utm_source=PurelyFunctional.tv&utm_medium=email&utm_campaign=211)

Arne Brasseur has made a pretty cool macro for enforcing that you cover all of the clauses of a clojure.spec/or.