A few years ago I experimented with Volt, a web framework that used Ruby on both the server and client side. Volt is now very dead, which is a shame. It was an interesting project, but I suspect it was a solution for a relatively small number of problems that are better serverd by other stacks.

In the process I experimented with Opal.rb, a Ruby to Javascript transpiler. Opal was also quite interesting to work with, but in the end issues of slight incompatibilities, poor performance, and when trying to use it with other Javascript libraries means I now stick to plain ES6.

During all that experimentation I produced an implementation of Conway’s Game of Life. It’s quite a convoluted implementation, with quite a few bits of cruft that I produced purely to experiment with Opal and Ruby in the browser, but I present it here for posterity.

I have a repo with the code and a static page demo to try out.

  • Use the controls to start and stop the game, clear or randomise the grid.
  • Click on a cell to toggle its state.
  • Click on the links underneath to see some common patterns in action.