Saturday, January 26, 2013

My God, it's full of stars... and ClojureScript



I just open sourced a portion of a perpetually half-finished ClojureScript game.  The project uses ClojureScript, canvas, and affine transforms to build an interactive star map. The star map supports panning and zooming (click and drag to pan, scroll in or out to zoom).
The notable bits of the codebase are the canvas namespace and the affine transform namespace. My implementation of the star map was borrowed from an earlier incarnation I once did in Java 2D. I think there's an opportunity for a nice ClojureScript/Clojure library that would accept the same 2D drawing and transform operations for either a browser canvas element or a Java Graphics object.
Anyway...
To see the map in action: http://ashenfad.github.com/stars/
To see the project page: https://github.com/ashenfad/stars

Tuesday, January 22, 2013

Clojure goes to Washington

Congressional Partisanship (by roll-call votes)
A year or two ago I created a project for tracking congressional partisanship over time using roll-call votes. More recently I rebuilt the project using Clojure. Even more recently I added a page to explain and show off the results.

I've open sourced it for whoever is interested. There's some code that uses Enlive to scrape official vote data for the House and Senate. There's also a bit of code for transforming the raw data into interesting metrics. And finally, there's a process for transforming the daily metrics into a moving average and exports it to a dygraph friendly format.

All in all, it was a fun little project that gave me the chance to toy with few new (at least to me) libraries and practice my Clojure. It also confirmed the (perhaps obvious) observation that congressional politics has been remarkably nasty in recent years.


Monday, January 21, 2013

(+ clojure big-ml)

I've been working on a Clojure library for the BigML machine learning API and we recently released it into the wild.