Timothy Daly email: daly@axiom-developer.org http://daly.axiom-developer.org INTERESTS: I'm a highly motivated individual who brings a wide range of skills in all areas of computer science, from real time system and operating systems to computer algebra systems. I've worked on several products. I've programmed in many languages and implemented several others. I'm interested in projects that are leading edge and require learning new subjects and skills. EXPERIENCE: - CARNEGIE MELLON Software Engineering Institute July 2005 to present * Senior Member of Technical Staff Member of team developing programs to do Function Extraction of Malicious Code. Primarily responsible for extraction and encoding of instruction semantics. Main effort involves defining the semantics of Intel instruction set. Papers: Function Extraction: Automated Behavior Computation for Aerospace Software Verification and Certification. (Jointly with Redge Bartholomew, Luanne Burns, Rick Linger, and Stacy Prowell) A Semantic Recognizer Infrastructure for Computing Loop Behavior (Jointly with Ali Mili, Mark Pleszkoch, and Stacy Prowell) * Program Committee Member - Artificial Intelligence and Symbolic Computation (AISC 2008) Birmingham, UK, July 2,2008 - OPEN SOURCE Feb 2002 to present * Lead developer on Axiom, an open source computer algebra system. Worked with approx. 63 developers and 200 Researchers worldwide. http://sourceforge.net/projects/axiom Axiom - a large, general purpose computer algebra system http://savannah.nongnu.org/projects/axiom Lead Developer on Axiom ~1 million lines of source code Contact with ~200 researchers Runs on all version of Linux First release in September 2003 BOOKS: Published "Axiom Tutorial" ISBN 1-4116-6597-X Dec 2005 (288p) Published Axiom book (1140p) (April 2004 Electronic edition) Research effort in Clifford Algebra (Bertfried Fauser) Problem is to extend Axiom Category theory to handle general categorical operations like isomorphic maps. Research effort in Type Lattice (Bill Page, Nicolas Doye) Problem is to develop a Type Lattice for Axiom's Category Lattice to allow for automatic subtyping and classification. Research effort in Symbolic Summation (Fabrizio Caruso) Problem is to find closed form formulas for infinite sums. Literate Journal with University of Pisa (Traverso, Gianni) Traverso has a grant to develop an electronic Journal which publishes literate programs (algorithms and source code) Maxiom - Zero learning curve Teaching interface for Axiom Use the zero learning curve paradigm from Magnus as a teaching front end for Axiom Crystal - Literate User interface Design a new user interface for Axiom that will support research efforts in Mathematics 30 years from now. Work involves using KROPS (a semantic-network and rule-based programming system) to underlie semantic lookup of concepts in literate research papers and integrating their algorithms into Axiom. Literate Programming research (David Mentre, Bill Page, Joris van der Hoeven) Research and development of tools and techniques for combining research papers and source code into a new pamphlet form. Literate Documentation (Trager, Doye, Paul, Lambe, Sit) Prototype examples of rewriting existing programs into literate form. Parametric Linear Algebra (with William Sit) Updated algorithms within Axiom to handle parametric linear algebra. Real Algebraic Closure (Renaud Rioboo) Updated algorithms within Axiom to handle real algebraic closure. Debian GCL port (Camm Maguire) Structural modifications to Axiom to support debian package structure. Axiom Wiki Website (http://wiki.axiom-developer.org) (Bill Page) Experiment in user-modifiable web pages for documentation AXIOM PORTING: Compile Farm for Axiom porting Apple Mac port Microsoft Windows port SPECIAL PROJECT: ISSAC Conference Proceedings on CDROM (SIGSAM) (July 2005) ISSAC Conference Proceedings on CDROM (SIGSAM) (July 2004) GNU Common Lisp (GCL) - a free common lisp implementation Collaborated with Bill Schelter for original verion (AKCL) Work in garbage collection Work in function calling optimization Work in dynamic runtime linking of externally compiled code Active Developer ALDOR - A Typed Compiler Language Active Developer - porting to Sharp Zaurus (Stephen Watt) TALKS: Invited Talk - Axiom (New York City, NY) Invited Talk - Literate Programming (University of Pisa, Italy) Invited Talk - Axiom, Literate Programming (Metz, France) Invited Talk - Axiom (Lyon, France) Invited Talk - Open Source Development (Virginia Beach, USA) ROSETTA - a CD Collection of open source computer algebra systems Quantian Live CD (with Dirk Eddelbuettel) Rosetta 4 : ISSAC Conference (Phila, PA) Rosetta 3 : Group Theory Conference (NY, NY) Rosetta 2 : Libre Software Conference (Lyon, France) Rosetta 1 : Open Source Software Conference (Lyon, France) CATS (Computer Algebra Test Suite) standardizing test case handling between multiple computer algebra systems. Work with Yacas, Maxima, GAP, Magma, Axiom, Magnus CALCULEMUS 2007 - Program Committee ITR Grant Proposal Axiom (Jan 2003) ITR Grant Proposal Axiom (Jan 2004) - CAISS Institute CITY COLLEGE OF NEW YORK Sept 2002 to May 2005 * Research professor leading three open source projects: Axiom, Magnus, and Doyen. Managed 7 students. Work with ACM and ISSAC. Research work in Literate Programming. * Lead developer on Magnus, an infinite group theory package. http://sourceforge.net/projects/magnus Magnus - Exploratory Infinite Group Theory (Gilbert Baumslag, Marianna Papaleo, Xiawei Xu, Marcos Zyman, Peggy Dean) Lead Developer on Magnus ~150k lines of source code * Lead developer on Doyen, a liveCD science platform. http://sourceforge.net/projects/doyencd Doyen - Science Platform (Wilken Rivera, Jose Alfredo Perez) Free and Open Source software on a Live CD * TEACHING: Open Source Programming course (Fall, 2004) * Indefinite Grant (Bill Sit, Gilbert Baumslag,Sean Cleary, Douglas Troeger) Research in symbolic indefinites (e.g. indefinite integer) NSF Principle Investigator ITR Grant Proposal Axiom (Jan 2003) ITR Grant Proposal Axiom (Jan 2004) * FEDORA - the latest operating system from RedHat Active Developer JOINT RESEARCH EFFORTS: Research effort in Openmath Univ. Western Ontario (Elana Smirnova) Problem is to build a web based mathematics-brokering service as a front-end to several computer algebra systems. Zero Learning Curve (Baumslag, Xiawei Xu) Extending the Magnus "workbench" paradigm to facilitate common front end for Computer Algebra teaching systems. Linear Algebra front end (Gilbert Baumslag, Peggy Dean) Instance of Zero Learning Curve for teaching Linear Algebra GAP front end (Gilbert Baumslag, Marcos Zyman) Instance of Zero Learning Curve for teaching Group Theory SSG Zaurus (Gilbert Baumslag, Jinzhong Niu) Research in Social Security Group for password verification Research effort in Andrews-Curtis Conjecture (Gilbert Baumslag, Bruno Buchberger) Open Research question Research effort in Reidmeister-Schrier (Gilbert Baumslag) Open Research question Open Source Programming Lab (Shepard 279) (Baumslag, Burns) Develop University resource for teaching students how to work in an open source environment. Axiom Gforge Site (http://axiom.axiom-developer.org) (Bill Page) Development of new Axiom website using GForge source code control tool. Red Flag Linux (Chinese Institute of Science) (Jinzhong Niu) Asian version of Axiom (internationalization) GrpTheory.spad (Axiom code) (Gilbert Baumslag) Research in group theory in a categorical setting (Magnus in Axiom) Zaurus port (Camm Maquire, Jinzhong Niu) Automatic build procedures for building Axiom on a palm-style handheld device (Sharp Zaurus) Symbolic Group Theory (Baumslag, Douglas Troeger, William Sit) Examine the question of how to adapt Axiom to reason using meta-information (theorems) in computation. CONFERENCES "The Future of Scientific Computation" organizer (CCNY, 2004) "Computational Group Theory" organizer (CCNY, 2003) "Software for the Working Mathematician" organizer (CCNY, 2003) NYGTC website (http://www.grouptheory.org) CAISS website (http://zebra.sci.ccny.cuny.edu/web/main.htm) ITR Grant Proposal SSG (Jan 2003) ITR Grant Proposal SSG (Jan 2004) - Numerical Mathematics Consortium, Associate Member (http://www.nmconsortium.org) - Time Magazine's 2006 Person of the Year Award - WORLDCOM Oct 2000 to July 2002 * Team Lead to install monitoring system for all data center switching within WORLDCOM (93 Worldwide). SNMP monitoring for failure alerts and billing. Wrote a Java/XML program to audit actual equipment vs monitoring database. Pinger - an SNMP monitoring tool used to monitor all of Worldcom data center equipment. Worldcom owns approx 75% of the equipment that makes up the "internet" worldwide. * Managed a lab of networking equipment and racks of Linux and Sun servers to test management software and network configurations for Worldcom data centers. Wrote performance and stress testing software for high-end backbone routers and switches. - COLD SPRING HARBOR LABS Oct 2000 to April 2001 * Consulting work for Stein Labs developing a program to enable Biochemistry researchers to search and annotate DNA patterns. Contract work on web-enabling SNP searches in DNA sequences - CENTRPORT Feb 2000 to Oct 2000 * Developed a converged user interface for 4 internal systems that are used to deploy web based measurement and marketing programs (a Facade pattern). Programming in Java and Perl. Developed a Makefile hierarchy to coordinate multiple developers. - OPEN SOURCE work Dec 1998 to Jan 2002 * Working on an open source version of the monitoring system developed for UUNET. It is available on SourceForge. * Worked on documenting Jikes (IBM's Java Compiler) internals in cooperation with the Jikes team at IBM Research. - UUNET Dec 1998 to Feb 2000 Responsible for designing programs to monitor the status of servers and databases on the UUNET global hosting network (~3500 nodes). * Wrote a multithreaded, distributed monitoring program in Java that used the Model-View-Controller pattern. It shows the status of hosts and databases, displays a "trouble board" of failing systems, and interfaces to a Remedy trouble-ticket system. * Specified and created a networking lab to test Gigabit switching networks from various vendors for deployment in UUNET centers. - OPEN SOURCE 1997 thru 2000 * Worked with Sun as alpha tester for J2EE * Worked with Sun as beta tester for Java JIT compiler - APPROACH to Dec 1998 I've been involved in 6 projects at Approach. * The first project was a technology demonstration for Comcast. My role was to write a statistics program demonstrating the use of Java (J++) and DCOM. The statistics were shown on a web page using an applet. * The second project was a business case I wrote detailing a plan Approach should use to build up its EDI consulting. I created Java classes that implement the segments and constructed the BAPLIE (shipping) and JAPRES (job application) message sets. * The third project is a product to handle all aspects of paying commissions to sales people at Comcast. This was an 18 month, 10 person effort. I was one of the primary developers on the project. My efforts included: - Building a proof of concept in Java. The proof of concept used both Access and a SQL 6.5 Server database using ODBC. I wrote SQL and Stored Procedures to access and validate data. A CLIPS-compatible rule-based program was used in the business layer of a 3-tiered architecture. The results were displayed using a GUI spreadsheet built with Java's AWT package. - Building the central payment system in C++ and Visual Basic. I was responsible for 3 major DLLs of the final system to handle the business rules and commission payment computations. I wrote OLE Automation objects in C++ to interface a commercial rule engine to the final system. The engine was run out of process using MTS and DCOM components. All testing was done in Java. I wrote a debugging COM component that send TCP/IP (UDP) packets to a Java debugging package I wrote. The system was constructed to run on Windows NT. * The fourth project developed an ECommerce guide for use in pre-sale client interviews. We will use this guide as a basis for requirements gathering. I was the co-lead of this effort. * The fifth project involves requirements gathering and use-case design for streaming video presentations. I am the Systems Analyst for this effort. * The most recent effort involves developing a reuseable 3-tier architecture using CORBA and Java, interfacing with COM components. We will develop Universal Modeling Language (UML) patterns to automate the construction of large portions of the architecture for client applications. IBM to Dec 1996 - Natural Language Understanding group I was involved in two efforts. * The first effort involved a program (SUSAN) to filter and prioritize mail messages into folders. This used a natural language program (a CHART parser) and a knowledge representation program (KREP) to read the mail, extract sentences that involved priority phrases, scheduling phrases, and meeting phrases and tried to sort the mail into folders, prioritize the mail and update the calendar. It was designed to work with Lotus notes running on both AIX and Windows NT. * The second effort involved the invention and business case for making Rewritable Paper. This was a patent in process. to Sept 1995 - AXIOM Symbolic Mathematics System (product) * AXIOM is a computer algebra system implemented in Common Lisp and C++. It was published as a product by NAG (England). I had many roles in this effort, the primary accomplishments being: * Porting the total system from VM/370 (IBM mainframe) to AIX (RS6000) to Linux and DOS on PC systems. The porting work involved rewriting large sections of the system to handle the significant differences between the various environments. * Rewriting the internals to improve the performance. The final PC system is many times faster than the original mainframe system. * Rewriting the parser/generator to handle new syntactic and semantic changes to the language. * Rewriting the I/O subsystem to be portable and use file compression. The file system underwent many significant changes due to the differences in file formats and I/O performance. * Integrating a C based algebra compiler (ASHARP) with the Lisp based algebra system. This involved rewriting algebra code and system internals. * Writing algebra code to implement Denavit-Hartenberg matrices * "Productizing" the system, involving writing user-level documents, writing a license manager connection, and packaging the system for delivery and installation. to Sept 1995 * My PHD research involved rewriting the algebra used in AXIOM to handle conditions on the algebra (such as restricting a result to be true provided certain conditions were true). to Aug 1989 - ECLPS is a rule based system based on OPS5 from Carnegie-Mellon. It was sold by IBM as a product. * Wrote internals of the system (make, left-join in the RETE). * Rewrote the system in Common Lisp on a Symbolics Lisp Machine and later ported it to Lucid Common Lisp on AIX and Golden Common Lisp on the PC as well as MVS Common Lisp (for the final delivery) * Integrated ECLPS with KREP (a knowledge representation system) to form KROPS, which was used as the basis for another research project (FAME, a Financial and Marketing Expert system) * Wrote paper on Verification and Validation of Rule Based Programs. (Presented at ASME, NASA and Brooklyn Polytechnic) * "Productizing" the system. to Aug 1986 - Research in Robot Planning (BOXER project) * Designed a system to reason about a Computer model (in GDP) of a computer frame and automatically generate a program that enables a robot to build the frame. * Wrote a paper on "BOXER: A Design-to-Build System". This work was presented at MIT. * Researched and designed a collision avoidance system for enabling coordination of multiple robots. to Aug 1984 - AML Robot Language (product) * AML is a real-time language for controlling IBM's robots. I wrote aspects of the original language including: * Rewriting AML to handle the HAVANT 2-armed robot * Rewriting system internals to do SNA communication between robots * Rewriting AML to drive APT-based CNC machine tools * Rewriting AML to handle a computer vision system - Slip Sensor Patent (#4,605,354) * Robots that carry parts can misalign parts because they slip in the fingers while being moved. I designed and patented a fingertip sensor to solve this problem. to Aug 1981 - VM/370 Systems Programming * VM/370 is a mainframe operating system. My primary responsibility was performance and tuning. This involved changes to system internals (IBM assembler). * Working with Gerry Bozman, we designed and developed a new free storage memory manager for VM/370 resulting in a significant performance improvement. This was later shipped by IBM. * Designed and developed an online archival storage and retrieval system (ARCHIVE) using a hierarchy of disk and tape backups. The system was later used in many IBM internal sites. * Wrote a PC version of the DES Encryption system to do file encryption. This was submitted to the IBM PC Product division. This work was done in assembly code for the PC. Adjunct Professor - 1990 - Vassar College, Poughkeepsie, N.Y. - taught Compilers course - taught Programming Languages course Adjunct Professor - 1981 - William Patterson College, N.J. - taught Data Structures UNIMATION INC. May 1976 to July 1978 - Developed VAL Robot Language - Design and implementation of computer algorithms for industrial robot control - Software contact with Stanford Research Institute - Specified all computer hardware and software - Maintained and managed Digital Equipment Corporation PDP 11/40 and LSI-11 systems - One patent pending RESEARCH ASSISTANT Sept 1975 to May 1976 -Taught PL/I programming to undergraduates -Designed and implemented an interactive query system MARCINKO-CHAI ASSOCIATES Summer 1975 -Cobol Programming (IBM 360 under OS/MVT) -General business programming in a consulting environment PUBLICATIONS: Function Extraction: Automated Behavior Computation for Aerospace Software Verification and Certification. (Jointly with Redge Bartholomew, Luanne Burns, Rick Linger, and Stacy Prowell) 4/07 A Semantic Recognizer Infrastructure for Computing Loop Behavior (Jointly with Ali Mili, Mark Pleszkoch, and Stacy Prowell) 1/07 Provisos: A Programming Extension for Conditional Computational Algebra (Ph.D thesis, incomplete) Susan: Adding Meaning to Desktop Folders (IBM internal) Axiom, The Scientific Computation System (book) 5/92 Axiom Library Compiler, Chapter 21 (book) 5/92 Verification and Validation Issues in a Semantic Network Based Expert System 6/89 On the Need to Verify Rule Based Programs 6/88 Integrating Rules and Inheritance Networks(RC13144) 9/87 Yes/Ops Version 2: The Production Version 8/86 YESOPS Extensions to OPS5: Language and Environment 8/86 Advances in RETE Pattern Matching 8/86 YESOPS User's Guide 3/86 BOXER - A Design-to-Build System IBM RC 11096 6/85 Analysis of Free Storage Algorithms - Revisited 1/84 AML Language Reference Manual 9/83 A Hobbyist Robot Arm (Byte Magazine) 2/79 EDUCATION: 1997: Polytechnic Institute of New York, Brooklyn, N.Y. Ph.D. in Computer Science (thesis incomplete) 1980: Fairleigh Dickinson University Teaneck, N.J. Masters in Computer Science (May 1980) 1978: University of Connecticut Storrs, Connecticut Masters in Computer Science (thesis incomplete) 1975: Montclair State College Montclair, N.J. Bachelor of Arts in Mathematics (June 1975) Minor in Computer Science LANGUAGES: JAVA, C++, C, LISP, ECLPS, OPS5, AML, VAL, PASCAL, PL/I, FORTRAN, MODULA2, COBOL, BASIC, SNOBOL, ALGOL, APL, MASM, BOOT, A# (Computer Algebra Languages), UNIX shells, MACRO(DEC assembly lang.), BAL(IBM assembly lang.) HASL(Intel 8080 assembly lang.), HARDWARE: -8 years on Sun Sparc -24 years on IBM processors: all 370s, RS/6000, IBM/PC, RT,etc. -4 year on Symbolics Lisp Machines -3 years on DEC PDP 11/40, 11/03, LSI-11, PDP 5, PDP 9, DEC 10 -1 year on APPLIED DYNAMICS AD-5 (analog) INTERESTS: Artificial Intelligence, Operating Systems, Computer Algebra, Machine Intelligence, Pattern Recognition, Image Analysis, Feedback and Learning Systems, Expert Systems, Robotics, Natural Language, Knowledge Representation RELATED COURSE WORK: Operating Systems, Systems Programming, Reliable Software, Switching Theory, Dynamic Simulation, Automata Theory, Formal Languages, Numerical Analysis, Compiler Design Image Analysis, Pattern Recognition, Learning Machines