Friday, May 23, 2008

WPF Fun for WinForm'ers - How to host a WPF User Control in your WinForm (and how to interact with it)

CodeProject - Integrate WPF UserControls in WinForms

"WPF_Winforms_1

Introduction

In one of our last articles the author described how to embed WinForms-Controls into WPF. This one explains the other way around: how can one integrate a WPF-UserControl into WinForms. In the example, a scaleable WPF-image is hosted in a WinForms-Dialog.

..."

A simple, enough information to get you going on your own, project which shows WinForm'ers how to get some WPF goodness onto their forms.

300 tips toward being a better People Manager...

Slacker Manager - 300 Free Employee Engagement Ideas E-Book

"Are you looking for ideas to create, build, foster, and sustain employee engagement? In conjunction with 11 other authors from the EMPLOYEE ENGAGEMENT NETWORK we created a 39 page free e-book to enrich your employee engagement knowledge and efforts.

...

Here are 7 suggestions on how you can apply the concepts from the book:

  1. Scan the authors to find ideas.
  2. Read the book as a primer to create your own alphabet.
  3. Launch a team or project group exercise on engagement based on the book.
  4. Choose a letter each day and focus on that letter to enhance your own engagement or the engagement of others.
  5. Share the alphabets with others at work.
  6. Offer the book as a free resource during employee engagement workshops.
  7. Develop your own applications based on your interest and focus on employee engagement.

..."

How did you learn to manage people? On the job, on the fly, as you go, right? From how you were/are managed? By seeing and remembering what you liked and didn't (i.e. management patterns and anti-patterns)? Try this, try that and try again?

Yeah, me too.

So I try to keep an open mind and eye out for ways to be a better manager, boss, and best of all, leader. When I saw this, and given it's pretty short and free, I thought it well worth a quick post...

This not a long drawn out "How to manage people and get them to pretend they are engaged" ebook filled with pages of theory and methodologies, instead a list of short and simple suggestions from a number of experienced people. It's easily digestible and can be used right away. And did I say it was free?

If nothing else, it can be a reminder to you, the manager, to lift your head up out of the day to day madness and see beyond the door toward making your workplace just a tiny bit better. Do this enough and it should add up to a win for everyone...

Pex 0.5 Released - Your Parameterized Unit Test Buddy

Nikolai Tillmann's Blog - Pex 0.5 Released

Pex

Today we released the first version of Pex under a Microsoft Research License. Ideally you have Visual Studio 2008 Professional to get the full experience, but all you really need is .NET 2.0.

We even wrote a tutorial. While it's quite long, exercise 3 helps you to get started with Visual Studio 2008 Professional, and exercise 4 shows you how to use the command-line.

What is Pex?

Pex generates test inputs that cover all, or at least many of the corner cases in your .NET code. These test inputs are plugged into parameterized unit test that you write. The result is a small unit test suite, where each unit test calls the parameterized unit test with particular test inputs. There is a great picture on our main Pex page that illustrates this process.

Pex supports other unit test frameworks since the unit tests that Pex generates can be executed by other unit test frameworks without Pex. Pex comes with support for MSTest, the unit test framework of Visual Studio, out of the box. For support for other unit test frameworks, please look at the Pex Extensions project.

..."

I dig that logo... ;)

I also dig the idea behind Pex. Unit Testing can only take you so far. You can only write so many tests to cover so many things before your head explodes. Yet you want well tested code, right? You want to try to feed it as much "stuff" as you can, because you KNOW as soon as you give your app to your users (or your assembly to its consumers, etc) that they are going to do "silly user stuff." They are going to feed it data that you just never expected... and break your app in very spectacular ways.

Just because you have 70-80%, or even 100%, code coverage doesn't mean you're done and the app is perfectly tested. It just means that the tests envisioned provide a little cover and exercise the code in expected ways. Better than nothing that is for sure, but you've only tested what you've decided to test with. (GIGO and all that...)

As I understand Pex, it's meant to examine your code and automate the feeding in of "stuff" you didn't think about or have time to consider (along with the normal "stuff" in between). It's a tool to help you, the coder and test writer, add one more level of assurance that your code is "good" and the edges are tested. An additional sanity check, without you going insane in doing it...

