James D. Allen
my e-mail address
I have developed a large variety of software, mostly in C and
assembly languages. Skills include
- code efficiency (my JPEG compressor is the fastest in the world),
- reliability (incredibly low bug rate),
- coding speed (MsDOS look-alike completed in 9 weeks),
- creativity (holder of 32 U.S patents),
- hardware knowledge (worked as circuit and hardware system designer),
- forensic and related skills (I've patched interrupt handlers
in running kernels),
- love of my work (my Connect-Four Solver was just for fun),
- independence (projects shown without the word
``helped'' were done unassisted),
- determination (I won the Al Zimmermann
Programming Contest, Summer 2005),
- documentation (see Publications below).
I seek challenging design tasks that exploit my expertise in some
of the following areas: signal and image processing, compression,
performance analysis, system programming and troubleshooting,
UNIX kernel modification, graphics, high-speed algorithms.
I am available for full-time or part-time contract work
on software or algorithm design.
Principals only please.
INDEPENDENT Nakhon Sawan, Thailand 2000--2012
(Contract work for several clients.)
Consulting and training in the fields of information systems,
image processing, compression and high-speed algorithms.
RICOH CALIFORNIA RESEARCH CENTER Menlo Park, CA 1989--2000
Developed image compression, filter bank design, neural-based and other
algorithms. Introduced Reparameterized Suehiro Transform,
Coding, and Diffuse-boundary tessellation. Designed world's fastest JPEG
compression software. Helped in design of fastest chips for compression
transform and for lossless statistical coding. Developed new approaches
to quasi-arithmetic coding, image restoration, neural networks, filterbank
SUN MICROSYSTEMS Mountain View, CA 1987--1989
Helped develop high-performance IPI disk controller firmware and real-time
priority-driven kernel. Developed remote debugging facility. Wrote high-speed
Identified and fixed several bugs in SunOS kernel and disk drivers. Analyzed
disk-related performance issues, designed and implemented improvements,
wrote kernel disk journaller.
VIEWPOINT ENGINEERING Mountain View, CA 1985--1987
(Contract work for several clients.)
Helped design Unix-based factory material management system. Developed
simulator and other software for Unix-based factory production monitoring
system. Developed high-performance PC/AT drivers for scanners and printers.
Developed MSDos compatible OS for 68000 in 9 weeks, including boot, format,
drivers, user interface, hierarchal file system.
Did performance and functionality
study of, and helped debug, Unix/MSDos coresident graphics system.
B.M. COMPUTERS Bangkok, Thailand 1985
Adapted Macintosh for Thai language: keyboard driver, font editor, Toolbox
patches, mods for Jazz, MSChart, etc. Macintosh copy protection. Nepali
INDEPENDENT Capitola, CA 1982--1988
Solved Connect-Four, Pai-Gow and other games. Studied (with disassembler)
the internals of MSDos and Mac OS. Developed Sketched-it and a variety
of other software for the PC.
BRITTON-LEE INC. Los Gatos, CA 1980--1984
Hardware: Developed firmware for SMD disk controller of Intelligent
Database Machine. Designed hardware and firmware for 370 control unit,
SMD-E disk controller, and IBM 3350/3375 compatible disk controller. Software:
Developed PFS File import/export software. Ported language processors to
370. Emulated hard disk for PC with remote file server. Wrote Database
LOCOM San Jose, CA & Paris, France 1979--1984
Design and support of IBM 370 and 303x add-in memory. Helped design 370
Dasd cache and intelligent 370 peripherals switchbox. Designed and installed
only >8 Meg 370/158MP.
MOSTEK & BALL COMPUTER PRODUCTS Dallas, TX & Santa Clara, CA 1979
Memory diagnostics for IBM 3031, 3032, 3033. Disk drive test tool and diagnostic.
NATIONAL SEMICONDUCTOR Santa Clara & San Diego, CA 1978--1980
Design and debug of add-on memory adaptions and refresh-holdoff circuitry
for IBM mainframes. Consulted on high-speed processor design. Developed
training courses, planned future products.
ADVANCED MEMORY SYSTEMS -- later INTERSIL Sunnyvale, CA 1974--1978
Developed MRST/370 and other memory diagnostics for IBM 370 add-on memory.
Developed and maintained a multitasking OS for Interdata Model 4. Designed
ECL and TTL memory-interface circuitry for 370, non-obvious 36-bit attachment
to the 145. Exceptional field troubleshooting.
There is overlap among the
employment dates, because I worked for each of these employers
as a consultant at one time or another
(except the next two for which I was summer employee).
I also was an ordinary full-time employee
of AMS/Intersil (74-78), Nat'l Semi(78-79), Britton-Lee (80-81),
U.C. BERKELEY COMPUTER CENTER Berkeley, CA 1969
Helped develop Cal Time-Sharing System.
IBM SYSTEM DEVELOPMENT DIVISION San Jose, CA 1968
Worked as Watson Memorial Merit Scholar writing PL/1 database validity
UNIVERSITY OF CALIFORNIA Berkeley, CA 1967--1970
Studied Math. and Comp. Sci. U. C. Regents Scholar. T. J. Watson Memorial
LOS GATOS HIGH SCHOOL Los Gatos, CA 1963--1967
Scored 105 on 1967 MAA/SA High School Math Contest (highest score among
1967 seniors in Western U.S. District; Silver Medal). First Place
on 1967 Central Coast Math Contest. Scored 159 (composite) on 1966 NMSQT
(4-way tie for 3rd highest score in California).
Author or co-author of several refereed papers and conference presentations
on image compression and neural networks, e.g.
"An approach to fast transform coding in software"
in Signal processing: image communication,
"Generalized chen transform: a fast transform for image compression"
in Journal of electronic imaging.
"Collaborative Judgment in Statistical Coding,"
"Coding Transforms for the Hexagon Grid,"
"Expert Play in Connect Four,"
and the Pai Gow column for Pan Player newspaper.
My Erdos number is 5 by multiple paths:
(P. Erdos: L. Gerencser: J. Rissanen: G. Langdon: A. Zandi: J. Allen),
(P. Erdos: K. Gyory: M. Voorhoeve: R. van Glabbeek: D. Stork: J. Allen).
Thirty-two U.S. patents,
in the fields of lossless coding (13), neural
networks (2), computer arithmetic and circuitry (3), lossy image compression
(12), new copier and camera features (2):
Foreign patents and patents pending.