Resume for Gerard Gilliland

Unknown Age (2018 to ?)

Attended World Beyond War's six week class on War and the Environment. I am glad WBW is finally recognizing the environment and climate change, and Sierra Club is finally recognizing War.

2019 to Present

Attempting to add a Convolutional Neural Network (CNN) model to identify Bird Songs for my Andorid app: Birding Via Mic. (See below at 2013). I have tried several models. It is currently based on Python that performs speaker recognition from Mirco Ravanelli, Mila - University of Montreal, The model is populated using bird songs from I built the database in SQLite from IOC World Bird List by Frank Gill. The CNN model is built using Ubuntu 20, Python 3.6, on Nvidia Quadro GV100 GPU hardware. It is run using terminal$ Python3 using the GPU. For Android, I convert to use only the CPU for identification only. I could run locally but it was to large for Google Play store to load. So this is plan B: (in progress) Put the model on the server and send an unknown bird song to it. And (hopefully) return the specie name back to the Android smart phone.


Learn Convolutional Neural Networking (CNN) Concepts. Run Speaker Identification (SincNet) and Flower Identification programs. Python3.

Age of Exploration (2009 and Beyond)

Attended World Beyond War's eight week online course 'War Abolition 201'. Peace !!
Peace requires justice, which requires sustenance for the people, which requires ecological sustainability, which requires peace. -- Joanne Cvar. I added her quote to the footer of my web site.

2017 to Present

I wrote a monitor app on the Raspberry Pi in Python3 interfacing with a Camera, Air Monitor, Microphone, Particle sensor. I see this as a "citizen" monitoring system. The concept is to monitor Air Particles, VOCs (Volatile Organic Compounds), and Sound levels in real-time. Five second data is averaged each minute. Sound is maximum for the minute and updated each minute. The intent is to keep the driller and producer honest in their commitment to low air particles, noise, and VOCs. The data is sent to a server each minute and displayed along with other monitors on Google Maps. The markers shown on the maps display I (information), W (warning), or A (alarm) and are updated each minute. When clicked they display the last known data using Javascript. A plot button displays the last 24 hours using PHP, Javascript, and MySQL.

2017 to 2019

I copied Fred Goodsell's book OFF-TRAIL HIKES IN CAPITOL REEF NATIONAL PARK and published it on line using PHP, Javascript, MySQL, Google Maps, and lots of effort from Fred. We have Markers for the interesing points, Dots, Lines, and/or Overlays from Fred's maps and GPS Tracking.


Attended World Beyond War's eight week online course 'War Abolition 101'. It's labeled 101 but it felt like it was an upper level class. Peace !!

2016 to 2019

I wrote a Broomfield Gas Study on Drilling, Fracking, Flowback, and Production on four pads with 139 total wells. There is a PowerPoint document on the study, a spreadsheet of the pressures, flows, and volumes, two spreadsheets on the losses and concentrations, and a 72 month model of the four pads. I used the EPA AERMET (weather), and AERMOD (dispersion of contaminants) to analyze the data and displayed it on Google Maps using PHP, Javascript and MySQL (database).

2014 to 2015

I built a web site for Paul Smallwood Art with a Subject and Information entry form, and Image re-size screen that builds large thumbnails, screen size, and fullsize downloads using PHP, Javascript, and MySQL.

2013 to Present

I wrote an Android application: Birding Via Mic. It is a bird song recognition app and database. You can install it on your smart phone or tablet from Google Play. It was started under the Eclipse emulator and finished under Android Studio Projects, and used the Android Software Development Kit (SDK), with Java and SQLite (database).

2013 to Present

Upgraded this web site from MySQL4 to MySQL5 and PHP4 to PHP5.4 and now PHP5.6.

2011 to 2013

I wrote an Android application: SixPuzzles. It is a graphic placement puzzle. You can install it on your smart phone or tablet from Google Play. It was developed under the Eclipse emulator, using the Android Software Development Kit (SDK), with Java and OpenGL (graphics). Upgraded in 2016 using Android Studio Projects.

2011 to Present

I am writing an article "Instinct Viewed as Pre-Recorded Memory". Instinct is the action or behavior of an animal that is performed without prior experience or learning. Examples of instinct are honeybees dancing a routine to communicate the distance and direction of a sugar source, birds building nests. Learning is the transfer of knowledge to memory. And memory storage is the firing of neurons. However, if a portion of memory is pre-recorded as the brain develops then instinct can be viewed as repeating activities that are already known.

2009 to 2018

