source code

usage:

% ruby google_quine.rb > out
% diff google_quine.rb out
% ruby google_quine.rb -h > google_quine.html

output:


        eval(q="                                          q='ev
     al(q=%p.split                                         *%p)'
    %[q,'    '];h=p                                         roc{
   |_|A        RGV                                          [0]=
  ='-h          '                                           &&$>
 <<_}                 ;h['<pre      >'];t=n=      i=j=-s=1  ;z=:   blue;g=  TM
 =[];                ;'x77JtTdA    tKGlExE7iF   xDIgGxC87c  V7D`  1q0j^FI`4
 4@xC               vO+F     4<4+ <t0a    KG:c  D3+   @xC7  -W7. *E3   +.xD.
 R?:.               *44+     r9bD ;GC      G_;+sBbC    DND  EPFM 2xbA@bN.N
 _qf^        YbVb4> uoS      FxnXroJ?       xwR x0@    xxx  '.ea ch_byte
  {|b|       b>32&&g<<(b      -=4 0)%       9<< b/9}  ;(n<  1&&( t=!
  t;n=g        [i+=  1];     n=n> 5?(n     =n*9  +g[i+=1]   )-47 +n/6
   5*23:       n+1)  ;h['   <font  %cco   lor=     %s>'%    [32,  s>77?  :b
     lack:s<22?z:s%   67<36?:re     d:s<49-i/     250?:ye   llow:  s>60-n/5
       ?:green:z]]      ;putc        (n>54?     10*n=t=s=1  :(t)?   q[j+=1
                                              ]:32)    ;n-=
                                              1;s+      =1)
                                              whil      e(g
                                               [i+1]);42".
                                                split*"")


image:

TODO: close HTML tags properly.