About
Hello! My name is Michael Tang. I'm a recent graudate from the University of Colorado - Boulder with degrees in computer science and mathematics. My interest in computer science involve computer vision, mobile application development, and programming language development. In my free time, I enjoy making small projects ranging from iOS apps, themes/packages for jailbroken iPhones, building interpreters and compilers, to even working on my own programming language! Plus this silly attempt at making my own website, recalling my all strengths in CSS. Scroll below to see my past projects, profession, and contact information!
Prelude
(view parallax effect on your mobile device)
One of my favorite things to do is craft new icons for iPhones. I went back to the old iOS icons ideas and crafted each icon you see below from scratch. This year-long project yielded 50+ icons and over 3K downloads on the Cydia Store. The complete list of icons are here and my previous work of icons before flatness took over.
MacOS GUI for iPhone
Jailbreaking iPhone gives users more than just the ability to change the apperances of icons; it can also change the entire experience. My most recent theme redesigned the home screen of iPhones to be of a Mac! This particular theme has accumulated 200K+ downloads. See a review here.
Acorn - Programming Language
One of my more ambitious project, Acorn, is a programming language made from scratch. It's the most challenging project I've taken on so far. Building a program that takes a program with infinite combinations of legal input became a mind-boggling realization. This project took a month to complete and nearly a year to refine. Acorn is an interpreted-programming language written in Python, which means that Acorn code becomes translated into and evaluated in Python. The goal of this project was to learn more about language creation, lexing, recursive-descent parsing, interpreting, language syntax/semantics, parse tress, abstract syntax trees, abstract-memory handling, lexical scoping, etc...
Iris - Assistive Technology
Iris is an iOS app that assist those with visual impairments. Iris uses Tesseract - OCR to analyze image-text and converts it to digital text. A feature of Iris translates further this image-text by turning it into viberation-braille. See a demonstration video here.
Profession
June 2018 - Present Software Engineer : Microsoft
I'm currently a software engineer at Microsoft up in Redmond, WA.
Jan 2018 - May 2018 Teaching Assistant : University of Colorado - Boulder, Department of Computer Science
Taught a recitation course for an introduction Python course offered by the Department of Computer Science every week. My responsibilities included teaching, grading homeworks and exams, and holding office hours.
Jun 2017 - Dec 2017 Course Assistant : University of Colorado - Boulder, Department of Computer Science
I held office hours for the students of the Intro to Programming summer and fall 2017 class at CU Boulder. My responsibilities include holding hours of assistance for individuals with computer science questions regarding the course and assignments. The intro programming class centralizes around C++, learning variables, control structures, loops, classes, and basic I/O.
Aug 2016 - May 2017 Tutor : Boulder High School
I met once a week with the 9th grade AVID (Advancement via Individual Determination) students. I tutored AVID students mostly on mathematics and physics.
Aug 2014 - Oct 2017 Student Assistant : University of Colorado - Boulder, Norlin Archive
2016 - 2017: Worked with others tracking all collections within the Norlin Archives in preparation to move their local database to an online database solution. My responsibilities included cross-referencing collections within the Norlin Archive stacks against their local database and finding anomalies.
2015-2016: I handled a subset of photograph order from patrons wishing to having historic/university photographs digitized for non-profit/profit use. My responsibilities included corresponding with the patrons, handling payments, and digitization of photographs.
2014-2015: Developed Python scripts to automate the process of floppy disk analysis. A large set of floppy disks were digitized, and each disk produced an extensive log on its state-of-condition. These Python script batch-examined the logs and yielded a report concerning possible corruption on track/sectors of disks.