Created by Greg Wilson
Source code: https://github.com/gregsramblings/chessmsgs
More technical details in this blog post