Clojure Gazette 1.82

Om, Conj, async, mess

Clojure Gazette

Issue 1.82June 30, 2014

Editorial

Hi Clojure-lovers,

I hope you've enjoyed the past few weeks and the interviews I'vepublished. I think they served a great purpose and I am proud thatthis publication could play a part.

One of the benefits of having several weeks of interviews is that a lotgreat material buffers up, so it's easy to find awesome stuff to fillan issue.

Sincerely,
Eric Normand

PS I love getting suggestions from readers. Also, I love emails fromreaders in general. Tell me your favorite pizza toping. Mine ismushrooms. :)

Clojure/conj Call for Presentations

The Conj is the premiere and official Clojure conference. It's brought to you by the brains behind Clojure itself, Cognitect. They're looking for as many great talks as they can find, so dust off your slide decks and make a pitch for your talk.

I have presented academic papers, butI've never presented at a big industry conference before. I have applied to some and was not accepted.What makes a good presentation proposal? What are conference organizers looking for? DISCUSS

The Implementation of Functional Programming Languages

Simon Peyton-Jones (creator of Haskell) has released his 1987 book The Implementation of Functional Programming Languages for free online. Though it is 25 years old, it's still considered an essential book on the topic of compilers for functional languages.

I've always had a soft spot for compilers and language design. They're a fun, intricate design space. Though I haven't read this book, it comes highly recommended. Have you read it? What were your impressions? DISCUSS

Ergonomics of the Symbolics Lisp Machine

An idiosyncratic analysis of what made the Lisp Machine legendary. People swear by the keyboards, and it's no wonder why: they cost more than most computers do today.

I have never been near a Lisp Machine that I know of. I wonder if they really do live up to their reputation. Have you used a Lisp Machine? I would love to hear from people who have. DISCUSS

The mess we're in

Joe Armstrong (creator of Erlang) gives an engaging talk about information complexity and how to use it to remove the complexity of the information systems we have created. I really like this for its systematic and analytic approach.

While I really appreciate the ideas of getting rid of URLs and finding duplicate content, I don't see how he plans on reducing the complexity in our software. He's a smart person, he'll think of something. But what could it be? DISCUSS

Om-tools

Prismatic released another great library. It's great not just for its utility, but for its engineering. Seriously, read this code to get better at Clojure. This library happens to be a tool belt for using Om.

I'm definitely going to be using this in my next Om project. DISCUSS

Combining and Controlling Channels with core.async's merge and mix

merge and mix are similar features in core.async. This post explains each and how they differ.

This is a more advanced topic, but it shows the power of abstraction that core.async gives you. merge combines several channels into one, while mix creates something more like a channel mixer, like an audio mixer, that lets you plug in channels, mute them, and remove channels. Worth checking out if they c ould be useful in your own projects. DISCUSS

eastwood - a Clojure lint tool

Somehow I missed this linting tool for Clojure. It uses tools.analyzer to look for problems in your code. Check out the list of warnings it has---it contains some very common problems. DISCUSS

Om Sweet Om

Every now and then I find a blog post that I would send to my non-Clojure friends to show what is happening in the world of Clojure. This post is one of those. It explains the rationale of Prismatic's entire stack, with Om piled way on the top. A very good read.

I have never written one of these full-stack posts. Have you? Are there other full-stack posts you like? DISCUSS

The Graphing Calculator Story

I love this story. It's from way back in the early days of the Google Tech Talks, with low definition video and questionable audio quality. But the content is pure gold. This video tells the clandestine story of how the Mac Graphing Calculator came to be. It shipped on every PowerPC Mac for many years---though it was not an official Apple project---though it was done at Apple---by an ex-Apple employee---who snuck into the building every day. You have to watch it.

My favorite part (among many great parts) is that the Graphing Calculator was the most stable piece of software in the whole system because they did a line-by-line code review as a team. Have you ever written software so thoroughly? DISCUSS