Entries from May 1, 2012 - May 31, 2012

Tuesday
May222012

Interlude: The Comic Sans Song by gunnarolla  

Bold, italic, underline
If we'd give it a moment it could shine
To ban it would be a measure so drastic
How can you hate a font that's so fantastic?

Lyrics can be found at the YouTube video

Tuesday
May222012

Interlude: ArtRage 2012.05.22  

Done with ArtRage Studio Pro 3.5

Untitled-(2012-05-12)

Monday
May212012

Interlude: Could This Be by Noisa  

http://youtu.be/aeF1ZvA2IEQ?hd=1

 

 

0221

 

0222

 

0226

 

0227

 

0230

 

0232

 

0240

Monday
May212012

Real-World Metro: GitHub for Windows

Announced today, GitHub for Windows is the most beautiful modern DVCS client UI currently available. It has a well-thought-out Metro look-and-feel. I tried Git via GitHub back in 2009 only to switch to – at the time – more straightforward Mercurial tools (I use TortoiseHg and VisualHg for Visual Studio Integration).

I don't think this alone would cause me to switch from Mercurial but at the very least it is a bold step forward in DVCS client user experience that others can learn from.

Some basic screen shots below. More screenshots at the original announcement.

Link to All Screenshots

 

Wednesday
May162012

The easy way to run Powershell 2.0 using .NET Framework 4.0  

If you've been exploring creating your own modules and cmdlets with Visual Studio, you've likely stumbled onto the following problem: you are unable to load your module using the import-module command because of an error stating that “This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.”

Snap002

The reason is simple enough. When PowerShell 2.0 starts it is using the old .NET Framework's CLR (which begins which is version 2.) so it will be able to load it modules compiled against .Net Framework 3.5 (which continues to use the version 2 CLR) but not .Net Framework 4.0 (which uses the version 3.0 CLR). This is perhaps a little surprising because Windows 7 comes with .NET Framework 4.0 installed.

You can see exactly what versions Powershell is using by examining the value of $PSVersionTable

Snap003

Notice the value or CLRVersion begins with a "2".

In any case, this is a common occurrence with a straightforward solution. You can force PowerShell and PowerShell ISE to start using the .NET Framework 4.0 as documented in this StackOverflow question. The procedure involves creating two small XML files and placing them in the appropriate place.

Being lazy, of course, we hate manual steps, so here is a small PowerShell script that will automatically create and place the necessary files. Be aware that the script as shown below will overwrite existing .config files.

$config_text = @"
<?xml version="1.0"?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0.30319"/>
        <supportedRuntime version="v2.0.50727"/>
    </startup>
</configuration>
"@

$config_text| Out-File $pshome\powershell.exe.config
$config_text| Out-File $pshome\powershell_ise.exe.config

Start PowerShell as an Administrator an then run the script.

Now restart PowerShell and examine the value of $PSVersionTable.

Snap005

Notice the value or CLRVersion now begins with a "4".

And now your .NET 4.0 module will load correctly.

Snap006