Clojourner in a foreign land
I’m loving Clojure & Rust & SvelteJS (and still Ruby!)
I read a lot, try to stay abreast of technology trends, and currently the momentum is behind Clojure, Rust, and SvelteJS. I will be writing more about them as I explore. This is the first of a new series where I will document this journey.
When I began my computer programming career I dabbled in dozens of languages. My first role was as a “Network Systems Developer”, and in that capacity I was creating solutions for all sorts of issues in all sorts of environments, which called for me to get comfortable with at least a dozen languages. My wide experimentation with languages mostly ended once I went deep on Ruby, becoming an expert in that one language.
Two decades later, it is high time that I look around and see what has become of the language landscape, starting with Clojure.
asdf is a wonderful, and under-evangelized, software-agnostic version manager.
What I mean by software-agnostic is it can version manage any software.
Coming from Ruby you may be familiar with rvm, rbenv, or chruby.
asdf eclipses them all, because not only does it serve as a Ruby version manager (using
ruby-build under the hood),
but it also can manage all your other software tools. Need different versions of Redis, PostgreSQL, MySQL, Java,
Clojure, Python, Elasticsearch, etc. for different projects, or even the same project, for testing dependency upgrades?
asdf is your new best friend. It has plugins for every software tool you can think of.
Did you notice I mentioned Java and Clojure in there? ;)
asdfif you haven’t already.
- Java - Set up the asdf-java plugin as instructed. The dependencies mentioned can be installed with
- Clojure - Set up the asdf-clojure plugin as instructed.
I went with the latest available versions of both (which may be different for you, future-dweller!):
asdf list-all java asdf install java openjdk-19.0.1 asdf global java openjdk-19.0.1 # Make sure to follow the post-install instructions for env setup asdf list-all clojure asdf install clojure 126.96.36.1999 asdf global clojure 188.8.131.529 # Make sure to follow the post-install instructions for env setup
Setup Intellij IDEA
These are the relevant plugins I use:
- Gitmoji Plus: Commit Button
- Json Parser
- Rainbow Brackets
- String Manipulation
Config preferences to use the correct Java.
Jetbrains IDEs all support
asdf tools, so the version installed by
asdf will be one of the options
(and probably significantly more recent than whatever one you had before
asdf-java entered your life).
Start a new Clojure project
First project is a tool that will help me automate management of badges across my many posts announcing new releases of a project. It is so much work to manage that it had caused me to fail to post release announcements for the last many several releases of various projects, and that’s a broken state that needs to be fixed.
Follow along with the
badger project on Codeberg if you are interested!
comments powered by Disqus