Thursday, May 31, 2018

15 Days in California: Google I/O and IoT World 2018

Earlier this month, I got a chance to attend two conferences in the Bay Area: Google I/O and IoT World.  They are two very different venues, as Google has a lot for developers and the media to consume, experiment, discuss, and play with, and IoT World has some good content for developers but also helpful strategies for executives to understand where things are going.

Of course, from the Google I/O keynote, everyone has been the most impressed with the Google Assistant handling phone calls on behalf of users.  This is something that has held me back in the past from getting things done; there’s a level of “activation energy” I have to want to talk to someone; given my ability to be such an easy push-over and not either quick enough or persistent enough to try to contradict with or argue with someone, so I often put off phone calls or worry about how the conversation will go on.  Having someone do the talking for me will free up some of my brain cells from worrying about this.

However, most people brought up the example where the Google Assistant calls a hairdresser “on behalf of a client” in order to schedule a hair appointment.  That to me seemed rather pedestrian and mainstream.  Yet the very next example they showed to us at the keynote, which I have not heard as many people talking about, was where the Google Assistant tried to book reservations at some sort of Asian restaurant with a non-native English speaker with a very thick accent on the phone.  The human on the line didn’t speak perfect English, and also couldn’t remember conversational context to save their own life.  It would have been frustrating to deal with, to try to keep the conversation on track, but the Google Assistant handled the situation adroitly, correcting the restaurant phone answerer whenever they incorrectly stated details of or misunderstood what the user wanted.  Of course, speculation has run wild about the potentials to abuse this technology — one thing I can think of right away is the ability to design complex social engineering schemes, especially when the Google Assistant is resistant to responding with emotion, stuttering, hesitation, or anything to tell you whether they’re being honest or not.

There were several other cool things mentioned at the I/O Keynote, but one thing that seemed pretty silly to me was spending about 5 minutes explaining the use of machine learning to adjust the brightness of your phone’s screen.  I have no trouble spending 3 or 4 seconds to adjust it manually, and rarely have to adjust it anyway unless I’m in a very, very dark room where even the minimum brightness is usually still too bright.  Don’t get me wrong, though; in general, the explanation of Android P was so compelling that I wanted to download it onto my primary phone right away, despite the advice against that by Stacy, an Android GDE.  Nevertheless, I saw quite a few people who appeared to be running Android P already throughout the rest of the conference.  Perhaps they downloaded it ahead of time, or after the first day of Google I/O ended.  Overall, though, the keynote exuded to me way less of this vibe that Google was trying to automate even the tasks of software engineers and especially data scientists.  It was way more human-centered, focusing not on tech

From there, I attended two talks, one on Tenworflow TPUs and one on Spectre & Meltdown as it pertains to Web pages, before using the rest of the conference to hit up the product demonstration booths and schmooze with Googlers who work on these things.  And even if I’m not so fluent in some of their work as I’d like to be, I still hoped to be inspired and moved to pursue new ideas as well as get various questions answered regarding anything from potential use cases or expansions up to specific pointed questions about problems I’m facing.

Demos That Struck My Fancy

The thing I saw at Google I/O that I wanted to try most was in the Machine Learning tent where they had two “autonomous vehicles” running a figure eight course.  Rather than using regular line-following sensors or even reinforcement learning, the machines were trained on behavioral mimicking, where they try to tell based on previous input from humans what to do in given situations.  And it was obvious they were trained like this, because as the sun began to set, reflections of it shined right into the vehicles’ cameras and confused them because it hadn’t seen that type of input before.

I also spent a lot of time talking with people in the Web technology booth, particularly about front-end performance testing (since that still seems like a dark art to me, as opposed to API performance testing which is well-understood) including PageSpeed and Puppeteer, not to mention Lighthouse which has been out for a little while now.   Web Bluetooth and WebXR also seemed cool, and I finally got in touch with some smart people behind Web Bluetooth that I tried to meet last year but missed.

There were also on display incredible APIs you can access through scripts you can link to in Google Sheets that can basically act as quick & dirty real-time dashboards, as well as the ability to get all sorts of analytics on, for instance, Gmail, which is of special interest to me because I really want to know who has sent me the most unread mail over the last 10 years or so I’ve had my favorite account.

Firebase always brings fun games to show interactive abilities of their apps, as well as other interactive ways to demonstrate the ever-expanding capabilities of their product.  And, of course, there was Android Auto which I have had app ideas in my head for a while now but can’t be written for the normal projected version of Android Auto.  However, as manufacturers look to integrate Android directly, rather than the old-school Blackberry QNX or even Automotive-grade Linux (AGL), my dreams might come to fruition, plus it might help eliminate the huge kludginess (Web people would call it “jank”) that I see when trying to use the interfaces provided by my current car, which can sometimes be very laggy for no reason.

