Tags

No tags :(

Share it

The linguist Noam Chomsky once suggested that our ignorance can be divided into problems and mysteries. When we face a problem, we may not know its solution, but we have insight, increasing knowledge, and an inkling of what we are looking for. When we face a mystery, however, we can only stare in wonder and bewilderment, not knowing what an explanation would even look like.

The other day, I felt like a deer caught in the headlights. My namespace definition was based on my github Id “23min”, and a namespace that starts with a digit is unacceptable to the Clojure Reader. This was not just a problem. This was a mystery. In retrospect, my noOb-ness was clearly shining through, but at the time it all seemed quite hopeless, especially after a long stretch of friction with build tools and several editors almost did me in.

It’s amazing what a simple good night’s sleep can do with one’s perspective. A bit of rest can tame mysteries! One solution I already had: rename my Github id, but that seemed a bit ridiculous. It was a fallback nonetheless.

With a fresh Chrome, after closing a few dozen stale tabs, and googling like a heat-seeking missile, I soon found this:
“Most Clojure lib repos are hosted at github, and most of those github projects are named the same as their artifact-id (though this isn’t required). The url for its github project page should usually be used for the project.clj defproject :url.”

So simple… I changed the namespace to

test/boot-aleph

then

boot pom jar install

and voilà, a jar in my Maven repo and I’m back to making ponies again!

The fact that the solution was mentioned in a beginners guide makes it too clear that I’m still a little way off from becoming an expert. Never mind that I moved on and I’m now using Http-Kit with Sente. I’m proudly carrying my beginner’s battle scar and remembering the power of staring away for a bit as a useful mystery solving tool.