Microsoft, Information Technologies...



  • From Taiwan, living and working at Tokyo, Japan.

Recent Posts


Microsoft Sites

Other Sites

Blog pools



Site Info

Locations of visitors to this page

Logos & Chicklets


Rex's Certifications
Rex's Certifications

Creative Commons授權條款
本 著作 係採用
Creative Commons 授權條款

April 2006 - Posts

Monad changed its name to Windows PowerShell...


[via Scott Hanselman]

As I mentioned previously about Microsoft Command Shell (aka Monad), it's now changed its name to Windows PowerShell.

Refer to PowerShell blog for more information.

according to this blog post, RTM will be at Q4 2006, and RC1 is now available for download.

Technorati Tags: windows , shell 


Mail Disappeared!! Outlook Express File Size Limit??


Ok, one of my friends sent me a mail asking that her colleague using Outlook Express and seems the inbox is too big and this colleague just lost his mails. According to my friend's mail, Corp MIS guy said that this is "due to" Outlook Express limitation of inbox file (.mbx file) size and if the inbox's file size exceeds certain size (say, 2GB for example) , Outlook Express will "automatically" delete ones mails in inbox folder, "without notice", which, according to my friend's description on the mail she sent to me.

Did a search via Google, seems seldom people have this problem, but still found something about this here.

According to this discussion thread, There should be kinda problem when Outlook Express has big inbox file size, and then mails may lost. but it should be just "archived" to somewhere else and should have ways to diagnose it. There is a site called OEHelp which got some tools to help solve this problems (not all free) and may worth a try. Possible reasons of missing mails are described here.

Well, as a personal opnion, I do think making folders to classified mails and move out from inbox will be a good practice of mail management, no matter what offline mail client one used. Although, now most of offline search tools (MSN Toolbar / Google Desktop) offer convenient ways to fast find mails for you, it's still good habit of keeping things organized by oneself so that one may not accidentally running into unknown chaos!

and the MOST important, make and do RUN YOUR OWN BACKUP PLAN!!! it's all just about backup!!!

Technorati Tags: email , outlook express


GTalk now with pictures...


Just got a notice when I login to Google GTalk, updated version now available on the website, with pictures for accounts, just like MSN and Yahoo.

Saw from KBCafe about this at 4/1 , but now it's officially available from GTalk download page. go update it!

Technorati Tags: google , messenger


Posted: 2006/4/22 1:02 by rextangtw | with 1 comment(s)
Filed under: ,
Visual Studio 2005 Express products will be free permanently...


[via 福井 厚] [via Dan Fernandez]

According to Dan's post, Visual Studio 2005 Express product series will now be free permanently, instead of only free for one year.

Well, should be good to promote Microsoft Development Tools...

Technorati Tags: microsoft , ideprogrammingvstudio


What happened about 04/18 Newsgator outage...


As I noticed about the Newsgator outage yesterday, got Ronnie Gilberson's comment in response of the reasons today. thanks for the notice!

Based on Ronnie's post , it should be the SQL Server database inconsistency state that cause the database server down and not able to trigger the fail-over system, and would need to close whole system from outside internet traffic of queries to play back the log file to bring the database back. because of the large size of log file, it took a quite while for system to recover.

Although the main reason of the cause was still unclear, at least now people know what's going on behind the outage, and able to think theirselves that what may need to be done to prevent something like that in their own systems. Still appreciate people in Newsgator to bring the service back. and would like to know the real reasons of cause once you guys in Newsgator find out. thanks!

Technorati Tags: rss , newsgatoroutagesql server


Claim your blog that forbidden script tag in your Technorati account...


Most blog services may forbidden some html tags to use in the content. This may cause problems if one wants to claim a blog to one's Technorati account.

Generally Technorati requires you to insert a script tag with an auto-generated .js file inside your blog layout to let Technorati recognizes that this is actually your blog and permits the claim. but in some blog services like MSN Spaces or Yahoo! 360, which may not allow modifying the layout or have <script> tag. There is another way to do the claim.

I remembered in the past time Technorati did offer the way for people to claim their blogs without script tag support, but now Technorati seems not offer it anymore. The Technorati FAQ did specify that there should be an http link showed up in the setup page for people to put in a url link tag in their blog to be as a claim of the blog. but now the claim blog setup page didn't have that http link anymore.

