Liang Huang is from Shanghai, China. Brought up in a "multilingual" environment where people around him spoke many different Chinese languages and/or dialects, he was always intrigued by languages. In middle school he also became fascinated by programming (esp. the beauty of recursion) and went on to compete in many algorithmic programming contests. Fortunately he managed to combine the two interests in college (both involve recursions anyways), by doing some amateurish computational linguistics research, for example writing the first parser (and building a small treebank) for Classical Chinese, his favorite (dead) language. Following this path, he did his PhD at the University of Pennsylvania, working on parsing algorithms and machine translation, with a theoretical flavor throughout his work. During grad school years he also enjoyed a lot of teaching, and designed one of the first courses on Python, his favorite programming language. After graduation he joined Google as a scientist, enjoyed the food, made a lot of friends, but didn't quite like it, and moved back to ISI where he used to be a summer intern. He is now a Research Scientist with the Natural Language Group at ISI, and a Research Assistant Professor at USC's CS Department where he teaches many different courses, including Algorithms, AI, and three NLP courses. In his spare time he enjoys reading about history, listening to Bach, hiking, and playing pingpong and badminton. Finally, he still likes to learn new languages and speak with different "accents."