Chris Pietschmann

husband, father, hacker, entrepreneur, futurist, innovator, autodidact


Silverlight: Load JavaScript from Embedded Resource and Execute Within Page

I've been playing around with Silverlight 2 Beta 1 alot lately, and one of the areas I've been focusing on is interoperability with JavaScript and the DOM. Here's a technique I've found that allows you to inject JavaScript into the page from within your Silverlight application. This example also starts with the idea that the JavaScript you are going to inject is stored as an Embedded Resource within your Silverlight Application. Step 1: Create your JavaScript (.js) file and... [More]

My First Experience with ReSharper v3.1, not so good

A while back I won a free license for JetBrains ReSharper v3.1 at one of the monthly WI .NET Users Group meetings. Today, I finally got around to installing it to check it out. I found some of the code hightlighting/outlining features to be pretty neat, but.... But, I experienced a 1/2 to 1 second lag for Visual Studio 2008 to do anything after I installed ReSharper. This lag was quite an annoyance. So, consiquentially, I uninstalled ReSharper to get my VS performance back. I... [More]

Virtual Earth + ASP.NET AJAX Now Fixed in Safari

A couple months ago I blogged about the fact that using Virtual Earth and ASP.NET AJAX together on the same page caused errors in Safari. There is good new to report back, the latest update to Virtual Earth has fixed this issue. In fact Virtual Earth v6.1 actually includes much better Safari support that previous versions; it actually works correctly in Safari. I found this to be especially helpful since I can now support Safari with my Web.Maps.VE product. What's the catch? I can't... [More]

Hyper-V Compatibility Check Tool for AMD Processors

I just found that AMD has a tool titled "AMD-V Technology and Microsoft Hyper-V System Compatibility Check Utility". You can run this tool on Windows Vista or Windows Server 2008 (make sure you run it with elevated privileges) to see if your hardware combination of AMD Processor and Motherboard support Hyper-V. I guess this would have saved me from the trouble of installing Win 2008 with Hyper-V just to figure out that my AMD Athlon 64 X2 4200+ supports Hyper-V, but my motherboard doesn't. I r... [More]

.NET 3.5 SP1: A Service Pack or The Real .NET 3.5

Microsoft just RTM'd Visual Studio 2008 and .NET 3.5 last November and launched them in February. And, their already releasing a Service Pack? What could they possibly have to all fix in a Service Pack this soon? Well, actually they aren't just fixing stuff; they are adding a huge amount of functionality too. ScottGu has a long post about what's all in it here. I'm thinking that .NET 3.5 needed to ship, so they took out everything that just wasn't quite all the way there and are including it in ... [More]

ASP.NET: Create AJAX Server Controls using the ScriptControl base class

I've been doing a lot with ASP.NET AJAX for almost 2 years now, including my Web.Maps.VE product. So, I've decided to spread some of my knowledge in this area by writing up some articles on things that I've learned and figured out. As a note, since .NET 3.5 is the "latest and greatest" version of the framework out at the time of this writing, this article targets .NET 3.5. This article also assumes you have a basic understanding of ASP.NET AJAX and JavaScript. What is ScriptControl... [More]

Mono: WinForms finally API complete and Moonlight v1.0 is released

It's been forever since I posted anything about Mono, but this stuff deserves some attention. Mono's Winforms 2.0 is now API Complete Yesterday, it was announced that the System.Windows.Forms support in Mono (an open source implementation of the .NET Framework targeting Linux, MacOS, Windows, etc.) has finally reached a state of being API complete. This means the public API for WinForms in Mono is exactly the same as in .NET; with a total of 12,776 methods! The first check-in of WinForms occur... [More]

Windows Server 2008 Hyper-V RC0 and Athlon 64 X2 4200+

I used virtualization through VirtualPC 2007 on this computer, an Athlon 64 X2 4200+ with a Gigabyte GA-M55SLI-S4 motherboard, and it worked perfectly. The Athlon 64 X2 even support Hardware-Assisted Virtualization, so things actually run pretty smooth. Now I've upgraded to Windows Server 2008 so I can run virtual machines with the new Hyper-V (RC0), but when I try to start any virtual machine it gives me an error saying "The virtual machine could not be starte... [More]

The Milwaukee Visual Studio 2008 Launch Event is over; but the fun has only begun

Two days ago, May 9th, I attended the {Heroes Happen Here} launch event for VS'08, SQL Server '08 and Windows Server '08 in Milwaukee. There was alot of really great content shown off, and we all got to take away some free software, plus the event was free to attend. I learned about new technologies like Windows Server 2008 Hyper-V and SoftGrid (which look very interesting, by the way), and I had the chance to talk to some really great people from the .NET developer c... [More]

Virtual Earth: Restrict Map to Specified Viewable Area

This example demonstrates the ability to restrict the viewable area (and impose map boundaries) of a Virtual Earth map to be within a specified distance from the maps original center point (at time of initial load), and restrict to a maximum zoom level. Why might you want to do this? There are times when you may want to restrict your users from possibly getting "lost" when viewing your data on a map. Also, you may want to restrict the user from panning around the globe in an... [More]

Virtualization on the Desktop: VirtualPC 2007 and Hyper-V

About a year ago I started to use VirtualPC 2007 on my Vista x64 box to allow me to run other instances of OS's within isolation without requiring me to purchase anymore hardware for my desk. It's actually rather simple to do and makes it extremely easy to roll back any of your systems to a previous state in case they get screwed up by installing beta software or for any other reason. Benefits of Virtualization  To backup a virtual machine, all you do is burn the virtual... [More]

Virtual Earth Resources

