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.

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.

3Dconnexion: SpaceMouse

3Dconnexion: SpaceMouse:

'via Blog this'

I may be in love.  Although this is the sort of product I will want to try before I buy.

I don't do much 3D, although my daughter does.

I would be happy to try/buy this device, if it is usable for trackball-comparable navigation - it probably needs good ballistics.   However, 3DConnexion selling kits of the 3D device in conjunction with a fancy mouse for selection make me worried that the 3D device is not precise enough.   Although it might be a question of scene motion vs pointer motion, segregated by device.

Apart from 3D, the fancier versions of these have many
buttons, reducing greatly the need to move hands between pointing device and
  • Even
    the most basic compact SpaceMouse has two buttons – not much, but they can
    open radial menus, which Bill Joy says can be much more efficient that
    linear menus
    • Radial
      menus in AHK have been a project for my copious spare time
  • the
    fancier “Pro” version has
    • 4
      function keys
    • But
      more importantly
      • Left
§  3
modifiers – control, alt, shift – which if fully chordable, gives 8x the bindings
§  ESCape
and MENU keys
      • Right
        • 6
I would that these are not
hardwired, and/or can be redefimned so that they can be usefully hooked in AHK,
 but even if not, the modifier keys and ESCape
would help greatly in menu navigation and selection without using the pointing
  • The
    top of the line “Enterprise” version has
    • Total
      8 keys on left – the Pro 6, plus Enter and Space
    • Total
      11 keys on left – although looks likely to be not as programmable as I
      would like
    • Most
      • 12
        “programmable” function keys on top
with a small LCD screen
that can switch to show current bindings.

Not quite the Optimus
Maximus keyboard with OLED keytops,

Nor the Sonder keyboard
with e-Ink keytops

but steps towards the holii

I think that I may be in love!

I think that I would like to buy this device with a
trackball in the middle, not necessarily the 3D 6dof device.  But if the 3D device works, sure.

But this is the sort of device that I would like to try before
I buy.  Even with full-$$$ refund, returning
it if it doesn’t work is a hassle.

I wish the Kensington TurboBall Trackball was still around :-(

Amazon.com: Kensington TurboBall Trackball (PC/USB Mac): Electronics:

'via Blog this'

I used the Kensington TurboBall for years - had 4 of them, work, home, etc.  Unfortunately, using mechanical rollers, eventually all jammed up beyond hope of lubrication.   I replaced them with the Kensington Expert Mouse  Trackball, which uses an optical sensor.  The ExpertMouse doesn't jam, but its ergonomics are much WORSE than the old TurboBall - it forces my wrists to bend backwards.  Therefore, here I am,  >10 years later, looking to buy used TurboBalls to replace my ExpertMice trackballii.

TurboBall - the best trackball I have ever used.  If it were redesigned with optical sensing, I would buy a dozen of them!

ExpertMouse Trackball - the best of the rest; the best being sold new.

BTW I have also tried the Kensington SlimBlade and the two shapes of Orbit trackballs. Plus trackballs from other vendors.


+ Ball Size - the larger the better.  The ExpertMouse has a 55mm trackball, as does the SlimBlade, The Orbit has a 40mm trackball, as did the TurboBall.  Since I prefer the TurboBall to the ExpertMouse, I guess wrist angle outweighs trackball size, but not by much.

+ Buttons - I really prefer 2 to 4.  I think that's why I prefer the ExpertMouse to the SlimBlade.   My usual bindings are LL=left mouse button, LR=right, LL+LR=middle, UL=back/forward, UR=app specific.  I.e. 2 buttons just aren't enough. In fact, I use AutoHotKey to create different actions for trackball button click, hold, double-click, click-and-hold, etc. - i.e. I have 2 or more actions per button, even without modifiers.

     BTW, I remember fondly an older trackball, where you could tap or depress the ball itself.

+ Ergonomics - wrist angle.  The TurboBall allowed a neutral wrist angle.  The SlimBlade only required a slight back angle (extension), but the ExpertMouse requires a much worse wrist extension

The ExpertMouse is so bad in this respect, requiring so much wrist backwards bend (extension), that: ...

a) I have actually used the ExpertMouse reversed - so that the part closest to me is tallest - which allows wrist flexion, a nice negative angle.  It is surprisingly usable this way. It takes getting used to rolling right moves the cursor left, etc.  But it makes it very hard to use other people's trackballs.

     WISH: some sort of USB adapter that would negate X and Y signals.

b) If I don't manage to find a TurboBall, I will try foam wedges to adjust the ExpertMouse angle.  Trouble is, my keyboard/mouse tray are not adjustable enough.

Saturday, April 07, 2018

WISH: pictures in version control system logs

More and more I am wanting to be able to embed pictures everywhere.  Typically bitmaps, screen clips - but vector pictures if ... they efer become uniquitous.  Colors. Colored text also nice.


For example, I just checked into .gitconfig some aliases to prettify my got log output. It sure woyuld be nice to be able to show the pretty colors.

Similarly, I would like to embed suich colored examples in the comments for programs.,

No, links to image files do not cut it.  Anyone who thinks that does not understand version control, divergence, consistency.  You may think that images are overkill - that I will accept as a legitimate position, but one that I disagree with more and more - but

Links do not cut it - unless the links are "local inside an archive file".  More and more thinking in terms of any interesting file being an archive, e.g. a tar file, with perhaps a default .txt or other "primary".   With "links to files" that are neighboring in the archive.

Archive files, and directories for that matter, are the natural objects of UNIX derived filesystems.  Pity that their atomicity is not enforced, on systems like MacOS.

Friday, April 06, 2018

WISH: Browser Save Passwords only for Regex Match Domain(s)

Manage saved passwords - Computer - Chromebook Help: "Stop Chrome from asking to save passwords
By default, Chrome offers to save your password. You can turn this option off or on at any time.

On your computer, open Chrome.
At the top right, click More  Settings.
At the bottom, click Advanced.
Under "Password and forms," click Manage passwords.
Turn the setting off."
'via Blog this'
I prefer to use a password manager like LastPass to manage my passwords.

I would prefer not to have my web browser, like Chrome, offer to save passwords.   Normally I disable this.

However, my employer has many sites that use password systems that LastPass in Chrome cannot recognize and manage.  Like HTTP Basic Authentication - although I hope that IT does not do THAT. Not just myemployer.com and www.myemployer.com, but many, many, subdomains.

So, unfortunately, I have to use browser based password management for many sites in *.myemployer.com (plus a few others that are outsourced).

It is annoying that browser based password management is either ON for all sites, or OFF.  At least in Chrome.  Not just annoying, but fragile.  If a password is saved in both my briwser and LastPass, it can become inconsistent, and can get lost. I wish that I could provide a few regexps to indicate which sites the browser should and should not try to save passwords.

I wonder if FireFox supports that.