Analemma Calculator

More information in this blog post.