I discovered rule 30 when I went to Cambridge North train station and looked at the pattern on the walls and wondered what it was and it turns out that it was rule 30. For more information have a look a this amazing page here.
These patterns have a simple formula for how each row is generated from the previous row. whether the cell is black or white is determined by the three cells above it (this is rule 30)
I wrote a simple program in python to implement rule 30
Line 1: defines the starting pattern (1=black, 0=white)
Lines 4-12: function that defines how the next line is created. (rule 30)
Lines 14 -18: function to output the line using black and white squares
Lines 21-28: main body of the program with two nested loops to process the cells a line at a time