I dedicate this book to my marvelous wife Gabriela. Your support, love, and care throughout my writing process is what allowed me to turn this book into a reality. I love you and admire you for your many efforts while I was busy writing.
To my beautiful children Shira and Yonatan, you bring joy and light to my life; I love you dearly. Sitting by you while you fell asleep gave me the inspiration for many chapters.
To my parents Ester and Shlomo, who bought me my first computer and lit the fire of my passion for computer science, I thank you.
To my cousin, Guy, who had an enormous effect on my life and the way I see things today, much of my software capabilities are rooted in what you taught me.
To the rest of my family, who ...