Here you'll find some technical essays I've written over the years that are of a more practical nature, algorithms of my own creation, some of which have actually been used in commercial software.
A good friend of mine pointed me in the direction of a clustering algorithm called Dynamic Quantum Clustering, or DQC for short, which uses ideas from Quantum Mechanics to find the most likely cluster centers in a data set.
I read the original papers and had a few insights of my own, which I'm summarizing in this essay. I may yet write a couple of actual research papers about these insights but that's a decision I haven't made yet.
This essay describes the mathematical steps needed to synchronize independent animations of multiple parameters, running concurrently, so as to minimize the number of function evaluations.
Check out the actual repository to see some nifty animations.
(2013) Discrete Half Flux Diameter
A colleague interested in astrophotography asked me for an algorithm to compute the half-flux diameter of an image.
It turns out that the recipes commonly found on the internet are actually incorrect so I had to analyse the problem in an excruciatingly mathematical detail to devise a correct algorithm.
(2008) Card Spread
An algorithm to spread cards in a neat way inside of a rectangle of a given length, taking into account the preferred overlap, the maximum overlap allowed, and a possible gap surrounding the middle card.
In this essay, I derive the mathematical basis of an algorithm to detect intersections between two arbitrarily positioned and arbitrarily oriented ellipses on the same plane.
(2007) Smoothing Line Segments
At one point, someone in the cocoa-dev mailing list asked for an algorithm to draw a smooth curve passing through a number of given points. I solved the problem mathematically, then wrote a small application implementing the algorithm. The algorithm involves interpolating the points using Bezier curves.
Someone in the cocoa-dev mailing list once asked for an algorithm to draw an arbitrary string along the diagonal of an arbitrary rectangle. I first solved the problem mathematically, then wrote an application illustrating the algorithm. My algorithm was subsequently adopted by the person who asked the question, who happens to be the author of the excellent writing tool Scrivener. Shortly thereafter, it occurred to me that another algorithm could be used. Both algorithms are described in this repository.