Friday, December 17, 2010

From FLAC to MP3 and back again–EAC Rips with LAME

Maximum PC has a great post on Ripping archival quality MP3s from audio CDs, but one of the user comments following the article simplifies the LAME options.

User vintagegold suggests using the following:

-V0 %s %d

I just tried the above settings within LAME to rip a classical CD – Borodin – and it sounds great on my AKG K 271 Studio headphones.  The HydrogenAudio wiki does indicate one preset with even higher quality for archiving, but my ears(which are still sensitive enough to hear the frequency on certain monitors/LCDs) don’t find the higher constant 320 kbit bitrate necessary.

Some of my essential EAC Screenshots – refer to the Maximum PC article for setting up Accurate Rip and other portions of EAC:


Arturo "Buanzo" Busleiman has current Windows and Mac downloads of the LAME binaries [high quality MPEG Audio Layer III (MP3) encoder] on his Argentina-hosted site.  The Audacity for Windows download worked on windows 7 x64.

Goodbye FLAC – I’ll not miss your options.
-8 -A tukey(0.25) -A gauss(0.1875) -b 4096 -V -T "artist=%a" -T "title=%t" -T "album=%g" -T "date=%y" -T "tracknumber=%n" -T "genre=%m" %s --sector-align

Wednesday, December 15, 2010

Wildcard Search for Exchange Recipients PowerShell Function

I wanted to do a partial string search against names and aliases, and used the output from the Exchange Management Shell Command Log to write a PowerShell function that returned the type of broad result set I wanted, finding a match with names OR aliases.

