replace delay()

'Pretty' source files at the expense of slower and larger object files sounds kind of backwards thinking to me? Discuss.

If memory and/or performance is not the problem readability for maintainability is a very important point.
I have seen too much "write only" code that could not be read by mere humans and it really is no fun to reverse engineer the meaning of it.
So use proper descriptive names for variables ==> proper named vars need far less comments!
and use the proper types as far as possible, datatypes were invented (among others) for the reason to match :wink:

So I don't like this

void setLeds(char * str, byte lohi)
{
  for (byte i=0; i <strlen(str)) digitalWrite(str[i]-'0', lohi);
}

but I prefer meaningful names and proper types.

void setLeds(byte pin[], byte size, byte lohi)
{
  for (byte i=0; i <size) digitalWrite(pin[i], lohi);
}

...