It's been over a year since my last post here. Since the end of the MicroC series, I've been hard at work on my thesis, Open Strings, a platform for string players to share fingerings for complex passages. In addition to allowing musicians to share fingerings, the Open Strings website includes an inference engine which, given a passage, will automatically come up with decent fingerings for it (currently violin only). The thesis document goes extensively into the history of violin fingerings and the methodology for evaluating the quality of the generated output, but is comparatively light on the engineering details, as creating a website isn't exactly a research problem. It is, however, great blogging material, so in the coming weeks, I'm planning to go through all of the code I wrote for my thesis, in the hopes that it will serve as a good, or at least functioning, end-to-end example of a non-trivial website in Haskell.
In the meantime, for any readers impatient for me to get on with writing, here is the full undocumented, unedited, academic source, as well as the presentation I made for my defense.