<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://tangl99.spaces.live.com/mmm2008-05-17_13.22/rsspretty.aspx?rssquery=en-US;http%3a%2f%2ftangl99.spaces.live.com%2fblog%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tang Liang's notebook: Blog</title><description /><link>http://tangl99.spaces.live.com/blog</link><language>en-US</language><pubDate>Sat, 19 Jul 2008 02:01:44 GMT</pubDate><lastBuildDate>Sat, 19 Jul 2008 02:01:44 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://tangl99.spaces.live.com/feed.rss</cf:parentRSS><live:type>blog</live:type><live:identity><live:id>-508484562895931526</live:id><live:alias>tangl99</live:alias></live:identity><image><title>Tang Liang's notebook: Blog</title><url>http://tkfiles.storage.live.com/y1pBCcYlja-tbFQ06ehfnpw3sggyvgwcQ6uJhxF43VU7r6ytadvKVaAig</url><link>http://tangl99.spaces.live.com/blog</link></image><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>这段时间的总结</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1195.entry</link><description>&lt;p&gt;  离去年北上MSRA的实习已经有1年多了。从本科的时候就把MSRA作为自己一直努力奋斗的目标。这个目标终于在07年实现了，而我的07年大半年时光都在MSRA度过。回想起来，那段时间除了work外没有什么前忧后顾，还有一大帮新朋友，老朋友，过得是挺自在的，舒服的。然而，正是这半年多的实习经历改变了自己现在的人生目标。我相信我从本科一直到研究生的几年内，工程方面的积累已经足够我去竞争国内最顶尖的企业了。但是，或许我自己从小本身就属于热衷未知领域的探索，新事物的发明创造的人，MSRA的经历在某种程度上激发了这种内心本质追求的渴望，从而去追求新的目标，更高的目标。 &lt;p&gt;  从去年年底回到学校，就一直潜心在做学术研究。半年多时间又过去了，收获还是挺大了，NDBC中了一篇，IEEE的某个Conf.中了一篇，还有一篇刚投出去。虽然已经中的两篇虽然都不是顶级的会议，但也是对自己的工作的肯定。实际收获还不光是这些看得到的，诸如自己的阅读论文的能力，查找相关文献，做研究的心态，写作技巧, matlab运用等各方面的提高。想起来，这段时间也过得很辛苦，很多时候都是每天几乎14小时的工作和学习，比起MSRA的工作有过之而无不及。毕竟，自己硕士阶段剩下的时间也不多了，每一天的时间都是很宝贵的。另外，能在这么短时间能取得这些收获，也少不了导师，师兄们的指导和帮助。现在真的很庆幸自己当年能保送到现在的导师和实验室。没有实验室这样的学术氛围，也不可能让我坚定选择走现在这条路。 当我开始走上这条路之后，才发现原来身边有那么多人也在同一条路上，特别是大城市里面有钱人家的孩子。其实，不是每个人都适合走这条路的，甚至可以说，10个人中只有不到1个人才真正适合。记得在MSRA的时候跟年长的employee聊天，他说当初他们读书的时候也是很多同学都不顾一切踏上这条路，到现在，没有一个不后悔的。不过，我觉得我恰好是那幸运的不到一个。 &lt;p&gt;   之前看到同学在注册一个百度之星的编程比赛，于是自己也跟着注册，然后参加比赛。最后的比赛成绩并不理想，但或许是恰好上了某个分数线吧，前天百度发了实习生的邀请函，并且告知说转正的机率很大。上届我们实验室两个师兄也是这样进入百度的，最终都拿到百度的offer。要是一年前的我，肯定马上就回复百度准备面试了，毕竟在国内，百度开的薪水还是数一数二的。下学期就要开始找工作了，自己之前一直努力的目标就是找到一份好的工作。结果真正辛苦了几年，到了最后，却戏剧性地发现这已经不是自己的目标了。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e8%bf%99%e6%ae%b5%e6%97%b6%e9%97%b4%e7%9a%84%e6%80%bb%e7%bb%93&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1195.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1195.entry</guid><pubDate>Mon, 07 Jul 2008 17:04:32 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1195/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1195.entry#comment</wfw:comment><dcterms:modified>2008-07-07T17:04:32Z</dcterms:modified></item><item><title>SCU BSS讨论帖子</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1190.entry</link><description>&lt;p&gt;==============回复1================   &lt;p&gt;算法是计算机科学领域最重要的基石之一，但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门，就产生了一种误解，认为学计算机就是学各种编程语言，或者认为，学习最新的语言、技术、标准就是最好的铺路方法。其实，大家被这些公司误导了。编程语言虽然该学，但是学习计算机算法和理论更重要，因为计算机语言和开发平台日新月异，但万变不离其宗的是那些算法和理论，例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上，有位同学生动地把这些基础课程比拟为“内功”，把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式，没有功力，是不可能成为高手的。&lt;br&gt;算法与我&lt;br&gt;当我在1980年转入计算机科学系时，还没有多少人的专业方向是计算机科学。有许多其他系的人嘲笑我们说：“知道为什么只有你们系要加一个‘科学’，而没有‘物理科学系’或‘化学科学系’吗？因为人家是真的科学,不需要画蛇添足，而你们自己心虚，生怕不‘科学’，才这样欲盖弥彰。” 其实，这点他们彻底弄错了。真正学懂计算机的人（不只是“编程匠”）都对数学有相当的造诣，既能用科学家的严谨思维来求证，也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”。&lt;br&gt;记得我读博时写的Othello对弈软件获得了世界冠军。当时，得第二名的人认为我是靠侥幸才打赢他，不服气地问我的程序平均每秒能搜索多少步棋，当他发现我的软件在搜索效率上比他快60多倍时，才彻底服输。为什么在同样的机器上，我可以多做60倍的工作呢？这是因为我用了一个最新的算法，能够把一个指数函数转换成四个近似的表，只要用常数时间就可得到近似的答案。在这个例子中，是否用对算法才是能否赢得世界冠军的关键。&lt;br&gt;还记得1988年贝尔实验室副总裁亲自来访问我的学校，目的就是为了想了解为什么他们的语音识别系统比我开发的慢几十倍，而且，在扩大至大词汇系统后，速度差异更有几百倍之多。他们虽然买了几台超级计算机，勉强让系统跑了起来，但这么贵的计算资源让他们的产品部门很反感，因为“昂贵”的技术是没有应用前景的。在与他们探讨的过程中，我惊讶地发现一个O(n*m)的动态规划（dynamic programming）居然被他们做成了O(n*n*m)。更惊讶的是，他们还为此发表了不少文章，甚至为自己的算法起了一个很特别的名字，并将算法提名到一个科学会议里，希望能得到大奖。当时，贝尔实验室的研究员当然绝顶聪明，但他们全都是学数学、物理或电机出身，从未学过计算机科学或算法，才犯了这么基本的错误。我想那些人以后再也不会嘲笑学计算机科学的人了吧!&lt;br&gt;网络时代的算法&lt;br&gt;有人也许会说：“今天计算机这么快，算法还重要吗?”其实永远不会有太快的计算机，因为我们总会想出新的应用。虽然在摩尔定律的作用下，计算机的计算能力每年都在飞快增长，价格也在不断下降。可我们不要忘记，需要处理的信息量更是呈指数级的增长。现在每人每天都会创造出大量数据（照片，视频，语音，文本等等）。日益先进的记录和存储手段使我们每个人的信息量都在爆炸式的增长。互联网的信息流量和日志容量也在飞快增长。在科学研究方面，随着研究手段的进步，数据量更是达到了前所未有的程度。无论是三维图形、海量数据处理、机器学习、语音识别，都需要极大的计算量。在网络时代，越来越多的挑战需要靠卓越的算法来解决。&lt;br&gt;再举另一个网络时代的例子。在互联网和手机搜索上，如果要找附近的咖啡店，那么搜索引擎该怎么处理这个请求呢?&lt;br&gt;最简单的办法就是把整个城市的咖啡馆都找出来,然后计算出它们的所在位置与你之间的距离,再进行排序,然后返回最近的结果。但该如何计算距离呢？图论里有不少算法可以解决这个问题。&lt;br&gt;这么做也许是最直观的，但绝对不是最迅速的。如果一个城市只有为数不多的咖啡馆,那这么做应该没什么问题,反正计算量不大。但如果一个城市里有很多咖啡馆,又有很多用户都需要类似的搜索,那么服务器所承受的压力就大多了。在这种情况下,我们该怎样优化算法呢?&lt;br&gt;首先，我们可以把整个城市的咖啡馆做一次“预处理”。比如，把一个城市分成若干个“格子(grid)”,然后根据用户所在的位置把他放到某一个格子里，只对格子里的咖啡馆进行距离排序。&lt;br&gt;问题又来了，如果格子大小一样，那么绝大多数结果都可能出现在市中心的一个格子里，而郊区的格子里只有极少的结果。在这种情况下，我们应该把市中心多分出几个格子。更进一步，格子应该是一个“树结构”，最顶层是一个大格——整个城市，然后逐层下降，格子越来越小，这样有利于用户进行精确搜索——如果在最底层的格子里搜索结果不多，用户可以逐级上升，放大搜索范围。&lt;br&gt;上述算法对咖啡馆的例子很实用，但是它具有通用性吗？答案是否定的。把咖啡馆抽象一下，它是一个“点”，如果要搜索一个“面”该怎么办呢？比如，用户想去一个水库玩，而一个水库有好几个入口，那么哪一个离用户最近呢？这个时候，上述“树结构”就要改成“r-tree”,因为树中间的每一个节点都是一个范围，一个有边界的范围（参考：http://www.cs.umd.edu/~hjs/rtrees/index.html）。&lt;br&gt;通过这个小例子，我们看到，应用程序的要求千变万化，很多时候需要把一个复杂的问题分解成若干简单的小问题，然后再选用合适的算法和数据结构。&lt;br&gt;并行算法：Google的核心优势&lt;br&gt;上面的例子在Google里就要算是小case了！每天Google的网站要处理十亿个以上的搜索，GMail要储存几千万用户的2G邮箱，Google Earth要让数十万用户同时在整个地球上遨游，并将合适的图片经过互联网提交给每个用户。如果没有好的算法，这些应用都无法成为现实。&lt;br&gt;在这些的应用中，哪怕是最基本的问题都会给传统的计算带来很大的挑战。例如，每天都有十亿以上的用户访问Google的网站，使用Google的服务，也产生很多很多的日志（Log）。因为Log每分每秒都在飞速增加，我们必须有聪明的办法来进行处理。我曾经在面试中问过关于如何对log进行一些分析处理的问题，有很多面试者的回答虽然在逻辑上正确，但在实际应用中是几乎不可行的。按照他们的算法，即便用上几万台机器，我们的处理速度都跟不上数据产生的速度。&lt;br&gt;那么Google是如何解决这些问题的呢？&lt;br&gt;首先，在网络时代，就算有最好的算法，也要能在并行计算的环境下执行。在Google的数据中心，我们使用的是超大的并行计算机。但传统的并行算法运行时，效率会在增加机器数量后迅速降低，也就是说，十台机器如果有五倍的效果，增加到一千台时也许就只有几十倍的效果。这种事倍功半的代价是没有哪家公司可以负担得起的。而且，在许多并行算法中，只要一个结点犯错误，所有计算都会前功尽弃。&lt;br&gt;那么Google是如何开发出既有效率又能容错的并行计算的呢？&lt;br&gt;Google最资深的计算机科学家Jeff Dean认识到， Google 所需的绝大部分数据处理都可以归结为一个简单的并行算法：Map and Reduce（http://labs.google.com/papers/mapreduce.html）。 这个算法能够在很多种计算中达到相当高的效率，而且是可扩展的（也就是说，一千台机器就算不能达到一千倍的效果，至少也可以达到几百倍的效果）。Map and Reduce的另外一大特色是它可以利用大批廉价的机器组成功能强大的server farm。最后，它的容错性能异常出色，就算一个server farm里面的机器down掉一半，整个farm依然能够运行。正是因为这个天才的认识,才有了Map and Reduce算法。借助该算法，Google几乎能无限地增加计算量，与日新月异的互联网应用一同成长。&lt;br&gt;算法并不局限于计算机和网络&lt;br&gt;举一个计算机领域外的例子：在高能物理研究方面，很多实验每秒钟都产生几个TB的数据量。但因为处理能力和存储能力的不足，科学家不得不把绝大部分未经处理的数据丢弃掉。可大家要知道，新元素的信息很有可能就藏在我们来不及处理的数据里面。同样的，在其他任何领域里，算法都可以改变人类的生活。例如人类基因的研究，就可能因为算法而发明新的医疗方式。在国家安全领域，有效的算法可能避免下一个911的发生。在气象方面，算法可以更好地预测未来天灾的发生，以拯救生命。&lt;br&gt;所以，如果你把计算机的发展放到应用和数据飞速增长的大环境下，你一定会发现，算法的重要性不是在日益减小，而是在日益加强。&lt;br&gt;给程序员的七个建议&lt;br&gt;（1）练内功。不要只花功夫学习各种流行的编程语言和工具，以及某些公司招聘广告上要求的科目。要把数据结构、算法、数据库、操作系统原理、计算机体系结构、计算机网络，离散数学等基础课程学好。大家不妨试试高德纳所著The Art of Computer Programming里的题目，如果你能够解决其中的大部分题目，就说明你在算法方面有一定的功力了。&lt;br&gt;（2）多实战。通过编程的实战积累经验、巩固知识。很多中国大学毕业生缺乏编程和调试经验；学习C语言，考试过关就算学会了；课题项目中，只要程序能够编译，运行，并且输入输出满足要求就算了事。这些做法是不行的。写程序的时候，大家必须多想想如何把程序写得更加精炼、高效、高质量。建议大家争取在大学四年中积累编写十万行代码的经验。我们必须明白的是：好程序员是写出来的，不是学出来的。&lt;br&gt;（3）求实干。不要轻视任何实际工作，比如一些看似简单的编码或测试。要不懈追求对细节一丝不苟的实干作风与敬业精神。我发现不少程序员对于知识的掌握很肤浅，不求甚解，没有好奇心，不会刨根问底。比如，学会了C++，是否了解一个对象在编译后，在汇编代码中是如何被初始化的？这个对象的各个成员在内存中是如何存放的？当一个成员函数被调用时，编译器在汇编代码中加入了哪些额外的动作？虚函数的调用是如何实现的? 这些东西恐怕在编程语言或编译原理中都没有详细提到，只有通过踏实的实干才能真正掌握。&lt;br&gt;（4）重视数学学习。数学是思维的体操，数学无处不在。学计算机至少要学习离散数学、概率论、布尔代数、集合论和数理逻辑。这些知识并不难，但是对你未来的工作帮助会很大。 尤其当你对一些“数学密集型”的领域如视频、图像处理等有兴趣时，这些知识将成为你手中的利器。&lt;br&gt;（5）培养团队精神，学会与人合作。今天的软件工程早已经不是一个人可以单独操作的，而必须靠团队合作才能成功。不懂得合作的人是不能成大器的。大家要多去寻找可以与人一起做项目的机会。&lt;br&gt;（6）激励创新意识，培养好奇心，不要死记硬背。没有掌握某种算法技术的根本原理，就不会有应变和创新的能力。想成为一位好程序员（其实从事任何一个行业都是如此），重要的是要养成钻研，好奇，创新，动手，合作的优秀习惯，不满足于填鸭，不满足于考试交差，不满足于表象。这不是学几门课能够一蹴而就的。&lt;br&gt;（7）有策略地“打工”。在不影响学业的前提下，寻找真正有意义的暑期工作或兼职。去找一个重视技术的公司，在一个好的“老板”指导下完成真正会被用户使用的程序。不要急于去一个要你做“头”而独挡一面的地方，因为向别人学习才是你的目的。找工作也是一样，不要只看待遇和职衔，要挑一个你能够学习的环境，一个愿意培养员工的企业，一个重视你的专业的公司。最后，还要挑一个好老板。&lt;br&gt;希望大家都能把握机会，养成好的学习习惯，把算法学精学透；希望大家都能有一个美好的未来！&lt;br&gt;所以大家加油哈～～～ &lt;p&gt;=====================回复2====================== &lt;p&gt;其实ACM比赛里面的谈的算法，和现代计算理论的发展还有一定方向的距离。&lt;br&gt;举个例子，最近ICDE上提出的全世界“十大机器学习”算法，在ACM比赛里面看来，几乎都是连选拔赛都进不了的easy case。不少算法，基本上就是一个求和，相减，相除就可以完成的。为什么呢？&lt;br&gt;现在计算机学界的发展主流，早就不是细节计算过程的优化，而是针对新的，更好的计算模型，数学模型的提出和改进。数学模型，计算模型的研究，虽然实现的计算过程很简单，但是代表的是一种思想，而不仅仅只是仅仅看成计算机内存单元之间的运算。比如一个朴素贝叶斯的提出，大家都知道其算法实现是多么简单吧，一个刚学C语言的同学都会写，难道能说朴素贝叶斯是一个普通大一学生就能提出的吗？楼主说的别人实验室里面一个O(n*m)做成O(n*n*m)这样的情况其实很多了，并不奇怪。这样就取笑别人，只能让自己捡了芝麻丢了西瓜。我们要学习的，应该是别人做的东西真正的精髓。多学习别人精髓方面做得出色的地方，而不是具体实现的失误。实际上，很多顶尖的学术文章，在讲解算法的时候，往往都是以最简单，最直白的算法写出来，并不是别人不知道怎么优化，而是别人关键要把整个计算的过程阐述清楚。具体实现的时候，你可以运用诸多的动态优化，各种树，各种表，去改进它的时间复杂度。这个在别人研究者面前，不是关心的主要问题。&lt;br&gt;大家都知道，在计算机领域，最一流的工作都是提出新的问题，二流的工作是提出一个计算模型去解决这个问题，三流的工作才是改进已有的解决办法。中国人现在做科研的时候，往往都是在别人提出一种新的计算模型下，然后运用各种技巧改进别人实现过程。当然，这个工作也是值得称赞的。但是，这只是一个三流工作。为什么中国不能出大师呢？&lt;br&gt;不要觉得大学开的基础课程都是外功，只有算法才是内功。大学选择的这些课程，都是全世界最顶尖的计算机专家共同协商的，全世界每个计算机本科都上这些课程。如果学好基本算法，就可以走遍天下都不怕的话，那为什么大学里面不主要就开算法课程？难道这些顶尖的计算机专家都是故意让我们走弯路？其实不然，大学里面，关系数据库，计算机网络等，核心的内容在什么地方？绝对不只是算法的实现，而是解决模型的提出。比如说，存储查询的关系模型，网络上的通讯，路由等模型。先提出了模型，才有实现的算法。这个模型不是上上算法课程就能学得会的。我知道ACM算法课里面也是 先讲解很多题目的解决模型，然后讲算法的。实际上解决任何一个问题都是如此。问题在于，大学的这些基础课程讲解的，是现实中用得最广泛的，相对有一套完成的理论体系的。这些课程涉及面很广，任何一个领域都是足够让你消耗一辈子的精力去学习和研究。这些领域提出的各种问题，各种解决模型，不是ACM课上那种光讲讲例题就能完了的，它们在现实应用广泛，问题很多，需要很深入地系统学习和研究，而不只是做几道编程题目就算是学会的。&lt;br&gt;随便八卦一下，为什么ACM队伍里面那么多牛人，最后没几个选择从事到计算机的研究工作去呢？为什么大家都去做工程了？&lt;br&gt;【 在 jjjscuedu (jjjscuedu) 的大作中提到: 】&lt;br&gt;:  算法是计算机科学领域最重要的基石之一，但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门，就产生了一种误解，认为学计算机就是学各种编程语言，或者认为，学习最新的语言、技术、标准就是最好的铺路方法。其实，大家被这些公司误导了。编程语言虽 &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+SCU+BSS%e8%ae%a8%e8%ae%ba%e5%b8%96%e5%ad%90&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>程序设计算法</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1190.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1190.entry</guid><pubDate>Thu, 19 Jun 2008 04:50:22 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1190/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1190.entry#comment</wfw:comment><dcterms:modified>2008-06-19T04:50:41Z</dcterms:modified></item><item><title>Continue to study the advanced experimental programming tools</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1185.entry</link><description>&lt;p&gt;   After having the taste of GSL, somehow, it is not considered as the MATLAB that used in a large group of people. Furthermore, the graphics function  and data visualization of MATLAB are important to many users. Here, I tried to study MATLAB from now on. The list of program  as followed is my first MATLAB programs. &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5rdLFNZrSGpwX5cqDHG5I2U3NRJMzGc06rdOwmtAUMdwmabKeONalDguAeJlRgOrn4?PARTNER=WRITER"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=184 alt=image src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5oaL54OyiztTa6x7Io_ZnI_Y3tFRru2xVNBQSE0pNuXheYWvNJA5oqObDpvY38VF8A?PARTNER=WRITER" width=244 border=0&gt;&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+Continue+to+study+the+advanced+experimental+programming+tools&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1185.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1185.entry</guid><pubDate>Thu, 05 Jun 2008 11:38:10 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1185/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1185.entry#comment</wfw:comment><dcterms:modified>2008-06-05T11:40:54Z</dcterms:modified></item><item><title>使用GSL来做实验</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1181.entry</link><description>&lt;p&gt;  熟悉C++做开发的我们，对于matlab, mathematics等软件总是不太习惯。同时，很多research的实验程序需要进行efficiency的对比，所以大部分采用C++是比较合适的。但是诸如矩阵运算，least-squares，随机分布函数等常规数学工具库，matlab实现起来是很直接的。幸好，GNU有一个GSL(GUN Scientific Library)库，里面使用Pure C实现，开放源代码，里面包含了大部分常用数学运算工具。这几天拿过来使用了一下，感觉很不错。这里有Windows版本&lt;a title="http://gnuwin32.sourceforge.net/" href="http://gnuwin32.sourceforge.net/"&gt;http://gnuwin32.sourceforge.net/&lt;/a&gt;的下载。 &lt;p align=left&gt;  虽然是Windows版本，但是里面似乎只提供了.def和.dll文件。通过Visual C++里面的lib.exe，输入命令:&lt;br&gt; &lt;div align=center&gt; &lt;table cellspacing=0 cellpadding=2 width=400 align=center border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=400&gt;&lt;strong&gt;lib /machine:i386 /def:xxxx.def &lt;/strong&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;div align=left&gt;&lt;strong&gt;  &lt;/strong&gt;就可以生成.lib文件了。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e4%bd%bf%e7%94%a8GSL%e6%9d%a5%e5%81%9a%e5%ae%9e%e9%aa%8c&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>研究和想法</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1181.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1181.entry</guid><pubDate>Thu, 22 May 2008 01:26:29 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1181/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1181.entry#comment</wfw:comment><dcterms:modified>2008-05-22T01:26:44Z</dcterms:modified></item><item><title>5.12地震</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1177.entry</link><description>&lt;p&gt;  这次5.12地震实在太突然，太可怕了。&lt;br&gt;  记得一年半以前，自己还参与四川省地震局一些地震监测软件系统的工作。到目前为止，地震的确是不能预测的，只能发生了过后，迅速检测到。不知道我们的数据挖掘技术，是否能提供一些帮助呢？&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+5.12%e5%9c%b0%e9%9c%87&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>杂谈</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1177.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1177.entry</guid><pubDate>Fri, 16 May 2008 07:22:07 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1177/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1177.entry#comment</wfw:comment><dcterms:modified>2008-05-16T07:22:07Z</dcterms:modified></item><item><title>学生的职业精神是什么？</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1169.entry</link><description>&lt;p&gt;  没有姚明的火箭比赛，我依然喜欢看，特别是这个赛季的火箭队。这个赛季，火箭队取得了22连胜历史第二佳成绩，更有一种让人敬佩的精神。从&lt;strong&gt;斯科拉&lt;/strong&gt;，&lt;strong&gt;兰德里&lt;/strong&gt;，&lt;strong&gt;海耶斯&lt;/strong&gt;，&lt;strong&gt;巴蒂尔&lt;/strong&gt;，&lt;strong&gt;杰克逊&lt;/strong&gt;这些球员，我们看到一个职业球员为了一个篮板球，地板球，奋不顾身地飞身鱼跃抢夺的那股劲头。他们的拼抢，即使在面对身体更占优势的奥尼尔，高大强壮的内线，位置不占优情况下，明知抢不过，也会依然全力以赴。这不就是我们所倡导的亮剑精神吗？其实，对于他们来说，也就是最基本的职业精神。这里不得不提同样新秀的易建联，拥有更好的身体条件，应该学习一下斯科拉，兰德里这些球员。 &lt;p&gt;  读研究生已经快2年了。实验室开展的论文讨论班参与同学人数越来越少。很多同学基本上一学期只来一次，还有一学期都见不到人的。正式导师所说，讨论班的论文学习，是学习知识快速的捷径。我自身感觉也是如此。很多同学在抱怨论文写不出来的同时，之前又读过多少呢？没有积累，哪里来的发挥？其实，CS的论文是很容易发的，各个新的领域不断产生，新的应用层出不穷，稍有积累便可一发不可收拾。可是，不少同学就连那么一点点的积累都不愿意去付出。 &lt;p&gt;  在NBA我们经常看到很多新人，在1-2赛季打过场均2-3分钟的垃圾时间过后，就从NBA赛场永远消失了。各位研究生同学们，是否愿意在人生的赛场上也是如此地消失？&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e5%ad%a6%e7%94%9f%e7%9a%84%e8%81%8c%e4%b8%9a%e7%b2%be%e7%a5%9e%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1169.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1169.entry</guid><pubDate>Sun, 06 Apr 2008 08:25:16 GMT</pubDate><slash:comments>6</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1169/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1169.entry#comment</wfw:comment><dcterms:modified>2008-04-06T08:25:16Z</dcterms:modified></item><item><title>头脑VS心灵</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1168.entry</link><description>&lt;p&gt;  到中国可以不看三大殿，不可不看辜鸿铭。1915年辜鸿铭的《中国人的精神》出版，英文出版。这本书写于上个世纪初的一战期间，正值欧洲文明陷入危机之时，辜鸿铭的目的很明显，为陷于危机的欧洲文明、甚至整个世界文明指出一条出路。书中指出中国人的精神，有一条叫做Simple，不是“简单”而是“淳朴”。 &lt;p&gt;  中国人的淳朴，往往都是过着小孩一般的心灵生活。为什么说是小孩的心灵，因为从古到今，中国人自身始终难以吸取现代主流文明所崇尚的理性思想，理性精神，很难去理解和研究西方理性哲学。心灵对中国人做事为人的影响大于头脑。这样的中国人很可爱，但是不可敬。 &lt;p&gt;  西方有过针对意大利人和德国人的比较。德国人喜欢意大利人，但是不尊敬意大利人；意大利不喜欢德国人，但是尊敬德国人。大家都知道，整个欧洲，意大利这样的国家很多，都崇尚心灵上生活，对生活的享受。德国人的理性是出了名的。于是，这样的差异，造成德国无论在经济，军事等国力上远远高于欧洲其他所有国家。他们两次从废区中崛起，两次发动世界大战，横扫整个欧洲。 &lt;p&gt;  辜鸿铭对中国人的描述，应该是100多年前的中国人。这100年来，中国发生了很多变化，但是在人本质上，还依然遗留很多共同之处。可以说，当前的中国，虽然已经拥有了很多西方现代理性文明科技的成果，但是，真正理解到西方现代文明最基础的理性哲学思想人还是不多。理性哲学的思想，强调看待问题要透过事务，抽象到内部最本质的东西，不受心灵与情感的影响。马克思唯物哲学的思想恰好正是如此。大家也都知道马克思是德国人。西方文明的这种理性哲学，才是当前人类文明，最宝贵的财富。它不仅仅是现代科学技术的根基，也是现代国家社会行政，司法建设，国防军事指挥的立足之宝。 &lt;p&gt;  中国还是有很多愤青，有很多拍脑袋的领导。心灵支配着大脑，还是大脑支配着心灵？&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e5%a4%b4%e8%84%91VS%e5%bf%83%e7%81%b5&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>杂谈</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1168.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1168.entry</guid><pubDate>Sat, 05 Apr 2008 04:28:21 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1168/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1168.entry#comment</wfw:comment><dcterms:modified>2008-04-05T04:28:21Z</dcterms:modified></item><item><title>江安的水吧</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1164.entry</link><description>&lt;p&gt;  传说四川大学江安校区的图书馆是全国Top级别的。在图书馆旁边，还修了一个不大不小的江安水吧，名字还叫XX咖啡。这个水吧的地理位置太爽，从外面窗户外面，直接就可以看到江安的超大人工湖，很清净的地方。今天，参加了微软亚洲研究院MSRA的搜索技术中心STC的几个领导在江安的座谈会。几位领导针对STC做了一些介绍，然后就开始和大家的提问互答的阶段。因为对于搜索引擎的infrastructure的东西比较熟悉，以前在DIT组实习的时候，也都接触过，所以问了相关的几个问题。STC做的东西更加贴近产品，而之前DIT里面搞得，似乎更接近探索性的研究模型。本以为这次去座谈会，会有一些面试的考察，结果之前废寝忘食地复习《Introduction to Algorithms》。不过，还是有收获，至少已经把最重要的DP看完了，对于我们这些没有经历ACM集训的同学来说，DP是一个很值得学习的地方。 &lt;p&gt;  进入今年以来，什么事情都在赶，什么事情都很急，下周三还要报告ICDE08的一篇论文。为了准备座谈会，已经花费了整整两天的时间去准备算法，于是论文报告的事情就耽搁下去了。现在还有3天时间，只能尽量抓紧了。下一篇论文的deadline也快临近。事情总是堆在自己身前。算命的说我这一年会十分辛苦，十分累，需要有坚韧的意志去扛住这些事情，最终会有相应的回报的。现在看来，估计真的是这样的。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e6%b1%9f%e5%ae%89%e7%9a%84%e6%b0%b4%e5%90%a7&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1164.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1164.entry</guid><pubDate>Sun, 30 Mar 2008 14:39:43 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1164/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1164.entry#comment</wfw:comment><dcterms:modified>2008-03-30T14:39:43Z</dcterms:modified></item><item><title>First paper comes out!</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1161.entry</link><description>&lt;p&gt;  这两天，总算把第一篇文章赶出来了。每天都活在一大堆数据里面，一次实验就要跑半天。幸好我有两台机器可以使用，否则实验一跑起来，CPU占用就100%了，什么事情都不能做了。第一篇paper居然做得那么不容易，中间题目换了又换，相关文章读了不知道多少篇。大家都说，第一篇文章最好找一个简单点的来做，那样容易获得信心。可是我的第一次，却偏偏选了一条困难的路来走，还好这个路上，我的意志还够坚强。总得说来，第一次走得那么辛苦，也并非坏事，至少那么后面的路就要好走一些。正如老板说的，做到这个份上，毕竟是尽力了，也学到了不少东西，即使最后没有中，也无悔了。重要的是走这条路的一个过程，这才是我们最大的收获。很高兴，我已经拿到了80%的收获，剩下的20%，就看审稿人是否愿意给我了。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+First+paper+comes+out!&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>研究和想法</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1161.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1161.entry</guid><pubDate>Mon, 24 Mar 2008 17:24:38 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1161/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1161.entry#comment</wfw:comment><dcterms:modified>2008-03-24T17:24:38Z</dcterms:modified></item><item><title>Hard Drive</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1153.entry</link><description>&lt;p&gt;无意中看到博客堂的一篇关于微软创业的帖子。回想当初，自己11岁的时候，就开始学习计算机编程，也是因为一本Bill Gates写的《未来之路》，才激发自己对于计算机，对于编程那么大的热情。 &lt;p&gt;(转自博客堂Vincent Chen)&lt;br&gt;前一段时间读了一本名为《Hard Drive》的书，它以纪实文体讲述了微软公司的成立和发展历史，其中包含了许多对当事人的真实采访资料，书中还对创始人Bill Gates和Paul Allen的童年经历有很生动的刻画。它涵盖了1975微软成立到1992年DOS 5.0发布期间的历史。非常客观翔实地记录了PC时代的来临，操作系统和语言战争，制表软件和文字处理软件的战争，以及微软帝国的形成。&lt;br&gt;这是一本非常引人入胜的书，在没有读过它之前，即使我在微软亚洲研究院有过不短的实习经历，对微软的公司文化也算耳濡目染，但一提起Bill Gate和Paul Allen的大名，首先想到的还是一种笼罩在巨额财富光环下遥不可及的形象。人们在谈论这个星球上最富有的人时，往往会感慨他的幸运，他的赚钱手腕，他“邪恶”的商业头脑，但是很少会去思考：“这帮家伙是怎么成功的？他们凭什么能挣那么多钱？”。 &lt;p&gt;在没读过这本书之前，我也从没有考虑过这些问题，和很多年轻人一样，我不屑于微软的一些行为，这种“成见”自然而然地最终转嫁到盖子叔叔身上，毫无疑问，他就是“万恶之源”?。但是在读《Hard Drive》的过程中，我就被他们的创业经历深深吸引住了，因为从他们身上，我看到了曾经在脑海中向往过的那种充满激情和梦想的生活，所不同的是，我们的理想在不停地抱怨现实不如人意、社会不公平、环境不够好、教育制度扼杀了我们的天才和创造力中渐渐被遗忘；而他们，没有任何怨言和借口地将理想一步一步变成了现实！ &lt;p&gt;其实最初我们都是一样的，年轻、精力充沛、喜欢幻想、毫无根据的自信、野心勃勃，但多年以后，我们在不断的抱怨中变得“很现实”，转而去追求各种各样眼前的利益，找一份工作、买车、买房，为年薪比别人高了两三万而沾沾自喜；而那些家伙，他们则把自己变成了这个星球上最富有的一群人。 &lt;p&gt;《Hard Drive》不是国内很多企业在校园宣讲会上发放的那些自吹自擂的小册子（两位作者兼记者专门在前言中阐述了独立的写作背景），它用客观翔实的资料说明了一个事实：微软的成功并非偶然或是幸运，即使它的一些做法饱受争议，但它完完全全是靠一群非常聪明而富有激情的人脚踏实地推动而成的。 &lt;p&gt;&lt;strong&gt;“I can do anything I put my mind to.” – Bill Gates P8&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;信念&lt;/strong&gt; &lt;p&gt;记得小时候背课文，我们就经常被教育要像那些革命烈士般有坚定的信念，但是背过课文之后，我们果真理解了“信念”这两个字的含义了吗？还是说我们仅仅知道了“坚定的信念是人实现目标的精神支柱”很有道理呢？这句话是Bill Gates上Lakeside中学的时候给一位教堂牧师说过的话。那时他和一帮对计算机非常感兴趣的伙伴们整天泡在学校唯一的计算机室中摸索计算机这一新生事物，他们用的是纸带和电传打字机，通过远程连接一台DEC公司的大型机学习编程，Bill的第一个程序是Tic-Tac-Tor（井字游戏）。那时的他，就已经很认真地告诉他的好友，他会在25岁之前成为百万富翁。他说到做到，在之后的日子里，只要是他贯彻了“信念”二字的事情，的确都给了他丰厚的回报。 &lt;p&gt;&lt;strong&gt;“We always had big dreams.” – Paul Allen P51&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;梦想&lt;/strong&gt; &lt;p&gt;在Bill Gates和Paul Allen都还在中学念书的时候，计算机的使用费用非常高，个人用户必须向大型机拥有者按时间支付费用来获得远程登陆使用计算机的权利，于是他们通过给一家公司找操作系统的bug来挣得免费的上机时间。每天晚上，他们都会集合在公司的机房中，想方设法寻找系统漏洞，谈论对未来的畅想。那时Bill和Paul就都认为，计算机将越来越普及，软件的销售将成为一种新兴的产业。后来，Bill将这种想法用更形象的一句话表达出来，即那句著名的：“每个家庭的书桌上都摆放着一台计算机，上面运行着微软的软件”。我个人非常喜欢这种形式的Vision，因为比起现在一些“华丽”的口号，比如“让企业发挥它的潜力”之类的，它让目标和梦想变得富有现实感。 &lt;p&gt;&lt;strong&gt;Gates eventually gave up any thoughts of becoming a mathematician. If he couldn’t be the best in this field, why risk failure? P64&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;抉择&lt;/strong&gt; &lt;p&gt;Bill在刚上哈佛大学的时候，经历过一段时间的迷茫和彷徨，和很多聪明的学生一样，他平时不怎么上课，只在考试前猛学一通，然后照样拿A，剩下的绝大多数时间就是通宵和朋友们打扑克牌（他打完牌后常去找Steve Ballmer聊天…）。因为他很聪明，一度希望自己能在数学上有所建树，的确他也因为把一个有趣的“烙饼问题”的数学下界向前推进了一步而发表了自己的第一篇也是最后一篇论文。但是他后来发现有些同学数学上比他钻研得更深，所以他就放弃了在学术方面发展的念头，而工业界则很幸运地迎来了一位未来的重量级选手。在随后微软公司发展的过程中，对于微软究竟要做什么不做什么，因为软件产业那时还不成熟，Bill有很多可选项。但选择多了未必是好事，英国曾有个诗人说道：“我走到十字路口，于是无力地跪下”，太多的选择反而会干扰人的判断力。Bill最后坚持选择成为平台开发商，通过自己设定行业标准来占领市场的观点，让微软获得了长足的发展。做自己最擅长的事且做到最好，Bill的一次次抉择让微软在上个世纪八九十年代所向披靡。相比起来，我的前半生似乎都在不停地挥霍各种选择的机会，直到最终没得选择…… &lt;p&gt;&lt;strong&gt;Gates simply liked pushing things to the edge. “That’s where you most often find high performance,” he said once. P127&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;执行&lt;/strong&gt; &lt;p&gt;每个人都有很多梦想，但是我们的梦想往往因为缺乏执行，大多成为了闲聊时的谈资或者自欺欺人的夸夸其谈而已。Bill却不一样，他不光是要执行自己的想法，而且还要设法将执行的效率推到极致。他保持着从微软公司到机场花费时间最短的记录（也许是全西雅图的…），他总是驾驶着绿色的保时捷从一个地方飞驶到另一个地方（超速太多差点被吊销执照）。同样，对于他的下属，替他打工的经理和程序员们，他也通过持续不断的push把开发效率推到极致。正是这种持续不断的推动，让Bill或英明（比如采用鼠标和GUI界面）或愚蠢的想法（比如Microsoft BoB）一个个地得以成为现实，同时也为他挣得了巨额的财富。如果理想和现实之间存在着难以逾越的鸿沟的话，那么“执行力”就是跨越这条鸿沟的桥梁。 &lt;p&gt;&lt;strong&gt;More than one unlucky programmer at Microsoft has received e-mail (from Gates) at 2:00 am. That began, “This is the stupidest piece of code ever written” P50&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;激情&lt;/strong&gt; &lt;p&gt;“最初所拥有的只是激情和毫无根据的自信，但一切就从这里开始。”这是软库公司总裁孙正义说过的一句话。对于创业伊始的微软来说，这句话是再准确不过了。Bill是一个精力充沛的工作狂，在为MITS的Altair维护Basic编译环境时他就常常连续工作，支撑不住就睡在办公室的地毯上（曾经有一次被来MITS参观的客户看见…）。即使到后来不写code，成为管理层，他也依然恨不得每天工作24个小时，在微软的规模还不是太大的时候，Bill Gates事无巨细都会过问，无论是谈生意还是架构设计甚至代码编写，只要一发现问题，他就毫不留情地指出。这种激情，保持了微软不断向前，不断壮大的活力。而Passion这个词也成为了微软的核心公司文化之一，直到今天，还可以在最新的公司格言“Your potential, our passion”中见到踪影。反观自己，在不停地抱怨环境不如人意、命运多舛中，本该属于我们这个年龄的锐气和应有的激情被所谓的“老成”所取代，我们变得患得患失而不敢去尝试新鲜事物，对自己所从事的工作失去兴趣，也就没有了激情，生活变得索然无味，在长吁短叹中耗费了最宝贵的青春，很多机会也不知不觉从手中溜走。 &lt;p&gt;&lt;strong&gt;But microkids expected to be challenged. And they expected to be able to challenge Gates. In fact, he wanted them to argue with him. P161&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;不惧挑战&lt;/strong&gt; &lt;p&gt;Bill Gates的风格就是不断挑战别人同时也毫不畏惧别人的挑战，他挑战的对手不光有业界的竞争对手，也有替他打工的经理和程序员们。在项目开发中，他习惯于提出许多尖锐的问题，然后看程序员和经理们的反应，因为他认为不断地发问是把问题clarify的最高效方式，同时对于自己提出的观点，他也非常希望看到手下与他进行辩论，因为他认为这是找到正确解决方案的有效手段；当结果明朗后，他也毫不掩饰自己的错误，而是立刻纠正。在与业界对手的竞争中，无论对手多么强大，即使占据了垄断地位的市场份额，他也毫不畏惧，而是通过自己的执行和推动，做出可以抗衡的产品来，并从失败中不断吸取经验教训，进一步改进对策。就这样，随着历史车轮的滚滚前进，那些曾经叱吒江湖一时的Lotus 1-2-3、CP/M-80、WordStar等软件巨头都一个个轰然倒下，Bill和他的微软则笑到了最后。&lt;br&gt;回顾微软的发展历史，也是一个官司不断的历史，Bill并没有把这些官司看成是成功路上的阻碍，而是把它们当成一个个的挑战问题，然后花费心力去一件一件地解决。虽然这些官司让微软或多或少背上了许多不光彩的外衣，但它没有因此跌倒，不惧挑战的性格让微软越发壮大。 &lt;p&gt;&lt;strong&gt;“Believe me,” he said as the interview ended. “Staring out the window and saying ‘isn’t it great,’ is not the solution to pushing things forward…you’ve got to keep driving hard.” P419&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;永不满足&lt;/strong&gt; &lt;p&gt;在微软刚创立的初期，那时计算机的硬件资源非常有限，优秀的程序员们总是毫不满足地想把程序写得越小越好，而Bill Gates，据说在微软内部一直保持着写出最小体积的Basic环境loader程序的记录。&lt;br&gt;1985年，微软正式IPO，Bill Gates一跃进入全美最富有的人的行列。按理说，正处于“事业上升期”的Bill可谓是春风得意，可以享受生活了。但是他依然没有满足，在推出MS－DOS击败了CP/M-80操作系统后，他又将矛头指向了WordStar和Lotus 1－2－3，很快微软又推出了Word和Excel与之抗衡。他总是不知疲倦地寻找一个个竞争对手，无论竞争对手有多么强大，他都毫不留情地将之击败。他永不满足地扩展微软的产品线，直到它成为多个领域的翘楚，微软公司在这种永不满足的精神推动下，没有固步自封，而是不断发展壮大，直至成为这个星球上最大的软件公司。Bill那句经典的：“微软离破产永远只有18个月”可以说是鲜明地折射出了他永不满足的心态。 &lt;p&gt;诚如《Hard Drive》一书想要表达的观点：Bill Gates和微软公司能获得今天这样的成功，离不开以Bill Gates为首的一群非常优秀非常聪明的创业者坚持不懈的努力推动。导致微软公司成功的因素有很多，我所总结的只是这些因素中令我感触颇深的几点。我即将结束学业开始自己的事业，这本书让我反思了自己，也燃起了对创业的激情和梦想。努力做一个有坚定信念和伟大梦想，懂得选择，充满激情地执行自己的想法，不惧挑战、不找任何借口，永不满足的人，我相信，这些观点和《Hard Drive》这本书，将会影响我很多！ &lt;p&gt;&lt;img height=1 src="http://blog.joycode.com/cy/aggbug/114475.aspx" width=1&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+Hard+Drive&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1153.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1153.entry</guid><pubDate>Fri, 15 Feb 2008 06:45:23 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1153/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1153.entry#comment</wfw:comment><dcterms:modified>2008-02-15T06:45:23Z</dcterms:modified></item><item><title>最佳论文是怎样炼成的</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1148.entry</link><description>&lt;p&gt;  前几天看到MSRA拿了ACM SIGMM上的Best Paper，作为曾经也是一个MSRA的人，特此转贴一下关于作者介绍这篇Best paper的博客(&lt;a title="http://blog.sina.com.cn/s/blog_4caedc7a01008io7.html" href="http://blog.sina.com.cn/s/blog_4caedc7a01008io7.html"&gt;http://blog.sina.com.cn/s/blog_4caedc7a01008io7.html&lt;/a&gt;) &lt;p&gt;  文章太长了，摘取了里面我比较认同的几句话。 &lt;p&gt;&lt;em&gt;Q2：对于这篇“最佳论文”，您有什么样的经验能和大家分享吗？&lt;/em&gt; &lt;p&gt;&lt;em&gt;A2：说白了，也没什么秘密（笑）。首先，好论文的背后是扎实的、有理论和实际应用价值的工作，这是好论文的基础。只有好的想法才能最终产生出好的论文。其次，在写作中，我认为应该深入浅出，既要深入——分析问题要深入，又要浅出——清楚地表达自己的想法。我们的论文也是改了很多遍才确定的。当然，在大会上做演示也是很重要的。为了准备这篇论文的现场报告，我们小组内部排练了三次以上，我自己则准备了更多次。&lt;/em&gt; &lt;p&gt;&lt;em&gt;Q4：您提到的这些方法也是比较主流的。&lt;/em&gt; &lt;p&gt;&lt;em&gt;A4：当然对于研究的主流是需要了解的，至少要“知道”。从另一个角度说，视频标注这种问题可以看成是机器学习的理论、方法和工具的一种应用性研究。既然是工具，那么就必须了解，但不一定要全部精读。但是，作为应用性研究，只把这些工具作为黑箱拿过来就用，那多半是不能成功的。这就需要把握尺度了。我主张，还是应该先对工具有个基本的了解，然后针对某个问题，想办法用适合的或改进的甚至创新的工具。另一种说法是直接拿着问题去找工具，这个可能不是我所赞成的。&lt;/em&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e6%9c%80%e4%bd%b3%e8%ae%ba%e6%96%87%e6%98%af%e6%80%8e%e6%a0%b7%e7%82%bc%e6%88%90%e7%9a%84&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1148.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1148.entry</guid><pubDate>Thu, 31 Jan 2008 08:09:22 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1148/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1148.entry#comment</wfw:comment><dcterms:modified>2008-01-31T08:09:22Z</dcterms:modified></item><item><title>原来学习是如此地苦涩</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1140.entry</link><description>&lt;p&gt;  最近一直在忙第一篇Paper，虽然想法大致的框架成熟了，但是还有一些细节需要完善。这几天在电脑旁边做的事情就两件：看Paper和搜Paper。好不容易找到姜同学一起来合作，于是合作的前期工作就是看前人的paper。除了自己下的paper，大家也互相交流了不少。估计这几天看过相关的SIGMOD,VLDB文章没有10篇也有7-8篇了吧。回想以前研一的时候，一个学期也没读过那么多篇顶级的文章。 &lt;p&gt;  长时间专注一直看paper，人的精力消耗原来是如此之大。特别是同时看2-3篇都看不懂的时候，不仅眼睛都看花了，就连心理障碍也油然而生。原来学习是如此的苦涩。。。其实，读不懂别人的文章，很大程度上是因为自己的基础知识不够扎实。当我们总是抱怨论文上的数学公式太多的时候，恰恰就是自己数学功底不够扎实导致的。最近发现我也不例外，数学方面的确很需要补充一下。于是从学校FTP上找了一本讲解数值计算的经典教程《Scientific Computing - An Introductory Survey》，打算利用寒假的时候好好补习一下。 &lt;p&gt;  前几天看了《特务风云》，讲述整个CIA创始人从耶鲁大学毕业，到最后参与创建CIA中情局的故事。整个电影，给我印象最深的就是耶鲁大学的图书馆。在那种环境下，估计再心浮气躁的人，都会静下心来认真的读书的。 &lt;p&gt;  今天看到姜同学博客上写了一篇关于哈佛大学图书馆上的警句，深受鼓舞，特此转贴一下： &lt;p&gt;1.此刻打盹，你将做梦；而此刻学习，你将圆梦。&lt;br&gt;2.我荒废的今日，正是昨日殒身之人祈求的明日。&lt;br&gt;3.觉得为时已晚的时候，恰恰是最早的时候。&lt;br&gt;4.勿将今日之事拖到明日。&lt;br&gt;5.学习时的苦痛是暂时的，未学到的痛苦是终生的。&lt;br&gt;6.学习这件事，不是缺乏时间，而是缺乏努力。&lt;br&gt;7.幸福或许不排名次，但成功必排名次。&lt;br&gt;8.学习并不是人生的全部。但，既然连人生的一部分——学习也无法征服，还能做什么呢？&lt;br&gt;9.请享受无法回避的痛苦。&lt;br&gt;10.只有比别人更早、更勤奋地努力，才能尝到成功的滋味。&lt;br&gt;11.谁也不能随随便便成功，它来自彻底的自我管理和毅力。&lt;br&gt;12.时间在流逝。&lt;br&gt;13.现在淌的哈喇子，将成为明天的眼泪。&lt;br&gt;14.狗一样地学，绅士一样地玩。&lt;br&gt;15.今天不走，明天要跑。&lt;br&gt;16.投资未来的人是，忠于现实的人。&lt;br&gt;17.教育程度代表收入。&lt;br&gt;18.一天过完，不会再来。&lt;br&gt;19.即使现在，对手也不停地翻动书页。&lt;br&gt;20.没有艰辛，便无所获。  &lt;p&gt;附上英文版：  &lt;p&gt;1. This moment will nap, you will have a dream; But this moment study,you will interpret a dream.  &lt;p&gt;2. I leave uncultivated today, was precisely yesterday perishestomorrow which person of the body implored.  &lt;p&gt;3. Thought is already is late, exactly is the earliest time.  &lt;p&gt;4. Not matter of the today will drag tomorrow.  &lt;p&gt;5. Time the study pain is temporary, has not learned the pain islife-long.  &lt;p&gt;6. Studies this matter, lacks the time, but is lacks diligently.  &lt;p&gt;7. Perhaps happiness does not arrange the position, but succeeds mustarrange the position.  &lt;p&gt;8. The study certainly is not the life complete. But, sincecontinually life part of - studies also is unable to conquer, what butalso can make?  &lt;p&gt;9. Please enjoy the pain which is unable to avoid.  &lt;p&gt;10. Only has compared to the others early, diligently diligently, canfeel the successful taste.  &lt;p&gt;11. Nobody can casually succeed, it comes from the thoroughself-control and the will.  &lt;p&gt;12. The time is passing.  &lt;p&gt;13. Now drips the saliva, will become tomorrow the tear.  &lt;p&gt;14. The dog equally study, the gentleman equally plays.  &lt;p&gt;15. Today does not walk, will have to run tomorrow.  &lt;p&gt;16. The investment future person will be, will be loyal to the realityperson.  &lt;p&gt;17. The education level represents the income.  &lt;p&gt;18. One day, has not been able again to come.  &lt;p&gt;19. Even if the present, the match does not stop changes the page.  &lt;p&gt;20. Has not been difficult, then does not have attains&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e5%8e%9f%e6%9d%a5%e5%ad%a6%e4%b9%a0%e6%98%af%e5%a6%82%e6%ad%a4%e5%9c%b0%e8%8b%a6%e6%b6%a9&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1140.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1140.entry</guid><pubDate>Wed, 16 Jan 2008 11:59:49 GMT</pubDate><slash:comments>7</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1140/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1140.entry#comment</wfw:comment><dcterms:modified>2008-01-16T11:59:49Z</dcterms:modified></item><item><title>做研究，没有基础怎么行</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1135.entry</link><description>&lt;p&gt;  以前听说过很多人一个月，一个星期就可以写一篇文章出来，于是觉得只有有一个idea马上就可以写论文了，特别是对于很多职业写手来说，一年发个7，8篇的EI文章是很轻松的事情。其实，一个普通的idea，平时随时都可以想到，但是99%可能都是前人想过的，甚至做过得。为什么自己会觉得是一个新idea? 我想主要原因还是因为自己看得比较少，读的论文比较少，知识面比较狭窄导致的。一般人要找一个现在没有前人完全没有想过的问题，同时又是有实际意义的新问题，是几乎不可能的。或许现实世界，特别是当代中国，大家太从崇拜传奇了，认为一个人只要聪明，脑袋灵光，不学无术都可以，只要灵光一现，就能解决前人大师都没解决的问题。而实际情况呢，恰恰相反。往往自以为自己聪明的人，都是最傻的人。 &lt;p&gt;  最近做了一个多月的一个高维数据库空间索引方法，后来不断查阅论文，才发现，这种方法，早前10年多以前，就已经有不少人做过，甚至改进了很多。而我现在自己的想法，和前人的是如此地接近，类似。于是乎，我之前做的工作，基本上可以说是白费了，只是重复走了一遍别人在10多年前就走过的道路而已。 &lt;p&gt;   现在总结一下，为什么这样子呢？首先一条，就是连要做的问题本质没有摸清楚，做了大半个月，连这个问题是不是属于空间索引技术都不清楚，查阅的文献方向也错误了，还满以为自己是第一个做这样的问题。当后来查阅空间索引类似的文章才发现，类似的K-D Tree,X-Tree等很多早在10年多以前就做出来了，而自己初步思想还没有别人这些前人想得完善。其次，自己掌握的知识面过于狭窄。说起来都不好意思，虽说自己是学数据挖掘的，可是现在公认的&amp;quot;Top ten Data Mining Algorithms&amp;quot;，自己真正掌握的，不到一半。还不要说2000年过后，诸多改进的，新环境下的新算法。而对于数据库，也仅限于课本上的基础知识。 &lt;p&gt;  以前在MSRA听过Harry讲过《How to do research》，收益颇丰。其中说过，第一流的研究者是提出问题的人，第二流的研究者是解决问题的人，第三流的研究者是改善解决方法的人。我觉得对于我们这种小硕来说，应该首先争取做到合格的第三流研究者。先学会follow一些顶级学者的论文，而不要一来就自己提问题，然后自己解决。先把要看别人的文章，如何解决问题的，如何改进问题的，然后在这些顶尖学者的文章下，提出自己新的改进。 &lt;p&gt;  最近每天都在不断阅读各种各样的论文，似乎有点感觉收获很大。感觉自己真的应该好好静心下来，读读课本，看看论文了。项目开发和学术研究的要平衡才行，自己之前过重于偏向项目开发，而忽略的基本的学术研究。这可能是之前比较喜欢做项目开发的原因吧。然而，最近读了不少论文，发觉自己也开始喜欢上做学术研究了，也喜欢看别人做的文章。到底将来走那条路呢？现在又开始模糊了。。。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e5%81%9a%e7%a0%94%e7%a9%b6%ef%bc%8c%e6%b2%a1%e6%9c%89%e5%9f%ba%e7%a1%80%e6%80%8e%e4%b9%88%e8%a1%8c&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>研究和想法</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1135.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1135.entry</guid><pubDate>Sun, 06 Jan 2008 10:56:26 GMT</pubDate><slash:comments>4</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1135/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1135.entry#comment</wfw:comment><dcterms:modified>2008-01-06T10:56:26Z</dcterms:modified></item><item><title>2008来了</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1134.entry</link><description>&lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5p8iX9ThTzgAhvnu8bcE4JcXGltb8Dpoc9wpHGSktcS4rOhncemGWHJIhFxN2wLmZ4?PARTNER=WRITER"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=504 alt=e23d6c081a3d579b0a7b82e2 src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5o1BlbuFvDKJA0J2SRwJNChlR2Lha6JRIKQCxip3EDqQqNFDgAuE-xfzqQYVLZQ5Xo?PARTNER=WRITER" width=404 border=0&gt;&lt;/a&gt;  &lt;p&gt;  为了庆祝2008年的到来，在2007年的最后一天，我本本上的开发工具换成了Visual Studio 2008的版本，也算是辞旧迎新吧。本打算写一下2007年的总结的，发现2007年里面总之充满的刺激和总结。我得需要花一些时间来整理，近期是在太忙了，paper,paper... &lt;p&gt;  最近发现装VS2008的时候，.NET Framework3.5装不上去，后来找了一个dotnetfx_cleanup_tool的工具，可以clean掉以前安装的所有.NET Framework，然后再安装VS2008就可以了。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+2008%e6%9d%a5%e4%ba%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>杂谈</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1134.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1134.entry</guid><pubDate>Tue, 01 Jan 2008 06:45:40 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1134/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1134.entry#comment</wfw:comment><dcterms:modified>2008-01-03T06:47:39Z</dcterms:modified></item><item><title>C Low-Level I/O functions</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1128.entry</link><description>&lt;p&gt; 以前在看别人的很多代码时候，经常看到低级的C语言文件I/O函数。不过自己却从来还没有用到过低级的I/O函数。在纯C里面就f开头的stream用得多。这次要做SIDB在底层实现数据库存储文件，就得必须依靠低级文件I/O才能做了。因为低级文件I/O提供了某些功能，而高级文件I/O函数中没有。 &lt;p&gt;  这是我在网上找到为什么要使用低级IO的一些原因: &lt;p&gt;摘自: &lt;a title="http://www.linuxtopia.org/online_books/programming_books/gnu_libc_guide/Low_002dLevel-I_002fO.html" href="http://www.linuxtopia.org/online_books/programming_books/gnu_libc_guide/Low_002dLevel-I_002fO.html"&gt;http://www.linuxtopia.org/online_books/programming_books/gnu_libc_guide/Low_002dLevel-I_002fO.html&lt;/a&gt; &lt;table cellspacing=0 cellpadding=2 width=548 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=546&gt; &lt;ul&gt; &lt;li&gt;&lt;em&gt;For reading binary files in large chunks. &lt;/em&gt; &lt;li&gt;&lt;em&gt;For reading an entire file into core before parsing it. &lt;/em&gt; &lt;li&gt;&lt;em&gt;To perform operations other than data transfer, which can only be done with a descriptor. (You can use &lt;code&gt;fileno&lt;/code&gt; to get the descriptor corresponding to a stream.) &lt;/em&gt; &lt;li&gt;&lt;em&gt;To pass descriptors to a child process. (The child can create its own stream to use a descriptor that it inherits, but cannot inherit a stream directly.)&lt;/em&gt; &lt;/ul&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;  &lt;p&gt;下面是我总结一些文件必须使用Low-Level的I/O函数的原因: &lt;table cellspacing=0 cellpadding=2 width=548 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=546&gt;1. 低级IO没有提供buffer,而我们使用f开头以及C++等很多文件操作，都是带缓冲的。&lt;br&gt;2. 低级IO在功能上更加强大。据我所知，诸如_filelength和_chsize，获取文件的长度和改变文件的长度，这两个函数，在高级文件IO中是找不到的。&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;关于Low-Level的文件I/O资料，可以在下面网址找到：&lt;br&gt;&lt;a title="http://www.chemie.fu-berlin.de/chemnet/use/info/libc/libc_8.html" href="http://www.chemie.fu-berlin.de/chemnet/use/info/libc/libc_8.html"&gt;http://www.chemie.fu-berlin.de/chemnet/use/info/libc/libc_8.html&lt;/a&gt;&lt;br&gt;&lt;a title="http://www.gnu.org/software/libc/manual/html_node/Low_002dLevel-I_002fO.html" href="http://www.gnu.org/software/libc/manual/html_node/Low_002dLevel-I_002fO.html"&gt;http://www.gnu.org/software/libc/manual/html_node/Low_002dLevel-I_002fO.html&lt;/a&gt;&lt;br&gt;&lt;a title="http://www.informit.com/guides/content.aspx?g=cplusplus&amp;amp;seqNum=208" href="http://www.informit.com/guides/content.aspx?g=cplusplus&amp;amp;seqNum=208"&gt;http://www.informit.com/guides/content.aspx?g=cplusplus&amp;amp;seqNum=208&lt;/a&gt;&lt;br&gt;&lt;a title="http://www.thinkage.ca/english/gcos/expl/c/lib/open.html" href="http://www.thinkage.ca/english/gcos/expl/c/lib/open.html"&gt;http://www.thinkage.ca/english/gcos/expl/c/lib/open.html&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+C+Low-Level+I%2fO+functions&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>程序设计算法</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1128.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1128.entry</guid><pubDate>Mon, 24 Dec 2007 06:19:17 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1128/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1128.entry#comment</wfw:comment><dcterms:modified>2007-12-24T06:19:17Z</dcterms:modified></item><item><title>关于Windows下C++开发的64位和32位通讯的问题</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1127.entry</link><description>&lt;p&gt;  现在64位的系统已经十分普及了。在MSRA实习的时候，几乎所有的Server都是64位的Windows Server，而我自己开发使用的机器还是普通的32位系统。在处理网络通讯的时候，经常需要把整数类型的数据转换成二进制流传输，那么就会遇到32位机器和64位机器之间通讯的情况。 &lt;p&gt;  C++默认的int变量，都是根据具体编译环境来定，如果是32位下编译，就是4个字节宽度，如果是64位机器下就是8个字节宽度。那么在通讯的时候，我们需要强制同意按照一种整数宽度来读和写。Windows SDK里面已经提供了一个自定义的数据类型来实现统一宽度。在windef.h里面，INT, UINT,DWORD等通过typedef自定义的数据类型，无论在32还是64位下，都是统一的宽度。下面是我从MSDN上找到的比较官方的说明： &lt;p&gt;摘自:&lt;a title="http://www.microsoft.com/china/MSDN/library/Windev/64bit/MW6TWPchapter5.mspx?mfr=true" href="http://www.microsoft.com/china/MSDN/library/Windev/64bit/MW6TWPchapter5.mspx?mfr=true"&gt;http://www.microsoft.com/china/MSDN/library/Windev/64bit/MW6TWPchapter5.mspx?mfr=true&lt;/a&gt; &lt;table cellspacing=0 cellpadding=2 width=767 border=1&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=765&gt; &lt;h4&gt;&lt;em&gt;5.3 编码问题&lt;/em&gt;&lt;/h4&gt; &lt;p&gt;&lt;em&gt;将 C/C++ 应用程序迁移到 64 位时，遇到的大部分编码问题可分为三类：指针转换、指针运算和对齐。在处理内联汇编程序，使用修改后的五个 API 调用之一，以及尝试跨 32/64 位边界通信时，可能会出现其他问题。 &lt;/em&gt; &lt;p&gt;&lt;em&gt;由于数据类型 Int 和 Long 的长度保持不变（仍为 32 位），因此需要修改的代码数量非常少。通常，所涉及的代码行数应该不到总代码基的 1％。这与 Unix 不同，其中 Long 要迁移到 64 位。 &lt;/em&gt; &lt;p&gt;&lt;em&gt;开发人员必须小心处理变量的对齐。未对齐对性能的影响非常严重。对于 x64，有一些性能影响，但是在 Itanium 系统上，问题更严重；异常将传播到应用程序层并会导致应用程序崩溃。 &lt;/em&gt; &lt;p&gt;&lt;em&gt;开发人员可以使用 –Wp64 编译器开关来要求编译器显示可能的移植性问题。这将使开发人员能够注意到绝大多数的移植问题。该标志在 32 位模式下同样可用。 &lt;/em&gt; &lt;p&gt;&lt;em&gt;&lt;b&gt;5.3.1&lt;/b&gt;&lt;b&gt;类型大小&lt;/b&gt; &lt;/em&gt; &lt;p&gt;&lt;em&gt;从 32 位迁移到 64 位时，增长的主要类型是指针和派生数据类型，如句柄。在 Windows 64 位中，目前的指针和派生类型是 64 位 long 类型。大小增加的其他一些类型还有：WPARAM、LPARAM、LRESULT 和 SIZE_T。其中一个原因是，它们作为参数使用，并且某些函数将指针作为参数使用。 &lt;/em&gt; &lt;p&gt;&lt;em&gt;从“int”和“long”派生出的所有类型的大小仍然是 32 位，其中包括 DWORD、UINT 和 ULONG。小于 32 位的类型保留它们当前的大小。一个示例就是“short”数据类型，它仍然保留为 16 位的带符号整数。 &lt;/em&gt; &lt;p&gt;&lt;em&gt;正如前面提到的那样，Win32 API 保持不变。所进行的更改对应于五个替代函数；其中，四个由一个多态版本取代，一个用于平面滚动条： &lt;/em&gt; &lt;p&gt;&lt;em&gt;GetClassLongPtr() &lt;/em&gt; &lt;p&gt;&lt;em&gt;GetWindowLongPtr() &lt;/em&gt; &lt;p&gt;&lt;em&gt;SetClassLongPtr() &lt;/em&gt; &lt;p&gt;&lt;em&gt;SetWindowLongPtr() &lt;/em&gt; &lt;p&gt;&lt;em&gt;这些函数的名称已经更改。此外，这些函数已经调整为使用多态数据类型（如 UINT_PTR），并使用所有更新的常量。&lt;/em&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e5%85%b3%e4%ba%8eWindows%e4%b8%8bC%2b%2b%e5%bc%80%e5%8f%91%e7%9a%8464%e4%bd%8d%e5%92%8c32%e4%bd%8d%e9%80%9a%e8%ae%af%e7%9a%84%e9%97%ae%e9%a2%98&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>程序设计算法</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1127.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1127.entry</guid><pubDate>Sun, 23 Dec 2007 14:07:59 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1127/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1127.entry#comment</wfw:comment><dcterms:modified>2007-12-23T14:11:26Z</dcterms:modified></item><item><title>讨论班上汇报的P2P Database论文</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1126.entry</link><description>&lt;p&gt;  总算在这学期，第一次在讨论班上汇报了一篇论文。这学期的论文都是今年的SIGMOD会议上的文章，而我这次汇报是一篇P2P相关的Database文章&amp;quot;P-Ring An Efficient and Robust P2P Range Index&amp;quot;。P2P主要在系统的Scalability和Fault-tolerance上比较突出。这也算是我第一次那么仔细读完一篇SIGMOD的文章。 &lt;p&gt;  实验室的同学从网上找到了一篇关于P2P系统比较详细的介绍文章，即使在以SIGMOD，VLDB顶级学术会议来看，这篇文章也是十分专业的。&lt;iframe style="border-right:#dde5e9 1px solid;padding-right:0px;border-top:#dde5e9 1px solid;padding-left:0px;padding-bottom:0px;margin:3px;border-left:#dde5e9 1px solid;width:240px;padding-top:0px;border-bottom:#dde5e9 1px solid;height:66px;background-color:#ffffff" marginwidth=0 marginheight=0 src="http://cid-ae66b623d6482fb0.skydrive.live.com/embedrowdetail.aspx/Public/Peer to Peer |5P2P,%e5%af%b9%e7%ad%89%e7%bd%91%e7%bb%9c|6 %e7%bb%bc%e8%bf%b0.pdf" frameborder=0 scrolling=no&gt;&lt;/iframe&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e8%ae%a8%e8%ae%ba%e7%8f%ad%e4%b8%8a%e6%b1%87%e6%8a%a5%e7%9a%84P2P+Database%e8%ae%ba%e6%96%87&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1126.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1126.entry</guid><pubDate>Thu, 20 Dec 2007 03:52:51 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1126/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1126.entry#comment</wfw:comment><dcterms:modified>2007-12-20T03:52:51Z</dcterms:modified></item><item><title>重新开始在学校的生活了</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1122.entry</link><description>&lt;p&gt;  回学校已经快两周了。本以为回学校会很轻松的，过上舒服的日子，没想到那么快又投入新的战斗了。新战斗就是写paper。一个是NDBC数据库会议的论文，机会不能放过，还有明年在本校召开的ADMA，也是不错的会议。当然，对于博士来说来说可能档次低了些，但是对于硕士来说还是可以的。 &lt;p&gt;  这周听了新加坡国立大学的黄教授等人的讲座，感觉收获还是颇丰富的。其实他的关于P2P的研究学术讲座倒是没什么兴趣，后来我们实验室的人和黄教授等开的局部小会议，探讨一些做学问的方法，思想等等，感觉才是真正的收获。早就听闻新加坡国立大学那边的博士要求很高了。黄教授那边数据库方向的博士，基本上只认SIGMOD,VLDB这样的会议，而且要求还不只是一篇。如果在中国大陆高校，如果谁能发一篇上去，就已经是超级大牛了，还不要说要求发几篇。 &lt;p&gt;  做Research，谁都知道要做新的东西才容易发论文，但是为什么大家都害怕抓不到新的热点呢？总是害怕自己的一个想法被人捷足先登了。黄教授同行的另外一个教授说，&lt;strong&gt;如果一个想法那么容易就被人也想到，那只能说明想法还不够深入，即使发了也没什么意思&lt;/strong&gt;。如果现在自己做了的一篇文章，放在电脑里存3年，3年之后还能发，那才是一篇好文章。 &lt;p&gt;  黄教授还针对大家选题的一些建议，总体说来，还是多读，多看，基础要扎实。&lt;strong&gt;如果做研究的基础的累积够扎实了，那么做研究就跟游戏一样简单了&lt;/strong&gt;。可惜的是，我自己的基础恰好就不够扎实。虽说自己是学data mining的，也看了不少database的论文，但是随便挑一个教科书上的问题，都可以把我难倒。这样薄弱的基础，只能让自己羞愧。 &lt;p&gt;  这学期的讨论班都是讲解今年的SIGMOD 2007的paper。回来的参加的两次讨论班，听了2篇论文的报告，而且，下周的一篇paper该轮到我来汇报。一下子就相当于看了3篇SIGMOD的论文，虽说不能是完全理解透彻，但是每一篇论文，都给了我很大的启示。现在有点惋惜没有上完这学期的讨论班，前面好多篇讨论班讲的SIGMOD'07论文都错过了。 &lt;p&gt;  去年的准备投NDBC的一个想法（后来去微软实习了就没有时间写出来），这个星期写了一个proposal给唐老师，里面基本上已经把想法和具体做法都考虑得比较清楚了。唐老师对于我这个idea也是比较赞同和认可的，告诉我可以马上开始写初稿了。差不多隔了一年，我终于可以开始了第一篇正式论文的撰写。当然，论文的实验也同时进行着，只要想法清楚了，写code方面是难不倒我的。 &lt;p&gt;  明年的NDBC在桂林召开，希望能够去看一下甲天下的桂林山水。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e5%9c%a8%e5%ad%a6%e6%a0%a1%e7%9a%84%e7%94%9f%e6%b4%bb%e4%ba%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1122.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1122.entry</guid><pubDate>Thu, 13 Dec 2007 15:13:40 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1122/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1122.entry#comment</wfw:comment><dcterms:modified>2007-12-13T15:48:27Z</dcterms:modified></item><item><title>结束了在MSRA的实习</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1114.entry</link><description>&lt;p&gt;  从5月到11月底，总共在MSRA渡过了7个月的实习时光。这7个月似乎是我感觉过得最快的7个月。或许是一个人在北京，生活上没有太多的琐事，只有很单纯的工作，于是就有这种时光飞逝的感觉。当然，记忆里面也并非都是工作上的事情，在MSRA还认识来自五湖四海的不少朋友，这或许正是每个MSRA的intern最大收获之一。现在又回到了学校，回到了无比熟悉的寝室，感觉在北京的7个月就像梦一样。 &lt;p&gt;  总体来说，这段在MSRA的实习工作，是比较成功的，我做的工作最后也得到了包括mentor以及其他很多微软员工的认可。其实刚开始去MSRA的时候，一切都并非那么顺利的。或许是工作上，交流上的不顺利，感觉自己总是在犯错误。然后随着时间的递增，对于工作内容的熟悉，渐渐地也找到了感觉。加上mentor以及其他MSRA员工的帮助，对于自己手上要做的东西，逐步得心应手。于是，每天总是工作到很晚。就算回了宾馆，也没有其他什么事情可以做，除了看电视。像我们这种在学校待管了的学生，早就已经对电视不感兴趣了，所以刚开始那3个月，基本上都是快到12点才回宾馆，回到宾馆就洗澡睡觉。后来搬到了同学家里住，晚上回去过后还可以上网，这种生活规律就被打破了。晚上睡得很晚，早上起来的也很晚。幸好MSRA里面工作时间是十分自由的，完全可以自主安排自己的上班下班时间。 &lt;p&gt;  我觉得自己是幸运的。去MSRA做实习生，进的组是我很喜欢的，做的工作也是我喜欢和擅长的。还有，最重要的是，能够得到mentor以及其他微软FTE的信任和帮助，让我有机会参与到重要模块的开发。我做的工作跟其他做Research的实习生有所不同，我做的东西偏向于工程一些，于是和MSRA其他FTE接触的机会更多。跟他们的交流，是让我受益匪浅的事情。无论是随便座位上讨论，还是开meeting，总是让我能学到东西，哪怕只是某种思维方式。现在真的体会到MSRA的FTE都比较厉害，无论是CS方面还是思维能力方面，无怪乎每年都只有真正的牛人才可以进微软。除了FTE，帮助过我的人还有身边不少intern朋友们。不同的intern擅长的工作不一样，我很幸运，做的是自己擅长的事情，但是，真正要做好，却少不了身边朋友的帮助。一个模块做了好几个月，虽然从最后的结果来看，是比较成功的，但是中间出现的不少难题和问题，相信只有跟我一起做事情intern朋友才知道。 &lt;p&gt;  扎实的Coding能力和广泛的学科知识，是我感觉在MSRA做事情比较重要的一点。其实无论在MSRA，还是在某某小公司，这些东西都是永恒不变的重要能力。在任何公司，任何地点做事情，中间肯定都会遇到了不少困难和难题。解决困难难题的能力，除了是坚强的毅力，严谨的态度外，更多还是建立在扎实的基本功和基础知识。然而，我感觉这些东西，并非都是我所完全具备的，这也就是我打算离开MSRA，回到学校继续专心学习的原因之一。回想本科刚进大学到现在，我总是不断出去工作，然后回学校潜心学习，然后再出去工作，然后再回学校潜心学习。。。每次出去做实习或者兼职，总是能够让我学到新的东西，了解到自己更多的不足之处，然后回到学校继续不断充实自己，找准自己努力前进的方向。不知道这条路什么时候才是尽头呢？无论如何，感谢给我机会走这条路的人们。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e7%bb%93%e6%9d%9f%e4%ba%86%e5%9c%a8MSRA%e7%9a%84%e5%ae%9e%e4%b9%a0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1114.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1114.entry</guid><pubDate>Thu, 06 Dec 2007 04:48:59 GMT</pubDate><slash:comments>6</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1114/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1114.entry#comment</wfw:comment><dcterms:modified>2007-12-06T04:48:59Z</dcterms:modified></item><item><title>批量增加文件头注释的python小程序</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1110.entry</link><description>&lt;pre style="background:#f6f8ff;color:#000020"&gt;&lt;span style="font-weight:bold;color:#200080"&gt;import&lt;/span&gt; sys
&lt;span style="font-weight:bold;color:#200080"&gt;import&lt;/span&gt; os
&lt;span style="font-weight:bold;color:#200080"&gt;import&lt;/span&gt; glob
&lt;span style="font-weight:bold;color:#200080"&gt;import&lt;/span&gt; &lt;span style="color:#e34adc"&gt;string&lt;/span&gt;

