李成章

Student at the University of Texas at Austin

About Me

picture of me

I am a junior at the University of Texas at Austin, majoring in Computer Science. I am also TA'ing for Dr. Alison Norman's Principles of Computer Science class.

This summer, I will be joining Dropbox for an internship. I have also previously interned at Google.

In my free time, I enjoy taking photos, social dancing, practicing Kendo, shooting pool, and playing frisbee.

Projects

Explore some of the larger projects I have worked on by clicking on one of the tabs above, or by visiting my GitHub (linked below).

A 3D object scanner written in C++ using the Kinect and a system for visualizing a 3D scanned object using Google Cardboard.

This was a group project for my Computer Vision and 3D Reconstruction class. Jaime Rivera and I primarily worked on the Kinect portion, retrieving depth maps and performing point cloud registration.

Using a number of supporting libraries, including PrimeSense's NiTE middleware, the SensorKinect library, OpenNI, and OpenCV, we were able to retrieve raw depth information about a scene from the Kinect. For the registration process, we implemented a version of the Iterative Closest Points (ICP) algorithm. We first use KD-Trees to find closest pairs of points between the two point clouds. Then we compute the SVD of the matches to find the optimal rigid transform from one to the other. Finally, we transform one of the point clouds and repeat the process until the two point clouds converge.

Link to project

An online contest submission system written in Python and AngularJS because running programming contests through email submissions is a terrible idea.

The original version was made during a 24 hour hackathon (HackTX) with help from Chris Sheahan on the frontend. Since then, we've redesigned the system and hosted an actual competition using the new version.

The server uses Tornado, a Python web framework, to serve the webpages as well as to respond as the RESTful API calls. On the front, we utilize AngularJS to design the dynamic webpage and Bootstrap to style the pages.

Link to project

An eventually-consistent distributed key-value datastore based on the Bayou architecture. Implements a basic anti-entropy gossip protocol and uses vector clocks to make the following session guarantees: monotonic reads, monotonic writes, read your writes, and writes follow reads.

This was a pair project written for my Distributed Systems course. I worked with Ryan Montgomery.

The server code is written in Java. Running servers communicate with each other through sockets and UDP packets.

Email me for the project source code

A distributed chat server that runs an implementation of multi-Paxos in order to decide on a total ordering of chat messages, regardless of which server a client is connected to.

This was a pair project written for my Distributed Systems course. I worked with Ryan Montgomery.

The server code is written in Java. Running servers communicate with each other through sockets and UDP packets. We designed the servers to be entirely event driven based on the Paxos messages it receives, besides the heart-beating/leader-election system.

Email me for the project source code

Implemented extended functionalities, in C, for an instructional operating system called Pintos. Some of the functionalities include priority scheduling, system calls, demand paging and swapping, and a multi-level indexed file system.

This was a group project written for my intro to Operating Systems course. My partners were: Chris Sheahan, Matthew Rayermann, and David Coon.

Email me for the project source code

TODO(chenclee): OTHER

Contact Me

Feel free to email me with any questions you have about my portfolio. I already have an internship lined up for summer 2015, but I will be looking for full-time positions the following year.

chencjlee@gmail.com