OpenGL uses a column vector convention, which means the matrices must be applied in the opposite of the order in which you actually want the transformations to occur.  Just replace this: 

glTranslatef(0, -y, -z);
glRotatef(angle, 1, 0, 0);
glTranslatef(0, y, z);


with this:

glTranslatef(0, y, z);
glRotatef(angle, 1, 0, 0);
glTranslatef(0, -y, -z);


and that should fix it.

Rotating an object in OpenGL about it's centre
I've just installed 11.04 and now at random everything freezes. The keyboard responds but the only thing that seems to unlock it is a reisub. I never had this problem before and I've had this computer for almost a year. I'm using gnome 3 but it also happens when I'm using unity. Even if I don't have any programs running soon or later it freezes. I've seen some similar questions here like this and this but no solution. 
