I've made the source code of this thing available here:
Someday, this section might describe how this thing is made. But, I'm lazy. So, here's a quick list of things I've used so far: