Jack Ganssle, Editor of The Embedded Muse Jack Ganssle's Blog
RSS Feed This is Jack's outlet for thoughts about designing and programming embedded systems. It's a complement to my bi-weekly newsletter The Embedded Muse. Contact me at jack@ganssle.com. I'm an old-timer engineer who still finds the field endlessly fascinating (bio).

For novel ideas about building embedded systems (both hardware and firmware), join the 30,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.

Cmicrotek uCP100

Thanks to the fine folks at Cmicrotek, this month's (April, 2019) giveaway is (your choice) either a µCP100 or µCP120 current probe. These are instruments that measure the current consumption of low-power IoT-type systems. I reviewed them here. Enter the contest here.

On Expert Witness Work

March 26, 2019

We sat, both hunched over our computers, shivering. Christina wore three hoodies, but the server room was cold, and 12 hours a day there sapped our heat. Access to the room was strictly controlled, requiring passage through multiple locked doors. An armed guard stood outside.

National security? Nope. This was a patent lawsuit. Christina was the young associate and I the expert witness. Our mission: to find signs of infringement in the defendant's code, some 15 million lines of C.

In another case the code was on a computer which was inside a sealed box protected by multiple combination locks. Connections for a monitor, keyboard and mouse protruded, but that was it. A GPS inside the box let the defendant know if we had moved it from the conference room. No one responded to my objection that, being deep inside a towering skyscraper, the GPS was probably not getting a signal at all.

These sorts of precautions are routine in software patent disputes. There's never a connected printer. Generally we're allowed to identify small snippets of code which the lawyers will print and give to us at their discretion. Both sides feel their code is extremely valuable business information that can't be leaked in any form or fashion. I'm completely sympathetic to this as firmware is the most expensive thing in the universe.

The court always issues a protective order which specifies in detail how the code should be protected. All documents, including listings (such as they are) must be marked with a phrase like "Confidential business information Source Code Attorneys' eyes only." "Attorney" encompasses expert witnesses. In court, when discussions of the source code come up, a parade of lawyers and witnesses not cleared for that information parades out of the room.

I spent many years in the intelligence business. The protocols for securing information above Top Secret and for expert witness work are eerily similar. But working conditions in the spy biz are usually better than in patent disputes. For the latter often limits even what kind of notes we can take. With government work we could access computers, though they had to stay inside the SCIF Secure Compartmentalized Information Facility. But with patent work the only computer in the code room is that with the code, and we can't store files or notes on it. Once, the court's protective order did allow me to bring a laptop into the room, but only one without a camera. You know how hard it is to find even a used camera-less machine?

Comments in national security code, at least in the USA, are in English. I've done several expert witness projects where they were in Chinese pinyin. In one case all variables were three characters long, and the first was always "m".

Gaining access to the code room involves negotiations between teams of lawyers; you can't just waltz in and start working.

A defendant in a patent dispute reasonably wants to make it as hard as possible to find infringement, so toss up whatever legal blocks they can. Hence the PCs in the cold server room. Aids to understanding are few. I've never seen code that was modified via a comment stripper, but in one case several million lines of VHDL probably averaged one comment per thousand lines.

While opposing counsel does make it hard to make sense of what is sometimes a big ball of mud, I have never seen an attorney do anything remotely illegal. Those I've worked with all stayed scrupulously on the right side of the law, though might get right up to that line.

Despite the hassles, it is fascinating to dig deeply into an unknown code base with limited time to see how a particular device works. I have seen code that is so well thought out, so carefully implemented that one wants to pin a medal on the developers. More common is a mess that should never see the light of day.

I get a lot of questions about expert witness work. As mentioned, the technical part is completely absorbing. There's a lot of writing, which I enjoy; other engineers might not. I've filed several 700+ page reports. A lot of time gets spent in meetings with lawyers to find new meanings of individual words, which, it becomes clear, is necessary, but is not my cup of tea.

Then there's testifying, which some experts love. Me, not so much.

Feel free to email me with comments.

Back to Jack's blog index page.

If you'd like to post a comment without logging in, click in the "Name" box under "Or sign up with Disqus" and click on "I'd rather post as a guest."

Recent blog postings: