CNSPEC is a company working on some really interesting space-oriented applications for superhighrises in China. We build sophisticated 3D model of the building with BIM data, engineering plans, 3D scans, faculty and staff etc, and then build business applications utilizing these models. The applications we build leverage some really fascinating technology and I've had a blast learning something new every day.
My responsibilities at CNSPEC have involved a huge scope. I have been requirde to learn a lot of new skills and harden their system architecture. I have written a lot of 2D and 3D map frontend interfaces for their client buildings (including Shanghai Tower, the tallest building in China at 128 floors). I have built and managed webservers, optimized DB performance, upgraded API endpoints to HTTPS, and a lot more. Most of our work is in private cloud deployments, so I don't have many links to share. :(
The impetus for this project was while I had been programming for a considerable amount of time, all of my code was written to run on the CPU. I didn't really understand how computer graphics worked and how code written for a GPU was designed or written. So I decided to learn C++ and computer graphics at the same time! I self-studied C++, OpenGL, general computer graphics theory, and then moved on to Physically Based Rendering (PBR).
After several months of independent studying, I used an open-ended mathematics final project as an opportunity to dig a little deeper on the mathematically theory behind 3D computer graphics as well as modern Disney Bidirectional Reflectance Distribution Function (BRDF) PBR methods. My final paper and presentation are linked below.
This project was easily one of the coolest arcs af exploring and learning that I've ever experienced because it A) demystified the GPU and the
I made a website that essentially allows one to enter a search query like "wtf is garbage" and get a quick overview. Currently I pull content in from Wikipedia and display it using the Wikipedia API
For my Data-Intensive Computing Systems class, I have been working on a fascinating project involving the NYC Taxi Dataset. I have worked with a partner to explore the data as much as possible and provide interesting visualizations for the data. In order to do this, my partner and I made use of a wide array of technologies including (but not limited to) the below list.
Technologies Used: AWS EC2, Spark, Microsoft SQL Server Matlab, LaTeX
During the summer of 2016, I worked at Lyft HQ in San Francisco, CA. I was a member of the Automation team which owned CI / CD and related infrastructure at Lyft. I worked on an internal tool to help debug common errors and trace a bug to the original code author.
I spent a weekend creating a clone of this fun little website. The premise is that you type whatever you like and code is streamed to the screen at an alarming rate. It is supposed to personify all the terrible misconceptions that Hollywood has given people for what hacking actually looks like. Original uses same code every time, while my version randomly generates the code based on code grammars that I wrote.
Taking the summer to sharpen my Chinese skills at the at the University of International Business and Economics in Beijing (北京). I am enrolled in Duke's Study In China Program (DSIC), which will count as my 2nd year of Chinese language study.
I was contracted by a friend of mine to create a single list of every Duke faculty member, regardless of department, because surprisingly enough, this did not exist already in an easily accessible way. I used BeautifulSoup4 in Python to scrape the data, and stored it in a csv file.
I founded a printing company with the intent to provide new artists with a way to easily break into the realm of selling their art. No need to handle manufacturing or distribution only create beautiful things.
I recently found a demo of IBM Watson's User Modeling and decided to see if I could harness this tech demo to analyze my own personality. I have kept a digital journal since 2011, so I had a large amount of data available to analyze, so I extracted the text of journal entries by year and submitted them to the analytical eye of Watson. I wrote a pretty detailed blog post about my process and results. Most interestingly, I found that as I developed into an adult, I didn't develop new characteristics really. But rather, I pruned out certain characteristics and marginally advanced others. So my strongest traits became stronger and I completely deleted certain other traits out of my personality all together. Overall this was one of the most informative technical investigations I have ever done because it taught me a lot about myself.
WikiQuiz was my entry into HackDuke's 2014 Education category. WikiQuiz is the embodiment of a very long running project of mine to figure out how to extract the most salient objective facts from a corpus of text. In this case I do so by a combination of a number of methods chief of which is some basic NLP feature extraction using nltk. I believe that if the process of extracting the important and objective thoughts from a body of text is one of greatest challenges that technology is facing today. I began development at HackDuke and have since been making modifications to better the question generation.
LearnThings is a studying app built for procrastinators. Instead of cramming for a single continuous chunk of time before an exam, one could use LearnThings to space that studying time out over several weeks. LearnThings uses notifications to passively ask you questions, which you can directly interact with, or tap through to grade yourself. LearnThings is at most two taps per interaction, so the experience is left light. You can tell LearnThings when you are available so that you will only get asked questions within that time frame.
Camoji is a content creation tool that allows you to record gifs and easily send or share them with friends. Camoji relies heavily upon gestures for app navigation. Swiping in each cardinal direction performs an action (Share, Delete, Back to Camera, Send). I specifically worked on the web-server.
I began working as a part-time Android contract programmer during school, and came on board full time for the summer. During this summer I decided to become an entrepreneur.
Fratspeak is a project that I threw together with a couple friends over a weekend that uses some boring technology to generate sentences "in the style" of fratstars. For the most part, these sentences entirely lack any inkling of orthology or general sentence syntax.
I wrote this app because I abhor small talk. I hate to waste time with conversation topics in which I have very little chance of gleaning any information of worth from because they lack the complexity to imbue it. BetterConfab is meant to be a tool with which you can unlock more interesting conversation with people you don't know...yet.