Posts Tagged ‘workaround’

Dell Touchpad Losing Multitouch After Second User Logs In

Friday, January 7th, 2022

Happy 2022! This dear old blog is long overdue for a theme update, eh?

My aging Dell E5550 has been losing the multitouch features (i.e. two finger scrolling in web browsers!) when a second person borrows my laptop (for work from home!).

This is in Windows 10. It may or may not apply to other laptops from Dell or other laptops that use the same OEM Touchpad from Alps Alpine.

There were some random webpage references to try specific older versions of the touchpad driver. I tried a couple upgrades and downgrades of the driver, but it didn’t seem to work.

So… I came up with a workaround. I created a little command script that kills 5 relevant processes and restarts them. It must be run with administrator privileges. Also… it’s probable that not all 5 are required to be restarted, but I didn’t feel like triaging it any further.

I’m doing this quick post because 1) it took way too long for me to spend fixing this stupid issue, and hopefully it helps someone else, 2) this blog has been silent for too long anyway.

Copy the code block below into a new “.cmd” file. And run it. Or make a shortcut and drag that shortcut into your Start Menu for easier access. Enjoy!

REM MUST RUN AS ADMIN! (In Advanced options of a short cut in Start Menu there is an Administrator permissions checkbox)
REM Workaround to fix TouchPad multi-touch when multiple users log in.
REM By Leonard Chan, Perceptus Solutioins Inc.,

REM 2022-01-04

taskkill /IM Apoint.exe
PING -n 3>nul

taskkill /IM ApntEx.exe
PING -n 3>nul

taskkill /IM ApMsgFwd.exe
PING -n 3>nul

REM This one needs more permissions for some reason.
taskkill /F /IM HidMonitorSvc.exe
PING -n 3>nul

taskkill /IM hidfind.exe
PING -n 3>nul

REM double quotes needed for optional title parameter if second parameter has quotes.
start "" "C:\Program Files\DellTPad\Apoint.exe"
PING -n 3>nul

start "" "C:\Program Files\DellTPad\ApntEx.exe"
PING -n 3>nul

start "" "C:\Program Files\DellTPad\ApMsgFwd.exe"
PING -n 3>nul

start "" "C:\Program Files\DellTPad\HidMonitorSvc.exe"
PING -n 3>nul

start "" "C:\Program Files\DellTPad\hidfind.exe"
PING -n 3>nul

ECHO Auto closing in about 60 seconds...
PING -n 60>nul


Installing Older Versions of Apps (e.g. NPR One) on Older Versions of iOS on a New Apple ID

Monday, December 7th, 2020

Hmm… quite a long gap between blog posts… again. It’s amazing how time flies.

Here is a quick workaround I figured out today on how to get an old version of an app installed on a new-to-you device that is running an older version of iOS than the minimum required by the current version of the app. (Run on sentence much?)

My specific situation: I just got an old iPhone 5S, it’s actually a hand-me-down-and-back. I wanted to run some streaming audio on it in the kitchen. Unfortunately, one app, NPR One, required a minimum iOS version of 13. The last major version of iOS for the iPhone 5S is version 12.

The Apple App Store will prompt you to install the last compatible version of an app (from App Store >> Account >> Purchases), but ONLY if you had installed it previously under your Apple ID.

I didn’t want my real Apple ID sitting around on a device with a “throwaway” PIN, so I had created a new Apple ID with a secondary (actually tertiary) email account I have. This brand new account did NOT have the NPR One “purchased”. So I was stuck. Or was I?

My workaround was to log into my primary Apple ID on the new-old phone, then go to the App Store and install NPR One from “Purchases”. The App Store happily prompted and allowed me to install whatever older version of NPR One is supported by iOS 12. This worked great.

Then I logged out of my primary Apple ID on the old phone, logged back in with the new disposable Apple ID, and I was happy to see that the application was still there!

I am crossing my fingers that this old version of NPR One will continue to stream for 2-3 years until I do another round of waterfalling device upgrades.

P.S. Weirdly, this ended up forking my Wallet. I had my Wallet items on my regular phone under my regular Apple ID, and a copy of Wallet (except credit card, I think), on my 5S phone under it’s new “not secure” Apple ID. I manually removed the Wallet items from the 5S. I guess this is a design feature, except, I didn’t want someone picking up this old phone from my kitchen and going wild spending my collected loyalty points!

Bingo Game for a Dollar?

Saturday, July 16th, 2011

Today, I stumbled upon a Bingo Game for $1 at a dollar store. Wow. You can’t buy much for a dollar… so I bought one, hoping for a few laughs.

And I get some.

Here’s a picture of the front of the box.  This box is packaged with a little ~5 inch tall plastic bingo cage roller under clear plastic packaging.


Here’s a picture of the assembled game. Dear Daniel kitten not included – he is borrowed from my sister!


A few minutes after opening the package I realized that this wasn’t standard American style bingo. Here are a few of the deviations:

  • There are only 72 balls, not the normal 75 –  LOL, the box says there are 62 balls, I had to count to discover that there are 72.
  • The 8 reusable bingo cards with fold down flaps have 24 randomly selected numbers; however, on the card, the numbers are sorted from lowest to highest.
  • Numbers do not have a specified column. On one card, 19 is in the first column, on another card, 19 is in the second column.  In theory, 19 could end up even further down the card, but that would be unlikely.

