<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/shaohang" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/shaohang" type="application/rss+xml"></fs:self_link><lastBuildDate>Sat, 26 Nov 2011 12:55:00 GMT</lastBuildDate><title>Shao's space</title><description>this guy......</description><image><url>http://creativecommons.org/images/public/somerights20.png</url><title>Shao's space</title><link>http://mindsailor.cn</link></image><link>http://mindsailor.cn</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Sat, 26 Nov 2011 12:55:00 GMT</pubDate><item><title>踩在11月的尾巴上</title><link>http://mindsailor.cn/?p=644257</link><content:encoded>&lt;p&gt;一个月前，站在10月的尾巴上，告诉自己要做一个总结，无奈就像去香山看红叶一样，计划被贴上了希望的标签，转而封存到错过的瓶子里。&lt;/p&gt;
&lt;p&gt;11月的尾巴，周末的补觉并没带来期待中的舒坦，下午2点-4点之间，僵尸、人类、僵尸守护神，幻灯片式地变换场景、奇幻的故事情节把我的梦境演绎地酣畅淋漓，也把我耗得虚脱无力，梦魇大概就是这样的吧。从梦里挣扎起来的半小时里，以导演的态度对角色特点、能力均衡和矛盾冲突进行缓慢地梳理，而一直到现在，大脑都以一种无法灵活转动的混沌状态进行着罢工。&lt;/p&gt;
&lt;p&gt;好嘛，借着晕乎乎的感觉回头来看看这过去的两个月。&lt;/p&gt;
&lt;p&gt;北风落叶和静电，季节上从秋天走入冬天，思维不知不觉开始冷却，年轻的人总是不知该如何盘点自己的收成。短期的长远的，实际的潜在的，内在的外部的，辨不清也不懂割舍，回到原点却发现自己尚未完成成功的定义。用渴望指点的眼神去看年长的人，他们只伸出手，指向你的内心。&lt;/p&gt;
&lt;p&gt;两个月来，很多事情，就像树干上不断延伸出来的分叉，很多时候想挥刀去砍，却发现不如忍受分枝那短暂的生命。分枝的成长固然消耗了能量，但也茂密了树干（每次如此，都能想到《士兵突击》里成才提到的电线杆）；值得满足的是主线仍然清晰，目标依旧明确。细节很多，足以一写，但不值得记下。不知不觉放弃了很多精彩，也许是不想前行的路上有太多的负担，或者不想对过去留下太多的眷恋。&lt;/p&gt;
&lt;p&gt;在很多的空闲时间中不知觉地沉浸在因指数爆炸而泛滥的信息流中，以极小的能量消耗来接收庞大的外界信息，感受精彩的同时，却难免“热闹是他们的，我们什么也没有”的失落，因此偶尔还想想我们要成为什么样的人，不知是想给自己贴上标签，穿上能够让人识别的外套，还是在人生中感到孤单，想找到命中应该最终注定的那一种归宿。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293098/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644257&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=644257</wfw:commentRss><slash:comments>1</slash:comments><description>一个月前，站在10月的尾巴上，告诉自己要做一个总结，无奈就像去香山看红叶一样，计划被贴上了希望的标签，转而封存到错过的瓶子里。 11月的尾巴，周末的补觉并没带来期待中的舒坦，下午2点-4点之间，僵尸、人类、僵尸守护神，幻灯片式地变换场景、奇幻的故事情节把我的梦境演绎地酣畅淋漓，也把我耗得虚脱无力，梦魇大概就是这样的吧。从梦里挣扎起来的半小时里，以导演的态度对角色特点、能力均衡和矛盾冲突进行缓慢地梳理，而一直到现在，大脑都以一种无法灵活转动的混沌状态进行着罢工。 好嘛，借着晕乎乎的感觉回头来看看这过去的两个月。 北风落叶和静电，季节上从秋天走入冬天，思维不知不觉开始冷却，年轻的人总是不知该如何盘点自己的收成。短期的长远的，实际的潜在的，内在的外部的，辨不清也不懂割舍，回到原点却发现自己尚未完成成功的定义。用渴望指点的眼神去看年长的人，他们只伸出手，指向你的内心。 两个月来，很多事情，就像树干上不断延伸出来的分叉，很多时候想挥刀去砍，却发现不如忍受分枝那短暂的生命。分枝的成长固然消耗了能量，但也茂密了树干（每次如此，都能想到《士兵突击》里成才提到的电线杆）；值得满足的是主线仍然清晰，目标依旧明确。细节很多，足以一写，但不值得记下。不知不觉放弃了很多精彩，也许是不想前行的路上有太多的负担，或者不想对过去留下太多的眷恋。 在很多的空闲时间中不知觉地沉浸在因指数爆炸而泛滥的信息流中，以极小的能量消耗来接收庞大的外界信息，感受精彩的同时，却难免“热闹是他们的，我们什么也没有”的失落，因此偶尔还想想我们要成为什么样的人，不知是想给自己贴上标签，穿上能够让人识别的外套，还是在人生中感到孤单，想找到命中应该最终注定的那一种归宿。&lt;img src=&quot;http://www1.feedsky.com/t1/581293098/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644257&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>穷则，达则</category><category>日记</category><pubDate>Sat, 26 Nov 2011 20:55:00 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=644257#comments</comments><guid isPermaLink="false">http://mindsailor.cn/?p=644257</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=644257</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293098/5861909</fs:itemid></item><item><title>重阳节(2011)</title><link>http://mindsailor.cn/?p=644228</link><content:encoded>&lt;p&gt;每次到重阳节，只会想起一件事，一个片段，喜欢安静地听一段话：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;什么是重阳？&lt;br /&gt;
登高，鲜花，蜡烛，坟墓，&lt;br /&gt;
重阳是死人的佳节。&lt;br /&gt;
清静的白骨在泥土下伸个懒腰，&lt;br /&gt;
哎唷，谁人扰我清梦？&lt;/p&gt;
&lt;p&gt;什么是偶拾？&lt;br /&gt;
片段，印象，见闻，随想，&lt;br /&gt;
偶拾是死人的字句。&lt;br /&gt;
停了呼吸，缺了脉搏，&lt;br /&gt;
早已僵硬在辞海的乱葬岗。&lt;br /&gt;
今天，趁着重阳佳节，竟然&amp;#8230;&lt;br /&gt;
哎唷，不得了，僵尸复活了。&lt;br /&gt;
重阳，原来是死去的中文的复活节&lt;/p&gt;&lt;/blockquote&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293099/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644228&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=644228</wfw:commentRss><slash:comments>2</slash:comments><description>每次到重阳节，只会想起一件事，一个片段，喜欢安静地听一段话： 什么是重阳？ 登高，鲜花，蜡烛，坟墓， 重阳是死人的佳节。 清静的白骨在泥土下伸个懒腰， 哎唷，谁人扰我清梦？ 什么是偶拾？ 片段，印象，见闻，随想， 偶拾是死人的字句。 停了呼吸，缺了脉搏， 早已僵硬在辞海的乱葬岗。 今天，趁着重阳佳节，竟然&amp;#8230; 哎唷，不得了，僵尸复活了。 重阳，原来是死去的中文的复活节&lt;img src=&quot;http://www1.feedsky.com/t1/581293099/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644228&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><enclosure url="http://felix.cn/wp-content/uploads/2011/04/chongyangjieoushi.mp3" length="151" type="audio/mpeg"></enclosure><category>life</category><pubDate>Wed, 05 Oct 2011 10:16:55 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=644228#comments</comments><guid isPermaLink="false">http://mindsailor.cn/?p=644228</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=644228</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293099/5861909</fs:itemid></item><item><title>Directshow开发的调试</title><link>http://mindsailor.cn/?p=644223</link><content:encoded>&lt;p&gt;最近在Directshow框架下开发一些应用，经常是一边开发一边google遇到的问题，为了提高开发效率，特意在网上搜集了相应的调试方法，今天抽空作一个整理。&lt;/p&gt;
&lt;h4&gt;起步：如何调试Filter&lt;/h4&gt;
&lt;p&gt;自己编写Directshow Filter时，生成的是动态链接库，因此在调试时需要调用一个可执行文件，然后加载开发的Filter。&lt;/p&gt;
&lt;p&gt;在项目的对应工程属性中，进行如下设置：&lt;span style=&quot;background-color: #cccccc&quot;&gt;Configuration Properties&lt;/span&gt;-&amp;gt;&lt;span style=&quot;background-color: #cccccc&quot;&gt;Debugging&lt;/span&gt; –&amp;gt;&lt;span style=&quot;background-color: #cccccc&quot;&gt; Command&lt;/span&gt; 中输入graphedt.exe所在路径。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image_thumb.png&quot; width=&quot;550&quot; height=&quot;371&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-644223&quot;&gt;&lt;/span&gt;早期graphedt.exe放在Directshow开发包的目录中，现在你也可以从windows sdk中找到对应的graphedt.exe文件。
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image1.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image_thumb1.png&quot; width=&quot;550&quot; height=&quot;53&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;设置确定之后，运行调试命令；在自动弹出的graphedt中加入开发的Filter，并在程序中放置相应的断点，可以对构建graph时pin的连接，graph运行、暂停和停止时与数据流相关操作的结果进行调试。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image2.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image_thumb2.png&quot; width=&quot;532&quot; height=&quot;250&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;该部分内容节选自：&lt;a href=&quot;http://blog.csdn.net/believefym/article/details/1780509&quot;&gt;http://blog.csdn.net/believefym/article/details/1780509&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h4&gt;进阶：调试的更多信息&lt;/h4&gt;
&lt;p&gt;Directshow的Base Classes中提供了一个重要的调试工具 Debug Utilities，具体定义见wxdebug.cpp。其中包含了显示调试信息的宏定义，“Debug Output Functions”,定义了如下类型的调试消息。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: left; line-height: normal; widows: 2; text-transform: none; text-indent: 0px; letter-spacing: normal; white-space: normal; orphans: 2; word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px&quot; class=&quot;Apple-style-span&quot;&gt;     &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; background-color: transparent; border-collapse: collapse; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; word-spacing: normal&quot; width=&quot;567&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;vertical-align: top&quot;&gt;
&lt;th style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 4px; background-color: #e5e5e5; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 4px&quot; id=&quot;aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown&quot; height=&quot;21&quot; width=&quot;138&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;Value&lt;/span&gt;&lt;/span&gt;&lt;/th&gt;
&lt;th style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 4px; background-color: #e5e5e5; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 4px&quot; height=&quot;21&quot; width=&quot;427&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;Description&lt;/span&gt;&lt;/span&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: top&quot;&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;138&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;LOG_ERROR&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;427&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;Error notification.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: top&quot;&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;138&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;LOG_LOCKING&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;427&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;Locking and unlocking of critical sections.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: top&quot;&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;138&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;LOG_MEMORY&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;427&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;Memory allocation, and object creation and destruction.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: top&quot;&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;138&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;LOG_TIMING&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;427&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;Timing and performance measurements.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: top&quot;&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;138&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;LOG_TRACE&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;427&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;General call tracing.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: top&quot;&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;138&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;CUSTOM1 through CUSTOM5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: #bbbbbb 1px solid; border-left: #bbbbbb 1px solid; padding-bottom: 9px; line-height: 18px; background-color: #ffffff; margin: 1px; padding-left: 4px; padding-right: 4px; border-top: #bbbbbb 1px solid; border-right: #bbbbbb 1px solid; padding-top: 9px&quot; width=&quot;427&quot;&gt;&lt;span style=&quot;font-family: &amp;#39;Segoe UI&amp;#39;&quot;&gt;&lt;span style=&quot;color: #000000; font-size: x-small&quot;&gt;Available for custom debug messages&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;如，在Base classes源代码中经常可见如下格式的语句：&lt;/p&gt;
&lt;pre&gt;DbgLog((LOG_TRACE, 3, TEXT(&amp;quot;This is a debug message&amp;quot;)));&lt;/pre&gt;
&lt;p&gt;LOG_TRACE的消息类型表示了在调试模式下，&amp;quot;This is a debug message&amp;quot;这个调试信息将出现在IDE的output窗口中。&lt;/p&gt;
&lt;p&gt;但是，实际的调试中，也有可能在Output窗口中找不到该消息。这是因为语句中的参数“3”定义了该语句的debug output level为3，只有该值小于程序debug的output level阈值时，才能按照我们的意图执行，在Output窗口输出对应的调试信息。&lt;/p&gt;
&lt;p&gt;值得注意的是，程序debug的output level阈值并不是在项目的工程属性中修改的（不过工程属性有一个warning level，可以对编译器进行控制，容易造成混淆）。那么，Directshow使用了注册表来控制这些宏的全局debug output level阈值。&lt;/p&gt;
&lt;p&gt;不同的操作系统、或者不同的base classes的编译版本，其注册表key的位置可能有所不同，但可以从以下两个位置中找到：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE&lt;/strong&gt;\&lt;strong&gt;SOFTWARE&lt;/strong&gt;\&lt;strong&gt;Debug&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE&lt;/strong&gt;\&lt;strong&gt;SOFTWARE&lt;/strong&gt;\&lt;strong&gt;Microsoft&lt;/strong&gt;\&lt;strong&gt;DirectShow&lt;/strong&gt;\&lt;strong&gt;Debug&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;虽然我使用的是win 7系统，但是直接下载编译好的base classes库文件，因此key在电脑上的路径是HKEY_LOCAL_MACHINE\SOFTWARE\Debug。从图中可以看到有global的文件夹，对应了base classes的阈值；同时还可以发现自己开发的filter可有单独的文件夹，可以进行独立的控制。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image3.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image_thumb3.png&quot; width=&quot;244&quot; height=&quot;54&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在Global的文件夹中，对应不同消息类型的debug out level阈值均默认为0，因此只有在参数中使用了level为0的宏语句，才能正常显示调试消息。为了提高调试效率，我们可以通过将该值改得更大，来提供更多的调试消息。如下面的TRACE键值被改为3，这样Base Classes中大部分DbgLog语句都能在Output窗口中正常显示。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image4.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image_thumb4.png&quot; width=&quot;532&quot; height=&quot;299&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;该部分内容详见：&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd388394(v=VS.85).aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/dd388394(v=VS.85).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h4&gt;二进阶：自定义调试函数&lt;/h4&gt;
&lt;p&gt;除了Base Classes中提供的debug output functions，还可以自定义调试函数，输出自己想要的消息。如前人的经验之作：&lt;/p&gt;
&lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:2fe6b033-6fd0-41db-8cf2-a939f701bab8&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;
&lt;div style=&quot;border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt&quot;&gt;
&lt;div style=&quot;background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px&quot;&gt;将media type的uuid数值转为直观的字符串&lt;/div&gt;
&lt;div style=&quot;background: #fff; max-height: 400px; overflow: auto&quot;&gt;
&lt;ol style=&quot;background: #ffffff; margin: 0; padding: 0 0 0 5px; white-space: nowrap&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color:#0000ff&quot;&gt;void&lt;/span&gt; DisplayMediaType(TCHAR *pDescription,&lt;span style=&quot;color:#0000ff&quot;&gt;const&lt;/span&gt; CMediaType *pmt)&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;{&lt;/li&gt;
&lt;li&gt;    &lt;span style=&quot;color:#008000&quot;&gt;// Dump the GUID types and a short description&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;)));&lt;/li&gt;
&lt;li&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;%s&amp;quot;&lt;/span&gt;),pDescription));&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;)));&lt;/li&gt;
&lt;li&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Media Type Description&amp;quot;&lt;/span&gt;)));&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Major type: %s&amp;quot;&lt;/span&gt;),GuidNames[*pmt-&amp;gt;Type()]));&lt;/li&gt;
&lt;li&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Subtype: %s&amp;quot;&lt;/span&gt;),GuidNames[*pmt-&amp;gt;Subtype()]));&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Subtype description: %s&amp;quot;&lt;/span&gt;),GetSubtypeName(pmt-&amp;gt;Subtype())));&lt;/li&gt;
&lt;li&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Format size: %d&amp;quot;&lt;/span&gt;),pmt-&amp;gt;cbFormat));&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;    &lt;span style=&quot;color:#008000&quot;&gt;// Dump the generic media types&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Fixed size sample %d&amp;quot;&lt;/span&gt;),pmt-&amp;gt;IsFixedSize()));&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Temporal compression %d&amp;quot;&lt;/span&gt;),pmt-&amp;gt;IsTemporalCompressed()));&lt;/li&gt;
&lt;li&gt;    DbgLog((LOG_TRACE,&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;,TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Sample size %d&amp;quot;&lt;/span&gt;),pmt-&amp;gt;GetSampleSize()));&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:931f75f9-8bd6-4a9f-a36b-1f796e6c4ec4&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;
&lt;div style=&quot;border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt&quot;&gt;
&lt;div style=&quot;background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px&quot;&gt;显示程序是否进入某个函数&lt;/div&gt;
&lt;div style=&quot;background: #fff; max-height: 300px; overflow: auto&quot;&gt;
&lt;ol style=&quot;background: #ffffff; margin: 0; padding: 0 0 0 5px;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color:#008000&quot;&gt;//Macro&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;&lt;span style=&quot;color:#0000ff&quot;&gt;#define&lt;/span&gt; DbgFunc(a) DbgLog(( LOG_TRACE, &lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;, TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;CFltTracer(Instance %d)::%s&amp;quot;&lt;/span&gt;) , mThisInstance , TEXT(a) ));&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;&lt;span style=&quot;color:#008000&quot;&gt;//Usage:&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;CFltTracer::~CFltTracer()&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;{&lt;/li&gt;
&lt;li&gt;    &lt;span style=&quot;color:#008000&quot;&gt;// Other cleaning work&amp;#8230;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;    DbgFunc(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;~CFltTracer&amp;quot;&lt;/span&gt;);&lt;/li&gt;
&lt;li&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:04590abe-423e-49af-ba06-dd80fea56c92&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;
&lt;div style=&quot;border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt&quot;&gt;
&lt;div style=&quot;background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px&quot;&gt;显示错误码的文本信息&lt;/div&gt;
&lt;div style=&quot;background: #fff; max-height: 300px; overflow: auto&quot;&gt;
&lt;ol style=&quot;background: #ffffff; margin: 0; padding: 0 0 0 5px;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color:#0000ff&quot;&gt;void&lt;/span&gt; ShowError(HRESULT hr)&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;{&lt;/li&gt;
&lt;li&gt;    &lt;span style=&quot;color:#0000ff&quot;&gt;if&lt;/span&gt; (FAILED(hr))&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;    {&lt;/li&gt;
&lt;li&gt;        TCHAR szErr[MAX_ERROR_TEXT_LEN];&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;        DWORD res = AMGetErrorText(hr, szErr, MAX_ERROR_TEXT_LEN);&lt;/li&gt;
&lt;li&gt;        &lt;span style=&quot;color:#0000ff&quot;&gt;if&lt;/span&gt; (res == &lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;)&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;        {&lt;/li&gt;
&lt;li&gt;            wsprintf(szErr, &lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Unknown Error: 0x%2x&amp;quot;&lt;/span&gt;, hr);&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;        }&lt;/li&gt;
&lt;li&gt;        MessageBox(&lt;span style=&quot;color:#ff00ff&quot;&gt;0&lt;/span&gt;, szErr, TEXT(&lt;span style=&quot;color:#a31515&quot;&gt;&amp;quot;Error!&amp;quot;&lt;/span&gt;), MB_OK | MB_ICONERROR);&lt;/li&gt;
&lt;li style=&quot;background: #f3f3f3&quot;&gt;    }&lt;/li&gt;
&lt;li&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;该部分内容选自：&lt;a href=&quot;http://blog.csdn.net/lanhai/article/details/800389&quot; target=&quot;_blank&quot;&gt;DirectShow实践经验杂谈&lt;/a&gt;(转)&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h4&gt;HRESULT返回值的解读&lt;/h4&gt;
&lt;p&gt;Directshow中函数通常有一个HRESULT类型返回值，从其typedef语句中可知是一个long类型的数值。在前面【显示错误码的文本信息】中，通过调用AMGetErrorText函数将该数值对应的文本信息进行显示。&lt;/p&gt;
&lt;p&gt;当然我们无法在程序中每个有HRESULT返回值的地方放置ShowError函数，更何况有更多的调用是不透明的。因此，在调试中弹出的错误返回值，可以通过以下两个方法进行解读：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms783645(VS.85).aspx&quot;&gt;Microsoft Error and Success Codes&lt;/a&gt;&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;使用DShow SDK自带的DXERR.exe进行查看。该程序通常位于Microsoft DirectX SDK (February 2010)\Utilities\bin\x86文件夹下，运行界面如下。 &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image5.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/10/image_thumb5.png&quot; width=&quot;482&quot; height=&quot;293&quot; /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h4&gt;后记&lt;/h4&gt;
&lt;p&gt;充分的调试方法是开发效率的利器，更多调试方法将在实践后陆续添加。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293100/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644223&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=644223</wfw:commentRss><slash:comments>1</slash:comments><description>最近在Directshow框架下开发一些应用，经常是一边开发一边google遇到的问题，为了提高开发效率，特意在网上搜集了相应的调试方法，今天抽空作一个整理。 起步：如何调试Filter 自己编写Directshow Filter时，生成的是动态链接库，因此在调试时需要调用一个可执行文件，然后加载开发的Filter。 在项目的对应工程属性中，进行如下设置：Configuration Properties-&amp;#62;Debugging –&amp;#62; Command 中输入graphedt.exe所在路径。 早期graphedt.exe放在Directshow开发包的目录中，现在你也可以从windows sdk中找到对应的graphedt.exe文件。 设置确定之后，运行调试命令；在自动弹出的graphedt中加入开发的Filter，并在程序中放置相应的断点，可以对构建graph时pin的连接，graph运行、暂停和停止时与数据流相关操作的结果进行调试。 该部分内容节选自：http://blog.csdn.net/believefym/article/details/1780509 &amp;#160; 进阶：调试的更多信息 Directshow的Base Classes中提供了一个重要的调试工具 Debug Utilities，具体定义见wxdebug.cpp。其中包含了显示调试信息的宏定义，“Debug Output Functions”,定义了如下类型的调试消息。 Value Description LOG_ERROR Error notification. LOG_LOCKING Locking and unlocking of critical sections. LOG_MEMORY Memory allocation, and object creation and destruction. LOG_TIMING Timing and performance measurements. LOG_TRACE General call tracing. CUSTOM1 through CUSTOM5 Available for [...]&lt;img src=&quot;http://www1.feedsky.com/t1/581293100/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644223&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Develop</category><category>DirectShow</category><pubDate>Sun, 02 Oct 2011 15:55:00 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=644223#comments</comments><guid isPermaLink="false">http://mindsailor.cn/?p=644223</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=644223</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293100/5861909</fs:itemid></item><item><title>新浪微博新版邀请链接</title><link>http://mindsailor.cn/?p=644208</link><content:encoded>&lt;p&gt;新版微博邀请链接，感兴趣者自取~ 放着浪费了可惜，嘻嘻&lt;/p&gt;
&lt;p&gt;&lt;del&gt;&lt;a title=&quot;http://weibo.com/upcode/dghjYQd3s&quot; href=&quot;http://weibo.com/upcode/dghjYQd3s&quot;&gt;http://weibo.com/upcode/dghjYQd3s&lt;/a&gt;&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;&lt;a title=&quot;http://weibo.com/upcode/dghwCx7L0&quot; href=&quot;http://weibo.com/upcode/dghwCx7L0&quot;&gt;http://weibo.com/upcode/dghwCx7L0&lt;/a&gt;&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;&lt;a title=&quot;http://weibo.com/upcode/dghypoSfB&quot; href=&quot;http://weibo.com/upcode/dghypoSfB&quot;&gt;http://weibo.com/upcode/dghypoSfB&lt;/a&gt;&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;&lt;a title=&quot;http://weibo.com/upcode/dghzQQZis&quot; href=&quot;http://weibo.com/upcode/dghzQQZis&quot;&gt;http://weibo.com/upcode/dghzQQZis&lt;/a&gt;&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;&lt;a title=&quot;http://weibo.com/upcode/dghRcoK5N&quot; href=&quot;http://weibo.com/upcode/dghRcoK5N&quot;&gt;http://weibo.com/upcode/dghRcoK5N&lt;/a&gt;&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;p.s. 我没看出新版的好哦~  &lt;a href=&quot;http://weibo.com/n/%E6%88%91%E4%B9%9F%E5%8F%AB%E9%82%B5%E8%88%AA&quot;&gt;@我也叫邵航&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293101/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644208&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=644208</wfw:commentRss><slash:comments>1</slash:comments><description>新版微博邀请链接，感兴趣者自取~ 放着浪费了可惜，嘻嘻 http://weibo.com/upcode/dghjYQd3s http://weibo.com/upcode/dghwCx7L0 http://weibo.com/upcode/dghypoSfB http://weibo.com/upcode/dghzQQZis http://weibo.com/upcode/dghRcoK5N p.s. 我没看出新版的好哦~  @我也叫邵航&lt;img src=&quot;http://www1.feedsky.com/t1/581293101/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644208&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>微博</category><category>Web</category><pubDate>Sat, 17 Sep 2011 22:20:00 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=644208#comments</comments><guid isPermaLink="false">http://mindsailor.cn/?p=644208</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=644208</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293101/5861909</fs:itemid></item><item><title>苦啊，咱阿森纳球迷</title><link>http://mindsailor.cn/?p=644200</link><content:encoded>&lt;p&gt;当阿森纳球迷多年，从没有像这个赛季一样苦逼！&lt;/p&gt;
&lt;p&gt;Today&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image5.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img title=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image_thumb5.png&quot; alt=&quot;image&quot; width=&quot;644&quot; height=&quot;65&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-644200&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;翻看一下咱这赛季的表现：&lt;/p&gt;
&lt;p&gt;Saturday, August 13, 2011&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image1.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;&quot; title=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image_thumb1.png&quot; alt=&quot;image&quot; width=&quot;644&quot; height=&quot;413&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Saturday, August 20, 2011&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image2.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;&quot; title=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image_thumb2.png&quot; alt=&quot;image&quot; width=&quot;644&quot; height=&quot;412&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sunday, August 28, 2011&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image3.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;&quot; title=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image_thumb3.png&quot; alt=&quot;image&quot; width=&quot;644&quot; height=&quot;418&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;悲剧还会延续么？我想在队伍磨合好之前肯定停不了，更何况磨合后也是中流球队的水平。&lt;/p&gt;
&lt;p&gt;不得不说教授几句，现在的情况绝对是夏季转会的失败造成的… 尼玛居然敢赌法布雷加斯会留？赌也就算了，早点准备一些备胎啊，尼玛没有备胎就这么爽快地把纳斯里给放走了；还有，低价放走大屁股和克里希这尼玛也干得出来？干出来也就算了，尼玛居然不进补，尼玛居然让詹金斯打了这么多的首发，想气死劳资啊！一直到惨败之后才吭哧吭哧地买了几个不成名的球员，尼玛在这窗口关闭的时候这点小钱能捞个屁啊。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293102/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644200&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=644200</wfw:commentRss><slash:comments>0</slash:comments><description>当阿森纳球迷多年，从没有像这个赛季一样苦逼！ Today &amp;#160; 翻看一下咱这赛季的表现： Saturday, August 13, 2011 &amp;#160; Saturday, August 20, 2011 &amp;#160; Sunday, August 28, 2011 悲剧还会延续么？我想在队伍磨合好之前肯定停不了，更何况磨合后也是中流球队的水平。 不得不说教授几句，现在的情况绝对是夏季转会的失败造成的… 尼玛居然敢赌法布雷加斯会留？赌也就算了，早点准备一些备胎啊，尼玛没有备胎就这么爽快地把纳斯里给放走了；还有，低价放走大屁股和克里希这尼玛也干得出来？干出来也就算了，尼玛居然不进补，尼玛居然让詹金斯打了这么多的首发，想气死劳资啊！一直到惨败之后才吭哧吭哧地买了几个不成名的球员，尼玛在这窗口关闭的时候这点小钱能捞个屁啊。&lt;img src=&quot;http://www1.feedsky.com/t1/581293102/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644200&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>阿森纳</category><category>Arsenal</category><pubDate>Sat, 17 Sep 2011 22:00:00 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=644200#comments</comments><guid isPermaLink="false">http://mindsailor.cn/?p=644200</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=644200</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293102/5861909</fs:itemid></item><item><title>写在生日后的第一天</title><link>http://mindsailor.cn/?p=644189</link><content:encoded>&lt;p&gt;去年今日，本命年的生日，我的手上系着红绳。心里一直惦记着觉得12年一个轮回太长，设想了很多具有纪念意义的事情，刻意地想让一切过得不平淡，没想到结果是，今天我已经回想不起那天的亮点。人生的精彩实在是无法预约。一年之后，又到了这个槛，本想平平淡淡地度过，却没料到最后是个大兵团作战。看来人生的精彩，总是存在于意外的背后。&lt;/p&gt;
&lt;p&gt;昨天好多人，围着一圈，热闹之余，难掩一种恍然若失的感觉。昨天以前，命运中基本是被照顾的影子；今天之后，新手开始独自掌控方向盘，身后有想超车的，身边有想加塞的，前面还有占着车道不让人的。一不小心磕着碰着，后果自负。&lt;/p&gt;
&lt;p&gt;1/4个世纪已经过去，下一个1/4世纪后的生日，该是我们的儿女在写这篇日志的时候了。最后，贴上水木年华的一首歌《启程》，有缘的是，昨天听歌时&lt;a href=&quot;http://1g1g.com&quot;&gt;亦歌&lt;/a&gt;自动推荐了，很有感觉。告别众多呵护的过去，向自己的未来启程吧。&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&amp;#160;&lt;embed src=&quot;http://www.yinyuetai.com/video/player/45817/v_0.swf&quot; quality=&quot;high&quot; width=&quot;480&quot; height=&quot;334&quot; align=&quot;middle&quot; allowScriptAccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293103/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644189&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=644189</wfw:commentRss><slash:comments>1</slash:comments><description>去年今日，本命年的生日，我的手上系着红绳。心里一直惦记着觉得12年一个轮回太长，设想了很多具有纪念意义的事情，刻意地想让一切过得不平淡，没想到结果是，今天我已经回想不起那天的亮点。人生的精彩实在是无法预约。一年之后，又到了这个槛，本想平平淡淡地度过，却没料到最后是个大兵团作战。看来人生的精彩，总是存在于意外的背后。 昨天好多人，围着一圈，热闹之余，难掩一种恍然若失的感觉。昨天以前，命运中基本是被照顾的影子；今天之后，新手开始独自掌控方向盘，身后有想超车的，身边有想加塞的，前面还有占着车道不让人的。一不小心磕着碰着，后果自负。 1/4个世纪已经过去，下一个1/4世纪后的生日，该是我们的儿女在写这篇日志的时候了。最后，贴上水木年华的一首歌《启程》，有缘的是，昨天听歌时亦歌自动推荐了，很有感觉。告别众多呵护的过去，向自己的未来启程吧。 &amp;#160;&lt;img src=&quot;http://www1.feedsky.com/t1/581293103/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644189&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>life</category><pubDate>Wed, 07 Sep 2011 20:16:00 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=644189#comments</comments><guid isPermaLink="false">http://mindsailor.cn/?p=644189</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=644189</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293103/5861909</fs:itemid></item><item><title>理发归来</title><link>http://mindsailor.cn/?p=644186</link><content:encoded>&lt;p&gt;攒了大概两个月的头发，今天理了。短发一身轻啊，说说昨天的趣事。&lt;/p&gt;
&lt;p&gt;我和尧子（实验室一帅哥，预接盘的姐姐们联系我）10点左右闪人。在电梯中，看到金属门自己成的虚像，头发已经长的超过耳朵底半个身位（相对于耳朵本身而言）了。于是开始感慨：&lt;/p&gt;
&lt;p&gt;“不行了，明天要去理发了，太长了”&lt;/p&gt;
&lt;p&gt;“嗯，的确有点长了，没见过你头发这么长过……”&lt;/p&gt;
&lt;p&gt;“不过，长也有长的好处啊，马上天气转冷了，长头发还能御寒，给脑皮一点温暖！”&lt;/p&gt;
&lt;p&gt;“……”&lt;/p&gt;
&lt;p&gt;“算了，还是剪了吧，长了不习惯，从未这么长过，唉……”&lt;/p&gt;
&lt;p&gt;“……”&lt;/p&gt;
&lt;p&gt;叮——， 2楼到了，电梯们打开。一起下楼的一年青教师匆匆离去，瞬间甩开了我们。&lt;/p&gt;
&lt;p&gt;“诶，尧子，你咋不吭声了？———————— 咦，你笑啥？”&lt;/p&gt;
&lt;p&gt;“咳咳，你没注意到刚才那老师有点秃吗？”&lt;/p&gt;
&lt;p&gt;“哦，！@#￥%%%……”&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-644186&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;自己的无责任评论：&lt;em&gt;很狗血的文字，纯属私藏。贴一张“鲁雄心”长头发的真实照，献给各位聪明绝顶的人，面包会有的，头发也会长出来的~&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img class=&quot;aligncenter&quot; style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;&quot; title=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/09/image_thumb.png&quot; alt=&quot;image&quot; width=&quot;437&quot; height=&quot;229&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293104/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644186&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=644186</wfw:commentRss><slash:comments>0</slash:comments><description>攒了大概两个月的头发，今天理了。短发一身轻啊，说说昨天的趣事。 我和尧子（实验室一帅哥，预接盘的姐姐们联系我）10点左右闪人。在电梯中，看到金属门自己成的虚像，头发已经长的超过耳朵底半个身位（相对于耳朵本身而言）了。于是开始感慨： “不行了，明天要去理发了，太长了” “嗯，的确有点长了，没见过你头发这么长过……” “不过，长也有长的好处啊，马上天气转冷了，长头发还能御寒，给脑皮一点温暖！” “……” “算了，还是剪了吧，长了不习惯，从未这么长过，唉……” “……” 叮——， 2楼到了，电梯们打开。一起下楼的一年青教师匆匆离去，瞬间甩开了我们。 “诶，尧子，你咋不吭声了？———————— 咦，你笑啥？” “咳咳，你没注意到刚才那老师有点秃吗？” “哦，！@#￥%%%……” 自己的无责任评论：很狗血的文字，纯属私藏。贴一张“鲁雄心”长头发的真实照，献给各位聪明绝顶的人，面包会有的，头发也会长出来的~&lt;img src=&quot;http://www1.feedsky.com/t1/581293104/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644186&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>校园</category><pubDate>Fri, 02 Sep 2011 22:47:00 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=644186#comments</comments><guid isPermaLink="false">http://mindsailor.cn/?p=644186</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=644186</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293104/5861909</fs:itemid></item><item><title>金海湖出游</title><link>http://mindsailor.cn/?p=644182</link><content:encoded>&lt;p&gt;8月27日，趁着夏天暑气还没有完全散去，去金海湖景区（据称为北京第三大水库）和京东大溶洞走了一圈，为暑期画上圆满的句号。&lt;/p&gt;
&lt;h4&gt;金海湖-8月27日-周六&lt;/h4&gt;
&lt;p&gt;出发的时候是天空阴霾，传说中的阵雨只是摆了个姿势，凉爽的天气给我们带来了一身的轻松。远处的烟雨蒙蒙给北京第三大水库带来了朦胧的秀气，略失湖天相接的磅礴气势。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6238.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_6238&quot; border=&quot;0&quot; alt=&quot;IMG_6238&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6238_thumb.jpg&quot; width=&quot;591&quot; height=&quot;396&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-644182&quot;&gt;&lt;/span&gt;
&lt;p&gt;这张照片拍摄的时候，我们中的大部分人正在金海湖中赛龙舟；因饭后回屋休息而错过大部队的情哥在这里觅到了另一番美景。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6419.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_6419&quot; border=&quot;0&quot; alt=&quot;IMG_6419&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6419_thumb.jpg&quot; width=&quot;591&quot; height=&quot;396&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;临近傍晚，天空的雨云已经慢慢散去，错过一天太阳的向日葵都低着头…… 然而停驻的蜜蜂说明了，金黄色的花瓣和偏红的花盘仍未失去平时的吸引力~&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6547.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_6547&quot; border=&quot;0&quot; alt=&quot;IMG_6547&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6547_thumb.jpg&quot; width=&quot;595&quot; height=&quot;398&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;晚上的联欢会，（左）其实我就是喜欢当幕后支持~ （右）你们谁能想得到我现在唱的是《爱情买卖》。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6725.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_6725&quot; border=&quot;0&quot; alt=&quot;IMG_6725&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6725_thumb.jpg&quot; width=&quot;279&quot; height=&quot;187&quot; /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6745.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_6745&quot; border=&quot;0&quot; alt=&quot;IMG_6745&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_6745_thumb.jpg&quot; width=&quot;279&quot; height=&quot;187&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&amp;#160;&lt;/h4&gt;
&lt;h4&gt;京东大溶洞-8月28日-周日&lt;/h4&gt;
&lt;p&gt;京东大溶洞，发育于中元古界长城系高于庄组白云岩地层，距今大约十五亿年，由此号称“天下第一古洞”。大家注意，没错，这不是门口，是洞口。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7284.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_7284&quot; border=&quot;0&quot; alt=&quot;IMG_7284&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7284_thumb.jpg&quot; width=&quot;600&quot; height=&quot;402&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;上面往下挂的是钟乳石，下面往上的叫做石笋，当两物经过亿万年的努力相遇，形成的就是石柱。这就是世界上最遥远的距离！（洞内不让拍照，更真实画面大家Google之，很美~）&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7334.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_7334&quot; border=&quot;0&quot; alt=&quot;IMG_7334&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7334_thumb.jpg&quot; width=&quot;600&quot; height=&quot;401&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最后，给上此行最为得意的收获。大家看仔细了哦，货真价实的！&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7478.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_7478&quot; border=&quot;0&quot; alt=&quot;IMG_7478&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7478_thumb.jpg&quot; width=&quot;176&quot; height=&quot;262&quot; /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7479.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_7479&quot; border=&quot;0&quot; alt=&quot;IMG_7479&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7479_thumb.jpg&quot; width=&quot;175&quot; height=&quot;260&quot; /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7480.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;IMG_7480&quot; border=&quot;0&quot; alt=&quot;IMG_7480&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/IMG_7480_thumb.jpg&quot; width=&quot;173&quot; height=&quot;258&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293105/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644182&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=644182</wfw:commentRss><slash:comments>1</slash:comments><description>8月27日，趁着夏天暑气还没有完全散去，去金海湖景区（据称为北京第三大水库）和京东大溶洞走了一圈，为暑期画上圆满的句号。 金海湖-8月27日-周六 出发的时候是天空阴霾，传说中的阵雨只是摆了个姿势，凉爽的天气给我们带来了一身的轻松。远处的烟雨蒙蒙给北京第三大水库带来了朦胧的秀气，略失湖天相接的磅礴气势。 这张照片拍摄的时候，我们中的大部分人正在金海湖中赛龙舟；因饭后回屋休息而错过大部队的情哥在这里觅到了另一番美景。 临近傍晚，天空的雨云已经慢慢散去，错过一天太阳的向日葵都低着头…… 然而停驻的蜜蜂说明了，金黄色的花瓣和偏红的花盘仍未失去平时的吸引力~ 晚上的联欢会，（左）其实我就是喜欢当幕后支持~ （右）你们谁能想得到我现在唱的是《爱情买卖》。 &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#160; 京东大溶洞-8月28日-周日 京东大溶洞，发育于中元古界长城系高于庄组白云岩地层，距今大约十五亿年，由此号称“天下第一古洞”。大家注意，没错，这不是门口，是洞口。 上面往下挂的是钟乳石，下面往上的叫做石笋，当两物经过亿万年的努力相遇，形成的就是石柱。这就是世界上最遥远的距离！（洞内不让拍照，更真实画面大家Google之，很美~） 最后，给上此行最为得意的收获。大家看仔细了哦，货真价实的！ &amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;img src=&quot;http://www1.feedsky.com/t1/581293105/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644182&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>北京故事</category><category>旅游</category><pubDate>Mon, 29 Aug 2011 19:54:00 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=644182#comments</comments><guid isPermaLink="false">http://mindsailor.cn/?p=644182</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=644182</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293105/5861909</fs:itemid></item><item><title>博客搬家小记</title><link>http://mindsailor.cn/?p=644156</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/image.png&quot; rel=&quot;lightbox&quot;&gt;&lt;br /&gt;
&lt;img style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;&quot; title=&quot;image&quot; src=&quot;http://shaohang-wordpress.stor.sinaapp.com/uploads/2011/08/image_thumb.png&quot; alt=&quot;image&quot; width=&quot;644&quot; height=&quot;106&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;记得当初看到sina推出自己的云端服务时，自己还在google app engine(GAE)上摆弄着自己的个人主页，并没有太过留意。之后SAE一直没有出现在媒体的热点内，而我也从GAE转战虚拟主机。在花了近百大洋购买了92合租的主机之后，就开始吭哧吭哧地把博客和个人主页都搬进来，从此一夜农奴翻身当主人，有了自己的主机，&lt;/p&gt;
&lt;p&gt;就这样过了两年时间，由于缺少折腾的精力，很少再用ftp连接上自己的主机捣鼓一番，就连通过客户端更新文章也逐渐变得偶然。尽管如此，仍然多次感受到后台管理和网页访问速度不尽人意，最低价的合租方案，再加上主机群在远离帝都的三线城市，这样的服务也无可厚非。偶然的机会，重新挖掘到sae这个东东，更惊讶地能够支持wordpress应用（也因为SAE现在支持的是PHP的开发语言）。&lt;/p&gt;
&lt;p&gt;对SAE使用了一段时间，解决了其中的几个问题，最后决定将空间搬家到SAE中。下面讲讲自己的感觉，希望对不了解SAE的同学有所帮助。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-644156&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;SAE的优势&lt;/h4&gt;
&lt;p&gt;（1）速度。代码提交、网页访问的速度表现方面，sae都能比那些放在三线城市的主机要快很多。我在教育网里比较了一下，结果如下：&lt;/p&gt;
&lt;p&gt;虚拟主机的情况&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;C:\Users\Shao&amp;gt;ping mindsailor.cn&lt;/p&gt;
&lt;p&gt;Pinging mindsailor.cn [60.12.156.41] with 32 bytes of data:&lt;br /&gt;
Reply from 60.12.156.41: bytes=32 time=160ms TTL=110&lt;br /&gt;
Reply from 60.12.156.41: bytes=32 time=174ms TTL=110&lt;br /&gt;
Reply from 60.12.156.41: bytes=32 time=170ms TTL=110&lt;br /&gt;
Reply from 60.12.156.41: bytes=32 time=174ms TTL=110&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;SAE的情况&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;C:\Users\Shao&amp;gt;ping www.mindsailor.cn&lt;/p&gt;
&lt;p&gt;Pinging app.dpool.sina.com.cn [121.194.0.190] with 32 bytes of data:&lt;br /&gt;
Reply from 121.194.0.190: bytes=32 time=1ms TTL=56&lt;br /&gt;
Reply from 121.194.0.190: bytes=32 time=5ms TTL=56&lt;br /&gt;
Reply from 121.194.0.190: bytes=32 time=5ms TTL=56&lt;br /&gt;
Reply from 121.194.0.190: bytes=32 time=4ms TTL=56&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;（2）费用。云服务商是计费的，而且是按照提供服务多少进行量化计算的。现在SAE在推广过程中，能够给经过身份认证的用户补充云豆（SAE的计费单元），普通的应用基本满足供给，无需自掏大洋购买额外的云豆。&lt;/p&gt;
&lt;p&gt;（3）操作。对于新手而言，虚拟主机的ftp存储管理似乎非常直观，而SAE的SVN显得更加专业。但其实对于新手而言，直接在SAE应用商店中用鼠标操作就能部署应用，这样可以跳过应用初始部署的繁琐操作，连虚拟主机所需的上传文件都避免了；而对于进阶用户，在添加模板、插件的行为，按照流程学习SVN使用也不是一件难事。SAE操作比虚拟主机比较绕一点的地方在于，wordpress后台的在线编辑统统无法使用了，但是可以在SAE应用后台的代码管理中进行在线编辑。而习惯于频繁、直接编辑虚拟主机中文件的情况，在SAE中就要更改一些习惯了，最好的方案就是在本地用XAMPP建立主机的环境，然后在本地各种修改后，在最后将代码通过SVN一次性提交。&lt;/p&gt;
&lt;h4&gt;域名绑定&lt;/h4&gt;
&lt;p&gt;每个标榜个性的人都不会太喜欢sinaapp.com的二级域名，因此都会千方百计地打听域名绑定的消息。在sae的网页上，域名绑定的规则仅考虑经过备案的企业用户。在google上，也能搜到一堆使用.htaccess实现域名伪绑定的方法。然而所幸的是，sae的工程师并不是拘泥的人，所以只要以下两个步骤就能解决域名绑定的问题：&lt;/p&gt;
&lt;p&gt;（1）域名备案。在国内不管是接入商还是云服务提供商，肯定是不敢也不能绑定没有备案的域名的。所以想绑定之前，还是先考虑解决备案的事情。由于我的域名已经通过接入商进行了备案，对于刚买域名的情况，似乎存在备案代理的服务可以解决域名备案。&lt;/p&gt;
&lt;p&gt;（2）写一封mail给&lt;a href=&quot;mailto:saemail@sina.cn&quot;&gt;saemail@sina.cn&lt;/a&gt;，工作人员会很快回复，并附上需要填写的表格文件。这个过程一般2天就能搞定。p.s.工程师会检查待绑定的空间是否有内容，如wordpress是否已经搬家过来，如果仅有hello world是不行的。&lt;/p&gt;
&lt;h4&gt;仍然存在的问题&lt;/h4&gt;
&lt;p&gt;（1）安全。独立的博客都比较关注安全问题。有人担心出现敏感词后空间被sina回收，这种情况在虚拟主机处同样不能避免。不过现在SAE还不能备份Storage中的文件，因此无法像虚拟主机一样轻松地完整备份自己的数据。&lt;/p&gt;
&lt;p&gt;（2）域名解析。SAE域名解析的方式是将域名添加CNAME记录，解析到应用的sinaapp二级域名上。&lt;del&gt;但是大部分域名商和DNS解析服务提供商都不支持空域名（如不带www的mindsailor.cn）添加CNAME记录。因此本博客目前绑定的是&lt;a href=&quot;http://www.mindsailor.cn&quot;&gt;www.mindsailor.cn&lt;/a&gt;，而不是mindsailro.cn。 这是一个很郁闷的问题。&lt;/del&gt;刚得到好的消息，国内的DNS解析服务提供商&lt;a href=&quot;http://www.dnspod.cn&quot; target=&quot;_blank&quot;&gt;DNSPod&lt;/a&gt;在8月28日升级了其服务，免费用户将获得付费用户的所有服务，其中包含了空域名的CName记录添加，大家可以前往尝试。&lt;/p&gt;
&lt;p&gt;最后，如果你对SAE同样感兴趣的话，可以点击我的&lt;a href=&quot;http://sae.sina.com.cn/activity/invite/26597/msn&quot; target=&quot;_blank&quot;&gt;邀请链接&lt;/a&gt;进入~&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293106/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644156&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=644156</wfw:commentRss><slash:comments>2</slash:comments><description>记得当初看到sina推出自己的云端服务时，自己还在google app engine(GAE)上摆弄着自己的个人主页，并没有太过留意。之后SAE一直没有出现在媒体的热点内，而我也从GAE转战虚拟主机。在花了近百大洋购买了92合租的主机之后，就开始吭哧吭哧地把博客和个人主页都搬进来，从此一夜农奴翻身当主人，有了自己的主机， 就这样过了两年时间，由于缺少折腾的精力，很少再用ftp连接上自己的主机捣鼓一番，就连通过客户端更新文章也逐渐变得偶然。尽管如此，仍然多次感受到后台管理和网页访问速度不尽人意，最低价的合租方案，再加上主机群在远离帝都的三线城市，这样的服务也无可厚非。偶然的机会，重新挖掘到sae这个东东，更惊讶地能够支持wordpress应用（也因为SAE现在支持的是PHP的开发语言）。 对SAE使用了一段时间，解决了其中的几个问题，最后决定将空间搬家到SAE中。下面讲讲自己的感觉，希望对不了解SAE的同学有所帮助。 SAE的优势 （1）速度。代码提交、网页访问的速度表现方面，sae都能比那些放在三线城市的主机要快很多。我在教育网里比较了一下，结果如下： 虚拟主机的情况 C:\Users\Shao&amp;#62;ping mindsailor.cn Pinging mindsailor.cn [60.12.156.41] with 32 bytes of data: Reply from 60.12.156.41: bytes=32 time=160ms TTL=110 Reply from 60.12.156.41: bytes=32 time=174ms TTL=110 Reply from 60.12.156.41: bytes=32 time=170ms TTL=110 Reply from 60.12.156.41: bytes=32 time=174ms TTL=110 SAE的情况 C:\Users\Shao&amp;#62;ping www.mindsailor.cn Pinging app.dpool.sina.com.cn [121.194.0.190] with 32 bytes of data: Reply from [...]&lt;img src=&quot;http://www1.feedsky.com/t1/581293106/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=644156&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>SAE</category><category>Web</category><pubDate>Sun, 21 Aug 2011 22:03:00 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=644156#comments</comments><guid isPermaLink="false">http://www.mindsailor.cn/?p=644156</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=644156</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293106/5861909</fs:itemid></item><item><title>这里挺好</title><link>http://mindsailor.cn/?p=4</link><content:encoded>&lt;p&gt;等sae可以绑定域名之后，我就把网站搬过来！&lt;/p&gt;
&lt;p&gt;立贴为证！&lt;/p&gt;
&lt;p&gt;Update：&lt;/p&gt;
&lt;p&gt;为了sae可以绑定域名，我已经把网站搬过来了……&lt;/p&gt;
&lt;p&gt;立贴为记……&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/581293107/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=4&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://mindsailor.cn/?feed=rss2&amp;p=4</wfw:commentRss><slash:comments>0</slash:comments><description>等sae可以绑定域名之后，我就把网站搬过来！ 立贴为证！ Update： 为了sae可以绑定域名，我已经把网站搬过来了…… 立贴为记……&lt;img src=&quot;http://www1.feedsky.com/t1/581293107/shaohang/feedsky/s.gif?r=http://mindsailor.cn/?p=4&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>未分类</category><pubDate>Wed, 10 Aug 2011 11:40:47 +0800</pubDate><author>Shao</author><comments>http://mindsailor.cn/?p=4#comments</comments><guid isPermaLink="false">http://shaohang.sinaapp.com/?p=4</guid><dc:creator>Shao</dc:creator><fs:srclink>http://mindsailor.cn/?p=4</fs:srclink><fs:srcfeed>http://mindsailor.cn/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/shaohang/~7875418/581293107/5861909</fs:itemid></item></channel></rss>
