Current Projects

AdMatch Clustering System

AdMatch is an information extraction utility aimed at characterizing businesses and assisting a marketing director in finding the appropriate corporate venue for a targeted ad campaign. In an age where advertising is vital yet costly, marketers cannot afford to promote their product in a risky manner. AdMatch simplifies the search for the best advertising environments by automatically generating a list of similar businesses given an input business name. The system will maintain an automatically populated business database which will be browsable using a web frontend.

 

Rumble Simulation Language

Rumble is a scripting language for creating simulation environments and their dynamic participants.  Developers can write code in Rumble to simulate things like wrestling tournaments, presidential elections, or even elevator pick-up algorithms.  Participant strategies can be created to control how participants will react to their surroundings.  Additionally, each participant in the environment has common attributes that change as they encounter events that occur.  The environment is initialized programmatically, sets constraints on global attributes, and defines attribute constraints that its participants must abide by.  Here is a birds-eye view of an example Rumble implementation:


Software developers working for the Killary Hinton presidential campaign want to get an idea of what the future might hold for their beloved candidate if she continues her current campaign strategy.  They write an environment in Rumble that states that each candidate has financial, charismatic, and energy attributes and specify a round-robin-like algorithm that determines how often virtual candidates have the chance to influence and react to their virtual world.  Then they write a participant script for each candidate in the presidential race, making sure to model the given candidate's real-world strategies in Rumble as closely as possible.  Additionally, each participant script defines a set of limited actions that can affect the attributes of its competitors.


Rumble is a powerful language that is dynamic and modularized, non-deterministic, open-ended, and can be easily integrated into external software systems.

 

Selected Code

PlayerPlot

JAR - User Manual

 

Player Plot is a software system that enables users to compare sports teams/players using Excel datasheets and the Picasa Photo Database. Player statistics will be visually represented by photo thumbnails that allow for quick and easy interpretation.

The user imports a Microsoft Excel workbook with statistics in a specified format, and queries the Picasa Photo Database to find pictures matching the team/player names in the workbook. The user may manipulate the chart using features like zooming and photo swapping, in addition to changing the statistics used for generating the chart. Finally, the chart may be saved as an image file for use in documents or presentations.

 

 

ElizaJane

Applet - Source

ElizaJane is a software chatbot designed to emulate the original ELIZA but with a specific personality and unique behavior. This implementation was produced in less than a week. It is therefore not that smart. Please be gentle. This code was written for my graduate NLP class.

 

 

News Document Classification System

Source for Weka AARF Generator

 

This system was written for another homework assignment in NLP. The system parses a news files in an XML-like format and creates feature vectors for each file to train a ML model. These vectors are fed into the Weka machine learning tool and a model is created that can classify unseen data.

 

Tools

All tools listed below have been implemented solely by me. Feel free to download and use them at will, just keep my name listed as being the author. For comments, suggestions, and corrections, please email me.

  1. JScheduler - Java utility that executes predefined actions (BAT file, SQL query, URL access, etc.) for a specified time event. Created because of MS Access's lack of time-oriented triggers. Can be controlled using an Access database or a CSV file.
  2. Time words generator (Java) - Class that converts a time string ("hh:mm") into a semi-randomized string description ("It is now three AM")
  3. ForestTable (PHP/MySQL) - coming soon!
  4. Secure and easy table/query display system (PHP/MySQL) - coming soon!
  5. Survey Generation Language (SGL) - under construction
  6. Entity Hierarchy Creation System (with voice recognition) - under construction

Completed Websites/Projects

  1. Society for Entrepreneurship and Technological Innovation, Columbia University - I had a great time with this site. It includes web apps for posting volunteer positions, books and resources for students thinking about startups, and even a built-in social network called "SetiNet". SetiNet allows students to post their entreprenurial ideas online (although they can secure them as "private") and connect with their peers in the engineering school to get started. Although students can find "friends", "partners", or "employees" online, the site also has several kiosk modes that can be setup on laptops at SETI events that allow students to form relationships on SetiNet using their event badge barcodes.
  2. CampStone.org - v2.0 - Recently added content management system that allows administration to add information to camp calendar and upload phoots. Photo uploads are refrenced by album name or by the day on which they were taken. Also enabled security to prevent unauthorized users from viewing the photo galleries/calendars.
  3. TheGrangeGallery.com - A site a designed for photographer Alex Grange. Allows user tagging of photos.
  4. GlenbrookCommunityEruv.com - The official site of the Glenbrook Community Eruv, complete with dynamic status report generation and automatic email notification system.
  5. PhillipKatz.com - v2.0 - A website for architect/designer Phillip Katz. Has a backend for content management and a built in planning room script that allows clients to closely monitor their project's progress. The planning room includes a project calendar, forum, and file upload area. (Site is currently undergoing drastic content management maintenance by business owner. It therefore goes up and down frequently.)
  6. MorgMart - This was a quick hack to get the YU student-run food service online. Order online using paypal, and your food is delivered for free in minutes. (This site is no longer active. However, if you are interested in purchasing this code or would like to see a working version of the site, please contact me.)
  7. YUCommunity.com - Web application to automate registration for and allocation of Yeshiva University off-campus housing for faculty, alumni, and married couples. (Site is currently undergoing testing for final release.)