(via Peli's Farm - Download Pex 0.5 NOW!)

 

Update #1 5/23/2008 @ 10:15am PDT:

Ben Hall(Ben Hall's Blog) has a very nice Pex post, Microsoft Pex - 0.5 Released, covering download/install all the way through viewing the testing results... If you're interested in Pex and want to see it "in action" you should check out his post...

.Net Client Profile - The .Net Framework on SlimFast (aka a slimmed down version of the Framework with JUST the client stuff in it - A .Net Framework in a 27MB install...)

Troy Martez's Weblog - Introducing the .NET Framework Client Profile

"...

The .NET Framework 3.5 Client Profile (Client Profile) was created to answer the feedback from many customers that a smaller framework was needed specifically for Client Applications. The Client Profile is a subset of assemblies already contained within .NET Framework 3.5 Service Pack 1. The Client Profile subset is focused on fulfilling the needs of Client applications.

The Client Profile contains the following features:

  • Smaller framework deployment - ~27 MB client deployment package
  • Smaller, faster client deployment boot strapper
  • Client Application focused feature set:
    • Common Language Runtime (CLR)
    • ClickOnce
    • Windows Forms
    • Windows Presentation Foundation
    • Windows Communication Foundation
  • Visual Studio 2008 SP1 Integration – Applications can be targeted specifically for the Client Profile subset.

..."

BCL Team Blog - .NET Framework Client Profile [Justin Van Patten]

"Last week Soma and Scott Guthrie announced the availability of Visual Studio 2008 and .NET Framework 3.5 SP1 Beta.  As part of this release, we’re introducing the .NET Framework Client Profile, a smaller .NET Framework redist optimized for .NET client applications.  The new redist weighs in at around 26.5 MB, enabling a smaller, faster, more reliable installation experience for .NET client applications on machines that do not already have the .NET Framework installed.

.NET Framework Client Profile Assemblies

Here's the list of assemblies that are included in the.NET Framework Client Profile.  Please note that this is actually the list of assemblies that will be included in the RTM release of the Client Profile; the beta version released last week includes some assemblies that will not be included in the RTM release (more details below).

..."

I'm pretty excited about this... Deployment, while easier in .Net than in the past, still can be a pain. A pain in getting that initial .Net Framework deployed. I feel that the .Net Framework Client Profile will go a good way in helping with that pain (27MB is SURE a lot better than the 250MB+ full on framework).

While this is kind of a stop gap, it's a very nice one. The bin's are the same, between the full Framework and the Client Profile, the same zero's and one's. The Client Profile is just lighter and doesn't have the server side baggage. And the Profile can easily be "upgraded" to the Full if needed (since they are the same bin's... etc, etc).

Now a perfect world would let us deploy the app with only its required framework components statically linked into it, and would not require any prerequisite admin rights required framework install. But we don't live in a perfect world...

What could get us close is if SoftGrid (now known as Microsoft Application Virtualization) were baked into Windows and VS. That from within VS we could build virtualized applications, which would then include said framework embedded into the virtualized app space... And if SoftGrid were baked into Windows we'd finally have a real xcopy deployment story.

Maybe one day...

Here's a Hand Gesture for you... Um... I mean Hand Gesture Recognition via Cam and C#

CodeProject - Hands Gestures Recognition

Gestures_Recognition

Introduction

Since the time I’ve wrote my first article about motion detection, I’ve got a lot of e-mails from different people around the world, which found the article quite useful and found a lot of applications of the code in many different areas. Those areas were including from simple video surveillance topics to quite impressing applications, like laser gestures recognition, detecting comets with telescope, detecting humming-birds and making camera shots of them, controlling water cannon and many other applications.

In this article I would like to discuss one more application, which uses motion detection as its first step and then does some interesting routines with the detected object – hands gesture recognition. Let’s suppose we have a camera, which monitors some area. When somebody gets into the area and makes some hands gestures in front of the camera, application should detect type of the gesture and raise an event, for example. When the hands gesture recognition is detected, the application may perform different actions depending on the type of gesture. For example, gestures recognition application may control some sort of device or another application sending different commands to it depending on the recognized gesture. What type of hands gestures are talking about? This particular application, which is discussed in the article, may recognize up to 12 gestures, which are combination of 4 different positions of 2 hands – hand is not raised, raised diagonally down, diagonally up or raised straight.

All the algorithms described in the article are based on the AForge.NET framework, which provides different image processing routines used by the application. The application also uses some motion detection routines, which are inspired by the framework and another article dedicated to motion detection.

..."

I thought this was pretty interesting. Got me thinking that who needs a touch screen when you could use a built in webcam to control your apps via gestures. Think iPhone without the smudges...

Wouldn't that would be cool?. Can we get that in Windows 7?  ;)

Thursday, May 22, 2008

Your Application Suite To Go - Portable App Suite v1.1 Released

PortableApps.com - PortableApps.com Releases 1.1 Update to the PortableApps.com Platform and Suite

"PortableApps.com is proud to announce the 1.1 release of the PortableApps.com Platform and the PortableApps.com Suite, making it easier than ever to carry your favorite software with you. This new update makes the most popular portable software platform even better than before. Now you can take your digital life with you on your USB flash drive, iPod, portable hard drive, memory card or other portable device. Browse the web, check your email, chat online, listen to music, keep your passwords secure, work on documents, check your datebook and even play a few games... all on the go. And, as always, it's all open source and completely free.

The PortableApps.com Platform 1.1 and the PortableApps.com Suite (Standard and Light Edition) are available for immediate download from PortableApps.com.

...

PortableApps.com Screenshot

All versions of the PortableApps.com Suite include the integrated PortableApps.com Menu (pictured at right) and the PortableApps.com Backup utility along with a set of custom icons, an autoplay configuration, folders and a quick start shortcut. In addition, the packages include:

*Note: The Light Suite includes AbiWord Portable (word processor) instead of OpenOffice.org Portable.

...

First time installers can download their choice of the PortableApps.com Platform weighing in at only 1MB, the full PortableApps.com Suite at 113MB or the PortableApps.com Suite Light Edition at 35MB. Just run the installer and choose your drive. When done, the Platform will start automatically.

..."

An entire OSS suite of applications, all setup and configured for portable (i.e. USB, key, thumb drive) usage.

I wonder if I could Live Mesh this? So I wouldn't even need a thumb drive, just an internet connection, Mesh and pow, I have all these app's AND my personal settings for them on any of my PC's... That's worth a try a least...  :)

 

