Draw a BCD Binary clock
Ruby, 107 103 99 94 90 characters
$&gt;&lt;&lt;[$/,(gets||Time.now.to_s[11,8]).tr(z=&quot; .':&quot;,&quot;&quot;).bytes.map{|a|$&gt;&lt;&lt;z[a/4-12];z[a%4]}]*&quot;&quot;

Note that the input shouldn't contain a linebreak, so to test the solution use something like echo -n &quot;01:08:01&quot; | ruby1.9 bcd.rb.
To test the default behavior, run it with ruby1.9 bcd.rb and enter ^D (i.e. a literal EOF).