jlopez's blog

Async and top level UI

More and more libraries are using async calls where you are expected to in turn use await to allow the maximum code concurrency. However, there are some contexts where the costs of making an asynchronous call is high enough that you may want to insulate your code from the asynchronous nature while using it in other contexts where it makes sense.

Unable to collect NUMA physical memory utilization data and other performance counter issues.

On a development box I started getting the message "Unable to collect NUMA physical memory utilization data. The first four bytes (DWORD) of the Data section contains the status code." This message is sourced from PerfOS, which makes me think the performance counters have been damaged. Running

lodctr /R

twice at an admin prompt removed the error messages. This command attempts to rebuild the performance counters, which often become out of sync with installed and removed software packages.

Uploading a file to blob storage in Azure

Powershell is a powerful interface to Azure, but the steps to do any given task are not obvious even from the documentation. Here is, for example, getting started with Azure to upload a file as a blob.

Powershell Azure Upload: (<something> is a slug to be replaced with real data)

//One time steps required to add Azure commandlets to Powershell
* Install-Module AzureRM //Note, must be done as Administrator prompt.
* Install-Module Azure //Note, must be done as Administrator prompt.

Removing active directory credentials using klist purge

While installing a backup solution, there was an issue where the permissions to the target share seemed to be failing. We discovered that we had connected to the share using the administrative credentials while setting things up and the software was using application specific credentials that were failing to due to the existing credentials.

Virtual Box Guest Additions with APT requirements.

When using Debian or other APT based systems, the guess additions can improve the experience by providing graphical drivers and adjustments to X that allow changing resolutions. (All commands require elevation of privilege). First we must insure the header files are available

apt-get install -y linux-headers-$(uname -r)

and then we go to the Devices menu of VirtualBox and select Insert Guess Additions CD. Finally

cd /media/cdrom/

and in that folder

sh VBoxLinuxAdditions.run

Custom Validation Attribute in MVC

Creating a custom validation attribute for that you can use as a Data Annotation on your models is not hard, but does require a bit of care to make it work on both the server and client side. The first step is to create a class that inherits from ValidationAttribute and implements IClientValidatable. In one project, we need to validate against US and UK phone numbers.

Lodctr - Performance counters

A frequent event log error is regarding broken performance counters. Generally the "solution" to these messages is to put one's head in the sand and ignore them, but if you prefer not seeing event log entries for things you can fix it might be possible to repair the counters using the lodctr command to reset the offending counter. [1]

Remote registry control

The fix to many active directory issues involves the registry. RegEdit has built in support to connect to remote machines, but we normally leave the remote registry service turned off. Ironically, the recommended method usually given to turn on remote registry edits involves... editing the registry. Now this can be done via group policy, but for a one off fix, it is far easier to just start the service, make the change and turn it back off.

Performance counter management.

Performance counters are a frequent recurring error message in Windows systems. They can indicate issues that need to be addressed, but it is very common to get errors from performance counters that are irrelevant (such as Readyboost on machines that don't use the feature). Fortunately, there is a way to manage which counters are enabled.

First, download Exctlst.exe from the Windows 2000 Resource Kit[1]. Once installed (default location is C:\Program Files(x86)\Resource Kit) run the executable as administrator and find the counters to enable or disable.

Unable to access the IIS Metabase

Ran into a situation after updating to Windows 10 from Windows 7 where Visual Studio could not debug under the full IIS stack. Turns out it is a simple fix[1]. Simply go to %systemroot%\system32\inetsrv\config and when prompted that you don't have access, click the button that grants access. (This avoids needing to run Visual Studio as the administrator).

[1] http://stackoverflow.com/questions/12859891/error-unable-to-access-the-iis-metabase


Subscribe to RSS - jlopez's blog