Related Past Post XRef:
PortableApps Suite

Wednesday, May 21, 2008

Universal Driver for Windows SideShow Updated to v1.5 - Transports now include USB, Bluetooth and TCP/IP...

Windows SideShow Team Blog - Announcing the Universal Driver for Windows SideShow 1.5!

"Last week, we quietly released to Windows Update a new version of the Universal Driver for Windows SideShow! This new release includes support for additional transports, bringing the complete list to:

  • USB
  • Bluetooth
  • TCP/IP
  • TCP/IP with SSL

In addition to powering devices built using the Windows SideShow Device SDK for .NET Micro Framework v1.4 (and later), and perhaps the most exciting part of this release, is the protocol documentation which explains how you (yes, you) can implement your very own Windows SideShow-compatible device without having to write any PC code at all. That's right, no more writing a PC driver when you build a SideShow-compatible device; we've done that work for you. And did I mention it's free? Yes, that's right: there's no royalty, license, or any other legal documents you need to sign in order to get access to, and use, the documentation and driver for your device.

..."

I hate you Microsoft. After seeing this my mental gears are a-turning and a-churning (you can smell the burning... really... ;)

It's the TCP/IP transport that started it. If I understand the protocol doc's correctly (having spent an entire five minutes reading them), I should be able to use TCP/IP socket communications from a device (on the same network, yada, yada) to display SideShow information?

So I could create a utility that I can run on a PC to display the SideShow information from another PC? Say a small window on a living room PC to display SideShow info from the work PC in the home office?

Hum....

TeamBuild and Integration Testing

Grant Holliday - TFS Build: Running Integration Unit Tests

"If you’re doing a deployment out to a test server as part of your Continuous Integration build process, you may have some unit tests (or web/load tests) to run after the deployment. Since these tests are testing more than just an assembly, they can be considered integration tests.

This can easily be accomplished by modifying your TFSBuild.proj script. Start by overriding the AfterDropBuild or similar MSBuild target and calling the <TestToolsTask> with the correct parameters.

First of all, you’ll need to define the tests that you want to run. The simplest way is to create a Test List called “Integration Tests” that gets saved in your test metadata file (*.vsmdi).

..."

Grant provides some nice tips for adding integration testing as part of your TeamBuild process

PowerGUI 1.5 RTM is now available

Dmitry’s PowerBlog: PowerShell and beyond - PowerGUI 1.5 RTMs

"We have just shipped PowerGUI 1.5.0 - which is a very important upgrade for us with a lot of new and exciting features.

Right now I am overexcited to provide a detailed what’s new list so I will just give you the ones off the top of my head and will hope that others (or myself later this week) will provide a more detailed overview.

