Modern C Up and Running : A Programmer's Guide to Finding Fluency and Bypassing the Quirks