When developing applications in Clojure, one thing you might need is to be able to somehow keep different settings for each environment. For instance, you might want to be able to have different database settings for each environment. This can be achieved with leiningen profiles: {:profiles { :dev { :dependencies [[com.cemerick…

A neat trick I learned a few months back is that you can reset all of your Clojure namespaces in the repl you're working on if you're using Emacs + Cider. Just use M-x cider-refresh. That command 'refreshes' your repl by undefining the vars and reloading them. This way, if you…

When I first started my transition from Ruby on Rails to Clojure, one of the things I missed the most was Sprockets. I had no idea how to compile my assets, minify them, and do all the things Sprockets does for you right out of the box with Rails. I've…

Email! Email marketing can make businesses a lot of money. But when people think about email marketing, they usually think of spam. Of course, real email marketing isn't spam. Email marketing is permission based marketing. You want to get people's permission to email them. People that have already done email…

I'm a Ruby, Clojure, and now Node.js developer. When I was doing Clojure, I had a REPL driven development style. Those of you that don't know what a REPL is, it's a read-eval-print-loop. You've probably used a REPL before and didn't even know it. The interactive ruby shell, otherwise…

A little more than a month ago I had to debug some slow PostgreSQL queries from Rails' Active Record for a client. If you go to your Rails development log you can see how long a query takes. I just started by picking one and then connecting to the database…

After doing some projects in Node.js, my interest in Clojure was reignited. Doing web development in Node was kinda like doing web development in Clojure. A better way to put it is, it's not the Rails way. The Rails way of doing things is to have a huge monolithic…

I started learning NodeJS. One of my favorite Hello World projects when learning a new language or stack is to build a Hacker News or Reddit clone. You can see the end result on Github here. I chose Sequelize because it had built in database migrations for Sqlite, my database…

UPDATE (4/21/2015): Pick Node.cljs. It's the best of both worlds! If you're looking for a consultant to help your company migrate from Rails to Clojure, send me an email: [email protected] I have years of Rails experience and Clojure + some Node. I started picking up…

Something that has always interested me were network effects. A network effect is when the value of a network increases as more people join the network. A popular example are social networks like Facebook. A one person social network is not very useful. A Facebook for Harvard students was much…