Category Archives: Uncategorized

The Disambiguator (A KeePass Plugin)

0
Filed under Uncategorized

The TLDR;

For the impatient crowd ūüôā

  • Download The Disambiguator KeePass plugin here.
  • Unzip it and place the PLGX file in the KeePass “Plugins” folder, just like any other plugin.
  • Restart KeePass. You should see a “Compiling Plugins” notice and then KeePass should start normally.
  • In KeePass, click “Tools”, “Plugins” and verify that The Disambiguator is now in the list of loaded plugins.
  • Edit the AutoType entry for a credential set that has an ambiguous Window Title.
  • add “{exe:nameOfExecutable}” (without doublequotes) at the end of the WindowTitle. Replace nameOfExecutable with the filename of the Executable program file that the Target Window belongs to. In the case of Quicken, for instance, that would look like {exe:qw.exe}

Now open your target application and use AutoType as you normally would. If everything is set right, KeePass will now automatically select the appropriate credentials for the target window using both the Window Title and the application executable.

Introduction

I’ve used the password manager KeePass for a very long time. Excellent, simple, clean install, low resource usage and fast.

Editing a Credential Set in KeePass

The AutoType support, while possibly not quite as simple as some full commercial packages, is quite flexible and has never let me down.

Well, almost never.

KeePass’s AutoType feature works by allowing the user to enter one or more “Window Titles”, which it then compares against the target window when you user presses the AutoType hotkey.

When only one configured Window Title matches the Window Title of the target window, KeePass automatically can choose that single set of credentials, and perform the autotype. It’s almost like magic!

Trouble Ahead

But, what happens when there are 2 or more credential sets that have the same Window Title?

For instance, both Quicken and Exodus request the user to login via a login screen with the Window Title “Enter Password”.

If you’re “responsible” with you passwords, and we all are as KeePass users (right?!), then you’re not using the same credentials (username and password) for two different applications. This means you likely have two different sets of credentials stored in KeePass: one for Quicken and one for Exodus. And you’ve setup AutoType for both.

But there’s the rub. Both sets of credentials have AutoType setup to key on the Window Title of “Enter Password”, as they must.

The KeePass Credential Chooser

Unfortunately, when you have, say, the Quicken Login window displayed and press the KeePass AutoType hotkey (normally Ctr-Alt-A), KeePass discovers 2 sets of credentials (and possibly more) that match. Because it can’t magically decide which to use, it pops up the Credential Chooser dialog so that you, the user, can make the choice.

This is all fine and good, but it can be a bit of a pain, and it forces the user to make a choice when the choice should be automatic.

Enter The Disambiguator

The problem here, of course, is disambiguation. Using the Window Title as the only “disambiguating” factor is ok most of the time, but, as the above example shows, it’s not always quite enough to completely identify a single specific credential set to use for autotype.

Alex Vallat has a very nice plugin for KeePass called WebAutoType which specifically allows users to configure matching URLs for autotype entries. This will almost always provide enough uniqueness to properly match a single credential set for Web Pages. But unfortunately, it does nothing for normal desktop apps like Quicken or Exodus.

That’s where The Disambiguator comes in.

to be continued

Automation Virtual Conference

0
Filed under Uncategorized

Ok. I’m not one to typically post notices Re: my employers, but I thought I might make the few readers I have, aware of an upcoming virtual conference that Worksoft is having on testing and robotic process automation on Oct 28.

Click here to learn more.

Tools, Tools, Tools!

0
Filed under Uncategorized

As a software developer, I spend quite a lot of time using tools of the trade. IDE’s, text editors, command line utilities like GIT, quick and dirty BAT files, file searchers, file comparers, you name it. There is a virtually limitless supply of tooling out there for software devs to (hopefully) make our lives easier.

And things like desktop icons, the TaskBar (in Windows anyway), hotkeys, macros, right click context menus, etc, make it so that the right tool is never more than a click or keypress away.

I’ve always been a bit of a “maker” and I’ve collected a pretty sizeable arsenal of actual, physical, tools¬† over the years. However, as that collection as grown, I’ve found myself more and more frustrated at the prospect of actually building anything because it can be so time consuming to simply¬†find the tools I need for the job.

When I first moved into my current house, I spent a good bit of time building up some pegboard cabinets for storing tools and other bits.

They’ve worked fine for what they are, but I’ve often found that where I need whatever tools is not where they are. So I end up walking back and forth to the garage, picking up the tool I need at the moment and returning 5 minutes later for whatever else I need, repeat continuously….

So I found a toolbox and loaded it up. It’s nice and portable, but I often spend more time finding the tool I need in it, than I do making whatever it is I’m making. Decidedly, as a colleague used to say, “sub-optimal”.

And then, about a month ago, I stumbled across Adam Savage’s (yes, the “MythBusters” guy) new endeavor,¬†Tested,¬† and this video he did back in 2015.

