Chess960 position generator Context


  Chess960 (or Fischer Random Chess) is a variant of chess invented and advocated by former World Chess Champion Bobby Fischer, publicly announced on June 19, 1996 in Buenos Aires, Argentina. It employs the same board and pieces as standard chess; however, the starting position of the pieces on the players' home ranks is randomized


Rules


  
  White pawns are placed on the second rank as in standard chess
  All remaining white pieces are placed randomly on the first rank
  The bishops must be placed on opposite-color squares
  The king must be placed on a square between the rooks.
  Black's pieces are placed equal-and-opposite to White's pieces.
  


From: http://en.wikipedia.org/wiki/Chess960

For all the people that would like to post answers...

you have to make a Chess960 positions generator, capable of randomly generate one of the 960 positions following the rules described above (it has to be capable of outputting any of the 960, hardcoding one position is not accepted!), and you only need to output the white rank one pieces. 

Example output:

rkrbnnbq

where:


k king
q queen
b bishop
n knight
r rook 


This will be code golf, and the tie breaker will be the upvotes.
Ruby 1.9, 67 65 characters
Ah, the old &quot;keep randomizing until you generate something valid&quot; technique...
$_=%w(r r n n b b q k).shuffle*''until/r.*k.*r/&amp;&amp;/b(..)*b/
$&gt;&lt;&lt;$_

(In Ruby 2.0, %w(r r n n b b q k) could be 'rrnnbbqk'.chars)