&lt;span style="font-weight:bold;color:#200080"&gt;def&lt;/span&gt; isBlankLine&lt;span style="color:#308080"&gt;(&lt;/span&gt;line&lt;span style="color:#308080"&gt;)&lt;/span&gt;&lt;span style="color:#308080"&gt;:&lt;/span&gt;
    &lt;span style="font-weight:bold;color:#200080"&gt;for&lt;/span&gt; ch &lt;span style="font-weight:bold;color:#200080"&gt;in&lt;/span&gt; line&lt;span style="color:#308080"&gt;:&lt;/span&gt;
        &lt;span style="font-weight:bold;color:#200080"&gt;if&lt;/span&gt; ch &lt;span style="font-weight:bold;color:#200080"&gt;in&lt;/span&gt; &lt;span style="color:#308080"&gt;[&lt;/span&gt;&lt;span style="color:#1060b6"&gt;' '&lt;/span&gt;&lt;span style="color:#308080"&gt;,&lt;/span&gt;&lt;span style="color:#1060b6"&gt;'\t'&lt;/span&gt;&lt;span style="color:#308080"&gt;,&lt;/span&gt;&lt;span style="color:#1060b6"&gt;'\n'&lt;/span&gt;&lt;span style="color:#308080"&gt;]&lt;/span&gt; &lt;span style="color:#308080"&gt;:&lt;/span&gt;
            &lt;span style="font-weight:bold;color:#200080"&gt;continue&lt;/span&gt;
        &lt;span style="font-weight:bold;color:#200080"&gt;else&lt;/span&gt;&lt;span style="color:#308080"&gt;:&lt;/span&gt;
            &lt;span style="font-weight:bold;color:#200080"&gt;return&lt;/span&gt; &lt;span style="color:#e34adc"&gt;False&lt;/span&gt;
    &lt;span style="font-weight:bold;color:#200080"&gt;return&lt;/span&gt; &lt;span style="color:#e34adc"&gt;True&lt;/span&gt;

