Category Archives: Microsoft

Quests

Having been linked to by the infamous Mini-Microsoft and quoted (although not credited) by MSFTextrememakeover, I thought I should do a follow-up post to the Company Meeting last week.  I thought Mini’s post was excellent–it has a bunch of stuff I forgot about.  I’m on some internal e-mail aliases where people expressed their opinions on how boring the meeting was; I disagree because I think this meeting was frank, as opposed to the glossy, hand-wavy meetings of years past.  MSFTextrememakeover, on the other hand, seems hell-bent on impeaching SteveB.  I don’t have enough context to decide whether or not he’s right, but he does make pretty convincing arguments.  I would love to hear someone’s arguments for SteveB–how much he’s contributed to/guided (guiding) the company (and how "Monkey Boy" is helping our image–sorry, I’ve been reading too much FakeSteve too).  It’s a pretty one-sided debate at the moment.

Nevertheless, I’ve been thinking about "Quests" after the Company Meeting.  BillG talked about the concept of quests; how they should be our guiding north stars, toward which the company should be moving towards.  Long-term visions, if you will.  Especially since he’s leaving the company this year.

First of all, I think the word "quest" was a horrible choice.  When I heard "quest" I immediately thought of "Qwest" the company, probably because I watch too much TV.  The second thing that came to mind was World of Warcraft or Final Fantasy, probably because one of my previous roommates used to play these games for hours on end.  The word "quest" invokes images of knights wearing chain mail, riding on horses in King Arthur’s time, on a quest to find the Holy Grail.  What I definitely did not think about was a long-term roadmap.

Anyhow, forgiving our Chairman’s lackluster choice of words, I got to thinking about one such "mini-quest" after seeing the demo of the upcoming Windows Live Calendar.  I wonder how many people will start using the Calendar?  For that matter, I wonder how many people (tech-adopters aside) use Google’s Calendar product or any of the other plethora of calendaring products?  We use Exchange at work (by the way, contrary to popular belief, Hotmail does not run on Exchange).  Exchange has pretty darn good calendaring support, but it’s not great if other people aren’t on Exchange too.  As someone with a work calendar, I don’t want to have to deal with calendar for personal stuff too.  What you want is a single place to keep track of all your appointments/meetings.  This stuff isn’t revolutionary.  Sometimes I still use pen and paper to keep track of to-do lists.

Actually, funny enough, this kind of comes back to the whole (original) Windows Live theme.  You.  There should be a single place to go to get everything you need.  I should be able to tailor my calendar to my work and to my personal life.  I should be able to control my social contexts on Facebook.  The world should revolve around me.  I should be able to own my data and be able to access that data from anywhere on any device.

Back to the Company Meeting.  I like the annual Company Meeting because it makes us cogs feel like we’re actually a part of something as a whole.  It lets the masses know that the company actually has some purpose and direction and isn’t a big fat hippo with too much inertia to move.  It lets us monkeys drink the kool-aid and, once in a while, gives us a dose of reality that many of us desperately need.

What I would have liked though, is more tie-in with these "quests" of ours.  We’ve seen the PlayTable Surface at least twice in the Company Meeting now.  It’s good to hear that they’re finally going to ship something to retailers (Sheraton Hotels and T-Mobile) this winter.  I’d love to see each division come up with one or two Quests, and show progress towards those quests each year.  Maybe mini-quests too.  This is what we’ll have in 5 years and this is what we did in the past year to get closer to that goal.  *Feature* demos are great, but what we really want to see are cool new (revolutionary) toys that display innovation.  We want to ooo and ahh–and then get our hands on those toys to play with.  We want to know that each division has a sense of purpose, and aren’t just dicking around with new teams that get trashed after two years.  After all, we are a business (even if we do have monolithic cash reserves to spend a billion on broken xbox’es).  No hodgepodge of random services that aren’t heard from after being introduced.  Purpose.  Direction.  North Star.

Quests.

Company Meeting 2007: Change the World

[ Usual disclaimer applies. ]

It is indeed that time of the year again, when Microsoft’ies pile into SafeCo field to watch our CEO prance around like a monkey and run around until his armpit sweat saturates his shirt, and drink the kool-aid about how awesome our company is with all the "synergy" and "innovation" coming down the "pipeline" and how "super-excited" our executives are about our prospects for the year ahead.  Sorry, I guess I’ve been reading too much Mini.

So some brief thoughts:

– The video at the beginning was absolutely hilarious.  I’d love for that video to make its way onto YouTube (or SoapBox) soon.  (It was a cartoon-y video with photo cut-outs of the heads of the execs playing to some ra-ra song.)

– I was surprised by the lack of buzzwords used.  If it was a drinking game, I would barely have had a couple shots.  BillG was the only one that used "synergy" and even then, he used "synergistic" which isn’t even a word (oh wait, maybe it is).  No one really used "super-excited" (perhaps on account that it was voted "People’s Choice Most Overused Microspeak").

– The feedback loop that happened during BillG‘s speech hurt my eardrums.  Twice.  He handled it rather well.  "That was to wake up the guy that was sleeping."

– I was surprised LisaB and the HR dept didn’t come out with anything new.  Mini led me astray after the BusinessWeek article.  Except for that wifi coach "Connector" bus at the very beginning.  Which doesn’t help me anyhow.

– Demos were ‘ok’.  Nothing to get super-excited about (in my opinion).  Much better than the Excel demo a year or two ago (where they showed that you could colour cells in 2007 😐 ).  Can’t wait to see what Zune v2 looks like.

– We hired 12,800 employees world wide in FY08.  Uhhh wow.  Do we *really* need that many people?  Core tech was less than half that.. but still.  8.3% attrition (4% is good).  Of all college hires, we get ~50%, Goog gets the other half.  Interesting stat.

– I did like ROzzie‘s speech and mini-history lesson.  He really pounded software+services.  It’s almost becoming like a broken record.

– SteveB’s going to be around for a long time.  Even though BillG’s leaving this year.  Good or bad?

– It was refreshing to see execs cite specific competitors and acknowledge those to which we have not fared well against.  Especially impressive was SteveB‘s scorecard slide where he ranked red/green/yellow how we fared against each of Linux/Oracle/IBM/Sony/Nintendo/Google/Apple/piracy etc etc, customer satisfaction, revenue, innovation, hiring, etc.  I don’t recall that ever happening before.  In meetings past I always felt the execs sidestepped issues of consumer perception and confidence.  Or maybe they always do that and I had just fallen asleep by that point.

– The only swag I got was a fleece for my team and a stress ball shaped like a hippo (yes, a hippo–guess why?) from the Experimentation Platform team.

Overall, a pretty good meeting to get some pulse out of this giant of a company.  What’d you think?

Silverlight Security Model Primer

Disclaimer: I know very little about Security and its story in the .NET Framework.  I do know a tiny bit about the security story in Silverlight, having played around with internal builds–I haven’t tried the public v1.1 alpha, although I’d imagine it’s exactly the same.

If you haven’t heard about Silverlight, check it out on Silverlight.net.  In a nutshell, Silverlight is interesting because it brings the power of the .NET Framework (and its suite of tools) into the browser.  So you can do many cool things.  Like making a Surface in a browser.

I was pointed to a pretty good post this morning about the Silverlight Security Model.  But because (a) I have a short attention span, and (b) I have wasted countless hours being frustrated by said Security Model, and (c) I have been asked many a time to explain the model, I thought I would attempt to clearly and concisely summarize the nitty-gritty here.  (I realize that some of the issues explained here won’t be encountered by third parties outside of Microsoft–you don’t realize how lucky you are.)

 

Security Model

There are 3 categories of code in Silverlight: Transparent, SafeCritical, and Critical.

  • Transparent code is security agnostic.
  • Critical code is reserved for ‘dangerous’ operations like calling native or unverifiable code.
  • SafeCritical code bridges Transparent and Critical code.  It is supposed to perform authorization checks.

In other words:

Transparent < SafeCritical < Critical

As you move to the right, code gets more restrictive on access, yet has increasing capabilities.  If you aren’t shipping anything with Silverlight (ie. you don’t work for Microsoft), you only have the option of writing Transparent code.  (There is a very high bar for marking code SafeCritical.)

  • All Silverlight applications (third-party code) are security Transparent.
  • Transparent code can only call other transparent code or SafeCritical code.
  • SafeCritical code can call any other code: Transparent, SafeCritical, or Critical.
  • Critical code can call any other code: Transparent, SafeCritical, or Critical.

Make sense?  If not, read the much more verbose Security Model description.

 

Inheritance

OK, so that was simple.  Now it gets a little more tricky when you look at inheritance.  I’m not certain how to explain this, so let’s just lay out the rules:

Transparent <- SafeCritical <- Critical
 

  • Code in any category can derive from other code in the same category.
  • SafeCritical code can derive from Transparent code.
  • Critical code can derive from SafeCritical code.
  • Critical code can derive from Transparent code.
  • SafeCritical code can not derive from Critical code.
  • Transparent code can not derive from SafeCritical code.
  • Transparent code can not derive from Critical code.

If you walk through each of these bullets, you’ll notice that it does indeed make sense.  If a parent class (say, marked Critical) P/Invokes into native code, and you let a Transparent class inherit from it, the latter could call the base class’ methods and violate the security model.  If you are writing a Silverlight application, this means you will only be able to derive from other Transparent classes (be it your own or the Framework’s).

There is one more gotcha with inheritance: if the base class has a default constructor, the derived class must also have a default constructor with the same security restrictions.  This is annoyance more often than not. 

 

Interfaces

Next up is interfaces and overriding virtual methods.  Assume an arrow means "implements".

Transparent <—> SafeCritical <-X-> Critical
 

  • Code in any category can implement code in the same category.
  • Critical code can not implement code in any other category.
  • Critical code/interface can not be implemented by code marked Transparent or SafeCritical.
  • Transparent code can implement SafeCritical code.
  • SafeCritical code can implement Transparent code.

Huh!?  The key here is that the "accessibility" of a method can not change in its implementations.  In other words, if an interface/method is marked as Transparent or SafeCritical, any code will have access to it, and implementations can not change that accessibility.  Vise versa, if an interface/method is marked as Critical, that means only code marked SafeCritical or Critical will have access to it, and so all implementations must be marked Critical.  Capiche?

 

Violating any of these rules results in MethodAccessExceptions and/or TypeLoadExceptions at runtime (the latter only if you’re authoring a platform assembly), which used to result in endless hours of hair-pulling fun.  Once again, this happens internal only, but one of the culprits behind these, sometimes, is that security attributes placed on classes override all attributes placed on methods, and security attributes placed on assemblies override all attributes placed on classes (and methods).  Annoying.  Not to mention the whole "at runtime" thing too.

Anyhow, that’s the gist of it.  It is kind of elegant once you get it.  You might find the Silverlight Security Cheat Sheet may be a handy tool if you ever run into any issues.  But, as I’ve mentioned throughout this post, since Silverlight applications are all transparent anyhow, your life should be considerably simpler.

Referrals

My team is getting re-org’ed.  You can’t go six months in Microsoft without getting re-org’ed.  It shouldn’t affect us much though.  We’ll see..

Even though our team is about to swallow another team, we’re still actively hiring.  So I’ll pose a hypothetical question (which I don’t necessarily face at the moment, but I’ve always wondered how to act faced with this scenario).

Let’s say someone you know (ie. from some established relationship–be it a friendship, prior working relationship, or even a familial relationship) asks you if there are any openings in your company and/or team.  If you respect that person and/or believe that that person has qualities that would be beneficial to your organization, then it is a non-issue.  But if you personally don’t believe that person has got what it takes, then what do you do?  You can:

  1. Pass it on to the people in charge (HR/hiring manager); They can deal with the person.
  2. Tell the person to look elsewhere: "There aren’t any [good] openings here right now."
  3. Do nothing, but tell the person you contacted the right people.
  4. Tell the person they aren’t good enough.

The problem with (1) is that not only do they place strain on HR or hiring manager, if your friend does get hired, you might have to work with him/her.  Plus side here is that you might get a referral bonus.. haha.

The problem with (3) is that it is inherently dishonest.  I know at least one person that went down this route and didn’t find issue with it though.  Not to mention that it is fairly egotistical to judge others and personally bar entry.

And (2) is similar to (3).  Who are you to judge?  You essentially brush them off without being dishonest.

And with (4)?  Say goodbye to your friendship.

The farther you go down this list, the bigger your ego is.  At issue is the distinction between a working relationship from all other relationships.  Just because you consider a person a friend doesn’t necessarily mean that they would be a good person to work with.  So how do you keep these separate?

It’s an interesting little dilemma.  Personally I choose the lesser of four evils: #(2).

There’s also the flip side of the coin to consider.  What happens when I am out there in the market and I call on my friends?

Company Meeting 2006: “People__Ready”

