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