Overthunk

Starting off my Clojure journey - Introductions and Emacs

Jun 22, 2020


Contents

Meeting the other Team Seneca Cohort members

We are calling ourselves Team Seneca, after the Roman Stoic Philosopher of antiquity. Maybe we will imbibe his stoic spirit when we are being confounded by the endless parentheses and terse syntax.

Introductions were made and from what I can tell, we all seem to be a diverse group of people with different technical backgrounds. The thing that unites us is wanting to learn more about unique languages and technologies. As I mentioned in my first Learning in Public post, Adrien who inspired to me join the #ClojureFam program is also part of this cohort. So I look forward to interacting with them and the other Cohort members more!

Clojure itself: Elegant Constructs for a more Civilized Age

I believe the first time I heard of a Lisp was from this xkcd comic

Lisp Cycles

Prior to the start of this program, I’d already done some basic tutorials for Clojure from the official website and also from Clojure for the Brave and True. This involved setting up an IDE and Repl. I chose Emacs, the reasons for which I’ve laid out in this post.

It basically boils down to:

Today, I spent quite some time setting up a separate part of my website dedicated to Learning in Public. I also decided that it was best to make a fresh start of this and fired up Emacs and began acquainting myself with Clojure and CIDER workflows. (I’m maintaining Cheatsheets for Emacs keybinds on my Obsidian Knowledge repo. It might be a good idea to make that more public facing).

After trying out VSCode and Calva briefly, I can’t help but notice that the Emacs setup feels better. Not only is the REPL more crisp and quick to respond, the keybindings seem to be more intuitive than VSCode’s. Looks like I’m “stuck” with Emacs for the foreseeable future.

I didn’t end up doing much Clojure work in the end, but I think that I’ve set myself in a comfortable position for faster learning in the future since I don’t need to do the grunt work of setting up all these auxiliary projects.

#(prn "Fin Day 1!")