Talks
Events

Using Clojure with C APIs for crypto and more

lvh at Clojure/conj 2016

One of Clojure’s strengths is its host interop, but sometimes you really want to call some C code. Perhaps you have a legacy .so/.dll you inherited; perhaps you’re calling a video decoder or some cryptographic routines. This talk focuses on that interop, using a cryptographic library (caesium, which binds libsodium) as a specific example. It shows how Clojure can still leverage its strengths in this context, providing a significantly better environment for both R&D and general use compared to either plain Java or even other high-level C-centric programming environments like Python. This talks includes the mechanics of accomplishing this, lessons learned managing a real library used in production, and future efforts to make this process smoother for future programmers (e.g. manylinux1).