Creativity is the Crux

I’ve thought a lot recently about what motivates me as an engineer.

Is it “Coming Face to Face with a Technical Challenge”?

Is it “Learning a New Programming Language in Record Time”?

Is it “Completing an Impossible Project on Schedule”?

Well, tackling those tasks can be powerful motivators, but there’s something more fundamental at work.

Continue reading “Creativity is the Crux”


Macros are fun. Having the right macro – especially one you’ve struggled to write yourself – is like a Get Out of Jail Free card. When the software you depend on doesn’t do what it claims to do, or what you need it to do, then sometimes a good macro will provide a way of escape.

Microsoft’s Visual Basic for Applications (VBA) is a good example.

Continue reading “Macros”


One of the most exciting days in my career was when I was awarded my first patent! It was a great confirmation of the thrill I feel at being faced with a problem, wrestling with it for days or weeks, and then coming up with a practical solution — and, in these cases, ones which no one else used before. Enjoy reading!

I’ve been awarded 10 unique U.S. Patents to date. The following list is pasted in from the USPTO Search Engine:

1 9,274,992 Cable with circuitry for communicating performance information
2 9,210,206 Messaging to provide data link integrity
3 8,964,979 Identification and handling of data streams using coded preambles
4 8,930,692 Mechanism for internal processing of content through partial authentication on secondary channel
5 8,793,723 Detection of encryption utilizing error detection for received data
6 8,692,937 Video frame synchronization
7 8,644,334 Messaging to provide data link integrity
8 8,458,343 Signaling for transitions between modes of data transmission
9 7,558,326 Method and apparatus for sending auxiliary data on a TMDS-like link
10 7,555,693 Auxiliary data transmitted within a display’s serialized data stream
11 7,143,328 Auxiliary data transmitted within a display’s serialized data stream
12 7,123,307 Clock jitter limiting scheme in video transmission through multiple stages

9,274,992 is on its way, with a plaque to be mounted alongside the others!

Baby in a Basket

The project looked like it would be way behind schedule!

IBM was buying a piece of new test equipment from Oregon, but the delivery of that first unit was months behind schedule. The problem was the vendor’s software needed to run the tool. I was working in a memory chip characterization department, and we needed that new tester to get our job done on the next generation of RAM chips.

Continue reading “Baby in a Basket”

Pivot Tables


When Silicon Image was still a small company, I worked directly for the VP of Sales. One day he came to me and asked if I could come up with a way to track upcoming design wins. Up to that point it had been done manually, through e-mails among the participants. There were few off-the-shelf tools back then, and no budget for a fancy database system, so he asked me – the only one adventurous enough to engage with Microsoft Office in serious terms!

I read and experimented, and ended up with some sophisticated Excel spreadsheets, with pivot tables, graphs and charts, and protected areas on worksheets.

The project expanded to include budget planning, equipment tracking, etc.

Eventually, when the company grew, a whole new set of real point tools came to us, along with a staff to do this tracking. I continued on with my Application Engineering job. But for the time when it was needed, I stepped up and learned a new tool set and delivered.

Training and Teaching


In the midst of my certification program at SJSU, I had to take a course in multi-cultural issues. For the project, since I was not teaching in a conventional setting at the time, I chose to build a set of lessons around engineering material I had to teach on the job. After all, I was teaching many people – all engineers – for most of whom English was a second language. Not only that, but the style of teaching had to be adapted for that audience.

The training sessions went well, combining the technical material with some short stories, some humor, and a good dose of back-and-forth questioning. Questionnaires to the attendees showed later that they enjoyed it and absorbed the material.

This experience showed me how approaching technical engagement from a different point of view can make me more effective.

Training as Teaching

In a more general sense, I learned that I could approach technical training as a teaching opportunity, rather than simply “convey the engineering information”. The challenge was to make material interesting to an audience which included some experienced members and some with no background in the material. Usually the training was provided to the Applications Engineering team. The normal approach was to make a long series of PowerPoint slides, illustrated with excerpts from the Data Sheets or Specification, and then drone through the explanations.

I used the training I’d received at SJSU to “spice up” the training sessions. I brought props (including a 30 year old black-and-white TV), inserted stories and jokes, and fired questions at attendees throughout. I told them up front that there would be a quiz at the end (which there was), and then laughed when they all squirmed!

One result was feedback from the experienced apps engineers that they enjoyed the sessions even though the technical material was familiar to them. They appreciated that I provided time at the end for question and answer, and that I asked the audience “How would you apply this information with your customers?”

It would be great to be in the classroom again – up front, generating excitement!

Program Management


In each phase of my career when I took on a program management role, I reached out to the experts on the team to learn more in-depth about their fields. When leading a multi-national effort on multi-chip modules, I had hours-long sessions with a senior engineer to refresh my memory about signal integrity and packaging issues. When pushing new standards for high-speed interconnect chips, I had many, many lessons from analog engineering about PLL design, and with digital engineering about encoding techniques, encryption, pipelining, etc. Most recently, leading a project to produce test equipment, I dug into the software design with the help of the programming team to discuss partitioning the code, overlays, call-backs, compiled versus open source issues, etc.

In all of these cases, my involvement as an engineer with each team went above being the program manager, and generated a lot of trust and confidence both for them and for myself.

Continue reading “Program Management”


First Invention

Faced with a problem at a server company, I came up with a solution which lead to a patent – my first! Not only was it gratifying to be creative in that way, but also to do so while in Sales, not in Engineering!

The company had been trying to solve the customer’s requirements with our current chip offering. There had been many meetings. I took the problem home with me in my head, and wrestled with it. I made some drawings, wrote up a brief description, and then presented it to the team. They critiqued it from a technical, risk, and cost point of view. It passed muster, and we presented it to the customer. It used only chips which we already had in production, and actually reduced the system cost for the customer.

I built a demonstration of the solution, using a series of our own PCB’s interconnected with cables. Unfortunately this customer had other issues with the program, so the idea never went to production.

But the company gained in reputation by providing a timely, creative solution. And I gained, on recommendation from a senior engineer, by filing for and being granted a patent!

Continue reading “Patents”

First Chip Software Tool

Silicon Image eventually came out with a chip which couldn’t be controlled by simple register reads and writes. The chip designers created a device which could accept a video input stream and scale the image to a new resolution. It could also superimpose a message or picture onto the stream: an on-screen display (OSD) message.QFP package

To define and modify these OSD messages (text or picture) one had to program a lot of registers for font, color, character strings and image. It was not practical to do this with peek-and-poke instructions.

I saw a problem waiting for a solution!

Continue reading “First Chip Software Tool”

Out into the Real World

1992 brought a change at IBM Microelectronics. It was a big change. Facing business pressures, and with a stockpile of cool technologies, IBM chose to open their doors and sell their technology capabilities to the rest of the semiconductor-using world! True, those heady days of three-level-metal, 8-inch wafers seem simple now, looking back. But at the time those techniques, and others, were state of the art.

I was working in Program Management, and had gotten a taste of travel, and being in front of customers. I liked it. I wanted more. I signed up and moved to the Field Application Engineering department, serving external (and internal) customers with IBM’s premier ASIC offerings.

The biggest challenge in selling what IBM had was that IBM had different stuff. There were other ASIC companies out there, but IBM had top-end silicon, packaging, tools, sign-off methods, testing, and more. How to convince the customer that those things are worth a bit more, and that their design engineers could make use of it?

Continue reading “Out into the Real World”