1977 -1982 Graduate work in Statistics, Computer Sciences, and Signal Processing, Stanford University, Palo Alto, CA Computers used: DECsystem-20 with TOPS-20 for PASCAL programming, and HP-21MX for assembly language programming.
February 1974 Ph.D. in Physics, Brandeis University
Ph.D. thesis advisor: Professor Silvan S. Schweber.
Thesis title: The Ring Diagram Approximation and the Polarization Tensor at High Densities in Quantumelectrodynamics and Quantumgravidynamics
1971 – 1973 Predoctoral Fellow, Racah Institute of Physics, Hebrew University, Jerusalem, Israel Continuing graduate student, Brandeis University.
1966 – 1974 Graduate student, Brandeis University
May 1971 Scholarship to Scuola di Fisica Cosmica, Ettore Majorana School of Physics, Erice, Sicily, Italy, where I was note taker for Dr. M. Ruderman.
December 1970 Grant from the NSF to attend the Fifth Texas Symposium on Relativistic Astrophysics, University of Texas at Austin.
Summer 1968 Scholarship to the Brandeis University Summer School in Astrophysics and General Relativity, where I was note taker for Dr. C. Misner.
June 1968 M.A. in Physics, Brandeis University
1962 - 1966 City College of New York, New York City Special Student Program
June 1966 B.S. in Physics, with a minor in Mathematics, cum laude.
1959 - 1962 Bronx High School of Science, New York City
1972 - 1973 Research grant, Hebrew University, Jerusalem
1969 - 1972 Research fellowship, Brandeis University
1967 - 1969 Teaching assistantship, Brandeis University
1966 - 1969 Recipient, New York State Regents College Teaching Fellowship for Beginning Graduate Study
1962 - 1966 Recipient, New York State Regents Scholarship
Fall 1965 Nominee, Woodrow Wilson Fellowship
1965 – 1966 Member, Sigma Alpha, honor service society, CCNY
California Community College Credential: Astronomy, Physics, and Mathematics
1979 – Present Independent Consultant, Software Development. (1979-1997)
1997 – present President and CEO, Cohen Software Consulting, Inc.
BomDiver, San Francisco, CA. Work on developing algorithms for their application (a Bill of Materials management and fulfillment system), writing them up for their patent attorney to file for IP protection.
Nortel Networks, Santa Clara, CA. Working on new algorithms and architectures for provisioning high-speed optical networks in support of scientific Grid Computing. The networks are 10 Gbit/sec per wavelength (DWDM); the issues are moving terabytes and petabytes of data in a timely and reliable manner. Funded by DARPA and in collaboration with the International Center for Advanced Internet Research at Northwestern University, we are exploring new approaches for managing, scheduling, and optimizing such Grid Services in theory and in prototype. Language is Java, environment is Linux and Windows XP; Globus Toolkit 3, OGSA, OGSI, ant, etc.
SurroMed, Mountain View, CA. Worked on software for display and analysis of very high resolution 2-dimensional Mass Spectrometry data for proteomics and metabolomics applications, specifically biomarker discovery and utilization as a prognostic tool. Code unpacks proprietary vendor’s format data, applies mass corrections, deisotoping, compression to 1 - 2 % of original data size, normalization of multiple spectra for comparisons, display of results, and export of statistics to SAS and spreadsheets. Environment was Windows2000/Microsoft Developer’s Studio, and Linux/GNU tools, C++, STL. This software provides the basis for the Surromed’s main product and services.
Incyte Genomics (formerly Incyte Pharmaceuticals), Palo Alto, CA. Worked on portions of a semi-automatic DNA sequencing system, including definitions for extensions to the Standard Gel File format (SGF); work on algorithm design and implementation in bringing a weak DNA signal out of a noisy multi-channel image; work in algorithm design and implementation for lane tracking within that image; and creation of various false-color diagnostic GIF images of the original, signal-processed, and lane tracked data, to enhance understanding of the nature of the data and the workings of the algorithms. Environment was Sun UltraSparc, Solaris, C (gcc and xxgdb), and the gd library for GIF creation.
Working on the Chromatogram Archive project, a suite of Perl scripts and C programs to manage and process about 13 million chromatograms of human, mammalian, plant, and pathogen expressed gene sequences, as part of a larger project to reanalyze all of Incyte’s proprietary human sequences and a large number of public domain sequences (LifeSeq Gold). This archive includes several terabytes of data. Developed an Oracle database to manage and index this archive as well as make retrieval of specific data fast and simple. Developed a suite of software tools to allow loading of this DB and the assembly and delivery of both small and very large sets of the archived data to customers. Environment was OSF1, Solaris, Oracle Pro*C.
LifeSeq Gold: Involved in schema design for both in-house production DB and for the DB to be released to customers. Designed and implemented the Annotation program (using public domain databases to understand the assembled proprietary putative genes). Also working on the software development and release environment for multi-platform porting. Environment is Sun Enterprise servers and desktop worksta tions, DEC Alphas, SGI Octane, Linux and SCO desktops, Perl 5.0, C (gcc and xxgdb), and Oracle, including Pro*C and SQL*Plus. Documentation is in HTML on internal web pages. Development environment was RCS, TCCS, gmake and various scripting languages.
IGP (“The Incyte Genome Project”): Involved in various aspects of this project to ingest the entire public domain human DNA sequence set as well as the Incyte-proprietary genome sequence data, screen it, and apply gene finding and annotation techniques to it. This project encompasses Incyte’s LifeTools database and software with Genomic Enhancements, the LifeSeq Gold data, and the highly efficient distributed processing system described immediately following.
The Brewery and the Farm: Co-architect and implementor of a system for using coarse-grained parallelism of tasks to distribute them to a farm of client machines (compute servers) of varying sizes, capacities, speeds, and architectures. An Oracle database and a client-side pull manager are the central features of this load-balancing, throughput-enhancing system, essential for the success of LifeSeq Gold and the IGP bimonthly deliveries.
Installed, set up, and administered TCCS (Trivial Configuration Control System) for a complex multi-user, multi-platform development environment. Developed GNUMakefile’s and scripts, user and internal documentation.
Foundation Project: A next generation database and dataflow architecture for annotation and gene finding in the entire human genome, combining public domain and proprietary data. Participated in the dataflow and database architecture and design. Designed and implemented an XML parser for genomic data and the database loader program, created for speed and efficiency in processing millions of cDNA sequences and gigabytes of gDNA information. Oracle/Pro*C/C, SQL*Plus, HTML documentation
Aspect Development, Mountain View, CA. Programmed custom database interface trigger procedures as per client needs for the Enterprise Consulting organization. Use of C++, Oracle SQL*Plus and Pro*C on SunOS, as well as Aspect’s Explore CMS tool
Canon Information Systems, Palo Alto, CA. Architect and technical lead for a PC-based product involving the World Wide Web and Canon’s line of color printers.
For WeatherNews, Sunnyvale, CA, user-interface design and implementation for a Voyage Summary Report application. Multiple editable popups of voyage, ship, and weather data; interaction with a Sybase database and various remote compute servers Participatory design involved the end-user community. Implementation in C, X11R5/Motif, Postscript, SQL, on Sun workstations under Solaris 5.4 Contributed to the schema design and architectural issues, supervised junior programmers.
Chief software architect and implementor for PetroSoft, Inc., San Jose, CA of an X/ Motif package for oil well log and core analysis using rock physics analytics. This start-up company was a spin-off of Stanford’s Rock and Borehole project whose prototype stage was funded by a consortium of oil companies. Environment was Sun Sparc, Unix, X11/R5, Motif.
On-going support of Map Production software for ETAK Inc., Menlo Park, CA. Work involved maintenance, bug fixing, and enhancing existing software; planning extensions to the Zero-Track database and all the software that creates it; providing technical guidance for other software engineers and Product Managers involved with the data products; and providing tools to characterize the contents of databases in several formats. Environment was C on VAX/VMS, Unix platforms, and DOS.
For Abbott Diagnostics, Mountain View, CA, integrated divergent software versions and added diagnostic capabilities to a package for sending information packets between DOS machines via a high speed serial link (HSSL), as well as stand-alone graphical and ASCII analyzers of this information. Context was a blood analysis machine language was C
For LSI Logic, Milpitas, CA, designed and implemented a clock tree analysis program which parsed several ASCII layout and technology files, calculated time delays and skews for multi-level clock trees using an RC-tree approximation, reported statistics at all levels of the tree, and created Spice decks for the four extremal nets as well as any single net the user might select. Environment was Sun Sparc, Unix, and C.
Designed and implemented a CAD Framework Initiative (CFI) procedural interface to the EDI database (which is based on EDIF, the Electronic Design Interchange Format), for Engineering DataXpress, San Jose. Extended the functionality of the EDI procedural interface to support this project, including implementing a schematic to net list translator. Computers used were 386-based PC’s under DOS, and an Apollo DN3000 under AEGIS; language was C
For the Therapeutic Products Division, Diasonics, Milpitas, CA, I implemented a number of software enhancements to their Therasonic Lithotripsy System, including software support for Reflex Transmission Imaging (RTI). This involved designing and implementing the user interface and image processing algorithms, and devising how to insert this new functionality into the existing software system. I worked with hardware designers and technicians to debug the interaction of the new hardware with the new software. Computer used was a Sun-3 workstation for development and the target medical electronic hardware for debugging; language was C
Designed, developed and debugged a Files-11 and an RMS-11 file system under DOS for Nikon Precision, Inc., San Bruno, CA. This DOS software, using a supplied device driver, can read and write Files-11 floppies (PDP-11 and VAX native file systems). The RMS-11 portion can read and write DEC Record Management System databases with a particular key/index type and data organization, including fetching a record by key, updating, deleting, and adding new records, as well as appropriately manipulating the index structures. Computers used were PC-AT clones; language was Microsoft C
Wrote and verified a POSIX Conformance Test Suite for Mindcraft, Inc., Palo Alto, CA, under contract to IBM. Analyzed the POSIX specification and proposed corrections and additions to the IEEE assertion list corresponding to it. Also worked on test suites for validating conformance to the X/Open Procedure Guide and to AIX. Computers used were IBM RT’s under AIX and IBM AT’s under XENIX; languages were C and sh (Bourne shell programming language)
Evaluated a gate array placement software system (algorithms, data structures, code) for Integrated CMOS Systems, and presented an upward evolutionary path to handle bigger and more complex arrays with on-board RAM and function blocks. Computer used was Amdahl 580 under VM/CMS; language was PL/I.
Conducted studies of software system development tasks for OCEANROUTES. Extended extant software packages and developed new ones for vessel response and downtime simulations and for spectral wave forecasting and hindcasting systems. Also developed a spectral wave forecasting system for the west coast of Australia and the Indian Ocean, and completely revised the North Sea/North Atlantic model system. Developed software packages to plot maps and two and three-dimensional spectral data on a Versatec printer/plotter, Computers used were Data General Eclipse S330 under AOS, and IBM 4361 under VM/CMS
Designed and developed FORTRAN multi-tasking interactive demonstration package for ROLM Computer Marketing Group, implementable on all ROLM computers (1602B, 1603A, 1650, 1664, 1666, MSE/30)
Designed a simulation of an automated warehouse and material handling system for a proposal to the U.S. Army, for STRATAGM Corporation
1995 – 1997 Senior Member of the Technical Staff, TIBCO Inc. Palo Alto, CA
Technical lead of a group of 5 engineers on an oil company asset management and trading system Managed relations with the client’s technical staff, Enhanced the Sybase schema and X11/Motif interface and did maintenance programming, Designed and implemented a configurable report layout language, including a lex/ yacc parser and an interpreter of the parsed code. Negotiated features of the language with the client, Development environment included SunOS, C, X11/Motif, lex, yacc, Sybase and TIBCO-specific tools
1993 - 1995 Staff Engineer, Quickturn Design Systems, Mountain View, CA
Group leader for parsers group, responsible for all Enterprise, Mars, and Quest product netlist parsers (Verilog, TEGAS and variants, EDIF, BDLS, etc.)
Trouble shooting, performance enhancement and bug fixing for the Enterprise product’s netlist database and the several parsers that feed it. Likewise for the Mars and Quest software products
Design and implementation of a Verilog front-end for the Quest product, including X11/Motif GUI (using TeleUse), using an object-oriented database (Objectivity) and an Oryx grammar front-end Managed relationship with third-party supplier of front-end tools used in the Verilog import program.
Design and implementation of an incremental import capability (ECO) using a common software layer for all import programs. Languages used were ANSI C and C++ on SPARC-10’s; tools include Purify, Quantify and ObjectCenter. Code was also ported to Solaris and to RS6000’s and HP9000’s
1992 - 1993 Project Lead, ViP RunTime Group, Zycad Corporation, Fremont, CA
Project leader of a group of 5 engineers writing the run-time support software for hardware VHDL behavioral simulator. This includes design partitioning among multiple processors per board and multiple boards per simulator, symbol table creation and manipulation, downloading of the
simulation code and the run-time kernel to the target hardware, text and file i/o support, and support for debugging (breakpoints, trace, browsing). Responsible for the Browser subsystem, Work involved coordination with the compiler and hardware groups at Zycad, as well as with our partner companies (including Synopsis, Cadence, Dazix, Vantage, and others) who provide the simulation front end to ViP software. ViP (VHDL Instruction Processor) was a new product, introduced at DAC 92. Development environment was Sun Sparcs, Unix, ANSI C (gcc), as well as Mips for embedded code. Host side software will also be ported to RS6000, HP/Apollo, and other engineering workstations.
1990 –1992 Principal Software Engineer, FXD/Telerate, Mountain View, CA
Designed and implemented the second generation DealMaker product, a workstation-based graphical tool for Foreign Exchange traders to enter their deals and to maintain their positions in the various currencies in which they deal. Other functions are maintenance of real-time exchange rates, credit limits, and other financial information. Computing environment was C under UNIX with X-windows and Motif as the graphical user interface, on SPARCstations and IBM RS6000’s, using the Sybase RDBMS system. Developed a graphical user interface (X-Windows/Motif) to an analytics package and instrument history database, providing simple user control over the creation of new transformed (filtered) instruments, their real-time tracking, summary information, and their deletion. This package allows financial analysts to define and save time histories and analyses of any available quantities of interest. Worked on graphical (X-Windows/Motif) and algorithmic extensions to the quoteList application, which allows users to configure a window displaying real-time information on the fields of interest of particular record based instruments, and to set up alert/ alarm conditions when these values cross some bound.
1986 - 1990 Senior Software Engineer, ETAK, Menlo Park, CA
Was codesigner and sole implementor of ETAK’s “Zero-Track” database format for CD-ROM and workstation applications, including Geocoding, Navigation, and Fleet Management Systems applications. This highly compressed (roughly 20 to 1 over the source data) database format is designed for speed of access in real-time applications in CPU and memory constrained environments. Created a high-resolution workstation and interactive editor for cartographic applications. Hardware was based on an IBM-AT clone (under both MS-DOS and several versions of UNIX) with a high-resolution graphics card and terminal, using a VAX (under VMS) as a high-speed file server. Software included VAX communication, user interface, algorithms, graphics, and database design. Language used was C. Wrote the low level graphics driver software and the upper application levels for the graphics applications. The device driver was written in C under MS-DOS using a shared (dual ported) memory model. Worked on data integrity programs for the cartographic database (both topological integrity and internal database integrity). Worked on various transformation and compression programs for the cartographic database, taking it from the format used for data entry to the format used in the digital cassette tapes and CD-ROM in the ETAK Navigator and Map WorkStation. Extended the capabilities of these systems. Enhanced HP plotting software to deal with new features in the database. Participated in the design and implementation of the second-generation digital cartographic system (MapEngine), including an interactive graphics editor. Provided customer support related to OEM programming using the MapEngine. Ported a large set of VAX/VMS programs to run under XENIX on a 386-based PC and under UNIX on a Sun 386i workstation. This work involved emulating and/or replacing VAX RMS indexed files and writing code that would conditionally compile and run efficiently and correctly on all three platforms.
1982 - 1987 Senior Software Engineer and Group Leader, DAISY Systems Corporation, Mountain View, CA Algorithm design, implementation, and documentation for the Gatemaster project. This involved providing software (and graphical) tools for the LSI and VLSI design engineer to go from the schematic to actual component layout and interpin routing on gate arrays. Designed a text syntax for presenting gate array connectivity and layout information from the Gatemaster data base to chip manufacturers, helped negotiate its acceptance by a major semiconductor company, and implemented the program (MAKE) which interrogates the data base and produces the file. Also worked on intercomputercommunications protocols for the data transfer process and debugging the entire system from front to back. Created and implemented a tool, which increased the success rate of the automatic routers for gate array, net interconnections. This tool not only significantly increased the number and fraction of nets routable to completion but also immediately indicated unroutable chips before any time is spent trying to route them, thus saving the design engineer many hours of wasted labor. Worked on an automatic/interactive placement tool for gate array layout based on a force relaxation model for constructive initial placement. Adapted it from some models in the literature, designed its interface with the user and with the Gatemaster database, its internal data structures, and the details of its implementation. Project leader, designer, and implementor of a placement improvement system for gate arrays based on component interchange algorithms with user-selectable metrics and component selection criteria. Project leader of a group of senior and junior level system analysts addressing the issues of placement on gate arrays (CAD/CAE), providing technical supervision, coordination, and training. Informally worked with junior (and new) programmers, doing some technical training and supervision. Group Leader of a group of several senior level system analysts addressing the issues of hardware acceleration of semi-custom chip component placement algorithms, including design and implementation of computationally intensive advanced algorithms to be implemented in microcode, systems embedding, and a user friendly high level interface to the design engineer. Work in the interactive editor group for a high-level correct-by-construction editor for full custom VLSI chip planning and layout. Member of a team designing and implementing a layout verification package for full-custom VLSI chips to be integrated with the Chipmaster. Package included electrical rules checking, device and net recognition, layout versus schematic checks, layout parameter extraction, interface to schematic capture systems, SPICE simulator, and digital system simulators; user interface, data structures and algorithms.
Computers used were the Intel Microprocessor Development System for the 8086, and the DAISY Logician (an 8086, 80286, or 80386 based engineering workstation) with MAESTRO and DAISY-DNIX operating systems; languages used were PL/M-86, C, and Metaware PASCAL
1979 - 1982 Staff Scientist in the Ocean Systems and Sciences Division, ENSCO, Sunnyvale, CA Lead investigator in applying passive underwater acoustic detection and estimation procedures to multi-sensor target localization. Conducted studies on statistical properties of acoustic threat signatures with respect to optimal coherent processing to improve detection and parameter estimation. Participated in large-scale real-time experiments that led towards very wide area coherent surveillance. Participated in the design and production of a new surveillance architecture employing time-sharing mainframes (PDP-10s), minicomputer control and communications processors (PDP-11/70s), and high-speed array processors (AP-120Bs). Conducted studies on causal measurement space clustering of cross coherence results for acoustic source detection, localization and tracking. Constructed a simulation system for generating realistic controlled random signalsin noise and used it to investigate several alternative detection techniques, their false alarm statistics, performances, and parameter optimization. Designed and implemented user-friendly operator interfaces for a number of signal processing modules. Designed and implemented the host-side software for several signal processing modules. These projects involved using multi-process and multi-computer communications systems, partitioning tasks on the minicomputers used to function properly in a heavily overlaid environment, and interacting with programs and data on a hosted array processor.
Used a generalized data base package to implement task specific multi-keyed writers and readers for real-time experiment support and off-line research support. Technical writing of scientific research papers, final reports, system user manuals, proposals, and presentation of some of these at technical meetings and symposia, and directly to the Government sponsor Computers used were PDP-10 under TENEX, PDP-11/70 under RSX-11M+, FPS AP-120B array processor hosted by the PDP-11/70; languages used were FORTRAN 4, FORTRAN 10, and FORTRAN IV Plus
1976 - 1979 Project Manager, Research and Development, Environmental Sciences Division, Oceanroutes, Palo Alto, CA Project Manager for development of spectral wave model for U.S. East Coast, and for in-house quality control program for Alaskan and North Sea spectral wave models. Designed and implemented a climatological vessel response simulation system, including weather driver and output statistical analysis routines. Conducted studies on and implemented NYU-type and wave-wave-interaction-type wave science for in-house wave models; wave refraction and shoaling; air-sea temperature difference as it affects wave generation; hindcast studies; multi-plate grid systems for large area wave models Responsible for computer operating systems and model integrity for Alaskan, North Sea, and East Coast wave models. Designed and developed a system for the semi-automatic and rapid generation of site-specific spectral wave models and their operating systems. Created and refined an algorithm for the optimum weather routing of ships.
Supervised student aides and junior programmers on a continuing basis, and groups of programmers on a project basis. Computers used were GE Time Sharing System, Data General ECLIPSE C/330 under AOS and NOVA 840 under mapped RDOS; languages used were FORTRAN IV and FORTRAN5, and some use of GESIMTEL (a GPSS-like language).
1976 Part-time Instructor of Physics, College of San Mateo, San Mateo, CA Taught a freshman physics laboratory.
1974 - 1976 Member of the Technical Staff, Computer Sciences Corporation, NASA Ames Research Center, Moffett Field, CA Work involved programming and running real-time simulations of aircraft and guidance systems in a state-of-the-art system with a pilot in the loop, using digital and analog computers, motion, visual, and sound systems; also conducting independent analyses and research to further clarify or upgrade the modeling techniques and software. Computers used were EAI 8400, XDS Sigma 7 and 8; languages used were FORTRAN IV and Xerox Extended FORTRAN IV.
1975 Part-Time Instructor of Astronomy, Continuing Education, Foothill College, Los Altos Hills, CA Developed and taught lay-level Introductory Solar System Astronomy.
1974 Assistant Professor of Physics, half-time, San Jose State University, San Jose, CA Taught a graduate course in Optics and a senior course in Modern Physics and Quantum Mechanics.
Instructor of Physics, halftime, City College of San Francisco, San Francisco, CA Taught first and second semesters of freshman physics laboratory.
April 1971 Invited speaker, Washington, D. C. meeting of the APS-AAPT, by the Economics Concerns Committee of the American Institute of Physics, on the Arden House Proposal.
November 1970 Participant, Northeast Conference on Graduate Education, Arden House, New York, under the auspices of the Commission on College Physics of the NSF.
1967 - 1972 Teaching and Research Assistant, Brandeis University, Waltham, MA Taught recitation-problem session classes for several introductory physics courses and an astrophysics survey course. Research involved the study of quantumelectrodynamics and field theory, many-body theory, and gravitation, and their application to the study of condensed matter in the latter stages of stellar evolution
Summer 1969 Assistant Scientist, AVCO-Everett Research Laboratory, Everett, MA. Supervisor, Dr. Lewis Linson, Worked in the Plasma Physics group, assisting Dr. Linson in several calculations
Summer 1966 Summer Scientist, IBM Components Division, East Fishkill, NY. Group leader Dr. White, Helped design and run several reliability experiments on resistive elements of SLT modules for the M-250 system.
Professional and Technical Consultants Association
American Association for the Advancement of Science
Society for Computer Simulation
American Physical Society
Institute of Electrical and Electronic Engineers
Forensic Expert Witness Association
Available upon request
Available upon request
|regulatory audits facilities||public||injury analysis||market||eye surgery||adult|
|patients||construction process||aircraft values||document analysis||computer unix||application security analysis|
|Terminals||Medico-Legal||date||standards care||digital analog testing||aviation operations|
|alcohol alcohol||Warranty||Mortgage||business executive||directory||automobile|
|Patrol||cause of death||medical device engineer||threats||drug effects||anesthesiology anesthesiologist respiratory|