Scott Hanselman

Reflectoring with the Keyboard

February 23, '06 Comments [7] Posted in Musings | Tools
Sponsored By

ReflectorstackIt's nice to "discover" a feature that you knew was already there but had forgotten. Reflector's "Analyzer" feature is a way to walk a Depends On/Used By tree.

I can fairly say that I never use the Visual Studio Object Browser but I live in Reflector. I've tried integrating it with Visual Studio, but this is one application that I like using Full Screen. I don't want it buried in a "toolbox window".

One of the things I love the most about reflector is that it is completely (and intuitively) usable via the keyboard. You just need to know:

  • Arrow Keys - Up, Down, Left, Right move you around the tree.
  • Tab - Switches you between panes.
  • F3 - Search. Lots of folks don't know that you can search on method name via the "Member Search" feature.
  • Space - The magic button that pops you into code view.
  • Ctrl-R - Starts the analyzer in a tree view in the right-hand page. At that point, the arrows, tabs, and space let you continue hunting.

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

Z Rolls

February 23, '06 Comments [8] Posted in Javascript | Parenting | Z
Sponsored By

Z turned 12 weeks old on Tuesday, and I'm on the first trip-away-from-home since he was born. So what happens? He rolls over. Sure, it was probably the weight of his head that took him completely over, but he's been trying to roll over during "Tummy Time" for at least the last two weeks. Fortunately my Dad was there and my wife used the new digital camera to video it in 640x480. The video is 8 megs, but I squished it with Windows Media 9 Encoder down to 800k. Sigh. I'll be home soon!


play video stop video indicatorhandleamount downloaded toggle sound launch in external player
Launch the streaming media file

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

Windows Defender Errors 0x8024402c 0x80240022 and 1609

February 23, '06 Comments [7] Posted in Musings
Sponsored By

Defender1Just installed Giant Microsoft Antispyware Defender Beta 2. Installed nicely, looks pretty, a lot like the Defender that is integrated with the December drop of Vista. However, Defender was unable to update my signatures, instead throwing a COM-ish 0x8024402c. Others are getting Error 1609 and still others 0x80240022.

Word on the street a fix is to remove the Signature Files and reinstall them thusly:

  1. Remove the current signature file. To do this, click Start, click Run, type Msiexec /x {A5CC2A09-E9D3-49EC-923D-03874BBD4C2C}, and then click OK. 
  2. Open Windows Defender. To do this, click Start, click Programs, and then click Windows Defender.
  3. Defender2Check for new definitions. To do this, click the Help options arrow next to the Windows Defender Help icon, click About Windows Defender, and then click Check for Updates. 

While this worked for some, it didn't work for me. I had to visit http://update.microsoft.com to get mine updated. Hopefully this will be fixed soon. I'll update this post as more news arrives.

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

Leaning on the Language and Leaning on the Libraries

February 23, '06 Comments [2] Posted in ASP.NET | Web Services | XmlSerializer | NCover | CodeRush | HttpHandler | Tools
Sponsored By

Coderush2What fun I'm having. I'm collaborating on a project for work. We're still using Visual Studio 2003 and .NET 1.1, but we're still wildly productive.

One interesting thing I've learned is that I lean on the libraries, while Paul, my counter-part leans on the language. He knows what language constructs to use and I know what BCL methods to use. Together we make an effective pair, but this realization helped us both better understand our weak areas. One can write lots of C in C#, if you know what I mean.

Do you lean on the language or the libraries?

We've been doing some fun stuff with XML lately, you might have noticed. We've used:

Also. we're using:

class KindOfPartialSgmlButMoreOfAnOfxXmlWriter : XmlWriter

{

    public KindOfPartialSgmlButMoreOfAnOfxXmlWriter(TextWriter w)

    {

        _htmlWriter = new HtmlTextWriter(w);

    }

 

    public override void Close()

    {

        _htmlWriter.Close();

    }

 

