PurelyFunctional.tv Newsletter 278: Parinfer, Naming, GraphQL

Issue 278 - June 10, 2018 · Archives · Subscribe

Hi Fellow Clojurers,

I took a break from the newsletter for three weeks while I traveled. Sorry if it seemed like I disappeared. I'm still here.

The good news is, people missed me! That means this little newsletter has some non-zero value.

Before I left, I was working on the new European Union laws called GDPR. I was pleasantly surprised that the laws were asking online businesses to treat people with respect and dignity. We all certainly deserve that.

However, the deadline to be GDPR compliant has passed, and I'm still not ready yet. I didn't find out about it until very late, being based in the US. I'm working on compliance, but I believe I am not fully there yet. It's a lot of work to do for a one-person show like PurelyFunctional.tv.

Let me be more clear: I'm not selling any personal data or anything. But there are a lot of bureaucratic requirements, like updated documents about what personal data I store and how, that I simply haven't begun to pull together. Again, I think we all have the right to know these things about the sites we use, and the guidelines GDPR gives are excellent. So please be patient. I may also be emailing you to re-confirm your consent about receiving this newsletter.

The timing of the GDPR deadline is interesting because for most of the last year, I've been making moves to respect privacy and user experience more and more. For instance, I got rid of as many third-party JavaScripts as I could. It bugs me that on many sites, page speeds are slowed down by lots of crap loaded that provides no value to the person loading the page. Those third-party js files are also vectors for tracking.

And, sadly, I was loading a lot of unnecessary stuff. But, happily, I've gotten rid of the bulk of them and I'm working to remove the rest. In general, I think tracking and analytics dehumanize people. They turn "visitors" into a statistic. I do what I do because I care about the world. I want software development to be better.

That said, I am refocusing on create a personal connection with you and as many people as I can. Social media (email is a social medium) are usually seen as a way to broadcast a message. But I don't see them that way. They're a way to have personal contact with more people than has ever been possible before. I'm so lucky that you're here. Thank you. Moving forward, I'm building in personal connection into all of my business efforts.

Please enjoy the issue.

Rock on!

Learn Clojure: PurelyFunctional.tv

PS Want to get this in your email? Subscribe!

On Composition

I've finally published Zach Tellman's excellent talk from Clojure SYNC 2018 back in February. He was still working on the final chapter about composition in Elements of Clojure, and presented his ideas on it. It was a great talk and I got a lot of pleasure from watching it again. He's put together quite a few great concepts in his book, and we were lucky to have him present.

The talk includes a video, his slides, a transcript, and subtitles.

The Tao of Peter aka @ptaoussanis Podcast

A great interview with Peter Taoussanis on the defn podcast this week. Peter has create a lot of great Clojure libraries that I've found myself reaching for over the last 5 years. This podcast deepens my respect for his approach.

Parinfer docs

A non-Clojure programmer in a Slack I'm in mentioned how great the Parinfer docs are. I looked over them again and, yes, they are good!

[Light Functional JavaScript](https://d

%20evchat.tv/js-jabber/jsj-313-light-functional-javascript-with-kyle-simpson) Podcast

Kyle Simpson has written a book called Functional-Light JavaScript. After listening to this interview with him, I'm excited about reading his book. He's a kindred spirit, trying to bring FP to the masses, like I've been doing in my podcast.

district-ui-graphql GitHub

I haven't had a chance to try out GraphQL yet, but when I do, this is first on my list. It lets you build Re-frame subscriptions from GraphQL queries.

Avoid naming at all costs

If we can avoid having to name something, we've avoided a very costly and error-prone process.

Just reviving this old post from my blog. It contains an analysis of why naming is hard and how to avoid it.

Zach Tellman on Leanpub Podcast Podcast

Zach and Len Epp talk for almost two hours about philosophy and the challenges of programming. What a great conversation.

PurelyFunctional.tv Membership

It's always a good time to sign up for a membership. Memberships include access to over 60 hours of Clojure training videos, including over 16 hours about Re-frame. And there are many videos on Functional Programming techniques.