The content of this blog is my personal opinion only. Although I am an employee - currently of Nvidia, in the past of other companies such as Iagination Technologies, MIPS, Intellectual Ventures, Intel, AMD, Motorola, and Gould - I reveal this only so that the reader may account for any possible bias I may have towards my employer's products. The statements I make here in no way represent my employer's position, nor am I authorized to speak on behalf of my employer. In fact, this posting may not even represent my personal opinion, since occasionally I play devil's advocate.

See http://docs.google.com/View?id=dcxddbtr_23cg5thdfj for photo credits.

Friday, December 01, 2017

2FA watch app please! not phone

Duo Mobile: Duo Security:

'via Blog this'

My new employer uses Duo's push two factor authentication.  This is good...

But oh my gosh do I wish that this 2FA app was a watch app and not a phone app!  I am coming to hate having to go find my phone...  For some reason I need to do this much more often than in my personal 2FA usage - probably because I spend more time at work on my PC than banking, etc.  And Gmail and LastPass 2FA persists across (some) reboots.

If my employer's 2FA was time based, I suppose that I could clone the TOTP to run on both my phone and my watch. Although I never trusted the TOTP implementation for my Pebble SmartWatch - I never trusted that the Pebble had good enough security, both inside the watch, and in the synched-ed to phone app.

MORAL: SmartWatches need good security.

I would hope that the Apple Watch has good security.  That's a large part of the reason I switched from Android to iPhone.  Now if only the Apple Watch had decent battery life, I would gladly switch.  Being able to use my watch as 2FA would almost be enough to justify paying for cell phone connectivity for the watch independent without going through the phone.

In my dreams, the smart watch would carry the SIM card, and
temporarily delegate it to whatever more battery endowed device it was close
to. Like phone, or tablet, or laptop.  The smart watch could/should be the
most secure device – more physically secure, or at least less likely to be left
behind. Passwords by clicking buttons or tapping. Potentially endowed with
biometrics like fingerprint, and heartrate continuous monitoring – redo slow
authentication when taken off.

Will NNs
for pleasant authentication – fingerprint, face, voice – fit in the SmartWatch
form factor and battery profile?  I am willing to relegate training to a
synched to SmartPhone app; I would prefer NOT to let biometric authentication
live in the cloud, although it is probably too late.  All of our faces are
belong to Google, and Facebook, and ….

Amusing idea;  passwords as a sequence of silly facial
expressions.  NNs to recognize you tapping your favorite song on the
phone.  Conscious control of heartrate or body temperature or galvanic
skin response for authentication. Perhaps this will be the route to direct neural interfaces, the incremental step that provides partial value.


My Apple watch owning friends are happy to rub it in that they have a watch app for Duo 2FA..

As are some of my Android Wear friends - except they say that too many clicks are required on the watch app, so they often pick up the phone.

For the Record, I am currently wearing a FitBit Blaze not-really-smart watch.  Mainly as a Fitness Tracker, and that mainly because of FitBit's social fitness challenges with my friends. I was very disappointed to realize that the Blaze provides transient calendar notifications, but does not actually store my calendar on the watch.   Although FitBit bought Pebble, it doesn't yet support Pebble-style watch apps.

Sunday, November 05, 2017

OneNote [[links]] not quite as good as wiki

How to Master Microsoft Office OneNote: "Automatically create new pages, linked together in a master list: If you’re working on a project that you know will require several pages of notes, here’s a killer shortcut: Type two square left brackets followed by the title of the first note you want to make and then type two right square brackets at the end. OneNote will instantly create a new note with that title and a link to it in your current note. " 
'via Blog this'

I am glad that OneNote accepts  the double square bracket syntax to create links to pages that do not exist yet - a syntax that is common in wikis.

It is unfortunate, however, that OneNote automatically creates the page as soon as the [[link]] is typed - rather than when dereferenced, as wikis do.  Doing it wiki-style allows you to search for pages that you want but which have not been created yet - whereas doing it OneNote style results in a lot of empty pages.

Thursday, September 28, 2017

Standalone smartwatch without smartphone: working out, including swimming

I just revived my fitness club membership, which I had let lapse. It reminded me of one reason why I want to be able to use a smartwatch without a smartphone nearby - one reason why I will probably buy an iPhone X, or at least the new Fitbit Ionic, in the next year: workouts.

I like going to the club and listening to podcasts while doing a variety of exercises. On elliptical and rowing machine a smartwatch slaved to a smartphone isn’t so bad, although it would be nice not to have to carry the phone around. But swimming makes having a waterproof smartwatch independent of the smartphone much more desirable. Locking phone away in a locker while swimming risks theft, while wearing phone in pool in a waterproof bag while swimming, quite literally, drags. Whereas a waterproof smartwatch by itself means that all I need to place in a locker are my shirt, shoes, and towel. Which I am much less afraid of getting stolen.

The main feature I want for exercise is the ability to play podcasts. Both the iPhone X and the Fitbit Ionic can store audio, music, on the watch, connecting to a new Bluetooth headset. The IPhone X almost certainly has better podcast players.

I was about to say “Unfortunately, Bluetooth doesn’t work well in a pool. So I may fall back to using my old waterproof iPod Nano with earplugs - and hence not need the smartwatch to play the podcasts”.  But there are quite a few Waterproof Bluetooth earbuds for swimmers, so that may not be an issue.

=> stand-alone smartwatch with music/podcast playing to Bluetooth waterproof earbuds while doing workouts including swimming. That will be what makes me buy an iPhone X or Fitbit Ionic.

If I can get the “Gentle Wake” app from my old Pebble Classic, all the better.

Exercise and alarm clock: two things smartphones have never been good enough at to make me happy.

Friday, September 01, 2017

Amtrak - Experience - Onboard - Journey with Wi-Fi

Amtrak - Experience - Onboard - Journey with Wi-Fi: "Amtrak offers free basic Wi-Fi service"
I enjoyed using wifi on train from Portland OR to Seattle yesterday. Got much work done.

Unfortunately, on the return trip today the wifi was ... bad.  Intermittent. Slow.  Frustrating.

(Furthermore, as I have noticed before, my Microsoft Surface Book has a habit of crashing when wifi is intermittent.)


Both trains were full.  Yesterday's left Portland circa 3pm.  Today's left Seattle circa 6pm.

Wednesday, August 16, 2017

Does Vision Research Drive Deep Learning Startups? | Chris Rowen | Pulse | LinkedIn

I think that I would like this conference format.  In preference to a multitrack conference where there are multiple papers I want to watch in the same timeslot.

Half of the reason to attend a conference in person is to observe the audience questions.

I really like the idea of poster sessions for all presented papers.

Does Vision Research Drive Deep Learning Startups? | Chris Rowen | Pulse | LinkedIn:

So many teams submit worthwhile papers [to CVPR]  that it has adopted a format to expose as many people to as many papers as possible. Roughly 2500 papers were submitted this year, of which only about 30% are accepted. Even so how can people absorb more than 750 papers? All the accepted papers get into poster sessions, and those sessions are unlike any poster session I’ve seen before. You often find two or three authors surrounded by a crowd of 25 or more, each explaining the gist of the talk over and over again for all comers. Some notable papers are given a chance to be shared a rapid-fire FOUR minute summary in one of many parallel tracks. And even smaller handful of papers gets much bigger exposure – a whole TWELVE minute slot, including Q&A!   
Remarkably the format does work – the short talks serve as useful teasers to draw people to the posters. A session of short talks gives a useful cross section of the key application problems and algorithmic methods across the whole field of computer vision. That broad sampling of the papers confirms the near-total domination of computer vision by deep learning methods. 

'via Blog this'

Sequences sunburst

Sequences sunburst:

'via Blog this'

I love data visualization. I love AI.

I want to love this visualization (of papers at the CVPR conference), but my wanna love is outweighed by my "I hate data viz that is too low bandwidth".

You can only "understand" this visualization interactively, by flying over the pie chart slices to see the labels. For somebody like me, who tends to absorb a whole picture all at once, this is much slower than presenting the piechart with labels or a legend.  Even if the legend is just color coded, because the labels don't fit.  But if the labels can be spatially attached, by proximity or by arrows, all the better.

I don't really have a photographic memory, but I have a cartoon-ographic spatial memory.  I remember pictures, usually highlighting the important areas. Sometimes my visual memory is augmented by time domain "zooming" into areas of interest.

This flyover graphic requires time domain sequential memory just for the first level absorption.  At the very least it is slower; but I suspect it also displaces the use of time domain memory for deeper understanding.

I am impelled to blog this because it is so bloody easy to make this visualization higher bandwidth.

It's a nested pie chart.  There is room for the labels for most slices of the innermost pie ring.  Even on the outermost pie ring.   I.e. without even changing the graphic most of the segments could be labelled, with interaction to dive into the segments too small for such trivial labelling.

And if you have the ability to explode sections - dynamically redraw - even more so.

I have probably made an enemy here, if this ever gets back to the author. (If you are the author, I would love talk to you.  If only to thank you for the raw data wrapped in this visualization.)

I have probably also dated myself, because video presentations are more and more the fashion.

Yes: I am the sort of person who hates watching videos, because I can read papers or slidesets faster than videos.   When I watch videos, I like fastplay and fast forward. I especially like video players that  recognize slide boundaries, so that I  can jump from slide to slide - and then only backtrack when it seems likely to have interesting discussion.

  • We can talk faster than we can type
  • But we can read faster than we can listen. Or watch video.

So, which is more important?

Sunday, August 13, 2017

Commutative FP Addition and Multiplication

In computer arithmetic, floating point addition and multiplication cannot be associative, because of rounding.

I.e. (A+B)+C != A+(B+C)

But... FP add and multiply are frequently also not commutative, in floating point instruction sets.  Not fundamentally, not because of rounding, but because of NaN and other special value propagation.


   FADD fd := fa + fb      !=       FADD fd := fb + fa    

because, if both operands are QNaNs, the instruction set may be defined to propagate the QNaN in the first operand.

This simple rule allows compiler control - but it breaks commutativity.

Losing commutativity has several downsides:

a) the instruction set cannot use operand order to provide extra information, essentially an extra opcode bit.

b) it means that a compiler cannot freely reverse operands.

Does not matter for

   FADD fd := fa + fb      !=       FADD fd := fb + fa    

But does matter for srcdst:

   FADD fa +=fb      !=       FADD fb += fa    


Other NaN propagation rules would support commutativity.

E.g. choose the NaN whose value is smallest, if the entire NaN is interpreted as an integer bitpattern.  Or largest. Signed or unsigned.

(This may be appropriate if something like a line number is encoded in the NaN.)

E.g. merge NaN operands in some way.