Although the http link disappeared in claim blog setup page, and only the script tag string appeared, it's still able to make the http url yourself. just get the filename of the .js file and form the following url link:[the_js_filename]

then put the link in somewhere of your claiming blog as a link entry. Technorati will still claim this blog into your account.

I've done that with my MSMVP blog as well as MSN Space blog already.

Technorati Tags: rss , technoratiblog


Newsgator was down! more than 4 hours!!


right after I said that the service is good! pretty ironic... Orz

since this afternoon FeedDemon kept telling me that it could not sync to Newsgator. I was originally thought that maybe the ISP at Taiwan got problems since there was not any post at Technorati saying about this. but a tracert showed that the path and connection to the server is ok. 4 hours later, the website was still down and there are starting to have some posts showed at Technorati.

Newsgator didn't have any notice about the down time and maintenance. therefore basically the paid users were not aware of the down time at all. that should not be a good way for a paid service.

anyway. please bring back the service ASAP!

Technorati Tags: rss , newsgator


Posted: 2006/4/18 20:46 by rextangtw | with 3 comment(s)
Filed under: ,
FeedDemon 2.0 is really cool...


Well, I have to say... FeedDemon 2.0 ROCKS!!!

FeedDemon 2 ROCKS!!!

I used to have Newsgator for Outlook to store my RSS feeds content to read offline. as my Outlook getting bigger and bigger that full of .pst files open simultaneously for different purposes (personal archive pst, all the contacts pst, work pst, etc), it become another heavy load for outlook to manage Newsgator feeds pst file, since I got 170 feeds now and the sync become quite slow in Outlook.

FeedDemon 2.0 released couple weeks ago, I installed it and because I am a paid subscriber to Newsgator, I am auto a licensed user to FeedDemon 2.0 . I have to say that it's fast and easy to use. and it did catch users' behaviors while reading RSS feeds. Some of the goodies I feel as follows:

  • The Sync of feeds are fast!
  • Newspaper view is natural
  • Tabbed IE browsers to fast going to the web of certain feed.
  • News item view is just like Newsgator for Outlook and easy to adapt
  • Watch Items to filter all the RSS feeds by self-defined keywords - this one is great!!
  • News Bin to track interesting posts in one place.
  • Fast news item filter to filter in real-time without delay - this one is great too!
  • More surprises to be found later...

Well, it will be my another must-have-app in a daily basis. Also thanks to Newsgator Online to store and manage all my feeds in one place that can sync everywhere. I paid for it and I am really satified with its services!

[Updated 2006/04/19]

[via KBCafe] here is a review from about FeedDemon 2.0...

Technorati Tags: rss , newsgatorfeeddemon


Posted: 2006/4/17 16:11 by rextangtw | with 4 comment(s)
Filed under:
A nice freeware tools list...


[via digg]

besides Scott Hanselman's nice tool list for developers, here is another good freeware tools list to solve many common problems while the use of computer software.

I want a Freeware Utility to ... 300+ common problems solved...

Technorati Tags: freeware , tools


Posted: 2006/4/17 13:27 by rextangtw | with 2 comment(s)
Filed under:
What's new in C# 2.0...


Go to the foundation if you want to master something!

As I am digging into ASP.NET 2.0 stuffs, and using C# as my primary language, I found that it should be necessary to take a look of those new features provided by the language (eg, partial class, etc) before I dig more into the application side of programming. One should know exactly how many gadgets he can use before starting to build a masterpiece.

A search to Google can find many resource about this. Microsoft C# language site provided many good resources to dig into. The C# 2.0 Language Specifications Draft provides new feature detail explainations through out the document, including the follows:

the 100+ pages draft has a detail explaination of those new features provided by C# 2.0 language. take a look if you want to know more about the language itself.

Technorati Tags: programming , C#csharp


Posted: 2006/4/17 12:10 by rextangtw | with no comments
Filed under: ,
Where is [file].aspx.designer.cs in native VS2005 Web Project?


Just had a further reading of the migration from ASP.NET 1.1 website to ASP.NET 2.0 one. ScottGu's post listed his Web Application Project, which is a good resource for understanding these topics.

In ScottGu's tutorial article about migrating from ASP.NET 1.1 website to ASP.NET 2.0 one, he mentioned those [file].designer.cs files generated while convering the 1.1 compatible web project, which makes me curious about where were those [file].designer.cs files of native VS2005 web project? basically I can only see those partial classes for my own written code, where were those designer generated control definations go?