PowerGUI Administrative Console:

  • New filters: we have completely revamped the set of filter operations to make them much more user-friendly so you get “starts with”, “ends with” and so one instead of “like”
  • Totally revamped code generation for the PowerShell Code tab. We got rid of scriptblocks and made the code much more readable.

PowerGUI Script Editor:

  • Output window now has a live PowerShell prompt built into it!
  • Multitab UI.
  • Edit menu has options to copy code as HTML or RTF – for all bloggers out there.
  • Errors are written to the output window (obviously in red).

..."

A very cool, and still free, PowerShell tool gets even better...

 

Related Past Post XRef:
PowerGUI is now officially RTM
PowerGUI - Free PowerShell Script Editor and System Management Console (via PowerShell)
Want to access TFS Work Items via PowerShell? Then you'll want to check out the Team Foundation Server Project Browser PowerPack for PowerGUI

XBox 360 Community Game Catalog (Beta) now available on XNA Creators Club

ZiggywareXNA Community Games Beta

"Today Microsoft has updated the Creators Club website and has exposed the Community Games Beta platform for submitting and reviewing games for Xbox LIVE! Among the changes are a new Quick Start Guide, Educational Content, a Role Playing Starter Kit and a Community Spotlight area.

Read More about the new XNA Creators Club web site.
Visit the Creators Club web site" [Post leached in full]

XNA Team Blog = Announcing: Community Games on Xbox LIVE Beta

"Today, we delivered on the promise we made at GDC to democratize game development with the launch of the newly designed XNA Creators Club Online Web site and the highly anticipated beta of Community Games on Xbox LIVE. When we announced this new service at GDC 2008, it was met with great excitement around the world. Now we’re pleased to offer you an opportunity to interact with this new site and test out the distribution pipeline to Xbox LIVE!  If you’re a already a premium member, you will be able to join us in the Community Games on Xbox LIVE Beta immediately, where you can submit your games and review others games, and enjoy playing them on Xbox LIVE! If you are not a member, sign up today and get involved in making game development history.

We’re extremely excited about what we have to offer – this effort represents, quite literally, several developer-years of work, and we’re proud to show it off! 

Here are a few cool things we encourage you to check out:

..."

So much fun stuff to code, so little time...

There are two games currently in the Catalog, but I'm sure many more will be added quickly.

Since I'm a premium member I'm going to have to give the peer-review process a try this weekend... (Can't code a game as I'm still working on my Zune projects and have a ton of work to do on my other personal coding projects... oh yeah, and I have to fix my lawn sprinklers... sigh... ;)

 

Related Past Post XRef:
All sorts of XNA Goodness Announced - Community XNA Games via XBox Live and XNA on the Zune!
XNA Game Studio 2.0 RTW
Creators.XNA.com opens
Torque X Free for XNA's Creator's Club Premium Members
Ton's Of Cool XNA (XBox360) Examples

Tuesday, May 20, 2008

How Do I Get Started with the Entity Framework? - You can watch this 9 minute video...

Microsoft Downloads - How Do I Get Started with the Entity Framework?

"In this introductory video, Alex James will show you how to build a simple Entity Data Model in a short amount of time

...

Learn how to get started with the ADO.NET Entity Framework by creating an Entity Data Model from an existing database.

..."

I am SO happy that the Entity Framework (EF) is coming as part of .Net 3.5 SP1. Having it baked into the Framework and not some optional, additional add-on is huge. This move goes a long way in resolving my product support and lifetime fears. Of course, just because it's baked in doesn't mean it won't be killed in a couple future .Net versions, but it's less likely... IMHO it takes it to a whole new level [buzzword alert]

In any case, this is a nine minute intro to the Entity Framework video. It's pretty much what you would expect in a nine minute intro video (except AdventureWorks and Northwind is NOT used ;), but if you're new to EF this is a very cool example of the EF Design Surface and a quick console code sample.

Blender 2.46 Released (Open Source 3D Tool, not "Expression Blend")

Blender.org - Blender 2.46

"The work of the past half year - also thanks to the open movie project "Big Buck Bunny" - has resulted in a greatly improved feature set, now released as Blender 2.46, the "Bunny release"!

This version supports a new particle system with hair and fur combing tools, fast and optimal fur rendering, a mesh deformation system for advanced character rigging, cloth simulation, fast Ambient Occlusion, a new Image browser, and that's just the beginning. Check the extensive list of features in the log below... have fun!

..."

