Guilty until proven innocent

Well, today I found why downloads of Overseer have significantly dropped off lately. The problem, is IE and Google Chrome have been giving nasty ‘warnings’ about the clean Overseer setup exe, like these:



Wow– that sure discourages a person from downloading! No wonder my #’s have dropped… What did I do to deserve such slanderous ‘warning’ messages?  I’m not popular. I’m not iTunes. Overseer hasn’t been downloaded enough. That’s it. This is a “not popular” warning. Only those that are popular get this removed, and only those that get enough downloads get popular…How is someone supposed to get enough ‘reputation’ with IE ‘SmartScreen’ or whatever Google is using to actually remove this slanderous business-killing warning message?!?  The internet is supposed to be the great equalizer– hence net neutrality and all that, but this ‘technology’ clearly favors big business over the little guy.

My only solution for now was to provide some verbiage in big green text on the download page trying to calm the fears of my potential customers– hopefully that helps. I’m also getting a code signing certificate which might help– but people are saying the red warning dialog simply changes to a yellow warning dialog with a signed executable…

Even internal projects at Microsoft have been bitten by this ill-conceived technology.

It sure seems to be a bad time to be a small independent software vendor(ISV)…


UPDATE: I received my code signing certificate($365 for 5 years) and changed my build process to sign the installer exe and the exe’s inside. I just tested, and Chrome appears to have removed their warning when downloading Overseer. Unfortunately, IE still warns people when downloading or trying to run the installer– even though it’s clearly properly signed. Maybe MS will eventually change their mind, and realize I’m not such a bad guy after all…


Managing multiple remote desktop connections

In my day-to-day work, I typically connect to over a dozen servers via Remote Desktop Protocol(RDP). While I don’t connect to every one on a daily basis, there are days that I connect to nearly a dozen, and there isn’t a day that goes by that I don’t connect to at least 2-3. Up until now, I’ve been using Windows 7 jump lists. This is OK, but I ran into a limitation, in that Win7 limits the ‘most recently used’ items– so all my servers don’t always show up.

Well, I recently found a solution. The “RDCMan”, or “Remote Desktop Connection Manager” tool, directly from Microsoft. This is a free tool that lets you manage multiple connections, configure groups, sub groups, etc. You can also define settings at the group or server level, which makes things very quick to setup(i.e. many of my servers use the same credentials, so I can set the credentials at the group level, instead of the server level).

The GUI is a little dated, but still fully functional. I can connect to the desktops within the RDCMan frame, or I can ‘undock’, and have the RDP connection free-floating– this is particularly good for a specific RDP connection that I leave open all day, and need quick and easy access to.

Here’s a screenshot, and an associated link to more information:

Download link:


How to always run applications as administrator in Windows 8

I recently got a new laptop with Windows 8. I’ve been trying to not hate the removal of my start menu too much. One of the changes they also made, is that User-Account-Control can’t really be disabled without a registry change– and if you make that registry change, most of the Metro/Modern UI apps will no longer work! Having certain applications not run as administrator can really be a problem, however… Visual Studio needs admin access to create IIS web applications, for instance. Additionally, shelling out to cmd.exe for doing a multitude of different things will be very frustrating when you don’t have those admin privileges that are rightfully required to do administrative things…

Unfortunately, there’s no easy GUI way to tell Windows 8 to always launch applications as an administrator. You can right click on a shortcut and select ‘run as admin’ each time– or even define a shortcut and set ‘run as administrator’ on the compatibility tab– but this doesn’t work if you use start->run->’cmd.exe’, such as I do… It also doesn’t work if you’ve pinned solutions to your task bar, such as I do for Visual Studio.

Thankfully, after some searching, I found a solution. You can have any executable on your computer run as admin(assuming you have permission to do so), by adding entries to this registry key:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\

Simply add a new string value, paste the full path to the executable(such as c:\windows\system32\cmd.exe), and then edit the value to say ‘RUNASADMIN’. Next time you start that executable– through a shortcut, by going to start->run, through entries pinned to your taskbar, or double-clicking on an associated file in explorer, Windows 8 will actually run it as an admin, as you require.

Authoritive domain root list

