My solution to the rule 30 challenge