Minimal sierpinsky triangle implemented in 70 bytes in a js1k environment:
for(b=[i=1];i<6310;)(b[i+99]=b[i]^b[i++-1])&&a.fillRect(i%99,i/99,1,1)