An implementation of Wolfram's Rule 30 for cellular automata