Projects
Screwdriver
Description
Lead and develop many core features of Screwdriver, an open source build platform designed for Continuous Delivery.
Technologies used
Nodejs, Golang, Kubernetes, AWS, Docker, Postgres, MySQL, Github API, Bitbucket API, etc.
Press Releases:
http://fortune.com/2017/01/12/yahoo-screwdriver-software/
https://yahooeng.tumblr.com/post/155765242061/open-sourcing-screwdriver-yahoos-continuous
https://www.infoq.com/news/2017/01/yahoo-screwdriver
http://sdtimes.com/yahoo-open-sources-continuous-delivery-tool-screwdriver/
https://news.ycombinator.com/item?id=13422740
http://www.infoworld.com/article/3157448/devops/yahoo-adds-screwdriver-to-devops-toolbelt.html
http://opensourceforu.com/2017/01/yahoo-open-sources-continuous-delivery-system-screwdriver/
http://blog.locki.io/posts/screwdriver.html
Systolic Pressure Estimation Using Video Processing
Description
Designed and implemented a low-cost and convenient method to estimate systolic pressure using video processing. The method extracts pulse transit time between the neck and the wrist using video processing, which includes feature extraction, feature tracking, temporal filtering, principle component analysis, etc. After obtaining the pulse transit time, linear regression analysis is done to estimate systolic blood pressure.
Technologies used
Matlab, Harris Corner detection, Lucas-Kanade tracking algorithm, bandpass filter, Principle Component Analysis
Papers
Database System Implementation
Description
Developed a query execution engine which receives a simplified XQuery and an input XML file and evaluates the query. The system parses the query into an abstract tree representation (using ANTLR4), optimizes it (using hash-based join), produces a list of output nodes, and constructs a result file in the form of XML.
Technologies used
Xpath, XQuery, XML, ANTLR4, Java
Just In Time Mobile App
Notes: This project was done before Google incorporates similar feature into their Google Calendar
Description
Tired of making excuses for being late to meetings? Always oversleep and miss class? Want to be notified when to leave for appointments? We have the solution for you!JustInTime helps you stay on top of what you need to do with its simple daily agenda. It tells you the distance and the time it will take to reach the destination of your next event. Even better, Just in Time will start notifying you when it's time to go based on your current location and traffic.JustInTime is fun, easy to use, and completely free! With this app, you will never have to worry about being late again!
Technologies used
Android SDK, Google Map API, Windows Azure, bitbucket, egit, Java, php, SQL
Features
Estimated time and distance to arrival
Get notified when it is time to go
Daily agenda
Personal statistics and graph of punctuality
Organize events
Send event invitations to friends
Point systems: compete with friends for fun titles such as "Snowflake" (for Flakers), "Early bird", etc.
Survey Dashboard
Description
Developed a web application for researchers to check survey statistics such as participant's names, survey response rate, last response date, etc. and filter for desired data.
Technologies used
nodejs, expressjs, jade, passportjs, nodemailer, javascript, HTML, pureCSS, SQL
Heat Map
Description
Generate a heat map based on GPS coordinates from a location tracker. Calculate distance traveled and generate related graphs.
Technologies used
python, Google Map API
Photo Filter
Description
This is a mobile web application that allows users to transform their photos using multiple filters. Users can also add text/comment and share to different social platforms such as facebook and flickr.
Features
More than 30 filters
Stack multiple filters
Photo Gallery
Add text/comment
Share to facebook/flickr
Technologies used
HTML, CSS, JQuery, C++
Digital Vision Screening
Description
Detect the crescent error on the eye and aid the user in determining if the patient has amblyopia or strabismus.
Implement methods to detect the errors, and fully integrate the image analysis end with the GUI end of the project.
Technologies used
OpenCV, Visual Studio C++
System Measurement Project
Description
Implemented and performed a series of experiments to measure the performance of Ubuntu 13.10 on a Dell Studio XPS 13” with Intel(R) Core(TM)2 Duo CPU P8600 @2.40GHz
The measurements included 4 categories:
- CPU, Scheduling, and OS Services: task creation overhead, context switch overhead, etc.
- Memory: RAM access time, page fault service time, etc.
- Network: RTT, connection overhead, etc.
- File System: file read time, contention overhead, etc.
Technologies used
All code was written in C
Pipelined CPU
Description
Designed an ISA and implemented a fully pipelined CPU which includes the register file, ALU (arithmetic logic unit), and the fetch unit. The overall philosophy for this ISA was a Reduced Instruction Set Computing (RISC) style architecture.
Technologies used
C, SystemVerilog, Quartus II
Reduced C Compiler
Description
Built a compiler that takes a Reduced C program as input and generate corresponding SPARC assembly code to result in an executable program.
Implemented semantic checker, syntactical analyzer, and code generation with dynamic runtime checks.
Technologies used
C++, bash
Crossfit Workout Tracker
Description
Created a web application for Crossfit Athletes to log their daily workout data and activities. The app includes many other features such as calendar, graphs, notes, goal tracker, photos, etc.
Technologies used
php, MYSQL, HTML, CSS, javascript
Shopping Application
Description
Developed a shopping application that enables the customers to browse and search a product catalog and buy products. The owners of the application are able to analyze the purchasing and browsing patterns of the users to obtain insights.
Technologies used
SQL, jsp, Tomcat, Javascript, Ajax, HTML
Travelr - 24hr Hackathon Project
Description
A traveling app that suggests users where to go based on top tagged geo location on flickr.
Technologies used
groovy, grails, flickr API, d3js, Javascript
Geo-based Trivia Game - 24hr Hackathon Project
Description
A geo-based trivia game with questions about the location that the airplane is passing.
Technologies used
Nodejs, Javascript, HTML, CSS
p4shelve with Jenkins - 24hr Hackathon Project
Description
Use p4 shelve in Jenkins to tell whether the commit breaks the builds even before pushing the code to production.
Technologies used
Technologies used: Perforce, Jenkins, bash
Build Notifications for Slack - Hackathon Project
Description
A notification hooks that would notify the slack channel when user's build passes or fails.
Technologies used
Nodejs, Slack
Automigration Microservice - Hackathon Project
Description
A microservice that auto-creates projects and converts old configuration file to the new configuration format.
Technologies used
NodeJS, Github API
My Tritonlink 2.0
Description
Web application that provides tools for students, faculty, and admin.
For students: academic history, degree audit, class planner, grade distribution, etc.
For faculty: class roster, scheduling classes so that there are no conflicts, etc.
For admin: insert/delete/update student, faculty, department, degree requirement, etc.
Technologies used
PostgreSQL, JSP, Java, JavaScript, jQUery, HTML, CSS