Archive for category Systems Admin

Can your computer run Windows 7?

With the official consumer release of Windows 7 just a few days away, a lot of people are probably wondering whether their computers will be able to run Microsoft’s newest OS.  Potential issues include device drivers, hardware, software, and user settings.  The free Windows 7 Upgrade Advisor Beta can help you answer these questions quickly an easily.  The process couldn’t be much easier: Just install and run the Upgrade Advisor (it runs on Windows XP, Windows Vista, and Windows 7).  The utility will take a few minutes to run and will then return a report like the one below (assuming you’re running a fairly current desktop or notebook computer).


You can also view a list of system requirements and your current specifications:


For the most part, users shouldn’t have much trouble when upgrading to Windows 7.  The magnitude of under-the-hood architectural changes is much less than it was during the leap from Windows XP to Windows Vista.  And, third-party hardware and software vendors have finally caught up (for the most part) and are providing reliable drivers.

From my experience, Windows 7 seems to run about as fast as Windows XP (which means it’s much faster than Windows Vista).  I have upgraded numerous desktops and notebooks to Windows 7 without any problems that I couldn’t quickly and easily resolve.  I think it will be a worthy upgrade for most users, and the Upgrade Advisor should be able to provide some warnings related to potential problems before you take the plunge.

Convert Physical Hard Disks to VHDs using Disk2VHD

There are numerous free and commercial physical-to-virtual (P2V) conversion tools on the market, but often they require some setup or at least a minimal initial investment.  Sometimes, all you want to do is make a copy of a physical disk and then attach it to a virtual machine.  The Disk2Vhd utility is a simple program for doing just that.  Here’s the info from the TechNet site:

Disk2vhd is a utility that creates VHD (Virtual Hard Disk – Microsoft’s Virtual Machine disk format) versions of physical disks for use in Microsoft Virtual PC or Microsoft Hyper-V virtual machines (VMs). The difference between Disk2vhd and other physical-to-virtual tools is that you can run Disk2vhd on a system that’s online. Disk2vhd uses Windows’ Volume Snapshot capability, introduced in Windows XP, to create consistent point-in-time snapshots of the volumes you want to include in a conversion. You can even have Disk2vhd create the VHDs on local volumes, even ones being converted (though performance is better when the VHD is on a disk different than ones being converted).

You can download Disk2Vhd directly from the Microsoft TechNet SysInternals site (it’s only 704KB).  You can then run it directly from your file system to launch the GUI.

While it’s easy to create a VHD, it’s important to keep in mind potential issues with using this approach to “clone” an already-running machine.  Depending on your environment, you might need to consider the impacts of network addresses, MAC addresses, computer names and Security Identifiers (SIDs).  Most of this only applies if you’re using this approach to clone a non-OS hard disk.  Overall, the utility makes it really simple to perform a P2V conversion of a hard disk.

Combining Virtualization Approaches

While server virtualization seems to get the bulk of virtualization mindshare, there are several other approaches that are worthy of consideration.  Examples including presentation, application, storage, and network virtualization.  In fact, you can effectively combine these different approaches to find the best performing and most cost-effective solutions to common IT problems. 

That’s the topic of my article, Combining virtualization approaches for a data center’s ‘secret sauce’.  From the introduction to the article:

Being an IT professional is similar to being a good cook. Even if you have great ingredients, success is realized only when you combine these ingredients in the ideal way. The same holds true for virtualization — many technologies can work well together. The art is in determining which applications and services will benefit from one another.

The good news is that virtualization doesn’t come in just one flavor — administrators have numerous options from which to choose. You can combine different virtualization approaches to address some of the more difficult data center management tasks.

As long as you can handle some cooking-related puns, I hope the information provides to be useful.

Austin Code Camp 2009 Presentations

Code Camps are free events that are held by and for developers.  They focus on real, practical technical information that is presented through demonstrations.  Many user groups hold these sessions on weekends to help support the best attendance and availability.  The topics focus on a wide variety of subjects that are of interest to developers.  Examples include development methodologies, specific technical features, and development techniques.  You can find more information in the Code Camp Manifesto.

Austin Code Camp 2009 is scheduled for Saturday, May 30, 2009 and will be held at the St. Edwards Professional Education Center.  Past events have had hundreds of attendees with dozens of sessions.  If you’re in the area, I highly recommend attending at least part of the event.  Oh, and did I mention that it’s free? :) 

This year, I’ll be presenting on three topics (listed below, with abstracts).  Each session is scheduled to last two hours and will focus on practical demonstrations.  Specific presentation times have not yet been posted, but keep checking the web site for more details.  In the meantime, be sure to register to attend and vote on proposed topics.  If you can’t make it, I plan to post the presentation slides and sample code on my web site just prior to the event.

Presentation Topics & Abstracts

SQL Server Reporting Services: Report Creation and Deployment:

Using SQL Server Reporting Services, developers can author and distribute complex reports that come from a variety of data sources. The session will begin with an architectural overview of Reporting Services and how developers can install and configure the required services. Then, we will walk through the process of creating new reports by building connections and data sets using Report Builder 2.0 and Visual Studio 2008. Reporting design features including dynamic drill-downs, matrix reports, charts, and sorting will be provided. Also included will be methods by which multiple levels of report parameters can be used to filter data and increase performance. Next, we’ll look at deployment details, including scheduling reports, configuring caching, creating snapshots, and managing security. Time permitting, the presentation will include a demonstration of using Report Viewer controls within ASP.NET and Windows Forms applications.

SQL Server Basics for Non-DBAs

Although relational databases are a critical component of most applications, many developers often have only a basic understanding of how they work. This session will describe the architecture of Microsoft SQL Server 2008 and its many features can be used to improve the end-user experience. The presentation will begin with an overview of the SQL Server platform, including installation and configuration of the server. Then, we’ll look at ways in which you can manage logical databases and their constituent files. Recommendations for regular database maintenance and data protection will be covered next. Other important tasks include managing security, including techniques such as role-based security, permissions hierarchies, and data- and object-level encryption. Finally, we’ll conclude with some best practices for managing database schemas and objects. Attendees are encouraged to bring their server and database management questions.

SQL Server Performance Monitoring & Optimization

Developers can dramatically improve performance by understanding how their queries are executing in the "real world". This session will cover ways in which attendees can monitor performance at various levels, and how they can use this information to optimize queries and improve overall application performance. We’ll start with a discussion of developing a performance optimization strategy and how various tools can help. Then, we’ll walk through the process of using SQL Profiler to collect data in a real-world case: Generating a "hit list" of worst-performing queries based on execution times and frequency. Next we’ll look at using the Database Engine Tuning Advisor to make suggestions related to physical database structures such as indexes and partitions. Also included will be ways in which built-in reports and dynamic management views can be used to monitor performance of production systems. Time permitting, the presentation will include methods for reducing deadlocks and managing long-running transactions. Finally, the presentation will include an overview of analyzing query plans. The overall emphasis will be on solving practical, real-world database performance problems.

The [Solid] State of Hard Disks

A Brief History of [Wasted] Time

Over the last couple of decades, practical PC bottlenecks have moved.  I remember a time when upgrading CPUs could provide a near-linear speed increase with respect to clock speed (does anyone remember the thrill of going from a 33MHz 486 processor to a a 486/66?).  Later, keeping the processor fed became more important.  Improved memory bus speeds, lower cache latency, larger cache sizes, and more RAM often provided the best performance increase.  And of course, we had network issues – starting with dial-up performance.  Thankfully, most of those resources are no longer the slowest components in modern PCs.  In fact, CPUs have increased in performance to the point that clock speed increases give little practical benefits for most users (on the client side, at least).

Wringing some[Bottle]necks…

Over the last several years, the primary bottleneck on most of my machines (notebooks, development desktops, and music production machines) has been hard disk performance.  If I was waiting for something, it was more than likely that hard drive.  The high number and frequency of random I/Os often resulted in significant delays.  Even with large amounts of RAM, launching programs, loading web pages, and performing builds in Visual Studio could take a lot of time.  High-speed, low-latency hard disks helped a little.  And, if you can stomach the risk of data loss, RAID-0 configurations could alleviate some of the pain.  But, disk access remained the slow step in many processes.

One of my clients, Arrow Value Recovery (formerly,  TechTurn, Inc.), was kind enough to lend me a Samsung 128GB Solid State Disk (SSD) to test.  At first, I imaged my notebook Windows 7 Release Candidate installation and placed it on the SSD.  I was expecting an incremental increase in performance (at least for random, small reads).  The overall results, however, were amazing!  Applications launched in a just a few seconds, and some basic benchmarks provided all the evidence I needed to place the new disk in my primary development machine (a Dell Dimension XPS 420 with two 500GB, 7200RPM drives).  Now, after just a couple of weeks, I can’t imagine going back to “old school” physical drives.

SSD’s are new to the marketplace and they’re not without significant potential drawbacks.  In the coming weeks, I’ll provide some more details on the experience.  For now, here are a couple of basic benchmarks created using HDTune.  The basic comparison is between a Samsung 500GB, 7200 RPM hard disk (16MB cache) and the 128GB Samsung SSD.  I did absolutely nothing to optimize the performance of the SSD, so consider this just a baseline.


HDTune – Disk Benchmarks


Figure 1a: HDD Performance (Dell XPS 420)


Figure 1b:  SSD Performance (Dell XPS 420)

HDTune – Random Access Performance


Figure 2a: HDD Performance (Dell XPS 420)


Figure 2b: SSD Performance (Dell XPS 420)

I realize that this data is completely anecdotal and unscientific, but it’s a promising start.  So far, the general performance improvement from using an SSD has been the single most noticeable upgrade in several years.

More to come…

Again, I hope to post some more detailed data (with a focus on benefits for development workstations) in the coming weeks.  Now if only my own sequential writing speed could match that of the SSD drive… 🙂

Update: The Engineering Windows 7 blog has a post that covers Support and Q & A for Solid-State Drives.  It helps provide some technical background related to the different between random vs. sequential I/O’s and issues related to random writing.

Network Design in an Uncertain Economy

It’s no secret that IT budgets worldwide have been slashed and that spending on new projects has been drastically reduced for most companies.  However, contrary to popular opinion, there’s a lot of opportunity to make cost-saving investments now.  On that topic, I will be presenting some best practices in a webcast titled Building a Recession-Proof Network (sponsored by Nortel).  From the webcast web site:

In today’s economy, ensuring you have a network that is reliable and secure 24×7 can help you to recession-proof your business even with a limited IT budget. Learn step-by-step about how your company can build a cost-effective, energy-efficient and secure network in ’09!

Join us now and learn:

  • Easy steps to build a cost-effective, energy-efficient and secure network in ‘09
  • Best practices to recession-proof your network on a limited IT budget
  • How to reduce your TCO while increasing ROI across your company
  • Low-cost ways to maximize and extend your network capabilities

The free webcast is scheduled for 10:00am Pacific Time on Thursday May 7, 2009.  My portion will focus on suggestions for justifying network improvements such as investing in Unified Communications (UC) and ways to sell that idea to the rest of the organization. 

My Favorite Mozilla Firefox Add-Ons

