Impedence Mismatch

Data formats are annoying.  As much as half the code in any large software project consists of translating from one data representation — objects, SQL tables, files, XML, RDF, JSON, YAML, CSV, Protocol Buffers, Avro, XML-RPC — to another. Each format has its own strengths and weaknesses.  Often, no single representation is complete enough to… Continue reading Impedence Mismatch

Generating Clojure from an Ontology

I’ve been fascinated with RDF for years, but I always end up frustrated when I try to use it. How do you read/write/manipulate RDF data in code? Sure, there are lots of libraries, but they all represent RDF data as its primitive structures: statements, resources, literals, etc. Working with data through these APIs feels like… Continue reading Generating Clojure from an Ontology

Two Upcoming Clojure/Hadoop Talks

Hello, everyone. I’ll be performing my Clojure+Hadoop magic tricks at the following events: Friday, October 2: Hadoop World NYC.  Use the code hadoopworld_friend for 10% off the registration fee. Monday, October 5: NoSQL NYC Meetup.  Free! At both events I’ll be talking about: Why Clojure and Hadoop are a perfect fit. How to write Hadoop… Continue reading Two Upcoming Clojure/Hadoop Talks

It’s About the Platform

I’ve said It’s About the Libraries, and indeed, one of the major selling points of Clojure is that it can call Java libraries directly. But there’s more to it than that.  Libraries are just one benefit to building Clojure on top of Java, or, more accurately, on top of Java the platform. Look around you,… Continue reading It’s About the Platform

Run Your Own Maven Repository With Nothing but an FTP Server

I hope I’ve demonstrated in the last few posts that Maven is pretty cool, not so scary. But the public Maven repositories sometimes leave a bit to be desired. They don’t have entries for every possible library, and occasionally they have incorrect dependencies or other metadata. Also, the process of adding new libraries to the… Continue reading Run Your Own Maven Repository With Nothing but an FTP Server

Cutting-Edge Clojure Development with Maven

I promised, in my previous post, that I would show you how to use the latest-and-greatest versions of Clojure and clojure-contrib in your Maven projects. Here’s that post. Formos Software maintains a Maven server with nightly builds of Clojure and contrib at Here’s a complete pom.xml file with dependencies on both Clojure and clojure-contrib:… Continue reading Cutting-Edge Clojure Development with Maven

Maven’s Not So Bad: Further Thoughts on Clojure Package Management

Update Sept. 4: How to get the latest builds of Clojure & Contrib Maven is a touchy subject. People tend to have strong opinions about it. But like it or not, it’s the de-facto standard for dependency management in the Java world. Clojure lives in the Java world, so that means we have to live… Continue reading Maven’s Not So Bad: Further Thoughts on Clojure Package Management