Currently, I've finished a M.S. degree in Computer Science at the Courant Institute in NYU's Graduate School of Arts and Sciences with a thesis considering the problem of genome annotation with computational protein structure prediction. Artificial Intelligence and Neuroscience were big interests of mine while in school, and I'd like to pursue experimental research in machine learning.
At the moment I'm working as a research scientist for the Bonneau lab here at NYU's Center for Genomics and Systems Biology. I'm involved in a large scale distributed computing project that predicts structure and infers molecular function for proteins on a genome-wide scale, the Human Proteome Folding Project.
New York University, Courant Institute of Mathematical Sciences, 2007 - 2010
M.S. in Computer Science
Thesis - The Proteome Folding Pipeline
New York University, 2003 - 2007
B.A. in Computer Science
CS Prize for Academic Excellence and Service to the Department
I've taken the following courses at Courant.
Master of Science
- Foundations of Machine Learning
- Artificial Intelligence
- Computer Vision
- Speech Recognition
- Bioinformatics and Genomes
- Open Source Programming
- Networks and Distributed Systems
- Fundamental Algorithms
- Programming Languages
- Operating Systems
- Linear Algebra I & II
Bachelor of Arts
- Introduction to Machine Learning
- Software Engineering
- Object Oriented Programming
- Interactive Computer Graphics
- Applied Internet Technology
- Computer Systems Organization I & II
- Basic Algorithms
- Discrete Mathematics
- Calculus II
I've worked on a number of experimental projects. My main interest is in machine learning, and I hope to expand this section greatly in the coming years.
- Decoding High Dimensional Brain Imaging Data

Raw Data (above), Feature Selection (below)
My actual final project for Foundations of Machine Learning (Spring '08) involved learning prediction rules for cognitive states from fMRI data. The fMRI data offered by Tom Mitchell of CMU (StarPlus) details magnetic resonance imaging of subjects performing two task while under observation. With the fMRI data we showed considerable success predicting the task a subject was performing, so long as we trained on the subject beforehand. The data is extremely high-dimensional, noisey, and lacking in examples, but our great success came with feature selection.
Paper (PDF 170K)
SVN (MATLAB) - https://subversive.cims.nyu.edu/winters/projects/starplus (anonymous:anonymous [user:pass])
- Empirical Investigation of Shallow and Deep Architectures
My proposed final project for Foundations of Machine Learning (Spring '08) involved experimentation with deep learning networks, but will have to wait for another opportunity. More about deep learning can be found on Yann LeCun's web page, here.
Unfortunately, my proposal has been lost to the sands of time.
- Hidden Markov Models of Melodic Improvisation
A funded research project with Professor Panayotis Mavromatis involving the production and selection of Hidden Markov Models of corpuses of music. A description of the project is reproduced below from the CS Colloquium. I've been developing a HMM library for the Lush programming language and an interactive Java gui using the Java Universal Network/Graph (JUNG) framework and the Eclipse Rich Client Platform (RCP).
SVN (Java, Eclipse Plug-in Project) - https://subversive.cims.nyu.edu/HMMlib/edu.nyu.smusic.theory.hmmlib
SVN (LUSH) - https://subversive.cims.nyu.edu/HMMlib/hmmlib.lsh
Computer Science Colloquium : http://cs.nyu.edu/web/Calendar/colloquium/sp08/jan25.html
Identifying the best HMM for a musical corpus breaks down into two sub-problems: (i) identifying the model topology (how states and transitions are connected) and (ii) for a given topology, identifying the model parameters (transition and output probabilities). Subproblem (ii) is adequately addressed by the Baum-Welch (BW) algorithm. Here we emphasize subproblem (i), as it is essential for the grammatical interpretation of the HMM. We show how a systematic search on the space of model topologies can be carried out using state-merging, state-splitting, or a combination of the two. This search is governed by a cost function based on the Minimum Description Length principle. This function is designed to reward goodness-of-fit while penalizing model complexity to safeguard against overfitting. We present several applications of the technique using real and artificial corpora that exemplify different types of syntactic patterns.
- The Great DNS Wall of China
This final project for Jinyang Li's Networks and Distributed Systems course tested and exposed DNS tampering methods employed by the Chinese Government. Initial results imply a centralized blacklist and DNS packet filtering at the ISP backbone level. Further research may involve repeating the experiment from different global positions (employing PlanetLab machines for example) and searching for regularities.
Paper (PDF)
SVN (Python) - https://subversive.cims.nyu.edu/ndsproj (Caution, Bloated Repository)
- Classifying Facial Expressions
Final project for Yann LeCun's Machine Learning and Pattern Recognition course. The initial idea was to train a convolutional neural network to classify pictures of faces with the Facial Action Coding System (FACS), but unable to secure a labeled dataset I settled on a less ambitious classification scheme. Faces were classified along 6 points: Happy, Sad, Fear, Disdain, Anger, Suprise, Neutral. The data came from the Japanese Female Facial Expression (JAFFE) database, and I had provable success rates below after a standard 20 or so rounds of training. Convergence was proven, and I believe this to be an acceptable proof of concept. Further research could involve integration of these methods with now common face location methods allowing systems to be socially and emotionally aware of their subjects. I attempted to use a custom high pass filter on the images and test the network on manually classified images of myself and friends (examples below) but the network was too reliant on image conditions from the dataset, and perhaps only learned to classify Japanese women.
Source (LUSH)
| Dataset | Size | Energy | Correct | Errors | Rejects |
| training | 390 | 0.109 | 100.00% | 0.00% | 0.00% |
| testing | 36 | 0.5195 | 88.89% | 11.11% | 0.00% |
| friends | 41 | 4.2772 | 14.63% | 85.37% | 0.00% |
- RCC Diagram
Experimental attempt at generating satisfiable diagrams from the Region Connection Calculus. The algorithms were developed by Professor Ernest Davis and implemented by myself. The project is incomplete, but the project was picked up by PhD candidate Long Lin.
Algorithm - Source (Java) - Distribution (Java)
- Gitclipse - Open Source Git Eclipse Plugin
I was involved in the open source projects Gitclipse and Javagit as a founder and primary contributor. It was created for my Open Source Programming course. The git Eclipse plugin was developed as a major user of the java git api also created by this class. One of my major contributions was to automate Gitclipse's build and test processes within the complicated (and poorly documented) Eclipse PDE build tools. Unfortunately, the project was discontinued.
gitclipse
javagit
- Trippin '07
This project was built as an extreme experiment with AJAX. The user, once logged in, never refreshes a page. All communication with the server is managed asynchronously. "Trippin'07 is meant to organize pictures, notes, and other media that one has collected from travels. The user will interface with a detailed world map. On this map, the user can place pushpins to mark places visited. With each pushpin, the user can associate pictures, notes, and other information that he/she has from that place. In this way the user can build a complete narrative of his/her travels that is comprehensive and easy to navigate." Server-side built in C++ using Cgicc. The client-side library was built on top of ExtJS, view [www/js/Trippin] inside the distribution to view our "Trippin" namespace.
Distribution (C++, Javascript 11.4 MB) - Architecture
- Practicioner Salvatore
"This is a cheap knockoff of Nintendo’s Dr. Mario. Salvatore uses generic prescription drugs!!"
I seem to keep returning to this game, it's been done in C++, assembler, and a Java Applet. The amazing artwork was done by the talented Eugenia Sangiovanni of the University of Southern California.
C++ OpenGL - Code Sample - Distribution (30MB) Requires a few libraries: ImageMagick, Glut, OpenAL
Java Applet - I may have lost my copy of this!
Assembler - Source - Distribution - This is the original version I developed in assembler for my Machine Organization class.
I've programmed a variety of small, medium, and large projects in an assortment of languages. Links to some source code can be found.
Programming Languages:
- Java
- C/C++
- Javascript
- LUSH (Lisp Universal Shell)
- PHP
- Python
- Ada
- Assembler
- LaTeX!
- MATLAB
- ... and more ...
With Experience in:
- Java Servlets, JSP
- Eclipse Rich Client Platform (RCP) and Plug-in Development
- SQL and Databases
- XML Technologies and AJAX
- Javascript Libraries
- Javadoc, Doxygen, Unit Testing
- Graphics/Audio Programming (OpenGL, OpenAL)
- Subversion, CVS, Git
- Windows, Unix, Linux, Mac, OS/2
- GUI Programming (Swing, SWT/JFace)
- ... and more ...
I'm in Professor Richard Bonneau's lab as a software engineer and researcher. Bonneau Lab
I worked for Professor Panayotis Mavromatis. Some information on the work can be found in the Research section, or on his website.
I've tutored Professor Sana' Odeh's web development classes for over a year now. Office hours vary, but I'm always available via e-mail.
- Web Development & Programming - Fall '07, '06 - V22.0061-001
"This course provides concrete knowledge in popular web technologies and programming. Students develop interactive, secure and powerful projects for the web. The course will cover client and server side technologies for the world wide web." (Course Website)
Topics Covered:
- Javascript
- PHP
- Server Installation and Configuration
- Server Side Includes (SSI)
- XML Technologies
- Game Programming for the World Wide Web - Spring '07 - V22.0380-001
As an undergraduate I worked for a computer service company as a technician.
NY Computer Services, Inc. NY, NY 4/2005 - 8/2006.
- Administrator of Active Directory on Windows Servers, Communigate Mail and WWW Servers on dedicated Linux machines.
- Performed innumerable technical activities supporting Mac and Windows workstations for a variety of clients (Commercial Production, Architecture, Publishing, etc.) around Manhattan.
- Maintained, configured a variety of small and large wired and wireless networks with firewalls, NAT and port forwarding, and various network printers and devices.
- Performed repairs and/or replacement of hardware for both Mac and PC laptops, workstations, servers.
- Provided telephone and on-site support and customer service for small and large companies, individuals, and house calls.
I'm a soccer, tennis, and golf player. I have two dogs that like to get outdoors as much as possible. I've got a bike (I ride it), a couple bookshelves with a wide variety (mostly science fiction), a chessboard, and very little time to use any of them. I married into an Argentine family, and I can speak a good deal of Spanish (but don't test me).