Error Coding Cookbook: Practical C/C++ Routines and Recipes for Error Detection and Correction