Basically, he describes several concepts, including:

  • his Theory of First Order Retrievability, meaning you should never have to move any tool to get to any other tool.
  • The F*** Drawers Axiom, basically that drawers are where good tools go to die.
  • and then general idea of “tools should easily end up where you need them”. Ok, this one is my summarization of a good bit of the discuss he has during the video…

Watching that video was an almost transcendental, profoundly eye-opening moment. And it turns out, a lot of other people thought so too. Just google “Adam Savage inspired tool cart” to see what I mean.

And so, a few weekends, and a bunch of scrap I had lying around later, I now have my very own version of Mr. Savage’s tool cart concept.

Every cart I’ve come across while researching the idea is similar but different, depending, of course, on each individuals needs and their own collection of tools.

In my case, lots of pliers, knives, screwdrivers, levels, straightedges, etc.

Starting at the bottom is a simple rack for my lesser used tools, pliers, crowbars, nippers, scissors, etc.

Next, is a hammer rack. I got the inspiration from one of the many tool carts you can find via Google. Mine added small holes for brass hammers, mallets and others.

 

 

 

 

 

 

 

 

Moving up from there is a pliers rack, plus a panel for sockets. The socket holders are Olsa Tools brand I picked up on Amazon. They’re one of the few pieces I purchased because I didn’t have anything already, and scratch building something for that just seemed like too much work.

Next up, I used a red pegboard toolrack I’d had for¬†ages. Just made a panel to screw it to and mounted that. It’s great for screwdrivers, chisels, knives, pencils, etc.

Behind that is a row of removeable (yellow-blue) parts trays that came off my old pegboard cabinets. The fact that they fit there perfectly was a nice bit of serendipity in this build!

 

 

 

 

Up top, I built a small items sorter out of scrap pegboard. I left a small ledge toward the front that I drilled holes in to wrangle all my smaller pliers, wirecutters, calipers, etc.

Over to the side, I made a slide-in rack for my vise-grips, and on top of that, a small rack for a set of adjustable wrenches. You can’t see the embedded magnets in the rack that keep the wrenches from swinging when I move it.

 

 

 

 

 

And finally, there’s space around back for a reasonably sized clamp rack. I also put two steel rods through the inside and hang all my spring clamps off them. They’re easily accessible from the sides or the back, so no violation of the First Order Retrievability theory here!

 

 

 

 

 

 

 

 

It’s very close to “done”, at least for the moment, though there’s still a number of bit to finish out.

  • I’m building holsters for my power drill and hammer drill.
  • Magnetic catches for my various saws, hacksaws, coping saws etc.
  • A tray and magnetic catch for levels, squares, T squares, and rulers.
  • A slide out rack for hex keys, and xacto knives.
  • Magnetic tool bars for sticking smaller items like micro screwdriver bits to.
  • Anything else I can dream up!

And finally, the whole thing is on nice large locking casters I picked up from a garage sale. Makes moving it around the garage and even into the house trivially easy. And since it’s only about 18 inches deep at the base, it’ll go through even the smaller 24″ doors in the house if necessary.

All in all, a fun and easy build that has already saved me a ton of time with getting to the¬†right tool easily and quickly. And a nice side effect from putting it together is that I’ve unearthed tools that were so buried in my toolbox, I’d forgotten I had them. Having everything “out in the open” so to speak, really serves as an inspiration when looking for that “right tool”.

Highly recommended! And my hat’s off to Mr. Savage, for reminding me that many of those things I do in the ethereal world of bits and bandwidth, can actually be applied to the physical world just as effectively.

Using only Specific Monitors with RDP Connections

0
Filed under Uncategorized

I’ve used RDP (Remote Desktop Protocol) for years to work on multiple systems simultaneously.

But one thing that’s bugged me for a while is that, with multiple monitors, you have basically an “All or One” situation.

There’s a nice checkbox on the RDP configuration form that allows you to “Use all monitors”.

 

But that’s all you get. If you have 3 or more monitors, there’s no way to specify only 2 of them to use for the RDP connection.

Or is there?

Turns out, Scott Hanselman turned up an hidden configuration element for RDP connections that does exactly this. Read up about it here.

The gist is to setup an RDP connection as normal, turn on the “Use All Monitors” option you see above, and save the connection.

Then, use a editor (Notepad will do just fine), and edit the *.RDP file you just created.

It’s a plain text file with a pretty straightforward format.

Somewhere in it, you should see:

use multimon:i:1

Just add another line like below:

selectedmonitors:s:0,2

where the 0(zero) and the 2 are the monitors that you want to use.

In my case, 0 is my primary and 2 is my leftmost monitor. You can find the monitors numbers by checking your display properties.

I’ve tried a few terminal apps out there (like Terminals), but, unfortunately, none of them seem aware of this either.

Launching into a Zoom Meeting directly from a Windows Shortcut

3
Filed under Uncategorized

Zoom has rocketed to prominence lately as just about the choice when it comes to online meetings.

I’m not yet convinced its the best, but it¬†is pretty good, easy to use (my 16yo uses it for school during this wonderful quarantining time!), fast (worked perfectly well at my mom’s lake house with absolutely¬†terrible internet), and doesn’t really pull any surprises, other than the myriad security issues that have turned up over the past few months.