By asking Google about this, found out some info via this forum thread and leads me to Rick Strahl's post talking about Page Inheritance in ASP.NET 2.0. According to his post about the new page class creation model, all the designer generated codes are now auto generated by compiler at compile time. as Rick stated:

Note that a partial class does not contain control definitions or InitializeComponent that usually hooks up the events. ASP.NET generates the surrogate partial class at compile time that represents the ASPX page code ASP.NET generates another partial class that contains all the control definitions, the event delegate hookups and setting of Page settings (like EnableSessionState, Trace etc.).  Both of these partial classes combine to make up the base class that the ASPX page inherits.

That should be the answer why I am not able to find those so-called [file].designer.cs files in native web projects in VS 2005, and Rick's post is a good one to get further understanding of the new ASP.NET 2.0 inheritance model.

Technorati Tags: programming ,


Posted: 2006/4/16 18:21 by rextangtw | with 1 comment(s)
Filed under: ,
Source Code for the Built-in ASP.NET 2.0 Providers Now Available for Download...


[via Scott Watermasysk] [via ScottGu]

According to ScottGu, "The source code is released under a permissive license that allows both commercial and non-commercial re-use of the source code, and should be very useful both for people wanting to build their own custom providers (you can take our source and just tweak it if you want), or to better understand/debug our existing ones."

This should be another goods to have when digging into the design of ASP.NET 2.0...

Technorati Tags: programming , , provider , model 


[ASP.NET 2.0] The context parameter in ClientScriptManager.GetCallbackEventReference Method...


Wrox - Professional ASP.NET 2.0I am reading Scott Hanselman co-authored, published by Wrox press, titled Professional ASP.NET 2.0 book recently to get a quick pick up of what's new in ASP.NET 2.0 compared to ASP.NET 1.1.

It's a nice book to  read and it covered all the topics related to ASP.NET 2.0, including what's already had in ASP.NET 1.1. A comprehensive guide to people who want to enter new ASP.NET 2.0 world, no matter one is already familiar of ASP.NET 1.1 programming or not. A recommand book to read!

 I am reading in a fast pace that browsing to those topics I was familiar during my work with ASP.NET 1.1 , and spend time in those which are new in ASP.NET 2.0. just passed chapter 4 and stop at the new ASP.NET 2.0 feature, Client Callback.

The example provided in this book is simple to understand, but the idea behind the design of the new Client Callback feature didn't well show up through the examples. I've also Googled some others and found this one at Code Project written by Invincible Poison. This one used a more easily understandable way trying to explain how Client Callback is working, although I've noticed that the provided sample code seems changed that didn't fit into the sample code snippets provided throughout the article.

The big concept behind the whole Client Callback things is clear enough for me now. basically, I'll consider the new Client Callback feature provided by ASP.NET 2.0 as a simplified version of what I've used the Ajax.Net framework . since Client Callback is actually using .axd to encapsulate the callback logics , while Ajax.Net is actually using a Http handler. but Ajax.Net can actually taking arbitrary parameters while client-side callback and even simulate DataSet and other customized object types from server-side return to client, also Client Callback only use one arg string parameter to pass all the paramaters, which means that when multiple paramaters are needed to pass across XMLHttp, developers need to concatenate all the parameters into one single string in order to pass it. Since this Ajax like feature is now officially provided by ASP.NET 2.0 , although not perfect yet (to let 3rd parties make better Client Callback controls), but should be a good start!

The other things that make me curious is the use of "context" parameter in GetCallbackEventReference function. many examples all stated that the "context" parameter mostly would just doing ok by inserting a string "context" and it will work, but what exactly the "context" string means? how it is used in the whole Client Callback framework? seems not many examples talk about this.

By reading the MSDN Library about this function, the function signature is as follows:

