Employment
Chief Architect
March 2005 through present
I have been at Pronto since its inception,
originally joining as a Senior Scientist working on data mining and data
analysis projects. I was one of a team of 4 people that designed and
built the entire back-end data analysis and distributed processing pipeline
for Pronto.com. This system is what powers Pronto.com today, and is capable
of continually crawling web sites, processing data feeds and analyzing the
data for tens of millions of products from tens of thousands of merchants
each day.
I then moved onto being responsible for the
architecture and project management of the service layer that serves this
data to the front-end applications. This service layer consists of three
main services: a search service, a database service and a data analysis
service. This service layer has scaled to handle Pronto.com's traffic of
tens of millions of search and product requests per day.
Once the service layer was built and tuned, I was
brought into the application development team to specify, architect and
manage a new initiative for adding social shopping features to our web
site. At its peak, this project required coordinating a team of 10 people,
spanning product design and development. This project also involved
requirements gathering from our Sales and Marketing Teams.
After successful completion of this project, I had
the most experience at the company with both the back and front ends of
Pronto's technologies, and I was promoted to VP of Information Solutions.
This position made me responsible for creating, managing and inter-team
coordination for all search and data projects and a few search-related,
front-end application projects. This meant constant coordination with all
our Product, Development, Data Quality, Sales and Marketing Teams. These
projects helped to continually enhance the quality of our search and data,
as well as improve the site economics resulting in the company reaching
profitability within 3 years of its creation.
Other accomplishments:
-
Gathered requirements, designed, implemented, tested and documented Pronto's Partner API, providing external access to search and product data. Also served as the technical liaison for all external partners using the API. (HTTP, Java, XML, XSLT, Tomcat)
-
Designed and implemented semantic analysis and feature extraction logic, including extraction from text and images. These features serve to enhance product search results and search filtering, and is also used for SEM keyword generation and SEO page optimizations. (Perl)
-
Designed and implemented caching layer and programming abstractions for caching. (Memcache, Java, Perl)
-
Designed and implemented Firefox shopping add-ons, including the Mozilla-featured Pronto Shopping Messenger, the Pronto Shopping Helper and an internal data quality reporting tool. (Javascript, XUL, CSS, XPCOM, AJAX, XPATH, DHTML)
-
Design and implementation of distributed product normalization logic to provide product groupings for price comparison pages. (Perl, MySQL)
-
Designed and implemented application search logic, including search overrides, auto-disambiguation logic and alternative query logic. (Java, MySQL)
-
Designed system and process for defining, managing and displaying web application search filters. (Java, Perl, PHP, MySQL)
-
Designed system and process for defining, managing and displaying product browsing taxonomy. (Java, Perl, PHP, MySQL)
-
Designed and implemented web-based tools for data editing and dynamic data deployment. This system also provides version tracking, change histories and rollback abilities for data stored in databases.(PHP, Javascript, MySQL, JSON, AJAX, DHTML)
-
Designed and implemented logic for SEM keyword generation process. (Bash Shell Scripting, Perl)
-
Designed and implemented data quality tracking and monitoring tools. (Perl, CGI, PHP, Javascript, MySQL, JSON, AJAX, DHTML)
-
Designed and implemented system for detecting new products for price comparison pages. (Bash Shell Scripting, Perl)
-
Worked with Systems and Network Operations Team to define hardware specifications and configurations to support overall software architectures.
- Performed hardware capacity planning and defined performance monitoring/healthcheck interfaces for software services.
-
Specification, planning and architecture for A/B testing platform for search.
Research Fellow
May 2004 through June 2005
-
Research, design and development of mathematical models and
algorithms used in human spatial navigation and decision making
research studies.
-
US Patent No. 7,620,493, "System, Method and Apparatus for Providing
Navigational Assistance", co-authored with Brian J. Stankiewicz,
awarded November 17, 2009.
Consultant
May 2004 through January 2005
-
Design and development of graphical monitoring interface for
visualization of distributed agent network
communication. Implementation in Java
for European Commission Joint Research Centre's as part of EDEN
Inland Water Research Project.
Assistant Professor of Computer Science
August 2002 through December 2004
-
Taught undergraduate classes in computer architecture, computer
organization, assembly language, software engineering,
mathematical optimization, data
structures, algorithms, system administration, Java, C++,
Scheme, Perl, Python.
-
Planned and implemented computing and network infrastructure for
new undergraduate computing laboratory.
Consultant
June 2003 through December 2004
-
Design and development of statistical models to improve the
robustness of military logistics in a distributed agent
architecture.
Consultant
February 2002 through April 2002
-
Technical research, market analysis and evaluation of new
products for instrumentation of Java applications.
Senior Software Engineer
March 2001 through December 2001
-
Managed the testing and benchmarking teams.
-
Designed and prototyped management module
for a Java Virtual Machine (JVM).
-
Designed and implemented tools for automated testing,
benchmarking and performance analysis of JVM.
Adjunct Assistant Professor
August 2000 through May 2001
-
Taught two semesters of Analysis of Algorithms to third year
undergraduate students.
Director of Engineering/Chief Scientist
January 2000 through February 2001
-
Director of Engineering during development of the company's
first product, including project and personnel management.
-
Gave technical presentations and demonstrations to potential
strategic partners, investors and the Board of Directors.
-
Authored eight patent applications and three provisional
patent applications.
-
Architect for the company's first product, a development
infrastructure for deploying robust distributed applications.
-
Authored both external and internal technical documentation
including: business plan, functional specification,
architectural documents and user documentation.
-
Designed basic architecture for company's second product, a
distributed network management system.
Member of Technical Staff
September 1997 through January 2000
- Managed research and development projects,
including customer relations management.
-
Designed and implemented research prototypes for:
- ontological reasoning algorithms and
data structures for agent brokering in peer-to-peer agent
system;
-
intrusion detection
system using peer-to-peer agent system;
-
complex event processing
engine for DARPA (Rome AF Labs);
-
work-flow process awareness engine; and
-
agent simulation system for doing
comparative analysis of agent brokering algorithms.
Refereed Publications
Brian Stankiewicz, Anthony Cassandra, Matt McCabe and William Weathers
Development and Evaluation of a Bayesian Low-Vision Navigation Aid
Institute of Electrical and Electronics Engineers Transactions on
Systems, Man, and Cybernetics.
November 2007.
Anthony Cassandra, Marian Nodine, Shilpa Bondale, Steve Ford and David Wells
Using POMDP-Based State Estimation to Enhance Agent System Survivability
Proceedings of the Second IEEE Symposium on Multi-agent Security and
Scalability (MAS&S 2005).
August 2005.
Brian Stankiewicz, Matt McCabe and Anthony Cassandra
A Low-Vision Navigation Aid Using Ideal Observer Analysis
Journal of Vision, 4(8), 895a.
August 2004.
David Wells, Paul Pazandak, Mariane Nodine and Anthony Cassandra.
Adaptive Defense Coordinator for Multi-agent Systems.
Proceedings of the First IEEE Symposium on Multi-agent Security and
Scalability (MAS&S 2004).
August 2004.
Mariane Nodine, Anne Hee Hiong Ngu, Anthony Cassandra and William
G. Bohrer.
Scalable Semantic Brokering over Dynamic Heterogeneous
Data Sources in InfoSleuth.
IEEE Transactions on Knowledge and Data Engineering.
September/October 2003.
Anthony Cassandra, Damith Chandrasekara and Marian Nodine.
Capability-based Agent Matchmaking.
Fourth International Conference on Autonomous Agents (Agents 2000).
June 2000.
Donald Baker, Dimitrios Georgakopoulos, Hans Schuster, Anthony
Cassandra and Andrzej Cichocki.
Providing Customized Process and
Situation Awareness in the Collaboration Management Infrastructure.
Proceedings of the Fourth IECIS International
Conference on Cooperative Information (COOPIS).
1999.
Nicolas Meuleau, Kee-Eung Kim, Leslie Pack Kaelbling, and Anthony
R. Cassandra.
Solving POMDPs by Searching the Space of Finite
Policies.
Proceedings of the Fifteenth International Conference
on Uncertainty in Artificial Intelligence.
July 1999.
Leslie Pack Kaelbling, Michael L. Littman and Anthony R. Cassandra.
Planning and Acting in Partially Observable Stochastic Domains.
Artificial Intelligence.
1998.
Anthony R. Cassandra, Michael L. Littman and Nevin
Zhang.
Incremental Pruning: A Simple, Fast, Exact Algorithm for
Partially Observable Markov Decision Processes.
Uncertainty in Artificial Intelligence.
July 1997.
Eugene Charniak, Glenn Carroll, John Adcock, Anthony R. Cassandra,
Yoshihiko Gotoh, Jeremy Katz, Michael L. Littman and John McCann.
Taggers for Parsers.
Artificial Intelligence.
August 1996.
Anthony R. Cassandra, Leslie Pack Kaelbling and James
A. Kurien.
Acting Under Uncertainty: Discrete Bayesian Models for
Mobile Robot Navigation.
IEEE/Robotics Society of Japan
Conference on Intelligent Robots and Systems (IROS).
September 1996.
Michael L. Littman, Anthony R. Cassandra and Leslie Pack Kaelbling.
Learning Policies for Partially Observable Environments: Scaling
Up.
Proceedings of the Twelfth International Conference on
Machine Learning.
July 1995.
Leslie Pack Kaelbling, Michael L. Littman, Anthony R. Cassandra.
Planning and Acting in Partially Observable Stochastic Domains.
Proceedings of Kunstliche Intelligenz.
1995.
Anthony R. Cassandra, Leslie Pack Kaelbling and Michael L. Littman.
Acting Optimally in Partially Observable Stochastic Domains.
Proceedings of the Twelfth National Conference on Artificial Intelligence.
August 1994.
Invited Talks
"POMDPs: Who Needs Them?"
Forum on Artificial Intelligence, University of Texas.
Austin, TX.
November 2003.
"CEDMOS - Complex Event Detection and Monitoring System."
DARPA/Rome Laboratory Planning Initiative (ARPI) Workshop.
Arlington, VA.
October 1998.
"An Algorithm for Dynamic Programming Updates in Partially Observable
Markov Decision Processes."
Sixth INFORMS Computer Science Technical
Session Conference (CSTS).
Monterey, CA.
January 1998.
"Discrete Bayesian Models for Mobile Robot
Navigation."
AAAI Spring Symposium.
Stanford University, Palo
Alto, CA.
March 1996.
"Learning Policies for Partially Observable Environments: Scaling
Up."
Action Workshop.
Massachusetts Institute of Technology,
Cambridge, MA.
Spring 1995.