Still, it does work well, but there’s one thing that was annoying me.

I have several meetings that I jump onto regularly, and when I do from a browser, or an Outlook link, etc, I get this annoying window from Edge Chromium:

Now, true, it’s not¬†that big a deal, but it is annoying, so I set out to figure out a way to launch a meeting from a regular ol’ Windows shortcut with no annoying prompt.

I had a number of false starts, but eventually discovered a blindingly simple command line that works perfectly, as long as you follow a simple rule.

The command line?

            %appdata%\Zoom\bin\Zoom.exe --url=zoommtg://zoom.us/join?confno={your meeting number}

And the Rule?

Don’t put any dashes in your meeting number.

That’s it.

Now, you can put that in a good ol’ BAT file easily enough, or, just open Explorer, enter %appdata%\Zoom\Bin in the address bar and press enter.

Then scroll down to find the Zoom.exe application.

Right click on that and drag it to your desktop to create a Shortcut to the Zoom.Exe app.

Now right click on the shortcut and choose Properties:

You’ll get the standard Shortcut properties dialog.

Scroll to the end of the “Target” value, and paste in part after Zoom.exe from above, so, this:

                           --url=zoommtg://zoom.us/join?confno={your meeting number}

If you’ve done it right, the value in the Target field should be just like the command line at the top of this article.

Click Ok, and you’re done.

No more annoying “The Site is trying to open Zoom” messages.

And you can create as many shortcuts to as many meetings as you need!

Shout out to NameCheap.com

0
Filed under Uncategorized

Just wanted to make a quick shout out for Namecheap.com. I’ve used ServerGrid.com for many years as my web hosting provider and they’ve been really great. But some recent problems (and a price hike) made me start looking elsewhere.

NameCheap turned up in some googling I did and after a month or so now, I have to say I’m very pleased.

I don’t get anything for this. Just wanted to post about my experiences. Their support has been very fast, knowledgeable and spot on when I’ve needed them. They use the latest CPanel, which is quite nice.

Email support, domain forwarding etc all work just like you think they would. WordPress was very easy to set up, even without going the “Managed WordPress” route, which they also have.

They may have “cheap” in the name, and their pricing is definitely competitive, but so far, they’re anything but low rent!

Unable to PING under Windows 10 anymore

0
Filed under Uncategorized

About a month back, my main workstation updated itself to Windows 10 Creators Edition overnight.

I really didn’t even notice it at the time.

However, over the last month, I’ve had several bits that had been working stop for unexplained reasons.

The most recent that I could no longer PING other machines (specifically a RaspberryPiZero W) on my network. Worse, at least in this particular case, was that I couldn’t PUTTY into it iether.

However, I could browse to a Samba share I’d set up on the Pi and view it just fine.

After a LOT of gnashing of teeth, I discovered that for some reason, the PING hostname lookup had become CASE SENSITIVE!? What? DNS lookups should never be case sensitive.

Sure enough, though,

ping pictureframe

failed but

ping PICTUREFRAME

worked just fine.

Further, using the UPPERCASE version in Putty worked, but using the lowercase version failed.

There’s a ton of posts about this very thing, with equally as many ideas on how to fix it.

I really did not want to write up yet another BAT file and add it to my startup process, so I kept digging.

The Simple Solution

Turns out, I had IPV6 disabled in Network Properties. Turning it on fixed the lookup, even in IPV4 mode.

To do this:

  1. Got to Settings/Network/Change Adapter Options/
  2. Right Click on the network adapter in use and Click Properties.
  3. Scroll down till you find Internet Protocol Version 6
  4. Click the checkbox to enable it and close all the Setting windows.

In my case, it didn’t even take a reboot.

Granted, now, when I do a ping, I usually get a very unfriendly IPV6 address, but that’s easily remedied by using

ping computername -4

On to the next problem!

Another Contract Down…

0
Filed under Uncategorized

I’ve read that one of the marks of a good programmer is that they’re able to code themselves out of a job.¬†I’m not sure about that, but, I did finish up this contract earlier than expected, so once again, it’s time to get out there and find a new gig.

If you or your company has any needs for an experienced VB guy (VB.net, VB6, or even farther back, but seriously, anyone still use VB3?), .net guy (I can do C#, despite the blog title<g>), SQL guy (I’m particularly proficient in MS-SQL, stored procs, DB design, normalization, index tuning, etc), or even Javascript/jQuery/Knockout/jQueryMobile, etc, give me shout.

Reply here or use the Contact Link at the top to send me a private message.

Coding in College vs a real job

0
Filed under Uncategorized

Just came across this at http://i.imgur.com/Lus4Y.png

image

Ring any bells for you? <g>

Back In Business!

0
Filed under Uncategorized

Looks like I’ve finally gotten things sorted with WordPress and permalinks, the 404-handler.php and URLRewriting. Ugh. Many thanks to the guys at servergrid for being patient while I worked through all this to get things back online!

The Email Me Contact form even works again (finally!).