<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-25192783</id><updated>2011-09-30T07:03:20.661-04:00</updated><category term='LINQ'/><category term='Vista'/><category term='Book Review'/><category term='QandA'/><category term='OpenXML'/><category term='Javascript'/><category term='Oddity'/><category term='Office'/><category term='software development novel'/><category term='RibbonX'/><category term='migration'/><category term='System.IO.Packaging'/><category term='Emotional intelligence'/><category term='Search'/><category term='Ajax'/><category term='employment'/><category term='ASP.NET'/><category term='EQ'/><category term='MSDN'/><category term='Visual Studio 2008'/><category term='job'/><category term='WCF'/><category term='file extension'/><category term='Application Service'/><category term='career'/><category term='project management'/><category term='LINQ to XML'/><category term='Office customization'/><category term='error'/><category term='.NET 3.5'/><category term='DocumentFormat.OpenXml.Packaging'/><title type='text'>Summer of Books</title><subtitle type='html'>In the old old days when I grew up, youth don't have all the gadgets to kill their time in a hot windless afternoon during the summer, and books were the escape from the mundane passing of the time. Doors opened with a flip of the page, and the fun begun ....</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-25192783.post-6356577724375759845</id><published>2011-01-02T13:18:00.001-05:00</published><updated>2011-01-02T13:18:00.179-05:00</updated><title type='text'>野性回归</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;中国人教育孩子, "吾日三省吾身", 讲究自我批评,自我反省. 最高境界是不卑不亢,不温不火. 不这不那, 那是什么呢? 似乎没人追究. 如同鹅阮石, 圆滑没棱角, 可以融入任何环境, 但自己站立起来, 就会不稳. 感觉上欠缺些野性.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:black; font-size:13pt'&gt;Neel Kashkari, 2008 经济危机中美国财政部$7000亿解危资金的管理人, 当他在2009年底从那个高压力高风险的位子上下来后, 他减压的办法就是躲进北加州茫茫大山中, 砍柴, 打猎, 用自己的双手盖了一个小木屋 (&lt;a href='http://www.washingtonpost.com/wp-dyn/content/article/2009/12/04/AR2009120402016.html?sid=ST2009120402037'/&gt;&lt;/span&gt;http://www.washingtonpost.com/wp-dyn/content/article/2009/12/04/AR2009120402016.html?sid=ST2009120402037)&lt;span style='color:black; font-size:13pt'&gt;. 按中国人的人才观念, Neel Kashkari 是个全才. 他做过NASA的工程师, 后来又投身华尔街成为一名对冲基金的管理人. 可从他减压的办法可以看出, 他刻意定期回归自然, 保持一点野性. &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:black; font-size:13pt'&gt;另一个例子是Google.  Larry Page 和Sergy Brin 在公司创业早期, 每年夏天都会放下工作, 去Nevada沙漠中去参加一个名叫Burning Man Festival(&lt;a href='http://www.burningman.com/'/&gt;&lt;/span&gt;http://www.burningman.com/)&lt;span style='color:black; font-size:13pt'&gt;的活动. 在一周的时间内, 住帐篷, 共用洗浴设施, 过简单的生活, 用双手创造艺术作品, 最后付之一炬. 换个活法, 放弃一会儿, 用另一种态度去生活一会儿. 尤其是用一种物质乏匮的方式, 用一种只靠双手的方式生活. 所吃所用, 皆源于双手, 回归我们的祖先. &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:black; font-size:13pt'&gt;物质的丰裕, 使人如同开水锅里的青蛙, 水在一点点沸腾, 我们却在舒适中不觉. 需要跳出去, 跳到寒冷的地上, 哆唆着清醒.&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-6356577724375759845?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/6356577724375759845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=6356577724375759845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/6356577724375759845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/6356577724375759845'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2011/01/blog-post.html' title='野性回归'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-3192272956928400453</id><published>2010-03-07T22:13:00.003-05:00</published><updated>2010-03-07T22:18:47.853-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Emotional intelligence'/><category scheme='http://www.blogger.com/atom/ns#' term='EQ'/><title type='text'>Father-daughter chat series 1: Marshmallow test and danger of instant -gratification</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;There was a test conducted by Walter Mischel during 1960s at a preschool on the Stanford University campus. The researcher left a group of 4-year olds in a room with each one of them had one marshmallow with them. They were allowed to eat the marshmallow, but if they can wait 15 to 20 minutes until the researchers returned to the room, they can have two marshmallows for the treat.  &lt;br /&gt;&lt;/p&gt;&lt;p&gt;The result: About one thirds of the 4-year olds waited until the researcher returns and got two marshmallows. A third or so didn't and ended up with only one marshmallow. What more striking is that when the same kids reached to high school graduation, the ones who couldn't wait had much lower SAT scores than those who could.   In other words, by measuring your capability to resist instant gratification at early age we can predict your future success. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;This is a test of self control, or what Walter Mischel described as "goal-directed self-imposed delay of gratification". It shows the importance of EQ or Emotional Intelligence to our success. And it is a better indicator of person's success than IQ. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Now imagine some other situations that need impulse control: abstinence, watching TV vs. reading a book, etc. With the temptation of instant-gratification, can you still maintain your control? &lt;br /&gt;&lt;/p&gt;&lt;p&gt;We live in an instant-gratification time; Internet ensures your gratification is met at speed of thought. Want that new movie in Blue-Ray? Several clicks through Amazon and it will show up at your doorstep a couple of days later. Can't wait to talk to the old friend face to face? Hop on MSN or AIM and turn on the webcam, you can talk to her or him right away. Now ask yourself as a parent: are you encouraging your kids into the activities that require delayed gratification? Would you take that computer or iPod away from kids and hand them the books and newspapers? Or even better, can you help your kids to divide the gratification into sub goals, make actionable plans to achieve these sub goals, and enjoy not only the final gratification but also every minute of the process?&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-3192272956928400453?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/3192272956928400453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=3192272956928400453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/3192272956928400453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/3192272956928400453'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2010/03/father-daughter-chat-series-1.html' title='Father-daughter chat series 1: Marshmallow test and danger of instant -gratification'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-3526572375514095534</id><published>2010-02-26T20:20:00.003-05:00</published><updated>2010-02-26T20:25:06.919-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Book Review'/><category scheme='http://www.blogger.com/atom/ns#' term='EQ'/><title type='text'>Book Review:  Paper Daughter A Memoir by M.Elaine Mar</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;From a perspective of an immigrant parent of an America born Chinese kid, reading the masterfully written Paper Daughter is a wake-up call. You see this talented little kid everybody loved back in Hong Kong struggled to fit in the life in America. Her parents worked like slave in restaurant, earned very little and spoke very little English. And they offered little help to little Elaine, as they themselves struggled to adjust life there too.  This book offers an insight into the pain and struggle of an immigrant kid growing up in classed America.  &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The appearance: &lt;/strong&gt;The author was born on Oct. 1&lt;sup&gt;st&lt;/sup&gt;, 1966 in Hong Kong. She graduated from Harvard University in 1988.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The perception:&lt;/strong&gt; Many Chinese parents would think the author's parents are a success. Having an Ivy league trained kid means a lot in Chinese culture. &lt;strong&gt;The facts:&lt;/strong&gt; The author's father immigrated to US in 1969 with the help of his sister (who supposedly is a US citizen), and the author and her mother followed him in 1971. When in US, both parents worked in a restaurant kitchen. They don't speak English, and they made $18000 combined per year in 1980 (not sure about the poverty line then, but I would think they were very close to it). With low social economic status and compounded by  the author's own language barrier in early years in the US, the author struggled to find her identity growing up. And from the book, it seems the scar never heals. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The problem: &lt;/strong&gt;Usually Chinese kids tend to focus on building up their IQ in their education, but not much attention has been put on EQ (&lt;a href='http://en.wikipedia.org/wiki/Emotional_intelligence'&gt;Emotional Intelligence&lt;/a&gt;). The fact that the author can get into Harvard from the low-education, low-income family she grew up from says a lot about her high IQ. Yet even with the success she had in the academics, she still sheds a more negative light on her childhood. Glass is half empty here. Contrast to another book &lt;em&gt;Big Russ and Me&lt;/em&gt; by Tim Russert, who also grew up in a family where parents are low-educated and medium-income(Russert's father is a city employee in upper New York city of Buffalo). In Russert's book, he painted a brighter picture of his mother and father, even though in reality his father and mother divorced.  Glass is half full there. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Chinese parents tend to pay a lot more attention to kid's IQ development, and the high percentage of Chinese kids in IVY league school attest to this effort. But life, no matter how smart you are, is not a fair game. Things you deserve may not come to you and you have to take it and move on. How we Chinese parents better develop our kid's EQ while maintain our investment in IQ is going to be question we have to answer as the kid grows.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-3526572375514095534?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/3526572375514095534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=3526572375514095534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/3526572375514095534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/3526572375514095534'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2010/02/book-review-paper-daughter-memoir-by.html' title='Book Review:  Paper Daughter A Memoir by M.Elaine Mar'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-8000539490826044952</id><published>2008-07-26T06:37:00.002-04:00</published><updated>2008-07-26T06:48:27.516-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Application Service'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Using ASP.NET Application Services</title><content type='html'>&lt;div&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&lt;p&gt;MSDN has a very good walkthrough on exposing and using ASP.NET Application services at &lt;a href="http://msdn.microsoft.com/en-us/library/bb515342.aspx"&gt;this link&lt;/a&gt;. Unfortunately, it is marred by several technical mistakes and lack of cautionary notes on connection issues commonly encountered in distributed system.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;div&gt;When creating services mapping files(.svc) for Authentication, Profile and Role application services to the web site, instead of&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;%@ ServiceHost Service=&lt;span style="color:maroon;"&gt;"System.Web.ApplicationServices.AuthenticationService"&lt;/span&gt; ServiceHosting=&lt;span style="color:maroon;"&gt;"System.Web.ApplicationServices.ApplicationServicesHostFactory" &lt;/span&gt;%&amp;gt;,&lt;span style="color:maroon;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;it should be&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;%@ ServiceHost Service=&lt;span style="color:maroon;"&gt;"System.Web.ApplicationServices.AuthenticationService"&lt;/span&gt; Factory=&lt;span style="color:maroon;"&gt;"System.Web.ApplicationServices.ApplicationServicesHostFactory" &lt;/span&gt;%&amp;gt;.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Without this change, when you point to &lt;a href="http://localhost:8080/YourWebAppName/AuthenticationService.svc"&gt;http://localhost:8080/YourWebAppName/AuthenticationService.svc&lt;/a&gt;, you will get a server error, like this one:&lt;a href="http://bp0.blogger.com/_U8gaU9cOECA/SIr--iGWbeI/AAAAAAAAAAk/CykshbTB3Xg/s1600-h/AuthenticationService_error.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5227270667775667682" alt="" src="http://bp0.blogger.com/_U8gaU9cOECA/SIr--iGWbeI/AAAAAAAAAAk/CykshbTB3Xg/s320/AuthenticationService_error.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;div&gt;In the walkthrough, the application services client is a windows console application. In GetProfileInfo() method, ProfileService proxy is instantiated like this:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;ProfileServiceClient&lt;/span&gt; profileSvc = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;ProfileServiceClient&lt;/span&gt;();&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;It should be like this:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;BasicHttpBinding&lt;/span&gt; binding = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;BasicHttpBinding&lt;/span&gt;();&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; ProfileUri =&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;@"http://localhost:8080/AppServicesWalkthrough/ProfileService.svc?wsdl"&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;ProfileServiceClient&lt;/span&gt; profileSvc = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;ProfileServiceClient&lt;/span&gt;(binding, &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;EndpointAddress&lt;/span&gt;(ProfileUri));&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:10;"&gt;&lt;span style="font-family:Courier New;"&gt;&lt;br /&gt;&lt;/span&gt;In GetUserRole() method, RoleService proxy is instantiated like this:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;RoleServiceClient&lt;/span&gt; roleSvc = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;RoleServiceClient&lt;/span&gt;();&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:10;"&gt;It should be like this:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;BasicHttpBinding&lt;/span&gt; binding = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;BasicHttpBinding&lt;/span&gt;();&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; RoleUri =&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:#a31515;"&gt;@"http://localhost:8080/AppServicesWalkthrough/RoleService.svc?wsdl"&lt;/span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10;"&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;RoleServiceClient&lt;/span&gt; roleSvc = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;RoleServiceClient&lt;/span&gt;(binding, &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2b91af;"&gt;EndpointAddress&lt;/span&gt;(RoleUri));&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:10;"&gt;Essentially, without specifying binding info and service URI, the proxy will fail and generate the error like this one when you run the client and try to connect to application service:&lt;a href="http://bp1.blogger.com/_U8gaU9cOECA/SIr_3_yuDLI/AAAAAAAAAAs/Mu7a8MYjO5U/s1600-h/ClientProxyInstantiationError.jpg"&gt;&lt;img src="http://bp1.blogger.com/_U8gaU9cOECA/SIr_3_yuDLI/AAAAAAAAAAs/Mu7a8MYjO5U/s320/ClientProxyInstantiationError.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5227271654998936754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:10;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;div&gt;To test the client, another thing you need to do but the document fails to mention is to disable firewall. If you don't you will bump into this error:&lt;a href="http://bp1.blogger.com/_U8gaU9cOECA/SIsARD3Al_I/AAAAAAAAAA0/14zs1siv9M4/s1600-h/firewallerror.jpg"&gt;&lt;img src="http://bp1.blogger.com/_U8gaU9cOECA/SIsARD3Al_I/AAAAAAAAAA0/14zs1siv9M4/s320/firewallerror.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5227272085587400690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-8000539490826044952?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/8000539490826044952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=8000539490826044952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/8000539490826044952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/8000539490826044952'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/using-aspnet-application-services.html' title='Using ASP.NET Application Services'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_U8gaU9cOECA/SIr--iGWbeI/AAAAAAAAAAk/CykshbTB3Xg/s72-c/AuthenticationService_error.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-3634713391686426763</id><published>2008-07-14T14:46:00.004-04:00</published><updated>2008-07-14T14:56:22.196-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>Learning AJAX and JavaScript(part 1):</title><content type='html'>&lt;span xmlns=""&gt;&lt;h2&gt;Why learn JavaScript now?&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;Rich internet application(RIA) fattens the web UI considerably. HTML sprinkled with JavaScript event module won't cut it any longer. Before Silverlight and Air matures to a level that can seamlessly migrate current web app, JavaScript is the only option available.&lt;br /&gt;&lt;p&gt;Can't we rely on server technology such as ASP.NET/Google Web Toolkit to generate JavaScript for us(also referred as &lt;em&gt;indirect Ajax programming&lt;/em&gt;)? Good question, and all these players are trying hard and they are getting there. But there still be the rare and critical situation in your project that you need to rollup your sleeves and do it yourself without help of tools. And I also think there are just too many indirection involved when using these tools. UI rendering requires a lot of trial and error iteration, and if tools add more steps in the middle, you may need to rethink about using them. Also Ajax as a web app pattern, there are still a lot to be explored and to explore we will need JavaScript as a tool to gain finer control of the whole HTTP communication process.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Cookbook approach to pick up JavaScript&lt;br /&gt;&lt;/h3&gt;&lt;ol style="MARGIN-LEFT: 54pt"&gt;&lt;li&gt;How to do drag and drop?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;How to create pop-up panel?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;How to enable bookmark in Ajax app? (Google map uses "add a link" link to solve this)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;Some patterns in JavaScript based fat UI&lt;br /&gt;&lt;/h3&gt;&lt;ol style="MARGIN-LEFT: 54pt"&gt;&lt;li&gt;&lt;a href="http://ajaxpatterns.org/Browser-Side_Templating"&gt;&lt;p&gt;Browser-side templating(BST&lt;/a&gt; &lt;p&gt;and this &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc546561.aspx"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajaxpatterns.org/HTML_Message"&gt;HTML Message (HTM)&lt;/a&gt; and this &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc699560.aspx"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;Comparison of Ajax library&lt;br /&gt;&lt;/h3&gt;&lt;ol style="MARGIN-LEFT: 54pt"&gt;&lt;li&gt;ASP.NET Ajax library comparison&lt;br /&gt;&lt;p&gt;http://www.daniel-zeiss.de/AJAXComparison/Results.htm&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;OSS Ajax library comparison&lt;br /&gt;&lt;p&gt;http://www.sitepoint.com/article/javascript-library &lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-3634713391686426763?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/3634713391686426763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=3634713391686426763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/3634713391686426763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/3634713391686426763'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/learning-ajax-and-javascriptpart-1.html' title='Learning AJAX and JavaScript(part 1):'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-6180432610615588374</id><published>2008-07-07T13:25:00.002-04:00</published><updated>2008-07-07T13:27:31.449-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenXML'/><category scheme='http://www.blogger.com/atom/ns#' term='Office customization'/><category scheme='http://www.blogger.com/atom/ns#' term='DocumentFormat.OpenXml.Packaging'/><category scheme='http://www.blogger.com/atom/ns#' term='System.IO.Packaging'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Office Programming: Two Namespaces for navigation Package</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;There are two namespaces to leverage on when developing office application&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;System.IO.Packaging&lt;/strong&gt; in WindowsBase assembly and it is part of .NET framework 3.0 and 3.5&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;DocumentFormat.OpenXml.Packaging&lt;/strong&gt; is in DocumentFormat.OpenXml assembly which is part of &lt;a href="http://msdn.microsoft.com/en-us/library/bb448854.aspx"&gt;OpenXml SDK&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Eric White has a very good post on the difference of the two namespaces&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/ericwhite/archive/2007/12/20/what-is-the-difference-between-the-system-io-packaging-and-microsoft-office-documentformat-openxml-packaging-namespaces.aspx"&gt;http://blogs.msdn.com/ericwhite/archive/2007/12/20/what-is-the-difference-between-the-system-io-packaging-and-microsoft-office-documentformat-openxml-packaging-namespaces.aspx&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The two namespaces serve the same purpose as to provide API to navigate within OpenXml document package, the difference is that &lt;strong&gt;DocumentFormat.OpenXml.Packaging&lt;/strong&gt; provides strongly typed classes ie. &lt;strong&gt;WordProcessingDocument, SpreadSheetDocument, PresentationDocument&lt;/strong&gt;, while &lt;strong&gt;System.IO.Packaging &lt;/strong&gt;doesn't.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;Resources for &lt;strong&gt;System.IO.Packaging&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=dbe"&gt;Word 2007 Content Control Toolkit&lt;/a&gt;, this is a handy tool written by &lt;a href="http://channel9.msdn.com/posts/Rory/Matthew-Scott-Application-Development-using-the-Open-XML-File-Formats/"&gt;Matt Scott&lt;/a&gt; for listing and adding content control to word if you want to bind them to custom Xml data source, it is provided with source code which also serves as a nontrivial sample of using &lt;strong&gt;System.IO.Packaging&lt;/strong&gt; to customize Word.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb669127.aspx"&gt;Manipulating Content in a WordProcessingML document&lt;/a&gt;, MSDN tutorial that uses &lt;strong&gt;System.IO.Packaging&lt;/strong&gt; and &lt;strong&gt;LINQ to Xml&lt;/strong&gt; to program word&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Resources for &lt;strong&gt;DocumentFormat.OpenXml.Packaging&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/ericwhite/archive/2007/12/20/what-is-the-difference-between-the-system-io-packaging-and-microsoft-office-documentformat-openxml-packaging-namespaces.aspxhttp:/msdn.microsoft.com/en-us/library/bb656295.aspx"&gt;Manipulating Word 2007 Files with the Open XML Object Model (Part 1 of 3)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb739835.aspx"&gt;Manipulating Word 2007 Files with the Open XML Object Model (Part 2 of 3)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb727374.aspx"&gt;Manipulating Word 2007 Files with the Open XML Object Model (Part 3 of 3)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-6180432610615588374?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/6180432610615588374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=6180432610615588374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/6180432610615588374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/6180432610615588374'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/office-programming-two-namespaces-for.html' title='Office Programming: Two Namespaces for navigation Package'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-6823569077137994869</id><published>2008-07-07T10:46:00.003-04:00</published><updated>2008-07-07T11:57:35.369-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RibbonX'/><category scheme='http://www.blogger.com/atom/ns#' term='Office customization'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Customize Office 2007 Ribbon using Visual Studio 2008(Part 2)</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;In part 1 of the series, I posted a question as where are the Office Add-In built by VS 2008 saved, and today I somewhat find out an answer (though it is not complete answer yet) with help of this blog&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/mshneer/archive/2007/09/04/deploying-your-vsto-add-in-to-all-users-part-i.aspx"&gt;Deploying your VSTO Add-In to All Users (Part I)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The AddIn is physically located at C:\YourAddInDir\Bin\Debug, and when Office application starts, it looks into following registry location for custom AddIns developed by user&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;HKCU\Software\Microsoft\Office\&amp;lt;App&amp;gt;\AddIns&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To see it, open a PowerShell window, and do the following&lt;br /&gt;&lt;/p&gt;&lt;ul style="MARGIN-LEFT: 54pt"&gt;&lt;li&gt;cd Registry:: HKCU\Software\Microsoft\Office\Word\AddIns&lt;br /&gt;&lt;/li&gt;&lt;li&gt;dir&lt;br /&gt;&lt;/li&gt;&lt;li&gt;get-itemproperty WordSearch format-list&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Still some questions remain:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;How many places the Office app look during its startup?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Where are all the MS built-in customizations located?&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-6823569077137994869?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/6823569077137994869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=6823569077137994869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/6823569077137994869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/6823569077137994869'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/customize-office-2007-ribbon-using_07.html' title='Customize Office 2007 Ribbon using Visual Studio 2008(Part 2)'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-9218244266787419740</id><published>2008-07-06T10:04:00.002-04:00</published><updated>2008-07-06T10:05:25.159-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Book Review'/><category scheme='http://www.blogger.com/atom/ns#' term='software development novel'/><title type='text'>Book Review: The Bug A Novel by Ellen Ullman</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;&lt;strong&gt;How do I know about it:&lt;/strong&gt; I was looking at &lt;a href="http://www.amazon.com/Daemon-Leinad-Zeraus/dp/0978627105/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1215352327&amp;amp;sr=8-1"&gt;Daemon&lt;/a&gt; reader comments, and one of the comment recommended this one. And as it happens, local library has a copy.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What I like:&lt;/strong&gt; As a developer myself, I feel "real" about the story. The novel is about software developer and omnipresent bug fixing in software development process. A psychological drama with considerable twist of technical adventure, if you can appreciate some quite psudo code and C code. The author comes from a developer background as evidenced in the explanation of the bug and famous &lt;em&gt;Game of Life&lt;/em&gt; by John Horton Conway. And its depiction of professional developer's daily life is realistic and truthful. It talked about the software development in early eighties, but the relevance still holds. I would give it 3 stars out of 5. People in software business will be able to appreciate it much better.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What I don't like: &lt;/strong&gt;The book cannot be categorized as techno thriller. As exciting as bug finding and fixing is to brainy kids and developers, it just cannot stir the same excitement as true techno thriller. I am still looking forward to my shipment of Daemon from Amazon. Also a little too much algorithms explanation and coding deciphering in the book for non-software people.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-9218244266787419740?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/9218244266787419740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=9218244266787419740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/9218244266787419740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/9218244266787419740'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/book-review-bug-novel-by-ellen-ullman.html' title='Book Review: The Bug A Novel by Ellen Ullman'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-5814288523881435242</id><published>2008-07-03T22:43:00.003-04:00</published><updated>2008-07-07T11:57:50.725-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RibbonX'/><category scheme='http://www.blogger.com/atom/ns#' term='Office customization'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Customize Office 2007 Ribbon using Visual Studio 2008(Part 1)</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;This link provides a good walk through on Ribbon customization using Visual Studio 2008.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc531345.aspx"&gt;&lt;span style="TEXT-DECORATION: underline;font-family:Arial;font-size:10;color:blue;"   &gt;&lt;strong&gt;Displaying a Directory Search Custom Task Pane from the 2007 Office Ribbon&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The question is : Where are the new customization saved in ? normal.dotm? But inside it, I don't see a customUI.xml file. &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-5814288523881435242?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/5814288523881435242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=5814288523881435242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/5814288523881435242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/5814288523881435242'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/customize-office-2007-ribbon-using.html' title='Customize Office 2007 Ribbon using Visual Studio 2008(Part 1)'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-8752613154465014724</id><published>2008-07-03T11:48:00.002-04:00</published><updated>2008-07-03T11:49:36.942-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RibbonX'/><category scheme='http://www.blogger.com/atom/ns#' term='QandA'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenXML'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Q&amp;A: How to find all the idMso for Office applications</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;&lt;strong&gt;Q: &lt;/strong&gt;Office 2007 comes with a new Ribbon user interface, and all the built-in controls on it have id, these ids are special id called idMso. For example, File Save button's idMso ="FileSave", Developer tab's idMso="TabDeveloper". To customize Ribbon UI, many times you need to know idMso for the built-in controls you want to customize. But how to find what all idMso are for Word, Excel, Access and Outlook?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;: According to &lt;a href="http://msdn.microsoft.com/en-us/library/aa722523.aspx"&gt;Customizing the 2007 Office Fluent Ribbon for Developers (Part 3)&lt;/a&gt;, here is how:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:8;"&gt;Click the &lt;strong&gt;Microsoft Office Button&lt;/strong&gt;, and then click &lt;em&gt;Application&lt;/em&gt;&lt;strong&gt; Options&lt;/strong&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:8;"&gt;Click &lt;strong&gt;Customize&lt;/strong&gt;, and then select the item you want information about.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;font-size:8;"&gt;Move the pointer over the item. The dialog box displays the control's &lt;strong&gt;idMso&lt;/strong&gt; value in a ScreenTip, in parentheses.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-8752613154465014724?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/8752613154465014724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=8752613154465014724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/8752613154465014724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/8752613154465014724'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/q-how-to-find-all-idmso-for-office.html' title='Q&amp;amp;A: How to find all the idMso for Office applications'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-5105579000417773468</id><published>2008-07-02T16:02:00.004-04:00</published><updated>2008-07-02T16:19:10.546-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Oddity'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>Vista: Search can be tricky</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;span xmlns=""&gt;&lt;p&gt;One of the most talked about features of Vista is its search capability. You can search from search bar on start menu, or you can search from Windows Explorer search box. But you can be tricked by search results. I was trying to search a customUI.xsd file that I pretty sure exist on my machine, but search bar on start menu said no.&lt;br /&gt;&lt;/p&gt;&lt;a href="http://bp0.blogger.com/_U8gaU9cOECA/SGvhrr8tPvI/AAAAAAAAAAM/MtNT60tNRpo/s1600-h/VistaSearchOddity2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5218512733886824178" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_U8gaU9cOECA/SGvhrr8tPvI/AAAAAAAAAAM/MtNT60tNRpo/s320/VistaSearchOddity2.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I was a little taken aback. So I went to Windows Explorer and navigated to the directory where I believe the file exists, and did a search right there using Windows Explorer search box, Voila! This time search finds it, as shown in the picture below:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_U8gaU9cOECA/SGvh7yXxehI/AAAAAAAAAAU/PJbMK45Kkr0/s1600-h/VistaSearchOddity1.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5218513010488867346" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_U8gaU9cOECA/SGvh7yXxehI/AAAAAAAAAAU/PJbMK45Kkr0/s320/VistaSearchOddity1.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;So the trick is to add the more locations to Vista search indexer. To add more locations, in Windows Explorer, type something random in search box to turn on the Search Tools option and set the index locations from there, as shown in picture below:&lt;a href="http://bp2.blogger.com/_U8gaU9cOECA/SGviFPMhzlI/AAAAAAAAAAc/1gdv5NdUYQ8/s1600-h/VistaSearchOddity3.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5218513172845153874" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_U8gaU9cOECA/SGviFPMhzlI/AAAAAAAAAAc/1gdv5NdUYQ8/s320/VistaSearchOddity3.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-5105579000417773468?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/5105579000417773468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=5105579000417773468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/5105579000417773468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/5105579000417773468'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/vista-search-can-be-tricky.html' title='Vista: Search can be tricky'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_U8gaU9cOECA/SGvhrr8tPvI/AAAAAAAAAAM/MtNT60tNRpo/s72-c/VistaSearchOddity2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-3290629736375209811</id><published>2008-07-01T21:59:00.002-04:00</published><updated>2008-07-02T16:22:41.550-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenXML'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ to XML'/><title type='text'>LINQ to XML: Use it with Office 2007 documents</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Last couple of months I have been focusing on learning &lt;a href="http://msdn.microsoft.com/en-us/library/bb397926.aspx"&gt;Language Integrated Query&lt;/a&gt; (LINQ). One flavor of LINQ is &lt;a href="http://msdn.microsoft.com/en-us/library/bb387098.aspx"&gt;LINQ to XML&lt;/a&gt;, an extremely powerful XML API to query and transform XML data. One problem I had when learning LINQ to XML is that simple XML data like &amp;lt;Customer&amp;gt;&amp;lt;Name&amp;gt;John Smith&amp;lt;/Name&amp;gt;&amp;lt;/Customer&amp;gt; can only get you so far. Eric White &lt;a href="http://blogs.msdn.com/ericwhite/archive/2007/12/11/Using-LINQ-to-XML-with-Open-XML-Documents.aspx"&gt;mentioned&lt;/a&gt; in his blog that OpenXML(which is the underlying format for Office 2007) is a good source and provided some very good samples on using LINQ to XML to manipulate Office 2007 documents. With vast amount of data parking in Office documents, LINQ to XML should be a good tool for mining this valuable data source.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Here are some other good LINQ to XML tutorials:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb387050.aspx"&gt;Query XML tree&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb669114.aspx"&gt;Pure functional transformation of XML&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb387049.aspx"&gt;How to retrieve Value of Element&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb387028.aspx"&gt;How to project Anonymous type&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb387095.aspx"&gt;How to filter an optional Element&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-3290629736375209811?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/3290629736375209811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=3290629736375209811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/3290629736375209811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/3290629736375209811'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/linq-to-xml-use-it-with-office-2007.html' title='LINQ to XML: Use it with Office 2007 documents'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-2649797405397095187</id><published>2008-07-01T15:55:00.002-04:00</published><updated>2008-07-02T16:23:24.881-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET 3.5'/><title type='text'>Migration to Visual Studio 2008 and .NET 3.5</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Being a procrastinator, I finally take the dive and migrate to Visual Studio 2008 and .NET 3.5 platform today. By migration, I mean installing Visual Studio 2008 and converting all the VS 2005 projects to VS 2008. And uninstall Visual Studio 2005 completely from my hard drive. Part of the reason for the switch is that I have been learning LINQ for last couple of months on the VS08 installed on my laptop, and I feel comfortable enough now to upgrade my workhorse desktop setup to the VS2008. All things seem go well, the project I have been working on migrated well too. Everything compiles, including the website, WinForm application, DAL, BLL and all the goodies. And after a quick run-through, everything seems to work too. Next step: refactoring some of the code to more functional style and LINQish. Keep tuned.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-2649797405397095187?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/2649797405397095187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=2649797405397095187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/2649797405397095187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/2649797405397095187'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/07/migration-to-visual-studio-2008-and-net.html' title='Migration to Visual Studio 2008 and .NET 3.5'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-4983526157093272280</id><published>2008-06-30T00:08:00.002-04:00</published><updated>2008-07-02T16:24:12.361-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QandA'/><category scheme='http://www.blogger.com/atom/ns#' term='file extension'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>Q&amp;A: How to change file extension in Vista</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Q: In Vista, how can I change a file named like FileWithWrongExtension.docx to FileWithWrongExtension.zip?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A: Open an Explorer window, click &lt;strong&gt;Organize&lt;/strong&gt; dropdown on Ribbon bar, then select &lt;strong&gt;Folder and Search Options. &lt;/strong&gt;This will bring up Folder Options window with General/View/Seach tabs. Click View tab, uncheck &lt;strong&gt;Hide extensions for known file types &lt;/strong&gt;in Advanced Settings section. This will enable the Explorer to show file extension. Now you can change the file extension right there in the Explorer.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-4983526157093272280?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/4983526157093272280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=4983526157093272280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/4983526157093272280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/4983526157093272280'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/06/q-how-to-change-file-extension-in-vista.html' title='Q&amp;amp;A: How to change file extension in Vista'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-7568517325181859498</id><published>2008-06-28T09:54:00.002-04:00</published><updated>2008-07-06T00:30:09.904-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='employment'/><category scheme='http://www.blogger.com/atom/ns#' term='job'/><category scheme='http://www.blogger.com/atom/ns#' term='career'/><title type='text'>How to get ahead</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Recently, due to the unexpected changes in life as it always is, I am out of job and find a lot of time on my hand. So I take advantage of it and start to check off the ever-growing To-Read/To-Do list that get accumulated during my hectic working days, lot of them new technologies that I found relevant yet didn't have time to explore. And also I a lot of catch up with all blogs I subscribe to and my own blogs.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Then it hits me that all those bloggers are working professionals too. Just like myself when I was employed, they have products to deliver and they have family and kids and they cannot always sit in front of the computer during their spare time. How could they find time to enrich themselves? How could they grow their skill and advance their career while serving the needs of their employer? Where did they find the time to research and blog about their research ?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Then I ran into this &lt;a href="http://www.builderau.com.au/program/dotnet/soa/Developer-Spotlight-Inside-NET-with-Juval-Lowy/0,339028399,339274125-3,00.htm"&gt;statement&lt;/a&gt; by Juval Lowy, a highly respected developer:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Tahoma;font-size:8;color:#4d4d4d;"&gt;I think you have to be a professional developer. I think you have to understand that you have spent part of your time honing your skills, it's an ongoing life goal. It doesn't stop because you learn one thing, there is going to be changes. You should also search for a more nourishing business environment -- if they don't let you learn on the job [then] it's probably not the best place to work for.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Tahoma;font-size:8;color:#4d4d4d;"&gt;Seriously I mean, the rate of change today is such that learning is part of the job. No ifs, no buts, that's the way it is.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#4d4d4d;"&gt;Hah! That's it. If the place you work for just doesn't allow you to explore new things, you just won't get it. And if the culture in the workplace is against exploring new things, the innovation just won't thrive and all your poor souls just going to wither out like dry lily. &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#4d4d4d;"&gt;FIND A RIGHT PLACE TO WORK THAT IS HOW YOU GET AHEAD.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#4d4d4d;"&gt;But how?&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color:#4d4d4d;"&gt;Only join a company that seeks to hire best. Even if you don't think you are the best, by all means, give it a try. When you work day in and day out with the best, you grow every day. Human beings are products of environment. &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#4d4d4d;"&gt;Only join a company that is the best in its niche. Good won't cut it. It has to be the great.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="color:#4d4d4d;"&gt;&lt;br /&gt;&lt;/span&gt;  &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-7568517325181859498?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/7568517325181859498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=7568517325181859498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/7568517325181859498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/7568517325181859498'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/06/how-to-get-ahead.html' title='How to get ahead'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-2076822240445688433</id><published>2008-06-04T08:25:00.003-04:00</published><updated>2008-07-06T00:31:03.018-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='Book Review'/><title type='text'>Book Review Peopleware: Productive project and teams by Tom DeMarco and Timothy Lister</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;&lt;span style="font-family:SimSun;font-size:12;"&gt;&lt;strong&gt;How do I know about it:&lt;/strong&gt;&lt;/span&gt; Joel Spolsky gave the booka glowing recommendation on his &lt;a href="http://www.joelonsoftware.com/navLinks/fog0000000262.html"&gt;blog&lt;/a&gt;. Being a fan of Joel, I bought a copy.&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-LEFT: 36pt"&gt;&lt;strong&gt;&lt;span style="font-family:SimSun;font-size:12;"&gt;Content:&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;The book is divided into five parts. &lt;strong&gt;Part 1: Managing the human resources&lt;/strong&gt;, there are six chapters. Chapter 1: Somewhere today, a project is failing. Chapter 2: Make a cheeseburger, sell a cheeseburger. Chapter 3: Vienna waits for you. Chapter 4: Quality-If time permits. Chapter 5: Parkison's law revisited. Chapter 6: laetrile. &lt;strong&gt;Part 2: The office environment&lt;/strong&gt; has seven chapters and one intermezzo. Chapter 7: The furniture police. Chapter 8: "You never get anything done around here". Chapter 9: Saving money on space. Intermezzo(according to the book,"an intermezzo is a fanciful digression inserted between the pages of an otherwise serious work"): Productivity measurement and unidentified flying objects. Chapter 10: Brain time versus body time. Chapter 11: The telephone. Chapter 12: Bring back the door. Chapter 13: Taking umbrella steps. &lt;strong&gt;Part 3: The right people &lt;/strong&gt;has four chapters. Chapter 14: The hornblower factor. Chapter 15: Hiring a juggler. Chapter 16: Happy to be here. Chapter 17: The self-healing system&lt;strong&gt;. Part 4: Growing productive teams&lt;/strong&gt; has six chapters, chapter 18: The whole is greater than the sum of the parts. Chapter 19: The black team. Chapter 20: Teamicide. Chapter 21: A spaghetti dinner. Chapter 22: Open kimono. Chapter 23: Chemistry for team formation. &lt;strong&gt;Part 5: It is supposed to be fun to work here&lt;/strong&gt; has three chapters, chapter 24: Chaos and order. Chapter 25: Free electrons, chapter 26: Holgar Dansk.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:SimSun;font-size:12;"&gt;&lt;strong&gt;What I like:&lt;/strong&gt;&lt;/span&gt; It is a small book, with total of 188 pages and twenty six chapters. That puts average of 7 pages per chapter. The longest chapter is 12 pages and shortest one is 3. With short chapter, it is easier on readers concentration span. On the other hand, it puts high demands on author to deliver points efficiently. Overall, this book delivers. I feel I take home a clear message from each chapter. In terms of content, the book brought back a lot of dreaded memory of my previous project experience and shed a light on them. One now-defunct start-up I worked for before, the CTO went through a product design meeting with us engineers and wrote down the time needed on the whiteboard, then set a deadline that reduced the development time by one fifth. Guess what, the product was delivered overdue with a lot of bugs in them, and the whole engineering team had to be brought to the support side to fix the problem (at meantime making more bugs along the way). And years after the company imploded, I found the answer in the book.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:SimSun;font-size:12;"&gt;&lt;strong&gt;What I dislike: &lt;/strong&gt;&lt;/span&gt;None.&lt;span style="font-family:SimSun;font-size:12;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:SimSun;font-size:12;"&gt;&lt;strong&gt;Quotables&lt;/strong&gt;&lt;/span&gt;: "Quality, far beyond that required by the end user, is a means to higher productivity." "Quality is free, but only to those who are willing to pay heavily for it." "The one thing that all the best organization shares is a preoccupation with being the best." And I especially like the authors quoting of "Vienna waits for you" by Billy Joel, oh, those good old days &lt;span style="font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;span style="font-family:SimSun;font-size:12;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-2076822240445688433?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/2076822240445688433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=2076822240445688433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/2076822240445688433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/2076822240445688433'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2008/06/book-review-peopleware-productive.html' title='Book Review Peopleware: Productive project and teams by Tom DeMarco and Timothy Lister'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-115971296878118927</id><published>2006-10-01T10:29:00.001-04:00</published><updated>2008-07-06T00:31:30.918-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Book Review'/><category scheme='http://www.blogger.com/atom/ns#' term='career'/><title type='text'>Book Review: The 7 Habits of Highly Effective People by Stephen R.Covey</title><content type='html'>&lt;span style="FONT-WEIGHT: bold"&gt;Why did I pick it up in the first place?&lt;/span&gt;&lt;br /&gt;I just lost a close family member to chronic disease, and also lost my job due to my immigration status, I am short on goals but abundant in time for the first time in my adult life. And this book falls into my hand naturally.&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;What is the book all about?&lt;/span&gt;&lt;br /&gt;Here are the 7 habits the book talks about, my translation in parenthesis:&lt;br /&gt;1. Be proactive (You need to be in control of your life)&lt;br /&gt;2. Begin with end in mind (Find out the things that matter most in your life)&lt;br /&gt;3. Put first things first (How to manage your time)&lt;br /&gt;4. Think Win/Win (How to manage your interpersonal relationship)&lt;br /&gt;5. Seek first to understand, then to be understood ( How to communicate with people)&lt;br /&gt;6. Synergize ( How to manage team work )&lt;br /&gt;7. Sharpen the saw ( How to renew yourself )&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;What I like?&lt;/span&gt;&lt;br /&gt;All. It is not just a how-to type of time management book, it dives to the core of an effective life style: principle-centered, value-driven approach. It asks you to think about long-term life goals and from there find out your life principles, and based on those principles to organize and manage your life. It wrinkled with examples from author’s teaching and training experience. A thought provoking book. On top of that, the author also provides suggestions to implement and practice the 7 habits in your life. Very practical book too.&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;What I dislike?&lt;/span&gt;&lt;br /&gt;The author coined P/C and P throughout the book, yet the definition of them are not easily found. The index doesn’t help with finding either. So just you know, P/C means Production Capacity, P means Production.&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;Highly recommend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-115971296878118927?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/115971296878118927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=115971296878118927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/115971296878118927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/115971296878118927'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2006/10/book-review-7-habits-of-highly.html' title='Book Review: The 7 Habits of Highly Effective People by Stephen R.Covey'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-114972780203869771</id><published>2006-06-07T20:50:00.000-04:00</published><updated>2006-06-07T20:50:02.066-04:00</updated><title type='text'>What difference does it make to be born in America(Continued)</title><content type='html'>The difference lies in the economy and what a difference it makes. Just read &lt;a href="http://thestar.com.my/news/story.asp?file=/2006/6/7/apworld/20060607180414&amp;sec=apworld"&gt;this&lt;/a&gt; and you realize the pressure a Chinese kid endures. In America, pressure to succeed in adulthood is also high, but at least kids are free from it mostly.In China, it starts way earlier in life. Do you know how many Chinese parents spend their whole life savings to send their kids abroad so that they can stand a chance in competition?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-114972780203869771?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/114972780203869771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=114972780203869771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/114972780203869771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/114972780203869771'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2006/06/what-difference-does-it-make-to-be.html' title='What difference does it make to be born in America(Continued)'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-114839602128924202</id><published>2006-05-23T10:53:00.000-04:00</published><updated>2006-05-23T10:53:41.326-04:00</updated><title type='text'>What difference does it make to be born in America(By Daddy again)</title><content type='html'>Smart kid seeks self identity at very early age. That is the case for Shannon. She makes a lot of comparisons between herself and other kids to get a concept of who she is and what makes her different to others. One interesting question she asked me lately is: what makes her different than the Chinese kids born in China? That gets me thinking: What difference does it make to be born in America? &lt;br /&gt;(To be continued ...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-114839602128924202?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/114839602128924202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=114839602128924202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/114839602128924202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/114839602128924202'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2006/05/what-difference-does-it-make-to-be.html' title='What difference does it make to be born in America(By Daddy again)'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-114823065236431047</id><published>2006-05-21T12:57:00.000-04:00</published><updated>2006-06-05T12:08:07.293-04:00</updated><title type='text'>Thinking vs Talking(by Dad)</title><content type='html'>Shannon likes to talk. And some of her teachers think it is a weakness of her. Well, I beg to differ. She talks a lot because that is the way she thinks. She thinks out loud and likes to bounce around her idea with others. It is a not a weakness, it is a strength. When people thinks silently, a lot of effort are spent on keeping notes of short ends and making sure the thinking flows in a confined and focused way. It is not a very efficient way of thinking, at lease in my own experience, when I think silently, my thinking tends to flow in all direction and sometimes staggers in one point and not moving ahead. By thinking out loud and communicating with other people, you essentially offset to your listeners the task of keeping the thinking focused and making sure it is moving forward.&lt;br /&gt;&lt;br /&gt;The question is how to effectively guide her thinking and talking so that the thinking process move forward and move fast. In other words, ask her good questions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-114823065236431047?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/114823065236431047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=114823065236431047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/114823065236431047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/114823065236431047'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2006/05/thinking-vs-talkingby-dad.html' title='Thinking vs Talking(by Dad)'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25192783.post-114392845316514341</id><published>2006-04-01T16:54:00.000-05:00</published><updated>2006-04-01T16:59:02.286-05:00</updated><title type='text'>Some Ideas to Toy Around</title><content type='html'>&lt;span style="color: rgb(255, 102, 102);"&gt;To write a book, you need to first come up with a subject. Here are some of ideas that my dad and I have come up with:&lt;br /&gt;1. A history of the neighborhood where we live( &lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="font-style: italic;"&gt;this is my dad's idea, kind of boring, don't you think?)&lt;br /&gt;&lt;/span&gt;&lt;font&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;To be continued....&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25192783-114392845316514341?l=summerofbooks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://summerofbooks.blogspot.com/feeds/114392845316514341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25192783&amp;postID=114392845316514341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/114392845316514341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25192783/posts/default/114392845316514341'/><link rel='alternate' type='text/html' href='http://summerofbooks.blogspot.com/2006/04/some-ideas-to-toy-around.html' title='Some Ideas to Toy Around'/><author><name>ying</name><uri>http://www.blogger.com/profile/15425731796461948949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
