Obtain the RealBlockDiagonalForm of a matrix with complex Eigensystem.

I want to orthogonalize a matrix with complex eigen values and eigen vectors through similarity transformation to obtain the RealBlockDiagonalForm of it, as shown below:

In[58]:= gen = {{-1, 2, -1}, {-(3/2), 3/2, -(1/2)}, {-(1/2), 
   3/2, -(3/2)}}
Eigensystem[%]
conj = {{1, 1/2, 1/2}, {1/2, 1, 1/2}, {1/2, 1/2, 1}}
Inverse[conj] . gen . conj

Out[58]= {{-1, 2, -1}, {-(3/2), 3/2, -(1/2)}, {-(1/2), 3/2, -(3/2)}}

Out[59]= {{-1, 
  I, -I}, {{1/2, 1/2, 1}, {3/2 - I/2, 3/2 + I/2, 1}, {3/2 + I/2, 
   3/2 - I/2, 1}}}

Out[60]= {{1, 1/2, 1/2}, {1/2, 1, 1/2}, {1/2, 1/2, 1}}

Out[61]= {{0, 1, 0}, {-1, 0, 0}, {0, 0, -1}}

As you can see, conj is the desired matrix, but I don’t know how to find such matrices. Any tips will be appreciated.

Regards,
Zhao