Tuesday, October 18, 2016

John Sloan and Hardware Entropy Generators

My good friends at Gogo Business Aviation have been following my interest in hardware entropy generators and asked my alter ego John Sloan to give a talk on it. They videotaped the talk and generously agreed to let me share it. Plus: they fed an entire class room of attendees! It doesn't get much better than that.

You'll hear Jaguar mentioned from time to time in the video. That's the code name for an upcoming Gogo BA product that will bring new meaning to the term cloud server.

Once I complete this little research project, you can expect one of my ginormous tl;dr blog articles on the topic.

Thanks again to my colleagues at Gogo Business Aviation.

Tuesday, June 28, 2016

Separate But Equal III

I'm making it a hobby to notice when data communications technologies move to separate control and data into independent channels, a common architecture pattern I've written about here more than once. A little more than a year ago I was writing software to control a Sierra Wireless MC7354 cellular modem in an Internet of Things project for which, somewhat remarkably, the Thing was going to be an aircraft on the ground.

After the usual noodling around and web searches I discovered that to use the modem in LTE mode, the usual serial port and PPP wasn't going to hack it: too slow. Instead I entered the (for me anyway) brave new world of QMI (Qualcomm MSM Interface) and RMNET, proprietary Qualcomm modem interfaces supported by both a software stack from Qualcomm for their "Gobi" family of devices, and an open source software stack consisting of the libqmi library, the qmicli command line tool, and the qmi_wwan driver, for your favorite Linux distro.

In PPP mode, the control of the modem is done using variants of the Hayes modem AT commands from the 1970s that we old folks all know and love. Once the data call was set up, a data channel using Point to Point Protocol was established over the same serial port, and IP packets were tunneled through it to the far end. Lots of layers of bits on top of bits there, all limited by the baud rate of the serial port.

But when using QMI and RMNET, the device exposes a control channel using Qualcomm's QMI messaging protocol, and a data channel using Qualcomm's RMNET virtual USB Ethernet framework. Once the appropriate QMI messaging is exchanged with the modem, the RMNET interface appears as just another Ethernet dongle. Except this Ethernet cable terminates wirelessly somewhere else in the world.

Again: separation of control and data. The old serial port interface is exposed via USB as well, and in fact has its own uses which can be exploited even while a data call is up over the QMI and RMNET channels. But it was another great example of optimizing a control channel for small packets with low latency, and a data channel for big packets with high bandwidth.

Saturday, March 19, 2016

A Rambling Rant by an Old Man

I have had a good deal of career success. I attribute that success to a lot of things. One of those things is being evidence-based. Don't guess. Test. Measure. Look and see. Ask. If you can avoid guessing, do so. Sure, there are times you have to make a decision with incomplete information. But a lot of the time you can either defer that decision until more information is available, or improve the information on which you base your decision.

Not all opinions have the same value. For example, I have worked with people who have shared in a Nobel prize for their work in climate physics. Their opinions on climate change carry a lot more weight than yours. When you offer an opinion, on climate change or any other topic, I am going to assign an information content score to what you say. The definition of information is data that reduces uncertainty. The score I assign to your opinion might be zero.

The older I get, the more I seek out the original research and data on which people base their opinions. Often they either heard something second hand, third hand, or N-hand -- this is the "Chinese Whispers" problem -- or maybe the original study was flawed or biased, or maybe they are just full of crap because they believe what they want to believe. Most of the postings on Facebook fall into this latter category.

I like to read stuff that reinforces my opinions. I have read articles suggesting that this is common. I also like to read stuff that challenges my assumptions. I have read articles suggesting that this is rare. But it's the stuff that challenges my assumptions -- like education is a universal good, or that better communication unambiguously improves life -- that I find the most useful, and, really, the most interesting.

I like to read fiction, and have done so for decades. But increasingly I find myself more drawn to reading non-fiction. I find reality to be a lot more interesting, and stranger, and more compelling, than most of the fiction I read. It's as if reality exists just to entertain me. If you don't think reality is a damned interesting thing, then you aren't paying attention.

I'm old. Really old. I'm at an age where I have to read the obituaries, not just to make sure I'm not listed, but because I've lost many close friends and valued colleagues to accidents, strokes, cancer, heart disease, suicide, and even murder. I have a strong sense of my own mortality, and that time is short. Here's the thing: it's short for all of us, regardless of age. So you'll have to excuse me if I just don't have time for your bullshit.

I like people that agree with me. I also like people that don't agree with me. And I really like people for whom, when they don't agree with me, there is at least an even chance that they are right and I am wrong.

I find that, generally speaking, people act in the way in which they are incentivized to act. So if people aren't acting the way you want them to act, you should examine their incentives. Often, you will be the one (mis-)incentivizing them.

It's becoming increasingly difficult to find a really good soft pretzel.