Writing standalone GUI applications with Visual Basic.NET is easy. What isn’t so easy is using a VB.NET application to modify the behavior of some other running application. If the other application happens to be MS Word, MS Excel, or MS Access, you can use Visual Basic for Applications (VBA). Otherwise, unless the other application exposes it’s own API, you’re typically stuck trying to use so-called “hooks“, which will quickly get you under the hood of the Windows OS to a depth where, trust me, you don’t want to go unless you’re prepared to spend a lot of time poring over Microsoft’s incomprehensible documentation trying to figure out how to build something that won’t ever work quite right no matter what you do, and will have a high likelihood of not working at all after the next Windows update. More »

The America Invents Act (“AIA”) was (in my opinion) essentially a total capitulation by Congress to the fantasies of the megacorporations that are by far the biggest customers of the U.S. Patent Office (IBM alone accounts for about 2 percent of all patents issued each year). It is therefore ironic that Big Pharma is finding itself dodging a hail of bullets from the procedural assault weapons that the AIA legislated into existence. More »

If you use a computer to take notes a lot (I do), and those notes often involve math expressions (mine do), you become quickly aware that word processing apps are really not designed for this. Inserting any symbol that isn’t on a standard qwerty keyboard requires extended mouse acrobatics and searches through long lists of obscure symbols (MS Office — pages and pages of variants of Arabic script? Seriously? Who uses this stuff?).


Today’s post, though, is about a different “pain point”: subscripts and superscripts, which are used constantly with math symbols, and require ridiculous contortions to type.  In MS Office products, you have to first select the affected character(s) (requiring either mouse highlighting or shift + arrow keys), then press control and = simultaneously to make it a subscript, or control and shift and = simultaneously for superscript. And at least half the time (I admit I may be unusually uncoordinated), shortly thereafter I will discover that I was still stuck in subscript or superscript mode when I continued typing, so I have to go back and correct whatever I typed before I noticed that it did that.

One useful weapon against these annoyances is: Autohotkey. More »