Archives / 2007 / May
  • for charities and non-profit organizations

    Microsoft Canada charity initiatives has just launched

    What is MatchIT?

    MatchIT is an online environment where charities and not-for-profit organizations can connect with Developers, IT Pro’s, Designers, Students or other technical individuals willing to volunteer their time and expertise to bring technology solutions to these organizations.  Our goal is to enable them to be more effective with their limited resources and focus their efforts on having a positive impact in society.

    What does MatchIT do?

    MatchIT will allow charities across the country to post virtual "want ads" describing opportunities to our audiences that have inputted their volunteer profile to assist these organizations.  Through a unique taxonomy process developed by our friends at Navantis, only true matches will be put forward to awaiting volunteers, so users will not have to wade through all the opportunities to find a good fit. 

    In addition to assisting in aligning these volunteer opportunities, Microsoft Canada Community Affairs will provide the applicable Microsoft software to the charities in order to ensure that the job is done right!

    How can I get involved?

    If you are interested in applying your technical skills to incredible Canadian charities in a volunteer capacity, simply visit and "Sign Up"! 

  • Expression Studio on MSDN today!

    Expression Studio is available for Premium subscribers to MSDN Visual Studio Team Suite!

    This is really exciting news !! I already feel more creative...

    Morover because my Expression Design and Expression Web evaluations has just expired.

    Expression Studio is a package which includes the following products:


    And if you wonder why Expression software UI are so dark it is certainly because you (like me) are not the target audiance of these tools...

    Expression softwares are for designers.

    Designers live in mountains, inside caves the whole day, without lights, so blank UI could hurt them...

  • AJAX loading indicator like GMail

    Simone Chiaretta wrote a very nice post about building a Gmail-like loading indicator (that means top/right corner fixed, regardless of how the users scrolls or sizes the window) with an AJAX UpdateProgress control, an animated gif and some CSS; you can read his great article there :

    How to make a Gmail-like loading indicator with ASP.NET Ajax

    Unfortunatly his solution don't work for the one like me who still have IE6 at work, as css position: fixed works with all major browsers except... IE6!

    Someone on his comments propose to use CSS hack and expression to make it happens in IE6, but with the magic of AJAX Control Toolkit and the AlwaysVisible control you can make it easier and cleaner!

    The final result in IE6:

    Here is the code I use:

    <asp:UpdatePanel ID="UpdatePanel2" runat="server">
            <asp:Button ID="Button2" runat="server"
    OnClick="Button2_Click" Text="Async Postback" /> Server time: <asp:Label ID="Label2" runat="server"
    Text="Label"></asp:Label> </ContentTemplate> </asp:UpdatePanel> <asp:UpdateProgress DynamicLayout="false" ID="UpdateProgress2"
    runat="server"> <ProgressTemplate> <div class="Progress"> <img src="Images/ajax-loader.gif" /> Loading ... </div> </ProgressTemplate> </asp:UpdateProgress> <asp:AlwaysVisibleControlExtender ID="AlwaysVisibleControlExtender1"
    runat="server" TargetControlID="UpdateProgress2"
    HorizontalSide="Right" VerticalSide="Top" HorizontalOffset="0"> </asp:AlwaysVisibleControlExtender>


    And the CSS: 

    .Progress img {

    You can download the source code here.


    So how does the AlwaysVisibleControl work ?
    In fact it simply use JavaScript to check browser and version :

    • If IE<=6 then it uses absolute position and internally take advantage of the Animation Framework to fix the div.
    • Else (IE>=7, FF2, etc...) it simply uses css position: fixed.

    Here is the interesting part from the AlwaysVisible control source code:

    this._animate = (Sys.Browser.agent == Sys.Browser.InternetExplorer
    && Sys.Browser.version < 7); if (this._animate) { // Initialize the animations to use the actual properties this._animation = new AjaxControlToolkit.Animation.MoveAnimation( element, this._scrollEffectDuration, 25, 0, 0, false, 'px'); // Make the control use absolute positioning to hover // appropriately and move it to its new home = 'absolute'; } else { // Make the control use fixed positioning to keep it from moving // while the content behind it slides around = 'fixed'; }


    Note: Later I found another good one from Matt Berseth :
    Using an UpdatePanelAnimationExtender to place an animated gif over a GridView:

  • DevTeach conference

    DevTeach 2007 is over, it was great as I had the chance to hear some very good speakers :
    Markus Egger, Claudio Lassala, Julia Lerman, Yair Alan Griver, Ted Neward.

    If you did not attendee, 2 reporters did a live coverage for Universal Thread :


    A nice tip from Claudio Lassala : Did you know that you can do ctrl+c on Windows dialog box to copy error message ? Now you do... and maybe it could be interesting for your customers also... instead of doing screen shots/mspaint before emailing about a problem!

    Another funny thing I learnt from Yair Alan Griver : When you create a new Silverlight solution, you have a reference to agclr.dll which is the core assembly of the client side clr used by Silverlight.

    So why the client clr assembly is named agclr ??

    Simple: Ag is for Silver in the periodic table of the chemical elements...

  • Cool tool: IE InlineSearch

    Inline Search is an extremely useful free add-on for Internet Explorer that mimics Firefox's search behavior. It turns searching inside a web page into a non modal research experience coupled with a find as you type facility. Think about IE Search on steroid.

    via Guy Barrette

  • Customize Vista Favorite Links

    I was stuck with this for months (really!) :
    Favorite Links in Vista's Windows Explorer is a really nice feature (although not my best one *)... but why the fuck they did not put "Downloads" and "Videos" on my favorite links ?? I go there 60 times a day.

    So how do you customize favorite links ?
    I posted this 6 months ago on Live QnA, but got no answers.... maybe it was a bit early ;-)
    Then I posted it again last week and got the solution right away.... this was so easy... just go to C:\Users\YourUsername\Links and add folder shortcuts ! (or virtual folders, but app shortcuts are not supported).

    If you don't know Live QnA this is a beta Windows Live Service to find answers that Google sometimes can't, like "What is the name of that band which did first part of Placebo yesterday in Montreal ?". 

    * Each time someone ask what is my favorite Vista feature, I always answer : "right click, rename !!!!!!!!!!!! Vista auto-select file name without extension, how efficient is that !!??" my favorite feature far behind, and for sure one day I will find someone who agree with me...

  • Silverlight 1.1 samples

    Silverlight 1.1 has just shipped (as alpha status) but there are already some samples available !!

    Lutz roeder, the guy who wrote the world famous Reflector, made 3 projects with Silverlight 1.1, check out his work here :

    Samples from the Extending the Brower Programming Model with Silverlight Session at MIX07 is available to download here :


    Samples of the Building Silverlight Applications using .NET (Part 1 & 2) Session are also available here :

  • Microsoft ASP.NET Futures

    Microsoft ASP.NET Futures contains an early developer preview of features providing a wide range of new functionality for both ASP.NET and Silverlight. This comes from the latest announcements :

    • ASP.NET Ajax futures
    • Silverlight Controls for ASP.NET
    • Dynamic Data Controls for ASP.NET
    • ASP.NET Application Services
    • Dynamic Languages Support in ASP.NET

    Download materials :

    There is already a Quickstart :

    Very exciting news for an ASP.NET developer !!!!!

  • MIX07 I wish I was there

    MIX07 conference is now over and I realize that if I should attend only one this year it should have been this one... they made huge announcements :

    • Silverlight 1.0 Beta with Go Live
    • Silverlight 1.1 Alpha (with .NET CLR programming support)
    • Silverlight Streaming Alpha
    • Silverlight tools for Visual Studio Orcas
    • Dynamic Language Runtime (DLR) and IronRuby
    • Expression Studio

    We were under NDA but now we can tell what we learnt at the MVP Summit 2007 in march : NOTHING!
    no announcements at all from the ASP.NET team as they keep saying "Go to MIX!"... well they should have put a MIX pass in our entry bag!

    Anyway I'm glad that we can already find all webcasts online.

    So finally here is my announcement : "MIX08 : I'll be there".

    Diagram of the Silverlight 1.1 world

  • "Web is simple no more"

    As said by Ray Ozzie, Microsoft Chief Software Architect, during MIX07 keynote.

    And this is so true... in such a short time we went from simple pure HTML, DHTML, then interconnected systems with web services, to real complex web app with AJAX, and now rich media with Silverlight and its promise to "Light Up the Web".

    Watch the whole keynote with Scott Guthrie fabulous demos on Silverlight, as well as Expression Blend, Expression Web 2.0 and Expression Media Encoder previews:

    Read the full transcript here:

    You can now download every session recordings at: