MSDN Subscription: February 2010

By Michael Flanakin @ 6:04 PM :: 1453 Views :: MSDN Subscriptions :: Digg it!
MSDNThe following consists of the English DVD updates released under the MSDN Premium (Team Suite) subscription level for February 2010.

Applications

  • Disc 2434.25
    • Office 2007 Servers SP2 (x64 and x86), Office 2007 Suite SP2 (English, Multilanguage)

Servers

  • Disc 3918.02
    • Exchange Server 2010 (x64) (English, Chinese-Simplified, Chinese-Traditional, French, German, Italian, Japanese, Korean, Portuguese-Brazil, Russian, Spanish)

For more information, see the MSDN Subscriptions Index.


Boot to VHD: Create VHD from GUI

By Michael Flanakin @ 5:05 PM :: 3012 Views :: Technology, Tools/Utilities :: Digg it!

Windows 7

I've mentioned how to create a new VHD from the command line, now let me mention how you can create a new VHD from the Windows GUI.

  1. Open Computer Management (Start > Run… > compmgmt.msc)
  2. In the left pane, select Storage > Disk Management
  3. Right-click Disk Management, click Create VHD
  4. Specify VHD settings and click OK
    • Location -- the path where you want to save the VHD
    • Size -- specify a size smaller than what's available on your system
    • Format -- choose dynamic sizing to slowly grow to the full disk size (what I'd recommend) or fixed, if you want to just allot the space outright and avoid potential out-of-space problems
  5. In the main, center pane, right-click the label on the left for the new, unknown/unallocated disk, click Initialize Disk
  6. Click OK
  7. In the main, center pane, right-click the main disk space visualization, click New Simple Volume...
  8. Click Next
  9. Click Next
  10. Click Next
  11. Specify a volume label, click Next
  12. Click Finish
  13. Put Win7 or Server 2008 R2 DVD or bootable USB drive in
  14. Restart your computer
    NOTE: You'll need to be sure you can boot using the necessary device in BIOS settings (obviously)
  15. Press any key to boot from CD or DVD
  16. When the Install Windows screen is shown, press Shift+F10
  17. Type d:, press Enter
  18. Type diskpart, press Enter
  19. Type select vdisk file="d:\machines\win2008r2.vhd", press Enter
    NOTE: Windows re-assigns your primary drive when running thru the installer. In all of my tests, C: was re-assigned to D:.
  20. Type attach vdisk, press Enter
  21. Type exit, press Enter
  22. Type exit, press Enter
  23. Click Next
  24. Click Install Now
  25. Select desired OS (server only), click Next
  26. Check I accept the license terms, click Next
  27. Click Custom (advanced)
  28. Select Disk 1 Partition 1: <label>, where <label> is the volume label you applied in step 11
  29. Click Next and continue to install the operating system as you normally would 

After rebooting, Windows Boot Manager will give you an option to boot into either the host or guest OS instances.


Flash and Silverlight Jobs

By Michael Flanakin @ 7:31 PM :: 2736 Views :: .NET, Development, Technology :: Digg it!

Silverlight has been Microsoft's golden child since v2 was released last year. The impact within the community has been astounding. Some demand the use of Silverlight without actually recognizing when and where the technology makes sense and others scoff at Silverlight either in favor of Flash or as a technology as "useless" as Flash. I roll my eyes every time I hear any of these three opinions... and they happen a lot. Flash went thru the hype cycle years ago and now it's Silverlight's turn. What I find amusing is that the hype seems to be much more powerful with Silverlight than it ever was with Flash. All we can do is fight the good fight.

Not every rich experience needs to be Silverlight. JavaScript frameworks are making life as a web developer easier and easier, so I'd recommend that always be the default choice. Unfortunately, most developers still find the pain of JavaScript development too great. While I'm a big fan of JavaScript, it is far from a perfect language and is severely lacking when it comes to development and debugging tools. Flash and Silverlight both simplify things with better tools and a single-platform vision that tremendously improves cross-browser development, but Flash is still lacking the one thing that makes Silverlight a no-brainer: XAML, backed by real programming languages.

XAML is immensely powerful and will continue to grow as more and more WPF features make it into Silverlight. XAML takes a new way of thinking, but it's well worth it for the simplicity and ease of development you get. But, more important than XAML is the fact that you have any .NET language you want and, with the inclusion of the Dynamic Language Runtime (DLR), there's virtually no reason not to use Silverlight. The one and only benefit Flash has is more mature tools. This is very important, but it is only a matter of time. Microsoft has both the will and the ability to overcome the current Flash tooling. The days of Flash are severely numbered. A look at the job market only confirms this. I just wish I had some of the same numbers from when Flash was initially released to compare the difference.

I truly believe that, if you're a web developer using any language, you need to take the time to understand how Silverlight can benefit you. Yes, HTML5 is coming, but the power and flexibility of environments like Silverlight will quickly surpass anything the W3C will ever be able to come out with a specification for. Heck, in less than 2 years, we've seen 3 releases of Silverlight and a beta version for the fourth, with speculations that Silverlight 4 is likely to release at Mix 2010, making it 4 full releases in 2.5 years. I'd like to see any one W3C spec ratified and fully released in all major browsers in such a timeframe. Such a feat is completely unheard of. Nevertheless, don't let me blab on about it. The numbers speak for themselves...

Flash vs Silverlight Jobs


Lazy Load One-Liner in C#

By Michael Flanakin @ 3:31 PM :: 4123 Views :: .NET, Development :: Digg it!

Microsoft .NET

One thing I love about C# is that I'm constantly learning new ways to simplify and write less code. Perhaps PowerShell has a lot to do with this, but I put a lot of value in the power of the one-liner. With that, I wanted to share something small I recently discovered.

There are three main ways to initialize your read-only class properties: field initializer, constructor, or property accessor. The first thing you need to consider when determining the right approach is whether you should use a readonly or get-only variable. A readonly variable has two primary benefits: guaranteeing the value won't change and better ensuring thread-safety. I'm not going to go into either of these, but I will say, if you can make your variable readonly, do it. The main reason not to make your variable readonly is if its initialization is resource-heavy and the variable isn't always crucial. There are other things to consider, but I want to focus more on the implementation of this code rather than the reasoning behind deciding on a good approach.

Back in the .NET 2 days, I used the following approach to lazy loading.

private PersonCollection _people;
public PersonCollection People
{
    get
    {
        if (this._people == null)
        {
            this._people = new PersonCollection();
        }
        return this._people;
    }
}

One way to achieve a one-liner would be to use an inline if statement.

private PersonCollection _people;
public PersonCollection People
{
    get { return ((this._people == null) ? (this._people = new PersonCollection()) : this._people); }
}

The main problem with this is there's more one-liner than simplicity. This is a common problem with the inline if statement. For this reason, I avoided this type of lazy load approach.

Recently, when hammering thru some code, typing == null just made me think about the ?? operator. For those that don't know, this is essentially a null-check included with .NET 2 to simplify the use of nullable types (Nullable<T>). If the value on the left is null, the value on the right is returned.

private PersonCollection _people;
public PersonCollection People
{
    get { return this._people ?? (this._people = new PersonCollection()); }
}

Nothing revolutionary, but, as I mentioned before, I love my one-liners!

SharePoint Designer and Developer Position Descriptions

By Michael Flanakin @ 4:30 PM :: 4203 Views :: .NET, Development, SharePoint :: Digg it!

SharePoint

I can't tell you how many resumes I've read and interviews I've performed in the name of finding a quality SharePoint developer. After seeing my customer painstakingly struggle thru this same process, I finally decided to put together a couple short blurbs to cover what it is to be a SharePoint designer and a SharePoint developer.

I lump administration and design/customization together because I honestly believe you can't have one without the other -- at least to some extent -- but I'm obviously looking more for the latter than the former. Let me just say that, if I was building up a team to build SharePoint solutions, I'd want at least one of each of these types. Obviously, you'll want someone more focused on administration, if you're also doing operations work, but I'm more focused on building solutions than hostings.

SharePoint Administrator/Designer
Experienced SharePoint administrator with a strong emphasis on customization. Extensive experience with SharePoint Designer and InfoPath are a must, as is a moderate ability to create customized web parts using a mixture of HTML, CSS, JavaScript, and XSL (i.e. using a Data View Web Part). Should at least have an understanding of:

  • IIS/SharePoint troubleshooting (i.e. event and ULS logs)
  • How to customize branding
  • SharePoint Designer workflows
  • InfoPath forms
  • Applicability and use of content types
  • SharePoint web service interfaces
  • Feature deployment
  • Standard features (i.e. search/indexing, content management, and Shared Service Providers (SSPs))
  • Enterprise features (i.e. Forms Server, Excel Calculation Services, and Business Data Catalog (BDC))
  • Reporting and business intelligence (BI)
  • Security concerns and audience targeting

Experience with PowerShell and ASP.NET development are a huge plus.

SharePoint Developer
Strong ASP.NET (C#) developer with experience building and deploying fully-automated SharePoint solutions. Must have an understanding of at least:

  • Standard ASP.NET (including membership providers and their applicability to SharePoint)
  • SharePoint object model and web service interfaces
  • SharePoint feature packaging and deployment
  • Web parts and web part connections
  • SharePoint branding components
  • Applicability and use of content types
  • SharePoint-hosted workflows
  • Standard features (i.e. search/indexing, content management, and Shared Service Providers (SSPs))
  • Enterprise features (i.e. Forms Server, Excel Calculation Services, and Business Data Catalog (BDC))
  • Reporting and business intelligence (BI)

Above all, developers are expected to "live" in Visual Studio, yet be ablet o identify when SharePoint Designer and/or InfoPath would be more pragmatic -- and follow through with such a solution.
 
Senior developers and software architects must have broad, hands-on experience across the entire software development lifecycle with formal engineering processes. Experience with defining and documenting an applicable taxonomy and governance plan is a must.

If you're interested in building SharePoint solutions, I highly recommend you find where you fit within these two descriptions. There's plenty of room to grow, but they cover the foundations I -- and many others -- look for when building out SharePoint teams.

Good luck and happy job hunting!


MSDN Subscription: November 2009

By Michael Flanakin @ 5:12 PM :: 1755 Views :: MSDN Subscriptions :: Digg it!

MSDN

The following consists of the English DVD updates released under the MSDN Premium (Team Suite) subscription level for November 2009.

Operating Systems

  • Disc 4617
    • Windows Server 2008 R2 (x64)
  • Disc 4618
    • Windows 7 Ultimate (x64 and x86)
  • Disc 4619
    • Windows 7 Enterprise (x64 and x86)

Developer Tools

  • Disc 4583.02
    • Expression Studio 3

For more information, see the MSDN Subscriptions Index.


MSDN Subscription: July 2009

By Michael Flanakin @ 5:28 PM :: 1620 Views :: MSDN Subscriptions :: Digg it!

MSDN

The following consists of the English DVD updates released under the MSDN Premium (Team Suite) subscription level for July 2009.

Servers

  • Disc 4595.01
    • SQL Server 2008 Service Pack 1 (x86)
  • Disc 2436.38
    • BizTalk Server 2009
    • BizTalk Server 2009 Adapters and Accelerators
    • Host Integration Sever 2009
    • SQL Server 2008 SP1
  • Disc 4614.01
    • Customer Care Framework 2009 SP1 

Planned releases for November 2009 include:

  • Expression Studio 3
  • Windows 7
  • Windows Server 2008 R2

For more information, see the MSDN Subscriptions Index.


MSDN Subscription: June 2009

By Michael Flanakin @ 4:55 PM :: 1583 Views :: MSDN Subscriptions :: Digg it!

MSDN

The following consists of the English DVD updates released under the MSDN Premium (Team Suite) subscription level for June 2009.

Servers

  • Disc 4616.01
    • Commerce Server 2009
    • Office Communications Server 2007 R2

Applications

  • Disc 2434.24
    • Office Accounting 2009
    • Office Accounting 2009 SP1
    • Office Communicator 2007 R2

For more information, see the MSDN Subscriptions Index.


MSDN Subscription: March 2009

By Michael Flanakin @ 4:28 PM :: 1613 Views :: MSDN Subscriptions :: Digg it!

MSDN

The following consists of the English DVD updates released under the MSDN Premium (Team Suite) subscription level for March 2009.

Developer Tools

  • Disc 4583
    • Expression Studio 2
    • Expression Media 2
    • Expression Blend 2 SP1
    • Expression Encoder 2 SP1
    • Expression Media 2 SP1
  • Disc 4603
    • Visual Studio 2008 SP1
  • Disc 3096.1
    • Expression Blend 2
    • Expression Blend 2 SP1
    • Expression Web 2
  • Disc 4612
    • Visual Studio Team System 2008 Team Foundation Server Service Pack 1

Servers

  • Disc 4616
    • Microsoft Office Communications Server 2007 R2 Enterprise Edition
    • Office Communicator 2007 R2
    • Unified Communications Managed API 2.0 SDK
    • Microsoft Application Virtualization 4.5 for Terminal Services
    • System Center Configuration Manager 2007 R2
    • System Center Virtual Machine Manager 2008

For more information, see the MSDN Subscriptions Index.


Boot to VHD: Create VHD from Command Line

By Michael Flanakin @ 3:40 PM :: 8641 Views :: Technology, Tools/Utilities :: Digg it!

Windows 7

Virtual PC is great. Well, it's ok -- it does the job. There's a better way, tho, and that better way is to just get rid of the host OS... or, ask the OS to politely let you get by for a while. That's exactly what Windows 7 does by enabling you to boot into a VHD.

Scott Hanselman Syndicated feed blogged about booting from a VHD in more detail, but I wanted to break it down into discrete steps. For simplicity, I'm going to start from scratch, creating a VHD from the command line.

  1. Put Win7 or Server 2008 R2 DVD or bootable USB drive in
  2. Restart your computer
    NOTE: You'll need to be sure you can boot using the necessary device in BIOS settings (obviously)
  3. Press any key to boot from CD or DVD
  4. When the Install Windows screen is shown, press Shift+F10
  5. Type d:, press Enter
  6. Type md machines, press Enter
  7. Type diskpart, press Enter
  8. Type create vdisk file="c:\machines\win2008r2.vhd" type=expandable maximum=50000, press Enter
    NOTE: Be sure to set a maximum your machine can support; Windows will temporarily expand the VHD to that size when you boot into it
  9. Type select vdisk file="c:\machines\win2008r2.vhd", press Enter
  10. Type attach vdisk, press Enter
  11. Type exit, press Enter
  12. Type exit, press Enter
  13. Click Next
  14. Click Install Now
  15. Select desired OS (server only), click Next
  16. Check I accept the license terms, click Next
  17. Click Custom (advanced)
  18. Select Disk 1 Unallocated Space (...GB)
  19. Click Drive options (advanced)
  20. Click New, then Apply
  21. Click Format, then OK
    NOTE: If you see a "Windows cannot be installed to this disk..." error, ignore it.
  22. Click Next and continue to install the operating system as you normally would

After the installation completes, Windows Boot Manager will give you an option to boot into either the host or guest OS instances. Gotta love it!