For the Javascript lovers out there, I wrote a client-side project which conceptually demonstrates how a blockchain works. It runs in your browser and uses web workers to concurrently mine blocks, showing how miners, transactions and addresses fit together.