Nicholas Cravotta has been technical editor for EDN, Embedded Systems Programming, and Communications Systems Design, and was the founding editor-in-chief of Multimedia Systems Design. With seventeen years of experience as a practicing engineer, he understands the issues behind designing complex systems firsthand. He has worked with hard real-time embedded systems, written application software for PCs and workstations, built an operating system from the ground up, developed in-house software and hardware development and test tools, and ported software across platforms, among other projects. He has spent the fifteen years working as a marketing consultant for leaders in a variety of technology industries. He has written over 1000 published articles, taught programming and technical writing at UC Berkeley, and is an award-winning game designer with over 70 products to market.