

Ask HN: Who's using Clojure, and to do what? - lkrubner

The previous conversation was almost 3 years ago:<p>http://news.ycombinator.com/item?id=1453259<p>I am curious how things have changed.<p>Who is using Clojure now, and for what?
======
mark_l_watson
I use it for my cooking recipe web site <http://cookingspace.com>. I do a lot
of non-trivial calculations for adjusting recipes for ingredients on hand,
etc. and the functional style of programming coupled with using maps for in-
memory recipe and nutrition data makes it easy to experiment with new code and
ideas. I use Compojure+Noir so I tweak UI or back end code, refresh the
browser, and see my changes immediately. I also keep a repl open on the same
code. In all, a very agile setup.

I also use Clojure for my natural language processing as a web service project
(<http://kbsportal.com>). Both of these sites are 100% Clojure code.

After a long and satisfying career, I (more or less) retired at the beginning
of this year and I am working on "side projects" full time :-) Clojure is a
great language to use, and except for still occasionally helping old
customers, I don't really use Ruby, Java, Scala, or Common Lisp anymore.

~~~
lkrubner
I am curious, how do you deploy your apps? What webserver do you use? Do you
bundle these up with "lein uberwar" or "lein uberjar" or something else?

~~~
mark_l_watson
Good question. I have experimented with making WAR files and deploying to
Tomcat, but I now use an easy alternative of using an embedded server: I have
(in each project) a shell script to rsync the entire project to whatever
server I am using for deploying the project. If I am running in production
mode, I kill the old process on the server (I use beefy VPS's for my own
stuff, AWS for customer work) and manually run:

nohup lein trampoline run prod > out.log &

Using trampoline is nice because it uses the same process for lein and your
web app. This process takes me about 30 seconds of manual effort, and I really
should completely automate it. I use IntelliJ with the Clojure plugin for most
editing and IntelliJ has has some deployment tools that run internally in the
IDE - I might settle on that, or use capistrano or something similar. That
said, "devops" is such a tiny overhead for me on my own projects that my
motivation is not so great to optimize my deployment process.

------
OoTheNigerian
It was used for my site gbedu.fm. In retrospect, it was a HUGE blunder.

Why?

You have such a limited pool of people to continue work on it.

~~~
kumarshantanu
Did you consider only the local, or also the global 'remote' talent pool?

~~~
OoTheNigerian
both.

Very limited

