Below is a list of things I have done in my professional life that I am pretty proud of.
I was on the honor roll at Delta Junior College in Stockton, CA. I was at or near the top of my class in Electronics Technology with Mr. Dillon, and many of the students in my class copied my work so they could pass the course.
When I applied to the US Navy I took the ASVAB test and (was told) that my score was 67, which put my IQ at 134 (I took an IQ test in 2014 and scored 130, corroborating this number). For this reason the recruiter would not let me sign up as just a plain sailor, he told me "you're gonna be a Nuke (technician) or an Electronics Technician". I took the ET path and for a 6 year enlistment I got a year of electronics school (8 hours a day, not 4 hours 3 days a week like college) and an automatic rate increase to E4 (Petty Officer 3rd Class).
In ET school I quickly rose to the top of my class. Because of this I was offered Night Study Instructor instead of having to perform "watches" with my duty section. This got me out of doing nighttime barracks watches and occasional weekend barracks cleanups. Instead, every day after 8 hours of school and a break for chow (dinner) I spent two hours helping poorly performing ET students to improve their grades. In ET school if you were doing poorly you were assigned extra work and sent to Night Study. As a Night Study instructor it was my job to help people get off night study, which happened pretty regularly.
After ET school I went to Mare Island California to attend CTMS (crypto school, I could tell you more but I'd have to kill you). I was first in my class here, the box seemed so simple to me. Part of the reason it seemed so simple to me is that there was a serendipitous detour in my schooling at Great Lakes. From day one I was designated a Comm ET (ETN) but the Communications ET C schools were closed for remodeling when I graduated from "A" school, so they put me in Radar school for ETRs instead. I did really well there and learned a lot of digital that the Communications guys never learned. Still a Comm ET, I was sent to Crypto school, but Crypto was digital which the Comm ETs didn't really understand very well. But I did, and my intellect could more than make up for the deficit in Communications theory.
At Harold E. Holt Communications Station in Western Australia I saved the day when an antenna patch panel burst into flames. The HF Transmitter Site ETs were in the middle of a meeting when a radio operator flew into the ET shack and asked me to come with him. I wasn't on duty, but I came along anyway. He started running, so I followed and found an eight foot by ten foot antenna patch panel fully engulfed in flame. I grabbed a fire extinguisher, yelled to everyone to shut down all the transmitters on that wall and put the fire out. We had to rebuild the panel twice with spare parts flown in. We worked non-stop for four days before those transmitters could go back online. I was awarded a commendation by the station fire chief.
Also at Harold E. Holt, I had to give a training class. Every Second Class Petty Officer and above had to give one training class, and I was assigned the dry topic of NBC Warfare Preparedness. I studied the materials and turned it into a kind of standup comedy routine, which appeared to be very effective. My CO wrote my detailer (the guy who assigns you to your next post) and told him I should be an instructor. When my time in Australia was up, I was sent to Mare Island, CA as an instructor.
Before you can be an instructor, the Navy requires you to attend Instructor Training School. This one month class, taught by university professors in San Diego was the toughest training course I had taken. All my electronics training couldn't come fast enough, but here was the first class I thought I might actually fail. My instructors helped me through it and in the end it is this class that I valued above all my electronics training courses.
At Mare Island I worked by butt off and was able to get my classes scores higher than any previous instructors. What does that mean? The class had remained unchanged since the early 70s, and yet 10 years later my students scores were higher than any other since then. One reason was that I instituted a new program to have the students do the Preventative Maintenance on the school's equipment so as to give them real hands on training. By the way, a student's scores were based on both tests and practical troubleshooting. An instructor can help students pass the tests by giving away the answers, but he can't help them when they have to find the faulty module in a timed troubleshooting test. For this I accomplishment I was awarded the the title of Master Training Specialist by the Chief of Naval Technical Training.
After the Navy I worked for a little private technical school called Technical Training Center. At TTC I picked up the 6 month course, staying a few weeks ahead of the class and took my first class all the way through the course, which had never been done before. That's without a sit-through by the way. Jim Harris, the owner had an interesting way of teaching electronics, this video I created will give you a good idea of how we approached Op Amps. Jim is a brilliant guy, we even had complete neophytes programming microprocessors in week one!
My students were very pleased with my instruction class after class. Because of this Jim gave me the role of Dean of Instruction, just one year after I started there. Not bad for a guy without a degree to be named the Dean of a school.
At GenRad back in the mid '80s I took on the GR16 maintenance class as an instructor. At the time, the class was taught by going page by page through the schematics. It was 3 weeks of hell for the customers in this class. I cut most of that out, and concentrated on hands on troubleshooting and calibration procedures. I then picked up the GR16 Programming class and worked the students pretty hard there too. One class I taught at McClellen Air Force Base told me they had never worked so hard, either at work or in college. I developed the Algorithmic Pattern Generator (APG) training course, which no one else on the staff would touch (too complex!). I was routinely told that my class was the best anywhere. Two guys in my class told me that I was the best instructor they had ever had in their combined 8 years of college.
Also at GenRad I found that I needed to find other things to do to keep busy. I was intrigued by programming the RSX-11s "Interactive Command Line Interpreter" or CLI which was also known as command files, similar to Batch files in DOS. This was my first high level language (at TTC I learned to write programs directly into Machine code for the 6800 and Z80 uPs) . I wrote quite a few things, a full blown feature packed tape backup utility that interactively walked the user through the complex process of making a tape backup and completely handled any eventuality (write ring not installed, tape not rewound, etc). I invented an automated maintenance scheduler and tracker named PMMaster. PMMaster would create a subsystem inventory and maintenance schedule the first time it was run based on the system config file and a few answers from the operator. Then anytime the maintenance guy logged in it would check the schedule and inform the user of any outstanding maintenance that was due and give him the opportunity to check them off interactively when they were done. I also wrote programs that allowed the computer to learn in an interactive game. I eventually wrote a Slot Machine game using Pascal's very flexible data typing. I realized that a slot machine is just an array of 3 "wheels" with various symbols and used arbitrary data elements of cherry (%), orange(O), star (*) etc. I researched various random number generators to spin the wheels and chose the Linear Congruential PseudoRandom number generator after "inventing" the Histogram (which was based on a VT100 program I wrote to make "snow" (*)s fall downward on a terminal that was intended to always scroll characters upward). My histogram utility proved to me that the LCG was the best pseudorandom number generator for this use. In addition to these distractions I finally got so bored that I started taking calls for assistance with programming problems from ex-students. Since I came into the office quite early (7AM) I would get all the calls from the East Coast and Canada (Ottawa) and have all the problems solved by the time the regular tech support people came in around 9AM or even as late as 10AM. Why should they come in at all? I had done all the work there was to do before they showed up, despite the fact I was just a trainer. I even started making trips to customer sites to solve the most difficult problems, and eventually that's all I did. I solved problems across the country that had stumped GenRad programming and service engineers for years. Every time I solved the problem and boy, there were some doozies! All of this while I wasn't even on the tech support or applications staff!
At Credence I picked up the STS3000 mixed signal training course, even though I knew zilch about mixed signal. I struggled along, spending time on the demo tester to learn everything I could about it and mixed signal testing. When the Asian sales guy asked me if there was a way to plot waveforms on a VT100 instead of a VT240, which none of the Asian customers had, I wrote a function to do just that. All that time I spent writing slot machine games and making it snow on a VT100 paid off when I mailed him a floppy with a PlotToVT100 program for his customers.
I took the DSP section of the STS3000 course from a one page summary (I am not kidding) to a full 150 page course, which was eventually used in the Duo and Quartet Mixed signal class, and ported to Multimedia CD ROM as an interactive self paced training course. Because the only West Coast apps engineer for the Mixed Signal product lines was often tied up, I became the defacto "Demo Guy" for the mixed signal product lines. Despite the fact that I was teaching nearly full time the salesmen would ask me to give demonstrations over my lunchtime. So I would come in early to setup the demo, teach class in the morning, give the sales demo over lunch-time then go back to teaching the class without a break. I was happy to do it as the sales guys were very appreciative and I knew my efforts would be noticed. They were.
During my stint at Credence while sitting in a class on codecs and DSP I experienced an epiphany on the subject of aliasing. I had been interested in aliasing since I first learned sampling theory but no one I spoke with could explain how to calculate where the aliases would fall in the spectrum. The instructor of this class was trying to explain how aliasing worked. His explanation was interesting but the procedure that he was touting for calculating where an alias would go seemed rather complicated and worked only in frequency, whereas most of the time we work in frequency bins. While listening to this lecture I suddenly figured out the answer and wrote it down. It was brilliant and simple, and could be coded directly into a test program in any language. It is simply this;
if(bin_num > num_samples) bin_num = bin_num mod num_samples;
if(bin_num > num_samples/2) bin_num = num_samples - bin_num;
Video explaining Dan's Rules
This technique was worked out by my brain, and now runs millions of times every day on testers all over the world. I taught it far and wide, gave it to the Duo training course developer, and got it integrated into tester software on multiple platforms. Because no one I ever spoke with ever showed me this formula I started referring to the formula as "Dan's Rules". They are mine, and I claim them.
I wrote many, many demos for the STS3000 tester, including one that demonstrated the interoperability of the AWG, Digitizer and Digital Subsystem that let the tester digitize the users voice, then speak back at him with his own voice, modified in many different ways. The real trick here was using digital match mode to digitize only when the user was speaking (as the digitizer memory was very limited) which allowed me to demonstrate how the digital subsystem could trigger the analog digitizer, which was a highly prized feature among users.
In addition to my normal duties I was asked to act as a backup instructor for Credence's main product at the time, the STS6000 and STS8000 digital testers. It was like taking a time jump back into the past, but interesting. Eventually I took over that product too and came up with some really neat demos like a TDR test that could measure the length of virtually any coax cable and a Shmoo Plot on a Neon lamp. The Shmoo plot was fun because it showed the near constant voltage behavior of a neon light which in olden days was used as a crude voltage regulator. I had found that many engineers had a lot of trouble with constant voltage devices like Zener diodes and such, and this was a fun demo because it showed the high voltage capability of the STS6000 PMU (up to 120V!).
Credence was not all that interested in selling the STS3000 series of testers but they were very interested in selling a new tester called the MT-1000 which would become known as the Duo and Quartet testers. This machine had a very high speed AWG and digitizer which was a lot of fun to play with. One interesting thing I did was to code a 1KHz modulated AM radio signal with a carrier at 1MHz into the AWG, run it, then go out into the parking lot and listen to the signal on my car radio. That inspired me to develop a really cool demo. I learned and documented the AWG Packet programming (this becomes important later at Nextest) and created an NTSC TV Color Bars signal by hand editing waveform segments using various tools. This way I learned both TV signal generation and testing, and the AWG. My applications note on using the AWG was so thorough it was incorporated into the manual and my Color Bars signal was tweeked for customer demos by one of the marketing guys
The Credence Customer Service Support division hired a small private company to survey customers about their experiences with Credence equipment and employees. Apparently one of the items on the survey asked customers to nominate their choice for best customer service representative. I was voted the best customer service rep, problem was, I was NOT a customer service rep, I was a trainer. The really funny part was that my old boss from GenRad, Tony Lapetina worked for this survey company and recognized my name. He wasn't surprised that I was nominated the best customer service rep but he was surprised that I wasn't a customer service rep after all. Pretty funny.
I went to work for Schlumberger at Intel Ronler Acres and spent eighteen months as the local apps guy. I went there to quit traveling and to get away from C coding (I preferred Pascal at the time). Little did I know that I would have to become an expert at C, very deep and heavy C. I was up to the challenge and did very well there. When I left, Intel asked me to come back as an Intel employee. I couldn't because I don't have a degree, but it was nice that they asked.
I joined Credence again to work in the Marketing Department helping to promote the Duo and Quartet testers. The group was great, and my boss, Zoran promised to teach me marketing skills. In the end it was my teaching skills that I relied on most, as I could stand before a potential customer and create so much excitement and enthusiasm they would buy nearly anything. I introduced a new VI card and defined and oversaw the development of two new additions to the tester, and even devised a remote demo (the first that I had ever seen) of the new CP2 DSP processor while at Semicon Europa in Munich Germany. Using just a dial-up line I was able to run a DSP benchmark program on two testers in Hillsboro Oregon and show the comparative speed of the CP2 against the CP1, all the way from Germany. It was quite impressive despite the slow 9600 baud connection.
Below you can see a news segment from KTVU showing Semicon West 2000 and you'll actually see me doing a demonstration of a RAMDAC device test of linearity. At the end Dr. Siddall notes that out of all the companies at Semicon that year they picked ours. Could it be due to my live demo? Who knows?
I joined Nextest as the Senior Marketing Apps guy, and took on the budding Lightning variant of the Maverick tester. I devised wrote many cool demos for the Nextest, one was based on the "speech grabber" I did on the STS3000. Another nifty demo that was based on an original idea of Rick Carmichael's. He wanted to measure the speed of some object by its Doppler Shift using the Lightning's Analog Capture Instrument. I built many versions, a football with a Sonalert built in, a baseball, a remote control car, but we eventually decided to use a train for the demo, based on Rick's theme of "Nextest, the Light at the End of the Tunnel". The idea was that you hoped the light at the end of the tunnel was not an approaching train. I played the part of the "Light" in a white tux, including white shoes.
You can see in the picture below that the booth was constructed to look like a tunnel, when I stood at the podium, I was the "Light at the End of the Tunnel". Rather humbling, but I do what I am told, no matter how humiliating.
I placed a Sonalert inside a G scale train engine connected via a diode to the track voltage, so that anytime the train was moving forward, the Sonalert would sound. The train was on a 20 foot section of track (seen below) with opto-sensors at both ends of the track so I could tell when the train hit either end. A microphone was hidden in a little station house on the track, and Rick built a hand crank generator to control the speed of the train. Everything was connected to the tester which used the digital pins to measure the opto-sensors, the MS PMU read the voltage from the generator, and the ACI was prepared to capture the output of the microphone anytime the train left the starting point on the track. A test program that I wrote controlled the whole thing. When a customer cranked on the generator, the voltage from the generator was measured and that amount of voltage was sent to the track by the tester's DPSs. As soon as the train started moving from its starting point, it uncovered an opto-sensor which told the test program to start digitizing the microphone in the station house.
if(bin_num > num_samples) bin_num = bin_num mod num_samples;
if(bin_num > num_samples/2) bin_num = num_samples - bin_num;
As the train approached the station house, the Sonalert waves were compressed due to the Doppler shift, raising the frequency, as it passed they were expanded, lowering the frequency. All of this was being captured by a microphone in the station house which was being digitized by the Analog Capture Instrument on the tester. Then the train passed over the EOT (end of track) opto-sensor, which started a cascade of actions. It stopped the ACI capture, and started the FFT of the captured waveform. It also applied a negative voltage to the track which effectively slammed on the brakes so the train could not shoot off the end of the track, and then caused it to slowly back up back to the starting position on the track. The track voltage was set to zero when the SOT (start of track) opto-sensor became shaded, meaning the demo was set to start again. In the meantime the FFT had finished and the speed of the train had been calculated based on the width of the spectral delta of the Sonalert signal captured by the ACI. The actual speed was divided by the scale factor of the train. It worked flawlessly, and one older gentleman came up to me during the show and told me in the 20 some odd years he had been going to these shows, he had never seen a better demo than mine. Click here for an explanation of the spectra and formula used to measure the train's speed.
At Nextest I had developed an extremely accurate method of measuring frequency using digital capture and FFTs that extended the testers range from 33MHz to nearly 600MHz. One of my favorite salesmen, Gib Hattery had a potential customer who in addition to lots of digital testing needed to measure high frequencies but they were not quite ready to commit to Nextest. Gib had told them about my technique, but they were skeptical. I suggested to Gib that I develop a one day seminar on the technique. It took me a week to put together the seminar, then I flew down and gave the class to their engineers. The next day the potential customer became a real customer and ordered a bunch of testers.
Also at Nextest Steve Holder and I began working with MEMS (Micro-Electronic Mechanical Systems) devices after I visited Analog Devices on a sales call. During that sales call, Marty Mason told our host, Bob Malone that Nextest was new to mixed signal, and that we weren't sure we knew what we were doing. (Thanks Marty). Then I gave my presentation and demo. Bob turned to Marty and said "I think you know what you are doing." Later I showed Analog Devices how to test four times as many parts in the same time and do a better job.
Here is something else I did with it. I connected it to an oscilloscope and attached it to a hacksaw blade chucked in a vise. When I "strummed" the hacksaw blade as you would a guitar string, it generated a sine wave because of the back and forth acceleration, deceleration and so on of the accelerometer. In the picture you can see the MEMS device blurred as it swings in front of the camera.
Eventually Steve and I decided to put a MEMS accelerometer and a MEMS Gyroscope into the head of a golf club (even though neither of us golf). I designed a circuit to calculate the sum of the squares of the X and Y axis outputs so we could capture the acceleration of the club with one channel of the Lightning's ACI, then do the square root in DSP. The other channel of the ACI captured the Gyroscope signal so we could tell the head position throughout the golfer's swing. With this setup we had a VERY popular demo device for the 2006 Semicon West show.
To quote the press release:
The booth was full of people wanting to swing the club. The test program that Steve wrote (I was taking care of Maxim) displayed the club head speed, ball impact force and club head angle so it could tell you whether you had nailed it, hooked it or sliced it and how badly. It also emitted humorous messages based on the parameters of your swing. Anyway, it was huge "hit" at the show, and the whole booth design was based on our demo. It was a golf course recreated at Semicon West.
Also at Nextest I invented something I coined a "Palette AWG" for testing ISO 14443 contact-less smart cards. My wife is an artist, and I knew that when painting a painter chooses colors from her palette, which is what this circuit did. I had done this in software originally to generate smart card signals with the Lightning AWG. When we were tasked with developing a smart card tester, I remembered my little software invention and the work I had done creating NTSC TV signals with a Packet AWG and fleshed it out as a piece of hardware. Essentially, there were four palette memory segments, each containing a segment of a smart card waveform. Based on the input data stream a two flop circuit would select the appropriate waveform segment to stitch to the last segment to create a waveform stream for the smart card. Click on the picture to see an animated GIF of the Palette AWG in action.
Basically it would be doing an on-the-fly concatenation of waveform segments to create a modulated waveform stream to go to the smart card. Nextest chose to patent the whole smart card tester (US 7765080).
Also at Nextest I devised many innovative techniques for testing. Many of them became applications notes and industry magazine articles. Here is a partial list:
A technique for measuring the jitter induced by a spread spectrum clock generator.
A technique for measuring frequencies far higher than the base frequency of a digital tester based on "Dan's Rules" (above). (Developed jointly with David Reynolds)
A technique for measuring the slope of a filter using periodic white noise. (Developed jointly with David Reynolds)
A technique for finding the NdB point of a filter using a binary search algorithm using a digital pin as the signal source. (Developed jointly with Steve Holder). I later used this technique at Maxim for testing the notch in an image reject filter.
A technique for measuring the duty cycle and pulse width of an arbitrary clock with FAR more accuracy than the digital pin's Overall Timing Accuracy.
A technique for doing a three tone filter test in one shot using concatenated tone sets with each tone individually calibrated and pre-emphasized.
A technique to eliminate the annoying "pop" you get when changing audio sources in a TV or stereo. This last one is not patented and is INFINITELY superior to the standard zero crossing detector, which pretty much doesn't work because it's based on a false premise that the click comes from the end points of the two audio sources not lining up. This is bull, that's not the source of the "pop" at all, and I not only identified it, I solved it.
With virtually no help from the vendor I implemented a test program utilizing laser trimming and wrote an applications note documenting how to do it on the Nextest platform. This was the application that sold Maxim on the Nextest Lightning, making possible the sale of millions of dollars worth of product and proving the utility of the Lightning.
I moved to Maxim Integrated Products working in the wireless division. I hadn't done wireless since I was in the Navy, but picked it all up again and released two TV tuner ICs on the ASL3000 RF. I did this without formal training on the ASL or wireless test techniques, relying only on what I could pick up by reading, deducing and asking around. I invented a new way of testing and optimizing the tracking filter on the tuner using binary search techniques and reduced the test time by half.
Maxim all but shut down it's wireless division in January 2008 and instead of laying me off (up to this point I had NEVER been laid off) moved me to the Standard Products group where I picked up a TV Video filter and an AISG Transceiver and learned the LTX-MX tester on my own. However, after a year working on that stuff I was asked to relocate. I refused and was offered a layoff which I accepted.
I dove back into the game by joining Tektronix Component Solutions in February 2013. Right away I had to fly to Dallas to do a lot of stuff I can't tell you about. However, my greatest accomplishment there was not technical. My greatest feat there was befriending the test manager in Dallas, Melanie. Everyone at Tektronix was afraid of Melanie, but I went in with my eyes open and found her to be sweet, competent and very reasonable. We became good friends and I found myself looking forward to Melanie's visits to Beaverton.
At Tektronix I had several technical accomplishments:
- I diagnosed a seriously flawed CMRR test on the Teradyne A585 and showed how replacing it with an FFT based version would improve speed, accuracy and repeatability. In the waveform plots below, the previous version of the test can be seen in the upper waveform where you can just barely make out 9 cycles of the sinewave being measured but being buried in noise it is hard to tell how much signal amplitude there is. My version is in the lower wave where I used a frequency domain filter to remove DC, noise and distortion.
- I diagnosed and fixed a VI oscillation problem that stymied a principle engineer at Tektronix. This problem had baffled Raytheon and Tektronix alike for months. I solved it in just a few days.
- I diagnosed and fixed an alarm problem on the Teradyne that had caused major headaches for 10 years. It was rather simple to me but perplexed everyone else who had ever looked at it.
- In Excel I developed a numeri-graphical histogram method utilizing conditional formatting to show the distribution of the data between Dallas and Beaverton graphically but compactly to highlight how tester transfer affected test parameters.
- In Excel I used Visual Basic to create an Anti-Median function to find outliers in data sets. Whereas Median finds the value closest to the Mean, Anti-Median finds the value in a data set furthest from the Mean, highlighting problems in a set of correlation or repeatability data.