Binary Clock

It might not be obvious to the OP but by using the call to millis() you have also avoided the problem of inaccuracy by using the System time rather than a delay loop.

yep.

Mike, I was curious why you chose to use direct port i/o instead of digitalWrite. digitalWrite is one of the fundamental capabilities of Arduino and is almost always the best choice for controlling pins.