This is my portfolio, demonstrating research I've been involved in and projects I've worked on. My major fields of interest are computer graphics and human computer interaction, and I've conducted research on physically based simulations and online video interaction. My minor concentrations are large-scale system design and astrophysics, both as a compliment to my graphics interest. My research interests are accompanied by a passion for teaching computer science, and I'm a member of the teaching staff at UC Berkeley.
As an entrepreneur I am connected to the startup world through my current involvement with startups and the Bay Area's culture of technological ventures.
Brutesoft Inc.
Visit website
VP of Research
: Today, BruteSoft provides enterprises with a radically new approach to managing their computers in an efficient and effective way, saving you money and reducing your carbon footprint. BruteSoft's DistriBrute product suite delivers complete desktop, laptop and server provisioning, deployment and upgrading of applications, as well as the distribution and management of patches. Our products have reached the pinnacle of software distribution efficiency. As a proof point, our products are capable of transferring the equivalent of a DVD of 5GB within 5 minutes to 10,000 desktops on a 1Gbit LAN/WAN.
I focused my undergraduate career on developing my skills as a researcher and explore my interests in computer science and related fields. Here I present a short summary of research groups I am affiliated with, and publications I have been involved in.
Berkeley Computer Animation & Modeling Group
Visit website
SIGGRAPH 2009 Simulation Paper
(in progress):
My collaborators and I have made a concerted effort to exploit the environment of multiplayer games to improve simulation quality for end users. By synchronizing simultaneous simulations between clients and servers, we can mitigate the effects of network latency while providing simulations of much higher quality than clients can generate individually.
Yahoo! Research Berkeley
Visit website
"Enhancing online personal connections through the synchronized sharing of online video", SIGCHI 2008 Paper: Our work focused on creating an environment where the sharing of media consumption between multiple people can be recreated online. We expanded the traditional viewing experience of multiple people watching the same video and have the ability to discuss and review it, into the online domain.
Alex Filippenko Supernovae Research Group
Visit website
Co-Author of SN2008S: A Cool Super-Eddington Wind in a Supernova Impostor
Acknowledged in The Exceptionally Luminous Type II-L SN 2008es
We use a robotic telescope and custom computer vision software to detect new supernovae in nearby galaxies, and track these violent cosmic events through a series of photometric follow-ups using Lick Observatory's 1m telescope. Our research has led to finding several extraordinary supernovae, and my work as a researcher and certified observer was acknowledged and published.
Client-Server Simulation Improvement & Cloth Simulation
(Work in Progress)
I'm working on improving simulation quality and efficiency in multiplayer game environments. To that end, I've built a real-time cloth simulator and am working on synchronizing simulations between clients and servers to improve simulation quality. This project is done in conjunction with Sebastian Burke, and under lead of Prof. James O'Brien.
Marionette - Pixar Animation Studios Software Engineering Internship
I interned at Pixar during Summer 2007, where I was a member of Pixar's next generation software engineering team. I worked on symmetric rig modeling as part of Pixar's "Marionette" animation toolkit. Details of my work in still under Non-Disclosure Agreement.
Bezier Curve Prototype (Java applet): I experimented with Bezier curves by prototyping a Java applet that provides a simple editing interface to create these curves. (Time to implement: approx. 90 minutes) | |
Bezier Surface Prototype (Java applet): This applet attempts to subdivide a set of bezier patches into triangles, allowing me to experiment with interpolation methods for this project. (Time to implement: approx. 120 minutes) |
I interned at Yahoo! Research Berkeley for the duration of 2007. I was a member of the Media and Community team, responsible for the back-end Flash video server, as well as synchronous video sharing applications built on top of the platform I developed. The video server platform was based around the Red5 video server, and our prototypes, codenamed Zync and Webzync, went on to be intergrated into Yahoo! Messenger and Yahoo! Live.
CS184 Computer Graphics.
Received Oustanding GSI Award in 2009.
I served as a Student Instructor for Berkeley's undergraduate computer graphics course during both Fall 2008 and Spring 2009. The teaching staff for this semester consisted of myself, my fellow student James Andrews and Professor James O'Brien (2008) and Professor Carlo H. Sequin (2009). I taught two discussion sections, wrote handouts as supplements to lectures and projects, and worked one-on-one with students to develop final projects for the class. My instructor page can be found here.
Self Paced Center
Berkeley's Self Paced Center offers one-on-one teaching of introductory computer science courses and language-specific training. I spent a semester working as a tutor, teaching Java, Scheme, C/C++ and introductory programming. All the teaching in these courses happen on a one-on-one level between students and tutors. I received high ratings as a tutor and strove to embed a fascination for computer science through an intricate understanding of the concepts along with an enjoyment for hacking on projects.
HTTP/1.0 compliant web server
A fully functional web server, supporting keep-alive connections and chunking for high throughput, written in C with no dependencies outside of kernel-provided sockets.
Modified TCP-IP Implementation
A reliable data stream protocol built on top of UDP using selective acknowledgements and TCP Vegas style congestion control to improve TCP throughput and performance in lossy situations.
NACHOS Operating System
Extensions to the basic NACHOS operating system to support threads, multiprogramming, caching and virtual memory.
Radioastronomy
Much of astrophysics consists of signal processing and simulation problems, and can serve as a rich body of work to motivate and enrich computer simulations. Berkeley's Radioastronomy course depends on the student's ability to model and simulate the solar system for tracking purposes, and apply engineering principles to measure physical parameters of objects in our galaxy. Here I present 4 papers my team authored during our radioastronomy class.