I started programming back in grade six (11 years ago!) when I stumbled upon an how-to-build-your-own-website book in the library. Since then, I developed a strong desire to learn more about computers and to become a computer programmer someday. I later transitioned to PHP and WordPress in high school and did some freelance work for my teachers.
In university, I learned the full software stack from electrons, to transistors, to CPU design, to assembly, to abstract languages, and finally to data structures and algorithms. Nowadays, I enjoy working on data visualization and building web apps. I'm also known to occasionally stay up till 5 a.m. fixing that one last bug in my side projects. Grrr...
Topics I'm interested in:
- Performance optimization
- Static analysis
- Ray tracing
Interesting stuff I've done in school:
- Contributed to the SPA frontend for a medical procedure editor using Backbone and Marionette
- Wrote a ray tracer with advanced features such as refractions, depth of field, soft shadows, texture and bump mapping, etc. (July 2015)
- Investigated the feasiblity of using RSA vs. ECDSA signatures on mobile devices (Aug 2014)
- Wrote an OS kernel for a Cortex M3 board (Mar 2014)
- Wrote a MIPS compiler and assembler for a subset of C (Nov 2012)
- Built a 2D scrolling shooter game with C# and XNA (June 2011)
- Served as my high school's Yearbook Editor-in-Chief (2010-2011)
Internships (co-ops) during my undergrad:During my undergrad, I've alternated between four months of school and four months of internships. This allowed me to gain real-world experience and to apply the theoretical concepts learned in class. To see my responsibilities and full work history, please download my resume (PDF).
- Rocscience (Jan 2015 - Apr 2015)
- Lookout (May 2014 - Aug 2014)
- IBM (Sept 2013 - Dec 2013)
- 500px (Jan 2013 - Apr 2013)
- Pilot Interactive (May 2012 - Aug 2012)