I had a request in 2004 (see below) to recognize the various Signatures of energy components through wave form analysis. I have since re-written it in PHP4 and MySQL. The original analysis was only prototyped to work on one leg. I have expanded it to two legs and automated the process. I was waiting for a two leg hardware box, contemplating a more graphic user interface, and developing an Android App interface. You can see samples of Energy Signatures in the Energy Profile Exchange window and some history in BBMonitor.

2009 to Present

I enjoyed Plant Classification back in College and Barnsley's Fern captured my imagination back in 1989. I programmed the iterated function systems in Visual Basic later in Access and recently in PHP4 and MySQL. My thoughts are the "junk" in DNA between the genes are really counters. These counters are key to the plant forming its shape.

2009 to Present

I wrote an article on Global Warming. I started out attempting to say Heat was the cause: I calculated how many BTUs were involved in energy combustion. It was interesting and challenging but only provided 1/100th of the heat I needed. But in the process I had gathered lots of data and was seeing trends with consumption and energy use. I started the paper over -- this time looking only at trends and adding natural events. The paper titled "Combining the Sources of Temperature Change" ties natural and manmade events and processes to temperature change. This is a curve relationship study. I am using existing data: the numbers gathered by accountants, and scientists that work in diverse fields. I combine these diverse data to 'reflect' the shape of the temperature anomaly curve. With time and additional data, I hope they will be shown to 'drive' the temperature curve. I continue to update data yearly and it continues to track. Calculations and Plots were done in Excel with the paper written in HTML, PHP4, and MySQL.


Retiring allowed me to explore interests that regular work supressed.


Age of Information (2000 to 2008)

Study the Vista Operating System and Access 2007. Convert several applications written in Access 2003 to run in Access 2007.


Build a PHP4 / MySQL / JavaScript Plant Calibration web site that maintains a database to Enter, Update, and Report on Analog, Digital, Motor Data, and Relief Valve Components.

2006 to 2008

Build and support three similar Access databases that are table driven and connect to Oracle and Aces databases. A Report table lists one row for each report. The Template table contains one to many rows for each report title. Each row names the template query, pass-through query, make table query, temporary table, and macro if needed. Populate each pass-through query with parameters selected from the main form. Each query creates a local temporary table. The final report query ties the local tables together. The strengths of this process are low maintenance, high throughput, and high re-use of queries and reports.


Build a PHP4 / MySQL / JavaScript Energy Transaction Tracking System web site to Enter, Schedule, Track, and Invoice Energy Transactions. This is similar in function to the Access Transaction Tracking database in 2000 (below).


Write a conversion program that creates and populates tables in a MySQL database that were defined in an Access database. This is similar to the Oracle conversion process in 2001 (below).


Build an Access application to load WAV (Sound) files in the Time Domain, convert them to the Frequency Domain for graphic display using the Fast Fourier Transform (FFT) algorithm.


Build a prototype Access application that interfaces in real-time with electrical load, separates the load into different components (e.g. resistive lamps, florescent lamps, inductive motors, others) by recognizing the various Signatures of each component through wave form analysis, records each component's start time, stop time, and power used.


Attend a class in Web Programming at Metro State. Introduced to XHTML, JavaScript, and Unix.


Build and support dynamic ASP web pages for a company intranet.


Attend a semester class in Accounting. (Working with accountants, it was time I learned the language: the statements of Income, shareholders equity, balance sheet, cash flows, and general ledger.)


Study VBScript, JavaScript, and the N-tier architecture to interface intranet backend databases with Web forms.


Take a quarter course in PC Hardware Maintenance and Troubleshooting. Although I have understood the hardware and CPU functions (see 1980 below), I needed to understand the current Windows / Intel architecture.


Write a conversion program that creates tables in an Oracle database that are defined in an Access database. The program defines the same primary keys and retains data type compatibility. When attached to these Oracle tables through the ODBC driver, the existing Access application's forms, queries, and reports are able to run against the new Oracle tables.


Convert a mainframe Fortran engineering heat balance program to run on a Personal Computer under the Access database and Visual Basic. The development included building a Fortran Steam Properties Dynamic Link Library for Enthalpy, Entropy, Pressure, and Temperature calculations. The energy flows, transfers, and heat rate results are shown on standard reports and graphically on cycle diagrams.


Build a Transaction Tracking Access database that runs across four departments. Two or more transactions can be tied together to hedge the Purchases and Sales. Each transaction can cover from one hour to several months and is expanded to a 24 hour format that includes Shaped Schedules, Peak, Off Peak, Time Zone, and Daylight Savings Time changes. The transaction is then scheduled and monitored (where it can be modified on an hourly basis), until it moves to accounting where it is checked out and invoiced. The prices can be fixed or indexed. The indexes are downloaded from the Web. A log is kept on any field edited showing the name of the person modifying the data, the date and time of the change, and the before and after values. Reports sum the values at the delivery points to show assets, liabilities, and margins at each hour with daily totals. An Archive database mirrors the online system.

