• Cloudy in Seattle

    WPF Resources


    I've been playing around and learning about WPF (Avalon) resources and ResourceDictionaries recently.  I had a few questions pop up that the knowledgeable people on the Avalon team graciously answered for me.  (Thanks to Rob Relyea, WeiBing Zhan, and Ashish Shetty)

    Here's a recap:

    1) I used to look at resources in reflector or ildasm, how can I see inside WPF resources?

    As it turns out, reflector is still the tool du jour!

    Figure 1: Reflector's view of WPF Resources

    2) What's the difference between:

    <ResourceDictionary Source="ResourceDictionary.xaml"/>


            <ResourceDictionary Source="ResourceDictionary.xaml"/>

    The answer to this may seem obvious however the examples I had seen up to that point and the fact that I only had Chris Sells book to go on (which doesn't cover MergedDictionaries) left me wondering. 

    In both cases you end up with the same resources, the reason for the ResourceDictionary.MergedDictionaries property is to allow for this:

        <SolidColorBrush x:Key="myRed" Color="Red" Opacity="0.5"/>
            <ResourceDictionary Source="ResourceDictionary.xaml"/>

    Since the following is not valid:

        <ResourceDictionary Source="ResourceDictionary.xaml"/>
        <SolidColorBrush … />  <!—this solid color brush is not allowed

    3) What is the difference between setting the build action on a XAML file that only contains a ResourceDictionary to page and to resource?

    In other words, suppose you have a XAML file that contains only a ResourceDictionary – should you use the “Page”, “Resource” or “Embedded Resource” build action?

    You don’t want to use “Embedded Resource” – that simply doesn’t work. Specifying “Embedded Resource” puts the resource in the .mresource section of the assembly, these resources need to go in the g.resources section (which in turn is in the .mresource section).

    Most likely you’ll want to use the “Page” setting as it creates a .baml file, which adds compile time checking and improved runtime performance.

    You can use Reflector to inspect the generated resources:

    Figure 2: Build action "Page" generates a more performant BAML file.

    Figure 3: Build action "Resource" generates an embedded XAML file.

  • Cloudy in Seattle

    Microsoft Windows 1.03


    The DigiBarn computer museum has a collection of screen shots of installing, booting and using Microsoft Windows 1.03 (circa 1985). 

    In some ways its amazing to see how far we've come, in other ways, a lot of the fundamentals haven't changed. 


  • Cloudy in Seattle

    Microsoft iPod Box Parody Video


    A dev on the Cider team, Marco Goertz sent this around, I had a a good laugh.

    Story: http://www.ipodobserver.com/story/25957

    Video: http://video.google.com/videoplay?docid=36099539665548298&q=microsoft+ipod

    Apparently this is something that was developed internally -- I can't confirm that but I wouldn't be surprised. 

    At Microsoft we are self -critical and at the same time we can and do laugh at ourselves.  Either way we learn...

  • Cloudy in Seattle

    WPF(/E) and XAML Links


    A few links I've heard good things about or have read recently:

    Lately I've taken an interest in WPF/E.  I'm meeting up with Mike Harsh later this week to get the full skinny.  Here are some starting points:

  • Cloudy in Seattle



    Seen on Dare Obasanjo's email signature:

    I will instruct my Legions of Terror in proper search techniques. In particular, if they are searching for escapees and someone shouts, "Quick! They went that way!", they must first ascertain the identity of this helpful informant before dashing off in hot pursuit.

  • Cloudy in Seattle

    UI Technologies


    One of the questions I hear a lot from customers and friends is "My project is going to ship post Vista and thus post-WinFX, shouldn't I want to bypass Windows Forms and use WPF instead?"

    My opinion is that it all depends on the kind of application you are writing (i.e. what will WPF enable for your applications or how will it make them easier to implement?), your tolerance for breaking changes in beta and CTP releases of WPF (although if you are starting now that is no longer a big concern) and your tolerance for building on a v1 technology.  There is also a cost to the redistributable in terms of size (on CD or to download), time to install and minimum requirements. 

    It's good to note that "minimum requirements" doesn't just mean the reach to down level OSs (98, Me or 2K) but you can also bet that the first set of XP machines that came out in 2001 will also struggle or not support WPF.  Although the minimum system requirements are not known, my guess is that the current WinFX runtime minimum system requirements detailed on the February CTP info page is a reasonable estimation.

    That said, I've never had a great story on what was meant by "tolerance for building on a v1 technology"... until now -- Charles Petzold has a great blog entry that tells the story.

    Don't get me wrong, WPF is the UI technology of the future and there are a lot of well documented reasons to move to WPF, it's just important to move to it when it makes the most sense for your products and Charles Petzold's post will help you make that decision.

  • Cloudy in Seattle

    Touch Me


    No, not that kind of "Touch Me".  Touch Screens.

    Touch screens have been around a long time and they have been slowly integrating into our lives: PDAs, kiosks (printing your photos at Walmart, buying tickets at the movie theatre), Tablet PCs etc. It's been more of a slow and steady evolution instead of a revolution though.  I believe we are on the cusp of the next generation of touch screens. 

    Look at the kind of computer interaction that is made possible by Multi-Touch Interaction.

    What's cool is how fluid the touch gestures are, there was excellent tracking, even with 8-10 concurrent gestures.  The example of resizing and sorting photos, and the map interaction in the video really showcase how a touch screen UI can be far more intuitive and productive than a keyboard and mouse (for certain applications).

    Now check out "Origami" -- an Ultra Mobile PC (UMPC).  This includes the Microsoft Touch Pack which is an add-on to Windows XP which "optimizes the touch screen user interface for UMPCs to simplify navigation and ease-of-use while on the go".

    In other words, people are coming up with really cool new ways of using a touch screen at the same time the cost of a touch screen is no longer the hurdle it used to be. 

    I think we're on to something here...

  • Cloudy in Seattle

    2007 Microsoft Office Screen Shots



    The Office team has really made some cool and somewhat risky changes to their UI.  The feeling is that users will find "new" features that have been in Office for a long time. 

  • Cloudy in Seattle

    XAML Serialization


    Currently I'm on a diversion into the world of Cider XAML Serialization.  XAML Serialization includes loading and parsing the XAML from file, converting it into an object model suitable for Cider features to edit, capturing undo/redo operations of XAML changes, formatting additions, preserving the format of existing XAML and finally saving it back to file.

    Although I'm really jazzed about doing the Extensibility work (which I will still be doing in parallel) I'm also really excited about exploring this area.  Not only will it help me to better understand XAML (something I'll be doing starting this week is to go through the XAML spec checking for Cider XAML Load completeness) but I'll also get to work with Chuck Jazdzewski who is the architect who designed and implemented this feature.

    The feature crew also includes a number of other great people: Obaid Rahman, Nikola Mihaylov and Zhanbo Sun

    The first thing we are working on is the XAML Load feature.  This includes:

    • Reading, parsing, validating and creating an object graph based on the content of a XAML document
    • Creating the design time view of that object graph
    • Reporting errors from this process

    Where the main scenarios we are covering include:

    • Opening an existing XAML file and viewing it
    • Viewing the output of Sparkle and Sparkle workflow (i.e. switching in between Sparkle and Cider)
    • Using Cider as a "XAML Pad"
    • Using external resources
    • Having performance that does not block
  • Cloudy in Seattle

    Managed Spy


    Take a look at this way cool tool that Benjamin Wulfe put together called "Managed Spy" (why not Spy#?) 

    Not only does it give you a view of the window hierarchy like Spy++, it also allows you to get/set the public properties on the Controls in that hierarchy.

    I sure wish this existed a couple of years back!

  • Cloudy in Seattle

    Right on Crossbow!


    The hot news from the WPF and Window Forms world is that the WPF/WF interoperability layer (code-named Crossbow) will be shipping together in WinFX v1.0.  Check out Mike Henderlight's blog post.

    This is really cool for two reasons. 

    1. Anyone looking to add WPF to their Windows Forms apps or vice versa will not have to wait until the Visual Studio Orcas time frame.
    2. This was a customer driven change.  A great example of how when the customer speaks, Microsoft listens.

    Kudos to the Crossbow team.

  • Cloudy in Seattle

    Call of Duty 2 XBOX Live


    [Update] Infinity Ward is close to releasing an update that will address many of the issues people are having with the XBOX Live gameplay. http://forums.xbox.com/2598446/ShowPost.aspx  Also, apparently, every XBOX 360, has 64 MB of memory on board that can be used for downloadable content or patches/updates.  It's a very limiting amount of memory but usable.

    Now that I've had my XBOX 360 for a little over a week, I find myself playing Call of Duty 2 the most.  I like sports games a lot, but I just haven't been enjoying the game play as much on the current 360 sports games as I have with the older XBOX games. 

    I fully expect that to change, the game developers need time with the new XBOX 360 hardware. If you remember, XBOX games continually got better over time as the game developers got accustomed to the hardware and built up libraries of code they could reuse allowing them to spend more time focused on other aspects of the game.

    The other night, a few of us from work planned an XBOX Live session to play Call of Duty 2.  We found we couldn't create a private game or host a party.  Very surprising.  I did a bit of searching, and there have been complaints with the lag and the lack of this support: http://digg.com/gaming/Complaints_grow_with_Call_of_Duty_2_online_for_XBox360

    I also found a funny thread on how you can gain some limited control over the session: http://forums.xbox.com/2040758/ShowPost.aspx.  Quite a few hoops to jump through and you still can't control who enters (or stays in) the lobby.

    I got to hoping that this deficiency might be addressed by some kind of downloadable patch, much like many of the games on the XBOX were fixed/improved in this manner.  I then remembered that not all XBOX 360s have hard drives.  For content updates, that's ok, the people that don't have hard drives won't get the latest content... but what about patches that fix glitches or close down cheats that people are exploiting?  You can't limit people who don't have hard drives from playing on Live, can you?


  • Cloudy in Seattle

    Developer Designer Workflow


    There have been some interesting articles about Cider in the news lately:

    One of the interesting things that a couple of these articles go into is something we've seen some of our customers ask about and that is the designer developer workflow.  There are a lot of questions centered around:

    • "How do I take my UI in Sparkle or drawing in Acrylic and use it in Cider?"
    • "Where is the best place to implement functionality X, in Sparkle or in Cider?"
    • "Can I switch back and forth between Sparkle and Cider when developing my UI without losing changes?"

    As it turns out, these kinds of designer/developer workflow questions are very similar to the kinds of questions we are discussing internally with the sparkle team.  We have a lot of functionality already and are in the midst of implementing new features and tweaking existing ones in both products.  As a part of this process we’re working to define the best practices for working with both tools and we will be sharing them with you as soon as we can.

    One thing that is certain is that we are going to avoid data loss when switching between designers.  That, as well having MSBuild always build the output of both designers, are central to the developer/designer workflow.

    Our main scenarios for developer/designer workflow involve (but are not limited to):

    • The designer creates a style library in Sparkle -> the developer consumes it
    • The designer creates a UI -> the developer writes the code behind
    • The developer creates a UI -> the designer reworks it

    What developer designer workflow scenarios are important to you?

  • Cloudy in Seattle

    WinFX February CTP


    The February CTP of WinFX, the Windows SDK, Orcas Development tools (includes Cider), and VS Extensions for Workflow have been published.

    Links are available at http://msdn.microsoft.com/windowsvista/getthebeta/

    Let us know what you think!

  • Cloudy in Seattle

    Sparkling Cider - Cider and Sparkle Designer Extensibility


    One of the questions that came up on our Cider newsgroup was whether Sparkle and Cider would support the same set of extensions and extensibility points. 

    To answer that question, it's good to clarify that in the Cider and Visual Studio world, there are two kinds of extensibility: Visual Studio extensibility (think VS addins) and the Cider Designer extensibility (think custom property editors, design time actions, custom adorners and licensing etc.).  This post is referring specifically to the Cider Designer extensibility.

    Our high level goal is to share a single extensibility model with Sparkle -- we don't want to make our customers develop more than one design time experience for their controls or have a negative experience when transferring controls from one designer to the other. 

    Having said that, there are a number of challenges in accomplishing that single extensibility model for our v1s, namely the differing release schedules, priorities and target customers.  Nonetheless, we believe that we will be able to put together the right user experience by supporting different subsets of the same extensibility model with reasonable fallbacks in both Cider and Sparkle.

    Which extension points do you most commonly use and what are your scenarios for writing a design time experience for your controls?

  • Cloudy in Seattle

    Back on the Blog


    I was surprised to see how long I had gone between blog entries.  A month in fact!  By far, the longest break since I started blogging back in August 2005.

    My excuse is that I've been pretty busy ramping up and completing deliverables at work while also getting my townhouse in order and getting acquainted with the area. 

    Overall its been a great experience and I'm enjoying my new life out here.

    Some notable happenings:

    • Finally gave in and bought an XBOX 360 on E-Bay.  Lots of great changes, the whole experience has been well thought out and there are already some great games.  On top of that, the games will continue to get better as the developers figure out how to best use the new hardware.
    • Had some friends visit from San Diego -- visiting Seattle in winter from SoCal, now that's friendship.
    • American Idol.  'nuff said.
    • The sun has shown itself a lot the last coupla weeks
    • Went to my first Microsoft morale event -- pool at The Parlor.  Lots of fun.
    • Had my first office move, from building 41 to building 42

    Anyways, expect more blogging in the future, my next couple of posts are going to talk about some of the areas and scenarios we are looking at for Cider.

  • Cloudy in Seattle

    What part of Cider do I work on?


    I am the PM for Cider Extensibility.  So, what is the Cider Extensibility story?

    Since Orcas will be our v1, the main focus for extensibility in that timeframe is enabling 3rd party control developers to control and customize the design time experience of their controls.  This includes customizing the way a control's properties are edited and the way a control is shown and interacted with on the design surface.

    Beyond Orcas we have some ideas about what extensibility may exist and this includes:

    1. Hosting the Cider designer.  i.e. Designing Cider such that other applications can use, control and customize it as a component within their application. 
    2. Using the designer architecture used to build Cider to build your own designer inside and outside of Visual Studio.  This could include your own Visio, your own XSD editor or even your own photo layout application that has a design time layout.

    Over the coming months, I will be blogging about these areas, stay tuned...

  • Cloudy in Seattle

    First Month at Microsoft


    It's hard to believe that a month has already passed since I joined Microsoft.  I still feel like I have a lot of ramping up to do on the job and on Microsoft and I still haven't moved out of my corporate housing into my house. (although I'm dealing with that this weekend).

    It's official though!  I love my job.

    So what is it exactly that makes me feel that way? 

    1. The culture of accountability.  Microsoft has a culture where they give you a lot responsibility and ownership and give you whatever resources you need to succeed.  You are then held accountable for your results and rewarded accordingly.  No big brother, no veto power, no micromanagement...  Trust + ownership + remove barriers + accountability = motivated employees.
    2. The people.  Yes, Microsoft has a large number of industry luminaries (Don Box, Chris Sells, Anders Hejlsberg, Chris Anderson etc) and being in a company with that kind of intellectual horsepower is truly humbling -- what I think is even more amazing is that if you look down every aisle in every building, you're going to find some kind of "guru", probably more than one.  It's just an amazing feeling to work day in and day out with a group of dedicated people who are incredibly bright, knowlegeable and passionate.  It's like being at the PDC every freakin' day!
    3. The resources.  Discussion groups, a library where you get books delivered to you and research done for you, the IT infrastructure, the technologies, the access to software, the awesome cafeteria food (whoops how did that get in there?), the perks, the Pro Club gym membership, the benefits, the brown bags, the training...
    4. The product.  Working on the Cider designer is just an amazing project to be on.  I get to learn WPF/Avalon, I get to learn designers, I get to interact with customers who are developers... 

    In a sentence: I feel good about what I get to work on and I enjoy working with my colleagues.

    Ok, enough gushing.  Here are my 1 month anniversary thoughts:

    • I think it's rained every day since I've moved here.  I'm not joking.  We're breaking records for rain.
    • The traffic moves much slower than in San Diego.
    • I love all the wine bars around, notably the Purple in Kirkland.
    • I've never gotten so much and such quality feedback on a spec before, during and after a review. 
    • I don't think I can go anywhere in the Puget Sound without bumping into other people that work for Microsoft.  You've heard of the Six Degress of Kevin Bacon right?  Well, in the Puget Sound, it's gotta be the Three Degrees of a Microsoft Employee.
    • Microsoft cares a great deal about the customer.  There is a greater emphasis on the customer than you might imagine.
    • Microsoft employees are an incredibly dedicated group.  You can come in any day, any time and there will be people working, not because they have to but because they want to.
    • The lights aren't sensor based.  Late at night when the lights go out, dancing in your office isn't going to bring them back on.  You have to know about "the switch".
    • The performance evaluation review procedures and yearly commitments are taken very seriously. 
    • I'm still drinking from the fire hose.
  • Cloudy in Seattle

    Battlestar Galactica


    I noticed Jessica Fosler and Raymond Chen mention the new season of Battlestar Galactica which just started.  I haven't watched the season premier (got it on tivo) but I like the show a lot even though some episodes of the second season were a bit tedious.  Not entirely sure I'm liking having Starbuck as a woman since I used to pretend I was Starbuck from the original series (when I was a kid, not last week).

    So why's it good? The show has a lot of mysteries, suspense, drama and action. 'nuff said.

  • Cloudy in Seattle

    Microsoft Office Communicator


    Happy New Year!  I'm looking forward to 2006 -- I'll have my relocation related distractions out of the way and will really be able to dig in to my new job at Microsoft.  I'm really excited about the Orcas release, the approach we are taking with planning that release, my project (Cider Extensibility), and the whole move to the Pacific Northwest (even though it is quite wet and gray).

    Today at an Orcas planning session, I was thinking about how much I enjoyed going to PDC, TechED, SDRs or other Microsoft events.  I used to have to pay money for that (i.e. have my company pay money for that) and now I get to go to meetings where that kind of information is shared as a part of my job!  Not only that, I get to work on this stuff.  Amazing.

    Anyhow, the subject of this post is about something a friend of mine pointed me to -- Microsoft Office Communicator.  At first glance it looks like MSN Messenger but it is so not that.  For one thing it provides private messaging.  Feature wise it's a full fledged work tool.  It integrates with Outlook and your telephones.

    Integration with Outlook includes synchronizing your availability, out of office messages, status (will display "In a meeting" when you have an appointment), and other information like phone number, title, and email address with Outlook.  For example, right-clicking on a contact and clicking "properties" will bring up that persons contact information from the Outlook directory.  Let me put that a different way, you will no long have to ask your coworkers "Hey, what's your IM username and which one do you use, Yahoo, Google, MSN, ICQ or AOL?".

    Integration with your telephones means that when I get a phone call to my office phone, if I'm signed in to Communicator, I get notified of the call via Communicator, no matter where I am physically in the world.  I can then forward the call on the fly to another phone or even to my PC. 

    I can initiate phone calls on my office phone from Communicator (it'll dial for me) to any of the phone numbers my contacts make available or even to his/her PC.  I can even use my location or status to trigger call forwarding.  How cool is that?

    And of course you can use it for instant messages, sharing, file sharing, conferences, video, live meeting or to ask for remote assistance.

    Call me, call me, come on, I want to see Communicator come up with a phone call notification so I can forward the call on the fly to my cell phone, even though I'm in my office...

    P.S. I'm sure I missed features, check out the product info here

  • Cloudy in Seattle

    Secret Weapons and Language Workbenches


    I read a great article titled "Why Windows Presentation Foundation Will Dominate Thick Client Development, XAML Is Microsoft's Underestimated Secret Weapon" by Carl Zetie.  If you have the resources to read such an article, I recommend it as a good read.

    In the article, the author draws a parallel between XAML and Language Workbenches.  The term "Language Workbench" is coined by Martin Fowler in his article titled "Language Workbenches: The Killer-App for Domain Specific Languages?"  As is often the case, one great article points me to another.  Here are a couple of excerpts from that Martin Fowler article that describe some of the terminology:

    I use Language Oriented Programming to mean the general style of development which operates about the idea of building software around a set of domain specific languages. I use Language Workbench as a generic term for this new breed of tools. So a language workbench is one way to do language oriented programming. You may also be unfamiliar with the term Domain Specific Language (usually abbreviated to DSL). It is a limited form of computer language designed for a specific class of problems. Some communities like to use DSL only for problem domain languages, but I'm following the usage that uses DSL for any limited domain.


    GUI builders are a form of DSL, but one where editing experience is quite different from the textual programming languages that we are used to. Hence they are often not thought of as languages by people building them - which some see as part of their problem.

    In Carl Zetie's article, it's suggested that XAML seems like it may be a good fit as the underlying abstract representation of the software where the tools like Sparkle, Cider, the Windows Workflow Foundation designer, the class diagram designer, and the code editor act as DSLs. ("Is XAML the First Coming of Language Workbenches?")

    As someone who isn't qualified to comment on what is or is not a Language Workbench, I am asking myself if XAML can really be the underlying abstract representation of an application given that it is used to represent parts of the application and not the whole application itself?  Is an abstract representation of the application central to the idea of a Language Workbench or is a set of DSL tools used in concert to build an application sufficient?

    What do you think?  XAML makes it easier to create DSLs but is it a Language Workbench?

  • Cloudy in Seattle

    Cider in the December CTP


    For those of you who haven't had time to see the Cider videos or install the December CTP of WinFX along with the VS 2005 Extensions for WinFX, I thought I'd give you a taste of the kind of design time experience Cider provides.  The vector graphics get me every time :)

    Click for a larger view.

  • Cloudy in Seattle

    Moving from San Diego to Seattle...


    As part of taking a job at Microsoft, I left my job with Intuit (great company), sold my house and left San Diego.  It was a really tough decision but a combination of professional and personal factors ultimately made me choose to go and so far it feels like the right decision. 

    What is it like living in Greater Seattle after spending the last 6 years in San Diego?

    Well, the most obvious difference is the weather.  Luckily, I was born and grew up in Vancouver, B.C., Canada, was intimately familiar with the weather in the Pacific Northwest and knew what I was getting into.  Let's look at the weather report from MSN Weather for both San Diego and Kirkland over the next 5 days (december).

    Guess which is which :)  In general, the weather in San Diego is ideal all year round -- warm, and sunny.

    Both San Diego and Greater Seattle are beautiful but I have to give the nod to the Pacific Northwest because it is so green, has big trees and mountain views.  San Diego has a number of rolling hills but it just isn't quite the same as snow capped mountains.

    And speaking of mountains, one of the real benefits of living in the Pacific Northwest is the accessibility of good skiing/snowboarding -- within 45 minutes I can be on the slopes.

    That said, I'll really miss the Southern California experience: theme parks, beaches, lots of shopping, and day tripping to LA, Newport Beach, Long Beach, Huntington Beach, Vegas, Santa Barbara or Mexico. 

    Of course, in Greater Seattle you can day trip it to the San Juan islands, Vancouver BC, Portland, Mt Rainier, Mt St Helens, and the Olympic National Park.  Would you rather drink Pinot Noir in Santa Barbara or have the best Chinese food in the North American in Vancouver?

    One of the bigger surprises for me was that there really wasn't that big of a difference in the cost of living.  The San Diego real estate market has been out of control the last 5 years and prices are really high but the cost of housing in Seattle, especially close to Microsoft (Bellevue, Kirkland, Redmond -- affectionally known as the east side) is not much cheaper, probably only about 10-15% less.  Of course, WA has no state income tax and you can't beat that :)

    In a nutshell, I think both cities are wonderful places to live with different benefits.  You just can't beat the weather or the Southern California experience in San Diego and you can't beat the easy access to the mountains and beautiful scenery in the Pacific Northwest.

  • Cloudy in Seattle

    Cider Resources


    Since joining Microsoft, my blog has mainly been about the experience of joining Microsoft and this has mainly been because I'm still in the process of ramping up on WPF/Avalon and Cider.  Well, I wanted to change that a bit, at least for this post, and point out the main Cider resources we currently have available. 

    I'm sure other team members will start blogging about Cider and I'll be posting links to their blogs, so stay tuned!

    Look for Cider information at the WinFX Developer Center.

    There have also been a couple of presentations:

  • Cloudy in Seattle

    Second Week at Microsoft


    After my second week at Microsoft (first week here), I can say that I'm slowly settling in.  I have my desktop and laptop (cool Toshiba Tecra Tablet/notebook combo) setup and I'm able to build Cider. 

    The scripts the team already had in place to setup up the development environment sure made it easy to get setup and everytime I open a Cider command window, it ensures that I have all the latest versions of it's dependencies and if not, prompts me to automatically update them.

    That said, the week felt really hectic trying to get ramped up at work while being in escrow, dealing with the move (got my car, got the goods I sent to temp housing, and lots of little niggly things), and trying to get ready for Christmas.

    While last week was mainly about getting oriented and getting signed up for everything, this week involved ramping up and training.  This included mandatory training like Standards of Business Conduct, Security, Anti-Harrassment and Online Commitment training (work commitments which directly feed into your performance review) as well as the ramp up training/reading like how to moderate forums, and how to use the IT services (audio conferencing, meeting rooms, live meeting, sharepoint etc). 

    At the same time I was getting all of my remote access and smart card activated.  A cool thing about Microsoft email is that I can access it from any internet connection, not only via the Outlook Web Client (which is typical) but also using my rich Outlook 2003 application.  Microsoft rigs Outlook to use RPC over HTTP -- full Outlook experience, no VPN, RAS or Web client required.

    I've also been able to enjoy getting ramped up on Cider by reading the internal docs as well as really diggning in and learning WPF/Avalon.  In my prior job, I'd have to do make time outside of work to read up on those things, it's very fun to be able to do that as part of my job.

    The thing which I notice the most about the people at Microsoft is how passionate, dedicated and commited everyone is.  People work hard and long because they want to, not because they have to.  It reminds me of this blog post SomaS made on what he looks for in Microsoft hires.  His post rings true to me, working in an environment with passionate people is inspiring.

Page 8 of 9 (202 items) «56789