This page is to make my potential recruiters/colleagues/friends to know me better. As we all know, due to the limitation of the resume, people cannot fully present their education background, projects, and other cool things in their resume. So, in this page, I will try my best to break that limitation and present some cool stuffs I made.
Although I’m a computer science student, software is not the only focus of mine. I prefer to define myself as a combination of software engineer, hardware engineer, photographer and designer.
I love new things, like learning new knowledge, making new friends, moving to new places. So, don’t hesitate to be my new friend!
In September 2017, I started to pursue my masters degree in Computer Science at Brown University.
In August 2017, I graduated from Shanghai Jiao Tong University (SJTU) as a bachelor in Electrical and Computer Engineering at UM-SJTU Joint Institute.
From May 2017 to August 2017, I, together with Yuchen Wang (Duke University), Miaomiao Chen (SJTU), Jiaqi Huang (Amazon) and Xinyi Wu (SJTU), made the Encoder Automation Fuzz Test Suite as our major design project, which was sponsored and mentored by Intel.
In this project, I was the group leader and responsible for communication between our group and the company representatives. I also developed the performance test module for this project. In the performance test module, I completed the multi-threads and multiple times tests and added a GPU usage detector within.
In April 2017, I graduated from University of Michigan (UM) as a bachelor in Computer Engineering.
From January 2017 to April 2017, together with Shuo Chen (Amazon), I developed a top 3 Decaf compiler and got A for the compiler course.
From October 2016 to December 2016, together with Yilei An (Google), Yulin Xie (Amazon), and Yanda Huang (CMU), we developed a computer vision project – The Great Arm.
The picture on the right represents what we achieved. Simply speaking, our project can detect the human arm and calculate the intersection point between the arm line and the screen plane. Then, it projects that point on the screen plane and marks it on the camera.
In this project, I came up with this great idea, collected the data set for training the skin detector, did the camera calibration by using MATLAB, and implemented the pointing point calculation module.
For more technical details, you can read the ppt and there is a gif demo inside: EECS442- The Great Arm (although inside the PPT we called it Smart Pointing Detector) .
In this project, Hua Zhu (UM) and I built a replica of Metroid (a famous NES game) in Unity with a special level called Metroid in Mario (put the main character and enemies of Metroid into Mario’s first level). In this project, I was fully responsible for AI, movement and animation of the enemies. It helped me learn a lot about how to use Unity to build a 2D game.
This game is a kind of table football like, 2-player competitive game with a lot of interesting mechanisms. Due to this game, I recognized an extremely talented developer, Dapeng Xu (UM). Since we always designed, built and tested the game together, it is hard to distinguish which part was done by mine and which one was not. Anyway, it is an amazing and juicy game, and you must have a try!
This game is fully done by myself in one week, and it was the top game in this personal game project! Basically speaking, it is an endless running game and you need to control a accelerating ball to avoid traps. In this game, I solved the problem about how to present depth information to player in a 2D screen plane and how to build an random, endless but interesting game.
Since I was the only one in this team who know something about art, I was responsible for nearly all art design things instead of doing a lot of coding. I designed main characters and their animations by using 3Ds Max (learning it from scratch was really hard), the art style of the game, and one third of the levels and traps.
In the Design Expo, over hundreds of people played our game, and our game won the second prize. (Since our game was harder to get start than a gun fight game, that group won the first prize and we lost the chance to get a disk of Civilization VI signed by Sid Meier, sign….) Due to our outstanding performance, our game was permanently saved in the UM game machine, which could be found on the first floor of BBB building now. If you have any chance to go there, please try our game! If you don’t have a chance, don’t worry. You can directly download it here: Sub-zero Escape (Windows Only.) However, this is not the final version due to an accident, and it has some bugs. To play it, you need to prepare two screens and two JoySticks.
The source database can only allow searching by keyword or id and downloading data set online. Each time we can only download one data set, but we need to get a copy of source database into the UCAR Geography Database. However, because there was over 100TB of data, it was meaningless to copy them all.
So, I built a web crawler to grab the description and id for each data set. Besides, I added the download module within the web crawler. The user just need to read the description, add the id of the data sets that they want to a list. Then, all data will be directly downloaded from the source database.
Shiny APP is a famous open source visualization program in R. The CAS wanted to build it inside the server and let people access and use it from the website. Since Shiny App was a new thing for the whole department, we had to learn to use it from zero. For my part, I researched about how to use Shiny and help Dr. Wang to develop the Shiny App on the server.
Since each Shiny APP can serve only one user at a time and we needed to keep opening and closing it to serve all users, we needed to build a control system. Dr. Wang wanted to use a single C program to control it by using multi-threads method to open and close Shiny Apps and give parameters to them, so that users just need to interact with the C program. Before doing it, he asked me to research on it.
The callback errors were caused by improper setting of host file and improper setting of http/https. It was easy to solve but hard to find and, as a result, it took me several days to add break points and check the variables’ values. Then, I knew how to be patient and successfully solved the problem.
Cloudman is a glue platform that adapt its configuration to different cloud servers, if you build your things on top of this platform. Since the CAS didn’t want to keep configuring cloud servers when it wants to move to another could server, Cloudman was their choice. So, I spent several days to read documents and try to find the limitation of Cloudman. The result showed that CAS cannot use it, because it cannot provide the support for a key tool of CAS. Although Couldman didn’t work, my searching and summarizing abilities got praised by the whole department.
In this project, I coded the whole tape tracing, car accelerating and turning control system. I also assembled the circuit and all parts of the car. The motor controller used Verilog to code while the other parts were mainly based on C. Anyway, it was a really interesting and funny project.
From September 2015 to December 2015, Da Fang (UM), Yilin Guo (UM) and I designed and built the Fast 8-bit Full Adder by using Cadence.
In September 2015, I went to University of Michigan to attend the dual degree program.
In July 2015, I was selected as one of the seven Merit Student (Three Good Student), one of the highest prize for Chinese university students, over the Joint Institute.
In August 2014, I became the “Mayor of Beijing” in “Joint Departure” program, a social practice to expand university influences, with over 700 students from 4 senior high schools to participate my lecture.
From September 2013 to December 2014, together with Xi Chen (UM), Feng Yu, Dazhi Wang (UM), Ruchen Zhen, we build the Glove Keyboard, which could be used to type on any plane. Simply speaking, we detected the degree of bend for each finger by using resistance and used that resistance value to know which row the user is typing. The whole project was based on Arduino, and it was the first engineering project of mine!
From September 2013 to September 2014, I became a member of Student Union Media Department, and participated the making of all short films and writed around half of the news for UM-SJTU Joint Institute in this year.
In September 2013, I became a student in Shanghai Jiao Tong University, one of the top 5 universities in China.
In May 2013, I graduated from High School Affiliated to Renmin University of China, the best high school in China.
I love ACGN (animation, comic, game, and novel). Especially for SLG game, Japanese animation and comic, and Chinese web novel. Before 2013, I have played all PSP games which have Chinese localization and all SLG games on IOS. At my most crazy moment, I keep tracking the most recent updates for over 100 Chinese web novels and over 300 Japanese comics (manga) at the same time. For animation, I think I have watched all famous/interesting Japanese animations between 2005 and 2015.
Currently, I’m not that crazy for these things. For now, I’m focus on playing games made by Paradox in my spare time (if I have it). However, I’m still a big fan of ACGN. If you would like to discuss these things with me, I will be very happy.
Just leave a massage inside this blog!