Age of Enlightenment (1997 thru 1999)

Work with existing reports using Access as a front end to a Sybase database. The major accomplishment at this site was the automation of reports by passing parameters to the over 250 different reports to automatically run rather than require intervention to running each report individually. Another improvement was the reduction in maintenance of reports by using fewer common reports and passing parameters rather than having each report unique. The reports were saved in snapshot format on the intranet web.


Acquired Microsoft Access 97 Expert Certification.


Build a Time Card and Project management database that tracks hours spent on different projects. Summary reports are sorted by projects and personnel. One highlight of this project is the ability to lock the time entered after management approval. The user can go back and view the time but not change it. Another highlight of this project is the ability to recognize the user from a previous server logon and bring up the Time Card for the user without requiring the user to log into the database. When the database recognizes the system administrator or management, it brings up different forms that provide access to the management and reporting sections of the database.


Build two independent Access databases that share common data. 1) The Master database can modify data but not add any records. It downloads the selected historical data to the Remote database. 2) the Remote can add records but not modify the historical data. The records added acquire data through RS-232 interfaces connected to external devices. The data acquired is compared with NIST traceable standards from another external device. These new records can then be uploaded and added to the Master.


Build an Access database for Headend, and Facility management of the Cable industry to track the Activities, Organizations, Locations, Categories, Items, Inventory, and Documentation involved in Y2K testing, repair and replacement. The major method of entering data is through importing data from Excel spreadsheets. One highlight of this database is the ability to track the forms as you work into the data and return to the previous forms as you back out. Another highlight of this database is the ability to merge Categories or Items. For example: If you find duplicate Categories, all tables and fields using the Categories are checked to replace the "bad duplicate" Category with the "good" Category before the "bad duplicate" Category is erased.


Acquired Microsoft Certification on Windows/NT 4.0 Workstation.


Build an Access database with dynamic reports to display a company's General Operating Report. These reports reflect Monthly, Year To Date, and Last 12 months of data. The data is input by transferring multiple Excel spreadsheets from different sources via Update queries using the Data Access Object (DAO), and by reading text output from the Mainframe computer With Visual Basic for applications. The report data is selected dynamically by clicking on options on a form and selecting the date and type of report requested.


Build an Access database user selectable dynamic query to view a Sybase database. This database has a complex set of approval business rules. These rules include multiple password protected approvals under varying logical conditions. The results of which lock and unlock forms, fields, and completion lists. Automatic email notification is supplied to dynamically selected personnel upon the modification of specific data.


Build a Visual Basic client interface to select and display employee photos (jpg format) from a remote server running an Access database. The client application installation is supported from the remote server.


Study the Java language at Denver University.


Age of Reason (1991 thru 1996)
1995 to 1999

Employed by IBM Global Services as an Application Integrator. Developed client / server based applications using Access database and Visual Basic running under Windows and Windows NT.

1973 to 1995

Employed by Public Service Company of Colorado. Application Programmer from 1976. Wrote and assisted users and programmers in Assembler (CDC1700, DEC PDP8S, Motorola 6800/6809), BASIC, C, FORTRAN, MODEL, and Visual Basic Languages, and Access database.

1982 to 2008

Developed the MODEL language to run on IBM PCs. MODEL is providing real-time simulation, control and engineering analysis.

1975 to 2008

Interface with government agencies to meet requirements for the Nuclear Regulatory Commission (NRC), Environmental Protection Agency (EPA), and Public Utilities Commission (PUC).

1994 to 2008

Developed real-time data acquisition systems, performance monitoring calculations, emission monitoring, statistical and quality analysis systems using protocols to Yokogawa and Accurex recorders, Sixnet, ABB Taylor, and Opto22 running under Windows for Performance Engineering, and Coal and Gas Electric Generating Stations. Support Marketing with variable speed pump simulation, steam properties as a dynamic link library for Excel. Support Performance Engineering with Bag House testing. Support System Operations on Joule Electronic Meter (JEM) watthour meter calibration and testing.

1993 to 1997

Work with Performance Engineering to expand Power Plant Controllable Parameters (see below) to calculate heatrate index and load indexed history.


Helped define the PSCo requirements for Client/Server. Wrote examples to display Human Resources Information Services (HRIS) and Gas Management Systems (GMS) and other Mainframe databases in a Graphical User Interface (GUI) using the Application Programming Interface (API), and Structured Query Language (SQL) calls to retrieve and display the data. Applied context-sensitive help screen capability.

