teaching myself ruby by porting HvsI