| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 26 | 27 | 28 | 29 | 30 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9 | | 10 | 11 | 12 | 13 | 14 | 15 | 16 | | 17 | 18 | 19 | 20 | 21 | 22 | 23 | | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | 31 | 1 | 2 | 3 | 4 | 5 | 6 |
Search
Navigation
Categories
Blogroll
|

Saturday, July 09, 2005
I'll Be Speaking At Portland Code Camp July 23-24
My sessions are:
- C++/CLI: Basically an intro into the new syntax from Microsoft in Visual C++ 8.0/2005/Whidbey along with some tips based on things I've come across during the development of two significant projects we've done with it. This will be my first time delivering this at a conference, so it's your best chance to watch me crash and burn.
- .NET CF 1.0 Intro: An intro to .NET CF designed for non-.NET and non-client developers. Given that it's only 1 session I'll touch on high-level differences between Windows CE and Windows XP Embedded, what Windows Mobile is, differences between Pocket PC and Smartphone, the .NET CF development stack, deploying apps, and some coding demos. If you already have .NET CF experience, skip this session and check out one of the other sessions. If you've never touched it, this will be a good place to get up to speed.
- .NET CF 1.0 Tips & Tricks: I've done variations on this a few times, so I've gotten a good feel for what things are trivial and what people can really use. There are a dozen things I've got in store right now (although I'm only counting the six or so things in the "performance" bucket as one).
More info on this free conference is at http://pacwest.ms/codecamp/pdx/1/.
7/9/2005 12:52:45 PM (Pacific Standard Time, UTC-08:00)

Wednesday, June 29, 2005
Redmond Police Provides Safety AND Entertainment
We have the corner suite of a corner building in Redmond. One of the larger offices has windows that face both corners, providing nice scenery throughout the day. Today was probably one of the most scenic days on record.
You see, Redmond is a pretty residential area, so there are lots of crosswalks on roads without stop lights. When we go out to lunch, we have to cross one of these roads to get to Redmond Town Center, which nearly gets us killed on most days.
One of our sister towns has solved this issue with giant orange flags that people are expected to wave as they cross the street. Kirkland’s management seems to feel that their town is infested with idiots, so they’ve gone as far as to post signs on how to use the flags:
Today, however, the Redmond Police had devised a pretty sophisticated operation to target drivers that run people down in the crosswalk without the use of space age flags. It was fantastic.
Download my low quality homemade movie
here.
6/29/2005 4:58:41 PM (Pacific Standard Time, UTC-08:00)

Tuesday, June 21, 2005
Don't Fsck With Nerds
I've recently discovered eBay. Sort of like when Europeans discovered America. Sure, other people have known about it for a long time, but now it *matters*.
Anyway, as part of my first round of purchases, I bought something rather expensive (a refurbished plasma tv we need for testing on a project) from a seller with a feedback of less than 5. EBay tried to warn me, but the deal was just so good I knew I could make it succeed with the power of positive thinking. Right.
I paid for the product (nearly $1000 including shipping).
I waited a week and nothing came.
I contacted the seller, who told me it would arrive the next day, and nothing came.
I went on to eBay to double-check that everything had gone through, and the seller's account was no longer registered and there was a pile of negative feedback from people complaining about their purchases not arriving.
I emailed the seller again, and the email bounced.
I went to the seller's website, and they had no contact information besides the dead email address.
I tried to search for details on the seller based on the name they used in their email. Unfortunately they only used their initials, so I had no luck.
After two weeks from the purchase, it became clear that I had been scammed, so I went to PayPal to file a complaint.
Then I thought, WWRD?
Realizing that the scammer's Web site was really just a smoke screen for their operation, I figured I'd check out their WHOIS entry. Sure enough, the owner's name matched the initials of the scammer, and their contact email address was that same alias, but at a different domain. Even better, there was an address. A *home* address. So I drafted a little note like this to the contact email:
Hello [Scammer's full name],
I did a quick check and found out that it doesn't take 4 weeks to ship a TV from:
[Scammer's home address]
to
[SharpLogic R&D address]
If you were unable to send my TV, please refund the money.
Thanks!
Ed
Three days passed. My TV arrived rush and works as advertised. Not a word from the scammer.
Don't fsck with nerds.
6/21/2005 4:07:40 PM (Pacific Standard Time, UTC-08:00)

Monday, June 20, 2005

Sunday, June 19, 2005
Blogger Leadership From Robert Scoble
I never really took the time to understand the MSN China censorship issue, but Robert took an unpopular stance and ended up changing his mind: http://radio.weblogs.com/0001011/2005/06/18.html#a10422. I often disagree with some of his more controversial opinions (the ones I understand, at least) but it's good to see Robert practicing what he preaches regarding taking community feedback to heart.
6/19/2005 1:12:25 AM (Pacific Standard Time, UTC-08:00)

Friday, June 17, 2005
Sara Williams Has Left The Building
A lot of people have commented about how sad they are that Sara Williams has left Microsoft. I certainly agree. She was a huge asset to the company and the person I was most often pointed to by my management as a role model of how to succeed at the company.
More specifically, I respect Sara because she is the antithesis of one of the things I hate: irresponsible people who passive aggressively complain in public about things they don’t like instead of doing the hard work to actually make changes happen.
Sara’s legacy is the new face of Microsoft’s community effort. It’s always been very easy for someone to fire off a whinemail about how Microsoft wasn’t transparent enough to customers. It wasn’t easy, however, to actually take the initiative to build and maintain the infrastructure that enabled GotDotNet or blogs.msdn.com. But that’s just what Sara did. Changing Microsoft isn’t hard—it’s practically impossible.
She didn’t have to write an “I’m so much smarter than [insert group here]—why don’t they respect me?” blog posting. She didn’t have to write an open letter to Steve Ballmer complaining about how [insert group here] wasn’t doing their job. She merely did what had to be done to make the company better.
Sara, I wish you the best of luck!
6/17/2005 4:06:47 PM (Pacific Standard Time, UTC-08:00)

Thursday, June 16, 2005
Splitting Properties Between Header And Implementation Files In C++/CLI
I've been working on a managed C++ application that uses the C++/CLI (Whidbey/2005/etc) syntax. While many of the new syntax changes have been really useful, I found that there is practically no documentation on how to split properties between header (.h) and implementation (.cpp) files. I figured I'd post this for any folks who come across the same issue.
Let's say you have this .h file:
ref class MyClass
{
public:
property int MyProperty;
};
By default, the C++ compiler will automatically back MyProperty with a hidden int (or whatever you're using). This means that you don't need to give it any implementation code in your .cpp. In fact, if you try to, it'll throw an error that you've already defined its get/set since this is implicitly done. If you want to define your own implementation for the get/set, you'll need to change it to look like this:
ref class MyClass
{
public:
property int MyProperty
{
int get();
void set(int value);
}
};
At the same time, you're now on the hook for fulfilling these methods yourself, so your .cpp file will need to look something like this:
int MyClass::MyProperty::get()
{
// Do what you need to return the property value
}
void MyClass::MyProperty::set(int value)
{
// Do what you need to set the property value
}
Note that you don't need to specify any special keywords or format as get_ or set_ and you can use any valid name for the set() parameter ("value" isn't required). If you want to make your property read-only, then you need to explicitly provide a get() but not a set(). If you want to make your property write-only, put the keyboard down and take three steps backwards 
6/16/2005 9:38:49 AM (Pacific Standard Time, UTC-08:00)

Sunday, June 12, 2005
At Least HR People Should Be Good At Updating Their Own Resumes
I recently came across http://blogs.msdn.com/jobsblog/archive/2005/06/01/423909.aspx, a blog posting in which a Microsoft human resources employee expresses their frustration over having to work with arrogant hiring managers. This posting has generated a ton of feedback, most of which has been surprisingly positive. Details of the hiring process is best described at http://saunderslog.com/?page_id=312.
I understand both sides of the argument. Defending HR, I know that it can be very hard to attract candidates that reach the bar set by MS managers. At the same time, I’ve had more bad experiences with people at MS HR than good ones so I can empathize with the hiring managers, probably due to the fact that good HR people handle your issue in one shot whereas bad ones require a lot of pushing and many iterations. Regardless, I don’t have a useful opinion on which side is more correct or how to fix the outstanding issues.
I can say—and I think a silent majority would agree—that the way this HR person handled this situation was pretty awful. Rather than driving change from within the company, the decision was made to do as much damage to the company’s image and the individual’s reputation as possible (I was tempted to use the term “suicide bomb” here). Having seen a few people do this sort of thing before, it doesn’t surprise me. What does surprise me, however, is the number of people hailing this person as a hero.
How could this action be considered courageous? How could it be heroic? To me, courageous and/or heroic would be driving change in Microsoft internal policy by directly confronting the issues and people involved. Airing dirty laundry in order to embarrass the change by someone with more courage (or fear of execs destroying them over this) is a lot harder and more impressive. And no, I don’t believe this person made a reasonable effort to fix this through rational means or else it would have been mentioned in the posting.
In particular, I think that the tone and language of the posting is almost laughable. While the responsibilities are quite different, I expect HR reps to have the same composure and people skills as product managers (possibly more, considering their actual business function). This section is probably where the most damage occurs:
“Quite honestly (maybe here is where my tirade kicks in), I’m sick and tired of the Hiring Managers around here not trusting their recruiters. Hi there – news flash. Guess what? I probably have a higher IQ than you (yes, I just went there), and I “get” it. Trust me. They pay me the big bucks to be an expert on hiring for the company. You do your job; I’ll do mine. Plus, you don’t see me getting in your business every time some Microsoft program crashes on me, do you?”
To be very clear, I wouldn’t fire someone for having an opinion like this or expressing it--although it would piss me off if they had this problem and went public instead of coming to me. However, there is a good chance I would fire them for the lack of respect they clearly have for their coworkers. It’s hard to let one overly arrogant person get away with publicly embarrassing every senior manager in the company.
If you’re Microsoft, however, you can’t really do much. If you fire this person, or any of the other people who do the same kind of blogging, you’ll be unable to avoid the stigma of censorship. Heck, look at how much flak the company is taking over MSN Spaces in China. Just imagine the “Microsoft Fires Heroic Blogger In Act Of Unmitigated Censorship” headlines.
So how should Microsoft handle this situation? It’s practically impossible to fire people there, unless they break the law or commit a significant HR violation that really upsets someone. That leaves very few options, but I’d love to hear if anyone has anything clever (and legal). Assume you've already had their manager send a supporting email to keep them from doing anything rash before you've decided their fate, what would you do?
6/12/2005 10:45:58 PM (Pacific Standard Time, UTC-08:00)
"Build Comment Web Pages" Is Broken With XPSP2
Check out
http://blogs.msdn.com/vseditor/archive/2004/07/16/185788.aspx for a workaround.
6/12/2005 9:57:47 PM (Pacific Standard Time, UTC-08:00)