Since these are non-standard numbers, you won’t be able to use standard bingo cards. So, you’re normally limited to the 8 cards that you’ve been provided.  However, using our custom bingo card generator, I have made a workaround.

Click here for numeric bingo cards that use the numbers 1-72 with 14 numbers in each column – with the exception of “O” which has 14 numbers –

You can print enough for a small party.  Do NOT mix the original cards with cards generated on  The ones from our website generally follow the American format bingo card scheme.  I.e. numbers within a column are randomly sorted and are assigned to a column.

All things considered, it’s a pretty good value for $1, but it’s unfortunate that it’s not quite standard bingo.

PS, the roller doesn’t stay on the mount very well on the arm side. A well placed twist tie holds things together a lot better. Also, a sticker on the back of the  bingo game box says that this game  is either manufactured or  imported by Mountains China Co. Ltd.


Update: I glanced inside the cage after initially publishing this post and I realized that there were numbers past 62 in there! So, I had to count, and the box is wrong. There were 72 balls in my kit. It’s still non-standard! The custom design above has been revised.

Google Chrome Built-in PDF Viewer Incompatibility with IFRAME and a Workaround

Saturday, December 11th, 2010

With the recent automatic upgrade of Google Chrome to version 8, Google made their built in PDF viewer the default viewer *.  I.e. there is now no need to separately download Adobe Reader or Adobe Flash Player to browse the web with Google Chrome.

Generally, I like this addition to Google Chrome; however, it caused some work for us.  Our web based bingo card generator,, is highly dependent on PDF’s.  That’s the sole reason why our bingo cards are dead-easy to print out by the hundreds.  Unfortunately, Chrome’s built-in PDF renderer does not display PDFs that are in an IFRAME tag properly.

For the last few days, this is what users of would see after generating 5 pages of bingo cards on


Broken PDF rendering in an IFRAME in Google Chrome 8 - screenshot from

Broken PDF rendering in an IFRAME in Google Chrome 8 - screenshot from

Chrome tries to scale the parent page to fit everything in… and it fails badly.

We were not able to get things working 100% the way we would like, but we have a workable situation now.

The basic steps that we had to take:

  • Change from IFRAME to OBJECT tag.  For whatever reason, this fixes the zooming issue.  And it was quite simple.  In our case, there wasn’t much difference between the two HTML tags.
  • Unfortunately, we can’t find a way to get Chrome to print the contents of the object tag without printing the rest of the page (though, perhaps using CSS  might work).
  • Instead, we added some bold warning text that gives Chrome users instructions to use the manual download links. We use a little function to identify Chrome users – the two key lines of code are: 
    $u_agent = $_SERVER[‘HTTP_USER_AGENT’]; 
    if(preg_match(‘/Chrome/i’,$u_agent)) { $ub = “Chrome”; }

So, we ended up with a workaround.  We sincerely hope that Google will add the missing interface elements that will make things just work, but until then, we are doing some other site improvements as we prepare to bump up the price of Premium Access to $12 in 2011.

* If you want to go back to using Adobe Reader in Google Chrome, you can turn off the  built-in viewer by going to the special address about:plugins and change Chrome PDF Viewer to Disable.  Of course, website owners should not depend on end-users to do this just to visit your site!



Fixing the Time in Windows

Thursday, February 14th, 2008

In theory, Windows XP in a home (i.e. non-domain) setting should have no troubles keeping its time accurate. All you need to do is enable the “Internet Time” option so that it synchronizes with a network time protocol (NTP) server. It looks so easy, but it turns out that it’s really not bullet proof.

Most users should try a different NTP server first. The default server is heavily overloaded, and it’s hard to consistently get a sync. Try – that’s actually a network of machines that share the load.

But that’s not the solution in this blog post. IMHO, NTP is unusable in many small network environments because of firewalls and network address translation (NAT). Even the built-in Windows firewall can block NTP traffic which operates on UDP port 123.

Most home PCs connect to the Internet through a small, inexpensive router from the likes of D-Link, NetGear, Linksys, etc. Many of these block NTP or don’t work with it properly. This used to be a common problem with NATs. Port forwarding UDP port 123 to a computer works for some people, but that only works for one computer. And it didn’t work on the two routers I tested with today.

My solution that is generally bullet proof? Use a protocol that is TCP based. I don’t want to get too technical, suffice it to say that the chances of a TCP protocol working with all NATs is higher than that of UDP. Luckily, I found a perfectly good protocol and client (my backup plan was to write a crazy script to screenscrape a web page). It’s called DAYTIME it’s actually older and technically inferior than NTP, but what’s a second or two of accuracy if it works?

Now for a basic client, one might as well go to the source: It’s free, as functional as it needs to be, open source, and provided courtesy of a US government agency.

I setup a this as a weekly time update job on 10 small retail store POS networks through a generic maintence scripting system that is already in place: “nistime-32bit.exe Once -s5”. That’s it. It runs the time client, fixes the time, then exits. There are other options, but for this client, one time synchronizaton per week should be more than enough.

The moral of the story? UDP is over-rated in an Internet that is flooded by little home routers.