1.0 Releases Galore
We at ClojureWerkz have been fans of Peter Taoussanis for a while. So much so, some of his libraries are listed on our home page, even though they are not projects we maintain. Recently 4 of them went 1.0 and we would like to cover them briefly.
Carmine is an awesome Clojure client for Redis. And we don’t call libraries awesome for no reason: it supports nearly all Redis 2.6+ features, well maintained, supports multiple Clojure versions, has a very good performance baseline.
Carmine documentation is much better than the average open source project and written with beginners in mind.
Carmine is not a young project: Peter has been working on it for a while. Version after version, month after month, the library has gotten to the point when it really can be labelled 1.0.
If you are looking for a Clojure Redis client, look no further than Carmine.
Tower is an internationalization (i18n) library for Clojure. Tower wraps JDK localization features where appropriate, adds map-based translation dictionary format, supports REPL-friendly dictionary reloading, Markdown support and Ring middleware.
Usage examples can be found in the README.
Timbre is a pure Clojure, no-XML and no-bullshit logging library. If you never found existing JVM logging tools
tools.logging appealing or easy to use, try Timbre. Timbre appenders are Clojure functions, the library
is extensible, supports asynchronous logging and flood control.
Sounds like a sweet Clojure logging library to us!
In Clojure, code is data and to support it, the reader (parser) is exposed to the language itself and can be extended. There is one downside, however: the built-in reader is not particularly efficient (it was built for compile time operation).
Nippy provides an alternative implementation of the Clojure reader that is much more efficient.
For Clojure-to-Clojure messaging, Nippy may be one of the most interesting serialization libraries available today.
Great work, Peter! Carmine, Tower, Timbre and Nippy are all examples of well maintained open source projects. Bonus points for covering practical areas (data stores, i18n, logging), attention to compatibility with multiple Clojure versions and newcomer-friendly documentation.
These are examples the Clojure community needs to follow.