Clojure Gazette 1.27

Continuous integration

Clojure Gazette

Issue 1.27 - December 15, 2012


Clojure integration

I have been automating some of my deployments for various projects I work on, and I thought I would share a few of the tools I have been using. Once you automate, you will have more free time to read and watch the rest of the posts.

**Eric Normand **

PS. I love to hear from you. Just hit reply!



Jenkins is a continuous integration server. It builds, tests, and deploys based on triggers. I like Jenkins because of its easy setup and many plugins. Be sure to install the leiningen and git plugins.



Pallet is an open source DevOps library for the JVM, built on Clojure, with native support for clusters, node dependencies and agile development.


Functional DevOps with Pallet (video)

This talk is an introduction to Pallet focusing on key aspects where it differs from the current mainstream DevOps tooling. It will cover some of the abstractions in Pallet that make it distinct from Puppet or Chef, and we will illustrate this with some real world use cases for these.


Monads & Gonads(video)

Douglas Crockford tries his hand at the ubiquitous monad tutorial by developing a couple in Javascript. He does a good job explaining how we already use monads even if we didn't know it.


lein-dalap (github)

lein-dalap allows you to author code that works in both the JVM and in the browser, without forking your code and without relying on cljsbuild crossovers.


Generating color palette from an image using K-means clustering

Baishampayan Ghose develops a cool way to choose the three main colors from any image using Clojure.


Anatomy of a knockout

Chris Granger explains the architecture of ChromaShift, his ClojureScript entry into Node Knockout.


a practical tour of Clojure Web Development(video)

James Reeves talks about alternatives to MVC, how to modularize your resources, and how to then relate them back together. He starts from a typical Rails-style MVC app and organizes it in a way that works best with Clojure.



Solarized is a sixteen color palette (eight monotones, eight accent colors) designed for use with terminal and gui applications.

I have been using this in Emacs and loving it.



I have not used this, but I think I will soon. It is a system similar to but for the JVM. It abstracts away different browser/server communication methods to allow efficient message passing between a web browser and a JVM web server. The documentation is extensive and professional.