Here's links to some excellent resources for MS Virtual Earth development: Virtual Earth Concepts by Mike Garza These are some excellent concept examples for building rich user experiences with Virtual Earth. Some of the examples include: Draggable Shapes/Pushpins,  Select plotted Shapes using a Selection Box, and Sidebar listing plotted Shapes that highlights the Shape on the map when hovered over. Today he just posted two new examples of adding Drag Han... [More]

Virtual Earth: Center Map to Shape during OnClick Event

Here's a short, simple example of wiring up Virtual Earth to zoom/pan the map to showing the best fit to center on a specific Shape object that is clicked on by the user. This example works in both 2D and 3D map modes. [code:html] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html> <head> <title></title> <meta http-equiv="Content-Type&qu... [More]

Alpha Geeks Are Still Joe Schmoe! And the Community Leads Itself.

There's been some major discusson back and forth the last few weeks on the state of the .NET Development Community. I even wrote a little on it myself almost a month ago. Today, I've come to the conclusion that the misconception of the fact that "Alpha Geeks Are Still Joe Schmoe", is in fact the real problem. And the majority of the community hasn't yet realized that in fact they are the ones leading the community in new directions. Alpha Geeks Are Not&n... [More]

Deeper in .NET 2008 is less than 15 hours away!

Deeper in .NET 2008 is less than a day away. It's tomorrow already! I am probably more excited about DiDN this year since we didn't have one last year, but it's still going to be awesome. Do you want to learn about some really awesome stuff?   Do you want to meet and talk with some of the best developers in the community? If you said yes to either of the above questions, then you wont want to miss out. If you haven't signed up yet, that is ok, you... [More]

Some ASP.NET AJAX Tips and Tricks

I've been using ASP.NET AJAX alot for a while now, so I thought I'd share some of the Tips and Tricks that I've learned though my adventures. Lately, all the buzz has been around Silverlight, but I know there are still a lot of devs out there that can benefit from these tips and tricks. UpdatePanel Tips Use UpdateMode=Conditional By setting the UpdatePanel's UpdateMode property to Conditional, it will only update its contents when one of its triggers o... [More]

I am now a Virtual Earth MVP!

This is an exciting April fools day for me. I recieved the following email from Microsoft: [MVP] Congratulations! You have received the Microsoft MVP Award Dear Chris Pietschmann, Congratulations! We are pleased to present you with the 2008 Microsoft® MVP Award! The MVP Award is our way to say thank you for promoting the spirit of community and improving people’s lives and the industry’s success every day. We appreciate your extraordinary efforts in Virtual Earth tec... [More]

Add System Menu Items to WPF Window using Win32 API

Here's the simple code necessary to add some custom menu items to your applications System Menu within a WPF application. If you're not familiar, the System Menu is the menu that shows up if you click on the apps icon in the upper left or if you right click the app in the taskbar. [More]

.NET Community: Learn The Current State Of The Platform Before Deciding On Its Future

There has been some discussion lately in the blogosphere and on DotNetKicks around the subject of "What is wrong with the ASP.NET Community?". There has been alot of discussions goin on, and it has really gotten me thinking. Before reading on, please read the following two posts in order. What is wrong with the ASP.NET Community? - by Dan Hounshell The ASP.NET community's only real problem is education - by Jeff Putz Now that you've read the above t... [More]

LinkedIn Group for the Wisconsin .NET Users Group

Here's a link to the Wisconsin .NET Users Group LinkedIn Group I just created. Anyone can join this group on LinkedIn, and it's a nice way to show your affiliation with the WI .NET Users Group within your LinkedIn profile. Also, heres a link to the Facebook group for the Wisconsin .NET Users Group:

PasswordTextBox for Silverlight 2 Beta 2

The standard TextBox control that is built into Silverlight 2 Beta 2 is a bit lacking and is missing alot of features that we have become accustomed to in a TextBox. One of those features is being able to mask the characters being displayed when its used to accept passwords. Here's a small PasswordTextBox control I built that does just that; it masks the characters from being displayed so you can accept passwords like you're used to. Update 6/7/2008 - I just tested this w... [More]

Working with HTML DOM in Silverlight 2 Beta 1 using the Bridge Pattern

Working with the HTML DOM in Silverlight 2 Beta 1 is rather simple and easy to do. However, to my surprise it's a similar experience to working the the HTML DOM from within JavaScript; you have to know the name of the properties to get/set and you don't have the luxury of compile time checking or intellisense. Here an example of creating a new DIV element and setting some of it's properties: [code:c#] HtmlElement myDiv = HtmlPage.Document.CreateElement("div&quo... [More]

Show a MessageBox in Silverlight 2 Beta 1

Since Silverlight is just a subset of WPF, there are alot of things missing. One missing thing I found is the System.Windows.MessageBox. I'm a little puzzled as to why they would have left this out, but I imagine MessageBox's are handled very differently in different Operating Systems. It's probably a little work to get it working on both Mac and Windows, but I hope it gets into the final release. It's not a major feature, but one that is used quite often when developing desktop ... [More]

MIX'08 Session Recordings Now Available Online

The MIX'08 Session Recordings are now available online. So far, its just the recordings from yesterday, but all the recordings for the entire event should be up by Monday. This is really awesome, you can almost attend the event for free online. Go check it out.

Opening Client-Side Files using Silverlight

Silverlight does not have direct access to the local file system for security reasons. However, you can still prompt the user to select a specific file to open using the OpenFileDialog similarly to how you do in .NET. Here's some basic code that demonstrates opening a user specified file using Silverlight 2 Beta 1. This basic example opens up a user specified file, and displays its contents within a textbox. Page.xaml file <UserControl x:Class="SilverlightFileSystemInfo.Page"   ... [More]