3D is one of those "I really wish I could this" things. I keep hoping that lightening will strike and suddenly I'll become Mr. 3D. But instead it looks like it's going to take blood, sweet and tears... (or maybe just the "right" app?  ;)

(via Slashdot - Blender 2.46 Released)

 

Related Past Post XRef:
"Blender 3D: Noob to Pro"
Kerkythea - Free Photorealistic Rendering for 3D Design Programs (Blender, SketchUp, 3ds Max, etc)

Intro to XAML in 20 Minutes (or less) - Or "What the heck is this XAML thing?" - Or "How I learned to love my zammel"

The Moth - XAML: Level 100

"Since you are reading my blog, chances are that you are a .NET developer. Do you realise that eXtensible Application Markup Language (XAML) is now part of .NET? Are you familiar with it? How would you describe XAML (pronounced "zammel") to someone that is not familiar with it if you only had 10-20 minutes? Below is my take.

Background
XAML was introduced as part of Windows Presentation Foundation (WPF) which was released in November 2006 as part of .NET Framework v3.0. In addition, XAML is at the core of Silverlight, v2 of which will be released this year. Whilst XAML itself is independent of those two technologies, I am a practical person so I associate XAML with those two presentation technologies (WPF for the Windows desktop and Silverlight for the cross-platform browser) and have no qualms in intermixing those terms in this blog post. The XAML that Silverlight 2 will support is a subset of the XAML that WPF supports but the core principles and most capabilities are the same.

XAML is an XML language for describing a hierarchy of objects and their properties; in our concrete examples, it describes a hierarchy of visual objects that make up a Graphical User Interface (GUI).

...

Conclusion – XAML levels of competency
If you have been ignoring XAML so far, I don't think you can afford to do so any longer. IMHO there are 4 levels of XAML competency:
Level 100 – truly understand all of the above.
Level 200 – confidently read XAML (e.g. as spat out by VS2008 or Blend).
Level 300 – be able to type XAML yourself with an aim to create a structure of a bland GUI (setting basic properties and hooking events etc).
Level 400 – create styles, templates, animations and set gradient colours by hand."

The Moth is at it again, this time with a long elevator pitch as to what XAML "is".

As for my current XAML competency level... err... um... yeah...  :/

ClickOnce - Getting the Application version and putting it into the Publish.htm

My.RAM.Serialize() - TeamBuild ClickOnce Versioning

"It seems many people have had issues getting the version number correctly within their tfsbuild.proj files to use in their ClickOnce html files.  The solutions I've seen were very complicated, but this may be because the examples I've seen were in TFS 2005 or they were using different tasks.

My coworker added the SDC tasks to our build server because there is functionality for XML and file manipulation.  From his starting point I went on to look further into two specific tasks: Xml.GetValue and File.RegEx.

...

I manually published my project to get the publish.htm file.  I then made it a part of my project so that I could copy it to my published application's directory and modify the version number.  I edited the html file and put a #VERSION# tag so that the File.RegEx task could find it and replace it with the $(ResultsItem) variable.  We get $(ResultsItem) from the ItemName attribute of the Output element within the Xml.GetValue task element.  The following is the snippet of my tfsbuild.proj file that does the versioning of the publish.htm file:

..."

I've been pushing my team into getting our apps to be built via TeamBuild, no matter their deployment target, be it MSI or ClickOnce. Peter has been blogging about the things he's learned fighting this battle (besides "I learned my boss is a [fill in the blank]"  ;)

And with the above post, I believe the battle has finally been won! (Damn my guys are GOOD!)

Of course, being the manager that I am, I have now tasked them to write up a complete, start to finish, "how to" to capture and share their experience with TeamBuild/ClickOnce. My goal is not only share this with other developers in our Practice, but also with the development community via CodeProject.

If/when we publish it, you can bet I'll highlight it in a post.  :)

Monday, May 19, 2008

Want to access TFS Work Items via PowerShell? Then you'll want to check out the Team Foundation Server Project Browser PowerPack for PowerGUI

Dmitry’s PowerBlog: PowerShell and beyond - TFS inside PowerGUI

"Steve Crouse has recently published his PowerGUI pack for Microsoft Visual Studio Team Foundation Server - thus, fulfilling James Manning’s long time wish. ;)

This is a very nice tool allowing for browsing the work items for all the projects on a Team Foundation Server either by area or iteration. In addition you can view all open work items assigned to you, regardless of project. Project metadata such as the work item editing form definitions can be viewed for each project.

..."

PowerGUI - [1852] Team Foundation Server Project Browser PowerPack

