Site Launch 🎉

Why even make a blog in 2019?

Likely lost in the void, I know, but I want to share some thoughts on functional programming and professional software engineering that mean a lot to me. Kind reddit commenters have unexpectedly encouraged me to publish some of my meatier posts in functional programming subreddits. Now I have a place to publish them to.

What will this blog cover?

This blog covers functional programming topics in languages like Clojure and ClojureScript. I may cover JavaScript, Elixir, Haskell, and Elm, but I intend to focus on Clojure and ClojureScript more since I enjoy working with them the most.

I will also publish announcements of upcoming projects, tutorials\learning resources, open-ended ideas, and opinions on professional practices.

What platform should I use?

This took a long time to decide. Wanting to tryout a JAMstack a statically generated site felt the most enticing. Hugo and Jekyll seem really nice but I know I would be more motivated to keep working on it if it were in Clojure. For building the static files I chose which is based on Boot build tasks. I really like the concept of composing small tasks together to form larger bodies of functionality so it felt like a natural fit. Development moved fast and I am happy with the result so far. Now I have this powerful framework I can keep improving over time without investing too much time to bring ideas to life.

For example the production build pipeline looks like this:

(deftask build
  "Build the blog source and output to target/public"
  [e build-env BUILD-ENV kw    "Environment keyword like :dev or :production"]
  (let [prod? (= build-env :prod)]
     (generate-site :prod? prod?)
     (seo-files prod?)
     (cljs :ids ["prod"])
     (sass :output-style :compressed :source-map false)
     (clean :exclude [#".git"])
     (target :no-clean true)

The rest of the source is available at eccentric-j/idle-parens if you are the slightest bit curious how it all came together.

Are you really eccentric?

No. Probably not. It felt like a nice word to embody my awkwardness along with my love of programming, cats, black\death metal, skulls, and occult imagery. While I’m more of a straight arrow than someone riding the line between the accepted norms and taboos of society I can dream can’t I? Who uses the internet to face the realities of who they actually are? That’s madness! 😈