sys&lt;span style="color:#308080"&gt;.&lt;/span&gt;argv&lt;span style="color:#308080"&gt;.&lt;/span&gt;append&lt;span style="color:#308080"&gt;(&lt;/span&gt;&lt;span style="color:#1060b6"&gt;'test*.txt'&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;
sys&lt;span style="color:#308080"&gt;.&lt;/span&gt;argv&lt;span style="color:#308080"&gt;.&lt;/span&gt;append&lt;span style="color:#308080"&gt;(&lt;/span&gt;&lt;span style="color:#1060b6"&gt;'comment.txt'&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;
&lt;span style="font-weight:bold;color:#200080"&gt;if&lt;/span&gt; &lt;span style="color:#e34adc"&gt;len&lt;/span&gt;&lt;span style="color:#308080"&gt;(&lt;/span&gt;sys&lt;span style="color:#308080"&gt;.&lt;/span&gt;argv&lt;span style="color:#308080"&gt;)&lt;/span&gt; &lt;span style="color:#308080"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#008c00"&gt;3&lt;/span&gt;&lt;span style="color:#308080"&gt;:&lt;/span&gt;
    &lt;span style="color:#e34adc"&gt;exit&lt;/span&gt;&lt;span style="color:#308080"&gt;(&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;

filenames &lt;span style="color:#308080"&gt;=&lt;/span&gt; glob&lt;span style="color:#308080"&gt;.&lt;/span&gt;glob&lt;span style="color:#308080"&gt;(&lt;/span&gt;sys&lt;span style="color:#308080"&gt;.&lt;/span&gt;argv&lt;span style="color:#308080"&gt;[&lt;/span&gt;&lt;span style="color:#008c00"&gt;1&lt;/span&gt;&lt;span style="color:#308080"&gt;]&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;
commentfilename &lt;span style="color:#308080"&gt;=&lt;/span&gt; sys&lt;span style="color:#308080"&gt;.&lt;/span&gt;argv&lt;span style="color:#308080"&gt;[&lt;/span&gt;&lt;span style="color:#008c00"&gt;2&lt;/span&gt;&lt;span style="color:#308080"&gt;]&lt;/span&gt;

&lt;span style="color:#595979"&gt;# read the comments&lt;/span&gt;
f &lt;span style="color:#308080"&gt;=&lt;/span&gt; &lt;span style="color:#e34adc"&gt;file&lt;/span&gt;&lt;span style="color:#308080"&gt;(&lt;/span&gt;commentfilename&lt;span style="color:#308080"&gt;)&lt;/span&gt;
commentLines &lt;span style="color:#308080"&gt;=&lt;/span&gt; f&lt;span style="color:#308080"&gt;.&lt;/span&gt;readlines&lt;span style="color:#308080"&gt;(&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;
commentLines &lt;span style="color:#308080"&gt;+&lt;/span&gt;&lt;span style="color:#308080"&gt;=&lt;/span&gt; &lt;span style="color:#1060b6"&gt;'\n'&lt;/span&gt;
f&lt;span style="color:#308080"&gt;.&lt;/span&gt;close&lt;span style="color:#308080"&gt;(&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;
&lt;span style="font-weight:bold;color:#200080"&gt;print&lt;/span&gt; &lt;span style="color:#e34adc"&gt;string&lt;/span&gt;&lt;span style="color:#308080"&gt;.&lt;/span&gt;join&lt;span style="color:#308080"&gt;(&lt;/span&gt;commentLines&lt;span style="color:#308080"&gt;,&lt;/span&gt; &lt;span style="color:#1060b6"&gt;''&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;

&lt;span style="color:#595979"&gt;# add the comment into each source file&lt;/span&gt;
&lt;span style="font-weight:bold;color:#200080"&gt;for&lt;/span&gt; srcfilename &lt;span style="font-weight:bold;color:#200080"&gt;in&lt;/span&gt; filenames&lt;span style="color:#308080"&gt;:&lt;/span&gt;
    f &lt;span style="color:#308080"&gt;=&lt;/span&gt; &lt;span style="color:#e34adc"&gt;file&lt;/span&gt;&lt;span style="color:#308080"&gt;(&lt;/span&gt;srcfilename&lt;span style="color:#308080"&gt;)&lt;/span&gt;
    srcfileLines &lt;span style="color:#308080"&gt;=&lt;/span&gt; f&lt;span style="color:#308080"&gt;.&lt;/span&gt;readlines&lt;span style="color:#308080"&gt;(&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;
    f&lt;span style="color:#308080"&gt;.&lt;/span&gt;close&lt;span style="color:#308080"&gt;(&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;
    &lt;span style="color:#595979"&gt;# filter out the previous comment header&lt;/span&gt;
    &lt;span style="font-weight:bold;color:#200080"&gt;for&lt;/span&gt; line &lt;span style="font-weight:bold;color:#200080"&gt;in&lt;/span&gt; srcfileLines&lt;span style="color:#308080"&gt;:&lt;/span&gt;
        &lt;span style="font-weight:bold;color:#200080"&gt;if&lt;/span&gt; isBlankLine&lt;span style="color:#308080"&gt;(&lt;/span&gt;line&lt;span style="color:#308080"&gt;)&lt;/span&gt; &lt;span style="color:#308080"&gt;:&lt;/span&gt;
            &lt;span style="font-weight:bold;color:#200080"&gt;continue&lt;/span&gt;
        &lt;span style="font-weight:bold;color:#200080"&gt;if&lt;/span&gt; line&lt;span style="color:#308080"&gt;[&lt;/span&gt;&lt;span style="color:#008c00"&gt;0&lt;/span&gt;&lt;span style="color:#308080"&gt;]&lt;/span&gt; &lt;span style="color:#308080"&gt;=&lt;/span&gt;&lt;span style="color:#308080"&gt;=&lt;/span&gt; &lt;span style="color:#1060b6"&gt;'#'&lt;/span&gt; &lt;span style="color:#308080"&gt;:&lt;/span&gt;
            srcfileLines &lt;span style="color:#308080"&gt;=&lt;/span&gt; commentLines &lt;span style="color:#308080"&gt;+&lt;/span&gt; srcfileLines
            f &lt;span style="color:#308080"&gt;=&lt;/span&gt; &lt;span style="color:#e34adc"&gt;file&lt;/span&gt;&lt;span style="color:#308080"&gt;(&lt;/span&gt;srcfilename&lt;span style="color:#308080"&gt;,&lt;/span&gt; &lt;span style="color:#1060b6"&gt;'w'&lt;/span&gt;&lt;span style="color:#308080"&gt;)&lt;/span&gt;
            f&lt;span style="color:#308080"&gt;.&lt;/span&gt;writelines&lt;span style="color:#308080"&gt;(&lt;/span&gt;srcfileLines&lt;span style="color:#308080"&gt;)&lt;/span&gt;
            &lt;span style="font-weight:bold;color:#200080"&gt;print&lt;/span&gt; &lt;span style="color:#1060b6"&gt;'Add comment to '&lt;/span&gt;&lt;span style="color:#308080"&gt;+&lt;/span&gt;srcfilename
        &lt;span style="font-weight:bold;color:#200080"&gt;break&lt;/span&gt;
&lt;/pre&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e6%89%b9%e9%87%8f%e5%a2%9e%e5%8a%a0%e6%96%87%e4%bb%b6%e5%a4%b4%e6%b3%a8%e9%87%8a%e7%9a%84python%e5%b0%8f%e7%a8%8b%e5%ba%8f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>Python</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1110.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1110.entry</guid><pubDate>Wed, 28 Nov 2007 13:54:54 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1110/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1110.entry#comment</wfw:comment><dcterms:modified>2007-11-28T13:54:54Z</dcterms:modified></item><item><title>让人愤怒的《盲山》</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1107.entry</link><description>&lt;p&gt;  不知道《盲山》的导演到底是怎么想的，居然把这么一部真实反映中国落后山村的妇女拐卖现实，毫无保留地展现给观众们。这样沉重的现实，这样真实的现实，已经不是人人都能接受的了。对于中国西部落后山村的野蛮，我早已经有所闻，但是没想到，这些野蛮的背后，除了愚昧之外，还有良心的丧失。 &lt;p&gt;   在大山后背，连法律都已经失去它的权威了。要说这些农民不懂法，但是他们也知道拐卖妇女是犯法的，但是为什么还是敢买？要说农民“纯朴”，但他们身上就连一个人基本的良心都丧失了，像对待家里的牲畜一样对待一个年轻的女孩，这又哪里是所谓的“纯朴”？在我看来，对付这些连法律都不顾的野蛮人，最好的办法就是以暴制暴。为什么我们的人民警擦执行公务，解救拐卖妇女都要偷偷摸摸的？难道我们的警察警力不够？在我看来，打死一个算一个，且不说他们拐卖人口，单说妨碍警察执行公务，还敢袭警，完全可以直接当场击毙。或许这种做法看似野蛮，但是现代文明都是在野蛮基础上建立起来的。愚民们既然可以野蛮对待一个弱女子，为什么我们的警察不可以野蛮地击毙他们？&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e8%ae%a9%e4%ba%ba%e6%84%a4%e6%80%92%e7%9a%84%e3%80%8a%e7%9b%b2%e5%b1%b1%e3%80%8b&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>杂谈</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1107.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1107.entry</guid><pubDate>Sat, 24 Nov 2007 07:47:36 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1107/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1107.entry#comment</wfw:comment><dcterms:modified>2007-11-24T07:47:36Z</dcterms:modified></item><item><title>自我提高的十大技巧</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1100.entry</link><description>&lt;ul&gt; &lt;p&gt;虽然我没有尽力把下面的每一条技巧都付诸实践，但我确实每天都作出一点努力了。下面列举的就是我最喜欢的自我提高的十大技巧。每天只要付出一点，你就会看到惊喜的变化，可以把你的秘诀添加进去做评估。  &lt;h2&gt;10.有一个好的开头&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5pbR3M8orID_GW4axvICC189hByVIJKzaBL-yeRldUHWECan5HNRY3sJ7iaYItwsh0"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=179 alt="clip_image001" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5oP3urmtGN65VfnKApKVZuKaiknrR_CqgeLdvVXg8u-Sx75lU7xFrVIprrkMGeBoGs" width=240 border=0&gt;&lt;/a&gt;  &lt;p&gt;这意味着起床和早餐要早。只有这样你才能有充沛的精力去遵照其他条例做事。如果你起得很早，你甚至可以例行再做一点晨练。假如你和其他人生活在 一起，你要尽力利用这个机会让每个人都聚在一起吃早餐。在一个忙忙碌碌的家庭中这是一天中好的开头同时也能保证大家从开始就能互相交流。  &lt;h2&gt;9.做一个日程表&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5oz7Z5_zdlCpfo0BhLSUixh81LzFIQGqPeSv02YIEjvIgqkJZIiaofkcNhsKhkJLek"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=214 alt="clip_image002" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5r2fDOtvw_BnTGnCy6tKJ_A-vXSF0k1TbA1BwQ_JRMt48gd8vwKqcthz1qkEWNbXnI" width=240 border=0&gt;&lt;/a&gt;  &lt;p&gt;每天写下你要完成的任务，这是一个非常好的方法.当你完成了这些任务，就可以把它们踢开。你也不必一定按照你的明细表去做。如果这一天你还有没有完成的任务，那也不要紧，把他们挪到第二天的任务中去。如果你是一个拖拉的人，这样会对你很有帮助。  &lt;h2&gt;８.休息一会儿，放松一下。&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5piWvbLuq1WfJF9es1w4KEX-bFBSPqTEWmWXxmw40RGuOsRs0n4RodbL5ziPyyoSHI"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=160 alt="clip_image003" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5rv88UdwGYriXO_QvqX4FgM2eRShhgKOLETC8yKx4AjBck2HK8JJ--Am9OvTTotvqs" width=240 border=0&gt;&lt;/a&gt;  &lt;p&gt;如果你在电脑前，在办公桌前工作了很长时间，或者干了其他职责要求的工作很长时间，那么你应当中断工作休息一会儿。这不代表着你不去做你的工 作，恰恰意味着你要充分利用非工作时间去放松一下。我很难把自己从电脑前拽离，这样往往不能在周末或傍晚外出。但每次我外出时，就想为什么不早点这样做 呢。休息一下，对发展新的兴趣，结交朋友和打破每天的单调生活很有好处，这是个不错的方法。  &lt;h2&gt;7.慷慨大度点&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5rRimizeUy6UoKKr3c0FqpgT0O1gUTcmt74HF6eg5lSwQua2xjKq75HfOK5RcGrxBY"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=165 alt="clip_image004" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5ri0Amkd76DmFepS8r0gE1nOsai6_6163mUXcxNcBvSZSHiQ_ddAw2rnAx7O8n4CxI" width=240 border=0&gt;&lt;/a&gt;  &lt;p&gt;大 度才可能得到回报。慷慨我并不单指在钱财方面。你可以多奉献一些笑容，多提供一些建议，总之，也可在许多其他事情上表现慷慨一些。要总是想法设法去帮助别 人。某一天你也许特别需要他人帮助，那些认识你的认为你可能同样帮助他们的人更有可能给予你帮助。你可能认识一些人，他们总是在你家附近提供帮助。——所 以说你帮助他们不仅仅是做了一件好事，而且可以结交一些品行高尚的新朋友。  &lt;h2&gt;6.接受你无法更改的事实&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5p2vIhccDiGPtlpVdltalYblKWjeRndlmXT0IVPsmuAiW9o8hhzbVd9xmDTAmXknOA"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=157 alt="clip_image005" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5qZktafvJoD99sr_qOcp_Y2glmPofMnjWwz-UBdntU6q3Q0xehdO64jsj_OSx6_N4w" width=240 border=0&gt;&lt;/a&gt;  &lt;p&gt;当我们的生活中遇到不侧时，我们总是设法控制或改变它。但有时我们无法做到。这会导致我们很长时间闷闷不乐或情绪沮伤。如果你能接受你无法改变 的事实，你就会成为比较快乐的人。接受这些状况需要我们从开始找到一个能够较快应付困境的方法。例如当你意识到你的银行帐户上只剩下10美元时，而必须用 这10美元维持两周。你也不要垂头伤气，接受这个现实，想出靠这点钱生存的办法。这可以免于你在坏心情中浪费时间，而是想法去应对生活困难。学会这一条技 巧你会更加开朗豁达。  &lt;h2&gt;5。学一门新的语言&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5pUaXAQ2Hg6Q5Ww49mjB6QxfZwPSQ2-6vHRzHXOzHD77dAIi3UcS1Gl-UwgX_0P_7M"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=162 alt="clip_image006" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5qeP_48M6COzQiBvZGj2R6ar8e2gv3-ZPzTBb1ltHoUGrSz7U_0hK9k8WIzMYgFNGQ" width=240 border=0&gt;&lt;/a&gt;  &lt;p&gt;学一门其他的语言是提高你掌握英语的一个最好的方法。根据我自己的经历，我在高中学法语当中学到的语法知识比在英语课上学到的多的多。另外，当 我后来开始学习古希腊语，我学了许多关于英语单词的词根知识，我发现它对我以后的写作很有帮助。同时也能拓展你的英语知识，如果你掌握了一门活语言就会增 加访问你想参观地方的次数或者与当地人用当地语言谈话，你会觉得你的假期更有趣。  &lt;h2&gt;4.打断链条&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5okmsZ6rrdozG4Hvrc1noW3Oc4t9lRQE77PfxaJ2b8bAc3YUp4HlgoDsGUUUYnhuS0"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=159 alt="clip_image007" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5p9Hd384Gvbw5jEzfhZF-IIqWx6zOPxdvHjSeEDLxGv5lNXq2ypgJngJ0FHUexsZss" width=240 border=0&gt;&lt;/a&gt;  &lt;p&gt;如果在你的生活中有许多模式，试着打破它们，每天有所改变。例如你总是在星期五晚上在餐馆里订同样的饭，为什么不试着在今天星期五晚上换换口味 呢？这不但能拓展你的人生阅历，而且能为你的未来生活打开许多扇门。不久以前我打算再也不吃东方菜和海鲜，而过后某一天我决定尝一尝。海鲜现在是我最爱吃 的食物了，我几乎不能没有它。因为我发现自己爱吃泰国和中国食品，所以我可以去任何一家我想去的餐馆。迈出了第一步，意味着我现在愿意品尝任何食物。（除 了名单上列举的10大恶心的食物。）这同样对我不喜欢的食物也有很大影响——以前我总是去那些认为食物较安全的国家度假。自此，我去了许多东方国家，也爱 上了这些国家。  &lt;h2&gt;3.面对畏惧&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5pqDlv78CV53tVAsgPF2D8Grl7SdyPalmHWhk-OkmY1IULz3CbYXffOqulX7T0RGQc"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=240 alt="clip_image008" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5qTb7MepqtMb8jsLCQFuFzlTwZ_YbG84J2u8Dl2MLj-FED1SUlyC2YG_hEGqfj_x7s" width=236 border=0&gt;&lt;/a&gt;  &lt;p&gt;每天做一些你不想做的事或你感觉不自在的事。这因人而异，但每天总有一些我们能开始做的事情。例如，你可能不愿去体操馆——害怕每个人都观看你 --但也要去。很快你就会自信而且完全消除畏惧心理。接下来把注意力转移到一些更让我们害怕的大事上来。无所畏惧的生活会给我们带来自信，别人是可以看得 到的。不要在我们周围垒墙，我们要把它拆除。  &lt;h2&gt;2.忘记目标——活在当下&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5odb7qsn5PkRNjzcKM_mne94fc81Yo_wtKeTOzDXPPzyZPDLvn7FX10gPzwZIV_Z6M"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=240 alt="clip_image009" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5pTiHm1RcSZlWdLpZbCw2cHF-Nimpg2FN7X1Rc2MBu4wSeZBU9SmNW1P9_AjsZVfks" width=230 border=0&gt;&lt;/a&gt;  &lt;p&gt;列举条目的性质总在告戒我们建立和记下目标。我要告诉你相反的方法。一个非常聪明的心理学家曾经告诉我，如果你建立了目标并去完成它，你总有一 种空空的感觉，因为目标不是你所想的就能实现。它不但不能使你满意，而且你不可避免地在为之奋斗的过程中使未来要失去一些东西。说到这，我不是让你忽视未 来——未来值得你有这种想法：某一天取得成果——但是不要把所有的精力都投入在上面。这里有一个不同做法的典型的例子：我有一个在法国定居的想法，我花 10年的时间积攒所有的钱为实现自己的目标做准备。同时由于我过度节俭、吝啬，以至我不能花钱与我的朋友一起外出消费，我住不起豪华漂亮的房子，我也很不 幸，因为我最终没有在法国定居。相反，如果我当时只是简单决定某一天我要在法国定居，只是有这个想法而已，继续按照原来的方式生活。在生活当中，我很快 乐，无须为远期目标而烦恼，如果目标实现了，那当然棒了，如果没有实现，那也没什么，我没有损失什么。但谁又知道同时我的生活中有什么精彩的事情发生呢？ 在影片≤美国美人≥中可以看到很好的虚拟的例子。  &lt;h2&gt;1.不要耽搁&lt;/h2&gt; &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5pjXFHfhEz0-T_CrPMIda_cy168eF9Vy_WIW4rVMHEzEwKiABdi_y90NPJsrKDVrQo"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px" height=226 alt="clip_image010" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5qA-w5mVoOi26EVPPeHS9k8R1DkrQ0qwsAH32-l3neX-kYsLn6_ac0L6T9OP9nCnMA" width=240 border=0&gt;&lt;/a&gt;  &lt;p&gt;在我的生活中，我总在奋斗。对我来说，从家里出来工作是很大的挑战。但是从事这份工作帮助我避免了办事情拖拉的做法，并能掌管自己的生活。做完 一件你平时总拖延不做的事，那种感觉很好——肯定比做完其他好事要爽。如果你总是拖延做一些事，你就会欠下时间的债，你不得不去还债，那么你总是在很不适 宜的时间里来完成它。以拖延写一篇文章为例，我在晚上7点钟才不得不写起来，而这时正是我想看一场电影或者喝点饮料的时间！如果你按照不拖延这条规则去办 事，你的生活会变得更加有序。  &lt;p&gt;小贴士：每天读以上所有列举的技巧。  &lt;p&gt;科学研究证明每天看十大技巧的人会很愉快得多并且生活充实得多。---好了就说这么多，去实施它吧。&lt;/ul&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e8%87%aa%e6%88%91%e6%8f%90%e9%ab%98%e7%9a%84%e5%8d%81%e5%a4%a7%e6%8a%80%e5%b7%a7&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>学习和工作</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1100.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1100.entry</guid><pubDate>Wed, 21 Nov 2007 02:38:28 GMT</pubDate><slash:comments>5</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1100/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1100.entry#comment</wfw:comment><dcterms:modified>2007-11-21T02:38:28Z</dcterms:modified></item><item><title>终于看完了《士兵突击》</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1078.entry</link><description>&lt;p&gt;  《士兵突击》这部国产内地连续剧已经出来了有一段时间了，刚开始并不是很感冒，但是同学们和网上的热评是在翻天覆地，于是有空也去下载下来看看。刚开始觉得十分搞笑，但是随着后来一步一步深入下去，逐渐也被这部连续剧吸引住了，于是一发不可收拾地看完下去了。按照大家的说法是，这是一部纯爷们的青春连续剧，没有一点点爱情的穿插，甚至没有一个女人，只有团队，友情，成长的描绘。感觉许三多在很像《射雕》里面的郭靖，不过我一向都不是很喜欢郭靖，因为郭靖的成就很大程度是因为他总是在遇见贵人，江南七怪，马钰道长，丘处机，洪七公，周伯通，段王爷等等，如果还不成才，那实在太不应该了。而许三多，也遇见了关心他的班长，但是他更多的是靠自己的努力和坚持走下来的人，就像高连长说得，他做什么都像抓住一根救命稻草一样认真和拼命。 &lt;p&gt;   当今到处都在强调大学生的全面素质的时候，是否还有人会记得我们从小接受的艰苦奋斗，勇往直前的精神。《士兵突击》里面钢七连的那六个字，“不抛弃，不放弃”，我们这群年轻人中，有多少能够做到呢？大家都说，从这部片子里面学到的东西实在太多了，我想我也是，不仅许三多，史班长，561，高连长，袁朗，乃至一直不看好的成才，他们的经历的确给了我很多很深的启发和教育。 &lt;p&gt;   其实个人对于内地推出的连续剧一向不是喜欢，真正看过的就只有两部，一部是《亮剑》，另外一部就是这部《士兵突击》，都是军旅题材的作品。不同的是，前者取材于抗日战争的故事，推崇的是面对强大的敌人要敢于亮出自己的剑的勇猛精神，而后者是描绘现代特种士兵的个人成长经历，强调的是坚持不懈，不抛弃，不放弃的团队精神。据说，台湾的军官们都很喜欢看这两部连续剧，甚至还翻来覆去研究我们部队军人的训练方法，素质等等。影视作品毕竟是影视作品，现实中肯定不会有完美的，但是影视作品的故事源于现实，高于现实的。 &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5ohAt2Is_A44BquQ7k0iGnwzCtBtyiaZbpjj1yqo_RRb1KmcyZu3TQ40arZGApNprQ"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=384 alt="Image_gvxxjI" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5rh2KAkBN6d-lR5KY42r2MzGAVTdQZvE7-JZZwii50M4Kgpr9iM4nN4R72hLL-skW0" width=512 border=0&gt;&lt;/a&gt;  &lt;p&gt;&lt;a href="http://byfiles.storage.msn.com/y1pQfWk8bgKa5pgdnKhUFX8nNsovcvU9KqSN1rEGx7uw1i96kEcF60LhYJNrtumN_TB8omUpwEdjbU"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=393 alt="Image_V4mIIt" src="http://byfiles.storage.msn.com/y1pQfWk8bgKa5q6kWGmvONo16oDrM92Q9F3EgrPPViP2R5pOAxvAYF3kuJh-HRNMOoccVHLmG1LKzY" width=521 border=0&gt;&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e7%bb%88%e4%ba%8e%e7%9c%8b%e5%ae%8c%e4%ba%86%e3%80%8a%e5%a3%ab%e5%85%b5%e7%aa%81%e5%87%bb%e3%80%8b&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>休闲与娱乐</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1078.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1078.entry</guid><pubDate>Sun, 18 Nov 2007 13:32:36 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1078/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1078.entry#comment</wfw:comment><dcterms:modified>2007-11-18T13:32:36Z</dcterms:modified></item><item><title>令人激动的Google手机操作系统Android</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1073.entry</link><description>&lt;p&gt; 做过几年的Symbian手机游戏开发，也做过几年J2ME上的程序开发，对于手机上的应用开发，一向都是我比较关注的。然而，似乎这一切都没有让Google推出的GPhone让人如此激动和兴奋。GPhone的手机操作系统Android终于在2007年11月13日正式发布了，而且还是一个开源的操作系统，内核为Linux。以往的各种手机平台，都过于封闭，都是传统手机制造厂商把持了其应用程序的主流开发，而第三方软件提供商很难在上面施展拳脚，不过Google推出的Android却是如此开放，估计会吸引不少的开发人员为其编写应用软件。其开发平台也是最流行的Eclipse，开发语言也是流行的Java，所以只要你有心，就能为它做任何应用软件。 &lt;p&gt;  关于Android的官方开发首页在Google的&lt;a href="http://code.google.com/android/"&gt;http://code.google.com/android/&lt;/a&gt;，其Youtube上还有一个关于GPhone的视频介绍，看看真正的GPhone跑起来是什么样的。&lt;br&gt;&lt;a title="http://www.youtube.com/watch?v=1FJHYqE0RDg&amp;amp;eurl=http://code.google.com/android/" href="http://www.youtube.com/watch?v=1FJHYqE0RDg&amp;amp;eurl=http://code.google.com/android/"&gt;http://www.youtube.com/watch?v=1FJHYqE0RDg&amp;amp;eurl=http://code.google.com/android/&lt;/a&gt; &lt;p&gt; CSDN上已经有博客在撰写中文的Android开发入门了:Android程序开发初级教程(一)(二)(三) &lt;p&gt;&lt;a title="http://blog.csdn.net/k7sem/archive/2007/11/15/1886871.aspx" href="http://blog.csdn.net/k7sem/archive/2007/11/15/1886871.aspx"&gt;http://blog.csdn.net/k7sem/archive/2007/11/15/1886871.aspx&lt;/a&gt;&lt;br&gt;&lt;a title="http://blog.csdn.net/k7sem/archive/2007/11/15/1887437.aspx" href="http://blog.csdn.net/k7sem/archive/2007/11/15/1887437.aspx"&gt;http://blog.csdn.net/k7sem/archive/2007/11/15/1887437.aspx&lt;/a&gt;&lt;br&gt;&lt;a title="http://blog.csdn.net/k7sem/archive/2007/11/15/1887499.aspx" href="http://blog.csdn.net/k7sem/archive/2007/11/15/1887499.aspx"&gt;http://blog.csdn.net/k7sem/archive/2007/11/15/1887499.aspx&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-508484562895931526&amp;page=RSS%3a+%e4%bb%a4%e4%ba%ba%e6%bf%80%e5%8a%a8%e7%9a%84Google%e6%89%8b%e6%9c%ba%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9fAndroid&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tangl99.spaces.live.com&amp;amp;GT1=tangl99"&gt;</description><category>移动开发</category><comments>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1073.entry#comment</comments><guid isPermaLink="true">http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1073.entry</guid><pubDate>Sat, 17 Nov 2007 06:42:05 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tangl99.spaces.live.com/blog/cns!F8F17FFBEED1777A!1073/comments/feed.rss</wfw:commentRss><wfw:comment>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1073.entry#comment</wfw:comment><dcterms:modified>2007-11-17T06:56:15Z</dcterms:modified></item><item><title>青花瓷</title><link>http://tangl99.spaces.live.com/Blog/cns!F8F17FFBEED1777A!1067.entry</link><description>&lt;p&gt;周杰伦真的不愧是一个音乐奇才啊。这首《青花瓷》，真是太绝了。 &lt;p&gt;       芭蕉帘外雨声急，青花瓷里容颜旧。&lt;br&gt;　　 黯然销魂者，唯别而已矣。&lt;br&gt;　　从《东风破》里的“一盏离愁孤单伫立在窗口”到《发如雪》中的“你发如雪凄美了离别”再到《千里之外》里的黯然神伤“我送你离开，千里之外，你无声黑白”，离恨是歌者永恒的主题。《青花瓷》给我们带来的惊喜，在于这种离愁别绪被描写得更加婉转细腻，隐藏得愈加含蓄而韵味别生，仿佛青橄榄在口，可以慢慢回味。&lt;br&gt;　　 论意境，《青花瓷》宛然一出烟雨朦胧的江南水墨山水，水云萌动之间依稀可见伊人白衣素袂裙带纷飞；&lt;br&gt;　　 论词句，《青花瓷》却是一幅笔端蕴秀临窗写就的素心笺，走笔曲折只因心似双丝网，中有千千结；&lt;br&gt;　　 论曲调，《青花瓷》仿佛微风中静静流淌石上的山泉溪涧，清泠透亮而又蜿蜒回环多有不尽之意；&lt;br&gt;　　 这三者叠加至一处，《青花瓷》一曲正如其名，恰似那“自顾自美丽”的青瓷极品，洗尽铅华，古朴典雅，清新流畅。&lt;br&gt;　　在《青花瓷》里我听到了《东风破》里旧地重游物是人非般淡淡的哀愁，听到了《发如雪》里前尘后世轮回不息般轻轻的喟叹，也听到了《千里之外》天各一方生死难忘的一生等待，甚至听到了《爱在西元前》里风化千年而精魂不死的爱的誓言……心中五味陈杂，漫天的思念翻滚如潮，而耳旁却依然只是轻轻淡淡的吟唱而已，云淡风清。&lt;br&gt;　　 《青花瓷》里最感人的一个字，我以为是这个“等”字。&lt;br&gt;　　一个“等”字，唱尽多少无奈和惋叹。这一等，是无望的等，是来生的等，是明知不可等的等，可是曲中却只用淡淡的语调唱来，再平常不过，仿佛只是每天等待日出那般简单；等待的时候，可以看书写字，可以吟诗作画，可以赏花弹琴，只是时时不曾忘记等待的人。痛苦