Aaron Charles Lindsay
Education
Virginia Polytechnic Institute and State University (Virginia Tech), Blacksburg, VA- M.S. Computer Science and Applications (3.95/4.0 GPA) - June 2012
- B.S. Computer Science / Math Minor (Summa Cum Laude - 3.90/4.0 GPA) - December 2010
Technical Expertise
Languages:
Assembly (ARM), (Ba)sh, C, C++, CSS, Go, HTML, JavaScript, make, Python
Skills:
Design/develop/debug applications, libraries, and operating system kernels (Linux), optimize for performance (from hand-coded assembly to web applications), debug complex multi-system problems, Linux/Unix administration, automation, continuous integration, web development, distributed VCS (git)
Related Experience
- Qualcomm Senior Engineer - August 2012 to present
- Debug Linux kernel and application functionality and performance at levels from high-level software design to instruction traces and processor pipeline interactions
- Optimize Android/Linux applications and libraries for Qualcomm's Snapdragon processors
- Influence next-generation processor design by creating/analyzing processor performance micro-benchmarks
- Develop tools to drastically accelerate data-gathering and analysis for software and hardware optimization, including a lightweight container format and infrastructure, allowing shared run scripts and automated profiling across thousands of workloads
- Pioneered basic block vector-based correctness validation for workloads run on software performance models, preventing undesired behavior and ensuring results can be trusted to make hardware design decisions
- Leverage open-source software, adapting and extending for internal needs and contributing changes upstream
- Develop tools to drastically accelerate data-gathering and analysis for software and hardware optimization
- Real-time Linux Systems Research at Virginia Tech - August 2010 to May 2012
- Formulated and empirically evaluated cache-aware real-time scheduling algorithms and partitioning schemes
- Researched and implemented techniques for quickly communicating kernel scheduling decisions to user space
- Qualcomm Software Development Engineer - Summer 2011
- Developed and supported snapshot/restore mechanism for next-generation mobile processor simulator
- Co-developed 'fast-forwarding' for the same processor performance model
- Virtual Environments Research in Computer Science - Spring 2010
- Conducted user studies testing the effects of interaction fidelity on procedure memorization
- Designed the test environment using Blender, programmed it with Python and the Vizard Toolkit, including C++ to interface with VR hardware
- IBM Emerging Technologies (jStart Team) - January 2009 to February 2010
- Architected, programmed, tested, and presented new distributed mashup technology utilizing XMPP, a custom Java server, MySQL, HTML5, JavaScript, and CSS
- Created and deployed IBM Media Hub demonstration on IBM cloud using Red Hat Linux
- Filed patent for "Distributed Multi-User Mashups" (granted as U.S. patent US20110161833)
Technical Hobby Projects
- Administer several web services for family/friends, including email, wiki, personal cloud, and git
- Develop open-source software, such as a web-based personal finance/accounting application