Hi, I am currently pursuing a Master's degree in Computer Science at Carnegie Mellon UniversityI received my Bachelor's degree in Computer Engineering from University of Illinois, Urbana-Champaign in 2012, and worked as a software engineering intern at Oracle and Conviva. 
Here is my CV.


M.S. in Computer Science
GPA: 3.70 / 4.00
Pittsburgh, PA
2013 - 2014
B.S. in Computer Engineering
Highest Honors, GPA: 3.99 / 4.00
Urbana, IL
2008 - 2012         

Honors and Awards


Stegobot: A Covert Social Network Botnet
    Shishir Nagaraja, Amir Houmansadr, Pratch Piyawongwisal, Pragya Agarwal, Vijit Kumar, and Nikita Borisov.  
    In Proceedings of the 13th Information Hiding Conference (IH’11), Prague, Czech Republic, May 18–20, 2011.
    (arXiv: .pdf)

Media: [New Scientist] [msnbc] [Times of India] [Security News Daily] [Think Digit] [Criminal Wisdom] [LaptopMag]
SiliconIndia] [CSL] [ECE@UIUC] [NetworkSolutionTips] [The Best of arXiv Blog]

Going beyond Citizen Data Collection with Mapster: A Mobile+Cloud Real-Time Citizen Science Experiment
    Yong Liu, Pratch Piyawongwisal, Sahil Handa, Liang Yu, Yan Xu and Arjmand Samuel.
    In Proceedings of the 7th IEEE International Conference on e-Science (IEEE eScience’11),
    Stockholm, Sweden, Dec 8, 2011. (.pdf)

Working Experience

Software Engineering Intern - OracleSummer 2014
    Implemented streaming, distributed data transformation support for EL-T (Extract Load and Transform)
    data warehouse tool using Apache Storm and Kafka.

Software Engineering Intern
ConvivaSummer 2012
    Migrated a portion of company's back-end systems stack to Amazon EC2
    Developed an internal systems metrics monitoring tool using Java Apache Wicket and Hibernate

Research Assistant - National Center for Supercomputing Applications (NCSA)Fall 2011 - Present
    Created mobile water quality sensing application using Windows Phone 7 and Windows Azure Cloud
    Member of Digital Urban Informatics team.

Research Intern - Information Trust Institute (ITI)Summer 2011
    Implemented distributed primitives (e.g. reliable broadcast, mutual exclusion and clock synchronization)
    for Android applications operating in a mobile ad-hoc setting.

CS 425 Distributed System GraderSpring 2012 - Present - CS Department UIUC
    Graded homework and exam problems.

ECE 391 Computer System Engineering Lab Assistant - ECE Department UIUCFall 2010 - Spring 2011

    Developing an OS kernel can be quite a complicated and laboring task;
    I helped out students so that they needed not spend too much time in the lab.

  • Programming: Most fluent in C/C++, experience in Python, C# (WP7), Java (Android, Apache Wicket), x86 Assembly, MySQL
  • Tools: Matlab, SVN, Git,  LaTeX, Click Router, Amazon EC2/S3/Elastic MapReduce, Apache Storm/Kafka
  • Languages: English, Thai, and intermediate Japanese