Device programmer