2002 Retired from Sandia National Laboratories and Washington
usb powered/unpower hub testing. Started, early
Pursued updating legacy laptops.
Windows legacy support act.
Evaluation of wind and solar
electricity generation systems. Electronics/software implementation and
Bluetooth mouse, keyboard, speaker windows 10/xp
Win 10 wifi and bluetooth desktop usb dongle
Win 10 notebook ethernet usb dongle upgrades.
usb SATA cable
ssd and hdd application evaluations.
Malware/junkware removal: win 10
latest update/xp solid state drive fast clean
Android cell phone bluetooth mouse, keyboard, and speaker
Electronics/software thermal management.
widows 10/1709 [creators fall update] app interface
1992 - 2000 Computer Systems Documentation
Consulting services for hardware/software design
interfacing between real-time hardware DOS, Windows 3.11, 95, 98 and 2000
1998 - 2000 In 1998 replaced vxd with a Windows
2000/98 win32 driver model [wdm] mini-driver. Reasons are: A wmd driver
transfers data between rings 0 and 3 much faster than a vxd. A wdm driver
interrupt latency is quite fast. Also a wdm diver is binary
compatible between Windows 2000 and 98.
Visual C++ 6.0 is the primary language used with some inline
Visual C++ 6.0 is used both at ring 0 and 3. In ring 3
Visual C++ 6.0 interface code is built into a dll. The dll acts an
intermediary between a Visual Basic 6.0 app and a ring 0 wdm.
Numega DriverWorks was used for the skeleton wdm code. As
well, of course, both Microsoft 98 and 2000 ddks.
Numega SoftIce is used mostly to debug problems in
NTKERN and VMM
Can implment NT 3.51 and 4.0 kernel mode drivers. But the
wdm initiative, because of improved performance and simplicity, will likely
cause NT kernel mode drivers to be replaced.
Internet web design and operation is required for
software maintenance and enhancements. Currently operate four websites.
1997 - 1998 a win32 vxd running at ring 0 replaced a
dll running at ring 3 to improve interrupt latency for Windows 98
and 95. The 6.10 masm-coded dll mostly used 32 bit
instructions. However, it used 16 bit segmented linkage since it
was required to interface to Visual Basic 3.0.
Vireo VtoolsD was used to provide skeleton vxd code. Wrote
both the ring 0 and 3 codes in a combination of MASM 6.13 and C.
1994 - 1997 an 8052 microcontroller was removed from planer
mill hardware and the interface went directly from analog hardware bus boards
in a PC.
Wrote the real-time [less than 1 ms response time] code as a
masm 6.10 assembler interrupt handler and port i/o dll operating at ring 3
interfacing to a Visual Basic 3.0 application running on windows 3.11.
The 16 bit 3.11 dll worked with no changes under Windows 95.
More than ten of these systems are in use throughout
1992 - 1994. Designed with an other engineer a
8052 microcontroller real-time hardware with a Forth operating
system which interfaced to analog lumber planer mill hardware.
The 8052 microcontroller interfaced to a PC through a serial
port. About twenty of these systems are in service throughout the world.
Interface languages were Microsoft assembler and Forth
assembler between external hardware and PC through serial port, parallel port
and isa bus.
Designed and built with a physicist consulting partner
a low-noise a/d hardware system for magnetic detection of oil pipeline leaks.
The hardware interfaced to a laptop PC.
1992 Senior Member Technical Staff, Sandia National Laboratories,
Designed, built and programmed the Deployable Seismic
Verification System data authenticator for the US/USSR Comprehensive Test Ban
Treaty. The design was based on an 80C32. The real-time device algorithm was
implemented in hardware. The interface between the algorithm and external
hardware was an 80C32 running a Forth operating system.
The data authenticator costs approximately $1500; it
processes about 20K bytes per second, draws approximately 200 milliamperes, and
occupies about 5-3/8 inches diameter by 10-1/2 inches of space.
Interfaced Cylink CY-1024 public key crypto chips to an
Designed and built tamper proof containers for CTBT
Designed and built TEMPEST mechanical and electrical
Project leader for the Missile Secure Cryptographic Unit
[MSCU] for the US small missile.
The MSCU used an 8085 processor.
It was programmed with another engineer partially in FORTH and FORTH
assembler. The MSCU interfaced to a PC through two serial ports.
Broke electronic locks for the FBI.
Control Data Network Operating System consultant.
Taught Cray assembler language and two videotaped courses
on how BASICs work.
1979 - 1980 Computer
Consulted, wrote, sold, and maintained business and
telecommunications software for Wang 2200 computers.
Consulted for Boeing Commercial Airplane Company.
Co-authored the Boeing 767 software certification plan.
1966 - 1979 Computer Science and Psychology professor
at Washington State University, Pullman, WA
1972 - 1973 Visiting Research Associate Professor of Computer
Science, Department of Computer Science, University of Illinois at
Urbana-Champaign, Urbana, IL
1965 - 1966 National
Academy of Sciences - National Research Council, Postdoctoral Research Fellow
at the Navy Electronics Laboratory, San Diego, CA
Human factors and electrophysiology work
1963 - 1965 Project Director: U.S. Navy Training
Research Laboratory, San Diego, CA
Human factors and computing work
1959 - 1963 Graduate research assistant Educational
Reference, Computing Center, and Measurement and Research Center at Purdue
Computerized the Purdue Public Opinion Poll first on
a Remington Rand UNIVAC Solid State 80, then subsequently an IBM 1401 and IBM
Pallet boards of mark sense card data were transferred to
magnetic tape on the 1401. Computations were performed on the 7090.
The 1401 was programmed in Autocoder. The 7090 in a
combination of assembler and FORTRAN.
Computerized the Purdue freshman placement test.
Mark sense cards were previously processed by tab
BA 1959 Whitman College (mathematics and psychology)
MS 1961 PhD 1964 Purdue University (experimental psychology,
mathematics, mathematical statistics)
Understands, reads, writes and speaks intermediate
Beginning Japanese speech, reading and writing
Machine, Assembly, and System Programming for the IBM
360, New York: Harper & Row, 1969
Programacion en Lenguaje de Maquina, Ensemblador, y de
Sistemas con el IBM 360, Harper & Row, 1971
How BASICs Work, Reston/Prentice-Hall 1982, with Patricia
Embedded controller Forth for the 8051 family, Academic
About 38 in the areas of pseudorandom number
generation, machine combinatorics, and human factors.
Association of Computing Machinery bio.
Discovered the Generalized Feedback Shift Register (GFSR)
pseudorandom number generator.
The GFSR is described in Knuth The Art of Computer
Programming, Semi-numerical Algorithms, Vol 2, 2nd and 3rd editions.
T. G. Lewis Computer Science. Employed as CEO
of DaimlerChrysler Research & Technology, North America. Lewis was
department chairman, Navy Postgraduate School, Monterey, CA, two term
Editor-in-Chief of IEEE Software, Editor-in-Chief IEEE Computer. Retired.
J. S. Sobolewski Computer Science. Employed as
Associate Vice President of Computer Information and Resource Technology and
Professor of Electrical Engineering, University of New Mexico. Sobolewski is
one of the Maui supercomputer center directors. Retired.
D. E. Anderson Experimental Psychology. Employed as a
Psychology professor at Allegheny College.
L. E. Banderet Experimental Psychology. Employed by the
Army Institute of Environmental Medicine.
Industrial courses attended
Introduction to FORTH, 1983
Intel 8051 MCS 1984
MS-DOS Internals 1985
Intel 8096 MCS, 1986
Smart card hardware and
TEMPEST design, Don White 1987
Intel 80386 Hardware
Design course, Intel 1989
Intel 80386 System Software course, Intel 1991
DOS Internals: ROMed BIOS and DOS, Annabooks University, 1992