"Allows browsing of TFS projects by Area Path or Iteration.
Allows execution of stored queries for any project.
Allows viewing of work item attachments.
Multi-select a group of work items and click the 'Open vs. closed chart' action to generate a simple pie chart.

Must be run from a machine with Team Explorer installed.
Will prompt for the TFS server address.
Click the 'Change server connection' node to connect to a different server.

..."

TFS Work Items and PowerShell, two things that taste better together... (sorry, it's a Monday... ;)

image

image

Virtual PC 2007 and Fedora 9 - With a little work, they can be friends...

The Sean Blog - Installing Fedora 9 (Sulphur) in Virtual PC 2007

"Fedora 9 was released last week, which you can download here: http://fedoraproject.org/get-fedora.html.  What's new?  Highlights from the release notes include:

...

Will this be the installation that "Just Works" out of the box?  Nope.  Same problem that Ubuntu 8.04 has within Virtual PC... "An unrecoverable processor error has been encountered.  The virtual machine will reset now."  Good times!

...

Fortunately, from our work with Ubuntu, we know the solution.  On the main boot screen, hit [Tab] to edit the options. Add noreplace-paravirt to the end of the boot parameters, and hit enter.

...

There we go... Fedora is able to boot the kernel and start up anaconda.  The problems I noted in my previous Fedora Posts (Fedora Core 6, Fedora 7, and Fedora 8)  of no mouse and messed up graphics seems to have been fixed.  Very Nice!

...

One final reminder... to make sure that you do not have to enter the noreplace-paravirt each time you boot up, go edit your /etc/grub.conf file to add that parameter at the end of the line that looks something like kernel /vmlinuz-2.6.25.3-18.fc9.i686 ro root=dev/VolGroup00/LogVol00 rhgb quiet.  If you ever update your kernel, you'll have to do it again.  Oh well... maybe Fedora 10 will fix this issue.  I'll keep my fingers crossed..."

If you're interested in this, make sure to click though to Sean's post as there's more information and pretty pictures... ;)

 

Related Past Post XRef:
Open SUSE 1.9/Mono VMWare to Virtual PC
Virtual PC 2007 & Linux Sound
Virtual PC 2004, Ubuntu and Video Display Issues
[tip] Knoppix cheat code for Virtual PC Video

Sunday, May 18, 2008

Dr. Deveau - That's my daughter! You go Erica!

Yesterday, was one of the proudest moments of my life. One of those life's milestones that you never forget. Yesterday, I watched my daughter step up and receive her Doctorate of Physical Therapy.

I'm finding it hard to describe just how proud of her I am. These last three years were an extremely tough battle for her, yet she hung in there, fought the good fight and made it through. She did it!

 

I'm proud to introduce you to Dr Deveau...

DCP_3090

Erica during the Hooding ceremony (I need a new camera... one with auto stabilization... sigh)

 

DCP_3105

Two of my favorite people in the world, Jacob and Erica (Damn, but they are good looking kids aren't they!  :)

 

DCP_3106

And more of my favorite people (My two hotties... my wife, Annette, and Erica)

 

 DCP_3108 

The family picture...

 

DCP_3104

The proud grandparents (my parents) and Erica.

 

DCP_3115

At the Commencement...

 

DCP_3117

Erica on the jumbo-tron...

 

Erica,
You did great honey...

Congratulations and love ya!

Entity Framework - Why use it instead of ADO.Net, Linq to SQL or other ORM?

system.data.objects dev guy - Why use the Entity Framework?

"There are a number of places where you can read an introduction to the Entity Framework, listen to a podcast about it, or watch a screen cast or video of an interview.  Even with these various resources, though, there are so many different data access technologies out there that it's not uncommon for me to get the question: Why should I use the Entity Framework?  Or what differentiates it from other options like just using ADO.Net SqlClient and friends, LINQ to SQL or something like nHibernate?  I like the second question better, because the truth is that different problems merit different solutions.  So here's just a quick take on my perspective about these

..."

I'm still a little leery about jumping into the EF boat, having been burned by jumping to early into past data access method boats...

BUT I'm seeing MS use EF in some project (ADO.Net Data Services and others) and that gives some hope. Also I like the concepts around EF, like the separation between entity and DB schema. Having written more ADO/ADO.Net glue code than I want to think about, making that easier would make me a happy camper.

I'm still likely not going to roll it into a production app on RTM day 1, but I am going to be watching it closely, considering how and where it will make my development faster, easier and applications better...