My blog has moved to Most of articles are also moved to new site. This is retired at this moment.


My PM talk in SJTU

Finally, I delivered my first talk. Kind of excited, you can imagine. 🙂 PPT can be found @  Let me know what you think of it. Update 7/30/2009 This post has been moved to


If I were designing a new email service, I would…

All great designs come from deep understanding to customers. In my case, I’d like to design the email service for information workers(IW) as I am one of them. Basically they are hired to get things done. Modern projects, or tasks in smaller granularity, are getting too complex to be accomplished individually. So people have to…


Building Global Development Team

Nowadays software is getting so complex that it needs incredibly more and more people to build it. For example, there are 9000 engineers working on Vista simultaneously. In certain sense, you can call that it is a labor-intensive industry. Ideally, it would be best to put all people in one place; however there are also…


#3, Hulu, Why?

Fast Company recently published its version of the world’s top 50 most innovative companies. Although I would question why Intel is among top10, what surprised me most is the fact that Hulu is listed #3.  I know there might be political things about the particular order, as it goes with most ranking, but it would…


Lead Without Authority

As to the complexity level of problems, developers in Microsoft, who deal with coding, are probably taking one of the most challenging jobs in the world. But another engineering role, program manager, is not easier in any sense. Before I explain why, let me illustrate what typical product teams look like. In the diagram, group…


My AD Fun Experiment

Today I got a mail from, saying: “Hi Bill, I noticed that you were never able to plug the Lake Quincy Media ad tags into your site. Are you still interested in earning revenue from displaying ads targeted to Microsoft developers? If so, you can get your tags from here: <certain link>  Let me know…


P2P Backup System w/o SPOF for Work Group

This is also one of my half-completed ideas years ago. It was recalled recently by two stories: Stories  #1: One of my team mates lost his Outlook email archive due to a mistaken operation. He is very upset because all of his emails in past two years are gone, unrecoverablly. Suggested Outlook mail file is…


Memory Leaks Demo & Detection in .NET Application

Memory leaks are always headache of developers. Do .NET developers no longer bother to worry about memory leaks because of garbage collection? Yes and NO. GC periodically find objects that cannot be accessed in the future and then reclaim the resources used by the objects. GC achieves this by maintaining a list of references to…


Designing Your Own Recent Posts Widget for MSDN Blog

In my MSDN blog, I need “Recent Posts”, but I don’t need archive side bar. After having played with template for a while, still no luck. Hmmm, looks like I have to DIY it. Fortunately in News sidebar, you can fill in raw html including JavaScript. Then next question is where we can retrieve post…