Re: clockspeed
Should add that this is a program directive, not something to set fuses.
The probable reason it is being used is because somewhere in the program, there is a calculation which is dependent on the processor clock speed. This might be a delay routine or possibly setting timer values. Without it, the program would have no knowledge of the speed you are using in your hardware.
The 'UL' at the end is just to signify the value is an 'Unsigned Long' type.
Brian.