Words from potential ex-customers

It is only customers who pay dollars as your revenue and enable your read this post comfortably at your office. Almost every company considers “Customer-oriented” as one of their key values although they can be expressed in various ways. It is “Passion for customers, partners, and technology” in Microsoft. This post is about two real…


My readings – a book in my bag always

  < I have to cook this page with a mix of Chinese and English words.  Please move your mouse to top right now if you are not feeling comfortable. :D> It takes me about 1.5 hr to commute(in subway or shuttle) to office, which means I have ~3 hours to ‘kill’ every day :-). To better utilize my…


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. In almost all cases this will result in an…


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;     using System.Collections.Generic;     using System.Diagnostics;       public static class…


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 inbox. Its values are the length of…


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 view, reading pane, inspector, Ribbon, etc. Below two pictures illustrate often used view terms here….


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; set; }         public string Title { get; set;…


What Facebook means for the enterprise

It is Facebook’s heyday probably. Every tiny breath of Facebook will attract lots of discussion and review among major media and tech blog. It is successful to some extent if you don’t care its current sheet too much. But can we mirror Facebook’s popularity to Enterprise? Let’s start with my experiences with Facebook. I’ve got…


&quot;Search engine cannot make any money&quot;

Some of my best friends complaint that my blog was over technical for them. With customer-oriented spirit and inspired by Socct Berkun’s the Myths of Innovation, I composed this eye-catching-titled post talking about how to innovate and influence people to adopt your ideas. J Our world becomes as it is today pretty much because many innovative people…


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 for such problems. Let us assume, Database: TestDB Existing table: TestTable…