And after a weekend gallivanting around San Francisco, meeting nice people at Haight-Ashbury, and taking accelerometer measurements on the Golden Gate Bridge to post on Kaggle…

The second major thing I did out in California was to attend the IoT World conference in Santa Clara, which brought together some very important movers and shakers in the world of the Internet of Things.  One cool thing that went on during the Monday of the conference was the Eclipse IoT Day, where they showed off many of the open-source tools one can use to write code, manage IoT deployments and digital twins, and even some real-life examples on doing hardware development from the ground up for a contest.  All these talks were recorded, so I spent part of the time in another very brisk overview of machine learning that wasn’t being recorded just to catch any interesting tidbits that I might not know about.

I would say overall that the coolest people to talk to at IoT World were the CIOs from various local governments who are interested in smart city initiatives.  They generally don’t introduce themselves and then have a frank conversation with you before trying to sell you something all the sudden.  They like to talk about their cities, their problems, ideation, and cool solutions, and that’s the type of stuff I like to hear — what people are working on for themselves, whether it’s at a high level or geeking out about the technical details.

However, as I think about where I’m at in my career, and correlating that to the big message I saw from especially Days 2 and 3 of the conference, I can’t be the end-to-end solution provider.  To put it another way, I’m a developer who would really rather you spare the marketing mumbo-jumbo and just let me dive straight into playing with the product.  I don’t really like being sold to, partly due to my defective BS detector and my lifelong disdain and mocking of commercials, but now I realize I have to adjust to it and become receptive to it in order to magnify my own capabilities.

Even big companies who I would think have perfectly capable engineering teams leverage partnerships with other companies in order to get things done faster and build better ideas.  It’s difficult for one person to be fluent in al angles of IoT, from all the different wireless spectrums and protocols coming available to where to run your compute (edge or cloud) and all the different types of equipment you’re looking to monitor or control/communicate with, not to mention failure prediction using sensor data (and the plethora of sensors available), and especially something that was brought up at least once in every talk — security.  (Speaking of which, based on what IBM showed me at the Bay Area Maker Faire, I think security is a false assumption or assertion these days anyway, as quantum computing is probably breaking all of it as we speak.)

Bonus Content

The Intel Day Zero event is a lively party right before Google I/O starts.  It’s a showcase of various technologies, usually makery in nature, that are driven by Intel products.  I redid Wylie 1-Flip to use an Intel UpSquared system on a module, rather than the original Intel Edison inside, which I was hoping would drive the game more reliably.  Intel sponsored part of my trip in order for me to exhibit the Wylie 1-Flip game at the Devil’s Canyon Brewery in San Carlow, but alas I think something happened to it on the journey over, as the solenoids would lock on immediately after plugging in the game.  That’s not good; they’re designed to be too powerful to be left on for more than a brief time, so they will burn themselves out if left on.  Also, they’ll emit a very distinct odor that electronics and pinball aficionados are familiar with, so it’s often easy to spot before there’s a total meltdown as long as someone knowledgeable notices the problem.  Unfortunately, in scrambling to get the game working, I didn’t really get a chance to chat with many of the other Innovators at the event or see their projects, but I did meet a guy who worked on Hyperledger Sawtooth, and I did describe Wylie 1-Flip to at least 400 attendees (since I gave out that many tickets to pave people’s way to swag bags after collecting enough).  I was told it was a very engaging demo, and it could lead to future engagements for me and Wylie 1-Flip.  The first thing I need to do, though, is make it lighter-weight so I don’t get charged for its weight and its size ($325 to take it on as checked baggage on American).

Maker Faire was right after IoT World.  I had to go Friday only because I was doing something else that weekend on Saturday and Sunday.  For $75, I got to sprint through Maker Faire for four hours and try to soak in as much of it as I possibly could.  And sprint I did, since at that price and those hours, you’re not tripping over busloads of children and slow-moving families.  I didn’t really get to see a lot of the outside booths and people’s personal projects, but pretty much made a beeline to the vendor area to see what I should be paying attention to for the next year.  It seemed like there were a lot less vendors than in years past, or else there were so few people there that it just seemed way emptier anyway.  Quite a few vendors were 3D printing related.  I felt like there were less CNC-related vendors, certainly not the Chinese CNC manufacturers that were selling ridiculously cheap mills last year.  However, Dremel had a huge presence there showing off various CNC machines and 3D printers, all with an Apple-like aesthetic (and probably price tag to boot).  There were a couple goodies I took home with me from the floor, though, most notably a Walabot RF & image sensor for 50% off (which impressively even my handyman not-so-techie step-father-in-law is aware of and pining over).

