Latent Dirichlet allocation
A little while ago, early 2010 if I recall correctly, I had cause to implement LDA, using the Gibbs sampling method. I have finally found the time to clean the code up and stick it in my code repository, so you can now find a LDA implementation available at http://code.google.com/p/haines/. Its nothing fancy, but well commented with a few test examples and works as well as any other implementation (Well, a variational approach would be better, computationally speaking, but LDA is simple enough that it is probably not worth the effort.).