Scott Hanselman

Rory and Scott Fruit Roll-Up

June 2, '05 Comments [0] Posted in TechEd | Speaking
Sponsored By

Rory and I have a few ideas about videos to shoot while we're at TechEd, but we'll have to see as I'll be doing a session, a BoF and a GrokTalk. Until we figure something out, TechEdBloggers is running an extensive retrospective on our poor-man's promotional videos with commentary from Leonard Maltin about the far-reaching significance we had on the genre. Actually, they've just listed them all in one place.

If you haven't yet been subjected to these, this is another opportunity to avoid them, because they're really special. Short bus special.

Now playing: Akon - Locked Up

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

The preliminary Grok Talk schedule is up...

June 1, '05 Comments [0] Posted in TechEd | Speaking
Sponsored By

The preliminary GrokTalk schedule for TechEd 2005 is up with RSS just for the schedule here. Included also is a lovely map.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Top 10 Customer Issues in Visual Studio 2005 - I'm in the Top Ten!

June 1, '05 Comments [4] Posted in Coding4Fun
Sponsored By

Madness. Soma posted the Top 10 Customer Issues in Visual Studio 2005 and there I am at #4 (or #6, depending on your point of view) with Tray Icon support is limited: System.Windows.Forms.NotifyIcon doesn't support Balloon Help without P/Invoke. I ran into this during a early build of Beta 1 while writing "What's Playing" for the Coding4Fun site. I found the P/Invoke solution intolerable. They actually fixed this one early on, I think in the November CTP, as it's a pretty easy thing to have fixed.

I declare that I shall now be known as "The Savior of Balloon Help" - at least around my house. ;)

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

DasBlog Usability Alert: Template Changes to enable Turkish Users

May 31, '05 Comments [5] Posted in ASP.NET | DasBlog
Sponsored By

DasBlog uses a poor man's macro language in our templates to make it easy to change the skin of a whole blog. The macros allow folks to call methods from our templates, with or without parameters.

We use some reflection code like this:

MemberInfo[] members = subexObject.GetType().FindMembers(
    MemberTypes.Field|MemberTypes.Method|MemberTypes.Property,
    BindingFlags.IgnoreCase|BindingFlags.Instance|BindingFlags.Public,
    new MemberFilter(this.IsMemberEligibleForMacroCall), subex.Trim());

Where "subex" contains a string like "items" that was extracted from one of our template files that included a macro string like <%items%> indicating to dasBlog to insert a list of blog items here.

However, when someone using a Turkish browser comes to a site running dasBlog they see NOTHING. Zip. Why?

In Turkish, there are four letter "I's. In English our i becomes I when capitalized. However, in Turkish, i becomes İ and ı becomes I. Notice the dots. 

Also, notice that we use BindingFlags.IgnoreCase in our call to FindMembers(). I suspect that the "items" is becoming "Items" internally (perhaps an in appropriate call to ToUpper()?) but I can't find an implementation with Reflector that even looks at BindingFlags.IgnoreCase. Regardless, we fail to call the method and get a System.MissingMemberException or System.MissingMethodException.

ACTION REQUIRED: The solution is, for now, for all you folks running dasBlog, to go into your *.template files and make these quick and easy changes (there isn't yet an easy code change, and it's not just a ToUpper() situation):

  • Change <%items%> to <%Items%>
  • Change <%itemTitle%> to <%ItemTitle%>
  • Change <%itemText%> to <%ItemText%>

I'll make changes to all the default dasBlog templates while I look for a more correct solution in code and/or determine if this is a limitation in FindMembers(). 

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.