Software and Hardware Research and Development
Michael P. Zeleznik, Ph.D.
I have successfully designed and developed custom software, hardware, and
computing systems for over 35 years, across a wide range of environments and
technologies.
Since 1996, nearly all has been done remotely from my home office.
Following is a reverse chronology indicating the
Client or Employer, Level of development, and Tools used.
My vita provides a
comprehensive view of my background, skills, and accomplishments.
Natural Language Processing and Machine Learning software R & D :
for IARPA-funded project to predict the news before it happens using Open Source
Indicators (OSI). Developed SVM classifiers for news articles and tweets.
Developed pattern search/processing tools, automated tools for Twitter API to
gather data, track timelines, process results, automated WEB sites for complex
document annotation for Amazon Mechanical Turk, and immersed in full life cycle
of Mechanical Turk projects for data annotation.
Employer | : | University of Utah, School of Computing, Natural Language Processing Lab 2012-2015 |
Level | : | Low (Python, Perl, Java,...) to Medium (stats, NLP/ML tools, web APIs,...) |
Tools | : | Python, Perl, Java, HTML, CSS, Javascript, JSON, NLP tools, Twitter API, MechanicalTurk API |
Automated image processing, segmentation and analysis :
to detect types of content, segment, then process to correct flaws and remove
unwanted content. Please see research disclosure
(nondisclosure agreement (NDA) prohibits more detail)
[Client Info]
Client | : | HP Labs, Technology Initiatives 2007-2010 |
Level | : | Low (C++ analysis of pixels, shapes,...) to Medium (stats analysis, ImageMagick,...) |
Tools | : | C++, ICC Profiles and libraries, Perl, ImageMagick, Acrobat |
Earthquake Early Warning Testing Center creation: Automated, high-reliability
software suite for import of XML reports from various remote research locations into a
MySQL database, evaluation and analysis of predictions against actual seismic data,
presentation of multivariate results via strategically designed tables and color
maps, and a web site for access to this information, as
discussed in publications
AGU 2008 and
AGU 2007.
[Client Info]
Client | : | Southern California Earthquake Center (SCEC) University of Southern California California
Integrated Seismic Network (CISN) 2007-2011 |
Level | : | Low (PHP, Perl, XML,...) to High (web development tools) |
Tools | : | XML, MySQL, PHP, Perl, Joomla, csh, sh |
Automated 2D / 3D earthquake visualizations : of earthquake
ground motion (see example movies of a California event
(1.0 MByte) and Chile event (4.5 MByte)). Raw signal
data is filtered, sampled, normalized for instrument sensitivity, analyzed to
remove extreme data, mapped to various colormaps and glyphs, with various
display map projections.
[More Info] [Client Info]
Client | : | Incorporated Research Institutions for Seismology (IRIS), University of
Washington 2007-2008 |
Level | : | Low (C, Perl,...) to High (seismic tool apps and libraries) |
Tools | : | OpenDX, C, Perl, various seismic tools |
Entrepreneurial ventures : into consumer
products (confidential), involving market analysis, cost/profit analysis, modeling and
prototyping, design and manufacturing specifications, patent applications when
appropriate, and full product proposals.
Client | : | Saya Systems Inc. 2011-NOW |
Level | : | Low (Perl,...) to High (3D design tools, spreadsheets,...)
| Tools | : | SketchUp, Photoshop, Excel, Word, Perl
|
High availability server: designed specifically for small
businesses with limited (to no) system support staff, based on a novel "reduced
complexity" architecutre with "manual failover".
[More Info]
Client | : | RAHD Oncology Products and Saya Systems Inc. 2002-2006 |
Level | : | Unix/Linux system level
| Tools | : | Perl, C, csh, sh
|
Web site design and development : static to dynamic (database
driven), built both (1) from scratch using various technologies including Perl
CGI, PHP, HTML, XML, CSS, Javascript, MySQL, ASP, Access, and Flash, and (2)
using development platforms such as Dreamweaver, FrontPage, Joomla, and Drupal.
[More Info]
Client | : | Various, see [More Info] 2003-NOW |
Level | : | Low (HTML, Javascript, CGI,...) to High (web development tools) |
Tools | : | HTML, XML, CSS, Javascript, Perl, PHP, MySQL, ASP, Flash, Dreamweaver, FrontPage, Joomla, Drupal |
Image processing / photography for web and print : using
extensive features of Photoshop and other tools for enhancement, extraction,
compositing, gamma correction and color conversion (e.g., sRGB for CRT to CMYK
for 4 color print), etc., coupled with a solid background in optics and
photography.
[More Info]
Client | : | Various, see [More Info] 2003-NOW |
Level | : | High (Photoshop, ImageMagick,...) |
Tools | : | Photoshop, ICC libraries, ImageMagick, digital cameras, scanners |
Project management system : for geographically distributed,
multi-platform software development environment meeting FDA 820.30 requirements,
integrating a new web-based tool with a version control system and raw file
system, providing high level to low level views of each project's status.
[More Info]
Employer | : | RAHD Oncology Products 2000-2006 |
Level | : | Low (CVS, csh,...) to High (UML use cases) |
Tools | : | CVS, csh, sh, OnProject, web-based project management tools |
FDA 820.30 Design Control Procedure : integrated with
geographically distributed software development environment, as a cyclic state
machine, with a custom developed database driven web interface and
cycle/revision control via CVS.
[More Info]
Employer | : | RAHD Oncology Products 2000-2006 |
Level | : | Low (CVS, csh,...) to High (FDA documents) |
Tools | : | CVS, csh, sh, numerous FDA documents |
Seamless integration of multi-vendor, multi-platform products:
to leverage product strengths, augmenting the power of one product with the
services of the other(s).
Employer | : | RAHD Oncology Products 2002-2005 |
Level | : | Low (C, Perl,...) to Medium (network datacom, databases) |
Tools | : | Unix tools, C, csh, sh, Perl, FTP, X |
Software runtime environment tools : to validate runtime
environment (e.g., processes, memory, disk space) before launching new programs,
and inform user of problems, successfully stopping common user problems from
compounding.
[More Info]
Employer | : | RAHD Oncology Products 2003-2006 |
Level | : | Low (Perl, awk,...) to High (processes, databases) |
Tools | : | Unix tools, Perl, csh, sh, awk, sed |
Software multi-level installation and update tools : to
provide a managed, safe environment for any computer to simultaneously run
multiple product versions with multiple patient databases (e.g., clinical
releases, beta test, alpha test, raw development), while simplifying product
support and update operations.
[More Info]
Employer | : | RAHD Oncology Products 1999-2006 |
Level | : | Low (Perl, awk,...) to High (processes, databases) |
Tools | : | Unix Make, Perl, csh, sh, awk, sed |
Radiation treatment planning 3D beam design tool : Provides
interactive 3D beam design, both manually and automatically fitting to tumor,
with interactive review of structures, treatment beams, CTs, and digital
radiographs, and real-time update/modification of 3D objects simultaneously in
multiple windows.
[More Info]
Employer | : | RAHD Oncology Products 1996-2006 |
Level | : | Low (pixels, voxels, polylines, DX modules, C,...) |
Tools | : | IBM DX C library, C |
Radiation treatment planning 3D dose review : Allows 3D
visualization of plans in powerful ways, creating 3D structures from CT
contours, 3D beams from beam parameters and blocks/MLCs, interactive review of
structures, treatment beams, dose, dose mappings, CTs, and dose volume
histograms.
[More Info]
Employer | : | RAHD Oncology Products 1995-2006 |
Level | : | Low (pixels, voxels, polylines, DX modules, C,...) |
Tools | : | IBM DX data flow networks, C |
Volume data fusion : A semi-automatic tool to spatially align
two 3D data sets by transforming one coordinate space into the other, providing
transforms with variable degrees of freedom, from rigid body to affine to
deformable warp. Codeveloped with New York University Medical Center.
[More Info]
Client | : | New York Universitiy Medical Center, Karolinska (Stockholm, Sweden),
RAHD Oncology Products 1999-NOW |
Level | : | Low (pixels, voxels, polylines, DX modules, C,...) |
Tools | : | IBM DX C library, C |
Volume data segmentation tool : Semi-automatic generation of
2D contours (that define structures) on CTs. The user first defines the 3D
structure via 3D isosurfaces in the CT volume data and/or interactively editing
that 3D surface. When done, the software then maps this surface back onto the
original CT planes, creating 2D contours on those CTs.
Employer | : | RAHD Oncology Products 1998-2000 |
Level | : | Low (polylines, DX modules, C,...) |
Tools | : | IBM DX data flow networks, C |
Extensive visualization software : written with IBM Data
Explorer (DX) data-flow networks, scripts, and custom C modules, having become a
key IBM beta site and working closely with developers at IBM T.J. Watson Labs.
[More Info]
Client | : | New York University Medical Center, RAHD Oncology Products 1995-2000 |
Level | : | Low (pixels, voxels, DX modules, C,...) |
Tools | : | IBM DX data flow nets and C library functions, C |
Custom medical data interfaces : to read images and patient data in
various proprietary vendor formats (e.g., GE, Varian, Picker) from various media
(e.g., 8mm/4mm tapes, MODs); also wrote functions to emulate disk interface for
tapes.
Client | : | RAHD Oncology Products 1993-1995 |
Level | : | Low (raw bits, bytes, records, sectors, proprietary formats) |
Tools | : | C, Fortran, Unix tools |
Sun server performance monitoring tools : to enable server
monitoring and tuning, and subsequent tuning.
Employer | : | University of Utah, Computer Center 1992-1994 |
Level | : | Medium (SunOS and Solaris system tools, shell tools) |
Tools | : | csh, sh, command line interface |
Network design, implementation, management, and support : for
university-wide and departmental networks, also serving on the Campus Network
Advisory Committee, and eventually as Manager of Networks and Unix Systems.
Employer | : | University of Utah, Campus Networking / Computer Center 1989-1995 |
Level | : | LANs to WANs, Ethernet, broadband, FDDI, T1/3, TCP/IP, Appletalk,... |
Tools | : | Electronics tools, spectrum analyzer, oscilloscope, protocol analyzers,... |
Network monitoring and analysis tools: to report on traffic,
errors, congestion, bandwidth, utilization, etc., both university-wide and
departmental.
Employer | : | University of Utah, Campus Networking / Computer Center 1989-1995 |
Level | : | SNMP, MIBs, Unix tools (e.g., tcpdump, etherfind, awk),... |
Tools | : | Protocol analyzers, SNMP, csh, sh, C,... |
Security Design in Distributed Computing Systems : New methodology
for the design, analysis, and maintenance of security architectures.
[More Info]
For | : | University of Utah, Computer Science 1987-1993 |
Level | : | High-level software architecture to low-level hardware |
Tools | : | OO modeling, information flow analysis, risk analysis |
Object-based discrete simulations : such as a simple
time-sharing scheduler, CSPs, Ethernet, distributed system (message passing,
delays), etc.
For | : | University of Utah, Computer Science 1987 |
Level | : | C++, tasks |
Tools | : | C++ (C preprocessor plus multi-task engine) |
Network protocol stack for network transparent datacom : for
information retrieval system testbed. State machine design, low level socket
I/O, shared memory with locking, fragmentation and reassembly, name service,
dynamic process relocation.
[More Info]
Employer | : | Central Intelligence Agency (CIA), University
of Utah, Computer Science 1984-1986 |
Level | : | Low (C, datacom protocols, OS system calls,...) |
Tools | : | C, Apollo Domain OS, Unix OS, ARPA documentation |
Software for gamma-correction of color video displays : creating
inverse gamma curves from screen measurements, (via power functions or cubic
splines), generating correction tables, considering quantization effects.
[More Info]
For | : | University of Utah, Computer Science 1983 |
Level | : | Low (CRT pixels, screen luminance, analysis) |
Tools | : | C, Fortran, luminance measurement equipment |
3D/2D graphics software : for both raster and vector displays,
including scan conversion, Gouraud shading, user-object interation (e.g., room
furniture layout).
For | : | University of Utah, Computer Science 1981-1983 |
Level | : | Low (vertices, normals, pixels, display lists,...) |
Tools | : | C |
Computer vision software : for piecewise approximation of
curves, converting arbitrary curve into a polyline of reduced-complexity based
on allowable error.
For | : | University of Utah, Computer Science 1982 |
Level | : | Low (points, vertices,...) |
Tools | : | C |
Image and signal processing software : for convolution, DFT from FFT,
windowing and filtering in Fourier space, etc.
For | : | University of Utah, Computer Science 1981-1982 |
Level | : | Low (pixels, DFT values,...) |
Tools | : | C, Fortran |
Image digitizer software : for diagnostic X-ray films,
including calibration, data collection and high-level image post processing.
Employer | : | University of Utah Medical Center, Digital Imaging Lab 1982 |
Level | : | Low (device driver design, pixels,...) |
Tools | : | Fortran, Data General RDOS/AOS assembler |
Image digitizer hardware : for diagnostic X-ray films, designed and
constructed from from the ground up.
[More Info]
Employer | : | University of Utah Medical Center, Digital Imaging Lab 1982 |
Level | : | Low (mechanical hardware, optics, electronics,...) |
Tools | : | Metal shop services, digital imaging device |
Digital film writer software : to create film images from
digital data, including double buffered device I/O, gamma correction.
Employer | : | University of Utah Medical Center, Digital Imaging Lab 1981 |
Level | : | Low (device driver design, pixels,...) |
Tools | : | Fortran, Data General RDOS/AOS assembler |
Digital film writer hardware : to create film images from
digital data, constructed from the ground up.
Employer | : | University of Utah Medical Center, Digital Imaging Lab 1981 |
Level | : | Low (mechanical hardware, optics, electronics,...) |
Tools | : | Optical bench, optics, high resolution monitor, scope |
Frame buffer image display tools : to format and display text,
images, color scales, etc. on a high resolution frame buffer.
Employer | : | New York University Medical Center, Radiology 1979-1980 |
Level | : | Low (frame buffer library, pixels,...) |
Tools | : | Fortran, Basic, Data General RDOS assembler |
Digital monitoring system : Hardware designed and constructed
from the ground up with 144 TTL ICs and 10 CMOS ICs, comprising 3 physical
units, including PC board layout and etching, with complete circuit diagrams and
theory of operation.
[More Info]
Client | : | Indiana University of PA, Psychology 1975-1976 |
Level | : | Low (electronic hardware, TTL/CMOS ICs, relays, PC board etching, wiring,...) |
Tools | : | IC breadboards, test equipment (scope, power supplies,...)
|
Electronics class : Designed and taught short course at Summer
Institute for high school physics teachers, covering new analog and digital IC
technology.
Client | : | Indiana University of PA, Physics 1975-1976 |
Level | : | Low (electronic hardware, 741/TTL/CMOS ICs,...) |
Tools | : | IC breadboards, test equipment (scopes, signal generators, power supplies,...)
|
|
|