Once a year, Microsoft employees gather at Safeco Field to cheer on (and/or laugh hysterically at) our CEO while he:

  • prances around a stage and the audience shouting and moving like a monkey
  • yells, "I. Love. This. Company!"
  • "and blah blah blah …"
  • with his big underarm sweat stains
  • trademark fist pumping/punching action

Miscellaneous thoughts:

The first half (ie. all the product demos) wasn’t particularly interesting (although I can definitely say they beat last year’s Dynamics demo hands down–ooo Excel can do inline bar charts!!..).

LisaB was the first of a series of interesting exec speeches.  She came *this* close to mentioning Mini by name (or was it more of a threat?).  It was quite funny.

BillG received a standing ovation, as usual.  Something about him being the richest person in the world that gets people all riled up.

MSR demo was cool.  The only problem is that it needs to be dark…

ROzzie delivered his typical internet services disruption spiel.  If you read very carefully in that speech there are some interesting points.

I enjoyed the Apple rip-off ads.  It was about time.  And the brief video of The Office‘s Dwight Schrute was surprising, but anti-climactic. (Yeah that’s right–Dwight has a blog.. it’s quite funny; no feed though.)

The tone of this year’s meeting was decidedly different from the last.  There wasn’t nearly as much kool-aid flowing–I don’t think there needed to be as much as last year.  That Mini has had an impact (albeit smaller, I think, than people realize), but an impact nonetheless.

The 5th Floor of Building 34

Wow that rhymes..  (sorry, I am easily amused).

For any that don’t know, the 5th floor of building 34 on Main Campus is where all the execs work.  It’s supposed to be posh, with massive offices and private bathrooms (rumours abound).  I had never been to this mythical place myself (in fact, the floor plan isn’t even available on the intranet–all the other floors are), but, during my first internship, I had the pleasure of knowing one of several interns that decided to make a visit to that floor after hours (since they worked in that building anyway).  From what I heard, they were "caught" by a security guard, who promptly took down their names and ids and notified their managers.  Nothing much came of that.

.. Except they didn’t get hired … 😐

Anyway, back in May this year, Joel Spolsky wrote an interesting piece on his first BillG review (that seemed to get endlessly linked).  I don’t suppose I’ll ever have the "luxury" of sitting in on a BillG review, although it sounds very stimulating.  (Yet another item to add to the must-do list when working at Microsoft: must attend a meeting in building 7, must pull an all-nighter coding, must play 8-way multi-player Halo on networked XBoxes in conference rooms with big-screen projectors late at night, must skinny-dip in Lake Bill at midnight [oops, too much info..], etc etc.)

We had my first "Ray review" early this morning on the 5th floor of 34.  (Ray’s been in meetings here in North Campus before, but this was a review akin to a BillG one.)  Unfortunately, our conference room was right off the elevator, so I only got to see that, and the kitchen, which were both quite typical.  My tea tasted the same, and I didn’t notice any more drink selections than usual.  I didn’t even go to the washroom.  So I’ll have to leave dispelling 5th floor myths to another day…

[ Oh yeah.  The review went quite well.  And I can definitely attest to the stimulating nature of these discussions–you never know what’s going to happen.  Now I need to do some actual work, instead of just designing (aka "waving my hands around"). ]

Company Store + Visitor Center

Last week I took my family to the Microsoft Museum and Company Store.  I hadn’t been to either in a while; certainly not since it was renovated earlier this year.  The Museum (ahem, it’s actually called the Visitor Center now) is much more interactive (high-techy) than it used to be.  And now that I take a look at the pictures on the website, very Star Trek: Enterprise-ish:

The hallway that you first walk into has cameras set up and some kind of facial recognition software that draws stuff on your head (hats, etc) à la Realize Your Potential ads. I tried to mess it up by using my hands to form a oval or my sister’s purse, but that didn’t work out too well.. 😐 Other attractions were the Tablets and Pocket PCs and XBox 360s. And that’s about it. But yes, I think you could spend all day there playing with gadgets.

At the Company Store, I bought a copy of Windows Live OneCare for my Dad. I had heard good things about it and his subscription to Norton Antivirus had expired anyway. When he tried to install it back home, it turns out that it wouldn’t let him because it’s only available for US customers.. ARGH!@ They need to make North American versions of stuff. Super annoying for people outside of a country when some product is only available in a country you’re not a part of. Ugh.

Intern Experiences

