<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>哈默博客 &#187; 快乐每一天</title>
	<atom:link href="http://www.satwe.com/category/daily/feed" rel="self" type="application/rss+xml" />
	<link>http://www.satwe.com</link>
	<description>心随所致，梦想为开。Follow the Dreams &#38; Heart.</description>
	<lastBuildDate>Fri, 03 Feb 2012 12:28:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>2012，最难熬的春节</title>
		<link>http://www.satwe.com/archives/the-worst-chinese-new-year.html</link>
		<comments>http://www.satwe.com/archives/the-worst-chinese-new-year.html#comments</comments>
		<pubDate>Thu, 26 Jan 2012 12:24:51 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>

		<guid isPermaLink="false">http://www.satwe.com/?p=1251</guid>
		<description><![CDATA[2012，农历春节。 这是历史上最最难熬的春节。 第一次发觉假期是如此的漫长和如此的难过。 希望一切都快点过去，一切都好起来。 &#160; No tag for this post.]]></description>
			<content:encoded><![CDATA[<p>2012，农历春节。</p>
<p>这是历史上最最难熬的春节。</p>
<p>第一次发觉假期是如此的漫长和如此的难过。</p>
<p>希望一切都快点过去，一切都好起来。</p>
<p>&nbsp;</p>
No tag for this post.]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/the-worst-chinese-new-year.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011年专业技术回顾-Q4</title>
		<link>http://www.satwe.com/archives/summary-2011-q4.html</link>
		<comments>http://www.satwe.com/archives/summary-2011-q4.html#comments</comments>
		<pubDate>Tue, 03 Jan 2012 02:33:00 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>
		<category><![CDATA[program]]></category>

		<guid isPermaLink="false">http://www.satwe.com/?p=1237</guid>
		<description><![CDATA[2011年专业技术回顾-Q1 2011年专业技术回顾-Q2 2011年专业技术回顾-Q3 10. 2011年10月 国庆节只休息了3天，4号上班。 10月6日，乔布斯走了，一个传奇。 在9月的时候，有很多的进展。经过了地毯式的测试，有限元这一部分功能基本上完善，也很稳定。后面基本上是专题性质的专项计算的深入调优，包括了施工模拟分析、随机活荷载不利布置分析、局部人防模型分析，整体上不错。 其他的内容大体上有这几个，都做得非常好。 一个是上部结构刚度传递到基础计算中，这一块涉及到上部结构和基础两个模型的计算，我们做得非常巧妙，很智能。上部刚度的凝聚支持动态的凝聚参数判断，对于超大底盘的结构，能动态减少出口数量，在牺牲较小精度的条件下大量减少计算量。 在基础模型计算，也用了了很妙的机制，进行上部刚度矩阵凝聚结果的自动拆分为合适的MATRIX单元。 第二个是有限元程序自动支持进程内计算与子进程计算，可以混用。这样可以隔离一些管理和内存上的问题。两种模式下的进度log，数据管理等都完全不需要变化，这里又再一次很骄傲地受益于精良的程序架构。子进程方式下采用异步的log控制器，而且支持很先进的中断计算。 还有一个，在ICF中增加了一种模式，称为Transaction。 和经典的数据库一致，在开启Transaction后，读写性能会大幅度提高，而且Transaction是自治的，只需要开启关闭，其他的不需要有任何变化。 然后开始进行大规模题目的测试，上限已经达到100w自由度，很领先。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; 10月也是一个很好的月份，都很开心。 11. 2011年11月 这个月还是测试，测试，不提。 这个月又被要求加一个新的功能，基础计算中后浇带的模拟计算，很罗嗦。但是我们有先进的储备，死活单元+自动单元分组，很简单的处理就好了，抽象了一个局部模型分析出来，取名PartialModelAnalysis，很稳定。 然后还是继续改进，改进无止境。重构了下命令行参数的解析，定义通用的规则，后面的增加参数也不用逐个解析。 ICF逐渐成为了后处理的瓶颈，查到原因是频繁的缓冲交换，于是增加了一个多并发的Turbo模式，根据系统内存智能适应，效果很好。 目标总是一步一步被提高，从最初的要求能计算30w自由度，逐渐被要求到50w、70w、100w。而且随着多塔的要求，还要适应越来越多的振型。原先的有些设计是针对50w的优化设计，100w再加100个振型是不能承受之重。好在，谁让咱们的设计牛呢。加入内存映射，ICF同步支持，只需要局部的小量代码就可以了。 11月就这么多啰嗦事情。相对前两个月来说，这个月有时候并不是非常开心，难免有些低谷起伏，但是我是小强，我喜欢向前，喜欢努力，加油。 12. 2011年12月 资源是一点一点省出来的，就像钱要开源，更要节流。 除去优化之外，本月逐渐增加竖向地震的计算，这一部分由于以前糟糕的代码，加一点东西都会引入错误和不兼容。找到一个肯动脑筋水平又好的人真的很难很难。 由于Midas building和etabs的特点，本月决定把原计划下一版本的功能提前，就是根据振型参与质量来自动决断振型个数，Midas building的这个功能很赞，于是我们也有了。 ETABS的RITZ向量法在很多情况下会是一个比较好的手段，于是我们有了。 &#8212;&#8212;&#8212;&#8212;&#8212;- 2011年要结束了，12月开心。 感谢2011。 本文标签: program]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.satwe.com/archives/summary-of-2011-q1.html">2011年专业技术回顾-Q1</a></p>
<p><a href="http://www.satwe.com/archives/summary-2011-q2.html">2011年专业技术回顾-Q2</a></p>
<p><a href="http://www.satwe.com/archives/summary-2011-q3.html">2011年专业技术回顾-Q3</a></p>
<p><strong>10. 2011年10月</strong></p>
<p>国庆节只休息了3天，4号上班。</p>
<p><a href="http://www.satwe.com/archives/steve-jobs-leaves.html">10月6日，乔布斯走了，一个传奇</a>。</p>
<p>在9月的时候，有很多的进展。经过了地毯式的测试，有限元这一部分功能基本上完善，也很稳定。后面基本上是专题性质的专项计算的深入调优，包括了施工模拟分析、随机活荷载不利布置分析、局部人防模型分析，整体上不错。</p>
<p>其他的内容大体上有这几个，都做得非常好。</p>
<p>一个是上部结构刚度传递到基础计算中，这一块涉及到上部结构和基础两个模型的计算，我们做得非常巧妙，很智能。上部刚度的凝聚支持动态的凝聚参数判断，对于超大底盘的结构，能动态减少出口数量，在牺牲较小精度的条件下大量减少计算量。 在基础模型计算，也用了了很妙的机制，进行上部刚度矩阵凝聚结果的自动拆分为合适的MATRIX单元。</p>
<p>第二个是有限元程序自动支持进程内计算与子进程计算，可以混用。这样可以隔离一些管理和内存上的问题。两种模式下的进度log，数据管理等都完全不需要变化，这里又再一次很骄傲地受益于精良的程序架构。子进程方式下采用异步的log控制器，而且支持很先进的中断计算。</p>
<p>还有一个，在ICF中增加了一种模式，称为Transaction。 和经典的数据库一致，在开启Transaction后，读写性能会大幅度提高，而且Transaction是自治的，只需要开启关闭，其他的不需要有任何变化。</p>
<p>然后开始进行大规模题目的测试，上限已经达到100w自由度，很领先。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>10月也是一个很好的月份，都很开心。</p>
<p><strong>11. 2011年11月</strong></p>
<p>这个月还是测试，测试，不提。</p>
<p>这个月又被要求加一个新的功能，基础计算中后浇带的模拟计算，很罗嗦。但是我们有先进的储备，死活单元+自动单元分组，很简单的处理就好了，抽象了一个局部模型分析出来，取名PartialModelAnalysis，很稳定。</p>
<p>然后还是继续改进，改进无止境。重构了下命令行参数的解析，定义通用的规则，后面的增加参数也不用逐个解析。</p>
<p>ICF逐渐成为了后处理的瓶颈，查到原因是频繁的缓冲交换，于是增加了一个多并发的Turbo模式，根据系统内存智能适应，效果很好。</p>
<p>目标总是一步一步被提高，从最初的要求能计算30w自由度，逐渐被要求到50w、70w、100w。而且随着多塔的要求，还要适应越来越多的振型。原先的有些设计是针对50w的优化设计，100w再加100个振型是不能承受之重。好在，谁让咱们的设计牛呢。加入内存映射，ICF同步支持，只需要局部的小量代码就可以了。</p>
<p>11月就这么多啰嗦事情。相对前两个月来说，这个月有时候并不是非常开心，难免有些低谷起伏，但是我是小强，我喜欢向前，喜欢努力，加油。</p>
<p><strong>12. 2011年12月</strong></p>
<p>资源是一点一点省出来的，就像钱要开源，更要节流。</p>
<p>除去优化之外，本月逐渐增加竖向地震的计算，这一部分由于以前糟糕的代码，加一点东西都会引入错误和不兼容。找到一个肯动脑筋水平又好的人真的很难很难。</p>
<p>由于Midas building和etabs的特点，本月决定把原计划下一版本的功能提前，就是根据振型参与质量来自动决断振型个数，Midas building的这个功能很赞，于是我们也有了。 ETABS的RITZ向量法在很多情况下会是一个比较好的手段，于是我们有了。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>2011年要结束了，12月开心。</p>
<p>感谢2011。</p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/program" title="program" rel="tag">program</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/summary-2011-q4.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011年专业技术回顾-Q3</title>
		<link>http://www.satwe.com/archives/summary-2011-q3.html</link>
		<comments>http://www.satwe.com/archives/summary-2011-q3.html#comments</comments>
		<pubDate>Sat, 24 Dec 2011 08:51:55 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>
		<category><![CDATA[fea]]></category>
		<category><![CDATA[summary]]></category>

		<guid isPermaLink="false">http://www.satwe.com/?p=1234</guid>
		<description><![CDATA[上接: 2011年专业技术回顾-Q2 2011年专业技术回顾-Q3 &#160; 7. 2011年7月 到了7月份，各种的外部环境开始微妙起来。有限元部分进展尚可，但是整体进度已经是严重地落后于估计。 在五一假期的时候，提到了几个问题。这些问题的恶劣后果还在继续，而且越来越严重。从产品来说，还完全看不到目标。不收敛的迭代，让人心里最最不安。 很多时候抱怨一些技术上的当断不断，但是工作毕竟都要人来做，水平有高有低。公司里缺少整体软件技术上的架构师。各自为政的条件下，还要求产品稳定可靠的话，只能要求大家都是天才。但是很不幸，没有天才。关键岗位的庸才用严重的影响战斗力。时间很值钱很值钱，对于创业型的公司来说，不能尽快拿出可用的产品就是死。以前的种种习惯虽然尽量避免，但是骨子里的东西哪有那么容易改变。 吊车分析还在缓慢缓慢地前进，其他一些也在推进。 既然脑袋是一团浆糊，既然必须有人去做，那就继续浆糊着做吧。 7月底，软件通过了住建部的鉴定。外部的不确定因素都已经扫清，成败与否已经完全取决于自己，取决于产品。但是目前的状况，我坚定地认为，10月1号不可能，2012年的元旦也不可能。 8. 2011年8月 预计8月8号的首场发布会因为各种原因取消。 各种工作还在继续，位移的管理增加了稀疏存储式的映射存储，效果很好。ICF的性能持续进化，很好。 stl中的map在大量应用时是内存的杀手之一。 9. 2011年9月 到了9月份，好像一切都更加忙碌起来了。但是有限元的部分很可控，至少功能和性能上都是稳定收敛逐步改进的，只会越来越好，而不是过山车。 9月份的事情很多，也是很开心的一个月。 9号，在北京进行了首场发布会，挺好的。讲的也很好。 11号，911事件10周年，很多事情值得反思。 12号，中秋节，这一年以来，第一次休了3天。 17号，参加了好友的精彩婚礼。总结了一些道理。凡事都有很多妥协，不管是员工还是老板。不管是工作还是其他。 18号，九一八事变80周年，很多谎言在今天还是继续。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 这个月喝了几次粥，相当的开心。 这个月，开始用qq音乐在晚上加班的时候来听歌。很不错，整理list的过程就很不错。 这个月，加班已久，考虑过走路与健康和心情的问题，多走走路，无论对于身体还是心情都会很好。 这是今年以来最开心的一个月。 后续： 2011年专业技术回顾-Q4 本文标签: fea, summary]]></description>
			<content:encoded><![CDATA[<p>上接:</p>
<p><a href="http://www.satwe.com/archives/summary-2011-q2.html">2011年专业技术回顾-Q2</a></p>
<p><a href="http://www.satwe.com/archives/summary-2011-q3.html">2011年专业技术回顾-Q3</a></p>
<p>&#160;</p>
<p><strong>7. 2011年7月</strong></p>
<p>到了7月份，各种的外部环境开始微妙起来。有限元部分进展尚可，但是整体进度已经是严重地落后于估计。</p>
<p>在五一假期的时候，提到了几个问题。这些问题的恶劣后果还在继续，而且越来越严重。从产品来说，还完全看不到目标。不收敛的迭代，让人心里最最不安。</p>
<p>很多时候抱怨一些技术上的当断不断，但是工作毕竟都要人来做，水平有高有低。公司里缺少整体软件技术上的架构师。各自为政的条件下，还要求产品稳定可靠的话，只能要求大家都是天才。但是很不幸，没有天才。关键岗位的庸才用严重的影响战斗力。时间很值钱很值钱，对于创业型的公司来说，不能尽快拿出可用的产品就是死。以前的种种习惯虽然尽量避免，但是骨子里的东西哪有那么容易改变。</p>
<p>吊车分析还在缓慢缓慢地前进，其他一些也在推进。</p>
<p>既然脑袋是一团浆糊，既然必须有人去做，那就继续浆糊着做吧。</p>
<p>7月底，软件通过了住建部的鉴定。外部的不确定因素都已经扫清，成败与否已经完全取决于自己，取决于产品。但是目前的状况，我坚定地认为，10月1号不可能，2012年的元旦也不可能。</p>
<p><strong>8. 2011年8月</strong></p>
<p>预计8月8号的首场发布会因为各种原因取消。</p>
<p>各种工作还在继续，位移的管理增加了稀疏存储式的映射存储，效果很好。ICF的性能持续进化，很好。</p>
<p>stl中的map在大量应用时是内存的杀手之一。</p>
<p><strong>9. 2011年9月</strong></p>
<p>到了9月份，好像一切都更加忙碌起来了。但是有限元的部分很可控，至少功能和性能上都是稳定收敛逐步改进的，只会越来越好，而不是过山车。</p>
<p>9月份的事情很多，也是很开心的一个月。</p>
<p>9号，<a href="http://www.satwe.com/archives/product-first-launch-in-beijing.html" target="_blank">在北京进行了首场发布会</a>，挺好的。讲的也很好。</p>
<p>11号，<a href="http://www.satwe.com/archives/911-tenth-anniversary-of-the-festival.html" target="_blank">911事件10周年</a>，很多事情值得反思。</p>
<p>12号，<a href="http://www.satwe.com/archives/happy-mid-autumn-festival.html" target="_blank">中秋节，这一年以来，第一次休了3天</a>。</p>
<p>17号，<a href="http://www.satwe.com/archives/wedding.html" target="_blank">参加了好友的精彩婚礼</a>。总结了一些道理。凡事都有很多妥协，不管是员工还是老板。不管是工作还是其他。</p>
<p>18号，<a href="http://www.satwe.com/archives/918-incident-80th-anniversary-festival.html" target="_blank">九一八事变80周年</a>，很多谎言在今天还是继续。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>这个月喝了几次粥，相当的开心。</p>
<p>这个月，开始用qq音乐在晚上加班的时候来听歌。很不错，整理list的过程就很不错。</p>
<p>这个月，加班已久，<a href="http://www.satwe.com/archives/walking-and-health.html" target="_blank">考虑过走路与健康和心情的问</a>题，多走走路，无论对于身体还是心情都会很好。</p>
<p>这是今年以来最开心的一个月。</p>
<p>后续：</p>
<p>2011年专业技术回顾-Q4</p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/fea" title="fea" rel="tag">fea</a>, <a href="http://www.satwe.com/tag/summary" title="summary" rel="tag">summary</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/summary-2011-q3.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>2011年专业技术回顾-Q2</title>
		<link>http://www.satwe.com/archives/summary-2011-q2.html</link>
		<comments>http://www.satwe.com/archives/summary-2011-q2.html#comments</comments>
		<pubDate>Sat, 24 Dec 2011 08:12:43 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>
		<category><![CDATA[fea]]></category>
		<category><![CDATA[summary]]></category>

		<guid isPermaLink="false">http://www.satwe.com/?p=1233</guid>
		<description><![CDATA[&#160; (上接 2011年专业技术回顾-Q1） 4. 2011年4月 到了4月份，有很大一部分工作已经转向了测试和调试。框架的程序计算已经接近完善，剪力墙的工作还剩余几个单元需要处理。作为墙的超级单元凝聚和后续求解的框架已定。 从这一个月开始，犯了一个巨大的错误，确切地说是由于某些妥协带来严重的后果。 曾经不止一次的提起，相对于能力，态度更加重要。如果态度不端正不认真，即使能力再强，都不能做出成果，更何况没有能力。 这个月份，有限元求解核心开始向基础计算软件提供服务，效果不错。 5. 2011年5月 五一假期只休息了一天。 从这个月开始，公司统一的强制性加班。以前周三周五晚上休息，现在没有了。 平淡的工作，开始处理异形柱、地基梁等一些细节问题。 这一个月，终于决心在有限元内部对节点、单元的ID进行内部编码，外部输入的作为Tag存在。这是一个很大的改进，不再对外部编码进行连续性之类的依赖。而且能很好的兼容可以申请专利的节点、单元编码格式。 这个月，工作越来越忙，但是心情不错。 6. 2011年6月 有限元程序已经基本上稳定。这个月开始逐步的解决各种专项计算。最最坑爹的是所谓规定水平力。 其他的活荷载随机不利布置，施工模拟、人防计算等，在死活单元技术的支持下，都不是问题。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 工作辛苦，但是心情不错。 后续: 2011年专业技术回顾-Q3 2011年专业技术回顾-Q4 本文标签: fea, summary]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p>(上接 <a href="http://www.satwe.com/archives/summary-of-2011-q1.html" target="_blank">2011年专业技术回顾-Q1</a>）</p>
<p><strong>4. 2011年4月</strong></p>
<p>到了4月份，有很大一部分工作已经转向了测试和调试。框架的程序计算已经接近完善，剪力墙的工作还剩余几个单元需要处理。作为墙的超级单元凝聚和后续求解的框架已定。</p>
<p>从这一个月开始，犯了一个巨大的错误，确切地说是由于某些妥协带来严重的后果。</p>
<p>曾经不止一次的提起，相对于能力，态度更加重要。如果态度不端正不认真，即使能力再强，都不能做出成果，更何况没有能力。</p>
<p>这个月份，有限元求解核心开始向基础计算软件提供服务，效果不错。</p>
<p><strong>5. 2011年5月</strong></p>
<p>五一假期只休息了一天。</p>
<p>从这个月开始，公司统一的强制性加班。以前周三周五晚上休息，现在没有了。</p>
<p>平淡的工作，开始处理异形柱、地基梁等一些细节问题。</p>
<p>这一个月，终于决心在有限元内部对节点、单元的ID进行内部编码，外部输入的作为Tag存在。这是一个很大的改进，不再对外部编码进行连续性之类的依赖。而且能很好的兼容可以申请专利的节点、单元编码格式。</p>
<p>这个月，工作越来越忙，但是心情不错。</p>
<p><strong>6. 2011年6月</strong></p>
<p>有限元程序已经基本上稳定。这个月开始逐步的解决各种专项计算。最最坑爹的是所谓规定水平力。</p>
<p>其他的活荷载随机不利布置，施工模拟、人防计算等，在死活单元技术的支持下，都不是问题。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>工作辛苦，但是心情不错。</p>
<p>后续:</p>
<p><a href="http://www.satwe.com/archives/summary-2011-q3.html">2011年专业技术回顾-Q3</a></p>
<p>2011年专业技术回顾-Q4</p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/fea" title="fea" rel="tag">fea</a>, <a href="http://www.satwe.com/tag/summary" title="summary" rel="tag">summary</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/summary-2011-q2.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>2011年专业技术回顾-Q1</title>
		<link>http://www.satwe.com/archives/summary-of-2011-q1.html</link>
		<comments>http://www.satwe.com/archives/summary-of-2011-q1.html#comments</comments>
		<pubDate>Sat, 24 Dec 2011 07:49:56 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>
		<category><![CDATA[fea]]></category>
		<category><![CDATA[summary]]></category>

		<guid isPermaLink="false">http://www.satwe.com/?p=1232</guid>
		<description><![CDATA[今天是Xmas Eve，加班之余也回顾一下过去的一年。 今年是历史最最忙碌的一年，接近于1年的6&#215;12小时的工作。有开心也有不开心，但总归算是开心。 这一年的事情很多。 1. 2011年元旦 从这一天开始，从原公司交接完了工作，到了现在的单位，开始了一份充满了艰辛和挑战的工作。 与合得来的一些老朋友一起工作是很愉悦的，对进度也比较乐观。 人员合作上，4-2的的提议被否决。 这一年的事实证明，人员不再多而在精。不能做事情的人员还是需要尽早清理，否则有百害而无一利。 2011.1.8 搬家，结束了上下班1小时多的奔波，每天开始和10号线打交道。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-月份分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 2. 2011年2月 简短的春节过后，继续紧张的工作。 这一个月的工作中，提出了有限元计算核心中的几个核心概念，很有价值，也很值得欣慰。 （1）单元分组与死活单元 在酝酿和研究Midas Gen后，坚定地提出单元分组的概念，并将死活单元技术作为核心底层支撑技术。阻力很大，被怀疑，所幸在和求解器部分充分沟通后得到共鸣和支持，后续的大量专项计算在这项技术支持下顺理成章的完成。 （2）影子模型的概念 由于10版新规范中要求同时计算折减与不折减，甚至要求计算强制刚性板假定（很坑爹）。于是讨论提出影子模型的概念（Shaddow Model）。影子模型是基本模型在不同场景下的投影，但是逻辑上的一个完整的模型。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-小段分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 另外有几个程序开发上的基础设施也在这个时候成型，不断获益。 （1）ICF存储 数据存储采用专门设计带索引的二进制数据块文件，我称之为Indexed Chunk File，简称ICF。ICF作为数据存取的唯一管理者。在宣传材料，称为为异构模型数据库。ICF工作在后台，但是丰功伟绩。 （2）统一的log机制 这是每个软件都应该具备的基础设施，但是在这里没有。在有限元核心程序开发开始的第一天，就建立了单件式的log机制，采用观察者模式进行log分发。所以后续不管是控制台输出还是log到文件，还是再后来图形界面上的异步log输出，都只需要注册一个log handle。 （3）健全的资源监控机制 作为有限元分析核心，系统资源是最大的性能瓶颈。所以在一开始就建立了完善的资源监控，可以随时向log中输出当前资源状态和变化，后续调优中基本上完全依靠这一基础设施。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-小段分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 还有一个被否决的提议，既然已经是被否决的提议，则可以多说几句。 对软件正确性的验证需要和其他几款软件结果进行对比，而对比的自动化程度则完全决定的对比的可行性。因此提出做一个小工具，与对比内容无关的对比程序，通过对比内容描述文件和内容数据进行第三方的对比。 做完了协议描述和实现规格，但是被否，很遗憾。 后来的后来，有了一个基于文本的对比程序，还好。有总比没有好，而且为什么没能更好呢。 还有几个被否决的提议，比较敏感，略过。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-月份分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 3. 2011年3月 当年在第一份工作的时候，为陈旧的软件开发过程中引入了3个工具，分别是svn、bugfree和wiki。公司尝到甜头后成为了宝贝。 这个月份里面，首先建立了远程的svn代码库，后来为了方便和安全性，建立的svn的二级服务体系，包括局域网内的svn server和远程的svn server，rsync定期增量同步，很方便。 然后继续引入了bugfree，当然现在叫禅道了。 然后为禅道写了一个WorkDiary的模块，工作日志，现在或许是禅道里应用最多的一个功能。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; 在做墙柱墙梁内力合并的时候，提出了一个完善的方案，就是在世界坐标系进所谓的合并来解决各分肢的方向等问题，简单而且唯一。 但是遇到了相当相当大的阻力，相当的意外。 这个工作是纯数学的转换，不涉及任何的经验处理和调整。可能是不信任、不自信或者对某些软件的迷信，导致对一切新方案的抵制。 6个月以后，还是最终朝这个简单的天经地义的方案。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8230;]]></description>
			<content:encoded><![CDATA[<p>今天是Xmas Eve，加班之余也回顾一下过去的一年。</p>
<p>今年是历史最最忙碌的一年，接近于1年的6&#215;12小时的工作。有开心也有不开心，但总归算是开心。</p>
<p>这一年的事情很多。</p>
<p><strong>1. 2011年元旦</strong></p>
<p>从这一天开始，从原公司交接完了工作，到了现在的单位，开始了一份充满了艰辛和挑战的工作。</p>
<p>与合得来的一些老朋友一起工作是很愉悦的，对进度也比较乐观。</p>
<p>人员合作上，4-2的的提议被否决。</p>
<p>这一年的事实证明，人员不再多而在精。不能做事情的人员还是需要尽早清理，否则有百害而无一利。</p>
<p>2011.1.8 搬家，结束了上下班1小时多的奔波，每天开始和10号线打交道。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-月份分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><strong>2. 2011年2月</strong></p>
<p>简短的春节过后，继续紧张的工作。</p>
<p>这一个月的工作中，提出了有限元计算核心中的几个核心概念，很有价值，也很值得欣慰。</p>
<p>（1）单元分组与死活单元    <br />在酝酿和研究Midas Gen后，坚定地提出单元分组的概念，并将死活单元技术作为核心底层支撑技术。阻力很大，被怀疑，所幸在和求解器部分充分沟通后得到共鸣和支持，后续的大量专项计算在这项技术支持下顺理成章的完成。</p>
<p>（2）影子模型的概念    <br />由于10版新规范中要求同时计算折减与不折减，甚至要求计算强制刚性板假定（很坑爹）。于是讨论提出影子模型的概念（Shaddow Model）。影子模型是基本模型在不同场景下的投影，但是逻辑上的一个完整的模型。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-小段分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>另外有几个程序开发上的基础设施也在这个时候成型，不断获益。</p>
<p>（1）ICF存储    <br />数据存储采用专门设计带索引的二进制数据块文件，我称之为Indexed Chunk File，简称ICF。ICF作为数据存取的唯一管理者。在宣传材料，称为为异构模型数据库。ICF工作在后台，但是丰功伟绩。</p>
<p>（2）统一的log机制    <br />这是每个软件都应该具备的基础设施，但是在这里没有。在有限元核心程序开发开始的第一天，就建立了单件式的log机制，采用观察者模式进行log分发。所以后续不管是控制台输出还是log到文件，还是再后来图形界面上的异步log输出，都只需要注册一个log handle。</p>
<p>（3）健全的资源监控机制</p>
<p>作为有限元分析核心，系统资源是最大的性能瓶颈。所以在一开始就建立了完善的资源监控，可以随时向log中输出当前资源状态和变化，后续调优中基本上完全依靠这一基础设施。</p>
<p><span id="more-1232"></span>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-小段分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>还有一个被否决的提议，既然已经是被否决的提议，则可以多说几句。</p>
<p>对软件正确性的验证需要和其他几款软件结果进行对比，而对比的自动化程度则完全决定的对比的可行性。因此提出做一个小工具，与对比内容无关的对比程序，通过对比内容描述文件和内容数据进行第三方的对比。</p>
<p>做完了协议描述和实现规格，但是被否，很遗憾。</p>
<p>后来的后来，有了一个基于文本的对比程序，还好。有总比没有好，而且为什么没能更好呢。</p>
<p>还有几个被否决的提议，比较敏感，略过。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-月份分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><strong>3. 2011年3月</strong></p>
<p>当年在第一份工作的时候，为陈旧的软件开发过程中引入了3个工具，分别是svn、bugfree和wiki。公司尝到甜头后成为了宝贝。</p>
<p>这个月份里面，首先建立了远程的svn代码库，后来为了方便和安全性，建立的svn的二级服务体系，包括局域网内的svn server和远程的svn server，rsync定期增量同步，很方便。</p>
<p>然后继续引入了bugfree，当然现在叫禅道了。</p>
<p>然后为禅道写了一个WorkDiary的模块，工作日志，现在或许是禅道里应用最多的一个功能。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>在做墙柱墙梁内力合并的时候，提出了一个完善的方案，就是在世界坐标系进所谓的合并来解决各分肢的方向等问题，简单而且唯一。 但是遇到了相当相当大的阻力，相当的意外。 这个工作是纯数学的转换，不涉及任何的经验处理和调整。可能是不信任、不自信或者对某些软件的迷信，导致对一切新方案的抵制。 6个月以后，还是最终朝这个简单的天经地义的方案。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>在这个月，对MPC的应用也在艰难推进。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>不了解先进的技术并不可怕，可怕的是对先进技术的夜郎自大。</p>
<p>后续：</p>
<p><a href="http://www.satwe.com/archives/summary-2011-q2.html">2011年专业技术<font color="#ed1e24">回顾</font>-Q2</a></p>
<p><a href="http://www.satwe.com/archives/summary-2011-q3.html">2011年专业技术回顾-Q3</a></p>
<p>2011年专业技术回顾-Q4</p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/fea" title="fea" rel="tag">fea</a>, <a href="http://www.satwe.com/tag/summary" title="summary" rel="tag">summary</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/summary-of-2011-q1.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>用Python写东西的笔记</title>
		<link>http://www.satwe.com/archives/notes-of-things-written-in-python.html</link>
		<comments>http://www.satwe.com/archives/notes-of-things-written-in-python.html#comments</comments>
		<pubDate>Fri, 16 Dec 2011 11:48:50 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/notes-of-things-written-in-python.html</guid>
		<description><![CDATA[自从最近这次换工作以后，空闲时间一下子变得奢侈起来，博客最近也写得少了，一些喜欢的小东西也无暇顾及。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;无聊分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 一直对python很钟情，不过最近很少用，能记得比较完整的程序就是“用Python做了个Spider”，当时在一个Linode的VPS上跑了几个月。最近处理数据时候又重新用python来做，做完之后还是继续感慨它的便利性。 用python的一个最大的优点就是可以快速的迭代式开发，不断的重构，这一点在这次体会尤深。 其中有几次跳跃式的重构如下： 第一次的重构在书写了几个数据段的解析函数之后，决定定制一个规则，然后通过解析规则来处理各种字段。于是有了一个大约20条记录的标签库（后来再加一个文件解析的时候又增加了6行），然后就处理了近30种数据段，而且可以很方便的定制扩充。 第二次重构在输出报告的完成了一个数据段的汇总后，抽象出了一个Report类，完全控制报告的输出。也就有了后来用css+html的报告时候的顺理成章。 另外一次不大的重构，在于利用的简化的有限状态自动机的思想来处理各种特殊情况。当然只是思想而不是一个完整的自动机。 这一条在N年前给sudidi同学的abaqus数据文件提取工具中就大体考虑过，可以说轻车熟路。 后来用配置文件来设置参数，打包exe。从开始学习到成功，大约花了30分钟，代码10行，我爱python。 除去一些修饰性的代码和css样式表，核心代码不到500行。如果用c++的话，代码量至少要翻2倍，时间2倍不止。 Eclipse+PyDev是目前开发python程序的不二选择，除去log外，一个完善的Debug环境还是很赞的。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;无聊分割线2&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 有些东西记下来权当笔记，免得以后再找。 1.&#160; 文件路径的相关处理 用 os.path 就完全解决所有问题，包括路径拼接、路径拆分、相对路径提取、文件存在性判断、文件遍历、递归遍历等等。相关函数有： os.path.join os.path.basename os.path.exists os.makedirs os.path.isdir os.path.splitext 2. 文件的遍历 目录下的文件遍历有两种，一种是os.listdir，一种是用os.walk。如果需要递归，则后者更为方便。 1: files = os.listdir(proj_dir) 2: for f in files: 3: filepath = os.path.join(proj_dir,f) 4: if os.path.isdir(filepath): continue 5: if f.find('----')&#62;-1: 6: shutil.copy(filepath, self.REPORT_DETAIL_DIR) 使用os.walk则很容易进行遍历： 1: for root,dirs,files&#8230;]]></description>
			<content:encoded><![CDATA[<p>自从最近这次换工作以后，空闲时间一下子变得奢侈起来，博客最近也写得少了，一些喜欢的小东西也无暇顾及。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;无聊分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>一直对python很钟情，不过最近很少用，能记得比较完整的程序就是“<a href="http://www.satwe.com/archives/961.html" target="_blank">用Python做了个Spider</a>”，当时在一个Linode的VPS上跑了几个月。最近处理数据时候又重新用python来做，做完之后还是继续感慨它的便利性。</p>
<p>用python的一个最大的优点就是可以快速的迭代式开发，不断的重构，这一点在这次体会尤深。</p>
<p>其中有几次跳跃式的重构如下：</p>
<p>第一次的重构在书写了几个数据段的解析函数之后，决定定制一个规则，然后通过解析规则来处理各种字段。于是有了一个大约20条记录的标签库（后来再加一个文件解析的时候又增加了6行），然后就处理了近30种数据段，而且可以很方便的定制扩充。</p>
<p>第二次重构在输出报告的完成了一个数据段的汇总后，抽象出了一个Report类，完全控制报告的输出。也就有了后来用css+html的报告时候的顺理成章。</p>
<p>另外一次不大的重构，在于利用的简化的有限状态自动机的思想来处理各种特殊情况。当然只是思想而不是一个完整的自动机。 这一条在N年前给sudidi同学的abaqus数据文件提取工具中就大体考虑过，可以说轻车熟路。</p>
<p>后来用配置文件来设置参数，打包exe。从开始学习到成功，大约花了30分钟，代码10行，我爱python。</p>
<p>除去一些修饰性的代码和css样式表，核心代码不到500行。如果用c++的话，代码量至少要翻2倍，时间2倍不止。</p>
<p>Eclipse+PyDev是目前开发python程序的不二选择，除去log外，一个完善的Debug环境还是很赞的。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;无聊分割线2&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>有些东西记下来权当笔记，免得以后再找。</p>
<p><strong>1.&#160; 文件路径的相关处理</strong></p>
<p>用 os.path 就完全解决所有问题，包括路径拼接、路径拆分、相对路径提取、文件存在性判断、文件遍历、递归遍历等等。相关函数有：</p>
<p>os.path.join</p>
<p>os.path.basename</p>
<p>os.path.exists</p>
<p>os.makedirs</p>
<p>os.path.isdir</p>
<p>os.path.splitext</p>
<p><strong>2. 文件的遍历</strong></p>
<p>目录下的文件遍历有两种，一种是os.listdir，一种是用os.walk。如果需要递归，则后者更为方便。</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> files = os<span style="color: #cc6633">.listdir</span>(proj_dir)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> for f in files:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>     filepath = os<span style="color: #cc6633">.path</span><span style="color: #cc6633">.join</span>(proj_dir,f)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>     if os<span style="color: #cc6633">.path</span><span style="color: #cc6633">.isdir</span>(filepath): continue</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>     if f<span style="color: #cc6633">.find</span>('----')<span style="color: #006080">&gt;</span>-1:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>         shutil<span style="color: #cc6633">.copy</span>(filepath, self<span style="color: #cc6633">.REPORT_DETAIL_DIR</span>)</pre>
<p><!--CRLF--></div>
</div>
<p>使用os.walk则很容易进行遍历：</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> for root,dirs,files in os<span style="color: #cc6633">.walk</span>(proj_list_dir, True):</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span>     for f in files:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>         pass</pre>
<p><!--CRLF--></div>
</div>
<p><strong>3. 文件的复制</strong></p>
<p>对于文件、文件夹、目录树的拷贝删除可以使用shutil相关函数，注意有些条件，比如目标目录不能存在之类。</p>
<p>shutil.copytree</p>
<p>shutil.rmtree</p>
<p>shutil.copy</p>
<p><strong>4. 乱码</strong></p>
<p>如果能用utf-8统一处理是最好，但是如果在window下面，并且和平常文件打交道多的话，可能也需要其他编码。这时候需要注意系统的编码格式。下面这段代码有帮助。</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> default_encoding = 'gbk'</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> if sys<span style="color: #cc6633">.getdefaultencoding</span>() != default_encoding:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>     reload(sys)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>     sys<span style="color: #cc6633">.setdefaultencoding</span>(default_encoding)</pre>
<p><!--CRLF--></div>
</div>
<p><strong>5. 配置文件的读写</strong></p>
<p>python内置了ConfigParser，一般的用途足够了。简洁好用。</p>
<p><strong>6. 打包成exe</strong></p>
<p>有时候为了部署方便，而且windows上默认也不会装python，所以打包成一个独立的exe还是相当有吸引力。以前的py2exe已经不维护了，不过现在有更简单的 pyinstaller (<a href="http://www.pyinstaller.org">www.<b>pyinstaller</b>.org</a>)，使用相当简单，支持各种python版本。</p>
<p>需要留意的是，vc9的crt和upx有冲突，可以取消upx选项。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-最后的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>写点喜欢的东西还是很高兴,能提高工作效率,从最枯燥无聊的数据工作中解脱出来更高兴.</p>
<p>人生苦短,有限的时间应该花在有意义的吃喝玩乐上,呵呵.</p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/python" title="python" rel="tag">python</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/notes-of-things-written-in-python.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>黔驴技穷与强制加班</title>
		<link>http://www.satwe.com/archives/end-of-their-rope-and-forced-to-work-overtime.html</link>
		<comments>http://www.satwe.com/archives/end-of-their-rope-and-forced-to-work-overtime.html#comments</comments>
		<pubDate>Fri, 11 Nov 2011 04:10:00 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/end-of-their-rope-and-forced-to-work-overtime.html</guid>
		<description><![CDATA[在今天，在各个商家铺天盖地的“双11节”的喧闹声中，又一次听到了强制加班的要求，像盆凉水，满是不和谐的声音。 最近的情绪日渐低落，对于无休止的加班，忽然想到了一个词，叫“黔驴技穷”。 偶尔的加班或者一段时间的集中加班，可以认为是赶进度保时间节点。但是无休止的没有尽头的加班，只能说明其他方面存在严重问题。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; 最近有很多牢骚和不满，具体也不方面写在这个公开的地方。但是，缺少管理经验，夜郎自大自以为是，以外行指导内行，必然导致工作量的无限放大。 还很清楚的记得，在五一的时候谈起。缺少整体规划、缺少架构设计、各自为政的原始开发模式会增加至少20%的开发成本（我承认在人面前的这个数字后面实际上还少说了一个0）。 但是有谁真正关心。心情好的时候解释一句现在结构都定下来了，以后版本再考虑改进，不好的时候就哼哼哈哈过去。 在按下葫芦浮起瓢的状态的时候，提出了个完整的解决方案。但是几乎所有人抵制，即便只是几十行代码的事情。这是一种在创业团队里非常腐臭的味道，不是真正的看方案的优劣，而是所谓的面子。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 加班真的只是唯一的选择么？偏离了正确的路线，在努力也只会越走越远。 工作只有火热的心是不行的，已经有一些失望了。 &#8212;&#8212;&#8212;&#8212;&#8212;- 但是不论如何，先不要让这些影响自己的心情吧。 以前，在黔中道这个地方没有驴，后来有个人用船运来了一头。可是因为没有什么用处，驴就被放养在山脚下。 一只老虎看到这个庞大的动物，很好奇。它慢慢地靠近驴，这时，驴长鸣了一声，老虎非常害怕，不敢再接近。但是在观察了一段时间以后，它发现驴没有什么特殊的本领，于是又开始在驴的周围走动。驴非常愤怒，用蹄子去踢老虎。老虎发现，原来驴的本领就只有这些了，于是就跳起来，咬断了驴的喉咙，把它吃掉了。 本文标签: work]]></description>
			<content:encoded><![CDATA[<p>在今天，在各个商家铺天盖地的“双11节”的喧闹声中，又一次听到了强制加班的要求，像盆凉水，满是不和谐的声音。</p>
<p>最近的情绪日渐低落，对于无休止的加班，忽然想到了一个词，叫“黔驴技穷”。</p>
<p>偶尔的加班或者一段时间的集中加班，可以认为是赶进度保时间节点。但是无休止的没有尽头的加班，只能说明其他方面存在严重问题。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>最近有很多牢骚和不满，具体也不方面写在这个公开的地方。但是，缺少管理经验，夜郎自大自以为是，以外行指导内行，必然导致工作量的无限放大。</p>
<p>还很清楚的记得，在五一的时候谈起。缺少整体规划、缺少架构设计、各自为政的原始开发模式会增加至少20%的开发成本（我承认在人面前的这个数字后面实际上还少说了一个0）。</p>
<p>但是有谁真正关心。心情好的时候解释一句现在结构都定下来了，以后版本再考虑改进，不好的时候就哼哼哈哈过去。</p>
<p>在按下葫芦浮起瓢的状态的时候，提出了个完整的解决方案。但是几乎所有人抵制，即便只是几十行代码的事情。这是一种在创业团队里非常腐臭的味道，不是真正的看方案的优劣，而是所谓的面子。 </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>加班真的只是唯一的选择么？偏离了正确的路线，在努力也只会越走越远。</p>
<p>工作只有火热的心是不行的，已经有一些失望了。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>但是不论如何，先不要让这些影响自己的心情吧。</p>
<p><img style="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" title="20110223162334_64306" border="0" alt="20110223162334_64306" src="http://www.satwe.com/wp-content/uploads/2011/11/20110223162334_64306.jpg" width="411" height="315" /></p>
<blockquote><p>以前，在黔中道这个地方没有驴，后来有个人用船运来了一头。可是因为没有什么用处，驴就被放养在山脚下。</p>
<p>一只老虎看到这个庞大的动物，很好奇。它慢慢地靠近驴，这时，驴长鸣了一声，老虎非常害怕，不敢再接近。但是在观察了一段时间以后，它发现驴没有什么特殊的本领，于是又开始在驴的周围走动。驴非常愤怒，用蹄子去踢老虎。老虎发现，原来驴的本领就只有这些了，于是就跳起来，咬断了驴的喉咙，把它吃掉了。</p>
</blockquote>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/work" title="work" rel="tag">work</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/end-of-their-rope-and-forced-to-work-overtime.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>周末公园</title>
		<link>http://www.satwe.com/archives/in-yuandadu-park.html</link>
		<comments>http://www.satwe.com/archives/in-yuandadu-park.html#comments</comments>
		<pubDate>Sun, 16 Oct 2011 04:11:00 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[picture]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/in-yuandadu-park.html</guid>
		<description><![CDATA[难得的星期天休息，而且天气还这么好。 很久没有看到这么蓝的天、这么好的阳光了。 &#160; （1）元大都公园某段，很喜欢这个构图和色彩。 （2）上一张的登高换个角度 （3）秋天的树 (4) 画壁 （5）这张我怎么老想起win98的默认蓝天白云呢 (6) 女儿和外婆 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 天气越来越冷了。 什么时候可以舒舒服服地晒晒太阳呢？貌似奢求。 本文标签: life, picture, 快乐每一天]]></description>
			<content:encoded><![CDATA[<p>难得的星期天休息，而且天气还这么好。 很久没有看到这么蓝的天、这么好的阳光了。</p>
<p>&#160;</p>
<p>（1）元大都公园某段，很喜欢这个构图和色彩。</p>
<p><img style="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" title="IMG_7238" border="0" alt="IMG_7238" src="http://www.satwe.com/wp-content/uploads/2011/10/IMG_7238.jpg" width="484" height="324" /></p>
<p>（2）上一张的登高换个角度</p>
<p><img style="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" title="IMG_7253" border="0" alt="IMG_7253" src="http://www.satwe.com/wp-content/uploads/2011/10/IMG_7253.jpg" width="484" height="324" /></p>
<p>（3）秋天的树</p>
<p><img style="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" title="IMG_7249" border="0" alt="IMG_7249" src="http://www.satwe.com/wp-content/uploads/2011/10/IMG_7249.jpg" width="484" height="324" /></p>
<p>(4) 画壁</p>
<p><img style="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" title="IMG_7269" border="0" alt="IMG_7269" src="http://www.satwe.com/wp-content/uploads/2011/10/IMG_7269.jpg" width="484" height="324" /></p>
<p>（5）这张我怎么老想起win98的默认蓝天白云呢</p>
<p><img style="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" title="IMG_7261" border="0" alt="IMG_7261" src="http://www.satwe.com/wp-content/uploads/2011/10/IMG_7261.jpg" width="484" height="324" /></p>
<p>(6) 女儿和外婆</p>
<p><img style="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" title="IMG_7219" border="0" alt="IMG_7219" src="http://www.satwe.com/wp-content/uploads/2011/10/IMG_7219.jpg" width="484" height="324" /></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>天气越来越冷了。</p>
<p>什么时候可以舒舒服服地晒晒太阳呢？貌似奢求。</p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/life" title="life" rel="tag">life</a>, <a href="http://www.satwe.com/tag/picture" title="picture" rel="tag">picture</a>, <a href="http://www.satwe.com/tag/daily" title="快乐每一天" rel="tag">快乐每一天</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/in-yuandadu-park.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>乔布斯走了</title>
		<link>http://www.satwe.com/archives/steve-jobs-leaves.html</link>
		<comments>http://www.satwe.com/archives/steve-jobs-leaves.html#comments</comments>
		<pubDate>Thu, 06 Oct 2011 00:34:00 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/steve-jobs-leaves.html</guid>
		<description><![CDATA[早上在路上看到新闻，乔布斯走了，心中莫名的悲伤。 苹果网站上这么说的： 乔布斯是一个传奇，他或许放荡不羁，但是他的才华和创造性无人能及，他造就了苹果的神话，iPod的传奇、Mac的传奇、iPhone的传奇，这个世界上很难有谁可以说明没有受到他的影响。 桌上还有一本书《活着就为改变世界》，是的，只要活着，就要有追求，有梦想，有拼搏。 因为，我们活着。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 今天的天气很好。我们都应该珍惜，因为我们活着。 本文标签: memory, news]]></description>
			<content:encoded><![CDATA[<p><img style="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" title="t_hero" border="0" alt="t_hero" src="http://www.satwe.com/wp-content/uploads/2011/10/t_hero.png" width="484" height="326" /></p>
<p>早上在路上看到新闻，乔布斯走了，心中莫名的悲伤。</p>
<p><a href="http://www.apple.com/stevejobs/" target="_blank">苹果网站上</a>这么说的：</p>
<p><a href="http://www.satwe.com/wp-content/uploads/2011/10/t_title.png"><img style="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" title="t_title" border="0" alt="t_title" src="http://www.satwe.com/wp-content/uploads/2011/10/t_title_thumb.png" width="864" height="241" /></a></p>
<p>乔布斯是一个传奇，他或许放荡不羁，但是他的才华和创造性无人能及，他造就了苹果的神话，iPod的传奇、Mac的传奇、iPhone的传奇，这个世界上很难有谁可以说明没有受到他的影响。</p>
<p>桌上还有一本书《<a href="http://book.douban.com/subject/4860552/" target="_blank">活着就为改变世界</a>》，是的，只要活着，就要有追求，有梦想，有拼搏。</p>
<p>因为，我们活着。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>今天的天气很好。我们都应该珍惜，因为我们活着。</p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/memory" title="memory" rel="tag">memory</a>, <a href="http://www.satwe.com/tag/news" title="news" rel="tag">news</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/steve-jobs-leaves.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>科威特之行(8)-接下来几天</title>
		<link>http://www.satwe.com/archives/kuwait-trip-8-the-next-few-days.html</link>
		<comments>http://www.satwe.com/archives/kuwait-trip-8-the-next-few-days.html#comments</comments>
		<pubDate>Sun, 02 Oct 2011 10:16:19 +0000</pubDate>
		<dc:creator>hamo</dc:creator>
				<category><![CDATA[快乐每一天]]></category>
		<category><![CDATA[kwait]]></category>
		<category><![CDATA[picture]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://www.satwe.com/archives/kuwait-trip-8-the-next-few-days.html</guid>
		<description><![CDATA[2010-10-23至2010-10-28 接下来几天，已经基本上没有了新鲜感。工作紧张忙碌。 受制于当地加工厂的技术水平还有当地采购的困难，方案一再修改。相比于国内的施工环境，在这里施工遇到的困难时相当的大。比UAE还要困难。 每天天亮以后就起床、洗澡、热面包喝牛奶，出发。 不过牛奶很好，没有国内很多牛奶的奶粉味道，烤面包片也不错。 科威特缺水，但是早上洗热水澡的感觉相当好。 &#160; 早上太阳还没有出来的时候，一天中最凉爽的时候。阳台望出去，天空总是这么清澈。 太阳要出来了。 每天路过的5环路边的水塔群，这次拍得尚可。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 这一天要去总包顾问沟通方案，他们的办公地点在海边的一座大房子里。 &#160; 从这里可以直接看到波斯湾。 院子里有个露天的游泳池 办完事，出来司机过来，看到了几只鸟。 好漂亮的蓝天 路上看到的几株漂亮的植物。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; 机票已经确定了，不日就可以回国了。 本文标签: kwait, picture, travel]]></description>
			<content:encoded><![CDATA[<p>2010-10-23至2010-10-28</p>
<p>接下来几天，已经基本上没有了新鲜感。工作紧张忙碌。</p>
<p>受制于当地加工厂的技术水平还有当地采购的困难，方案一再修改。相比于国内的施工环境，在这里施工遇到的困难时相当的大。比UAE还要困难。</p>
<p>每天天亮以后就起床、洗澡、热面包喝牛奶，出发。 不过牛奶很好，没有国内很多牛奶的奶粉味道，烤面包片也不错。 科威特缺水，但是早上洗热水澡的感觉相当好。</p>
<p><span id="more-1215"></span>
<p>&#160;</p>
<p><img style="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" title="DSC09573" border="0" alt="DSC09573" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09573.jpg" width="484" height="364" /></p>
<p>早上太阳还没有出来的时候，一天中最凉爽的时候。阳台望出去，天空总是这么清澈。</p>
<p><img style="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" title="DSC09574" border="0" alt="DSC09574" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09574.jpg" width="484" height="364" /></p>
<p>太阳要出来了。</p>
<p><img style="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" title="DSC09575" border="0" alt="DSC09575" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09575.jpg" width="484" height="364" /></p>
<p>每天路过的5环路边的水塔群，这次拍得尚可。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>这一天要去总包顾问沟通方案，他们的办公地点在海边的一座大房子里。</p>
<p>&#160;</p>
<p><img style="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" title="DSC09584" border="0" alt="DSC09584" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09584.jpg" width="484" height="364" /></p>
<p><img style="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" title="DSC09576" border="0" alt="DSC09576" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09576.jpg" width="484" height="364" /></p>
<p>从这里可以直接看到波斯湾。</p>
<p><img style="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" title="DSC09578" border="0" alt="DSC09578" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09578.jpg" width="484" height="364" /></p>
<p>院子里有个露天的游泳池</p>
<p><img style="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" title="DSC09579" border="0" alt="DSC09579" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09579.jpg" width="484" height="364" /></p>
<p>办完事，出来司机过来，看到了几只鸟。</p>
<p><img style="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" title="DSC09586" border="0" alt="DSC09586" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09586.jpg" width="484" height="364" /></p>
<p>好漂亮的蓝天</p>
<p><img style="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" title="DSC09587" border="0" alt="DSC09587" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09587.jpg" width="484" height="364" /></p>
<p>路上看到的几株漂亮的植物。</p>
<p><img style="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" title="DSC09591" border="0" alt="DSC09591" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09591.jpg" width="484" height="364" /></p>
<p><img style="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" title="DSC09592" border="0" alt="DSC09592" src="http://www.satwe.com/wp-content/uploads/2011/10/DSC09592.jpg" width="364" height="484" /></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>机票已经确定了，不日就可以回国了。</p>

	<br /><strong> 本文标签: <a href="http://www.satwe.com/tag/kwait" title="kwait" rel="tag">kwait</a>, <a href="http://www.satwe.com/tag/picture" title="picture" rel="tag">picture</a>, <a href="http://www.satwe.com/tag/travel" title="travel" rel="tag">travel</a></strong><br />
]]></content:encoded>
			<wfw:commentRss>http://www.satwe.com/archives/kuwait-trip-8-the-next-few-days.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
