Text this: Pulse-Shaping Techniques Theory and Experimental Implementations for Femtosecond Pulses