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 https://perun.io/ 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)]
(pipeline
(generate-site :prod? prod?)
(seo-files prod?)
(cljs :ids ["prod"])
(sass :output-style :compressed :source-map false)
(clean :exclude [#".git"])
(target :no-clean true)
(notify))))
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! 😈