DNS cache on Windows

There have been a number of times when I’ve wanted to know what exactly is in my system’s DNS cache (creating new subdomains, messing with hosts file, etc.). Here’s the trick in Windows to seeing it. Read the rest of this entry »

LINQ to iTunes

I lost a hard drive a few weeks ago, and with it my up-to-date MP3 collection.smile_sad Luckily I had a backup of most of the MP3′s, but I wanted to find out exactly which MP3′s I had recovered and which ones I was missing. I knew the iTunes library is stored in an XML formatted file, but I would need to write something to read it and extract out the filenames of the individual MP3 files and then verify if they existed.

I have been using LINQ quite a bit lately on various projects, but only LINQ to SQL. I knew of LINQ to XML, but now I had a real reason to learn it.

First I looked at the iTunes library format. Here’s a snippet of the beginning of my file:

< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Major Version</key><integer>1</integer>
    <key>Minor Version</key><integer>1</integer>
    <key>Application Version</key><string>7.6.2</string>
    <key>Features</key><integer>5</integer>
    <key>Show Content Ratings</key>
<true />
    <key>Music Folder</key><string>file://localhost/C:/Documents%20and%20Settings/chujanen/My%20Documents/My%20Music/iTunes/iTunes%20Music/</string>
    <key>Library Persistent ID</key><string>54F22391EB807F23</string>
    <key>Tracks</key>
    </dict><dict>
        <key>1666</key>
        </dict><dict>
            <key>Track ID</key><integer>1666</integer>
            <key>Name</key><string>What's the Matter Here?</string>
            <key>Artist</key><string>10,000 Maniacs</string>
            <key>Album Artist</key><string>10,000 Maniacs</string>
            <key>Composer</key><string>Natalie Merchant/Robert Buck</string>
            <key>Album</key><string>In My Tribe</string>
            <key>Genre</key><string>Rock</string>
            <key>Kind</key><string>MPEG audio file</string>
            <key>Size</key><integer>9318485</integer>
            <key>Total Time</key><integer>291134</integer>
            <key>Track Number</key><integer>1</integer>
            <key>Year</key><integer>1987</integer>
            <key>Date Modified</key><date>2005-03-09T07:31:09Z</date>
            <key>Date Added</key><date>2007-07-20T17:21:36Z</date>
            <key>Bit Rate</key><integer>256</integer>
            <key>Sample Rate</key><integer>44100</integer>
            <key>Comments</key><string></string>
            <key>Persistent ID</key><string>54F22391EB807F38</string>
            <key>Track Type</key><string>File</string>
            key>Location<string>file://localhost/S:/mp3/10,000%20Maniacs/In%20My%20Tribe/01%20-%20What's%20the%20Matter%20Here%20.mp3</string>
            <key>File Folder Count</key><integer>-1</integer>
            <key>Library Folder Count</key><integer>-1</integer>
        </dict>
        <key>1667</key>
        <dict>
            <key>Track ID</key><integer>1667</integer>
            <key>Name</key><string>Hey Jack Kerouac</string>
            <key>Artist</key><string>10,000 Maniacs</string>

Read the rest of this entry »

Posted in .NET, Code. 5 Comments »

Props to Big Hammer

One of my clients, Big Hammer (a division of Edgenet), is getting some recognition from Microsoft for their use of Microsoft’s new 2008 platform (Server 2008, SQL 2008 and Visual Studio 2008).  Big Hammer has always been bleeding edge in terms of technology so it comes as no suprise that Microsoft would select them for their Heroes Happen Here launch event.

Look for the guys from Big Hammer at your local 2008 Launch Event.

BitDiffer tool

I just came across the developer utility BitDiffer by Bitwidgets which can be used to compare two versions of the same assemblies.  Here’s the description taken from their website:

BitDiffer allows you to compare multiple versions of assemblies for all types of changes and drill down to find the smallest changes, public or private.

I’ll have to try it out to see how well it works as I have used Lutz Roeder’s Reflector in the past to compare assemblies.  I’m not sure if BitDiffer is worth the $60 or not (being cheap I know), but I will add it to my list of tools to investigate.

Hello World

Well, I’ve been meaning to start blogging as a way to give back little nuggets of good developer type information, as Lord knows they’ve saved my butt a few times.

I didn’t do much research on which blogging engine to use, so I hope WordPress is the way to go!