I recently wanted to write some code that analyzed URLs to determine if the source was the same– eliminating sub-domains. For something simple like “” or “”, this is easy. However, what about othes countries? Something like “” or “”? It was clear I needed a list. Initially, I went and found the TLD/Top Level Domain list at the ICANN. It was clear by just looking at this, however, that it didn’t include individual country’s second level domains, such as “”. This makes it difficult to use for getting the effective organization domain(which would be the ‘company’ in or

After looking, I eventually found a list of these, but it wasn’t formatted very nicely for use in programming, so I formatted it and I’m providing the list here– you can easily copy/paste this list into a text file for programmatic use.


If this list is out of date in any way, please let me know and I’ll udpate it. Thanks.

How to get word-of-mouth advertising

Not too long ago, I read an article discussing word-of-mouth advertising. I can’t remember where I read this article, but the basic idea, was that there is only one way to truly drive word-of-mouth advertising. Since then, I’ve been paying attention to myself– when do **I** spread the word about other people’s products and services? In that time, I’ve determined there’s not one, but two primary ways to drive word-of-mouth advertising.


In the article I read, the author asserted that the only way to drive word-of-mouth advertising for your product or service, was to provide exceptional value– more value than what a consumer would typically expect in such a product or service. This absolutely is true– I find myself spreading the word about products or services that I’m incredibly impressed by. I feel that if I don’t tell my friends and colleagues about what I’ve found, I’m actually doing them a disservice… This is definitely the best way to drive word-of-mouth, and overall is the best way for anyone run a business, period– providing the best value possible to your customers needs to be the primary focus of all actions and decisions at your company.


Cheating Motivation

While people will naturally only tell their friends and colleagues about products that they truly believe provide exceptional value, there is a way to ‘cheat’. And that way, is to motivate. You can motivate your customers to tell their friends and colleagues about your service/product– even if it’s mediocre… You can provide your customers with direct monetary commission, guaranteed rewards, a chance to win something big(such as a drawing for a large reward), or even higher levels of your own service(such as Dropbox offering extra space for each referral). When you have little or no control over the value of the product or service you sell, this is often your only option– beyond the obvious benefits of ‘value add’ services, such as great customer support…  The key thing to remember with motivating customers to tell others about your product/service, is that their relationship with their friends/colleagues is probably more important to them than their relationship with you– so if you disappoint them in any way(bad customer service, bad product, etc.), they won’t tell others about you, regardless of what motivation you give them… Likewise, if you don’t treat your customer’s referrals with great care, your customer will hear about it– and be less likely to refer you in the future.



Windows 7 not saving RDP credentials when connecting to servers

In my line of work, I connect to many servers daily. I have these pinned to the Windows 7 taskbar, enabling me to easily connect to a server by simply right clicking on the taskbar icon and selecting the server. One thing that has annoyed me with Windows 7, is that when connecting to a server, I am always prompted for credentials– even if I’ve selected the option to save the credentials.

Well, I finally looked into it, and found a way to fix this. I’m sure Microsoft would claim there’s a “security” reason that it’s not enabled by default– but IMO, the checkbox to save credentials shouldn’t be there if it’s not configured to work…

To enable Windows 7 to save RDP credentials when connecting to Windows 2008 R2 servers, you must complete these steps on your client computer:

  1. Start->Run->gpedit.msc
  2. Navigate to Local Computer Policy -> Computer Configuration -> Administrative Templates -> System -> Credentials Delegation
  3. On the right, double click ‘Allow Delegating Default Credentials with NTLM-only Server Authentication’. Set the setting to ‘ Enabled’, click ‘Show’, and enter ‘*’ for the Value. Click ‘OK’ when done.
  4. Do the same with ‘Allow Delegating saved Credential with NTLM-only Server Authentication’

Now, the Remote Desktop client will remember your credentials– including ones you’ve previously saved. This may seem like a minor thing, but shaving seconds here and there will turn into hours saved later– plus any frustration/annoyance/distraction from fat-fingering passwords when connecting.

Resolving “Network path is not found” errors

Multiple customers of mine have had issues with the error message “Network path is not found”. Windows can throw this error message for a number of reasons.  This often becomes a problem when you’re trying to remotely monitor event logs, services, disk space, etc. using network monitoring software such as Overseer Network Monitor.

If you’re having this issue, try these things:

  • Make sure both Windows PCs(your computer and the remote computer) are running on the same network/LAN.
  • Disable the Windows firewall. If this works, you know it’s the firewall blocking traffic, and you can find what rule to add to the firewall to make things work.
  • Disable UAC!. Note that you may have to disable remote UAC in addition to the GUI disabling of user account control
  • Check the clocks on both computers. If the times are not within 15 minutes of each other, this problem may occur. Be sure to check the date and the time, as it’s easy to miss a different year when looking at just the time or day.
  • Check the status of these services and make sure they’re running on both ends:
    • Remote Registry Service
    • Server
    • Workstation
    • Computer Browser
    • Remote Procedure Call
    • TCP/IP NetBIOS Helper Service
  • Check your network card(s) properties, and check these options:
    • Client for Microsoft Networks
    • File and Printer Sharing for Microsoft Networks
    • Also make sure “Enable NetBIOS over TCP/IP” is enabled
    • Make sure “802.1x” authentication is disabled(potentially buried under ‘configure’ tab for network adapter
  • If using local accounts, be sure you’re referring to them as MACHINE\username, and **not** .\username. If you use .\username, you will get “network path was not found”, which is a very unhelpful in resolving this problem.


EventLogSession/EventLogReader error remotely accessing Windows XP/W2K3 machines

Sometimes, when searching Google it takes all of 30 seconds to find an answer to a question. Other times, it can take minutes, or even hours. I’m writing this blog post, because I was just researching an issue that took me hours to figure out– and in the end, it was so simple, yet disappointing at the same time…

For the new version of Overseer, the network monitoring software I write, I was adding support for extended event logs– these are the “Applications and Services Logs” event logs below the regular ones in W2K8’s event viewer. I found I had to use the new EventLogSession/EventLogReader API. I found it required .NET 3.5, so I upgraded my software to require .NET 3.5(it was v2 compatible up to this point).

I got things working, and I was able to monitor event logs(new and old style) using the code remotely accessing Windows 2008 and Windows 7 computers. I got an error when accessing Windows XP machines(and I’m sure W2K3 machines, but I didn’t have any to test with at the time). The error was “UnauthorizedAccessException – Attempted to perform an unauthorized operation.”  To most, including myself, this seems like a permissions issue– so I looked into all sorts of potential impersonation problems, etc. I scoured the web looking for anyone even having the same problem, but didn’t find it.

Eventually, I found a reference buried in some forum reply, that one of the API calls that the new EventLogSession/EventLogReader calls is Vista/W2K8+ only. That’s just great– the whole API is now Vista/W2K8+ only… Why Microsoft wouldn’t add a compatibility layer for Windows XP and Windows 2003 is beyond me… But once I found this, I at least was able to move on, realizing that I had to detect the version of Windows running on the remote machine and use the different API’s accordingly… If only Microsoft had included proper documentation clearly specifying this new API was Vista/W2K8+ only, had an error message indicating something of that sorts, or actually did the right thing and wrote a compatibility layer into it, I wouldn’t have wasted so much time on such an unproductive search.



How to find icons for a software application

Finding icons for your software application can be tough. There are many sources of free icons that you can easily find online with a Google search. If you’re on an incredibly tight budget, but have lots of time, this can make lots of sense. The problems with this, is the amount of time it takes to find the icons you need and often times you end up with an inconsistent look and feel in your application– your icons are often pulled from many different places, and your application looks that way.

I personally prefer to buy big sets of icons. IconShock has been selling icon sets for years, and I can highly recommend their entire icon collection which is only $299 right now– that’s over 600k icons, for only $300. That’s less than $0.0005 per icon… Or roughly 20 icons per penny. Buying icons in a set like this, it’s fairly easy to find just the right icon for every part of your application, and best of all they have the same look and feel(provided you pull from the same or a similar set).

I’ve also started to make my icons larger in my applications. Traditionally, icons are only 16×16 in menus, toolbars, etc… With higher resolutions on screens, I find it’s far best to use 24×24 icons in menus and either 24×24 or 32×3 icons in toolbars. This provides a larger area for the user to see what the icon is(showing off your snazzy new icons!), identify it with the function in your software, and click.

Perfectionism can be a major roadblock to productivity

I often look back at my younger years, and see all that I was able to accomplish in a small amount of time. Applications or websites I was able to create, etc. Everything seemed so easy, and I was able to just get things done. I wonder why that isn’t the case today. I tell myself it’s because I’m seasoned and what I write is simply better today– fewer bugs, fewer problems, better design, etc… And that may be true, but how much of that is holding me back from really being productive? Is it better to create it and then perfect it, or create it perfectly the first time?  There’s a balance to be found, but I think I’ve been leaning far too much towards ‘perfection the first time’…

I just read this article about Perfectionism vs. Success, and it strongly resonated with me. I often try to make things perfect the first time. Often times, I get so obsessed with doing something the ‘right way’, that it keeps me from doing it at all! This is particularly difficult when I don’t have an external force driving me to get something done– such as a client or customer request with a deadline(implicit or not). Recently, I’ve been acknowledging to myself that I have a problem, but I’ve incorrectly identified it as a lack of organization– which has led me to creating organizational tools and processes to “get organized”. While helpful, it doesn’t address my core problem of trying to be perfect.  Interestingly enough, creating my organizational tools went far quicker than expected, as I went into it with a “good is good-enough” attitude– as I know the tools won’t be customer-facing.

So, from here on out, I’m going to try to make a conscious effort to “just do it”, remembering “it doesn’t have to be perfect”– the first time, or potentially ever.