Mikeihbe.com
This year, I received my domain, mikeihbe.com for my birthday.
I wasn’t really sure what to do with it, so it will probably be an evolving project. I definitely wanted it to reflect who I am and what I do, but also have the potential to open new opportunities.
Whenever I start a personal project I typically try to learn something new while I’m doing it. Lately, I’ve been playing around with Rich Hickey’s Clojure, and this is a great chance to build something real with it. There’s tons of new aspects to this project for me: building something non-academic with a Lisp, a focus on functional programming, learning a new language, and more experience with the JVM.
I used java for my primary project while I was at Amazon, but that was really my only experience with it. Their highly evolved build tools left me unprepared to properly build a java project from scratch, so I opted to develop/build in the Clojure Eclipse extention Enclojure. Enclojure is in alpha, and definitely feels like it, but they have made some decent first steps. Those first steps did not lead to a reasonable method of deployment, however, so I hacked together (it’s really ugly) a deployment script that seems to work.
While building the application (the code is here), I borrowed significantly from a bunch of other open source contributors:
http://clojure.org
http://github.com/weavejester/compojure
http://jonraasch.com/blog/a-simple-jquery-slideshow
http://www.cssplay.co.uk/menus/flyout_horizontal.html
http://github.com/drewr/postal
So I want to give a big “Thanks!” to them. Though the code is available, and is a fair example of a Compojure application, there are a few things I’d like to improve: the amount of purely functional code, a greater appreciation within the application for Java’s pre-compiled nature, and how the application is built and deployed (probably using leiningen). And of course, the aesthetics. After that, I’ll start adding more nifty features.
Also, I think Compojure will undergo some pretty serious changes too. It’s a very lightweight framework, but it still could use some polish (and documentation…). It looks like it’s also going to be separated into constituent parts, which is a good thing, but probably means significant application changes in my future.
Regardless, it works, and it’s successfully deployed on a virtual Linode server. I’ve integrated Google email for the domain (it wont forward a catchall, which is unfortunate, but a well documented bug, so I used POP instead).
So there you have it. Unveiling ——>Mikeihbe.com<——