Several months ago, I took the plunge and switched from my primary browser (Avant Browser – which basically automates IE with a bunch of new features) to Firefox.  I was on the fence for a while.  I generally liked Firefox’s user interface and performance, but missed some of the navigation features that were available in IE.  What finally pushed me to switch to Firefox were some really useful (but not always well-known) add-ons.  I now find them to be almost indispensible to my web browsing habits.  So, without further delay, here’s a list of my favorites (with minimal comments as the Firefox Add-Ons site provides the best explanations with screenshots):

  • AutoPager: The page-based nature of the Web can make it really difficult to navigate through large documents.  Often, you’ll have to click through pages one-by-one.  What if the Google Search result you want didn’t make the first page?  You generally would have to manually navigate to the next page of results (or change the default view to include more results).  And don’t get me started on sites that force you to click through a dozen pages to read an entire article.  AutoPager can automatically load content from additional pages without losing context.  It supports hundreds of sites out of the box and provides an easy way to add support for new sites.  I highly recommend it, at least until the Web (and advertising) start supporting better ways to view large amounts of information.
  • FoxTab: A great multi-tab browser that allows you to choose from a wide FoxTabvariety of different “gallery” views that show thumbnails of open tabs.  It seems to scale and perform well, even with dozens of open tabs.


  • SpeedDial:  Most of us frequent the same sites many times per day.  The default user behavior – typing URLs or choosing them from the Bookmarks list – can be quite cumbersome.  As its name suggests, SpeedDial provides users with thumbnails of their most common web sites whenever they open a new tab.  ~80% of the time, I use the keyboard shortcuts (Alt-# or CTRL-#) to open the sites I use the most.
  • Read It Later:  It might seem a little strange, but I’ve all but abandoned the use of bookmarks in my browsers.  I am usually very organized, but I found that it takes too much effort to store and organize separate links (many of which tend to quickly become outdated).  Read It Later provides a great way to keep track of specific articles and content that you plan to read later without requiring you to create bookmarks.  When you’re bored, you can just click on its icon, and you’ll be presented with on of the pages from its list.  You can easily mark something as “read” without having to deal with deleting bookmarks.
  • IE Tab: Despite a strong push to work on standards-based sites and browsers, the need to launch IE is sometimes inevitable.  An example that comes to mind is the SQL Server Reporting Services web site which doesn’t seem to render properly in Firefox.  IE Tab allows you to simply click an icon on the status bar to switch to using the IE rendering engine for that tab.  You get to stay in the comfort of Firefox while using IE behind the scenes.

Those are the highlights of my favorite extensions.   You can easily download and install all of these extensions using the Firefox Add-Ons page.  Installation couldn’t be much simpler, and it’s really easy to try out new extensions.

But, wait – there’s more:  So far, my favorite theme is Chromifox Basic.  As its name implies, it’s hardly the flashiest of themes.  But, I really like its simple look and customizations.

There’s certainly no lack of web pages and blog entries that highlight “must-have Firefox.  (There are so many, in fact, that I’m not going to bother to link to any of them.)  Now, I can add myself to that list. 🙂

Microsoft Virtualization e-Learning Courses (Free)

Microsoft is working hard to get IT pros to understand its many different virtualization products and technology.  The list includes Hyper-V, App-V, Terminal Services, and the recently-released System Center Virtual Machine Manager (SCVMM) 2008 management product.  It can be really challenging to keep up-to-date on all of this new technology (especially when some of these things are potential game-changers).  If you’re willing to invest the time, Microsoft has made numerous e-Learning courses available for online access or download:

Free virtualization e-learning collection

Take Microsoft E-Learning Collection 6333: Exploring Microsoft Virtualization Technologies for free! Collection 6333 includes the following:

Click on the links for the entire Collection, or for individual courses to add them to your e-Learning Library.  You’ll need to login with a Windows Live ID to activate the content.

Personally, I’ve used dozens of e-Learning courses (mostly free ones, I’ll admit) to learn the technical details that aren’t always readily available on the product marketing web sites.  Most courses are fairly in-depth (including code samples where appropriate), but there are usually some rough edges that seem to be remnants from beta versions of the courses.  Overall, though, I think they’re an excellent resources.  And, all of the courses listed above are available for the convenient and affordable price of free.

Microsoft Server Quest

While it seems that the powers of marketing are often used for evil rather than good, every once in a while, we see an entertaining site or application.  Microsoft has given us its share of humorous clips and commercials.  This time around, it’s Microsoft Server Quest – a Flash-based, animated game that allows you to try to save the entire office with your superior intellect.  You’ll also get some valuable discount codes (which are not-so-cleverly disguised in the standard dialog).  It’s not exactly World of Warcraft, but you can earn up to 4,800 GeekPoints.  You can use those… well, nowhere.  But it’s still fun.

DevTeach Conference Reminder

The DevTeach Conference in Toronto is quickly approaching, but there’s still time to register.  The conference will be held on May 12th – May 16th and is a great opportunity to learn about Microsoft-focused development and IT details.  I’ll be presenting three sessions:

  • Evaluating Virtualization Tools and Technologies
  • Windows Server 2008’s Hyper-V: Inside and Out
  • SQL Server Data Protection and High Availability

For more details, see my earlier post, DevTeach Conference Sessions.  You can find some compelling reasons to attend (along with a complete list of presentations) at the DevTeach web site.

RunAs Radio: Virtualization / Hyper-V Discussion

Earlier this morning, I had the privilege of chatting with Richard Campbell and Greg Hughes, hosts of RunAs Radio.  The discussion focused on Microsoft’s Hyper-V, and the importance of virtualization management/automation.  It’s a fairly fast-paced conversation and is around 30 minutes long.  The show will be available shortly (and for free) at

A Comprehensive Document of What’s Really in Vista SP1

I have been testing Windows Vista SP1 for many months now, since the early beta versions of the update.  While I can’t say that it has solved all of my problems (see My Struggles with Windows Vista for details), it has made a few noticeable improvements in performance.  However, with all the media coverage I have seen thus far, people tend to focus on one or two of the hundreds of changes included in the Service Pack.  The information ranges from simple restatements of Microsoft press releases to "benchmarks" which use dubious measurement methods. 

Fortunately, Microsoft has recently published a comprehensive guide that lists all of the changes introduced by SP1.  You can download Notable changes in Windows Vista SP1 in PDF or XPS format.  The guide is long, but it provides a concise, descriptive and (presumably) complete list of what you can expect.  Certainly, there’s a lot of ambiguity based on "certain types of devices" and similar marketing-friendly terms.  (Sometimes I wish Microsoft would just identify the hardware manufacturers that don’t follow the rules for driver development.)  Overall, it’s a handy reference that I recommend.  The document also includes a whopping 35-page index of all of the hotfixes and security updates that are included with the SP1 update.

Unfortunately, even with the latest updates, I still can’t get Sleep mode to work on two of my desktop computers (one of which shipped with Windows Vista and the other which is based on a clean installation).  So far, it looks like Windows Vista SP1 will be "too little, too late" for me.  I just hope something happens to prove me wrong.

Windows Server 2008 Webcasts: Info in 10-Minute Chunks

One of the hardest parts of learning about a huge new operating system release like Windows Server 2008 is sifting through all of the available information for for what really matters to you.  For example, if you routinely have to support Branch Office scenarios for your domain controllers, you’d like to avoid all of the marketing babble about how revolutionary the product is and get right down to to the technical details.  And, if you’re like me, you don’t want to skip around a 90-minute webcast to find the five minutes of information you really want to hear.

The Windows Server 2008 Webcast Express Demo Videos highlights the many different improvements and new features in Windows Server 2008 through some concise videos (most are around 10 minutes long).  It focuses on screencasts rather than PowerPoint slides so you can see various features in action.  I recently checked out the High Performance and Scalable Networking webcast to learn about QoS options and IPv6 updates.  Overall, this is my preferred way of getting information.  I rarely like to set aside 90 minutes or so to attend a webcast, but it’s easy to find 10 – 15 minutes to learn about something new just about every day.

Managing Multiple Monitors on Windows Vista

Among my many gripes about Windows Vista (see My Struggles with Windows Vista), is the lack of truly useful window management shortcuts.  Multiple monitor configurations are becoming increasingly common, and the Windows desktop simply hasn’t kept pace.  Sure, if I’m willing to click on numerous UI elements, I can reliably move a maximized window from one monitor to another and resize it to my liking.  My current setup includes a widescreen 22" LCD and a 19" LCD that’s rotated for a portrait view (it’s great for editing documents and reading web pages).  Overall, the common task of managing windows on multiple monitors shouldn’t be an ordeal.

Fortunately, there are several third-party software products (some free) which help make the process easier.  I have evaluated a couple of them and thought I’d mention my findings:

  • UltraMon is a commercial product that provides features for managing multiple monitors.  It allows you to span wallpapers across multiple disparate displays.  Most importantly (for me), it allows me to create simple keyboard shortcuts for moving and resizing windows between monitors.  It’s a bit pricey for the functionality, but it really does help.  Unfortunately, I started having some display driver issues with my Nvidia GeForce 8300 GS drivers after I installed the latest beta.  Hopefully a final release version will address that.
  • DisplayFusion: DisplayFusion looks like it was originally designed for managing wallpaper settings for multiple monitors.  However, it offers a simplified configuration UI that allows you to create hotkey shortcuts for moving and resizing windows.  Currently, this is my favorite as it hasn’t broken Windows Vista and you can’t beat the price (it’s free, but donations are accepted).  This one gets my recommendation, at least for now.
  • GoScreen: GoScreen is designed for use on Ultra-Mobile PCs (UMPCs), such as tablet computers or portables that have touchscreens.  It provides features for more easily managing windows.  I haven’t yet tested the product, but it does seem to have a large number of useful features

Overall, these utilities effectively fill some gaps in Windows Vista and make me far more productive (I also couldn’t turn down the shot at alliteration in this post’s title). 

Virtual Strategy Magazine: Comparing Virtualization Approaches

Virtual Strategy Magazine has published my latest article: Comparing Virtualization Approaches. The article examines the various approaches to virtualization, including presentation-, application-, and server/hardware-level virtualization.  The following diagram provides a brief overview of the approaches and their details.


The overall idea is that organizations have a wide array of choices in deciding how to isolate and consolidate their workloads.  The challenges is picking the right tool for the job.