Welcome to MSDN Blogs Sign in | Join | Help

Bill Li

Think globally, act locally.

Syndication

News

These postings are provided "AS IS" with no warranties, and confers no rights.


Browse by Tags

All Tags » act   (RSS)
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 Read More...

Posted Wednesday, February 11, 2009 12:32 PM by Bali | 8 Comments

Filed under: ,

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 Read More...

Posted Saturday, February 07, 2009 9:42 PM by Bali | 1 Comments

Searching For a Number in Shifted Sorted Array within O(log(n)) time
Run into the algorithm problem long time ago. Now post my answer here. A sorted array, say: {1,2,3,4,5,6,7,8,9,10,11,12}, do right rotate through carry unknown times, and then it might become: {6,7,8,9,10,11,12,1,2,3,4,5}. Now we need get the index of Read More...

Posted Tuesday, February 03, 2009 11:50 PM by Bali | 1 Comments

Filed under: , ,

My FB app Development Experience
That FB app( http://apps.facebook.com/funnyqa/ ) is totally out of curiosity about how FB developer platform is working. Roughly it is like this: Get started cost -- ~10$/year for a website space; need a PC of course Technology platform -- LAMP. Website Read More...

Posted Friday, January 30, 2009 4:53 PM by Bali | 1 Comments

Principles for Building Secure Database Applications in Action
What I am talking about in this post might be well known to many people(too simple, sometimes naive?), but often most basic things make a difference. OK, get down to business. Thumbs rules for DB security might be: Define your security boundary(or attack Read More...

Posted Thursday, January 29, 2009 11:10 PM by Bali | 2 Comments

Multi-threading your UI
Basically, window app UI, either WPF or traditional WinForm, is single threaded, which means only one thing can happen in the UI at any given time. To be specific, it is not generally possible to create an object on one thread, and access it from another. Read More...

Posted Monday, December 15, 2008 6:19 PM by Bali | 1 Comments

Filed under: , ,

Getting Object’s All Properties at Runtime
We often need to know a given object’s all properties at run time, for example, tracking a data container object’s properties changes across different components. Here is a simple helper class you can use to do this magic. namespace Helper { using System; Read More...

Posted Thursday, November 20, 2008 10:19 PM by Bali | 2 Comments

Filed under:

Programmatically Adding a Column to Your Outlook 2007 Inbox Table View
In my previous post, I mentioned that I will write an article about adding a new column to your inbox. Here you go! What we will achieve Quite simple. Take a look at below screenshot and you will notice that a new column, SubjectLength , is added to the Read More...

Posted Tuesday, November 04, 2008 3:32 PM by Bali | 9 Comments

Filed under: , ,

Outlook 2007 Views from Programmers' Perspective
In this post, I’d like to talk about certain basics for Outlook 2007 starter programmers. Outlook 2007 is shipped with enhanced programmability in various ways. Looking at Outlook Object Model Reference , new users are often confused by terms such as Read More...

Posted Sunday, November 02, 2008 10:38 PM by Bali | 1 Comments

Filed under: ,

Building Objects from XML of eBay API with LINQ
In this post, I’d like to illustrate the power of LINQ with code sample. I query the web service published by eBay. Refer to this article about eBay API concepts. EbayItem.cs namespace LINQ2EbayResponse { class EbayItem { public string ItemID { get ; Read More...

Posted Wednesday, October 22, 2008 12:49 AM by Bali | 2 Comments

Filed under: , ,

Adding column to existing table and populate with default value
From time to time, we run into the scenarios of adding new columns to existing table with millions of records to meet emerging business needs. And these new columns often need initialized with default value. In this post, I’d like to illustrate my solution Read More...

Posted Sunday, October 05, 2008 11:36 PM by Bali | 2 Comments

Filed under: ,

Selecting median of two sorted arrays
In this post, I’d like to discuss one interesting algorithm problem which took me quite a while to find an ideal solution. The problem is as followings: Array A and B are sorted with length of m and n respectively. Try to select median of the two arrays Read More...

Posted Monday, September 22, 2008 6:46 PM by Bali | 4 Comments

Filed under: , ,

How to utilize double check locking in C# correctly
The major benefit of double check locking is to reduce the overhead of acquiring a lock by first testing the locking in an unsafe manner under a multi-threaded environment. It is widely used in the scenarios such as lazy initialization. Typical pseudo Read More...

Posted Monday, September 15, 2008 12:46 AM by Bali | 6 Comments

Filed under: ,

Calling SQL Server Stored Procedures with ADO.NET in 5 minutes
A stored procedure is an already written SQL statement that is saved in the database. It can take parameters; return objects you specified, just like what happens in any other programming languages you are familiar with. Why stored procedures instead Read More...

Posted Thursday, August 28, 2008 11:53 PM by Bali | 0 Comments

Filed under: ,

Page view tracker