Pandora Streaming Windows Application

I don’t stream Pandora on my PC very often, but when I do, it eventually eats up my resources and/or kills my browser. I stumbled across Pianobar in my readings today which gave me hope. After being lazy to not want to compile the application for Windows, I sought out a Windows alternative and found Elpis!

Welcome to being able to stream Pandora on your computer without using your browser and consuming all your system resources!

Lehigh County Pennsylvania – Licence To Cary Concealed Permit

Having moved from Northampton County to Lehigh County within Pennsylvania, when it came time for my license to carry permit to be renewed I needed to go through Lehigh County. When figuring out how to go about doing so, I quickly realized that Lehigh County’s Sheriff’f Office website did not have the form available as Northampton County does.

That said, I drove to the Lehigh County Courthouse and picked up a form from the Sheriff’s Office in person. In posting it on here I am hoping the likes of Googlebot and all web crawlers pick it up and make it available to others searching for it. The document was scanned today (20-November-2013) so I make no guarantees that it will indefinitely be valid so please comment if that becomes the case.

PDF Download: Lehigh_County_PA_CarryPermitApplication

Groupwise 7 Upgrade – Netware to Windows

My wife recently started with a new company and, believe it or not, they still use GroupWise. After living her entire career in the Outlook/Exchange world, she was completely lost within the world of GroupWise. I quickly cleaned out my cobwebs and it all came back to me…

Realizing that GroupWise 7 is still in use today, I figured I would re-post some information I contributed to the community years ago. The situation I faced years ago was migrating an aging GW 5.5 running on Novel to GW 7 on Windows 2003. All said, it was a very un-charted path… I then proceeded to come up with the attached guide to help tread those unwavering waters. Perhaps by the powers of Google bots this will get picked up and perhaps useful to someone somewhere.

PDF Download: GW7_Upgrade

Hyper-V + NUMA Nodes

While I had come across the information before, until recently I did not find the time to put the necessary research in to what’s involved in properly configuring Hyper-V with NUMA nodes to take advantage of today’s multi-processor multi-core servers.

In simple terms, disabling NUMA node spanning in the Hyper-V hypervisor will prevent the system from “reaching” for RAM that is, by circuitry, further away and thus slower. If more detail is what you want, please check out the links below that I found very informative.

In my opinion a large part of NUMA node optimization is derived from manually assigning NUMA nodes based on memory need. This manual assignment can be done by creating a PowerShell script. Copy/paste the below text in to Notepad and save it as numa.ps1 (or whatever you would like with .ps1 extension.)

################################################
# Developer: Anthony F. Voellm
#          : Taylor Brown
# Copyright (c) 2008 by Microsoft Corporation
# All rights reserved
#
# This is "demonstration" code and there are no
# warrantees expressed or implied
################################################

# This script will set the Virtual Machine to run
# on a specific NUMA node

# Check command line arguments

if (($args.length -lt 1) -or
    (($args[0] -ne "/list") -and
     ($args[0] -ne "/set") -and
     ($args[0] -ne "/clear")) -or
     (($args[0] -eq "/set") -and ($args.length -lt 3)) -or
     (($args[0] -eq "/clear") -and ($args.length -lt 2))) {
     Write-Host "numa.ps1 /list [<Hyper-V host>]"
     Write-Host "numa.ps1 /set <vm machine name> <required node> [<Hyper-V host>]"
     Write-Host "numa.ps1 /clear <vm machine name> [<Hyper-V host>]`n"
     Write-Host "Options:"
     Write-Host "`t/list - show configured VM's"
     Write-Host "`t/set <vm machine name> <required node> - set the NUMA node for the VM"
     Write-Host "`t/clear <vm machine name> - clear NUMA node seting for the VM"
     exit;
  }

# just display VM's
if ($args[0] -eq "/list") {
  if ($args.length -gt 1) {
    $HyperVHost = $args[1];
  }
  Get-WmiObject -Namespace 'root\virtualization' -Query "Select * From Msvm_ComputerSystem" | select ElementName
  exit;
}

# Set or clear

$HyperVHost = '.';
if ($args[0] -eq "/set") {
  if ($args.length -gt 3) {
    $HyperVHost = $args[3];
  }
  $VMName = $args[1];
  $RequiredNode = $args[2];
} elseif ($args[0] -eq "/clear") {
  if ($args.length -gt 2) {
    $HyperVHost = $args[2];
  }
  $VMName = $args[1];
}

#Main Script Body
$VMManagementService = Get-WmiObject -Namespace root\virtualization -Class Msvm_VirtualSystemManagementService -ComputerName $HyperVHost

$Query = "Select * From Msvm_ComputerSystem Where ElementName='" + $VMName + "'"

$SourceVm = Get-WmiObject -Namespace root\virtualization -Query $Query -ComputerName $HyperVHost

$VMSettingData = Get-WmiObject -Namespace root\virtualization -Query "Associators of {$SourceVm} Where ResultClass=Msvm_VirtualSystemSettingData AssocClass=Msvm_SettingsDefineState" -ComputerName $HyperVHost

if ($args[0] -eq "/set") {
  $VMSettingData.NumaNodesAreRequired = 1
  $VMSettingData.NumaNodeList = @($RequiredNode)
} else {
  $VMSettingData.NumaNodesAreRequired = 0
}

$VMManagementService.ModifyVirtualSystem($SourceVm, $VMSettingData.PSBase.GetText(1))

I found the above PowerShell scripting when I was reading through this article on the MSDN blog. If you’re running through the steps here,  the next hurdle you’ll run in to is the script permissions on Windows 2008. See the below TechNet article for correcting the “File XXX cannot be loaded because the execution of scripts is disabled on this system.” error.
Modifying PowerShell script permissions: http://technet.microsoft.com/en-us/library/ee176949.aspx

Hello world!

My inner nerd resists changing the title of this post. After 4+ years of a static site I figured it was time to move on to perhaps “giving back” to the Internet in some way. As most IT professionals do, many times I come across great “hidden” technical answers as I go about my daily job. I always have the thought of “I should comment on this and say thanks” but want to take the time to create a login, etc. etc. In turn, I think I will perhaps add additional color and link to the resources I find handy in hopes of Google picking it up and making for an easier solution for someone else.

In addition I’ll throw in my personal .02¢ (and yes, I used charmap to look that up) along the way with a side of family, friends and hobbies.