I built this circuit to learn button control.

But my code (or button) is working in reverse. I want to initialize led flash effect when the button is pressed with this code
buttonState = digitalRead(8);
if (buttonState == HIGH)
doFlash();
Instead the effect runs continuously and pauses if I push and hold the button. If change the condition as if (buttonState == LOW) code is working as expected. (Effect starts when I push the button.)
This is just the opposite of what I read in tutorials. What is wrong in my circuit or code?
Full code:
void setup(){
for(int i=2;i<=6;i++)
pinMode(i,OUTPUT);
pinMode(8,INPUT_PULLUP);
}
void loop(){
int buttonState;
buttonState = digitalRead(8);
if (buttonState == LOW)
doFlash();
}
void doFlash() {
int i;
for (i=2;i<=6;i++) {
digitalWrite(i,HIGH);
delay(100);
digitalWrite(i,LOW);
}
for (i=6;i>=2;i--) {
digitalWrite(i,HIGH);
delay(100);
digitalWrite(i,LOW);
}
}

