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.

Thursday, June 28, 2018

Treadmill (desk) needs speed ramps and intervals

I continue to love my LifeSpan TR1200-DT3 treadmill, since 2014.

At first I could only walk slowly, 1-1.4mph, while working.

Then, a year or so ago, I started being able to hit 2-2.5mph for some tasks, like email triage.

Recently I have started being able to run >= 4mph, typically while listening to "XXX Update Meetings", where I don't participate, and often don't need to take notes.

But... sometimes I need to take a note, and may need to slow down.  Not suddenly stop, but ramp down safely. 

(Stopping suddenly can be dangerous - I have twisted my knee several times when the emergency stop engaged.)

PROBLEM: the LifeSpan console changes speeds in clicks of 0.1mph.  Having to lean over and click 20 times to ramp down from 4.0 -> 3.9 -> 3.8 -> ... -> 2.1 -> 2.0 mph is inconvenient, and somewhat dangerous.

WISH: 2 or 3 speed buttons, with designated speeds.  And a smooth transition between them, not instantaneous.

EXTRA WISH: I sometimes do intervals on my treadmill desk, while listening to such meetings. 20 clicks to change speed is a pain.  After the 2 or 3 speed buttons, programmable intervals, would be nice.

DIY: yeah, I should do this in my copious spare time. There's a small community of folks who have made their own treadmill controllers using Arduino or Raspberry Pi or the like.


BTW, one big reason why I did not start running fast earlier was not my fitness level or even my sense of balance, but that I have had trouble adjusting the treadmill tension: if it runs smoothly at 0.4 mph it slips at 5mph, or it binds at 1mph when smooth at 5mph.

Google Blogger/Blogspot "Blog This!" plugin dead?

As of June 2018 the "Blog This!" plugin seems to have disappeared. Sob! My second most frequently used plugin. This may be my final straw for using Google Blogger / Blogspot. Google Blogger / Blogspot has been dying slowly for years.

Monday, May 21, 2018

I want to like Windows Controlled Folder Access, but ...

'via Blog this'

I want to like Windows Controlled Folder Access.  Essentially, restriction of access not just by user or group, but also by app.

But, of course, Microsoft made it so simplistic that gets in the way of my usage model.

