# Scott Hanselman

## Tips on 2007 Conference Attendance

February 20, '07 Comments [14] Posted in Ruby | Speaking | TechEd

It's hard to decide what to spend one's training dollars on. It's hard to justify spending US$2000 or more on a conference. If a conference is nearby, or hosted in your town you can save money. I also use my frequent flyer miles a lot to get where I need to go for conferences. Using your own frequent flyer miles and doubling-up/sharing hotel rooms with friends in the Blogosphere are good ways to justify the financial part of your trip to your boss. Many feel that it's the company's responsibility to pay for everything, travel, attendance, hotel, etc, but if you want to get as broad a view as possible, and maybe attend multiple conferences, being flexible on how you get there, eat, and sleep can make a difference. Also, trying to go to conferences that happen on the weekend, and making sure your boss knows that he/she's not going to lose you for an entire week - perhaps just a few days - can make a difference. I'm also careful not to think of conferences as vacations, as you're being paid to absorb as much as you can, so I tend to fly in, attend, and fly out, fairly aggressively, unless my wife and son are along and we have explicitly turned it into a Vacation. • I'll be at RailsConf, partially because it's here in Portland, partially because my Boss is a RailsHead, and partially because I think that the mantra of Convention over Configuration is an important one that can be applied regardless of language or environment. • Cleverly, this conference is a Thurs-Sun deal, so while it takes up a weekend, it only takes up two work days. Again, a way to get virtually a week's content while only encroaching on work for two days. • This year, I'll be going to MIX - a User Experience conference in Vegas. There's an early bird discount if you register before March 15th, so the conference itself is$995. If you're going to Mix, let's meet and have a Diet Soda, eh?
• Mix is a short conference, but very dense in content, and because it's in Vegas the flights are cheap. Plus, because it's a three-day conference you could go and still work 2 days, or possible that following Saturday and get a good work week in as well.
• Here's some gravy - every conference attendee gets a free copy of Windows Vista Ultimate (this qualifies for the Vista Family Discount, so you can get two more Home Premiums for $49 each, so that's potentially three copies of Vista for$100, or just keep the Ultimate for free).
• I'll also be at TechEd 2007 giving a pre-conference with Ron Jacobs (of ARC Cast fame) on Architecture. This is the same pre-con we did in Europe last year. I may also do a session on Mobile applications and AJAX support in PocketIE, but that's still up in the air.

Hopefully I'll see you at one of these conferences!

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.

Hosting By

## Reflector 5 Released - World Domination Assured

February 20, '07 Comments [20] Posted in Tools

Reflector 5 is out, and it is good. Go get it immediately, or just run your current version and go Help | Check for Updates.

What's the coolest new feature? Why, a custom "protocol handler" that will soon sweep the (.NET) blogosphere. Select any item in Reflector and press Ctrl-Alt-C to copy the code:// URI for that item. Like this:

Note that URI can include the version and hash value for the assembly, as my example does in the underlying href.

code://System.Xml:2.0.0.0:b77a5c561934e089/

Worried it won't work in FireFox? Remember that Custom Protocol Handlers aren't an IE only thing. Notice my FireFox dialog below. Just click "Remember my choice" and you'll have the same glorious integrated experience as everyone else. This code:// thing could take off...I wonder if we can work out some kind of cross-promotional thing with the Java guys? ;)

Here's a few ACTION ITEMS for you after you've downloaded the new version:

• FONT SIZE: Be sure to visit View | Options and set up your fonts if you use Reflector for presenting. Set your fonts before you present, or call Reflector /fontsize:14 when you start it for a talk.
• REGISTER WITH EXPLORER: Run "Reflector /register" if you want "Browse with .NET Reflector" to be your default option for all .DLL files.
• ASSEMBLY LISTS: After you run Reflector, press Ctrl-L and bask in the little-known but totally awesome Assembly Lists feature. I use this for different projects as it let's me "switch views" very quickly. Setup as many lists as you like.
• Remember that if your list gets "sloppy," just hold down delete and quickly remove every assembly. Then hit Ctrl-L and enter, and you'll be able to select a new Default list and be prompted for a version of the .NET Framework, including Mono if you have it installed.
• EXPLOIT ANALYZE: Try the new improved Analyze feature by right-clicking any type or Assembly or by pressing Ctrl-R. The new items are Exposed By, Instantiated By, and Assigned By. Exposed By is VERY useful.
• Also, not new, but still great, is the P/Invoke Imports analysis, that only appears when you've selected Analyze while an assembly (not a namespace) is selected. Try selecting System.Web, Right-Click, Analyze, then P/Invoke and see what unmanaged code your "pure" .NET application is using.
• GET ALL THE ADD-INS: Finally, go load up on Reflector Add-Ins at CodePlexSo many people use Reflector, but it's profoundly a bummer that so few really exploit the available add-ins. Try the Diff add-in and the TreeMap to start, and once you're hooked, collect them all and trade them with your friends.
• PUT IT IN YOUR PATH: Oh, and one other thing, folks. Forgive me for this rant, but if I go to another person's machine to debug or work with you for some reason, and Reflector.exe isn't in your path, I'm going to smack someone. Please, let me at least Start|Run|Reflector. If it's in c:\utils\tools\bar\my downloads\foo\reflector, fine, but for the love of .NET, make sure it's in your PATH.

Thanks Lutz! We all owe you.

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.

Hosting By

## Coding4Fun: Microbric Viper Robot with an Iguanaworks IR Serial Port and PowerShell

February 19, '07 Comments [2] Posted in Coding4Fun | PowerShell

UPDATE: Speaking of Robots, also check out what Ashish is doing with a Laser Pointer and Remote Controlled Car - he's created an autonomous robot!

I finally got around to creating Part 2 of my article on controlling a Microbric Viper Robot with an Iguanaworks IR Serial Port. This time I used Lee Holmes (with permission) LOGO in PowerShell sample and extended it to control the robot. A video is at left hosted on SoapBox and also hosted at Channel9.

The Microbric Viper can be ordered online in North America, check out www.microbric.com for North American distributors. It's only US$89 at Saelig and CAD$99 at RobotShop. They have a number of educational robots that can be assembled by kids of all ages and skill levels. They're great for the classroom, and include projects like Sumo Robots, and a line-following bot, as well as a Spiderbot that climbs rope - all from the same kit.

You can order the IR Transmitter/Receiver from IguanaWorks. The serial version works on Windows or Linux, and there's a Linux USB version. It's not just a Transmitter, but also a learning receiver that works with WinLIRC and turns your computer into a learning remote control and can be used for nearly any project that utilizes IR

Robotics Studio

A number of folks asked why I didn't use the Microsoft Robotics Studio to do this project. Well, here's my reasoning:

• I'm ignorant about what the Robotics Studio can do.
• Early CTPs of the Studio - before it was released - seemed really confusing to me, very abstract and generally obstuse. Not obtuse on the BAD way, just in the "I didn't immediately get it with a few hours and gave up" way.

If anyone thinks that this project and the Microbric Robot could really benefit from the Robotics Studio - or even if you're on the Studio team - do contact me and educate me. I'd love to do a podcast on the Studio, but I don't want to talk about a topic I know so little about. School me!

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.

Hosting By

## Baby Sign Language - Update at 14 months

February 18, '07 Comments [24] Posted in Parenting | Z

UPDATE: Check out http://www.babysignlanguage.com for more info on Babies and Sign Language!

Teaching our son Sign Language has been a dramatic success for us. He's 14 months old now and the last six weeks have been an explosion of communication. Two months ago he was just barely starting to use the sign for "more." Today, he knows at least 30 signs (says Mo, at least 40, says I) and is learning at least one new one a day.

Just yesterday Mo mentioned that he'd be pointing to a book and making a sign she didn't recognize. I said, show me...he'd been signing "pig" all day, a sign I'd taught him the week before, because he wanted a book about Pigs read to him.

As a new parent, I can't tell you how thrilling it is to connect with a baby, your baby, on a conceptual level...sounds silly to say, but Baby Sign Language can be about more than just "milk." We were reading "Goodnight Moon" just this evening, and my son signed "moon all done" when we got to the page where the moon was gone from the sky. That moment really sealed the deal for me. Sticking with Sign Language was the right thing for us to do.

It's not that much work to learn the signs. As you learn a few dozen, you'll see a pattern, and other signs will get easier to learn. We carry a picture dictionary around with us in the baby bag.

Sometimes folks see us sign to him in public and say "oh, is he deaf?" with a kind of worried face. We reply that we're teaching him Sign Language so we can see what's on his mind a year or two early.

There's lots of opinions about teaching kids sign language. Here's my reasoning.

• I'm gaining at least a year of time communicating with my son. Not using sign language would mean that our communication would be limited to pointing and the occasional made up gesture.
• Many families in America use some sign language like Milk and More and basically leave it at that. I say you're missing out on something amazing. Take it to the  next level.
• Imagine taking your 1 year old to the zoo and having them sign "monkey sleeping" when you get the Gorilla House and the monkey's not around. Things like this happen ever day for us, and they are utterly magical.
• Some folks believe that "Mommy knows what baby needs." I'm sure that's true, but Mommy also appreciates when baby says "apple" using sign, rather than simply throwing his banana at Mommy. Why not give him the tools to express himself?
• Many temper tantrums are caused by frustration at not being understood. Sign language has given us a way to find out what he wants and what he needs. We give him 100% of what he needs, and probably 10% of what he wants. We haven't seen any temper tantrums at all caused by our son not being understood. (I checked that statement out with the wife ahead of time and she agreed.) He is eager to make himself understood and it's clear that he has fun signing.
• ASL-based Signing qualifies as a foreign language in most colleges and more and more high schools. If you stick with signing, not only will you have an additional language between you, but you'll have given your child a language firmly based in kinesthetic learning.

What do you need to do to start signing?

• Check your local community center. They often offer Baby Sign Language classes. We took classes before Z was born, and when he was 6 months old.
• If Baby Sign Language is unusual or unused in your country, either find some Deaf Folks and learn your country's specific Sign Language, or use ASL (American Sign Language). The trick is to be consistent and have an illustrated dictionary to refer to.
• Stick with it. Don't give up. We started when he was six months old and signed every day without a single clear response until he was a year old. We nearly quit a dozen times before that.
• Then one day he signed "light" as clear as day in his bedroom. We turned on the light and our son lit up with a small as wide as his face. That's when we connected with him. I'm not talking about the standard Mom/Dad/Baby we-love-you connection. I'm talking about the baby's opinion matters kind of connection.
• Get picture books, lots of them, and learn the signs for the animals. I highly recommend the Priddy Books series of books for baby.
• Learn the signs for animals and common objects and use them every time you see one out in the world. We went for a walk on the Portland Waterfront today and our son was signing bird and dog and plane and sharing those discoveries with us. It's great when he sees something interesting and points at it, but it's something different when he signs about something we didn't see.
• Pay Attention and prepare for the unexpected.
• Example: The baby was frantically signing ball recently, gesturing wildly at a dog. We tried to correct him..."No no sweetie, that's a dog, not a ball." The dog lifted it's head and we saw that the dog was in fact playing with a ball that we hadn't seen.

There's a great Dictionary of Baby Signs (ASL) here that uses Windows Media Player. I also highly recommend the Baby Signing Time Series of DVDs, particularly Volumes 1 and 2. They are the only videos that let the baby watch.

I don't know when he'll start talking. It doesn't really matter. I'm not really sure where he is "developmentally" or what a 14 month old is supposed to be doing at this point. I figure kids all even out by the time they're 18 years old anyway. But, while we look forward to him talking, be it at two years or four years old, I've already got a way to communicate with him. I can ask him what's on his mind and he'll tell me.

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.

Hosting By

## RFC: How FeedReaders and MacGyver report blog subscribers - Tunneled User-Agent Data

February 17, '07 Comments [3] Posted in ASP.NET

Sometimes I get ever so slightly depressed that the Web is so fantastically hacked together. The way we revel in AJAX sites but forget how dizzyingly high up we are, floating in layer after layer of abstraction. IP, TCP, HTTP, UTF8/ASCII Text Encoding, HTML, XML, XHTML, CSS, ECMAScript, DOM, the list goes on...there's a lot of moving parts. I wonder how the next generation will learning all the plumbing?

They can happily drag a button from the Toolbox onto their Form and Start Programming™. I think this means I'm officially old and crusty because I'm finding myself, internally, thinking "these young punks with their Ajax and their MacGyver techniques! Assembling websites with CSS Box Hacks and Paper Clips! Feh!"

At any rate, Google Reader, an online feed aggregator whose interface I'm still slightly not digging, is now reporting their subscribers.

There's different classes of Feed Readers/Aggregators that can retrieve content two ways. There's, of course, desktop and web readers who can retrieve content directly or centrally. (These are my four classifications.)

RSS Bandit and SharpReader and NetNewsWire are actual applications that you install and run locally. They reach out from your computer directly to the feed and download it directly. FeedDemon can do this too, but is a kind of hybrid, in that if you have a NewsGator subscription it's actually getting the feed content from NewsGator, not the publisher, so in that "hybrid" (my word) mode, FeedDemon looks like an online reader.

Here's a very incomplete, but you'll-get-the-idea-it-is-just-trying-to-make-a-point table:

Bloglines Web Centralized
FeedDemon Desktop Direct
(can talk to NewsGator also)
NewsGator
Online
Web Centralized
(can talk to NewsGator also)
(but shared and
centralized to the OS)

FeedBurner hosts my Feed for this site, and they have a wonderful Feed-specific Special Sauce that figures out, approximately, how many folks are subscribing/reading my site. They use lots of metrics like IP address and what not to figure out Desktop readers, and they have some algorithms to recognize that IPs change and what not.

What's interesting is how these Web and/or Centralized readers reports statistics. When a bot for one of these readers retrieves your feed, they include (or tunnel ala MacGyver), the number of subscribers in their database within the User-Agent like this. (I talked about this some two years ago):

Doesn't seem ever so slightly distasteful to you? This data is totally non-standard, and living in the HTTP Headers for User-Agent. Oleg thinks it's OK per the HTTP spec, but I say bleh.

Why hunt for older headers to stuff this data into? Four years ago Tim Bray brainstormed some ideas and thought about the URL itself, then the referrer: header, or the from: header. Why not a new one?

HTTP Headers themselves are name/value pairs, fairly well structured, but it seems that rather than forcing FeedBurner to keep tables of the various formats of the various readers and make them Regular Expression their way thought it...

Old Joke but still a Good One: So you've got a problem, and you've decided to use Regular Expressions to solve it....so, now you've got two problems...

...why not add a new HTTP Header? I mean, the blogosphere has long abandoned many of the slower standards bodies in favor of a de facto standard-building process. If enough people do it, it's standard.

RFC: Why don't the bots and online aggregators start requesting feeds like this:

GET / HTTP/1.1
Host: www.hanselman.com
Feed-Subscriber-Count: 45

It worked for SOAP Action back in the day, why not standardize a new header now? Let's let MacGyver rest.