You should do error checking then to see if something is wrong. And also query the shader for the actual locations so you don't hard code the wrong attribute locations. One thing that just occurred to me now though is that you may have to set the pointer to integer type attributes with glVertexAttribIPointer instead.
Thanks. That solved the problem.
Pretty sure gl_FragColor is deprecated in glsl version 150.
I'm sorry, I tried upvoting your post and accidentally clicked the wrong thing and now i don't know how to reverse it -.-
If gl_FragColor is deprecated, then how do I tell the GPU what color the pixel should be??