June 28, 2017

Is Kotlin the new Java?

One of the programming languages I’ve (essentially) been ignoring for the past couple of years has been Kotlin, the “better Java” from Jetbrains, the author of IntelliJ and other IDE’s.1 Recently, Kotlin has come back into focus for me for the following reasons: Google finally announced official Android support for Kotlin Steve Yegge, that infamously opinionated programming language enthusiast, wrote a patently Yeggian post about how Kotlin scratches his itches without supporting academic or impractical features. ...

June 18, 2017

Clojure and the Esoteric Mysteries of Namespaces

If you’ve ever been programming in Clojure and encountered an error which looks something like, IllegalStateException("Can't change/establish root binding of: *ns* with set"), read on! Preface I recently had the drive/opportunity to deep-dive on how Clojure’s namespaces function and how they provide a simple abstraction using the concept of Clojure’s “Vars”. Here is a deep-dive on how they work. This is a two-part series. The previous part of the series is available at Clojure and the Esoteric Mysteries of Vars. ...

June 18, 2017

Clojure and the Esoteric Mysteries of Vars

I recently had the drive/opportunity to deep-dive on how Clojure’s namespaces function and how they provide a simple abstraction using the concept of Clojure’s “Vars”. Here is a deep-dive on how they work. This is a two-part series. The next part of the series is available at Clojure and the Esoteric Mysteries of Namespaces. Vars: A Simplified Model of Variables One of Clojure’s essential motivations is to provide a hosted runtime for easily concurrent programs, wherein most of the challenges of locking and thread-safety are provided “for free” (at least in the sense of the programmer not having to worry about these low-level concepts). ...

June 4, 2017

Bearish on Clojure in 2017

There was a recent brouhaha in the Clojure community about the recent blog post by a Clojure dabbler to the effect that Clojure may be a clean and beautiful language but that it fails in a few pragmatic and ergonomic senses which hurts its adoption and limits its appeal. Although the author admits that he probably made a mistake in jumping to adopt Clojure, a foreign technological concept to him, for a startup in a space that was also completely foreign to him, he does bring up some worthwhile points that are worth chewing over. ...

June 3, 2017

Switching to Hugo Blogging

I recently decided to switch the backend static site compilation toolchain for this blog from the small Cryogen project in Clojure to the venerable Hugo project written in Golang. Although I had previously written that I wanted a hackable static site generator at Returning to Blogging with Cryogen, my requirements lately have changed. I thought I’d write a couple of quick notes about why I switched (and why I didn’t). ...

© Jeff Rabinowitz, 2023