For example:

  • Lack of Exclusion
    • There are protected folders.  This is good.   
    • You can add more protected folders.  This is also good.
    • But you can't EXCLUDE subfolder trees from protection.
    • This is bad..
    • My usage model:
      • I do a lot of my work in subfolders of Desktop.
      • I do a lot of my work using ad-hoc tools, like Perl and Cygwin
      • I would LIKE most of Desktop to be protected.
      • But I would like to allow all or most, at least a large number, of cygwin apps to have access to subfolder trees such as Desktop/Work-In-Progress
  • Apps are given all or nothing access
    • You can add apps to the permitted list. This is good.
    • But when you do so, the app is allowed to access all Cntrolled Folders. This is bad.
    • E.g. I would like EMACS to be able to access my working areas, like Desktop/Work-In-Progress.  
    • But I would like to disallow EMACS from accessing, say, system folders, or Music, or ...
    • Instead it's all or nothing. :-( 
  • Apps are individual
    • You can add apps to the permitted list. This is good.
    • But you have to add them one by one. This is bad.
    • E.g. I use cygwin.   I would like to add C:/Cygwin/bin/* to the permitted list.
      • But that is too much of a pain, so I just disable Controlled folders
Basically, app permissions are just like user permissions.  They need the same flexibility.

Controlled Folders does not.


This feels very much like Microsoft's initial, >10 years long approach to evolve network share permissions.

I hope that app permissions do not take so long.

Thursday, May 17, 2018

WISH: windows 10 dynamic lock - non-phone, non-paired

windows 10 dynamic lock fitbit - Bing:

'via Blog this'

  1. Lock your Windows 10 PC automatically when you step away from it.
    • Sounds great! :-)
  2. If you forget to lock your PC or tablet when you step away, Windows Hello can use a phone that's paired with your device to automatically lock it shortly after you're out of Bluetooth range. 
    • This sucks! :-(
What fraction of the population pair their phone with their PC?

  • I used to do device-PC pairing, back when I backed up my phone by synching to my PC.  And/or synched podcasts from net through PC to phone.
  • But now I mostly go direct from phone to cloud.  I don't Bluetooth pair phone to PC, not unless I am tethering a personal hotspot via BT.
  • In general, I try to avoid phone-to-PC paring, because it is a security hole.
Heck, what fraction of people have their phone in their pocket whenever they are at their PC?
  • OK, probably most
  • But not me.  
That's what I have a SmartWatch for.  Actually just a FitBit Versa, but good enough.

Dynamic Lock would be more useful to me if it detected the presence or absence of my FitBit.

But, again, I don't want to pair my FitBit with my PC.  I pair my FitBit with my phone.  I wear my FitBit even when my phone is far away, but even then there's an identifiabke BT signal.

NOTE: I don't want this to log IN>

Just to lock.

Wednesday, April 18, 2018

Rule Order Matters [in Outlook] [I wish]

The Three Most Important Outlook Rules for Processing Mail - Scott Hanselman: "rule order matters"

'via Blog this'

Yeah, ruke order matters.

Unfortunately, Outlook does not reliably process rules in order.

Not if some are server and some are not server rules

And if your machine is not always connected to the server - e.g. if mobile, or at home but net is unreliable.


For many years, many of the most useful rules - eg rules that handled Internet, as opposed tgo MS Exchange, addresses were client-side rules.

I have not checked where MS draws the line nowadays, but I have been burnt badly by MS inconsistency in rule order.

"Microsoft SurfBook 3-finger taps"

Krazy Glew's Blog: What Else I have Tried: "Microsoft SurfBook 3-finger taps"

'via Blog this'

The Surface Book Precision Touchpad can be configured to supposedly

emit {MButton}, the middle button, for a 3 finger tap.

This is the only key mapping available for the touchpad;

all of the other mappings go straight to Windows 10 GUI shell functions.

My trackball is also configured to emit MButton when BL+BR are pressed.

This is commonplace - often on a mouse left+right=>middle

It is unfortunate that the touchpad can only emit MButton in a remappable way,

since MButton has certain standard definitions.

 E.g. "normal" uses of MButton, e.g. in xterm

  •  MiddleMouse ==> paste PRIMARY selection
  •  Ctrl+MiddleMouse ==> select to clipboard or show alternate screen

But, we are lucky!!!!

Actually the SurfBook Touchpad 3-finger "MButton"

is <#<+<+{F22}{MButton};

I thought at first to use this as a filter,

but even better[*] just hooking <#<+<+{F22}{MButton};

filters out the {MButton}.

I conjecture this is srelated to timing and buffering.

I conjecture it is fragile.

But, for now, I can bind Touchpad 3-finger to a menu. NAV_MENU_fn

and pass Trackball MButton through unaffected

elsewhere, in click+hold.ahk, I bind X1 doubleclick-hold to the same NAV_MENU_fn

The Surface Book Precision Touchpad

can be configured to supposedly emit {MButton}, the middle button, for a 3 finger tap.

actually, it emits:  LWin+LControl+LShift+F22, and then MButton

     5B  05B a d 0.88 LWin

     A2  01D a d 0.02 LControl

     A0  02A a d 0.00 LShift

     85  06D a d 0.00 F22

     85  06D a u 0.00 F22

     A0  02A a u 0.00 LShift

     A2  01D a u 0.00 LControl

     5B  05B a u 0.00 LWin

     04  000 h d 0.00 MButton

     04  000 a u 0.00 MButton

and in my present AutoHotKey c onfigurationthe MButton disappears - probably because of all of the zero latencies.

What Else I have Tried



I have tried many, many, trackballs.   I prefer finger trackballs to thumb-balls –
the larger the better.

I have tried many keyboards, including ergonomic keybopards.
I have GoldTouch, and Maltron.  I haven’t
tried Kinesis – mostly because I don’t touchtype. And I depend on mobility –
laptops, convertible tablets – so I like stuff I can use on plane.

I have tried many gaming mice. Also joysticks.   I occasionally break out some of my collection
when I have a lot of “triage” work to do. 8-16 buttons on each hand…

I have an XKey-16 stick, and have just ordered another for
work.  16 bindable keys, with AHK.  I sure wish that the keytops could have
dynamically changing symbols.

I have a lot of AutoHotKey bindings.  E.g. click, hold, double-click,
click-and-hold.  E.g. I have CapsLock-click
mapped to Backspace in Outlook, to archive with my left hand, and CapsLock-hold
mapped to legacy CapsLock.

Meta-observation: the biggest problem I have with AHK is
keycode collision. E.g. I have to resort to using ctl-alt-shift-Fn on my
Xkey-16, which I then map to app depend commands using AHK.  But I am running out of unique keycodes, and
am unhappy when the keycodes I want my devices to send collide with Windows and
app shortcuts.   

I really like https://www.quadro.me/,
which allows a touch iOS device, iPhone or iPad, to be used as a dynamically
remapped per-app button pad. But Quadro only works on an iOS device, and has other
limitations, so I implemented similar functionality in Python using
AppleScript. Was able to use cheap old Android phones and tablets as my “button-pads”.
When I switched back to using Windows touch devices, I started reimplementing
the button pads in AutoHotKey.  But I am
afraid that work got put on hold when I joined Nvidia.

I really like the touchscreen programmable button pads
(which I call gUIx, graphical User Interface extenders).   But having them emit keyboard sequences is
quite fragile. AppleScript works better. In Windows…

I have not tried http://www.e3-keys.com/english/index.htm,
nor Optimus Maximus.  I have not yet
preordered the Sonder keyboard, but am tempted.

I usually dislike touchpads - eg I wish that my laptop did not have an ALPs touchpad, so that I could have the keyboard that much closer to me, and possibly open the clamshell on a plane in economy class.   But on a recent long trip, no trackball, I started to enjoy the multi-finger-touch abilities of Microsoft's "Precision Touchpad", https://support.microsoft.com/en-us/help/4027871/windows-10-touchpad-gestures.  3-finger swipes to switch between open windows.  Especially, Microsoft SurfBook 3-finger taps - the only programmable gesture - supposedly mapped to Middle Button, but which actually produces
Win+Ctl+Shift F22. Which I have bound tap to Back, double-tap to Forward, and hold to a navigation menu.  Works nicely in web browsers and Outlook.  I wish that I could program 4 finger taps and other gestures.

I say the above mostly to say that I have tried a lot of
things – but if somebody
wants to recommend a “gaming trackball” with lots of buttons, I am listening
Or a crowdfunded project.