Behavioral Economics and Clojure

October 9, 2019

Situation 1

When I take the ownership of a new project, I tell my boss that I want to use Clojure/ClojureScript/Datomic. I promise to deliver good quality with only one third of development time required for using other popular/ordinary technology. My boss usually asks me: "How about the long term maintenance problem? How can I find many Clojure developers?"

Continue reading →

Using Datomic with disk cache and LU cache

September 15, 2019

The background of this post

I began to use Datomic seriously in my project at work from February 2019. I encountered certain performance issues and I solved them through disk cache and LU cache.

Continue reading →

A Clojurian's idioms and patterns for ETL

July 1, 2019

Background

I needed to do eight Excel ETLs at my project. At the beginning, I just implemented some of the ETLs without any design. I did not even implement schema validation, and then I felt the pain soon. After several re-writing, I abstracted out some idioms and patterns for ETL.

Continue reading →

Lessons learned from the software consulting job

June 23, 2019

I live in Taiwan and I can not find Clojure jobs here. Although the first legal gay wedding in Asia took place here, it seems that the real programming language innovation still needs some evangelists to spread it. Therefore, I decide to create Clojure job by myself. In January this year, I had a chance to develop enterprise software for a big company, and I chose Clojure as my primary technical stack.

Technical stack issues

Continue reading →

Using datomic with Luminus: Where to put our queries?

June 12, 2019

If we build a Luminus project with db option other than datomic, for example +postgres, the code arrangement is much more straight forward. Open the file resources/sql/queries.sql, and put sql query and sql transaction command in this file. Then, we can just require the xxx.db.core namespace, the db queries or commands are totally available.

Where to put the db queries if we use db option as +datomic?

Continue reading →