Beginning Arduino project 19 issues(solved)

Yippee!!! It is solved..For any one else having problems heres what I did..
First let me explain that my matrix is different than the authors matrix..His was an 8x8 with the Rows as common cathodes..That means that to lite row 1 you would need positive voltage on the column 1(anode) and ground Row1 cathode..Mine was just the opposite..I needed positive voltage on Row 1 and ground Column 1..In my case I just rewired the Fritz drawing so the Rows were sent to the columns and the columns were sent to the rows..After all the matrix is dumb and as long as you feed the proper voltages at the appropriate time it knows no difference..
I hope that is clear.. Next the author published an error in his code
It was row=row << 1; //bitshift left
To
row=row >>1; // bitshift right

After I made the change, it still did not work correctly..My matrix flashed all LED's and appeared to flicker every half second..
Now down to the void that deals with data
Was:
// if the value of DataOut and (logical AND) a bitmask
// are true, set pinState to 1 (HIGH)
if ( dataOut & (1<<i) ) {
pinState = HIGH;
}
else {
pinState = LOW;
}

TO

// if the value of DataOut and (logical AND) a bitmask
// are true, set pinState to 1 (HIGH)
if ( dataOut & (1<<i) ) {
pinState = LOW;
}
else {
pinState = HIGH;
}
In other words just reversed the data polarity from HIGH to LOW and LOW to HIGH
I guess I should really adjust the comments to suit but I am so happy I can hardly type...Hehe

I don't know if this is a result of my matrix or just another code error..BTW the authors above bitshift correction above is essential..
This has been a three week battle but persistence pays off..GoodLuck!!
jolphil