I was going to jump in on the "discussion"/disagreement between whether or not the stats claimed by Windows Live Spaces are "real" blogs.  (Heck, I can’t even decide which posts to link to.. just go to this post and read forward.)  Just what is a blog anyway?

It’s fun reading all the flame wars that happen in the virtual realm of things (it happens everyday on Slashdot), but it takes a lot of energy out of you too.  Arguing about numbers really isn’t that interesting anyhow–I myself do have reservations on how WL Spaces calls itself #1, but I’ll leave that for later.  I’m not an expert anyway.

Anyway, I like making trips down memory lane better.  So spurred by Dare’s "Intern Experiences" post, here’s my impressions of being an intern (twice) in MSN.

For the first internship, I think those "initial feelings of awe" really never wore off.  It was my first time far away from home (it was 5h by flight instead of 5h by car to school), first time touching any ‘real-world’ software, and surrounded by Waterloo interns that were on their second (if not third) internship–and they were all 21+.  😐

The truth is that an internship isn’t just about the work you do.  Sure, it’s a 3-4 month long interview, but a big portion of your time here is spent enjoying the weather (unless it’s a fall/winter/spring internship), meeting other interns from other schools, driving your rental car, exploring the Pacific Northwest, having evenings and weekends free to spend the cash you’re earning, etc.

So I was having a hard time coming up with work-related stuff to write about in this post.  There was that time a couple of Messenger interns and I pulled an (almost) all-nighter pulling together stats and other stuff from an informal survey we sent out to friends and other interns for a presentation on MSN Messenger competition and on how Messenger just couldn’t stand up to the college crowd.  That was fun.  People on Messenger didn’t understand that no one in college used MSN.

But the *one* thing that I did as an intern that had lasting impact on me?  It hit me this morning as I was driving to work.  It was obvious.  It was the same spiel I give to everyone when I talk about my internships.

During my second internship, I worked on a feature known as "TOU."  I think Danny may have said something (in tongue-in-cheek fashion) to the effect of, "I hear that you’ll be working on something that will actually make us money!" on my first day.  It wasn’t a bad project.  But it never shipped.  It came close several times, but it wasn’t to be.  In fact, it took 3 years before the code was actually removed by Steve a month or so back.

The ‘cool’ part, though, was a subset of that feature, known as "Service IMs."  Essentially I managed to hack in a way for our Operations folks to send an instant message to every single online user.  Call it spam (or spim) or whatever you will, but that was power.  In fact, the feature was so useful, that they shipped it as part of a service pack to upgrade everyone to MSN Messenger v5.  (Remember those IMs from .NET Messenger Service Staff?)  Annoying, yes.. but it was still a better experience than suddenly getting a pop-up telling you that you had to upgrade right then and there or forego a connection to the network.  Friends would tell me how super annoying that ‘feature’ was (since it kept IM’ing you everytime on sign-in if you didn’t upgrade) and I would gleefully let them know that I did that.  The ability to send unsolicited IMs to hundreds of millions of people worldwide?  Hell yeah!

So what would I do if I was a mentoring an intern now?  I guess I’d try to get him (99% of devs are male) a self-contained project (so he could hack away at it) that was cool (so he would have fun), had customer-exposure (so he could point it out to all his friends–this is difficult when working on a back-end service), would ship soon (ditto), and allowed him to understand the architecture and complexities behind running one of the biggest services on the planet.  Working on the thing from design to implementation to testing to shipping would certainly be nice, but is often difficult due to the length of a 3-4 month internship.  I would also try my best to hide any cynicism from my intern.  I did a horrible job of that with one of the interns last year (who came back a second time, funny enough; but will be coming back as a PM for his third internship.. oops).  I think I’d have a pretty high bar too; if he didn’t impress me, I wouldn’t waste my effort.

Interns tend to have their heads in the clouds (definitely true for me), so it’s not that tough to impress–especially first-time interns.

Interesting tid-bit/tip: I have it from an inside source that I came *this* close =><= to not getting hired as a full time employee (and things would be very different today).  HR had their reservations about me, due to me not answering a question to her satisfaction.  What I would give to see that interview feedback today.  Just goes to show that even if an internship (or two) are 3-4 month long interviews, exit interviews are still important.

Strong Angel

This was described to me yesterday by one of the folks on the Concept Development Team: Strong Angel III: Integrated Disaster Response Demonstration [Wikipedia].  For one week, they simulate a pandemic response mixed with a cyber-attack.  Take a look at the Wireless Infrastructure page:

The overarching theme for SAIII’s communications activities is an assumption that due to an H5N1 Avian Flu pandemic that is sweeping the nation and the world all of the local San Diego telecommunications and power utility service providers personnel are either dead, sick, or worrying about their families…..and are therefore not on the job at work maintaining critical regional power and telecommunications services. In a short time both the power grid and the telecommunications infrastructure begin to fail. Since this is happening in multiple cities around the country, as in Katrina, the Federal Government has their hands full and the local San Diego community realizes it is up to them to respond (with help from others represented by the SAIII group in this case) to the disaster as best they can without expectation for the US Government to come to their aid any time soon. We call this “local heavy lifting”. The local community cries out for the private sector, NGOs and other capable organizations both locally and nationally to come to their aid.

The result is the appearance of a large number of vendor teams that agree to provide a wide-ranging variety of rapidly deployed communications technologies that includes WiFi clouds (802.11), WiMAX point-to-point longhaul wireless (802.16), satellite Internet connectivity (VSAT, BGAN, etc), push-to-talk radio integration systems, rapidly deployed cellular communications capabilities, and more. All of these technologies, most primarily based on TCP/IP and satellite communications (for Internet reachback), end up being the only source of voice and data communications in the region — since the local normal Internet infrastructure goes down along with the local telecommunications infrastructure.

My first reaction was, "Wow, that’s really cool!"; but you really hope it never comes to that situation in the first place.  It sounds like a really great demonstration of technology in action in a time of crisis–all these companies and organizations coming together to work on this.

So what is Microsoft doing in all this?  Besides our involvement via the Humanitarian Systems and SPOT (FM Radio), from the Objectives:

Embracing diversity

22. Demonstrate shared situational awareness in a heterogeneous collection of disaster management tools.

  • Use, for example, SSE to synchronize and cross-subscribe between several disaster management tools simultaneously (e.g. the Hub, RIJAN, RAINS, DMIS, MNE4)
  • Write information from each to the other
  • Synthesize consolidated information onto a single display.

Simple Sharing feeds for information flow

35. RSS Simple Sharing Extensions (SSE) feed of information from a remote site, to SA-III, and to the local EOC.

SSE!! + Groove’s Pony Express?  The latter link is worth reading in its entirety.  But if you’re pressed for time:

For SA-III, we are taking an approach that we believe will be vastly more flexible and inclusive, and one which would be more readily developed into a practical, real-world solution. By way of context, recall that the scenario for SA-III assumes that the city of San Diego is under quarantine, limiting mobility, and Internet access is periodically unavailable. The Pony Express, in this case, will involve a laptop running IIS, SQL Server, and an SSE service. Two of these units will be stood up, and each will be co-located in a vehicle with adequate power and a mesh WiFi router. A range of SSE-enabled applications, running on various platforms and devices, will be configured to cross-subscribe directly with each of these "SSE Mobile Relays", and each of the Relays will be cross-subscribed with each other. Users of SSE-enabled applications within each quarantine zone will create data structures such as Requests and Assessments. When a Mobile Relay comes within WiFi range, their devices will replicate with the Relay. The pair of Relays, having replicated with users distributed throughout their respective quarantine zones, will approach one another on either side of the quarantine boundary that they are not permitted to traverse. When in WiFi range of one another, the two WiFi clouds emitted from the vehicles will mesh across quarantine zones, and their cross-subscribed SSE Mobile Relays will replicate with one another. The two Relays may then return to their respective rounds, delivering to their users the Requests and Assessments collected in the opposite quarantine zone. …

Dude, that‘s cool!  Essentially you strap a laptop in an SUV and drive it around so that two endpoints can synchronize with each other via SSE in the absence of a LAN or WAN.  Wow!!  I’ve been digging into the guts of SSE over the past month (and I think I finally "get it").  And to see it being applied in this way is just so overwhelmingly cool.  I just can’t get over how amazing this is.

Peekaboo

Wow this is hilarious: Windows Live Drive Info: Deleted Post From Team Member.  I don’t know the guy, but I don’t think I’ll risk commenting on it.  Let’s just say that I don’t have a good impression of him–four spelling mistakes in a single post?!  Spell-check exists for a reason.  (I was recently called pedantic by my old boss.)   I do love the quote, "a small team of rengade [sic] hardcore architect/developer/test types," though.

I feel like I should post something raunchy and then yank it just to see who’s reading.