y=x=id%9*10+8 gets.bytes{|b|putc~15&y^(y=16*b^=x)>>8} putc y^x%16