    private Stack _tags = new Stack();

    private HtmlTextWriter _htmlWriter = null;

    private bool _suppressNextEndElement = false;

    private bool _suppressNextText = false;

    private string _previousElement = null;

 

    public override void WriteStartElement(string prefix, string localName, string ns)

    {

        _htmlWriter.WriteFullBeginTag(localName);

        _previousElement = localName;

        _tags.Push(localName);

    }

 

    public override void WriteString(string text)

    {

        if (_suppressNextText == false)

        {

            _htmlWriter.Write(text);

            _suppressNextEndElement = true;

        }

    }

 

    public override void WriteEndElement()

    {

        string endtag = _tags.Pop() as string;

        if (_suppressNextEndElement && endtag == _previousElement)

        {

            _suppressNextEndElement = false;

        }

        else

        {

            _htmlWriter.WriteEndTag(endtag);

        }

    }

 

    public override void Flush()

    {

        _htmlWriter.Flush();

    }

 

    public override void WriteWhitespace(string ws)

    {

        _htmlWriter.Write(ws);

    }

 

    public override void WriteRaw(string data)

    {

        _htmlWriter.Write(data);

    }

 

    public override void WriteChars(char[] buffer, int index, int count)

    {

        _htmlWriter.Write(buffer, index, count);

    }

 

    public override void WriteQualifiedName(string localName, string ns)

    {

        _htmlWriter.WriteBeginTag(localName);

    }

 

    public override void WriteEndAttribute()

    {

        _suppressNextText = false;

    }

 

    public override void WriteStartAttribute(string prefix, string localName, string ns)

    {

        _suppressNextText = true;

    }

 

    public override void WriteRaw(char[] buffer, int index, int count)

    {

        _htmlWriter.Write(buffer,index,count);

    }

 

    public override void WriteProcessingInstruction(string name, string text)

    {

        _htmlWriter.Write(text);

    }

  

    #region Stubs

 

    ...here are overriden versions of everything else from XmlWriter, stubbed and not used. Removed for tidiness

 

    #endregion

}

 

 

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

Hanselminutes Podcast 7

February 23, '06 Comments [0] Posted in Podcast | ASP.NET | XML | Tools
Sponsored By

HanselminutesMy seventh Podcast is up. This episode is all about XML. It wasn't nearly long enough to go into the detail I'd have liked. I need to focus! 

We're listed in the iTunes Podcast Directory, so I encourage you to subscribe with a single click (two in Firefox) with the button below. For those of you on slower connections there are lo-fi and torrent-based versions as well.

Subscribe to my Podcast in iTunes

Our sponsors are Automated QA, PeterBlum and the .NET Dev Journal.

Do take a look at TestComplete from Automated QA. It integrates with Visual Studio 2005 and I'm going to try to get a formal review of their stuff soon, particularly their functional Web Testing and Recording.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

  • Each show will include a number of links, and all those links will be posted along with the show on the site. There were 15 sites mentioned in this fifth episode, some planned, some not. We're still using Shrinkster.com on this show.
  • The basic MP3 feed is here, and the iPod friendly one is here. There's a number of other ways you can get it (streaming, straight download, etc) that are all up on the site just below the fold. I use iTunes, myself, to listen to most podcasts, but I also use FeedDemon and it's built in support.
  • Note that for now, because of bandwidth constraints, the feeds always have just the current show. If you want to get an old show (and because many Podcasting Clients aren't smart enough to not download the file more than once) you can always find them at http://www.hanselminutes.com.
  • I have, and will, also include the enclosures to this feed you're reading, so if you're already subscribed to ComputerZen and you're not interested in cluttering your life with another feed, you have the choice to get the 'cast as well.
  • If there's a topic you'd like to hear, perhaps one that is better spoken than presented on a blog, or a great tool you can't live without, contact me and I'll get it in the queue!

Enjoy. Who knows what'll happen in the next show?

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.