Software engineering consultant in C++ for Adept PD, Philadelphia, PA. Coded geometry extraction using the DWF toolkit for dwf files for construction projects. Part-time, online only. Finished the program essentially for REVIT. NAVISWORKS requires a change in Autodesk’s dwf extraction tool. A work-around is possible, but funding was ended beforehand. Recent work was not paid, and I ended the project (5/19-10/19).
Independent contractor with XXXX.com (German, Word) (06/17-12/18) or privately (JC-PD LLC (AKA Tutoring by PPD) (06/16-present) tutoring in C, C++, Java, C#, python, MATLAB, math, physics, and statistics. Independent contractor also with Superprofs and Chegg.
Worked for XXXXX.com from (11/14 – 07/17) (5.0 star tutor). (Tutoring CS: C, C++, C#, Java, python, MATLAB, FORTRAN 95, bash shell scripting, Win32 shell scripting, Linux system administration, UNIX). Also tutoring these subjects: math through a math minor, numerical analysis, college physics, university physics, statistics, ACT, SAT, computational statistical mechanics, and probability.
Established a business called JC-PD LLC. JC-PD LLC tutoring (as of 6/17) and app creation for retail sale (as of 8/17). Retail book seller on Amazon.com (6/16-present).
Adjunct instructor of math and physics at Cameron U, Lawton, OK (1/15-6/16)
Adjunct instructor of physics at WOSC, Altus, OK (1/16-6/16)
Freelance programming for Guru.com. (8/16-8/18) (Rarely).
Total of about 4 years of part-time tutoring experience in St. Louis, MO for a private company and, in Edwardsville, IL for SIUE. I have additionally about 1.5 years of part-time and periodically full-time experience (2016 - 2017) with online or primarily online tutoring employers. I began this tutoring business in June, 2017, which has been a full-time job.
Using C++ in a RHEL 5.8 64-bit OS, programmed in the modeling and simulations group. Added new behavior to a UAV model with three degrees of freedom.
Wrote (Graphical User Interface) GUI code using GTK+2.0 with C++ in a Linux OS for a new FIRESIM XXI GUI. Utilized g++, SCRUM, DIS, and HLA.
Performed unit and system testing. Debugged code using ddd. Merged code forward. Created reports.
Maintained the Computer Meteorological Data-Profiler (CMDP). Helped to correct code written in Java Swing. Tested a new capability of the CMDP using AFATDS.
Tested the Meteorological Measuring Set Profiler (MMSP) to determine its range as a function of latitude. Discovered inconsistencies in the measurements. Determined that there was a problem in the model code and solved it. This problem had been present and unsolved for years.
Placed again into full-time software sustainment of the MMSP profiler.
Managed the SDF for a new profiler software release, and assisted in the development of that new release. Primarily independently, upgraded the MMSP modeling computer to RHEL 6.0. Set up a Solaris 10 build machine for the new profiler.
Designed, developed, and tested, primarily independently, the code necessary to allow the MMSP profiler to handle two types of GRIB data, and presented a code walk through. Found seven errors in the profiler code written by the OEM. C++, csh, sh, and Perl were utilized for a Solaris OS computer among a system of three networked computers.
Helped to set up a Solaris 8 build machine for an older version of the profiler. Assisted with putting the software transition of the profiler (18,000 files) from the OEM to the FSED under CM control.
Developed algorithms, programs, and shell scripts to analyze radar detection data and debugging output data for the LCMR/Q48. Deduced logical, statistical data analysis issues with mathematical proof in C++ radar code written by the OEM. Assisted with the algorithm to detect rockets with the LCMR.
Wrote an 87-page document describing how to playback recordings using the process automation programs and shell scripts I independently developed for Linux by affecting synchronization of the interface computer and radar cylinder computer, more insight was obtained into the various software modules of the entire system. With these methods, a bug manifested by timing discrepancies between the two computers was detected in the LCMR system.
Successfully completed the Modern Radar Systems and Phased Arrays Radar short courses from Georgia Institute of Technology.
Was invited to create and program an algorithm to predict the current likelihood of obtaining the correct FY-end planned effort based on the current actual effort for larger contracted projects. My solution was selected over those offered by the section managers. The CGI vice-president came to Lawton to see a presentation of my work, but I was not allowed to attend. The algorithm provides simple, visual evidence of the likelihood of future success obtaining the correct FY-end planned effort every pay period. The original, complex mathematical and statistical algorithm is the primary indicator of the status of each project. This algorithm and several simple, supplemental algorithms provided by several section managers were approved by the government and have been utilized since 2009. Programmed the entire solution for WINXP Pro in C using MSVS C++ express and wrote a 60-page user’s manual for this program. A senior engineer, my former team leader, attempted to program this solution in Java and could not.
Took the personal software process (PSP) fundamentals and advanced courses of the SEI, Carnegie Mellon University, over a 2-week period in August 2009.
Wrote a 156-page, single-spaced description of one run through the entire weather prediction algorithm for the laptop profiler. Wrote a document describing the corrections I made to the laptop software.
Researched the new WRF weather model as compared to the MM5 model. Developed a plan to upgrade the laptop profiler software with a more modern weather model. CGI obtained funding for this task in 2012 for the CMDP.
Independently, tested and debugged the prototype laptop profiler in conjunction with the currently fielded profiler by comparing numerical output within various identical modules of the systems. These comparisons revealed many issues in both systems. Corrected (Unix/Linux/FORTRAN 77) code for most software modules of the laptop profiler before the project ended.
Began maintenance of the MMSP. Studied Java several months.
Computers (OS): x86 (WINXP Pro, Vista Enterprise, and Windows 7 Pro Enterprise); (Dell Dual Core laptop, RHEL 2.6); (VMware, VT Miltope); (RHL Fedora 5, Solaris 7); (RHEL 5.5, Solaris 8); (RHEL 6.0, Solaris 10).
Programming and scripting languages: C, C++, FORTRAN 77 and 90, in Linux and Solaris; WINXP/MSVS/C++ express C; Linux/Solaris/sh, csh; Linux/bash; Solaris/Perl.
I developed about 80% of the research methods/tools that are still being used in 2014: cf. hrv.wustl.edu
Independently, on 01/08/08, repaired the qrsdk.c program of GE-Marquette. The program had intermittently caused misalignment of the detected QRS-complex peaks and the actual ECG-QRS-complex peaks for more than a decade due to unexpected characters in the beginning of the binary QRS file output by the scanner.
Independently designed and programmed a 48,000-line Heart Rate Variability (HRV) analysis program (UNIX/Cygwin/C)(gcc). HRV is a mathematical time series analysis of annotated cardiac inter-beat intervals. Completed the mathematics for all of the many new algorithms included in the program. Features are: 1) Easy variable selection. 2) Easy analysis period selection. 3) Automatic placement of results in a .csv spreadsheet. 4) HRV analyses methods for sleep and physiological studies. 5) 700 epoch-averaged or total-recording variables. 6) 140 adjustable parameters. 7) HRV analyses of ECG and EEG signals. 8) Automatic concatenation of results while running in batch mode. 9) Computation of time- and frequency-domain, and nonlinear variables. 10) Inclusion of several original methods of analyses, 11) Multithreading
Programmed the Detrended Fluctuation Analysis (DFA) algorithm (UNIX/Cygwin/C). Discovered an error in the code of the original authors’ version posted on www.physionet.org The web site acknowledges the discovery in the program’s documentation.
Independently designed and programmed (UNIX/Cygwin/C) a method to line up R-wave peak times of QRS complexes in RR-interval beat files with the correct R-wave peak times in the ECG. Recorder and scanner errors caused misalignment. The method can align RR-interval beat files with ECG’s of various sampling rates.
Upgraded the HrvInteractive (MSVS2005Pro/MFC/C++) GUI described below. The lab utilizes HrvInteractive extensively to find in-bed/out-of-bed times from graphically displayed HRV plots over a 24-hour period.
Wrote shell scripts and programs to prepare and load the text ECG’s for scanning on a GE-Marquette MARS PC (WINXP) Holter (ambulatory ECG recorder) scanner and a Cardioscan Holter scanner.
Completed the writing of MATLAB code necessary to automate the running of the QT-segment variability index (QTVI) program developed at Johns Hopkins Medical School.
Collected data from heart transplant patients on my personal time until about 07/2007. Approximately 500 ECG’s were collected.
Part-time UNIX system administration.
Independently designed and programmed (UNIX/C) methods to automate the extraction of data for HRV analyses of scanned Holter recordings for the SAGE drug study.
Independently designed and programmed (UNIX/C) methods to compute HRV data for unusual studies: 1) HRV of mice. 2) HRV of anxiety and consequent work injuries of professional musicians. 3) HRV anxiety studies of subjects during various sleep stages.
Migrated the HrvInteractive GUI to (MSVS2003Pro/MFC/C++) from MSVC++ 6 standard edition. Designed and programmed additional capabilities in the GUI.
Collected data from heart transplant patients on my personal time.
Part-time UNIX system administration.
Independently designed and programmed software (UNIX/Linux/C) to read various commercial binary formats of ECG’s and the EDF format of polysomnograms for conversion to text. Wrote shell scripts and programs to prepare and load the text ECG’s for scanning on a GE-Marquette MARS 8000 Holter scanner (Solaris 6).
Designed and programmed, independently, (UNIX/Cygwin/C) the automation of the HRV analyses of the TAKEDA drug study. Automation began with the extraction of ECG’s with a Delmar Medical Systems’ Impresario Holter scanner. Automation ended with Holter scanning on the MARS 8000 and then HRV analyses.
Independently designed and programmed an HRV interactive GUI (MSVC++ 6/MFC/C++), called HrvInteractive, using a 4-pane dynamic splitter window, the single document interface, and the document/view architecture. The GUI currently provides 270 different four-paned views, along with one- and two-paned views. Segments can be quickly viewed for up to 24 hours of data. There are 59 adjustable parameters. HrvInteractive also contains: 1) Time- and frequency-domain HRV. 2) Nonlinear HRV. 3) 720 different segment lengths. 4) An editable sleep apnea detector based on heart rate. 5) An HRV application to determine in-bed/out-of-bed times using 13 different views. Independently designed and programmed the algorithms for sleep apnea detection. Independently designed and programmed all of the graphical representations of HRV data.
Independently designed and programmed, for short recordings from heart transplant recipients: 1) A fully automated 1000 Hz ECG scanner (UNIX/Linux/DOS/C). 2) Algorithms for QRS signal averaging. 3) Algorithms to detect cardiac allograft rejection directly from the ECG signal.
Received additional funding by the BJH Foundation for and carried out research in cardiac rejection detection for cardiac transplant recipients using HRV and signal processing analyses. The funding lasted one year. Afterwards, collected data from heart transplant patients on my personal time.
Independently designed and programmed (UNIX/DOS/C) an ECG scanner that detected R-wave peaks and allowed interactive editing of the R-wave peak locations and beat labels, while using only 64KB of RAM. Applied the scanner to ECG’s obtained from polysomnograms of patients with suspected sleep apnea. Analysis of the output of this scanner was used obtain a $3,000,000 grant by Robert M. Carney, a psychologist. Scanning for some of the unusual HRV projects mentioned above required this ECG scanner.
Designed and programmed algorithms (UNIX/C) for the analysis of HRV data of various patient populations. Programmed algorithms from original research articles. Enhanced HRV code by including new signal processing, data processing, and numerical algorithms. Designed and programmed shell scripts and C programs to automate data processing. Invented an algorithm to detect exceptionally high HRV (assumed erratic sinus rhythm).
Independently designed and programmed algorithms for the automatic detection of sleep apnea (DOS/C). Designed and programmed a sleep apnea scanner similar to the previously mentioned ECG scanner that used 64KB of RAM. Designed and programmed a plot of 24-hour heart rate tachograms (UNIX/Cygwin/C). The lab uses the tachogram extensively. Developed an easy method to detect sleep apnea with these tachograms. Cardioscan, owned by Bill Parsons, utilizes the tachogram and easy sleep apnea detection method.
Part-time UNIX system administration beginning in the year 2000.
Independently designed and programmed the analysis of experimental data obtained from a pulse arterial tonometer (PAT) device placed on the tip of a subject’s finger. The software was written using (DOS/C).
Independently derived the mathematics and programmed univariate Cox and logistic regression statistical algorithms (UNIX/C). Showed that high HRV predicts mortality in post-myocardial infarction patients.
Independently programmed: 1) Algorithms from nonlinear dynamics. 2) Csh scripts for batch jobs. 3) Algorithms for the statistical analysis and/or manipulation of output data (UNIX/C). All algorithms were utilized for the analysis of clinical data. Programmed in the SAS statistical programming language to analyze data.
Obtained a grant from the BJH Foundation to detect acute rejection in cardiac transplant patients using heart rate variability analyses.
Independently designed and programmed an HRV analysis package (UNIX/Linux/DOS/C) that included: 1) Five autoregressive spectral analyses algorithms. 2) A smoothed-pseudo-Wigner-Ville time-frequency analysis algorithm. 3) Spectral decomposition for the autoregressive analysis. 4) Statistical algorithms for the validation of the autoregressive models. 5) HRV time-domain algorithms. 6) Algorithms from nonlinear dynamics. 7) Algorithms for statistical analysis and/or further processing of the output data. 8) Utilization of only 64 KB of RAM. Autoregression, FFT, and filtering algorithms were translated from FORTRAN 77. Tested code. Completed the mathematics for the statistical analyses, spectral decomposition, and time-frequency analyses. The National Institutes of Health later purchased the software. Very many publications have been produced with this code.
Southern Illinois University, Edwardsville, IL; S. Mathematics; 08/31/1978; GPA: 4.42/5.0 (3.54/4.0).
Southern Illinois University, Edwardsville; (All but Master's Degree thesis) Physics; 05/1980; GPA: 4.88/5.0 (3.90/4.0).
Washington University, St. Louis, MO; A. Physics; 05/21/1982; GPA: 3.18/4.0.
Washington University, St. Louis, MO; D. Physics; 12/19/1991; GPA: 3.34/4.0. (W. H. Dickhoff, Ph.D.)
Eberhard-Karls Universität Tübingen, Tübingen, Germany; Institute for Theoretical Physics; PostDoctoral Fellowship; 04/1992 –08/1993and (part-time: 09/1993 –12/1993). (Herbert Muether, Ph.D.)
University of Missouri, St. Louis; 36 semester hours toward a M.Ed. in Sec. Ed. plus a Mathematics teaching certification (Also took several advanced math classes.); 01/1994 –12/1995; GPA: 3.83/4.0.
Spectral Functions and the Validity of the Shell Model in Finite Nuclei. After working on my dissertation for four years, in1986, I changed from a dissertation in Low Temperature Experimental Physics to one in Nuclear Many Body Theory.
B.S. with honors, 1978; Illinois State Scholar, 1974-1978; PiMuEpsilon honorary Mathematics Fraternity, Southern Illinois University; Washington University Fellow, 1982-1985. In 2008, Who’s Who in America invited me to submit my biography, and I did not.
For nine of the past twelve years, in the HRV lab, I was the only person with knowledge of computer programming. Also in the HRV lab, I was the only person capable of doing sophisticated mathematical calculations. Between 1975 and 1994, I have been studying or regularly doing advanced mathematics. In 1991, I significantly improved the Levenberg-MarQuardt algorithm by finding a much better estimate of the global minimum, while gaining professional programming experience in (Unix/C). From 1995 to March 2008, I have occasionally done advanced mathematics on the job.
I have been the part-time UNIX/Linux system administrator for 8 years in the HRV lab. I managed one RHL 7.3 server, one Solaris 7 server, and two Solaris 8 servers. The servers were an IBM PC, a Sun SPARCstation 5, a Sun Ultra Enterprise 450, and a Sun Ultra 60, respectively. I also spent years administrating the x86 PC’s (WIN95, WIN98, WIN2000 Pro, WINXP Pro) in the lab.
08/91-12/91: Part-time College Physics instructor, St. Louis Community College at Meramec, St. Louis, Missouri.
08/86-12/91: Research Assistant, Graduate Teaching Fellow, or Graduate Student working on my Ph.D. dissertation in Nuclear Many-Body Theory, Physics Department, Washington University, St. Louis, Missouri. Passed the supervised teaching requirement included in my Ph.D. degree.
06/82-05/86: Washington University Fellow or Graduate Teaching Fellow, working on my Ph.D. dissertation in Low Temperature Experimental Physics, Physics Department, Washington University, St. Louis, Missouri.
08/80-06/82: Graduate Teaching Fellow and Graduate Student, Physics Department, Washington University, St. Louis, Missouri.
08/78-06/80: Teaching Assistant and Graduate Student, Physics Department, Southern Illinois University, Edwardsville, Illinois. (Instructor of a lab course for one quarter).
Peter P. Domitrovich, Jr., Ph.D.
Mostly Computer Science Skill Matrix:
Skill | Cumulative FTE* Experience | When** | Additional Information |
Unix | > 17 years @ 40hrs/week | 1986-1994; 1996-2008; 2008-2018 | Mostly Solaris user; 1986-1991: grad school; unix tutoring |
Linux | 2 years @ 40hrs/week | 2000-2013; 03/2013-07/2017; 2019-2023 | Recently, RHEL; Linux sys admin tutoring |
Cygwin | 3 months @ 40hrs/week | 2000-2008; 2015-2023 | Ran HRV code often in Cygwin |
MS Windows | 3 years @ 40hrs/week | 1996-2023 | Always up-to-date with windows OS’s |
Unix system administration | 1 year @ 40hrs/week | 2000-2008 | Solaris 6, 7, 8 |
C | 7 years @ 40hrs/week | 1991; 1996-2008; 2008-2018;2019-2023 | Unix/C console applications development; c tutoring |
C++, C++ GTK2+ | 4 years @ 40hrs/week | 2000-03/2013; 03/2013-11/2018;2019-2023 | Apps; C++ tutoring |
FORTRAN | 5 years @ 40hrs/week | 1986-1994; 2008-2009;2017 | Mostly f77, some f90, and f95. 1986-1991: grad school; f95 tutoring |
MS Visual Studio MFC/C++ | 10 months @ 40hrs/week | 2000-2008, 2018; 2019 | Windows GUI development |
Java/Java Swing/Java FX | 2.5 years @ 40hrs/week | 2008; 2012-2018;2019-2023 | Java game programming; Java ee; maintaining Java Swing code; Java tutoring |
Python | 1 year @ 40hrs/week | 2020-2023; | Python research/tutoring |
MATLAB | 4 months @ 40hrs/week | 2005-2008; 2018; 2019-2021 | Automation or GUI; MATLAB tutoring |
Bash; Ksh; Sh; Csh | 1.3 years @ 40hrs/week | 2000-2018; 2019 | Sys admin and automation; bash tutoring |
DOS/DOS COMMAND SHELL | 1.4 months @ 40hrs/week | 1996-2008 | Win admin and older programs |
Windows/C WIN32 | 2 months @ 40hrs/week | 1999 | Windows GUI Development |
MS Office | 1 year @ 40hrs/wk | 2004-2023 | Since 2000 |
GTK 2.0 | 2 months @ 40hrs/wk | 2014 | Linux GUI development |
gnuplot | 1 month @ 40hrs/wk | 1996-2014 | Used often for HRV |
time series analyses | 2.4 years @ 40hrs/wk | 1996-2008, 2017 | Heart Rate Variability; some signal processing. |
mathematics | 3 years @ 40hrs/wk | 1996-2008; 2009, 2013-2023 | Mostly HRV math and signal processing; algebra, calculus, diffyq tutoring |
* FTE = Full-Time Equivalent or 40 hours per week. | **part-time usually |
Copyright © 2017- Peter Domitrovich, Ph.D. JC-PD LLC. All rights reserved. Written by Peter Domitrovich, Ph.D. .