Simon Belak Clojure Remote 2017 Interview
From OO to Clojure Workshop!
Watch my free workshop to help you learn Clojure faster and shift your paradigm to functional.
Simon Belak will be giving a talk at Clojure Remote 2017. He will be speaking about Spec + Onyx Experience.
Follow him on GitHub and Twitter.
PurelyFunctional.tv: How did you get into Clojure?
Simon Belak: I came to Clojure from Common Lisp. The more I developed my personal poetics/aesthetics, the more I was driven to conciseness. Not necessarily in the sense of using the least amount of characters, but more in terms of using the least amount of concepts/constructs and in Common Lisp such solutions tend to be functional. The flipside of Common Lisp being truly multiple paradigm is that there is bound to be impedance mismatch if you stubbornly stick to just one paradigm, so I was quite receptive to a more functional lisp alternative. After a brief fling with Shen, née Qi (an obscure lisp dialect with a Turing-complete type system built on top of an integrated functional Prolog implementation), I found Clojure and to this day Clojure remains the language that best meshes with how I think.
PF.tv: What is your talk about?
SB: My talk is about our experience at GoOpti building a data layer around Kafka, Onyx and spec. On the conceptual side it focuses on the notion of describing computation and data with data; how that gives rise to a very introspectable and interactive environment; and the cool things you can do with that.
PF.tv: Who is your talk for?
SB: The talk is most directly applicable to infrastructure/data science engineers, but the architecture is general and lightweight enough that anyone doing data acquisition and/or processing (no matter the scale and/or complexity) can benefit from it. Doubly so for people new to the field looking for a solid starting point.
PF.tv: What do you hope people will take away from the talk?
SB: A burning desire to go refactor some code to encode more computation in data; a go-to data layer architecture; a nudge they needed to seriously consider Onyx for their next project; an "oh wow, this is really cool" moment.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
SB: Ideally one would be familiar with stream processing and log-based architectures (doesn't matter which particular technology), and have a mental model of what clojure.spec is about.
PF.tv: What resources are available for people who want to study up before the talk?
SB: Every developer owes it to themselves to read The Log:
What every software engineer should know about real-time data's unifying abstraction.
At least scroll through user guide to get a feel for Onyx and appreciation for the immensity of what the Onyx team has achieved.
And finally a shameless plug: at EuroClojure 2016 I gave a talk about our experiences using spec, the latter half of which is a precursor to what I am going to talk about at Clojure Remote.
PF.tv: Where can people follow you online?
SB: I'm @sbelak on Twitter and sbelak on GitHub.
PF.tv: Where do you see the state of Clojure in 10 years?
SB: Clojure has spent its first 10 years accumulating and meticulously decomposing ideas from the history of computing. By now we have a huge pile of Lego bricks strewn in front of us and now it is time to start building novel paradigms out of them. Take spec for instance. To me it feels like we are barely scratching the surface. That its constituent parts, its nominal functionality, is not what spec will turn out to really be about. I expect many more such cases in the next 10 years. Rich's keynote at the last conj certainly pointed into that direction. As for adoption, I think Clojure will steadily gain ground, but I doubt it will ever become the next Ruby or Scala. It will however continue the lisp tradition of profoundly touching anyone that comes in contact with it.
PF.tv: If Clojure were an animal, what animal would it be?
SB: A raccoon: curious, smart, nimble and lovable.