Impressing number, and I am sure many of those examples are good, but a [Free]GLUT-based program would be easier to port. I would prefer that.
And OpenGL 2 is, as I mentioned above, not what I put my efforts into today. glShaderSourceARB? Clean up that code, shaders are not ARB extensions any more, they are core functionality. If you use ARB calls, then it looks like OpenGL 1.4.
Bookmarks