What is your favorite method for programing where do you get your ideas and how do you get so good at it.