The basic algorithms are very simple; you could implement yourself. Getting great performance is a different matter.
Reply on news.ycombinator.com