fun with virtualization

One of the estate-related items on my to-do list has been to get rid of my Dad’s old PC. It’s an old Dell Windows XP Home machine. Not too old, but not really worth keeping. I did, however, want to keep his files, of course. My brilliant plan was to do a P2V migration on it, and set it up as a virtual machine either on my dektop PC (using Virtual PC) or on my Mac (using VMWare Fusion). To that end, I downloaded the Sysinternals Disk2vhd tool and the VMWare converter. I ran both on the PC, just in case.

Now, the one thing I forgot with all this is that Dad’s copy of XP was preinstalled on his PC by Dell, which pretty much means that you can’t run it on anything other than an actual Dell PC. (I should have remembered this, since we ran into the same problem at work some time ago, but I completely forgot.) So, I wound up with two virtual hard drive images which were both perfectly fine and perfectly useless.

I tried working around this by entering a valid, non-Dell, XP product key at the activation screen, but that didn’t work. And I tried doing a repair install of XP, but that didn’t work either. Then, I came up with the bright idea of upgrading the VPC to Vista. That also didn’t work, since you can only do an upgrade install if you boot into XP first, and run it from there, not if you boot from the Vista DVD. And I can’t get past the XP login screen.

I can think of a few possible ways around this, but the whole thing was starting to get frustrating, so I punted and went back to Dad’s computer and just ran the Files and Settings Transfer Wizard on his account. I then restored his files & settings to a new account on an existing XP VPC on my desktop machine. That seems to have worked out OK. I just used the defaults on the FAST wizard, which seems to have sucked up quite a bit of data, including a bunch of stuff that can’t possibly be necessary, but I guess that’s OK.

I still have the option of going back to Dad’s (real) PC and doing an upgrade of some kind on it, either to Vista or maybe from XP Home to XP Pro, so it’s not using the Dell-specific install anymore. Then, I’d have to go back and run the P2V tool(s) on it again. I think I’m OK with the way things are now, though.

priorities

Yesterday was my last day at my old job. Since I don’t have anything new lined up yet, I’m now officially unemployed. I’ve got three priorities I’m going to work on while I’m unemployed:

  1. finishing up all the work I need to do on my parents’ estates,
  2. finding a new job, and
  3. passing a few .Net certification tests.

The third item is optional.  I’ve been working on studying for the 70-536 exam for the last few weeks, and I still don’t think I’m quite ready to take it.  I learned a lot of valuable stuff by reading the book and working through the exercises, but passing the test itself is really just going to involve a lot of memorization, and I’m not 100% sure that’s the best use of my time.  It might be better to just work through the material, then go on to the next thing without worrying about the exam.  I’m undecided.

C# cookbook, 2nd Edition

Some of the “recipes” in this book are proving quite helpful in my attempts to learn everything I need to know to get through the 70-536 exam. There’s a newer version of the book out now, but it’s this older version that I’m using via Safari.
Here are a few of the useful recipes:

  • Recipe 8.6. Using Event Logs in Your Application
  • Recipe 8.11. Implementing a Simple Performance Counter
  • Recipe 8.16. Determining Current appdomain Settings Information
  • Recipe 17.3. Encrypting and Decrypting a File
  • Recipe 17.16. Securing Stream Data
  • Recipe 20.2. Controlling a Service

Using Delegates in C#

Raj Kaimal has a two-part blog post on Using Delegates in C# (Part 1). Here’s part 2.  I don’t really have any problem understanding delegates & events, but I will admit that I usually need to stop and think for a minute any time I need to set up anything non-trivial using delegates and/or events.

Writing a Useful Windows Service in .NET in Five Minutes

This blog entry is a great overview of writing a simple Windows Service in .Net. Good study material for 70-536. I don’t think I’ve ever stumbled across the BCL Team blog before. Useful.

C# 3.0 Unleashed

I’ve been doing a lot of supplementary reading to try and get myself to the point where I can pass the 70-536 exam. I’ve found a couple of books on Safari that have been pretty useful. C# 3.0 Unleashed: With the .NET Framework 3.5, in particular, has a lot of useful content. I’m putting an Amazon link below.

I link to Amazon frequently on this blog, but I never got around to signing up for an affiliate account, so I just went ahead and did that, so if you buy the book from this link, I’ll make a buck or two. Oh, and I just figured out that ABP was interfering with the fancy Amazon links, so I had to go ahead and tweak that again. I like ABP for blocking the really intrusive ads that some sites have, but I’m finding lately that it’s blocking stuff that I actually do want to see. I may have to look into tweaking it a bit more, to let more stuff through.

progress

I finally got through the security chapter in the 70-536 book.  And I got through chapters 13, 14, and 15 today too, so now I’ve just got one more chapter to go.  After that, I’m going to try getting through a practice test and see how I do on that. 

I have a feeling that I’m probably not going to do well on the practice test.  If that happens, I’ve got a few ideas lined up for reviewing the material and trying to get a deeper understanding.  First, I have access to some online training material from Element K through my ACM membership.  I’ll probably try working through some relevant material there and see if that helps.  Second, I’ve been compiling a list of references to coverage of exam topics in other books I own.  I will probably use that as a guide to do some supplemental reading.

crypto trouble

I just finished reading the Cryptography section of the 70-536 book.  While I do understand, conceptually, how all this stuff works, I have to say that I may be in trouble on the test if I really need to memorize the difference between, say, RIPEMD160 and HMACSHA1.  I can’t think of any reasonable mnemonic device that will help me remember that RIPEMD160 is a non-keyed hashing algorithm, and HMACSHA1 is a keyed hashing algorithm.