PurelyFunctional.tv Newsletter 286: Broken APIs, CIDER, Immutability

Issue 286 - August 06, 2018 · Archives · Subscribe

Hi Clojurers,

It's time to start thinking about Clojure SYNC. The conference was a success last year, and it's about time to start getting the next one together. I wanted to share what I was planning.

After this year's success, I wanted to up the stakes a bit. I ran Clojure SYNC in a traditional way, mostly because I thought it would be easier to sell tickets to. It turns out it was still hard to sell tickets, so next year I want to do something a little bit different.

I want Clojure SYNC to be the place where big projects start. We need more work done in the Clojure open source world (just ask Bozhidar). But the members of the community are spread thin around the world. They rarely are in a group big enough to reach the critical mass necessary turn ideas into reality. Clojure SYNC can be that place.

Instead of two days of talks, Clojure SYNC will be one day of talks and one collaboration day. The first day's talks will be by people who created the tools and libraries we all use. They'll share their stories, hardships, and lessons. We will be fired up for the next day.

Day two will be us, the attendees, bringing up the areas that we want to work on. We'll self-organize around those ideas, and hopefully get started on them. Clojure SYNC will provide support: space, time, and food. It's amazing what kinds of stuff happens when people from all over get into the same room. My dream is that Clojure SYNC will be the event you have to go to, otherwise you'll never be part of the core team.

I'm busy planning this all now. I'd love to know who you would like to hear speak.

Rock on!

PS Want to get this in your email? Subscribe!

The Ultimate Guide to Clojure Collections

I updated the guide to include interactive code samples for all of the Access Patterns. I also added a new usage pattern called Accumulator Index.

My goal is to make this the most comprehensive guide to using Clojure's collections, from the thought process to the common usage patterns, and everything in between. I've got a ways to go since they're so central to the language.

Awesome Datomic GitHub

A nice collection of Datomic and Datascript resources. I'm sure there are new ones that belong in here since it was last added to. Do you know of one? You can edit it right on GitHub.

Broken APIs Break Trust YouTube

A nice talk by Alex Wood (at AWS) about how to maintain backwards compatibility. I met him a few weeks ago and talked with him about how this is on Rich Hickey's mind, and that he's building features, like Spec, to help with this.

Write for DOnations

I met Kathleen Juell at OSCON who works for DigitalOcean. I've noticed over the years that their ops documentation is frequently at the top of the Google results. She explained that they have a program where they pay people $300 per article, and that they make a matching donation to a charity of the writer's choice. They provide editorial support.

I was thinking about doing this myself. I write a lot already, so making $300 for an article would be an added bonus (and donate to a charity!), plus I could get exposure from a different angle, all while helping people setting up Clojure. But then I thought that it would be better to get more people involved. Can you believe there are only two Clojure articles on DigitalOcean?

So, who's got some Clojure ops chops who wants to write them up? Apply for the program.

Heart of Clojure

Looks like a cool new conference in Belgium, with a fresh take on conferences, from Arne and Martin.

What is Immutability? Podcast

I break down the idea of immutability. I hope it's a clarifying and refreshing take.

The Oppenheimer Moment

Alan Cooper (inventor of Visual Basic) has been a proponent of good design. I first learned of him through his excellent book The Inmates are Running the Asylum which documents the reason interaction designers need a place equal to developers and business owners. The incentives are just not there for either the biz folks or the dev folks to do a good job with design.

This new talk is important. We're able to create new technologies that have profound impacts on our societies, and most of those impacts are unintended. How can we prevent those unintended consequences, not just today, but into the future as our software creations outlive us?

I've watched many talks with this theme. They bring up scandals with Facebook or automated hand dryers that don't work for large portions of the population, and this talk is no different. However, the other talks lay the blame squarely on the designers and developers at those companies, and do little else. Blame, guilt, shame. But no call to action (except "quit!") or framework for prevention (except "think about the children!").

This talk, instead of focusing on who to blame, lays out the foundations for a way to manage the possible negative consequences of our technologies. He gives enough details to wh et my appetite, but not enough to begin working with it yet. However, his track record is clear. About Face is such a tome of wisdom about software design, I trust his work will be important.

A long glass of CIDER with Bozhidar Batsov Podcast

Bozhidar Batsov, maintainer of Cider, was interviewed on the Defn Podcast. What a great interview. The hosts are really great with interviewing these days. And Bozhidar was candid, humble, and insightful into the Clojure release cycle.

Clojure Collections Video Course

When I first started the Clojure Collections course, it was mostly about organizing some existing lessons I had. I was never happy with the course. I've been updating the course with new lessons that explore the deeper thought processes you'll need when choosing collections to represent your problem. I've been working hard on the Access Patterns.

New lessons this week:

And more to come!

Just a word of warning: after I've finished recording all of these lessons, I'm going to update the price to reflect the new value in the course. Of course, when it's updated, it will be more expensive than it is now.

Everyone who already owns the course, and all members, can access the new lessons.