function Get-Recip
param (
[string]$Filter=$(throw 'Partial Recipient Name or Partial Recipient Alias required')

# Wildcard search prepended and appended to filter string passed, limit result set to 1000 matches

$Filter= "*"+ $Filter + "*";

Get-Recipient -PropertySet ConsoleLargeSet -ResultSize '1000' -SortBy DisplayName `
-RecipientType 'DynamicDistributionGroup','UserMailbox','MailContact','MailUser', `
'MailUniversalDistributionGroup','MailUniversalSecurityGroup','MailNonUniversalGroup' `
-Filter {(Name -like $Filter ) -OR (Alias -like $Filter)}


Monday, December 13, 2010

Free Space on all servers for all fixed drives? Done.

A while ago I posted on querying free disk space using WMI and batch.

I wouldn't query free disk space using batch anymore.  The PowerShell script I tweaked and currently use to query free disk space is displayed below.  The script truncates for readability – the rounding methods are commented out if that’s your preference:
# spaceused.ps1
# Lars-UT
(Get-Date -format 'yyyy-MM-dd hh:mm:ss').ToString() | Out-Default
$outData = @("")
$server = $args[0]
$dataFromServer = Get-WmiObject Win32_Volume -ComputerName $server | Select-Object SystemName,Label,Name,DriveLetter,DriveType,Capacity,Freespace

foreach ($currline in $dataFromServer) {
if ((-not $"\\")) -and ($currline.Drivetype -ne 5)) {
[float]$tempfloatcapacity = [math]::truncate($currline.Capacity/ 1000000000)
#[float]$tempfloatcapacity = [math]::round(($currline.Capacity/ 1000000000),1)
add-member -InputObject $currline -MemberType NoteProperty -name Capacity_in_GB -value "$tempfloatcapacity GB"

[float]$tempfloat = ($currline.Freespace / 1000000) / ($currline.Capacity / 1000000)
$temppercent = [math]::round(($tempfloat * 100),2)
add-member -InputObject $currline -MemberType NoteProperty -name FreePercent -value "$temppercent %"

[float]$tempfloatfreespace = [math]::truncate($currline.Freespace/ 1000000000)
#[float]$tempfloatfreespace = [math]::round(($currline.Freespace/ 1000000000),1)
add-member -InputObject $currline -MemberType NoteProperty -name Freespace_in_GB -value "$tempfloatfreespace GB"

$outData = $outData + $currline

$outData | Select-Object SystemName,Label,Name,Capacity_in_GB,Freespace_in_GB,FreePercent | sort-object -property Name | format-table -autosize

To run this against muliple servers just put the server names, one per line, in a text file and save that file. You'll then assign that file to a variable in PowerShell and loop through each line for each server:

PS C:\> $serverlist = Get-Content .\ServerNames-Prod.txt
PS C:\> foreach ($server in $serverlist) { .\spaceused.ps1 $server }

Here’s the pretty output!  Yep, those are sub-second times for querying multiple servers.


Need to document this?  Use Start-Transcript.  I’ve seen auditors use it like so:

PS C:\> $strTimestamp =  [string](Get-Date -format "yyyy-MM-dd_hh-mm")
PS C:\> start-transcript .\ServerSpace-$strTimestamp.txt
PS C:\> foreach ($server in $serverlist) { .\spaceused.ps1 $server }
PS C:\> Stop-Transcript


Friday, September 03, 2010

Music for Entering or Staying in “The Zone”

The zone.  It’s that special place where you find the ability to intensely focus and compress large workloads or complex tasks.  Good music can help, whether its classical, inspirational, ambient, or just familiar.  I often listen to music with no vocals to minimize the distractions surrounding my cubicle.

Here are a few oft-played tracks on my system courtesy of Grooveshark as an example:

I also listen to SomaFM – you should be able to find channels there for your particular taste, such as:

Groove Salad
Space Station Soma
Mission Control
Suburbs of Goa
Drone Zone
Underground 80s

Sometimes you want to listen to a specific track immediately.  The GrooveSelect and Search GrooveShark bookmarklets will instantly cue it up.

Wednesday, September 01, 2010

Thermal Reactor > Fast Reactor: August CTO Breakfast Notes

“We can build self-controlling reactors.”

YouTube - Thorium Remix 2009 - LFTR in 25 Minutes

The Liquid Fluoride Thorium Reactor: What Fusion Wanted To Be

Kynetx Demo from Sam Curren – Holy Personal Data Stores!

UTOSC (Utah Open Source Conference) 2010 - October 7-9, 2010

The Future of UI


Blue Ant T1 Bluetooth Headset – Scott Lemon is converted to this headset model.

Swype text input for Android phones – heavily endorsed by Sam.

Hope to see you at the next CTO Breakfast!

Monday, July 19, 2010

AV Security Suite Malware Removal: Panda said I was clean, ComboFix disagreed

"There's this security software that keeps popping up and I can't use my computer."

Say goodbye to several hours of your life should you decide to help.

But I've got this great malware removal guide from Maximum PC, and I've been doing tech support since the mid-1990s - no problem right?

Oh, the pain. I'm going to try mitigate others' potential suffering by sharing what helped me.

The Maximum PC Guide for removing malware contains some great comprehensive steps. Here are a few things that can be done to supplement the guide.

Booting the operating system that has the problem can slow you down at first.

1. Erase a spare USB Key and use UNetbootin to create a bootable Kaspersky Rescue Disk. Use this tool to remove some of the less resilient threats.


2. Boot in safe mode and run the following from a CMD prompt to delete Temp & "Temporary Internet Files"  directories for all user Profiles(assumes XP install w/profiles on C: drive ):

C:\> for /f "usebackq" %a in (`dir /b /a "c:\documents and settings"`) do rd /s /q "c:\documents and settings\%a\Local Settings\Temp"

C:\> for /f "usebackq" %a in (`dir /b /a "c:\documents and settings"`) do rd /s /q "c:\documents and settings\%a\Local Settings\Temporary Internet Files"

3. Defrag. Auslogics has a good free defragmenter, or you can use the built-in defragmenter.

4. Autoruns

0006 from Mark Russinovich and Bryce Cogswell(Don't use this unless you feel very familiar with windows services) - Click the Options menu, Check the Boxes for "Hide Microsoft and Windows Entries" and "Verify Code Signatures" as shown in this screenshot:


Push the Escape key, then hit F5 to refresh in Autoruns.  Now inspect the list and right-click the odd looking entries. You can choose to "Delete" the offender or "Jump To..." to open up a Window with the startup location referencing the item - usually in the registry.

5. Run CCleaner. Cut Deep - but remember to be nice - some users like their Internet History kept intact, and I like to keep my Start >> Run history while troubleshooting.

6. At this point you can go ahead and step through the Maximum PC guide. What follows is the snag I ran into in removing a piece of malware called AV Security Suite and how to get around that snag thanks to some specific posts from chaslang at MajorGeeks and other posts from BleepingComputer.

After running SuperAntiSpyware and Malwarebytes Anti-Malware, and subsequently running Panda's Activescan 2.0, it looked like the machine was clean. I then started ComboFix and received the following error, but ran ComboFix anyway:0002 Panda FAIL. AV Security Suite was supposed to be gone. Panda said the box was clean! Why, Panda, why? The ComboFix log displayed the following AV Security Suite GUID:


Googling that GUID resulted in a lifesaver post by chaslang, which stated there was a Browser Helper Object(BHO) that sill needed to be deleted. I skipped the first suggestion in chaslang's post to run MGTOOLS\analyse.exe, but followed his other instructions.

HijackThis found the offender.

0004 I was able to click Fix and afterward run ComboFix according to chaslang’s instructions without ComboFix detecting the AV Security Suite. Chaslang, I owe you... something. Thank you!

When rebuilding or updating a home machine connected to the internet, I strongly suggest using the automated, toolbar-free installers created by Makes it easy to install Microsoft Security Essentials, Flash, FireFox, Foxit Reader, Auslogics Disk Defrag, and several other apps.0008 Ninite will save you a lot of time.

Another troubleshooting suggestion is to boot Windows off a CD or USB key(WinBuilder and Boot Land can help you create a bootable version of windows, but these are deep waters that will take some time to navigate for first-timers) and thereby work on the infected system in a safer environment.

Monday, January 11, 2010

PowerShell Power Breakfast 8:00am-9:00am, Wednesday, January 27, 2010

Buy your breakfast at the East Bay Cafe, have a seat, and learn about PowerShell for one hour.  PowerShell provides for Windows what shells like Bash provide in Linux – a command line for one-off tasks or automation, be they simple or complex.  Schedule this event on your calendar, and bring your manager and/or coworkers.

I’ll be presenting on sending emails via PowerShell, persisting and searching your command line history between PowerShell sessions, and providing a brief overview of Quest’s Active Directory cmdlets functionality.


Schwag will be given to a few lucky attendees courtesy of Redmond and local Microsoft Technology Strategist Dan See.  Thanks, Dan!

Windows PowerShell Quick Reference

Dig Out by Digging Into PowerShell

The PowerShell Power Breakfast is open to any individual interested in Windows PowerShell, from veteran developers and sysadmins to those just starting with automation & scripting in a Windows context.

Where: Novell East Bay Cafe, Building G, Provo Campus (map)

Directions: Take the University Ave exit off I-15, cross University Ave, and turn left (north) onto Novell Place and enter the Novell campus. When you drive up to bldg H (the 8-story bldg), turn left and park in the SW parking lot. The sidewalk on the west side of bldg H will take you to the cafe (bldg G). We'll be in the conference room at the far north end (past the food court).