COSS Community

Cover image for OCS 2020 Breakout: Alex Miller
Joseph (JJ) Jacks for COSS Community

Posted on

OCS 2020 Breakout: Alex Miller

Alex Miller has 18 years of software development experience, working across the software and product lifecycle. The majority of that time has been spent working in Java, although he is currently working full-time in Clojure. He has a strong theoretical computer science background with focuses in computational complexity and artificial intelligence. His real love is in building software for people to use. He is a developer at heart although he has performed in many roles over the years. He’s an active and constant learner and always interested in learning new technologies. He’s the creator of the annual Strange Loop software conference in St. Louis. Strange Loop is an interdisciplinary software conference, bringing together developers doing leading edge applied computer science in areas such as emerging languages, nosql data storage, mobile, web, concurrency, and distributed systems. Additionally, he created the Clojure/West and Lambda Jam conferences, Lambda Lounge user group (for the study of functional and dynamic programming languages) and the Clojure Lunch Club.

Relevant Links
LinkedIn - Twitter

JJ interviews Alex Miller, founder of the Strange Loop conference and developer at Cognitect, COSS company behind the Clojure programming language!

(JJ introduces Alex) - 0:00

What brought you to starting StrangeLoop the conference, its history, and what the event is about? - 0:45

How do you think about constructing a narrative over multiple years as a conference grows? What are the central threads that have kept the StrangeLoop community unique? - 3:45

Let’s dig into Clojure. It’s a relatively new Lisp dialect programming language built on top of Java. Since 2007, Clojure has made a ton of progress in the distributed systems world as a language. What are some of the growth highlights and inflection points over the last decade? - 5:42

Have you noticed any inflection points in the popularity and growth of Clojure over the last 10 years? What are they and what caused them? - 8:19

In any new technology and exciting development, there’s always early adopters and champions that propagate awareness through being examples of usage. Were there early Clojure adopters that were using Clojure in meaningful ways that helped propel the awareness further, and who were those early major adopters? -10:43

To me it feels like WhatsApp was able to get efficient leverage from Urlang. It feels like the way Nubank has been able to get significant and similar leverage from Clojure over the years. It looks like Nubank is one of those pure Clojure development shops. These examples are very different, different industries, different parts of the technology stack. But is this a flawed correlation or is it accurate? - 12:54

Talk about Clojure’s core constructs more. What are those core constructs, in the context of use cases? - 18:37

Is the fact the Clojure is a functional language an important detail, when looking at other languages? - 20:23

How many Clojure programmers do you think there are in the world today? - 21:34

And you said Nubank has 600 Clojure developers. You produce a state of Clojure report every year, and it looks like about 250 companies in the world have more than 40 Clojure developers. How many companies do you think have teams of more than 100 Clojure developers writing applications? - 22:16

I’d love to talk about Cognitect. Cognitect is the company that teaches new organizations how to use Clojure, how to run it in production, also the creator of a database called Datomic. What are the business models that Cognitect implements, and how has the company evolved over the years? - 23:33

Can you give an overview/intro to folks for Datomic and why it was created? - 28:43

So Datomic is a graph database with git-like semantics for storing data, in that versioned way. You have a traceable, version controlled way of capturing data. I’m reminded of NomsDB and they came up with this interesting data structure called Probabilistic B Trees. Are there any similarities with that to Datomic? - 32:23

I’ve seen Clojure used in some interesting, newer applications that are solving for deeper knowledge management projects (e.g. Roam Research), building on ideas from Ted Nelson’s Xanadu, where you can have graph-link multi-directional linking between objects in document to be able to navigate it as you would a knowledge graph. Is this an area you’re starting to see more usage for Clojure, in representing information as a graph, and modeling that in the application code itself? Would it be natural to use something like Datomic for that, or does Clojure work with any kind of database? - 34:22

(JJ and Alex discuss the Out of the Tar Pit paper). This paper essentially gets into the case for Clojure overall, or what you can do with Clojure? (Alex also highlights the upcoming History of Programming Languages (HOPL) conference and Rich Hickey’s paper on Clojure, A History of Clojure - 36:40

Can Clojure be used with any database? - 39:00

Can you give an overview/intro to folks for Datomic and why it was created? - 28:43


Share your questions and comments below!

Discussion (0)