As I mentioned a few weeks ago, I decided to try a new blogging engine when I moved my hosting to a new provider. The management system is working out fine so far, and I think I'll likely stay with it. Then there's the default theme...
I can't say I like the theme. Now, this isn't Wordpress, and I don't have a choice of 8,000 (or 80,000) canned WP themes. However, this blogging system is based on Bootstrap (the former Twitter Bootstrap) so I can customize the appearance in a way that is more familiar to me at a detailed level than WP theme building is anyway. So that's a win, and you can look for a site makeover soon.
This world lost quite a man this week. Col. Robert L. Johnston (Ret.) was a strong, brave, and wonderful man. He loved his God, his bride, his family, his church and his friends both well and deeply. His kindness was extended to many, including me.
Remember that time I had to wear a UT Vols t-shirt to church one January Sunday after Tennessee beat my Aggies in the Cotton Bowl? That was courtesy of Bob Johnston.
His absence leaves a hole in so many other lives. It was a privilege to know you, Bob.
That's the registration confirmation heading when you register for Clojure/conj. By far the best part of being chosen to present a talk at the Conj is knowing that I'll have the opportunity to take in all the other talks, and to interact with the amazing group of Clojurians who will be there. Last year I truly met some of the nicest people I've ever come across. If you are interested in Clojure, you really should make every effort to be there this year.
I was surprised and thrilled to learn on Monday that one of the talks I submitted for ClojureConj 2013 has been selected for the conference program. The short version is that my talk covers the migration of a project I've been working on over the last three years to Clojure.
Last year was my first time to attend this conference, and it was the best development conference I've attended to date. I met a number of really nice folks, learned a ton, and was challenged to return home and dig in. I was also more certain that emacs - which I was about 8-9 months into learning at the time - was where I needed to be spending my coding time, having seen first hand that the people who were creating the tooling around Clojure were targeting emacs first, as it was what they were using. So I'm certainly excited about returning to the Conj, and also humbled to get to tell part of my Clojure story this year. See you in Alexandria!
I've changed testing libraries for my Clojure code. When I first started writing tests for Clojure code, I settled on expectations, which was written by Jay Fields. The syntax and structure seemed natural enough, and I was a content with my choice. Then I started building an application atop the Immutant application server. Immutant is a project sponsored by RedHat, and is essentially a set of libraries laid over JBoss to enable Clojure developers to target JBoss for deployment in a way that feels very natural. Working with Immutant meant using the lein-immutant plugin for leiningen. lein-immutant supports running tests against a running Immutant server, but the plugin does not support expectations among its test options. This left me with a choice to make between clojure.test and Brian Marick's midje. While its syntax is somewhat quirky in the context of Clojure, I settled on midje. After porting a handful of test from expectations to midje, I proceeded to create well over 100 test cases with midje, and am satisfied with the library at this point. When executed against my running application in a repl attached to the application, the entire test suite executes in less than 2 seconds, which is an acceptable timeframe to me.
I'm still working on getting autotest to operate the way I want it to when targeting Immutant, but I'm glad to at least have a functioning test suite.