Projects
A sampling of my more ambitious or diverse projects is encountered here. Don't hesitate to contact me if anything interests you!
 Programming Langauge (2014): HarmLang probabilistic programming language for musical analysis.
 MCM simulations (20132014): papers available here.
 Text Classification Experiments (2014): Source code available.
Original text classification algorithm implementation. Algorithm takes in a set of data (text) labeled (categorically) along multiple axes (including author, and possibly information on region, dialect, or date), and learns features in the text that are characteristic to each category. It then creates regressors that characterize the extent to which new instances match each features, and uses these regressors to generate a continuous valued vector for each training and test instances. Then, these vectors are treated as the training and test data to a traditional continuous vector based classification algorithm. Example output generated by the program available here (warning: this report is extremely dense).

Computational Geometry (2013): Animated interactive convex hull calculator.
Visualization applet for convex hull algorithms, including the Graham Scan, Jarvis March, and the very involved Kirkpatrick Seidel Ultimate Planar Convex Hull algorithms. This applet is a great tool for learning about all three algorithms, and it allows entry of arbitrary pointsets to break down how they respond to any case. Geometric operations such as rotational sweeps fully animated, and the time complexity of each operation is notated as it occurs.

Templated C++ microlibrary (2015): Array++
Array++ is a templated array library offering mathematical and higher order functions over lightweight sized generically typed arrays.
 Algorithmic Analysis (2014): Interactive automated algorithmic complexity analysis machine. Source code available.
Program to take asymptotic complexities over arithmetic operations and summations. The class of algorithms that can be analyzed is limited (no recursive substitution), so the problems it solves are decidable. This software provides a convenient way to calculate the complexities of algorithms with subroutines, such as Djikstra's algorithm with various heap data structures, and also provides a way to compare actual costs with asymptotic costs. See first link for details.
HarmLang is a language for probabilistic and deterministic analysis and generation of music. It has been used to identify artists using generative models, to notate and modify partial musical scores, and to produce MIDIs of generated musical objects.