Wednesday, February 3, 2016
Today we feature a story about Weilin, a Google Summer of Code student turned PhD candidate. The 12th instance of Google Summer of Code is just around the corner! Visit our new program website at http://g.co/gsoc for more information about how you can get involved.
My name is Weilin Xu and I’d like to tell a personal story about my involvement with Google Summer of Code (GSoC) and just how the experience helped change my life.
I first learned of GSoC in 2011 when I was a CS undergraduate in Beijing. The program sounded great, and my first challenge was deciding which of the hundreds of participating open source organizations to apply to. I finally decided on the Nmap Security Scanner, a tool known for network discovery and security auditing. Nmap is even a movie star, but I chose it because of my fascination with networking and the new IPv6 protocol.
My biggest fear was that I might be unqualified to work on such a major project with millions of users. I didn’t have much experience in the open source community, and my English was really bad.
Meeting my GSoC mentor David Fifield (right) in San Francisco, May 2015
I applied anyway and I’m so glad that I did! The Nmap crew accepted my application and I was assigned a talented, friendly and patient mentor named David Fifield. David taught me how to use Git directly rather than just throwing me a tutorial to complete on my own. He believed that he could teach me in minutes online what could take me an hour to learn from an English article on my own. David also helped improve my English during our weekly online meetings and always encouraged me by pointing out how I’d improved. Working on Nmap with David that summer was terrific and gave me the confidence to succeed!
My project was improving Nmap’s IPv6 scanning features--particularly the host discovery system. The current IPv4 Internet’s address space is small enough to scan by brute force, but that is not possible with IPv6. So we researched and implemented other effective discovery methods, such as our targets-ipv6-multicast-slaac and targets-ipv6-multicast-echo scripts which discover link-local hosts within seconds using the IPv6 NDP protocol. Many of these techniques were already known to the networking/security community, but they were new to Nmap and that brought them into wider use. It was great to see the community appreciating these new features, and perhaps we even helped in spreading IPv6 adoption!
The Nmap GSoC experience was an important milestone in my life. It taught me critical development and research skills and it even helped me find a great job. Tsinghua University’s NISL lab offered me a full-time position which typically requires a master’s degree, but they made an exception because of my real-world GSoC experience!
Before GSoC 2011, continuing my graduate studies in the United States was never more than a dream. Study abroad is usually for wealthy Chinese families, not poor ones from rural areas. But David (a graduate student himself) encouraged me to apply and wrote a recommendation letter. I used the GSoC stipend to pay my graduate school application fees as well as testing fees for the GRE and TOEFL. After months of anticipation, I received great news— a full scholarship from the University of Virginia to research and study adversarial machine learning! My parents were very proud, and I moved to the U.S. for this exciting adventure.
I recently had the honor of meeting my mentor David in person, along with Nmap’s founder Fyodor at the “Nmap Secret Lair” in San Francisco. Fyodor took my picture with David that I’ve included in this post.
I would like to thank Google very much for organizing this fantastic GSoC program and my mentor David Fifield for being so supportive and patient and helpful. I’d also like to thank Fyodor for all of his help as well. Finally I’d like to thank my twin brother Guanglin Xu for introducing me to GSoC in the first place.
By Weilin Xu, PhD Candidate, University of Virginia