I am considering only exclusive positions. Principals only (no third-party
A Copy of My Résumé
Use edp.org/resume.htm for a copy of my
résumé that you may print, save to disk, and forward without breaking links. It
is an HTML document, which is open, portable, and easily read by all web
viewers and most word processors (including Microsoft Word).
Synonyms and Related Phrases
This section is here to help people find my résumé.
It lists synonyms and related phrases for terms in my résumé that people might
be using as search terms.
The high-performance numerical computing work I did at Apple, Sky Computers,
and EADS is sometimes called supercomputing. High-performance computing is
abbreviated HPC. It involves digital signal processing (DSP), optimization,
designing optimized routines, math, and assembly language. I worked at Sky
Computers, but Mercury Computer Systems does similar work.
The PowerPC architecture from IBM and Freescale (formerly Motorola) describes a
scalar instruction set. AltiVec Technology is an additional feature that
provides vector instructions, also described as single-instruction
multiple-data (SIMD). This is one type of parallel computing because four sets
of data are operated on in parallel by one instruction. Velocity Engine is
Apple's name for AltiVec, and VMX is IBM's name. (We can thank the lawyers and
trademark issues for that.) Apple's G4 and G5 systems use various AltiVec CPUs.
I worked directly on 604e, 7400, 7410, and 970 CPUs. The 7447 and 7450 are
similar. The Cell processor shares some features with PowerPC and AltiVec.
SIMD and Intel's SSE.
Since Apple switched to Intel processors, I have worked with Intel's SIMD
technologies, SSE, SSE2, and SSE3, which use the MMX and XMM registers in IA-32
CPUs. SSE is similar to AltiVec. I have used by IA-32 and EM64T, also known as
x86 and x86-64.
Vector processing refers to calculations involving arrays of numbers. The most
common examples are digital signal processing and image processing, in which
arrays contain information about audio, visual, radar, or other signals.
Routines I wrote include the Fast Fourier Transform (FFT); finite impulse
response (FIR) filters; infinite impulse response filters (IIR); sine, cosine,
tangent, logarithm, and exponential routines; and an Advanced Encryption
Standard (AES) routine.
Operating Systems and Embedded Systems.
At Digital Equipment Corporation, I worked in operating systems groups for many
years, mostly in the kernel. Embedded systems work is like operating systems
work in miniature, so all of my operating system experience is relevant to
embedded system work.
What we call a resume or résumé in the United States is typically called a
curriculum vitae or CV in Europe.
Are you looking for a software engineer with experience with any of the
above? Please see my résumé.