The Golden State Pinball Festival… or I should say the way to the festival… was a long Uber ride stuck in traffic and a very nerve-racking train ride away from the Bay Area Maker Faire.  The ACE train is a nice commuter train, but I was frazzled from being literally the last person on the train, trying to get there on-time with my very heavy Wylie 1-Flip game, and having forgotten a small bag of mine in the Uber car on the way to the train.  Nevertheless, I managed to let go by looking out the window, watching the windmills and rolling hills, contemplating the wind (and my ground speed), and talking to other people on board.  As a commuter train, so many people are buried in their phones or their devices because they see these scenes day after day and take them for granted.  As it was all new to me, I wanted to look out the window as much as possible, and in fact some of the ride was in very remote parts of California with no good cellular coverage.

As for the festival though, and not just the way there, I got a chance to play definitely some different games than what comes around to Texas Pinball Festival.  And, as I was camping out in a trailer on the Lodi Grape Festival campgrounds, I met some nice people from all around California and we all had at least one thing in common.  As it turns out, though, it’s not hard to find techies in California, so beyond talking about pinball, we’d often talk about what we did when we worked at Hewlett-Packard (several HP alums besides myself were there), software languages we’ve built or written in, or what we’re dreaming of adding to the Internet of Things next.  Unfortunately I had some further technical difficulties with Wylie 1-Flip, so I didn’t get to say Hi to as many people as I’d hoped, and could have used to play at least a little bit more pinball.  Nevertheless, I got to play my uncle on Flash Gordon, a machine he used to own back when it was new and he worked as an arcade tech.

One thing that astounded me is that the mild, mostly easily predictable late Spring weather in Wine Country led many people to actually leave their games outside and run them.  In Texas, no one would ever do that due to heat, humidity, and the random squall that might come through on a moment’s notice (which is what happened the Friday after I returned from this long trip — a forecast of low humidity and a high pressure ridge over Mexico yielded to a brief yet very strong thunderstorm just a few hours after I heard the forecast).

There is a growing trend I’m seeing at pinball shows — people starting games and then abandoning them.  I had several situations where I would walk up to a game and hit the Start button out of hair, but then I in fact just “coined in” a second player because the first player was still on their first ball.  It’s frustrating, because I don’t want to play the game for that long, no one is standing behind me who wants to be the second player, and for some reason these Californians tended to have the power switches for their games hidden so I wasn’t able to restart them (besides power-cycling a game can put a lot of stress on its electronics, so it’s not something I like doing anyway).  The good news is I ran into a fellow from Iron Transfer who is developing a product called PinRemote, which allows for really fine-grained control of various pinball machines including Williams WPC-era games (throughout most of the 1990s) and modern Stern SPIKE/SPIKE 2 systems (and maybe the not-too-old Stern SAM systems too; I’m not sure).  In particular, the PinRemote has a switch that can toggle the slam switch on a game so that if an operator notices a four-player game has been abandoned on the first ball, it can be reset without having to perform a risky power cycle.  It can also adjust the game volume, add credits, manage which type of user profile can add what amount of credits to machines they can log in on, and so forth.  It all works over Bluetooth Low Energy, so there’s no Internet connection required to control a game.


I’m still getting unburied from all the stuff sprawled everywhere as I unpack everything I took with me (and not to mention shipped to myself).  My stuff did take some damage during the trip; I lost my glasses at I/O, damaged my sunglasses in the final hour or so of the pinball festival, and my acrylic “playfield glass” for Wylie 1-Flip got broken in return shipping.  Not to mention, I bet I spent something like $500 just in Uber & Lyft rides.  The good news (especially for my wallet) is that my flight and all but two nights of my lodging were paid for by others, and I’m still filing for reimbursements on some of my other expenses.

Also, while shopping at Excess Solutions (which is probably my new favorite electronics store since Weird Stuff closed) I ran into a YouTuber named Rinoa Super-Genius who also happened to be shopping, and we chit-chatted (I was being recorded during this as well) while wandering the store, and as such, I might in fact be in one of their videos.  I’ll have to check!  Meanwhile, I'll also have to make a quick response video once I track it down so I can show them the pieces of my vintage computer collection I mentioned that they were unfamiliar with.