<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">

<channel>
	<title>碎片</title>
	
	<link>http://www.cube316.net/blog</link>
	<description>My life. My thoughts. All scraps.</description>
	<pubDate>Sat, 15 Nov 2008 16:02:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/cube316" type="application/rss+xml" /><item>
		<title>碎碎念 —— 写在27周岁生日</title>
		<link>http://www.cube316.net/blog/archives/200811/254.html</link>
		<comments>http://www.cube316.net/blog/archives/200811/254.html#comments</comments>
		<pubDate>Sat, 15 Nov 2008 16:02:58 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[生日]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=254</guid>
		<description><![CDATA[其实一直不太清楚“碎碎念”这词的真正含义，直觉告诉我是类似于唠唠叨叨纷繁复杂的意思。于是拿来当了题目。
27周岁，在我们老家那边已经是一个3、5岁小孩父亲的代名词了。晚上给家里打电话的时候，老妈又絮絮叨叨的围着我的个人问题纠缠不休，索性以最近工作调动的事情吸引她的注意力。从一直呆着懒散惯了的老东家，到中间疯了般的一天面试4家单位，再到现在基本确定去向。很多改变，似乎只在一两夜之间的事情。
许多年前，高中的时候，事后好几天才回想起来自己的生日已过。那时候，似乎时间是所拥有的最廉价的财富。
许多年后，却如同一个斤斤计较的小女孩般在意这一天。是感觉到时光飞逝，还是岁月蹉跎？自己也说不清楚。
收到了很特别的一份礼物，一位朋友在MSN上把彼此认识的一点一滴发了过来。文字容易让人产生时空的错觉，一起回顾着那些片段，恍惚间我们的过去又站在了跟前。望着里面的自己，轻轻的晃晃脑袋，如同《宰相刘罗锅》里头的皇帝垂暮之年一般轻声叹息。
如果时间可以重来，有一半的人都可以成为伟人。
不知道第二个27年，回首再看今日文字，又是如何感觉？
对自己说，生日快乐。
]]></description>
			<content:encoded><![CDATA[<p>其实一直不太清楚“碎碎念”这词的真正含义，直觉告诉我是类似于唠唠叨叨纷繁复杂的意思。于是拿来当了题目。</p>
<p>27周岁，在我们老家那边已经是一个3、5岁小孩父亲的代名词了。晚上给家里打电话的时候，老妈又絮絮叨叨的围着我的个人问题纠缠不休，索性以最近工作调动的事情吸引她的注意力。从一直呆着懒散惯了的老东家，到中间疯了般的一天面试4家单位，再到现在基本确定去向。很多改变，似乎只在一两夜之间的事情。</p>
<p>许多年前，高中的时候，事后好几天才回想起来自己的生日已过。那时候，似乎时间是所拥有的最廉价的财富。</p>
<p>许多年后，却如同一个斤斤计较的小女孩般在意这一天。是感觉到时光飞逝，还是岁月蹉跎？自己也说不清楚。</p>
<p>收到了很特别的一份礼物，一位朋友在MSN上把彼此认识的一点一滴发了过来。文字容易让人产生时空的错觉，一起回顾着那些片段，恍惚间我们的过去又站在了跟前。望着里面的自己，轻轻的晃晃脑袋，如同《宰相刘罗锅》里头的皇帝垂暮之年一般轻声叹息。</p>
<blockquote><p>如果时间可以重来，有一半的人都可以成为伟人。</p></blockquote>
<p>不知道第二个27年，回首再看今日文字，又是如何感觉？</p>
<p>对自己说，生日快乐。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/454101821" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200811/254.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200811%2F254.html</feedburner:awareness></item>
		<item>
		<title>Java Startup</title>
		<link>http://www.cube316.net/blog/archives/200811/251.html</link>
		<comments>http://www.cube316.net/blog/archives/200811/251.html#comments</comments>
		<pubDate>Sun, 09 Nov 2008 05:50:04 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Programming/编程相关]]></category>

		<category><![CDATA[API]]></category>

		<category><![CDATA[javaee]]></category>

		<category><![CDATA[javase]]></category>

		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=251</guid>
		<description><![CDATA[1.5:
http://java.sun.com/j2se/1.5.0/docs/guide/language/index.html
1.6:
http://java.sun.com/javase/6/docs/technotes/guides/language/index.html
Essential Classes:
http://java.sun.com/docs/books/tutorial/essential/index.html
Java Bean Tutorial:
http://java.sun.com/docs/books/tutorial/javabeans/whatis/index.html
The Java EE 5 Tutorial:
http://java.sun.com/javaee/5/docs/tutorial/doc/
The J2EETrademarked Tutorial for the Sun ONE Platform:
http://java.sun.com/j2ee/1.3/docs/tutorial/doc/
Java EE APIs &#038; Docs:
http://java.sun.com/javaee/reference/index.jsp
面试题：
http://www.ad0.cn/netfetch/read.php/379.htm
]]></description>
			<content:encoded><![CDATA[<p>1.5:<br />
<a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/index.html" target="_blank">http://java.sun.com/j2se/1.5.0/docs/guide/language/index.html</a></p>
<p>1.6:<br />
<a href="http://java.sun.com/javase/6/docs/technotes/guides/language/index.html" target="_blank">http://java.sun.com/javase/6/docs/technotes/guides/language/index.html</a></p>
<p>Essential Classes:<br />
<a href="http://java.sun.com/docs/books/tutorial/essential/index.html" target="_blank">http://java.sun.com/docs/books/tutorial/essential/index.html</a></p>
<p>Java Bean Tutorial:<br />
<a href="http://java.sun.com/docs/books/tutorial/javabeans/whatis/index.html" target="_blank">http://java.sun.com/docs/books/tutorial/javabeans/whatis/index.html</a></p>
<p>The Java EE 5 Tutorial:<br />
<a href="http://java.sun.com/javaee/5/docs/tutorial/doc/" target="_blank">http://java.sun.com/javaee/5/docs/tutorial/doc/</a></p>
<p>The J2EETrademarked Tutorial for the Sun ONE Platform:<br />
<a href="http://java.sun.com/j2ee/1.3/docs/tutorial/doc/" target="_blank">http://java.sun.com/j2ee/1.3/docs/tutorial/doc/</a></p>
<p>Java EE APIs &#038; Docs:<br />
<a href="http://java.sun.com/javaee/reference/index.jsp" target="_blank">http://java.sun.com/javaee/reference/index.jsp</a></p>
<p>面试题：<br />
<a href="http://www.ad0.cn/netfetch/read.php/379.htm" target="_blank">http://www.ad0.cn/netfetch/read.php/379.htm</a></p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/447131677" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200811/251.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200811%2F251.html</feedburner:awareness></item>
		<item>
		<title>生日快乐</title>
		<link>http://www.cube316.net/blog/archives/200810/244.html</link>
		<comments>http://www.cube316.net/blog/archives/200810/244.html#comments</comments>
		<pubDate>Tue, 28 Oct 2008 02:34:33 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<category><![CDATA[Birthday]]></category>

		<category><![CDATA[海豚]]></category>

		<category><![CDATA[生日]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=244</guid>
		<description><![CDATA[记忆力随着年龄的增长一直成反比例函数呈现，但有些东西，镌刻在脑海中，随着岁月的冲刷，反而越来越清晰，怎么都抹不去了。
比如说，你的生日。
记得《金婚》中有一段，佟子和出国回来的李天娇再次相遇，还是同样的人，还是同样的音乐，不同的是已从慢慢搅拌着喝咖啡换成了柠檬水，从共同讨论那位交响乐艺术家到早已忘了他的名字。事后佟志对大庄的感慨让我记忆犹新：
这人吧，难得有一些美好的回忆。就不该再去揭开那个梦，才发现其实一切早就已经不是原来的样子。
（原话记不真切了，大致是这个意思）
Anyway，生日快乐，曾经的小海豚。
]]></description>
			<content:encoded><![CDATA[<p>记忆力随着年龄的增长一直成反比例函数呈现，但有些东西，镌刻在脑海中，随着岁月的冲刷，反而越来越清晰，怎么都抹不去了。</p>
<p>比如说，你的生日。</p>
<p>记得《金婚》中有一段，<em>佟子</em>和出国回来的<em>李天娇</em>再次相遇，还是同样的人，还是同样的音乐，不同的是已从慢慢搅拌着喝咖啡换成了柠檬水，从共同讨论那位交响乐艺术家到早已忘了他的名字。事后<em>佟志</em>对<em>大庄</em>的感慨让我记忆犹新：</p>
<blockquote><p>这人吧，难得有一些美好的回忆。就不该再去揭开那个梦，才发现其实一切早就已经不是原来的样子。</p></blockquote>
<p>（<em>原话记不真切了，大致是这个意思</em>）</p>
<p>Anyway，生日快乐，曾经的小海豚。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/434242163" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200810/244.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200810%2F244.html</feedburner:awareness></item>
		<item>
		<title>Protected: 值得纪念的日子</title>
		<link>http://www.cube316.net/blog/archives/200810/242.html</link>
		<comments>http://www.cube316.net/blog/archives/200810/242.html#comments</comments>
		<pubDate>Wed, 15 Oct 2008 13:52:36 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=242</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://www.cube316.net/blog/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-242">Password:<br />
<input name="post_password" id="pwbox-242" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
<img src="http://feeds.feedburner.com/~r/cube316/~4/421600423" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200810/242.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200810%2F242.html</feedburner:awareness></item>
		<item>
		<title>日而三省</title>
		<link>http://www.cube316.net/blog/archives/200810/237.html</link>
		<comments>http://www.cube316.net/blog/archives/200810/237.html#comments</comments>
		<pubDate>Sun, 12 Oct 2008 13:06:44 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[thinking]]></category>

		<category><![CDATA[思考]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=237</guid>
		<description><![CDATA[这是孔子的标准，我恐怕还做不到。但是偶尔加以反思，并及时记录下来，还是有必要的。
今天要谈谈事业，或者说，工作。
大学里面开始，就比大多数同学更早接触实践，以至于在刚毕业那会儿多少有点沾沾自喜。很多知识是花了非常大的代价（成本）学来的，那时候没有意识到。
后来在理光工作了一年多，激情已消磨殆尽。技术上没有任何长进，对那里相对沉闷的气氛也是不太适应，急匆匆的开始了第一次跳槽。
现在想来，跳槽前对新东家的选择还是十分必要的，我觉得至少应该花10来个钟头（有效时间）去认真研究一下该公司的背景和发展前途，以及跟自己职位相关的一些信息。还要考虑和自己的长远规划是否吻合之类的问题。

来到了第二家公司，刚开始被那里非常宽松的氛围所吸引，精气神也不错。这可以从当时旅游的照片看出来。
但是最大的失误是没有从公司策略的频繁改动中看出自己的被动位置，并及时抽身而退。创业型的公司变化都挺大，这能理解。但是如果说基本的大方向都在三天一小改，五天一大改的话，决策者的权威性就要值得怀疑了。从Java转型到.net，于我可能是非常严重的错误。两年的时间说长不长，说短也不短，期间落后的部分要追赶已属不易，更要命的是先前掌握的部分可能也所剩无几。而基于微软本身产品有效性的时长太短，加以频繁推出的新产品，以及并不算太高的入门门槛，自己的优势郑一点点丧失殆尽。
另外，公司当时承诺了一点期权（虽然到现在还没兑现），让我想起了山里人捉猴子的方法：

在树干上挖一个大小合适的洞，使猴子能将手伸入，但是握拳之后却无法抽出。然后在洞中放入猴子爱吃的事物，就可以等它上钩了。
猴子因为贪恋美食，伸手拿到事物后却不肯再将手松开，于是乎只能乖乖束手就擒。

这点虚无缥缈的东西，最后很有可能拿来打水漂。自己却因为这个而变得犹豫不决，当断而未断，实在不是很利索。
适逢全球金融危机，这个时候如果再动，可能前景又比较暗淡。但人生好比海上的波浪，有时起有时落，趁着还年轻应该多搏一把，结局如何是掌握在自己的手中。
静下心来，好好学英语，好好复习技术，这是目前的计划，执行中。
]]></description>
			<content:encoded><![CDATA[<p>这是孔子的标准，我恐怕还做不到。但是偶尔加以反思，并及时记录下来，还是有必要的。</p>
<p>今天要谈谈事业，或者说，工作。</p>
<p>大学里面开始，就比大多数同学更早接触实践，以至于在刚毕业那会儿多少有点沾沾自喜。很多知识是花了非常大的代价（成本）学来的，那时候没有意识到。</p>
<p>后来在理光工作了一年多，激情已消磨殆尽。技术上没有任何长进，对那里相对沉闷的气氛也是不太适应，急匆匆的开始了第一次跳槽。</p>
<p>现在想来，跳槽前对新东家的选择还是十分必要的，我觉得至少应该花10来个钟头（有效时间）去认真研究一下该公司的背景和发展前途，以及跟自己职位相关的一些信息。还要考虑和自己的长远规划是否吻合之类的问题。</p>
<p><span id="more-237"></span></p>
<p>来到了第二家公司，刚开始被那里非常宽松的氛围所吸引，精气神也不错。这可以从当时旅游的照片看出来。</p>
<p>但是最大的失误是没有从公司策略的频繁改动中看出自己的被动位置，并及时抽身而退。创业型的公司变化都挺大，这能理解。但是如果说基本的大方向都在三天一小改，五天一大改的话，决策者的权威性就要值得怀疑了。从Java转型到.net，于我可能是非常严重的错误。两年的时间说长不长，说短也不短，期间落后的部分要追赶已属不易，更要命的是先前掌握的部分可能也所剩无几。而基于微软本身产品有效性的时长太短，加以频繁推出的新产品，以及并不算太高的入门门槛，自己的优势郑一点点丧失殆尽。</p>
<p>另外，公司当时承诺了一点期权（虽然到现在还没兑现），让我想起了山里人捉猴子的方法：</p>
<blockquote><p>
在树干上挖一个大小合适的洞，使猴子能将手伸入，但是握拳之后却无法抽出。然后在洞中放入猴子爱吃的事物，就可以等它上钩了。<br />
猴子因为贪恋美食，伸手拿到事物后却不肯再将手松开，于是乎只能乖乖束手就擒。
</p></blockquote>
<p>这点虚无缥缈的东西，最后很有可能拿来打水漂。自己却因为这个而变得犹豫不决，当断而未断，实在不是很利索。</p>
<p>适逢全球金融危机，这个时候如果再动，可能前景又比较暗淡。但人生好比海上的波浪，有时起有时落，趁着还年轻应该多搏一把，结局如何是掌握在自己的手中。</p>
<p>静下心来，好好学英语，好好复习技术，这是目前的计划，执行中。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/418565871" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200810/237.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200810%2F237.html</feedburner:awareness></item>
		<item>
		<title>礼物</title>
		<link>http://www.cube316.net/blog/archives/200810/235.html</link>
		<comments>http://www.cube316.net/blog/archives/200810/235.html#comments</comments>
		<pubDate>Wed, 08 Oct 2008 05:37:42 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<category><![CDATA[生活]]></category>

		<category><![CDATA[礼物]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=235</guid>
		<description><![CDATA[朋友国庆去大漠游玩，从乌鲁木齐给我寄了一袋薰衣草干花。
前阵子曾向她提过，晚上睡觉容易失眠。这就惦记上了，让我有些小小的惊喜。
生活正以它特有的幽默作着平衡，有时候觉得这个秋天也不算寒意太浓。
]]></description>
			<content:encoded><![CDATA[<p>朋友国庆去大漠游玩，从乌鲁木齐给我寄了一袋薰衣草干花。</p>
<p>前阵子曾向她提过，晚上睡觉容易失眠。这就惦记上了，让我有些小小的惊喜。</p>
<p>生活正以它特有的幽默作着平衡，有时候觉得这个秋天也不算寒意太浓。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/414513593" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200810/235.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200810%2F235.html</feedburner:awareness></item>
		<item>
		<title>这不是我想要的生活</title>
		<link>http://www.cube316.net/blog/archives/200810/232.html</link>
		<comments>http://www.cube316.net/blog/archives/200810/232.html#comments</comments>
		<pubDate>Mon, 06 Oct 2008 16:35:12 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<category><![CDATA[心情]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=232</guid>
		<description><![CDATA[不是，这不是。
厌倦了纷繁复杂的琐事，
厌倦了毫无激情的工作，
厌倦了寂寞独品的清乏，
就如同厌倦了各种程序永无休止的升级。
我只是，厌倦了。
能不能出一个生活的最终版，
把必要的功能和易用性永远的定格在那一刻？
不是，这不是我想要的生活。
]]></description>
			<content:encoded><![CDATA[<p>不是，这不是。</p>
<p>厌倦了纷繁复杂的琐事，<br />
厌倦了毫无激情的工作，<br />
厌倦了寂寞独品的清乏，<br />
就如同厌倦了各种程序永无休止的升级。</p>
<p>我只是，厌倦了。</p>
<p>能不能出一个生活的最终版，<br />
把必要的功能和易用性永远的定格在那一刻？</p>
<p>不是，这不是我想要的生活。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/412941187" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200810/232.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200810%2F232.html</feedburner:awareness></item>
		<item>
		<title>Update 20080831</title>
		<link>http://www.cube316.net/blog/archives/200808/230.html</link>
		<comments>http://www.cube316.net/blog/archives/200808/230.html#comments</comments>
		<pubDate>Sun, 31 Aug 2008 09:49:49 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[UpdateLog/更新日志]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=230</guid>
		<description><![CDATA[
Update to Wordpress 2.6.1
Plugins and themes update

]]></description>
			<content:encoded><![CDATA[<ul>
<li>Update to Wordpress 2.6.1</li>
<li>Plugins and themes update</li>
</ul>
<img src="http://feeds.feedburner.com/~r/cube316/~4/379544843" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200808/230.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200808%2F230.html</feedburner:awareness></item>
		<item>
		<title>《人月神话》读书笔记之四：规模</title>
		<link>http://www.cube316.net/blog/archives/200808/227.html</link>
		<comments>http://www.cube316.net/blog/archives/200808/227.html#comments</comments>
		<pubDate>Thu, 28 Aug 2008 14:14:22 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[ReadingNotes/读书笔记]]></category>

		<category><![CDATA[人月神话]]></category>

		<category><![CDATA[读书笔记]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=227</guid>
		<description><![CDATA[注：
本文为《我的读书笔记之人月神话》系列的第四篇，欢迎指正。
=============================================================
交流：
作者先以“巴比伦塔的启示”为引子，提出了他所认为的项目成功的先决条件：

清晰的目标
人力
材料
足够的时间
足够的技术

本身这些条目都没有问题，但我觉得最后两点有待商榷。不可能等什么都准备到了“足够”的地步才去动手，特别是技术方面，在项目的进程当中去学习也是常有的事儿。
而巴比伦塔的失败，也证明了“交流”和“组织”（交流的结果）的重要性。
交流的可能途径：非正式途径；会议；工作手册
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
工作量：
以大型项目的数据为依据而研究所得的结论：
工作量=常数 * 指令的数量1.5
由于我估计作者所从事的项目大都是操作系统级别的，所以书中很多指标都用类似“指令”这些指标来衡量。简单的讲，可以把这里的指令理解为系统的原子特征。指数型增长的趋势，倒也符合正常的逻辑推理。
复杂程度的指导原则：
编译器的复杂度是批处理程序的3倍，操作系统复杂度是编译器的3倍。
批处理和编译器我都写过，只不过那编译器是用高级语言Java写的而已，对于这个复杂度没有太深的体会。如果将来有机会接触到操作系统级别的复杂项目，那倒可以回过头来细细比较一下。
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
规模：
软件的规模是视其是否使整个应用系统更加有效而言的，并不在于它的绝对成本

仅对核心程序设定设定规模目标是不够的，必须把所有方面的规模都编入预算
在指明模块有多大的同时，确切定义模块的功能
培养开发人员从系统整体出发、面向用户的态度

时间与空间（占用的资源）

项目的粗细程度决定所需的空间大小
对于给定的功能，空间越多，速度越快

如何取得 空间时间 的折衷？

从团队成员的编程技能上培训
需要技术积累，开发公用单元构件

技艺改进的结果往往是战略上的突破，而不仅仅是技巧上的提高
最后，以篇末最经典的一句话总结本文：
数据的表现形式才是编程的根本
]]></description>
			<content:encoded><![CDATA[<p>注：</p>
<p>本文为《<a href="http://www.cube316.net/blog/archives/200806/210.html" target="_blank">我的读书笔记之人月神话</a>》系列的第四篇，欢迎指正。</p>
<p>=============================================================</p>
<p><strong>交流：</strong></p>
<p>作者先以“巴比伦塔的启示”为引子，提出了他所认为的项目成功的先决条件：</p>
<ul>
<li>清晰的目标</li>
<li>人力</li>
<li>材料</li>
<li>足够的时间</li>
<li>足够的技术</li>
</ul>
<p>本身这些条目都没有问题，但我觉得最后两点有待商榷。不可能等什么都准备到了“足够”的地步才去动手，特别是技术方面，在项目的进程当中去学习也是常有的事儿。</p>
<p>而巴比伦塔的失败，也证明了“交流”和“组织”（交流的结果）的重要性。</p>
<p>交流的可能途径：非正式途径；会议；工作手册</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><strong>工作量：</strong></p>
<p>以大型项目的数据为依据而研究所得的结论：</p>
<blockquote><p>工作量=常数 * 指令的数量<sup>1.5</sup></p></blockquote>
<p>由于我估计作者所从事的项目大都是操作系统级别的，所以书中很多指标都用类似“指令”这些指标来衡量。简单的讲，可以把这里的指令理解为系统的原子特征。指数型增长的趋势，倒也符合正常的逻辑推理。</p>
<p>复杂程度的指导原则：</p>
<blockquote><p>编译器的复杂度是批处理程序的3倍，操作系统复杂度是编译器的3倍。</p></blockquote>
<p>批处理和编译器我都写过，只不过那编译器是用高级语言Java写的而已，对于这个复杂度没有太深的体会。如果将来有机会接触到操作系统级别的复杂项目，那倒可以回过头来细细比较一下。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><strong>规模：</strong></p>
<p>软件的规模是视其是否使整个应用系统更加有效而言的，并不在于它的绝对成本</p>
<ul>
<li>仅对核心程序设定设定规模目标是不够的，必须把所有方面的规模都编入预算</li>
<li>在指明模块有多大的同时，确切定义模块的功能</li>
<li>培养开发人员从系统整体出发、面向用户的态度</li>
</ul>
<p>时间与空间（占用的资源）</p>
<ol>
<li>项目的粗细程度决定所需的空间大小</li>
<li>对于给定的功能，空间越多，速度越快</li>
</ol>
<p>如何取得 空间<->时间 的折衷？</p>
<ol>
<li>从团队成员的编程技能上培训</li>
<li>需要技术积累，开发公用单元构件</li>
</ol>
<p>技艺改进的结果往往是战略上的突破，而不仅仅是技巧上的提高</p>
<p>最后，以篇末最经典的一句话总结本文：</p>
<blockquote><p>数据的表现形式才是编程的根本</p></blockquote>
<img src="http://feeds.feedburner.com/~r/cube316/~4/377162703" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200808/227.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200808%2F227.html</feedburner:awareness></item>
		<item>
		<title>一路走好</title>
		<link>http://www.cube316.net/blog/archives/200808/226.html</link>
		<comments>http://www.cube316.net/blog/archives/200808/226.html#comments</comments>
		<pubDate>Mon, 25 Aug 2008 15:11:05 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=226</guid>
		<description><![CDATA[
亲戚或余悲，
他人亦已歌。
死去何所道，
托体同山阿。

有些事情，终究不能避免。
一路走好，我最亲爱的外婆。
]]></description>
			<content:encoded><![CDATA[<blockquote><p>
亲戚或余悲，<br />
他人亦已歌。<br />
死去何所道，<br />
托体同山阿。
</p></blockquote>
<p><a href="http://www.cube316.net/blog/archives/200803/186.html" target="_blank">有些事情</a>，终究不能避免。</p>
<p>一路走好，我最亲爱的外婆。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/374341442" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200808/226.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200808%2F226.html</feedburner:awareness></item>
		<item>
		<title>又到中秋</title>
		<link>http://www.cube316.net/blog/archives/200808/225.html</link>
		<comments>http://www.cube316.net/blog/archives/200808/225.html#comments</comments>
		<pubDate>Tue, 19 Aug 2008 15:59:42 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<category><![CDATA[中秋]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=225</guid>
		<description><![CDATA[昨天收到公司发的月饼券，才想起又是一年中秋近。
刚进大学的那个中秋，一群年轻人围坐在数学系前面的草坪上闲聊嬉戏，踌躇满志，依稀就在眼前。转眼物是人非，很多时光早已一去不复返。
脑海里忽然冒出一句话，似乎是某个老头临终所言：如果人生可以重来，那么有一半的人可以成为伟人。不想让自己太过伟大，后面的时光也足够让我好好生活，宁静而知足，就是这样了。
又记起理光的中秋传统，不知管理科今年是否还是照旧小月饼一劈为四，分而飨之？
有些日子没出声了，今儿个冒个泡，希望看到的和没看到的朋友们都过的顺心。
]]></description>
			<content:encoded><![CDATA[<p>昨天收到公司发的月饼券，才想起又是一年中秋近。</p>
<p>刚进大学的那个中秋，一群年轻人围坐在数学系前面的草坪上闲聊嬉戏，踌躇满志，依稀就在眼前。转眼物是人非，很多时光早已一去不复返。</p>
<p>脑海里忽然冒出一句话，似乎是某个老头临终所言：如果人生可以重来，那么有一半的人可以成为伟人。不想让自己太过伟大，后面的时光也足够让我好好生活，宁静而知足，就是这样了。</p>
<p>又记起理光的中秋传统，不知管理科今年是否还是照旧小月饼一劈为四，分而飨之？</p>
<p>有些日子没出声了，今儿个冒个泡，希望看到的和没看到的朋友们都过的顺心。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/369143495" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200808/225.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200808%2F225.html</feedburner:awareness></item>
		<item>
		<title>Failed to execute request because the App-Domain could not be created. Error: 0×80131902</title>
		<link>http://www.cube316.net/blog/archives/200808/223.html</link>
		<comments>http://www.cube316.net/blog/archives/200808/223.html#comments</comments>
		<pubDate>Thu, 07 Aug 2008 15:17:41 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[.net]]></category>

		<category><![CDATA[0x80131902]]></category>

		<category><![CDATA[asp.net]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=223</guid>
		<description><![CDATA[如果在Visual Studio中运行的好好的asp.net网页，部署到IIS后却发现无法运行，在系统日志中可以发现如下类似条目：

Exception: System.Configuration.ConfigurationErrorsException
Message: 引发类型为“System.Configuration.ConfigurationErrorsException”的异常。
StackTrace:    在 System.Web.Configuration.ErrorRuntimeConfig.ErrorConfigRecord.System.Configuration.Internal.IInternalConfigRecord.GetLkgSection(String configKey)
   在 System.Web.Configuration.RuntimeConfigLKG.GetSectionObject(String sectionName)
   在 System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index)
   在 System.Web.Configuration.RuntimeConfig.get_HostingEnvironment()
   在 System.Web.Hosting.HostingEnvironment.StartMonitoringForIdleTimeout()
   在 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
   在 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
  [...]]]></description>
			<content:encoded><![CDATA[<p>如果在Visual Studio中运行的好好的asp.net网页，部署到IIS后却发现无法运行，在系统日志中可以发现如下类似条目：</p>
<blockquote><p>
Exception: System.Configuration.ConfigurationErrorsException</p>
<p>Message: 引发类型为“System.Configuration.ConfigurationErrorsException”的异常。</p>
<p>StackTrace:    在 System.Web.Configuration.ErrorRuntimeConfig.ErrorConfigRecord.System.Configuration.Internal.IInternalConfigRecord.GetLkgSection(String configKey)<br />
   在 System.Web.Configuration.RuntimeConfigLKG.GetSectionObject(String sectionName)<br />
   在 System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index)<br />
   在 System.Web.Configuration.RuntimeConfig.get_HostingEnvironment()<br />
   在 System.Web.Hosting.HostingEnvironment.StartMonitoringForIdleTimeout()<br />
   在 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)<br />
   在 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)<br />
   在 System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)<br />
   在 System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)</p>
<p>有关更多信息，请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。</p>
<p>Failed to execute request because the App-Domain could not be created. Error: 0&#215;80131902
</p></blockquote>
<p>很有可能是IIS的asp.net插件在安装.net（特别是高版本）中造成了损坏，用以下方法修复：</p>
<ol>
<li>With a command window, get to the latest version of .net under &#8220;C:\Windows\Microsoft.Net\Framework\&#8221;</li>
<li>Now run the following command: &#8220;net stop w3svc&#8221; to stop web services.</li>
<li>Then use &#8220;aspnet_regiis.exe -ua&#8221; to uninstall all instances of ASP.NET from IIS.</li>
<li>Follow with &#8220;aspnet_regiis.exe -i&#8221; to install ASP.NET into IIS.</li>
<li>Now restart web services with &#8220;net start w3svc&#8221;. </li>
</ol>
<p>在我的机器上修复成功。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/358490624" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200808/223.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200808%2F223.html</feedburner:awareness></item>
		<item>
		<title>Apathetic, Ignorant, or Just Stupid?</title>
		<link>http://www.cube316.net/blog/archives/200808/222.html</link>
		<comments>http://www.cube316.net/blog/archives/200808/222.html#comments</comments>
		<pubDate>Thu, 07 Aug 2008 01:55:06 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[ForwardBackup/转载备份]]></category>

		<category><![CDATA[NYT]]></category>

		<category><![CDATA[Olympics]]></category>

		<category><![CDATA[奥运]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=222</guid>
		<description><![CDATA[当全民皆运的时候，总有一些清醒的声音，如醍醐灌顶般，让我们拨开这粉饰太平和喧嚣，见到一些清澈的东西。
免大部分人翻墙之苦，征得作者同意后，全文引用如下：

Apathetic, Ignorant, or Just Stupid?
The comments on the NYT article “Before Guests Arrive, Beijing Hides Some Messes” really shock me. Most of them make me kinda sick and sad.
The NYT article is a good one uncovering a corner of the true situation in Beijing before the Olympics opening, though many deemed the story is “China [...]]]></description>
			<content:encoded><![CDATA[<p>当全民皆运的时候，总有一些清醒的声音，如醍醐灌顶般，让我们拨开这粉饰太平和喧嚣，见到一些清澈的东西。</p>
<p>免大部分人翻墙之苦，征得作者同意后，全文引用如下：</p>
<blockquote><p>
<strong>Apathetic, Ignorant, or Just Stupid?</strong></p>
<p>The <a href="http://community.nytimes.com/article/comments/2008/07/29/sports/olympics/29beijing.html" target="_blank">comments</a> on the NYT article “<a href="http://www.nytimes.com/2008/07/29/sports/olympics/29beijing.html" target="_blank">Before Guests Arrive, Beijing Hides Some Messes</a>” really shock me. Most of them make me kinda sick and sad.</p>
<p>The NYT article is a good one uncovering a corner of the true situation in Beijing before the Olympics opening, though many deemed the story is “China bashing”, and “not newsworthy”, the city beautifying is right or at least understandable, because they thought that kind of things happened a lot, and everyone knew that.</p>
<p>Guys, you were totally misunderstanding the point. Beautification of the city was not the problem. The problem was how the city treat its people.</p>
<p>Yes, beautifying before a big event coming is not news at all, but systematically abusing its citizens by the government is. I believe every case of human abusing and human suffering would make news. It’s a forever theme of journalism.</p>
<p>And people in that city (and yes, in all over China) was suffering from the authorities for the sake of image. That’s the all what the NYT story want to tell you.</p>
<p>Those believed the story “not new” presented some examples, like things happened in Chicago in 1968, Montreal in 1976, Los Angles in 1984, without any concrete and appealing evidences.</p>
<p>All those events held in overseas a few decades ago seam so far away that I can’t have a clue and make comment. I don’t know if there existed any human rights issue in those events. If something bad to their people really happened, I feel sorry and sympathetic to those as I feel the same to my compatriots today. But those were all old days and I believe in western civilized world, as one commenter put it: “In today’s world is quite hard to imagine one day waking up with a wall covering the front of people’s homes, or a veil covering their businesses just because they do not comply with the standards of beauty.”</p>
<p>Others took the happening for granted because they thought they treat their stuffs like laundry the same way when they invited guests to their houses. These statements were totally wrong, because human beings is absolutely not stuffs. Even as unfortunate as those poor Chinese people, they own human rights and civil rights and human dignity as well as westerners. They are not doomed to be victimized, even for the sake of public good! Nobody should be treated in that way. Everybody is not like the “stuffs” you can casually throw, hide or destroy at will.</p>
<p>Should they been sacrificed for the beauty of the city, for the incoming glorious event, for the pleasant sightseeing of foreign athletes, leaders and tourists? No. If someone must pay for the beauty of the city, it must be those who most benefit from the beautification of the city.</p>
<p>China is not just another exotic tourist resort. Chinese people have suffered from ruthless and corrupt despots and bureaucrats for thousands of years. We don’t deserve more suffering because of foreigners. Chinese are open and warmhearted to all kindly friends come from abroad, but those apathetic tourists regarding Chinese pains like the way they treat monkeys in zoos would not deserve it.</p>
<p>If those indifferent comments not came from apathetic heart, it probably came from ignorant mind. Beautification of cities in China are not as the same way most western countries run. There is always an “Chinese characteristic” way done by the authorities to average Chinese. When a governmental campaign comes, citizens are brutally dealt with, houses are arbitrarily teared down, hundreds of thousands of low-income immigrants are mercilessly driven out, dissidents are illegally tracked and harassed, protesters are beaten, tortured and even arrested. It’s out of luck for you when your property or livelihood was in the way. No equitable negotiation. No modest compromising. No fair compensation.</p>
<p>I believe most westerners have no idea what befall average Chinese everyday by the authorities. Most of you seem so friendly to China while critical to your own countries. Unfortunately these kind of friendliness are actually Chinese-government-friendly, not Chinese-people-friendly. These kind of comments sound so familiar to Chinese people just like the tones of the CCP Propaganda Dept hyping everyday. More and more Chinese people know what crap they are today.</p>
<p>“One World, One Dream” is the theme of Beijing Olympics. It’s true that Chinese share the same planet with people in the rest of the world, so as we share the same dream of prosperity, democracy, freedom and happiness with people in the rest of the world. We deserve respect and a better life. Don’t make stupid comments until you really understand what’s happening in China. Help us if you really like China. Keeping concern for the truth and pressure on human rights issues will do the trick.
</p></blockquote>
<p>Thanks to <strong>Wozy</strong>, via <a href="http://wozy.in/2008/08/05/apathetic-ignorant-or-just-stupid/" target="_blank">Link</a></p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/357946096" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200808/222.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200808%2F222.html</feedburner:awareness></item>
		<item>
		<title>Visual Studio 2008的版本区别</title>
		<link>http://www.cube316.net/blog/archives/200807/219.html</link>
		<comments>http://www.cube316.net/blog/archives/200807/219.html#comments</comments>
		<pubDate>Mon, 07 Jul 2008 09:17:52 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Programming/编程相关]]></category>

		<category><![CDATA[Team Suite]]></category>

		<category><![CDATA[Team System]]></category>

		<category><![CDATA[Version]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<category><![CDATA[VS]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=219</guid>
		<description><![CDATA[工作需要，想测试一下微软最新的Visual Studio 2008。
网上找了半天，寻到了一个所谓的Team System，总以为是最高级的了。装了之后才发现是个Architecture Edition，在升级VS2005的那些项目文件时候提示有转换失败，细查之下发现是一个Test项目。后来才想到可能是版本搞错了，去微软的网站查了一下，果不其然，Visual Studio 2008的版本那叫一个复杂，除了Standard Edition和Professional Edition外，还有个Team System，居然可以细分成这么多：

Architecture Edition
Database Edition
Development Edition
Test Edition
Team Suite

前几个各自的侧重点不同，功能也是各有差异。如果安装两个以上，那就是两者功能的一个合集。
最后一个相当于前面几个的合集，什么功能都有了。
真搞不懂微软花那么大力气推出和维护这么多版本，是否真的有客户愿意买账。
如果想比较专业版和标准版的区别，可以看：这里
如果需要细致比较Team System中各个版本的区别，可以看：这里
另外，有神秘大奖赠送：猛击这里
]]></description>
			<content:encoded><![CDATA[<p>工作需要，想测试一下微软最新的Visual Studio 2008。</p>
<p>网上找了半天，寻到了一个所谓的Team System，总以为是最高级的了。装了之后才发现是个Architecture Edition，在升级VS2005的那些项目文件时候提示有转换失败，细查之下发现是一个Test项目。后来才想到可能是版本搞错了，去微软的网站<a href="http://msdn.microsoft.com/en-us/vsts2008/products/bb964615.aspx" target="_blank">查了一下</a>，果不其然，Visual Studio 2008的版本那叫一个复杂，除了<strong>Standard Edition</strong>和<strong>Professional Edition</strong>外，还有个<strong>Team System</strong>，居然可以细分成这么多：</p>
<ul>
<li>Architecture Edition</li>
<li>Database Edition</li>
<li>Development Edition</li>
<li>Test Edition</li>
<li>Team Suite</li>
</ul>
<p>前几个各自的侧重点不同，功能也是各有差异。如果安装两个以上，那就是两者功能的一个合集。<br />
最后一个相当于前面几个的合集，什么功能都有了。</p>
<p>真搞不懂微软花那么大力气推出和维护这么多版本，是否真的有客户愿意买账。</p>
<p>如果想比较专业版和标准版的区别，可以看：<a href="http://msdn.microsoft.com/en-us/vs2008/products/bb980920.aspx" target="_blank">这里</a><br />
如果需要细致比较Team System中各个版本的区别，可以看：<a href="http://msdn.microsoft.com/en-us/vsts2008/products/bb991841.aspx" target="_blank">这里</a></p>
<p>另外，有神秘大奖赠送：<a href='http://www.cube316.net/blog/wp-content/files/2008/07/microsoft_visual_studio_team_system_2008_team_suite-zwtiso3907484tpb.torrent'>猛击这里</a></p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/328723396" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200807/219.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200807%2F219.html</feedburner:awareness></item>
		<item>
		<title>有奖问答</title>
		<link>http://www.cube316.net/blog/archives/200807/218.html</link>
		<comments>http://www.cube316.net/blog/archives/200807/218.html#comments</comments>
		<pubDate>Thu, 03 Jul 2008 14:47:13 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=218</guid>
		<description><![CDATA[请问金贸大厦的酒水开瓶费是多少？
不许Google，不许Baidu，猜对了有奖。
update:
答案揭晓：￥300/瓶
]]></description>
			<content:encoded><![CDATA[<p>请问金贸大厦的酒水开瓶费是多少？</p>
<p>不许Google，不许Baidu，猜对了有奖。</p>
<p><strong>update:</strong></p>
<p>答案揭晓：￥300/瓶</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/325844788" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200807/218.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200807%2F218.html</feedburner:awareness></item>
		<item>
		<title>《人月神话》读书笔记之三：执行</title>
		<link>http://www.cube316.net/blog/archives/200807/217.html</link>
		<comments>http://www.cube316.net/blog/archives/200807/217.html#comments</comments>
		<pubDate>Wed, 02 Jul 2008 15:37:34 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[ReadingNotes/读书笔记]]></category>

		<category><![CDATA[人月神话]]></category>

		<category><![CDATA[读书笔记]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=217</guid>
		<description><![CDATA[注：
本文为《我的读书笔记之人月神话》系列的第三篇，欢迎指正。
=============================================================
这次谈得是贯彻执行的问题。换句话说，也就是如何确保一个拥有诸多结构师和编程人员的项目团队，对整个系统保持概念上的完整性？
最好的办法就是文档化的规格说明——手册！
这里的手册应该包括各种说明文档，设计文档，甚至备忘录，只要是对理解系统的设计有帮助的，应该都可以归入在内。
谈到手册，可能刚开始工作或者比较偏好编程的朋友会觉得比较头大，不太喜欢。刚开始的时候我也是如此，可随着时间的推移和工作经历的增多，却越来越发现手册的重要性。大到设计思想，小到会议记录，手册就像幻灯片一样将整个系统显示在你的面前。
那么，应该怎样书写文档（手册？manual？document？whatever），怎么样的文档才能算是好文档？
先来回答后面那个问题：
清晰、完整和准确：精确比生动更重要
好在搞技术的大多数都是理性思维，不会为了华丽辞藻在那边苦思冥想半天。
写到这里的时候忽又想起在之前那家日企得到的经验：尽量用简短的英文来描述，不用长句式。一来小日本不太擅长也不喜欢英语，二来长句式在理解上确实不如短句来的一目了然。

再回过头来说说第一个问题，人月神话的作者给出了两种用来书写文档的定义：形式化定义和记叙性定义。
但是作者并未就这两种定义给出具体的解释和说明，这里就简单谈谈我的理解：
所谓的形式化定义就是用一种有规则的、有限制或有约定的语言（自然语言、计算机语言、伪代码，均可），来描述系统的一些关键特征，或者表达文档所关注的重点目标对象。而记叙性定义，就是简单的用大篇幅的文字来描述上述特征或目标。
两者各有优缺点：

形式化定义比较精确，倾向完整，但不易理解（总不能保证每个阅读手册的人都是搞编程的吧），对于有些场景很难描述清楚；
记叙性定义能够表达结构性原则，描述阶段或层次上的结构，表达异常和强调对比的关系，并解释原因，却也因此而显得有些累赘，索引和定位都比较差。

再补充一点，形式化定义是一种设计实现，仅仅用于外部功能（描述系统必须做什么）。潜在的问题是：实现可能过度地规定了外部功能（声明了自己到底做了些什么），当实现充当标准时，必须防止对实现的任何修改（这话听着很拗口，其实仔细想想确实如此）。
如何取舍，关键还是看系统本身的特性更适合哪种方式，以及文档编写人员的习惯。注意：两者只能以其中之一为标准，另一个为辅助。
另外，为保持一致性，须由少数人对大家的想法进行整理和汇总，对看似琐碎或不重要的问题进行判断并得出结论，使之体现在文档中。
文档的话题就说到这里，回到前面“贯彻执行”的主题。有多种很好的方式方法可以利用：
周例会：
建议以书面形式在会议之前分发，要求事先Review原先的设计并作出思考，提出少数解决方案，传递给结构师。
当需要对变更作出决策时 ==> 强调首席结构师的最终决策权，避免妥协和拖延（这个很重要，我已经有所切身体会了）
年例会：
由于各种原因，在周例会中可能未予以考虑的某些问题会堆积起来。有时候程序员都是很固执的性格，这些问题的一直存在，会让系统的执行变得困难。年例会就是针对这个来考虑的。大家在会上把那些问题列举出来，进行表决或者讨论，时间可能会持续几周，每日更新手册说明，记录前一日的各项决定（可能需要一定的额外工作量）。
目前为止我没有参加过此类的年例会，可能超大型的项目才会有这种可能性。不过听上去还是很不错的主意。
对规格说明有疑问时：

不要自己猜测
很多新手常会犯这个错误
打电话询问相关结构师
有些人就是怕麻烦，或者怕开口交流，需要努力克服
结构师记录并定期整理、分发给相关人员
啊哦，又多了点工作量
不需很正式
似乎是好消息

以测试作为驱动动力：
开发和测试不是两个冤家，测试能够推动系统更加贯彻的执行。
就先到这里吧。
]]></description>
			<content:encoded><![CDATA[<p>注：</p>
<p>本文为《<a href="http://www.cube316.net/blog/archives/200806/210.html" target="_blank">我的读书笔记之人月神话</a>》系列的第三篇，欢迎指正。</p>
<p>=============================================================</p>
<p>这次谈得是贯彻执行的问题。换句话说，也就是如何确保一个拥有诸多结构师和编程人员的项目团队，对整个系统保持概念上的<a href="http://www.cube316.net/blog/archives/200806/214.html" target="_blank">完整性</a>？</p>
<p>最好的办法就是文档化的规格说明——<strong>手册</strong>！<br />
这里的手册应该包括各种说明文档，设计文档，甚至备忘录，只要是对理解系统的设计有帮助的，应该都可以归入在内。</p>
<p>谈到手册，可能刚开始工作或者比较偏好编程的朋友会觉得比较头大，不太喜欢。刚开始的时候我也是如此，可随着时间的推移和工作经历的增多，却越来越发现手册的重要性。大到设计思想，小到会议记录，手册就像幻灯片一样将整个系统显示在你的面前。</p>
<p>那么，应该怎样书写文档（手册？manual？document？whatever），怎么样的文档才能算是好文档？</p>
<p>先来回答后面那个问题：</p>
<blockquote><p>清晰、完整和准确：精确比生动更重要</p></blockquote>
<p>好在搞技术的大多数都是理性思维，不会为了华丽辞藻在那边苦思冥想半天。</p>
<p>写到这里的时候忽又想起在之前那家日企得到的经验：尽量用简短的英文来描述，不用长句式。一来小日本不太擅长也不喜欢英语，二来长句式在理解上确实不如短句来的一目了然。</p>
<p><span id="more-217"></span></p>
<p>再回过头来说说第一个问题，人月神话的作者给出了两种用来书写文档的定义：<strong>形式化定义</strong>和<strong>记叙性定义</strong>。</p>
<p>但是作者并未就这两种定义给出具体的解释和说明，这里就简单谈谈我的理解：</p>
<p>所谓的形式化定义就是用一种有规则的、有限制或有约定的语言（自然语言、计算机语言、伪代码，均可），来描述系统的一些关键特征，或者表达文档所关注的重点目标对象。而记叙性定义，就是简单的用大篇幅的文字来描述上述特征或目标。</p>
<p>两者各有优缺点：</p>
<ul>
<li>形式化定义比较精确，倾向完整，但不易理解（总不能保证每个阅读手册的人都是搞编程的吧），对于有些场景很难描述清楚；</li>
<li>记叙性定义能够表达结构性原则，描述阶段或层次上的结构，表达异常和强调对比的关系，并解释原因，却也因此而显得有些累赘，索引和定位都比较差。</li>
</ul>
<p>再补充一点，形式化定义是一种设计实现，仅仅用于外部功能（描述系统必须做什么）。潜在的问题是：实现可能过度地规定了外部功能（声明了自己到底做了些什么），当实现充当标准时，必须防止对实现的任何修改（这话听着很拗口，其实仔细想想确实如此）。</p>
<p>如何取舍，关键还是看系统本身的特性更适合哪种方式，以及文档编写人员的习惯。注意：<strong>两者只能以其中之一为标准，另一个为辅助</strong>。<br />
另外，为保持一致性，须由少数人对大家的想法进行整理和汇总，对看似琐碎或不重要的问题进行判断并得出结论，使之体现在文档中。</p>
<p>文档的话题就说到这里，回到前面“贯彻执行”的主题。有多种很好的方式方法可以利用：</p>
<p><strong>周例会</strong>：<br />
建议以书面形式在会议之前分发，要求事先Review原先的设计并作出思考，提出少数解决方案，传递给结构师。<br />
当需要对变更作出决策时 ==> 强调首席结构师的最终决策权，避免妥协和拖延（这个很重要，我已经有所切身体会了）</p>
<p><strong>年例会</strong>：<br />
由于各种原因，在周例会中可能未予以考虑的某些问题会堆积起来。有时候程序员都是很固执的性格，这些问题的一直存在，会让系统的执行变得困难。年例会就是针对这个来考虑的。大家在会上把那些问题列举出来，进行表决或者讨论，时间可能会持续几周，每日更新手册说明，记录前一日的各项决定（可能需要一定的额外工作量）。</p>
<p>目前为止我没有参加过此类的年例会，可能超大型的项目才会有这种可能性。不过听上去还是很不错的主意。</p>
<p><strong>对规格说明有疑问时</strong>：</p>
<ul>
<li>不要自己猜测</li>
<p>很多新手常会犯这个错误</p>
<li>打电话询问相关结构师</li>
<p>有些人就是怕麻烦，或者怕开口交流，需要努力克服</p>
<li>结构师记录并定期整理、分发给相关人员</li>
<p>啊哦，又多了点工作量</p>
<li>不需很正式</li>
<p>似乎是好消息
</ul>
<p><strong>以测试作为驱动动力</strong>：<br />
开发和测试不是两个冤家，测试能够推动系统更加贯彻的执行。</p>
<p>就先到这里吧。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/324978656" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200807/217.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200807%2F217.html</feedburner:awareness></item>
		<item>
		<title>买车这档事儿</title>
		<link>http://www.cube316.net/blog/archives/200806/215.html</link>
		<comments>http://www.cube316.net/blog/archives/200806/215.html#comments</comments>
		<pubDate>Thu, 26 Jun 2008 12:37:22 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[买车]]></category>

		<category><![CDATA[车]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=215</guid>
		<description><![CDATA[是的，我打算买车了。嘘，低调，低调。
别说这会儿油价那么高，有钱买车还没钱加油呐。再说咱买车不就图个方便，说出去以车代步，多威风！捎带还能载个人啥的，您说是不是？
啥牌子？甭管国产还是进口，只要跑起来轻快，式样美观大方，那就行了。
所以，当我今晚路过那家商店，看到它第一眼的时候，我就知道，这车，我是离不了了。

是的，那是一辆崭新的捷安特，静静的停在那里，等待着下一个慧眼识珠的主人。我的目光追随着她俊美的身形，久久挪不开视线。
胯下，是那头伴随了我3年多的小毛驴，已是迟暮之年。不忍让其累倒在工作岗位上，忍痛将其转让。
饶舌完毕，回到正题，算算经济账。
05年2月26号将其购入，到今天正好是3年零4个月。按每月平均工作21天，每天乘车花费2*2=4元计算，这些年来应该替我省了至少 4*21*40=￥3360，当初买车费用为￥1688，远远够本了。
今天去问了一下，这车还能卖400块，也就是说一共是 3360+400=￥3760。
现在有两个方案：
A、换新电池然后继续用，电池更换费用为350元
B、把电瓶车卖了，然后买那辆捷安特，估计也在4-500左右
闲来无事，分析分析两者的差别。

电瓶车卖掉的价钱正好换来一辆自行车，从这点上来说成本没有变化。
但是如果电瓶车要继续使用，需要更换电池，也就是新增的成本。
新电瓶能够继续使用一年半左右，但是自行车保养得好可以使用3年以上。
自行车每月停车费比电瓶车少3块。
最重要的是，骑自行车可以让我这把久未运动的老骨头再次活动起来。

综上，我只好另觅新欢了。亲爱的毛驴，再见了。谢谢你带给我的这些回忆。

]]></description>
			<content:encoded><![CDATA[<p>是的，我打算买车了。嘘，低调，低调。</p>
<p>别说这会儿油价那么高，有钱买车还没钱加油呐。再说咱买车不就图个方便，说出去以车代步，多威风！捎带还能载个人啥的，您说是不是？</p>
<p>啥牌子？甭管国产还是进口，只要跑起来轻快，式样美观大方，那就行了。</p>
<p>所以，当我今晚路过那家商店，看到它第一眼的时候，我就知道，这车，我是离不了了。</p>
<p><span id="more-215"></span></p>
<p>是的，那是一辆崭新的捷安特，静静的停在那里，等待着下一个慧眼识珠的主人。我的目光追随着她俊美的身形，久久挪不开视线。</p>
<p>胯下，是那头伴随了我3年多的小毛驴，已是迟暮之年。不忍让其累倒在工作岗位上，忍痛将其转让。</p>
<p>饶舌完毕，回到正题，算算经济账。</p>
<p>05年2月26号将其购入，到今天正好是3年零4个月。按每月平均工作21天，每天乘车花费2*2=4元计算，这些年来应该替我省了至少 4*21*40=￥3360，当初买车费用为￥1688，远远够本了。</p>
<p>今天去问了一下，这车还能卖400块，也就是说一共是 3360+400=￥3760。</p>
<p>现在有两个方案：</p>
<p>A、换新电池然后继续用，电池更换费用为350元</p>
<p>B、把电瓶车卖了，然后买那辆捷安特，估计也在4-500左右</p>
<p>闲来无事，分析分析两者的差别。</p>
<ul>
<li>电瓶车卖掉的价钱正好换来一辆自行车，从这点上来说成本没有变化。</li>
<li>但是如果电瓶车要继续使用，需要更换电池，也就是新增的成本。</li>
<li>新电瓶能够继续使用一年半左右，但是自行车保养得好可以使用3年以上。</li>
<li>自行车每月停车费比电瓶车少3块。</li>
<li>最重要的是，骑自行车可以让我这把久未运动的老骨头再次活动起来。</li>
</ul>
<p>综上，我只好另觅新欢了。亲爱的毛驴，再见了。谢谢你带给我的这些回忆。</p>
<p><img src="http://www.cube316.net/blog/wp-content/files/2008/06/e68891e79a84e794b5e793b6e8bda6.jpg" alt="我的电瓶车" title="我的电瓶车" width="400" height="241" class="alignnone size-full wp-image-216" /></p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/320494552" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200806/215.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200806%2F215.html</feedburner:awareness></item>
		<item>
		<title>《人月神话》读书笔记之二：效率</title>
		<link>http://www.cube316.net/blog/archives/200806/214.html</link>
		<comments>http://www.cube316.net/blog/archives/200806/214.html#comments</comments>
		<pubDate>Wed, 25 Jun 2008 14:50:13 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[ReadingNotes/读书笔记]]></category>

		<category><![CDATA[人月神话]]></category>

		<category><![CDATA[读书笔记]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=214</guid>
		<description><![CDATA[注：
本文为《我的读书笔记之人月神话》系列的第二篇，欢迎指正。
=============================================================
效率一直是困扰每个团队，特别是项目经理的一个大问题。作者从他数十年的项目经验（大部分是硬件或硬软件结合，但也适用于纯软件）中总结了若干模式，用于有效提升大型项目的开发效率。让我们一起略窥究竟。
对于大型的团队，作者提出了一个“外科医生”的模型，即：
将整个系统（项目）划分为若干子系统，每一部分由一个独立的团队承担，每个团队采取类似外科手术的操作方式进行开发：一个外科医生（首席程序员，有决定权），护士（副手，熟悉系统，和别的团队沟通交流），管理员（控制财务、人员、工作地点等的机构管理），编辑（文档维护），程序员，测试员，专家，其他人员（……）
通常对10人左右的编程团队而言，上述角色分工就足够了，其中管理员和专家可以同时为多个团队服务。团队间的协调，也因人数（外科医生）的减少而提高了效率。
这样就提出了一些新的问题：如何保证整个系统设计概念的完整性？

简单的来回答就是：需要系统架构师对整个系统系统的完整性进行比较好的设计和拆分。
一步一步来看：
我们的终极目标是：易用性（simplicity）。而衡量系统设计的最终测试标准是：功能与理解上复杂程度的比值。
这就要求我们用最简洁和直接的方式来处理业务，同时易用性需要设计的一致性和概念的完整性。
关于系统概念的完整性有若干点值得注意：

要求必须由少数结构师来决定，其余人员则可以在有限制的范围内更加有效的发挥创造力（没有规矩，不成方圆）
	结构师是需求的确定者和系统特征的确定者，拥有决定权。
要求系统只反映唯一的设计理念，用户所见的技术说明来自少数人的思想
	这个很好理解，这个世界总是由少数人领导大部分人的。

对于中间可能出现的一些问题，作者也做了详尽解释：

当估算过高时，需要削减设计或建议用成本更低的实现方式
	削减设计对于架构师而言是件很痛苦的事情，但有时候我们不得不如此。换低成本的实现方式只是建议，因为架构师不应该牵扯到具体的内部实现当中去。
过度设计
	这个和上面的有一点区别，前者更多的是出于经济和预算方面的考虑，这里是指年轻的（指经验不丰富，尤其是在开发第二个系统时）架构师会对系统有一些过多的修饰功能和想法。这时应根据系统的基本理念和目的变更，舍弃一些功能。

特别对于项目经理的建议：
坚持至少拥有两个以上系统开发经验的结构师的决定；保持对特殊诱惑的警觉，确保原则上的概念和目标再详细设计中得到完整的体现。
暂告一段落。
]]></description>
			<content:encoded><![CDATA[<p>注：</p>
<p>本文为《<a href="http://www.cube316.net/blog/archives/200806/210.html" target="_blank">我的读书笔记之人月神话</a>》系列的第二篇，欢迎指正。</p>
<p>=============================================================</p>
<p>效率一直是困扰每个团队，特别是项目经理的一个大问题。作者从他数十年的项目经验（大部分是硬件或硬软件结合，但也适用于纯软件）中总结了若干模式，用于有效提升大型项目的开发效率。让我们一起略窥究竟。</p>
<p>对于大型的团队，作者提出了一个“外科医生”的模型，即：</p>
<p>将整个系统（项目）划分为若干子系统，每一部分由一个独立的团队承担，每个团队采取类似外科手术的操作方式进行开发：一个外科医生（首席程序员，有决定权），护士（副手，熟悉系统，和别的团队沟通交流），管理员（控制财务、人员、工作地点等的机构管理），编辑（文档维护），程序员，测试员，专家，其他人员（……）</p>
<p>通常对10人左右的编程团队而言，上述角色分工就足够了，其中管理员和专家可以同时为多个团队服务。团队间的协调，也因人数（外科医生）的减少而提高了效率。</p>
<p>这样就提出了一些新的问题：如何保证整个系统设计概念的完整性？</p>
<p><span id="more-214"></span></p>
<p>简单的来回答就是：需要系统架构师对整个系统系统的完整性进行比较好的设计和拆分。</p>
<p>一步一步来看：</p>
<p>我们的终极目标是：易用性（simplicity）。而衡量系统设计的最终测试标准是：<strong>功能与理解上复杂程度的比值。</strong></p>
<p>这就要求我们用最简洁和直接的方式来处理业务，同时易用性需要设计的一致性和概念的完整性。</p>
<p>关于系统概念的完整性有若干点值得注意：</p>
<ul>
<li>要求必须由少数结构师来决定，其余人员则可以在有限制的范围内更加有效的发挥创造力（没有规矩，不成方圆）</li>
<p>	结构师是需求的确定者和系统特征的确定者，拥有决定权。</p>
<li>要求系统只反映唯一的设计理念，用户所见的技术说明来自少数人的思想</li>
<p>	这个很好理解，这个世界总是由少数人领导大部分人的。
</ul>
<p>对于中间可能出现的一些问题，作者也做了详尽解释：</p>
<ul>
<li>当估算过高时，需要削减设计或建议用成本更低的实现方式</li>
<p>	削减设计对于架构师而言是件很痛苦的事情，但有时候我们不得不如此。换低成本的实现方式只是建议，因为架构师不应该牵扯到具体的内部实现当中去。</p>
<li>过度设计</li>
<p>	这个和上面的有一点区别，前者更多的是出于经济和预算方面的考虑，这里是指年轻的（指经验不丰富，尤其是在开发第二个系统时）架构师会对系统有一些过多的修饰功能和想法。这时应根据系统的基本理念和目的变更，舍弃一些功能。
</ul>
<p>特别对于项目经理的建议：</p>
<p>坚持至少拥有两个以上系统开发经验的结构师的决定；保持对特殊诱惑的警觉，<strong>确保原则上的概念和目标再详细设计中得到完整的体现</strong>。</p>
<p>暂告一段落。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/319762240" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200806/214.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200806%2F214.html</feedburner:awareness></item>
		<item>
		<title>可怕的健忘症</title>
		<link>http://www.cube316.net/blog/archives/200806/213.html</link>
		<comments>http://www.cube316.net/blog/archives/200806/213.html#comments</comments>
		<pubDate>Tue, 24 Jun 2008 01:55:50 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=213</guid>
		<description><![CDATA[今早出门，把门关上的那一刻，又发现忘带钥匙了，手里还提着那沉重的电瓶。
这次运气没有那么好，打电话给房东不在家，只好晚上再说了。
大热天的挤了一个钟头的公交车，真是受罪不小。看来这个健忘症该治治了，俺还那么年轻的说。
有谁知道什么食物有助于提高记忆力的，吱个声吧。
]]></description>
			<content:encoded><![CDATA[<p>今早出门，把门关上的那一刻，又发现忘带钥匙了，手里还提着那沉重的电瓶。</p>
<p>这次运气没有那么好，打电话给房东不在家，只好晚上再说了。</p>
<p>大热天的挤了一个钟头的公交车，真是受罪不小。看来这个健忘症该治治了，俺还那么年轻的说。</p>
<p>有谁知道什么食物有助于提高记忆力的，吱个声吧。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/318529977" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200806/213.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200806%2F213.html</feedburner:awareness></item>
		<item>
		<title>《人月神话》读书笔记之一：进度</title>
		<link>http://www.cube316.net/blog/archives/200806/211.html</link>
		<comments>http://www.cube316.net/blog/archives/200806/211.html#comments</comments>
		<pubDate>Sun, 22 Jun 2008 14:51:11 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[ReadingNotes/读书笔记]]></category>

		<category><![CDATA[人月神话]]></category>

		<category><![CDATA[读书笔记]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=211</guid>
		<description><![CDATA[注：
本文为《我的读书笔记之人月神话》系列的第一篇，欢迎指正。
=============================================================
文章的开头是很美的一段：

Good cooking takes time. If you are made to wait, it is to serve you better, and to please you.
美食的烹调需要时间；片刻的等待，更多美味，更多享受。
&#8212;- Menu on restaurant Antoine, New Orleans.

相信所有的饕客都会对此感同身受，频频点头。作者可能是想藉此说明，软件开发就如同美食烹调，都是循序渐进，有章可循的。贸然跃进，可能只会适得其反。
接下来，开篇就提出了全书最重要的观点：人月(Man Month)不能互换。
长期以来有一种观点认为，一个软件项目，如果需要3个人做4月的话，那么4个人做3个月也可以完成。通俗的来讲，就是效率（或者说进度）会随着人数的增派而相应提升，从而缩短了整体的时间。事实上，在阅读此书之前，排除一些细小因素（比如人员个体差异等），我大体上也是这么想的。
不成立的原因有很多，作者给出了如下几点（每项后面的是我的注解，下同）：

项目时间依赖于顺序上的限制
	确实如此，但如果每个环节上都增派了人手，似乎对进度提升还是有帮助的。
人员培训和交流的时间更多
	这个就是我所说的个体差异了。但是交流成本的增加确实是我事先没有想到的。
有些任务是不能拆解的，添加人手对进度没有帮助
	碰到过类似情况，有一个任务在身，Leader分配了另外一人来帮忙，结果给他解释的功夫自己做完都足够了。
人员的增加会引起模块的重新划分，从而导致测试的延长
	没有想到过，但是觉得很有道理。

当然，对于何时成立的情况作者也给出了说明（如图所示）：



也就是当 y = N/x （N为常数，即总的工作量）的时候才成立，换句话说就是两者（人力，时间）乘积恒定为常数。当然这是我的分析，作者并未明确指出这一点。
另外，他还列举了缺乏合理进度安排的若干原因：

对估算技术缺乏有效的研究
	这个尚待研究，确实需要补充学习。
错误的隐含假设人、日可以互换，将进度与工作量混淆
由于缺乏信心，软件经理不会有耐心持续估算
对进度缺少跟踪和监督
	有经验的项目经理可能会在这方面做一些努力和尝试，但是目前为止我还没有见到过实际应用中特别成功的例子。
意识到进度有偏移时，下意识的反应是增加人力
	wrong decision!

最后作者给出了他认为的进度安排的经验法则：

1/3计划
1/6编码
1/4构件测试和早期系统测试
1/4系统测试，所有的构件已完成

放在目前中国的大部分项目上来看，可能很少有团队能够按照这个比例来做事。这个也有可能是跟他所从事的一直是大型项目（比如IBM的OS/360）有关，到那个Level的感觉就不是我现在所能体会的了，但有了良好的设计做前提保障，编码确实是可以花最少时间的部分。
作者中间还放了一个煎蛋的启示：

如果煎一个鸡蛋需要2分钟，而客户想在1分钟内得到，那么只能坚持让他等待，或者生吃。否则蛋会因为火太旺而变得一半焦，一半却是生的。

即：
不要为了满足客户的期望，而设定不合理的进度安排（坚持自己的估计——基于充分的经验和直觉）
从我有限的项目经验来看，中国的客户更倾向于做上帝。他们可能希望你在指定时间内把产品交付出来，至于说后期的bug之类，可以慢慢补（菜里面忘记放盐了，不好意思，我再回一下锅 :P）。而国外的客户则更青睐于使用相对比较成熟和稳定的产品，而不是依靠后期的不断修正（微软，我不是故意说你的 ^_^）。
最后，以Brooks法则来结束此文：

向已经进度落后的项目中增加人手，只会使进度更加落后。
Adding man power to a late software project makes it later.

顺便提一下Solution：重新安排进度；削减任务。
先到这里吧。
]]></description>
			<content:encoded><![CDATA[<p>注：</p>
<p>本文为《<a href="http://www.cube316.net/blog/archives/200806/210.html" target="_blank">我的读书笔记之人月神话</a>》系列的第一篇，欢迎指正。</p>
<p>=============================================================</p>
<p>文章的开头是很美的一段：</p>
<blockquote><p>
Good cooking takes time. If you are made to wait, it is to serve you better, and to please you.<br />
美食的烹调需要时间；片刻的等待，更多美味，更多享受。</p>
<p>&#8212;- Menu on restaurant Antoine, New Orleans.
</p></blockquote>
<p>相信所有的饕客都会对此感同身受，频频点头。作者可能是想藉此说明，软件开发就如同美食烹调，都是循序渐进，有章可循的。贸然跃进，可能只会适得其反。</p>
<p>接下来，开篇就提出了全书最重要的观点：<strong>人月(Man Month)不能互换</strong>。</p>
<p>长期以来有一种观点认为，一个软件项目，如果需要3个人做4月的话，那么4个人做3个月也可以完成。通俗的来讲，就是效率（或者说进度）会随着人数的增派而相应提升，从而缩短了整体的时间。事实上，在阅读此书之前，排除一些细小因素（比如人员个体差异等），我大体上也是这么想的。</p>
<p>不成立的原因有很多，作者给出了如下几点（每项后面的是我的注解，下同）：</p>
<ol>
<li>项目时间依赖于顺序上的限制</li>
<p>	确实如此，但如果每个环节上都增派了人手，似乎对进度提升还是有帮助的。</p>
<li>人员培训和交流的时间更多</li>
<p>	这个就是我所说的个体差异了。但是交流成本的增加确实是我事先没有想到的。</p>
<li>有些任务是不能拆解的，添加人手对进度没有帮助</li>
<p>	碰到过类似情况，有一个任务在身，Leader分配了另外一人来帮忙，结果给他解释的功夫自己做完都足够了。</p>
<li>人员的增加会引起模块的重新划分，从而导致测试的延长</li>
<p>	没有想到过，但是觉得很有道理。
</ol>
<p>当然，对于何时成立的情况作者也给出了说明（如图所示）：</p>
<p><span id="more-211"></span></p>
<p><img src="http://www.cube316.net/blog/wp-content/files/2008/06/man_month.png" alt="Man Month Diagram" title="Man Month Diagram" width="254" height="224" class="alignnone size-full wp-image-212" /></p>
<div style="clear:both"></div>
<p>也就是当 y = N/x （N为常数，即总的工作量）的时候才成立，换句话说就是两者（人力，时间）乘积恒定为常数。当然这是我的分析，作者并未明确指出这一点。</p>
<p>另外，他还列举了缺乏合理进度安排的若干原因：</p>
<ol>
<li>对估算技术缺乏有效的研究</li>
<p>	这个尚待研究，确实需要补充学习。</p>
<li>错误的隐含假设人、日可以互换，将进度与工作量混淆</li>
<li>由于缺乏信心，软件经理不会有耐心持续估算</li>
<li>对进度缺少跟踪和监督</li>
<p>	有经验的项目经理可能会在这方面做一些努力和尝试，但是目前为止我还没有见到过实际应用中特别成功的例子。</p>
<li>意识到进度有偏移时，下意识的反应是增加人力</li>
<p>	wrong decision!
</ol>
<p>最后作者给出了他认为的进度安排的经验法则：</p>
<ul>
<li>1/3计划</li>
<li>1/6编码</li>
<li>1/4构件测试和早期系统测试</li>
<li>1/4系统测试，所有的构件已完成</li>
</ul>
<p>放在目前中国的大部分项目上来看，可能很少有团队能够按照这个比例来做事。这个也有可能是跟他所从事的一直是大型项目（比如IBM的OS/360）有关，到那个Level的感觉就不是我现在所能体会的了，但有了良好的设计做前提保障，编码确实是可以花最少时间的部分。</p>
<p>作者中间还放了一个煎蛋的启示：</p>
<blockquote><p>
如果煎一个鸡蛋需要2分钟，而客户想在1分钟内得到，那么只能坚持让他等待，或者生吃。否则蛋会因为火太旺而变得一半焦，一半却是生的。
</p></blockquote>
<p>即：</p>
<p><strong>不要为了满足客户的期望，而设定不合理的进度安排（坚持自己的估计——基于充分的经验和直觉）</strong></p>
<p>从我有限的项目经验来看，中国的客户更倾向于做上帝。他们可能希望你在指定时间内把产品交付出来，至于说后期的bug之类，可以慢慢补（菜里面忘记放盐了，不好意思，我再回一下锅 :P）。而国外的客户则更青睐于使用相对比较成熟和稳定的产品，而不是依靠后期的不断修正（微软，我不是故意说你的 ^_^）。</p>
<p>最后，以Brooks法则来结束此文：</p>
<blockquote><p>
向已经进度落后的项目中增加人手，只会使进度更加落后。<br />
Adding man power to a late software project makes it later.
</p></blockquote>
<p>顺便提一下Solution：重新安排进度；削减任务。</p>
<p>先到这里吧。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/317473818" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200806/211.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200806%2F211.html</feedburner:awareness></item>
		<item>
		<title>我的读书笔记之人月神话</title>
		<link>http://www.cube316.net/blog/archives/200806/210.html</link>
		<comments>http://www.cube316.net/blog/archives/200806/210.html#comments</comments>
		<pubDate>Thu, 19 Jun 2008 13:19:54 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[ReadingNotes/读书笔记]]></category>

		<category><![CDATA[人月神话]]></category>

		<category><![CDATA[读书笔记]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=210</guid>
		<description><![CDATA[《The Mythical Man-Month》，说起来这本书已经耳闻很久了，最近才有心思静下来阅读。这里将会收录一些在此过程中的摘录和心得体会，未必正确，仅供参考。
作者：
Frederick P.Brooks.Jr.
简介：

在软件领域，很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的简介，既有很多发人深省的观点，又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验，该项目堪称软件开发项目管理的典范……

//以下列表会持续更新直到阅读完毕

《人月神话》读书笔记之一：进度
《人月神话》读书笔记之二：效率
《人月神话》读书笔记之三：执行
《人月神话》读书笔记之四：规模

]]></description>
			<content:encoded><![CDATA[<p>《The Mythical Man-Month》，说起来这本书已经耳闻很久了，最近才有心思静下来阅读。这里将会收录一些在此过程中的摘录和心得体会，未必正确，仅供参考。</p>
<p>作者：<br />
Frederick P.Brooks.Jr.</p>
<p>简介：</p>
<blockquote><p>
在软件领域，很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的简介，既有很多发人深省的观点，又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验，该项目堪称软件开发项目管理的典范……
</p></blockquote>
<p>//以下列表会持续更新直到阅读完毕</p>
<ol>
<li><a href="http://www.cube316.net/blog/archives/200806/211.html" target="_blank">《人月神话》读书笔记之一：进度</a></li>
<li><a href="http://www.cube316.net/blog/archives/200806/214.html" target="_blank">《人月神话》读书笔记之二：效率</a></li>
<li><a href="http://www.cube316.net/blog/archives/200807/217.html" target="_blank">《人月神话》读书笔记之三：执行</a></li>
<li><a href="http://www.cube316.net/blog/archives/200808/227.html" target="_blank">《人月神话》读书笔记之四：规模</a></li>
</ol>
<img src="http://feeds.feedburner.com/~r/cube316/~4/315416463" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200806/210.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200806%2F210.html</feedburner:awareness></item>
		<item>
		<title>系统时钟（定时器）可以作为Actor吗？</title>
		<link>http://www.cube316.net/blog/archives/200806/208.html</link>
		<comments>http://www.cube316.net/blog/archives/200806/208.html#comments</comments>
		<pubDate>Mon, 16 Jun 2008 07:10:00 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[UML]]></category>

		<category><![CDATA[actor]]></category>

		<category><![CDATA[clock]]></category>

		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=208</guid>
		<description><![CDATA[通常，在一些有定时自动执行功能（类似于计划任务）的系统中，画UML图的时候经常会出现这样的争议：
到底系统时钟（定时器）可以作为Actor来画吗？
下面的文件可能正好解答了你的疑惑：点击查看
如果你只想简单的知道答案，Here it is：不推荐。
处理方法：

将Time作为Secondary Actor
Use case中不加入Time，详情放在Architect文档中说明

详情可参阅上述附件。
]]></description>
			<content:encoded><![CDATA[<p>通常，在一些有定时自动执行功能（类似于<strong>计划任务</strong>）的系统中，画UML图的时候经常会出现这样的争议：</p>
<p><strong>到底系统时钟（定时器）可以作为Actor来画吗？</strong></p>
<p>下面的文件可能正好解答了你的疑惑：<a href='http://www.cube316.net/blog/wp-content/files/2008/06/drusecasejun02.pdf'>点击查看</a></p>
<p>如果你只想简单的知道答案，Here it is：<strong>不推荐</strong>。</p>
<p>处理方法：</p>
<ol>
<li>将Time作为Secondary Actor</li>
<li>Use case中不加入Time，详情放在Architect文档中说明</li>
</ol>
<p>详情可参阅上述附件。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/312836772" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200806/208.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200806%2F208.html</feedburner:awareness></item>
		<item>
		<title>绿色象征着什么</title>
		<link>http://www.cube316.net/blog/archives/200806/207.html</link>
		<comments>http://www.cube316.net/blog/archives/200806/207.html#comments</comments>
		<pubDate>Tue, 10 Jun 2008 07:38:15 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=207</guid>
		<description><![CDATA[绿色象征着什么？
新浪的广告正迫不及待的告诉我们：
绿色是生命！
绿色是希望！
在那下面，是我同样葱翠碧绿的股票交易记录，还有将近-20%的盈亏率
真他妈讽刺！
]]></description>
			<content:encoded><![CDATA[<p>绿色象征着什么？</p>
<p>新浪的广告正迫不及待的告诉我们：</p>
<blockquote><p>绿色是生命！<br />
绿色是希望！</p></blockquote>
<p>在那下面，是我同样葱翠碧绿的股票交易记录，还有将近-20%的盈亏率</p>
<p>真他妈讽刺！</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/308640410" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200806/207.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200806%2F207.html</feedburner:awareness></item>
		<item>
		<title>去除PDF文件的数字签名及密码保护 - updated</title>
		<link>http://www.cube316.net/blog/archives/200805/204.html</link>
		<comments>http://www.cube316.net/blog/archives/200805/204.html#comments</comments>
		<pubDate>Fri, 23 May 2008 03:18:51 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[常用技巧/Tips]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=204</guid>
		<description><![CDATA[This article aimed to discuss how to remove &#8220;certificate security&#8221; restrictions from pdf files, which is now removed.
thanks a lot for your concern.
涉及违反法律的内容，已经删除。
]]></description>
			<content:encoded><![CDATA[<p>This article aimed to discuss how to remove &#8220;certificate security&#8221; restrictions from pdf files, which is now removed.</p>
<p>thanks a lot for your concern.</p>
<p>涉及违反法律的内容，已经删除。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/296272961" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200805/204.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200805%2F204.html</feedburner:awareness></item>
		<item>
		<title>Keep in mind</title>
		<link>http://www.cube316.net/blog/archives/200805/203.html</link>
		<comments>http://www.cube316.net/blog/archives/200805/203.html#comments</comments>
		<pubDate>Mon, 19 May 2008 14:31:10 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=203</guid>
		<description><![CDATA[You are never as important as you thought you were.
Stay clear and keep that in mind.
]]></description>
			<content:encoded><![CDATA[<p>You are never as important as you thought you were.</p>
<p>Stay clear and keep that in mind.</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/293528881" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200805/203.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200805%2F203.html</feedburner:awareness></item>
		<item>
		<title>生命至上</title>
		<link>http://www.cube316.net/blog/archives/200805/198.html</link>
		<comments>http://www.cube316.net/blog/archives/200805/198.html#comments</comments>
		<pubDate>Fri, 16 May 2008 08:14:28 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=198</guid>
		<description><![CDATA[1978年，我还没有出世。对于那些在沉睡中逝去的生命，多少有些茫然。2008年，我就在这里，经历了一切，目睹了一切（通过电视、网络）。在大自然的面前，人类的那些科技显得如此苍白可笑。多少鲜活的生命，就这样永远的沉寂下去。
现在，还不是去计较，去追究，去感慨的时候。汶川，这个将被亿万中国人永远铭记的地方，那里的人们，需要你我的帮助。除了默默为他们祈福外，我们还可以尽自己的一点努力，去尽量挽救一些幸存者。众志成城，相信灾区的人们一定可以见到风雨之后的彩虹。
需要捐款的，可以参见下面的信息：

想要在自己的blog上挂此banner的，请参阅：
http://plod.popoever.com/archives/001372.html
]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.cube316.net/blog/wp-content/files/2008/05/pray.jpg" alt="pray for the death" title="pray for the death" width="400" height="266" class="alignleft size-full wp-image-200" />1978年，我还没有出世。对于那些在沉睡中逝去的生命，多少有些茫然。2008年，我就在这里，经历了一切，目睹了一切（通过电视、网络）。在大自然的面前，人类的那些科技显得如此苍白可笑。多少鲜活的生命，就这样永远的沉寂下去。</p>
<p>现在，还不是去计较，去追究，去感慨的时候。汶川，这个将被亿万中国人永远铭记的地方，那里的人们，需要你我的帮助。除了默默为他们祈福外，我们还可以尽自己的一点努力，去尽量挽救一些幸存者。众志成城，相信灾区的人们一定可以见到风雨之后的彩虹。</p>
<p>需要捐款的，可以参见下面的信息：</p>
<p><img src="http://www.cube316.net/blog/wp-content/files/2008/05/redcross.png" alt="donate to redcross" title="donate to redcross" width="468" height="200" class="alignnone size-full wp-image-202" /></p>
<p>想要在自己的blog上挂此banner的，请参阅：</p>
<p><a href="http://plod.popoever.com/archives/001372.html" target="_blank">http://plod.popoever.com/archives/001372.html</a></p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/291497619" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200805/198.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200805%2F198.html</feedburner:awareness></item>
		<item>
		<title>Windows下的最长文件路径</title>
		<link>http://www.cube316.net/blog/archives/200805/197.html</link>
		<comments>http://www.cube316.net/blog/archives/200805/197.html#comments</comments>
		<pubDate>Mon, 12 May 2008 08:07:54 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Programming/编程相关]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=197</guid>
		<description><![CDATA[从来没有遇到过也没有去想过的问题，今天机缘巧合碰上了。
事情发生在把Eclipse的各个插件合并起来，准备做一个All-in-one的package的时候。Total Commander 一直报拷贝出错，还以为是以前经常碰到的Linux下大小写文件在windows下重名冲突的问题，仔细看了之后并非如此。一层层目录定位下去，出错的文件并无特殊之处。想了想可能是路径太长的原因，把它移到上层目录果然问题消失。
算了一下，连带路径分隔符“\”及文件名本身，最大支持259个字符（系统为XP,SP2）。
特此记录一下。
]]></description>
			<content:encoded><![CDATA[<p>从来没有遇到过也没有去想过的问题，今天机缘巧合碰上了。</p>
<p>事情发生在把Eclipse的各个插件合并起来，准备做一个All-in-one的package的时候。Total Commander 一直报拷贝出错，还以为是以前经常碰到的Linux下大小写文件在windows下重名冲突的问题，仔细看了之后并非如此。一层层目录定位下去，出错的文件并无特殊之处。想了想可能是路径太长的原因，把它移到上层目录果然问题消失。</p>
<p>算了一下，连带路径分隔符“\”及文件名本身，最大支持259个字符（系统为XP,SP2）。</p>
<p>特此记录一下。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/288534330" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200805/197.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200805%2F197.html</feedburner:awareness></item>
		<item>
		<title>梦呓·日本</title>
		<link>http://www.cube316.net/blog/archives/200805/196.html</link>
		<comments>http://www.cube316.net/blog/archives/200805/196.html#comments</comments>
		<pubDate>Wed, 07 May 2008 10:59:55 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<category><![CDATA[日本]]></category>

		<category><![CDATA[梦]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=196</guid>
		<description><![CDATA[昨晚做了一个梦，是有关日本的。
梦中自己身处日本，奈何早先学校记的一点日语，除了“斯密马赛”在某个角落尚有备份还能张口就来之外，其他早已被做了格式化。似乎想去某个地方，和路旁小店里头老头老太（脸太糊了，记不真切）打听路线，指手画脚做了半天只有自己看得懂的手势，无济于事，只能仰天长叹做困兽状。
不知此梦何解，望达人指教一二。
今天白天在公司上了会MSN。很久没有在这个时间段上线，忽然飘过来一句话：来得正好，找你。原来是在日本的一个同学，询问我是否有前去发展的意图。聊了半天，最后伊来了一句：就算不来工作，来日本看看樱花，赏赏风景也是不错啊。
甚为诡异。
后面又收得邮件若干，有网上盛传之戏弄日本人笑话数则，时评一篇，杂文不等，均与此国有关。
甚为不解。
还是不解。
莫非真有传说中的记忆往复，可在特定时刻，将以往依稀淡忘之事跑马灯一般调出来？如同小时家门口屋檐下那口用来接雨水的缸，平时瞧着里头之水很是澄清，调皮的用棍子搅拌几下，便看到那沉积之物晃悠悠的浮上了水面。
继续胡思乱想中，却不再胡言乱语。
]]></description>
			<content:encoded><![CDATA[<p>昨晚做了一个梦，是有关日本的。</p>
<p>梦中自己身处日本，奈何早先学校记的一点日语，除了“斯密马赛”在某个角落尚有备份还能张口就来之外，其他早已被做了格式化。似乎想去某个地方，和路旁小店里头老头老太（脸太糊了，记不真切）打听路线，指手画脚做了半天只有自己看得懂的手势，无济于事，只能仰天长叹做困兽状。</p>
<p>不知此梦何解，望达人指教一二。</p>
<p>今天白天在公司上了会MSN。很久没有在这个时间段上线，忽然飘过来一句话：来得正好，找你。原来是在日本的一个同学，询问我是否有前去发展的意图。聊了半天，最后伊来了一句：就算不来工作，来日本看看樱花，赏赏风景也是不错啊。</p>
<p>甚为诡异。</p>
<p>后面又收得邮件若干，有网上盛传之戏弄日本人笑话数则，时评一篇，杂文不等，均与此国有关。</p>
<p>甚为不解。</p>
<p>还是不解。</p>
<p>莫非真有传说中的记忆往复，可在特定时刻，将以往依稀淡忘之事跑马灯一般调出来？如同小时家门口屋檐下那口用来接雨水的缸，平时瞧着里头之水很是澄清，调皮的用棍子搅拌几下，便看到那沉积之物晃悠悠的浮上了水面。</p>
<p>继续胡思乱想中，却不再胡言乱语。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/285290912" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200805/196.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200805%2F196.html</feedburner:awareness></item>
		<item>
		<title>英雄迟暮</title>
		<link>http://www.cube316.net/blog/archives/200805/194.html</link>
		<comments>http://www.cube316.net/blog/archives/200805/194.html#comments</comments>
		<pubDate>Sun, 04 May 2008 14:02:05 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[Default/默认分类]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=194</guid>
		<description><![CDATA[趁着blog刚刚升级好，随便说两句。
中央五套在重播奥沙利文对阵亨得利的半决赛，看了两局，关了电视。倒不是对比赛本身失去了兴致，而是这场对决，对于亨得利而言无异于谢幕表演，不忍再看。
王者之气仍在，坚毅冷峻的眼神也是丝毫不亚当年，缺失的怕是那股遇妖除妖、遇魔伏魔的霸气。可能生活琐事和对家庭的眷恋让这位昔日的王者分心太多，又或者岁月不饶人，体力精力都已经无法跟巅峰时代相提并论。曾经的台球皇帝，已经沦为自嘲支持者不过一二。这次的世锦赛，要不是小将马克·艾伦缺少经验在赛点上连丢数局，亨得利怕是早已止步于八强之外了。
诚然，你可以很乐观的说，他已经没有什么遗憾了。那么多的荣誉背负在身，那么多的超级记录让后人难以望其项背。在斯诺克的史书上，必然会有Stephen Hendry的名字深深镌刻其上。不过，看着自己身上的光环一点点的消逝，从云端跌落回凡间，还有比这更最凄凉的事情么？有些运动员在自己的职业巅峰状态忽然宣布退役，多少是想将那最亮最美好的尖峰时刻尘封起来，让人们记住他最潇洒的时刻。
英雄迟暮，恐怕就是这个样子吧？

]]></description>
			<content:encoded><![CDATA[<p>趁着blog刚刚升级好，随便说两句。</p>
<p>中央五套在重播奥沙利文对阵亨得利的半决赛，看了两局，关了电视。倒不是对比赛本身失去了兴致，而是这场对决，对于亨得利而言无异于谢幕表演，不忍再看。</p>
<p>王者之气仍在，坚毅冷峻的眼神也是丝毫不亚当年，缺失的怕是那股遇妖除妖、遇魔伏魔的霸气。可能生活琐事和对家庭的眷恋让这位昔日的王者分心太多，又或者岁月不饶人，体力精力都已经无法跟巅峰时代相提并论。曾经的台球皇帝，已经沦为自嘲支持者不过一二。这次的世锦赛，要不是小将马克·艾伦缺少经验在赛点上连丢数局，亨得利怕是早已止步于八强之外了。</p>
<p>诚然，你可以很乐观的说，他已经没有什么遗憾了。那么多的荣誉背负在身，那么多的超级记录让后人难以望其项背。在斯诺克的史书上，必然会有Stephen Hendry的名字深深镌刻其上。不过，看着自己身上的光环一点点的消逝，从云端跌落回凡间，还有比这更最凄凉的事情么？有些运动员在自己的职业巅峰状态忽然宣布退役，多少是想将那最亮最美好的尖峰时刻尘封起来，让人们记住他最潇洒的时刻。</p>
<p>英雄迟暮，恐怕就是这个样子吧？</p>
<p><img src="http://www.cube316.net/blog/wp-content/files/2008/05/stephen_hendry.jpg" alt="Stephen Hendry" title="Stephen Hendry" width="400" height="266" class="alignnone size-full wp-image-195" /></p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283317929" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200805/194.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200805%2F194.html</feedburner:awareness></item>
		<item>
		<title>Update 2008.05.04</title>
		<link>http://www.cube316.net/blog/archives/200805/193.html</link>
		<comments>http://www.cube316.net/blog/archives/200805/193.html#comments</comments>
		<pubDate>Sun, 04 May 2008 09:11:43 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[UpdateLog/更新日志]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/?p=193</guid>
		<description><![CDATA[
Update to wordpress 2.5.1
Plugins and themes update
Turn permanent link address into *.html
Remove redundant directories/files/databases on server

]]></description>
			<content:encoded><![CDATA[<ul>
<li>Update to wordpress 2.5.1</li>
<li>Plugins and themes update</li>
<li>Turn permanent link address into *.html</li>
<li>Remove redundant directories/files/databases on server</li>
</ul>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283206384" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200805/193.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200805%2F193.html</feedburner:awareness></item>
		<item>
		<title>Target 20080428~20080504</title>
		<link>http://www.cube316.net/blog/archives/200804/191.html</link>
		<comments>http://www.cube316.net/blog/archives/200804/191.html#comments</comments>
		<pubDate>Mon, 28 Apr 2008 02:16:20 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[DailyTarget/每日一标]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/archives/200804/191</guid>
		<description><![CDATA[
Folder structure reorganization on the server, remove redundant files
Upgrade blog version to 2.5.1
Review php framework and release a beta version
Finish huzhoujk construction

]]></description>
			<content:encoded><![CDATA[<ol>
<li>Folder structure reorganization on the server, remove redundant files</li>
<li>Upgrade blog version to 2.5.1</li>
<li>Review php framework and release a beta version</li>
<li>Finish huzhoujk construction</li>
</ol>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283197481" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200804/191.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200804%2F191.html</feedburner:awareness></item>
		<item>
		<title>闲情午后</title>
		<link>http://www.cube316.net/blog/archives/200804/190.html</link>
		<comments>http://www.cube316.net/blog/archives/200804/190.html#comments</comments>
		<pubDate>Sun, 13 Apr 2008 11:28:38 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/archives/200804/190</guid>
		<description><![CDATA[朋友说，很久没有见你写blog了。当然，那些技术性的文章除外。
一直顶着忙的名义，给自己强加各式的活动。这个下午，当它悠然的空出来与我相伴的时候，那种似曾相识的感觉又回到了从前。
在音乐论坛上闲逛着，顺着推荐的曲目，感触着那些或沉重或轻缓的音符，任由各个角落发出的异国声音，载着自己穿梭于世纪前后。手边，微香的龙井；耳畔，悠扬的苏格兰风笛；面前，鲜绿的植物，生机勃勃的准备迎接又一个盛夏。一抬眼，浮云也在冲我微笑。
这一刻，没有电脑，没有搜索引擎，没有生存的烦恼，没有一切切的纷繁复杂。唯一需要的，就是倚着躺椅，在阳光下缓缓的睡过去。
世界并没有改变太多，改变的是我们。匆匆行路的时候，偶尔停下来看看路边的风景，真好。
]]></description>
			<content:encoded><![CDATA[<p>朋友说，很久没有见你写blog了。当然，那些技术性的文章除外。</p>
<p>一直顶着忙的名义，给自己强加各式的活动。这个下午，当它悠然的空出来与我相伴的时候，那种似曾相识的感觉又回到了从前。</p>
<p>在<a href="http://club.xialala.com/" target="_blank">音乐论坛</a>上闲逛着，顺着推荐的曲目，感触着那些或沉重或轻缓的音符，任由各个角落发出的异国声音，载着自己穿梭于世纪前后。手边，微香的龙井；耳畔，悠扬的苏格兰风笛；面前，鲜绿的植物，生机勃勃的准备迎接又一个盛夏。一抬眼，浮云也在冲我微笑。</p>
<p>这一刻，没有电脑，没有搜索引擎，没有生存的烦恼，没有一切切的纷繁复杂。唯一需要的，就是倚着躺椅，在阳光下缓缓的睡过去。</p>
<p>世界并没有改变太多，改变的是我们。匆匆行路的时候，偶尔停下来看看路边的风景，真好。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283197482" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200804/190.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200804%2F190.html</feedburner:awareness></item>
		<item>
		<title>Came to MileStone1</title>
		<link>http://www.cube316.net/blog/archives/200804/189.html</link>
		<comments>http://www.cube316.net/blog/archives/200804/189.html#comments</comments>
		<pubDate>Thu, 10 Apr 2008 14:57:40 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[DailyTarget/每日一标]]></category>

		<category><![CDATA[Default/默认分类]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/archives/200804/189</guid>
		<description><![CDATA[Congratulations to myself.
Let&#8217;s take a break.
]]></description>
			<content:encoded><![CDATA[<p>Congratulations to myself.</p>
<p>Let&#8217;s take a break.</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283197483" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200804/189.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200804%2F189.html</feedburner:awareness></item>
		<item>
		<title>Ideas</title>
		<link>http://www.cube316.net/blog/archives/200804/187.html</link>
		<comments>http://www.cube316.net/blog/archives/200804/187.html#comments</comments>
		<pubDate>Mon, 07 Apr 2008 03:05:43 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/archives/200804/187</guid>
		<description><![CDATA[http://www.baibanbao.net/?p=1444
BBS 图片分享 旅行故事分享
http://www.tripntale.com/
]]></description>
			<content:encoded><![CDATA[<p>http://www.baibanbao.net/?p=1444</p>
<p>BBS 图片分享 旅行故事分享</p>
<p>http://www.tripntale.com/</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283197484" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200804/187.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200804%2F187.html</feedburner:awareness></item>
		<item>
		<title>吉人自有天相</title>
		<link>http://www.cube316.net/blog/archives/200803/186.html</link>
		<comments>http://www.cube316.net/blog/archives/200803/186.html#comments</comments>
		<pubDate>Mon, 31 Mar 2008 13:40:02 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/archives/200803/186</guid>
		<description><![CDATA[晚上收到消息，年迈的外婆近日病重，介于清醒和糊涂之间，怕是时日不多。
悄然毅然，有些事情还是默默的走到我们面前。老人家素来身体健康，胃口尚佳，但是时间还是以它的方式，无情的缓步向前推移。生老病死，本是无法避免之事，当发生或即将发生在自己亲近之人身上的时候，却总归会有那种挥之不去的哀愁涌上心头。
外婆以九十一之高龄，坚强的越过了二十一世纪，见证着诸多变迁，如今也算是安享天年，儿孙满堂（最大的重孙早已结婚，怕是重重孙也要呼之欲出）。倒是我这个最小的外孙，却还总让老人家惦记着。半梦半醒之间，病榻之上，仍不忘嘱咐我妈让我早点成家立业。如此关切，除了最疼爱自己的外婆，恐难再有出其右者。
人总要在生离死别的时刻，才忽然体会到逝去时光的珍贵。有些东西，真的离我们好近好近。
愿吉人自有天相。
]]></description>
			<content:encoded><![CDATA[<p>晚上收到消息，年迈的外婆近日病重，介于清醒和糊涂之间，怕是时日不多。</p>
<p>悄然毅然，有些事情还是默默的走到我们面前。老人家素来身体健康，胃口尚佳，但是时间还是以它的方式，无情的缓步向前推移。生老病死，本是无法避免之事，当发生或即将发生在自己亲近之人身上的时候，却总归会有那种挥之不去的哀愁涌上心头。</p>
<p>外婆以九十一之高龄，坚强的越过了二十一世纪，见证着诸多变迁，如今也算是安享天年，儿孙满堂（最大的重孙早已结婚，怕是重重孙也要呼之欲出）。倒是我这个最小的外孙，却还总让老人家惦记着。半梦半醒之间，病榻之上，仍不忘嘱咐我妈让我早点成家立业。如此关切，除了最疼爱自己的外婆，恐难再有出其右者。</p>
<p>人总要在生离死别的时刻，才忽然体会到逝去时光的珍贵。有些东西，真的离我们好近好近。</p>
<p>愿吉人自有天相。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283197485" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200803/186.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200803%2F186.html</feedburner:awareness></item>
		<item>
		<title>Protected: Long term career plan</title>
		<link>http://www.cube316.net/blog/archives/200803/185.html</link>
		<comments>http://www.cube316.net/blog/archives/200803/185.html#comments</comments>
		<pubDate>Wed, 26 Mar 2008 15:18:16 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[DailyTarget/每日一标]]></category>

		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<category><![CDATA[plan]]></category>

		<category><![CDATA[target]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/archives/200803/185</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://www.cube316.net/blog/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-185">Password:<br />
<input name="post_password" id="pwbox-185" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283197486" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200803/185.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200803%2F185.html</feedburner:awareness></item>
		<item>
		<title>Some explanation</title>
		<link>http://www.cube316.net/blog/archives/200803/184.html</link>
		<comments>http://www.cube316.net/blog/archives/200803/184.html#comments</comments>
		<pubDate>Wed, 26 Mar 2008 15:03:31 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[LifeThoughts/生活随笔]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/archives/200803/184</guid>
		<description><![CDATA[It&#8217;s a little bit hard for me to keep on and focus on the daily target these days, as everything is quite busy around, both working and life.
Recently I have made a long term plan for my job career, in another post (password protected), and some guidlines for my personal life as well, which is [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a little bit hard for me to keep on and focus on the <strong>daily</strong> target these days, as everything is quite busy around, both working and life.</p>
<p>Recently I have made a long term plan for my job career, in <a href="/blog/archives/200803/185">another post</a> (password protected), and some guidlines for my personal life as well, which is also private and confidential<br />
 <img src='http://www.cube316.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway, I will still try my best and put some energy on the daily stuff intermittently, as which is the foundation of the above.</p>
<p>Good luck to me, and to you all concerned.</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283197487" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200803/184.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200803%2F184.html</feedburner:awareness></item>
		<item>
		<title>离职随想</title>
		<link>http://www.cube316.net/blog/archives/200803/177.html</link>
		<comments>http://www.cube316.net/blog/archives/200803/177.html#comments</comments>
		<pubDate>Tue, 18 Mar 2008 15:16:51 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[WorkingExperience/工作心得]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/archives/200803/177</guid>
		<description><![CDATA[最近一段时间，公司人员离职的情况较为频繁。
人各有志，抛开离职原因不谈，今天想说说离职前的最后那段时间的行为表现。
通常可以见到的情况会有：

轻者：工作效率低，做事拖沓，延迟情况严重
重者：不作为，不将责任范围内的任务完成
请假较多，经常不在公司

有一些情况是某些公司可能不会把剩余的年假换算为薪资退给员工，所以第三条多少可以算是有点情有可原。
但是前两条可能就不太好了，越是到最后，越是体现出个人职业素养的时候。
如果把员工在公司的表现作为一条坐标系里头的曲线的话，最后的那部分斜率为负恐怕不是很好看，也有点得不偿失。
想了一想，列出了自己认为比较合适的做法，也欢迎各位看客补充：

完成手头的模块或任务；如果比较大不可能全部完成，应与上级确认，到某个可衡量的状态为止
确定工作交接内容，交接对象和最后交接时限
整理电脑内的文档、资料，将平时积累的无关公司机密的材料备份到自己的信箱或移动硬盘
发送farewell letter，留下常用联系方式
删除电脑内与工作无关的一切其他数据，特别是私人数据
办公室私人物品整理
按公司章程办理离职手续
有条件的话，请同事们吃个饭

暂时就想到这么多了。
]]></description>
			<content:encoded><![CDATA[<p>最近一段时间，公司人员离职的情况较为频繁。</p>
<p>人各有志，抛开离职原因不谈，今天想说说离职前的最后那段时间的行为表现。</p>
<p>通常可以见到的情况会有：</p>
<ul>
<li>轻者：工作效率低，做事拖沓，延迟情况严重</li>
<li>重者：不作为，不将责任范围内的任务完成</li>
<li>请假较多，经常不在公司</li>
</ul>
<p>有一些情况是某些公司可能不会把剩余的年假换算为薪资退给员工，所以第三条多少可以算是有点情有可原。<br />
但是前两条可能就不太好了，越是到最后，越是体现出个人职业素养的时候。<br />
如果把员工在公司的表现作为一条坐标系里头的曲线的话，最后的那部分斜率为负恐怕不是很好看，也有点得不偿失。</p>
<p>想了一想，列出了自己认为比较合适的做法，也欢迎各位看客补充：</p>
<ul>
<li>完成手头的模块或任务；如果比较大不可能全部完成，应与上级确认，到某个可衡量的状态为止</li>
<li>确定工作交接内容，交接对象和最后交接时限</li>
<li>整理电脑内的文档、资料，将平时积累的无关公司机密的材料备份到自己的信箱或移动硬盘</li>
<li>发送farewell letter，留下常用联系方式</li>
<li>删除电脑内与工作无关的一切其他数据，特别是私人数据</li>
<li>办公室私人物品整理</li>
<li>按公司章程办理离职手续</li>
<li>有条件的话，请同事们吃个饭</li>
</ul>
<p>暂时就想到这么多了。</p>
<img src="http://feeds.feedburner.com/~r/cube316/~4/283197490" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cube316.net/blog/archives/200803/177.html/feed</wfw:commentRss>
		<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetItemData?uri=cube316&amp;itemurl=http%3A%2F%2Fwww.cube316.net%2Fblog%2Farchives%2F200803%2F177.html</feedburner:awareness></item>
		<item>
		<title>[HowTo] Send smarty result page as attachment</title>
		<link>http://www.cube316.net/blog/archives/200803/183.html</link>
		<comments>http://www.cube316.net/blog/archives/200803/183.html#comments</comments>
		<pubDate>Tue, 18 Mar 2008 14:47:41 +0000</pubDate>
		<dc:creator>cube316</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[attachment]]></category>

		<category><![CDATA[download]]></category>

		<category><![CDATA[howto]]></category>

		<category><![CDATA[smarty]]></category>

		<guid isPermaLink="false">http://www.cube316.net/blog/archives/200803/183</guid>
		<description><![CDATA[Well I encounter this requirement while working on a small CMS. The customer wanna download the report page as attachment in MS-Excel format.
And here is the situation:

All the web pages are built with smarty.
The report page contains some logic that are already defined within the corresponding smarty template.
I have access to PEAR install

So here is [...]]]></description>
			<content:encoded><![CDATA[<p>Well I encounter this requirement while working on a small CMS. The customer wanna download the report page as attachment in MS-Excel format.</p>
<p>And here is the situation:</p>
<ul>
<li>All the web pages are built with smarty.</li>
<li>The report page contains some logic that are already defined within the corresponding smarty template.</li>
<li>I have access to PEAR install</li>
</ul>
<p>So here is the solution I figured out:</p>
<ol>
<li>Create a new excel file, insert some dummy data, typically with one header row and two data row, and also a row with special format for empty dataset.</li>
<li>Save the file as &#8220;web pages&#8221;, i.e.: <em>FILENAME.htm</em></li>
<li>Open the htm file with your favorite text editor, you can see some html tags like &#8220;<strong>tr</strong>&#8221; and &#8220;<strong>td</strong>&#8220;, just like ordinary html files.</li>
<li>Edit the file as you like, put your logic inside. The dummy data may help you out of some cycle, if/else condition.</li>
<li>Build the page with smarty, following is some pseudo code:<br />
<code></p>
<p>// some initial statement here, such as retrieving data ...</p>
<p>ob_start();</p>
<p>$smarty->assign(Smarty_Variable_In_Htm_File, $yourData);<br />
//...<br />
$smarty->display("<em>FILENAME.htm</em>&#8220;);</p>
<p>$htmlResult = ob_get_contents();<br />
ob_end_clean();</p>
<p>$dl = new HTT