Hold on. First of all, of course POSITION_0 and POSITION_1 aren't defined. They're supposed to be integers in the range [0 .. MAX_VERTEX_ATTRIBS]. Therefore, if you add

Code :

#define POSITION_0 0
#define POSITION_1 1

to your shader is good. Of course, you need to make exactly the same definition in your application, or otherwise you will have potential mismatches between what the shader defines and what your application uses as arguments to glVertexAttribPointer.