PF.tv: How did you get into Clojure?
Anatoly Polinsky: Stumbled upon a great "Clojure - Functional Programming for the JVM" article by Mark Volkmann in 2012.
Opened a REPL, started typing. It worked. Liked it.
Back then I was working in Scala. Used Clojure to make Scala simple. Liked it.
Implemented a Netty and ZeroMQ based backend in Clojure for a customer. It was as fast as it was in Scala. But much simpler. Liked it.
Since then most of my work is Clojure and Java. Love it.
PF.tv: What is your talk about?
AP: The talk is about often "left for later" concern when creating things. It is about application configuration. There is no unique way to do it right, but there definitely are concerns caused by environmental differences, configuration data structures and security.
There is a well known Config section in twelve-factor methodology, but as I mentioned, there is no unique way to "do it right", and I believe in Clojure, with rich data structures and ubiquitous reach of JVM libraries, we can do much better than that.
PF.tv: Who is your talk for?
AP: This talk is for people who build software, for people who test software, for people who deploy software. This talk is for people who care about software development.
PF.tv: What do you hope people will take away from the talk?
AP: A practical, reliable and secure way to configure applications. Again, this is not going to be the way, since no such way exists, but I hope people of our great community will take "away a way" that would help them building better Clojure applications.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
- Twelve factor config methodology
- Consul: distributed configuration made easy
- docker: software containerization
- Vault: a tool for managing secrets
PF.tv: What resources are available for people who want to study up before the talk?
- A short post from some time ago
- How some of the configuration aspects are addressed in other platforms
- Some simple Consul examples such as this one
- cprop docs
- Consul, docker and Vault docs
PF.tv: Where can people follow you online?
- GitHub: https://github.com/tolitius
- Stack Overflow: http://stackoverflow.com/users/211277/tolitius
- Twitter: @tolitius
- Blog: https://www.dotkam.com/
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
AP: There are quite a few people who I am really grateful for their ideas and github contributions (pull requests). I love people: more people, more ideas. These are some of the projects I am working on and would love the help with:
- mount: ideas on the true dependency graph and visualization
- cprop: help with security when reading EDN, profile support
- chazel: contributions for off heap storage, MapReduce, cluster management
- boot-check: specifically this issue 🙂
- yurt: ideas on building yurts in parallel
- envoy: would love help with service discovery and DNS related features
- cbass: help with adding parquet serialization
PF.tv: Where do you see the state of Clojure in 10 years?
AP: 10 years is 315569520000000000 nanoseconds. And that is a lot of nanoseconds. I don't think we can see 10 years ahead without a good set of potions, cauldron and a recipe book.
PF.tv: If Clojure were an animal, what animal would it be?
AP: Polar Bear.
Think about it "Unlike grizzly bears, polar bears are not territorial. They are normally cautious in confrontations, and often choose to escape rather than fight. Satiated polar bears rarely attack humans unless severely provoked."
And also they can swim, walk on two paws and mostly only care about their Arctic Circle.
Yes, Polar Bear.