public string GetCallbackEventReference (
    Control control,
    string argument,
    string clientCallback,
    string context

where as the explaination of context parameter is as follows:

Client-side script that is evaluated on the client prior to initiating the callback. The result of the script is passed back to the client-side event handler.

by looking at the example provided from MSDN, it will be clear about what actually the context parameter is doing.

on the server side code:

        // Get a ClientScriptManager reference from the Page class.
        ClientScriptManager cs = Page.ClientScript;

        // Define one of the callback script's context.
        // The callback script will be defined in a script block on the page.
        StringBuilder context1 = new StringBuilder();
        context1.Append("function ReceiveServerData1(arg, context)");
        context1.Append("Message1.innerText =  arg;");
        context1.Append("value1 = arg;");

        // Define callback references.
        String cbReference1 = cs.GetCallbackEventReference(this, "arg",
            "ReceiveServerData1", context1.ToString());
        String cbReference2 = cs.GetCallbackEventReference("'" +
            Page.UniqueID + "'", "arg", "ReceiveServerData2", "",
            "ProcessCallBackError", false);
        String callbackScript1 = "function CallTheServer1(arg, context) {" +
            cbReference1 + "; }";
        String callbackScript2 = "function CallTheServer2(arg, context) {" +
            cbReference2 + "; }";

        // Register script blocks will perform call to the server.
        cs.RegisterClientScriptBlock(this.GetType(), "CallTheServer1",
            callbackScript1, true);
        cs.RegisterClientScriptBlock(this.GetType(), "CallTheServer2",
            callbackScript2, true);

noticed that cbReference1 string variable is actually taking the whole client function definition as the input of context parameter, while at cbReference2, it's actually supplying empty string as context parameter input, because of that the callback function of cbReference2 is actually defined in the aspx page's javascript block. by investigating the sample code as well as reading the description of context parameter again, it should be easiler to understand that the context parameter is actually a place to supply client-side block in server-side code block while defining a Client Callback client-side procedure! thus one can define the callback client function either in the server-side (code-behind file) or in the client side (aspx file), depends on where is proper to put it!

So, if one is putting client callback function in aspx page inside a script block, the context parameter can actually be specified as empty string and the program will still run, avoiding the "context" string input into context parameter that confuse the program readibility.

the other thing that's also interesting to see via the example code in MSDN Library:

    <form id="Form1"
      Callback 1 result: <span id="Message1">0</span>
      <br />
      Callback 2 result: <span id="Message2">0</span>
      <br /> <br />
      <input type="button"
             onclick="CallTheServer1(value1, alert('Increment value'))"/>   
      <input type="button"
             onclick="CallTheServer2(value2, alert('Increment value'))"/>
      <br /> <br />
      <asp:Label id="MyLabel"

CallTheServer1 and CallTheServer2 are actually both with 2 arguments, "arg" and "context", according to previous code block's definitions. now, what's the mean of this "context" argument in these client functions? is this same as the context parameter previously mentions above or even it points to the same memory place?

Actually it's not the case. the context argument here seems not related to the context parameter mentioned above. and the function to this argument is simplely a client script block to let developers specify actions prior to callback to server. noticed that it's actually taking a javascript instance instead of "a string of javascript" as its input, which is also different from those demonstrated in other examples, which normally also just tell readers to supply a "context" string. Therefore, if there are no other client-side actions needed to be done before callback to server, the second optional parameter can actually have a empty string.


  • the context parameter of GetCallbackEventReference Method is a place to put client-side code block in server-side to specify the callback client function to use. if not specify in server-side, then this parameter can be left to empty string and put the actual client callback function in client side aspx file.
  • the calling server function's second "context" argument is optional (but can not be stripped), which can be supplied by a javascript code block to let it run before Client Callback process prior to actually make the call back to server.

Technorati Tags: programming , , ajax , callback 


Posted: 2006/4/16 6:15 by rextangtw | with no comments
Filed under: ,
Adding Northwind DB to SQL Server 2005...


Am trying some ASP.NET 2.0 samples and found that there were no longer Northwind and Pubs DB associated with SQL Server 2005 installation.

found at Coding Horror's blog post to add them back by downloading those sample databases from Microsoft download site.

just download, install, and put those .mdf and .ldf files back to SQL DATA folder and then attach back to the server will put those sample DBs back.

Technorati Tags: microsoft , sqlserver 


Monad - next version of Microsoft Command Shell...


I've read the info from Scott Hanselman talking about Monad for a while (also listened to his podcast about this). it's a very exciting thing people can have in Windows world, a more enhanced shell interpreter then current Windows Shell (WSH). to telling a truth, traditional batch file (.bat) was really feature limited and can't do many things what shells in unix world can do. by reading Ryan Paul's guided tour of Monad, really feeling the power of what it can do.

To download the beta for test, go to Microsoft Beta site to find it. or just use this link for the file download. associated documentation pack is here.

If you are Windows IT Pro guys, I think you'll like it...

Technorati Tags: windows , shell 


More Posts Next page »