I bought a Roomba this week.
It's a $200 robotic vacuum cleaner made by a company named iRobot (wonder if Asimov's
estate gets any fee from that). Works pretty well at finding its way around the room,
though the first time we ran it, it bumped into a picture leaned up against the wall.
The second time it bumped against the wall, the picture fell, and landed on Roomba.
Roomba got stuck, and shut off.
After that, Roomba got scared and went and hid under out bed at the other end of the
Review: Well, two sessions does not a good product make, but if you're willing to
sweep the pizza boxes and cans to the side, it does a pretty good job, and it's fairly
amusing to watch. You do have to hook it up to a charger (somewhat a bummer), but
since you have to empty the container fairly often anyway, making that purely automatic
wouldn't help much. A pretty sophisticated device.
If I'm going to keep anthropomorphizing the thing, it really needs a better name.
If you have suggestions, let me know.
I've been working on some code to do peer-to-peer communication between .NET applications.
I won't give away all the details in it right now, since my next column will be on
it, but I spent a fair amount of time trying to figure out the answer to this question.
If you look for examples in the doc, you'll find that they do something like:
This code enables somebody connecting to our program and getting a remote instance
of MyRemoteClass. It's not terribly useful, however, since it's a stateless model
- there's no way to get anything back other than a new instance of MyRemoteClass.
What you typically would want is to hook up to an already-existing instance.
So, I started search the RemotingConfiguration class, to see what I could find. The logical thing
to do would be to have something like RegisterInstance, but there's nothing like that
to be found. After about twenty minutes in Google Groups, and I find the answer.
I note this not to show how to do this - though I think this is useful - but to highlight
the problem of letting your developers name the methods in your class. While
"Marshall" may make perfect sense to the class designers, it makes very
little sense to me.
I ran into Chad Meyers from ActiveWin when
I was at TechEd a week ago, and he hit me up for an interview.
Aside: Being in a convention in Dallas is like having a fever. You're either hot and
sweaty, or cold and shivering.
So, who is this Eric Gunnerson? And what will he cover here?
I'm a program manager in the Visual C# team, and I own the C# project system and our
community efforts. But I must explain what "own" means in this context. "Program Manager"
in many companies means "guy who's in charge of everything", but at Microsoft, Program
Manager means something different. Basically, PMs are the glue that holds the
I also write an MSDN C# column named "Working
with C#" (no, I didn't name it) , and I'm the author of "A
Programmer's Introduction to C#" from Apress.