This is my Homepage

My "official" resume is embedded down below. I would appreciate it, though, if¨ you would read the more informal information here ... perhaps skipping the¨ family stuff and local color more interesting to the casual browser.

"I never met the CPU I didn't like"

My name is John Miller, and I'm an Assembly Language Programmer. My business¨ card reads HARD SOFTWARE, and I use the handle HARDSOFT wherever I¨ can. That's because I work down in the guts of software, down close to the¨ hardware, where bits and bites really count.

If you read a newspaper, pay for a purchase with a credit card, buy a meal at a¨ fine dining establishment (or a McDonald's) -- or even set a thermostat -- you¨ may run some of my code. I was completely responsible for a Call Center that was¨ scattered around North America, and was chief architect for a restaurant system¨ running under Unix. I've had my hand in word processors, optical scanning¨ systems, laboratory acquisition devices, one of the black boxes that keeps the¨ Boeing 777 in the air, and black boxes changing the time (and prices) on gas¨ station signs. I dealt with computers for more than a third of a century. Now I am semi-retired, but keep active with part-time projects.

I'm a Software Prostitute. What that means is that if you pay me¨ enough, I'll do just about any kind of Software, no matter how kinky. I plead¨ guilty to committing quite a bit of C, a little Fortran, PL/M ... I've even done¨ Basic, and I don't mean Visual. There are some forms of Software I've never¨ performed, but I learn very fast. One contract position had me writing a¨ Unix driver, the contract before that had me doing C++, and for a while I had a¨ private affair with JAVA ... even though it was underage and barely developed at the time.

When asked I will give a truthful account of my affair with Linux

Mandatory Personal Information


I'm old enough to be your grandfather. I'm married to Maris, who is much¨ younger and nicer than me, and we have three offspring: Amber, on her own and living less than an hour away from us; Holly, who was a Spook in the Air Force, is raising an 11-year-old daughter, has been married and divorced a couple of times and has nothing to do with her parents; and Andre, who graduated from Northeast Texas Community College and Texas A&M Commerce, officially lives home (but who with his social life is seldom there) and works for a mid-sized company maintaining their website.

We have SIX cats and seven Rhode Island Red hens, and numerous copperheads, rattlesnakes,¨ cottonmouths, black widows, scorpions, wolves,¨ coyotes, pumas, bobcats, deer, 'possums, armadillo - and now, BEARS, and - would you believe this -- ALLIGATORS!

Probably the most dangerous and destructive critters we have here (besides certain people) are feral pigs.

Geographically we are in Northeast Texas. We can cross¨ into Oklahoma, Arkansas, or Louisiana in an hour or so on good roads. We live in¨ the upper end of Franklin County, where there is no town; but our mailing address, the new "911" address now mandated in Texas, is:

149 CR NE 2140
Talco Tx 75487

(Talco is actually in the next county east - see map)

Insofar as I am concerned postal addresses are obsolete. Our geographic locaton is N33.2966ŗ, W95.2100ŗ. That puts you within yards of our front door. If I were in charge my personal address might be

John 332966/952100

and I might just do away with the "/" as unnecessary.

Our telephone numbers are (903) 632 5226 & (903) 632 0114, which puts us local with people west of Paris, TX and right up to¨ the Oklahoma border (more than 50 miles northwest). Strangely, we used to have to make a toll call to reach our kid's school, doctor, insurance agent,¨ sheriff ... anything in the nearest town, which is Mt. Vernon. There is still a toll-call pocket south of town, then another thirty miles of local calling area!

This doesn't matter to us any more, though. Like lots of other people today we're on a flat-rate long distance¨ plan and it doesn't matter who I talk to, or how long, 24/7, the bill is still¨ the same. So if for some strange reason you'd like to actually talk to me, and you're not on such a plan, send¨ an e-mail with your number and we'll call you! It won't cost either of us a¨ dime.

It is a strange fact that for most people here, that if your next-door neighbor lives in a different calling area than you do, it is cheaper for them to call someone in Hawaii, have¨ them call you and conference the calls, than to make the call directly.

Of course there's email:

The first of those addresses is simple, old-fashioned dial-up and is best unless you want to send pictures or other big-data items. Hughes can be a bit overzealous about blocking SPAM and I've missed a couple of important business letters for this reason.

We moved to Texas from Connecticut nearly twenty years ago. We miss our noisy river¨ and the fall colors ... but are very grateful to be here instead.

We couldn't afford Connecticut taxes!

Besides, the people¨ here have to be some of the nicest on Earth. (The folks in North Carolina weren't half bad, either. Then I worked in New York ...)

We don't miss shoveling snow at all. But we could do without the tornados¨ (we've been hit by one, which spared our buildings) and the summer heat ...¨ which has sometimes topped 100ŗF/38ŗC every day for weeks in a row, though not¨ this past summer.

We have been in a prolonged drought. In addition, right where we live seems to be in some sort of "rain shadow". No matter which way storms are coming, they appear to either dissipate or split around us. It is quite common here to actually see rain falling on neighbors only a couple of miles away and not get a drop here. It is so consistent that there must be some scientific explanation, but nobody seems to understand it.


John Miller
149 CR NE 2140
Talco TX 75487

(903) 632 0114 Office
(903) 632 5226 Residence

Updated 16 December 2012


An accomplished programmer with more than three decades of experience over a¨ wide range of microprocessor platforms, now specializing in embedded and low-level code where compactness and fast execution are essential.

2001: Last contract, NEC America, Irving, TX

A challenging project involving voice recognition, Java, wireless and the¨ internet under Nucleus on an ARM9 processor in a new chipset from Agere (nee:¨ Lucent) ... that's about all I can say about this one.

2000: SMSC, Hauppauge, NY

Worked where the rubber meets the road! Did low-level test code for new chipset¨ designs. A complete changeover from the legacy software of the previous¨ contract to leading-edge PC design.

1999: Gilbarco Inc., Greensboro, North Carolina

Wrote mixed C and assembly language code to test implementation of Z180 emulation on Power PC. Some work on the C++ code of the emulator.

1998: S&P Comstock

Y2K code verification of Z180/280 stock market quote systems. For this project I¨ wrote a complete software emulation of the hardware involved. This software runs¨ on a high-speed PC at real-time rates and allows me to explore every nuance of¨ the Zilog code used. I can apply this technology to ANY embedded¨ system. Given a description of the hardware and the source code I can¨ put a working representation of your "box" on my screen with LED's flashing, LCD¨ screens displaying ... you name it. Insofar as facilities are provided by PC¨ hardware, the emulation can support real-time I/O, and ANY I/O can be¨ emulated either locally or through interconnected computers.

1996 - 1997

Completed contract work with TenX Technology (Austin TX), VeriFone (Dallas), IFR¨ Systems (Wichita KS) and Rockwell (Cedar Rapids IA). These were all embedded¨ processor projects ranging from a simple thermostat application using an OKI¨ 64162D (a 4-bit CPU with A/D conversion) to a complex Motorola 68010 robotics¨ system including stepper motor control with extensive floating point positioning¨ algorithms and SECS protocol communication with host. Lots of Z180 experience¨ with Z180-based bar-code scanner and magnetic card reader Point of Service¨ equipment connecting to host via MODEM. Last project was in-flight avionics¨ equipment, and included writing a Unix device driver (Pentium based) to¨ communicate with a second system (Intel 18086) with a proprietary BIOS and¨ operating system built in partnership with one other programmer.

All four contracts involved direct co-operation with hardware engineers and¨ analysis using in-circuit emulators.


Complete design, coding, and maintenance of DOS-based Call Center which¨ interfaces with Northern Telecom equipment. (Self-employed, four years.)

Chief architect for Unix-based restaurant order system. Wrote Unix device¨ drivers and other low- and mid-level code (both C and Assembly Language) for¨ system to run on IBM 386. (Control Transaction Corp. NJ, three years.)

ANCIENT HISTORY: A software engineer since 1973

Produced all software (and assisted in hardware development) of stand-alone¨ Intel 8080-based POS system for McDonald's.

Wrote Data General Nova-based "Restaurant Operating System", a multi-terminal¨ operating system and fine-dining restaurant order-entry package once in use at¨ hundreds of locations world-wide.

Wrote complete telephone polling system to query electronic cash registers of¨ California/Hawaii fast-food chain, convert data to EBCDIC, and put on diskette¨ for IBM mainframe. (Later learned that a highly regarded consulting firm had¨ earlier abandoned this particular task as "impossible" because existing methods¨ could not meet real-time constraints.)

Wrote all software for sub-system of semi-intelligent terminals with¨ sophisticated video scanning capabilities. This required accomplishing¨ "technically infeasible" task of concentrating data from 32 9600-baud¨ asynchronous serial ports into a single data stream using a single Z80 CPU at¨ 2MHz.

Wrote embedded firmware for printer attached to complex multi-processor system:¨ Received ASCII, output pulses directly to pin drivers with compensation for¨ varying head speeds, producing nicely formed characters on paper with no delays¨ or time-outs to host.

Produced software to specification for embedded Intel 8048 and Zilog Z80¨ microprocessors used in laboratory data acquisition devices and in advertising¨ sign controls. (The 8048 is in the 8051 family and saw widespread use as the¨ embedded processor in older keyboards.)

Worked at all levels in typesetting and word processing software, with special¨ emphasis on time-critical operations. For example, wrote code for Ashton-Tate¨ product converting internal format to the justified video representation using¨ 32-bit(!) character widths and numerous control characters, and producing a line¨ of text in less than four milliseconds on a 4MHz 16-bit IBM PC. (Also wrote same code¨ for the Mac -- much easier and faster!)

Wrote BIOS for WS III F, a Z80-based typesetting computer with paged memory,¨ hard disk on SCSI bus, floppy, serial and parallel ports. Implemented CP/M 3.1¨ on this computer with many enhancements circumventing CP/M limitations and¨ supporting a large body of pre-existing, non-CPM software.

Interfaced major-firm telephone accounting system with numerous Hotel Management¨ systems in compliance with their own (usually non-standard) protocols.

Produced complete stand-alone telephone accounting system. Single Z80 CPU drove¨ several terminals and printers concurrently with no discernible delay.

Plenty of experience writing 386/486/Pentium Assembly Language code at systems¨ level and at higher levels in Real, Virtual, and Protected modes.

Experience writing Assembly Language code for Motorola 68x00 processors in the¨ Macintosh environment, on VMEbus, and in stand-alone embedded systems.

"I never met the CPU I didn't like"


¨ Now
Mostly from home and on a limited basis. I expect hardware, existing software, esotoric compilers, applicable manuals, etc. to be furnished; I do firmware, not hardware, and I expect your hardware people will know what I will have to have. I'll work closely with those hardware people and will charge only for productive work, not for research I have to do to get up to speed (I will use knowledge gained this way on future contracts.)


My passport is current; I'm willing to travel and/or relocate temporarily.

Pilot's license: 4500 hours Glider/Single/Multi-engine Commercial IFR; erstwhile CFII