I would like to take this opportunity and start by thanking my family: my grandparents, Altamir and Alba, for their tireless support; my mother, Sônia, for her unconditional love and motivation; and my uncle, Altamir Filho, for supporting me when I decided to go to school at night so that I could start working as a programmer. Without them, I would have never pursued software engineering.
I would also like to thank my fiancee, Enif, who answered with a resounding "yes" when asked whether I should take up the challenge of writing a book. Her patience, love, support, and words of encouragement were invaluable.
During the writing process, Packt Publishing involved several reviewers and their feedback was extremely useful in making this a better book. To these reviewers, thank you.
I am also sincerely grateful for my friends who provided crucial feedback on key chapters, encouraging me at every step of the way: Claudio Natoli, Fábio Lessa, Fabio Pereira, Julian Gamble, Steve Buikhuizen, and many others, who would take multiple pages to list.
Last but not least, a warm thanks to the staff at Packt Publishing, who helped me along the whole process, being firm and responsible, yet understanding.
Each of you helped make this happen. Thank you!