Clojure Gazette 1.33

Guide to Rich Hickey Talks

Clojure Gazette

Issue 1.33 --- March 01, 2013


Hi, Clojurians!

The Kickstarter Video project has reached its goal. I want to thank everyone for backing and helping promote.

I want to thank the second company sponsor, JUXT . JUXT is a new venture to train programmers in Clojure and to bring Clojure to the enterprise. They are based in London but have global ambitions. Check them out !

I have big ambitions for LispCast, as well. I've added stretch goals and we are far from those numbers. There are less than two weeks left.

In a nutshell
The first hour of video is guaranteed. You can get it for $5.
The second video is not yet guaranteed but will only be $2 more. To make that video happen, we need way more people involved. Please get the word out to get those videos activated!

Enjoy the issue!
Eric Normand

Rich Hickey Talks

Rich Hickey is the creator of Clojure. He is also an accomplished speaker.

I like to watch Rich Hickey's presentations because they are pushing software engineering forward. Instead of talks about how long your sprint needs to be or how to write tests, Rich Hickey focuses on principles of software that would make all programs better.

What strikes me every time is that he rarely talks about Clojure. He talks about programming . He has been invited to give keynote presentations at RailsConf, JaxConf, StrataConf, among others. The ideas that he spreads are of course baked into Clojure. Watching the talks is entertaining and has helped me understand the fundamental concepts of Clojure.

[Rich Hickey presents]( entations/Are-We-There-Yet-Rich-Hickey) the idea that our software needs to explicitly model time. We should be explicit about what will change and how. To do this, we need to make values immutable by default. This model of time is baked into Clojure: immutable data structures plus a model structured model of state change.

The title is a play on popular "programming methodologies". In this talk , Hickey explains how thinking more and thinking better about a problem can actually develop a better design than structured methodologies like TDD.Problem solving and deep thinking are things humans do well. Hickey dives into how to best use your brain to write programs.

Given at RailsConf, this talk dives deep into the meaning of the word simple. Often confused with easy, which is subjective, simple has an objective definition. Simple means not tied together.

Hickey urges us to build systems that are inherently simple by understanding theirinterdependenciesand building the systems out of composable yet separate parts.

The end result is a system that is easier to understand and reason about, which ultimately leads to better software.

In this talk , Rich Hickey evangelizes the use of immutable values instead of mutable objects. He opposes the fundamental idea of Object Oriented Programming, which is to couple data with functionality. Data is cross-platform, stable, and comparable.

Hickey discusses the architecture of Datomic, his new database system. The interesting thing about Datomic is that it pulls apart the pieces of the database (storage, indexing, querying, etc.) in order to choose different tradeoffs from what traditional database systems have made. In addition, Datomic is a true record-keeping system: nothing is ever overwritten.

Starting the talk with an obviously dry humor title, Rick Hickey explores the idea of software systems --- multiple programs communicating --- and how the architecture of those systems compares with the architecture of a single program. Within programs, we take a lot of things for granted. Those same things are often the source of errors once machines start failing, networks go down, or versions change. What are the tradeoffs for data formats for communicating? What characteristics should we strive for in the individual pieces of our systems? These questions and more are explored.