1989 to 2008

Developed concepts of Project Control, Vertical Programming and Application Specific Natural Languages for use in the Computer Aided Software Engineering (CASE) environment.

1991 to 1992

Developed software in conjunction with Colorado University (CU) and Colorado Advanced Software Institute (CASI) for fault analysis via simulation, Kalman filters, and knowledge bases to locate early plant and instrument fault detection, and to track and predict critical component performance parameters.


Renaissance (1977 to 1990)
1985 to 1998

Initial development of and support for Power Plant controllable parameters. These systems read and display the major plant parameters such as pressures and temperatures of the condensate, feedwater, main and reheat steam systems. A projected goal is calculated for each parameter that is directly or indirectly controlled by the plant operator. The delta between the actual (measured) and the goals are displayed in engineering units, BTUs per hour and dollars per shift. Extended functions include historical data, summaries, bar charts, multiple displays, and plots. Points are alarmed if the delta exceeds calculated or pre-defined limits. (Initial systems ran in DOS current systems run in Windows.)


Development of Robotics simulation. This system simulated a fuel handling machine and its control interface. Simulation included 3 dimensional axis positioning and rotation, command recognition, fuel block dynamic movement and machine safety logic.

1987 to 1988

Initial design and Development for Microwave Scanner and control. Functions include scan and control for up to 64 remote microwave stations located around the state of Colorado. This is a fully distributed multiple CPU system. With the use of overlays it allows for the total database to exceed the 640K DOS barrier.


Write and present to the Nuclear Regulatory Commission a specification for a full scope plant specific training simulation using the multiple CPU distributed process simulation concepts developed in 1985 and 1986.


Development and support for Circulator Bypass Ratio Controller scanner, Control rod Drive temperature scanner, and Steam Temperature transient analysis system. These were similar systems doing data acquisition, historical display, and analysis. The analysis included plots, averages, deviation from average, rate of change, and time of operation within defined temperature windows.


Simulate plant CDC1700 Safety Parameter Display System (SPDS) using an IBM/PC and a Dolen graphics board to build displays with 43 lines and unique fonts.


Initial design and support for Turbine Control test. This system connects into the remote turbine control at each plant that supplies power into the grid. The system exercises the turbine/generator to test for Maximum Sustained Rate (MSR) of loading. Rates and limits are analyzed and compared with the contractual agreements. Output consists of screen and hardcopy plots of MSRs and limits.


Initial design and support for Substation Local Control Units (LCU). Functions include analog and digital two step control, display, historical alarming with millisecond time stamps, touch screen, point status attributes such as manually replaced, alarm inhibited or tagged. Additional functions include monitoring peak and total power flows and reporting the analysis back to a common unit on a wide area network. The displays include dynamic one-line schematics of the substations and a point summary.


Initial design and support for Plant Protective System (PPS) Simulation. This was a group of programs that simulated each module in the PPS. The voltage levels and TTL logic states were displayed as a training aid and trouble shooting aid for instrument and control technicians.

1985 to 1986

Development of the Helium Circulator Auxiliaries Simulation. This system was used to train reactor operators on the proper use and control of the Helium Circulator Auxiliary system. Flows and pressures were simulated, analog meters displayed the simulated values and lamps were turned off/on depending on the state of the simulation, operator response, and panel hardware. Functions included panel initialization, real time simulation, equipment malfunctions, snapshots, and initial condition selection. This simulation used "Distributed Process Simulation" or parallel processing where different sections are modeled in separate CPUs and common data are shared.

1981 to 1984

Team leader and project coordinator. Provide an interface between engineers and programmers. This provided me the opportunity to 1) speak "engineering" to the engineers, 2) "programming" to the programmers and 3) develop some basic leadership capability.


Design, build, and program a Motorola 6800 based microprocessor from scratch (the chip level) as a hobby. Wrote a Motorola 6800 compiler on an Apple II 48K.

1977 to 1981

Application support, data acquisition, logging, and display for CDC1700 plant data acquisition system. Developed real-time multiple segmented virtual source distance plumes for tracking radiation releases.


Dark Ages (Before 1977)
1975 to 1976

Instrumentation and control technician. Pneumatic, Analog, Digital, Electo-Hydraulic Control (EHC) turbine control.

1973 to 1974

General labor in electrical and operations departments.

1972 to present

Marital status: Happily Married.

1960 to 1972

Held miscellaneous jobs and attended Colorado State University at Fort Collins, University of Northern Colorado at Greeley, Metro State College at Denver, acquiring 7 years of classes over a 12 year period and ultimately (i.e. finally) receiving a degree in teaching with 5 minors at Metro State College.