December 13, 2011
spout telerik
Goodbye Microsoft, Hello Telerik!
I have gotten to do a ton of really great things at Microsoft:
- I got to write a column on WPF and turn that column into not one, but two books.
- I got the excitement for every blog post in the first two years wondering if this was the one that was going to get me fired. (It was close a few times.)
- I got to throw several Developer Conferences (DevCons).
- I got to spin up a completely new community from scratch (“Oslo”).
- I got to stay up all night erasing the word “WinFS” from all of microsoft.com.
- I got to be part of a Microsoft product team from incubation through startup to product and then to kaput.
- I got to get ordained as a minister so that I could marry a PM from the WPF team to a PM on the WCF team as part of the talk I gave with Doug Purdy at the 2008 PDC.
- I got to prepare for that talk with Doug until 4am, then walk back to the hotel, causing people to cross the street to stay away from us. And then I got to give that talk with Doug the next morning right after restoring my copy of Windows that had crashed 30 minutes before.
- I got to drag Lars Wilhelmsen up on stage to read Norwegian from the Oslo Tour Guide book, only to find I was pointing him at German.
- I got to throw an SDR.
- I got to play poker with Microsoft power brokers far above my level (and take their money : ).
- I got to sleep at Don Box’s house and become an adjunct part of his family.
- I got to have two design reviews with Bill Gates (as hard as I tried, I could never see him actually enter the room).
- I got to turn developer feedback into hundreds of bugs across dozens of products.
- I got code into Vista (and I assume into Windows 7 and Windows 8 as well).
- I got to work on the team that built the most ambitious set of templates ever shipped with Visual Studio.
- I got a very quick, very deep education on JavaScript and CSS.
- I got to help drive the developer story for an entirely new platform: WinRT, WinJS and Win8.
- I got to lead two product teams through two PDCs (OK, one PDC and one //build/).
- I got to give the //build/ keynote launching the Visual Studio 11 tools for Windows 8 with Kieran Mockford, who will forever be my //build/ buddy.
- I got to see how the sausage is made for SQL Server, WCF, WPF, Silverlight, Windows Phone 7, Windows 8 and a host of others. I am forever changed.
December 4, 2011
Roslyn Syntax Visualizer Tools
As I do more with Roslyn, I find I want more information about what I’m parsing and how it’s represented in the Roslyn object model. I could, of course, have built myself a little OM dumper for Roslyn, but instead I dug through the samples and found two cool ones built right in, both provided in the Documents\Microsoft Codename Roslyn CTP - October 2011\Shared folder.
Both Roslyn visualizer samples show a set of objects from the syntax part of the Roslyn API and the associated properties for the currently selected node as well as the associated text. The difference is only where the text comes from, a syntax tree or a text file.
November 26, 2011
tools .net
REPL for the Rosyln CTP 10/2011

I don’t know what it is, but I’ve long been fascinated with using the C# syntax as a command line execution environment. It could be that PowerShell doesn’t do it for me (I’ve seriously tried half a dozen times or more). It could be that while LINQPad comes really close, I still don’t have enough control over the parsing to really make it work for my day-to-day command line activities. Or it may be that my friend Tim Ewald has always challenged csells to sell C shells by the sea shore.
November 19, 2011
Telerik: Best tech support response ever
I was playing around with the Telerik WPF controls the other day and I ran into an “issue.” It wasn’t a bug, just a bet peeve of mine, so knowing that two friends of mine, Stephen Forte and Doug Seven, both work at Telerik, I thought I’d report it. I created an account on their support web site and dropped in the following message:
From: Chris
Date: 11/17/2011 10:59:38 AM
when I’m choosing setup options in the Telerik installer, I can select options by clicking on the little, tiny box but I cannot select options by clicking on the wide, giant checkbox label. I’d really love to be able to do the latter as well as the former. thanks!
March 1, 2011
Mary Sells, 1921-2011, Rest In Peace
Mary Hohnke Sells died on a Monday afternoon on the last day of February, 2010 in her home in Fargo, ND. She had just turned 89 years old on the 18th of February. She passed away peacefully in her sleep during an afternoon nap, having been tucked in by her daughter-in-law earlier that day. She’s survived by her son J. Michael Sells, her daughter-in-law Charlene Schreiber, her grandson Chris Sells and granddaughter-in-law Melissa Plummer and her two teenaged grandsons, John Michael Sells and Thomsen Frederick Sells. She was the last of four siblings; John, Shirley and Jim have all gone ahead of her to prepare the way.
Mary died a much beloved mother, grandmother and great grandmother as well as a dear friend to most everyone she met. She was generous of spirit, baking and cooking for her friends and family almost right up until the day she died, making sure her loved ones stayed plump in her love. She was talented in the kitchen, keeping her family recipes close to her heart for only those most special in her life. She was also a mischievous soul, taking advantage of her quick mind and her family’s sympathy for her ailments in later years to cheat outrageously at games of all kinds.
January 15, 2011
The Basics of EF Validation: IDataErrorInfo
When you’re adding or updating data in your database, you really want to make sure that the data being sent to the database is good and true. Often, that’s something that can be checked in the database itself. The first thing you’ll want to do is make sure that the database has validation constraints set on the columns, like nullability or max data sizes. If you’re going EF model-first, you can set these properties on the properties of your entities. If you’re not, you can set these properties in the database or get even fancier and write triggers that check the validity of the data. Finally, you can disable insert, update and delete altogether in favor of stored procedures, changing your EF mapping to generate calls to those instead. The nice thing about checks in the database is that no matter how the data gets there, whether it’s via your EF-based app or not, the checks happen.
However, if you’d like to also put checks into your EF code, perhaps because you’d like to avoid a round-trip to the database for bad data, you can do so in your EF-enabled language of choice, e.g. C#.
January 15, 2011
EF Concurrency Mode Fixed + MVC
Imagine a very simple EDM to describes web advertisements:
January 15, 2011
Using SQL Server Profiler with EF
I’m a big fan of the SQL Server profiler for figuring out what the Entity Framework (EF) is really doing on the wire. If you’re unfamiliar with how to use the profiler, the easiest thing to do once you’ve got it started is File | New Trace. It will ask to which database you’d like to connection and then pop-up the Trace Properties window. If you click on the Events Selection tab, you can filter the events you see. For tracing EF, it doesn’t matter what type of events we see, but it does matter from whom they come. To see EF calls (or any ADO.NET calls) against your database, the easiest thing to do is to press the Column Filters button and set the ApplicationName to be like “.NET SqlClient Data Provider”:
