<?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>Google Stop Blog - The future is fusion</title>
	<atom:link href="http://googlestop.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://googlestop.com/blog</link>
	<description>Just another weblog of Charry</description>
	<lastBuildDate>Sun, 29 Aug 2010 13:58:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>登山</title>
		<link>http://googlestop.com/blog/2010/08/%e7%99%bb%e5%b1%b1/</link>
		<comments>http://googlestop.com/blog/2010/08/%e7%99%bb%e5%b1%b1/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 13:54:41 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/?p=710</guid>
		<description><![CDATA[周日尝试一下登山，顺便锻炼下身体，6点多出发，近10点钟返回，从灵岩山行走至天平山，历时3个多小时。 临近结束，下山的时候，膝盖有些不舒服，之前跑步的扭伤的，还没有好，才知道下山挺伤膝盖的。 上图为领头的两位队员。 &#8211; 分割线 &#8211; 坎坷的人生，来自家乡的高逸峰：]]></description>
			<content:encoded><![CDATA[<p>周日尝试一下登山，顺便锻炼下身体，6点多出发，近10点钟返回，从灵岩山行走至天平山，历时3个多小时。</p>
<p>临近结束，下山的时候，膝盖有些不舒服，之前跑步的扭伤的，还没有好，才知道下山挺伤膝盖的。</p>
<p><a href="http://googlestop.com/blog/wp-content/uploads/2010/08/100829A0071.jpg" rel="lightbox"><img class="alignnone size-medium wp-image-712" title="100829A007" src="http://googlestop.com/blog/wp-content/uploads/2010/08/100829A0071-225x300.jpg" alt="" width="225" height="300" /></a></p>
<p>上图为领头的两位队员。</p>
<p>&#8211; 分割线 &#8211;</p>
<p>坎坷的人生，来自家乡的高逸峰：</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="align" value="middle" /><param name="src" value="http://player.youku.com/player.php/sid/XMjAwMzUxMzQ0/v.swf" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="480" height="400" src="http://player.youku.com/player.php/sid/XMjAwMzUxMzQ0/v.swf" quality="high" align="middle"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/08/%e7%99%bb%e5%b1%b1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>独唱团</title>
		<link>http://googlestop.com/blog/2010/08/%e7%8b%ac%e5%94%b1%e5%9b%a2/</link>
		<comments>http://googlestop.com/blog/2010/08/%e7%8b%ac%e5%94%b1%e5%9b%a2/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 14:07:15 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/2010/08/%e7%8b%ac%e5%94%b1%e5%9b%a2/</guid>
		<description><![CDATA[傍晚去买3D眼镜，在回来的路上，偶然发现路边的书报亭有《独唱团》出售，遂买下。前些时候准备从淘宝上买，卡有些问题，一直耽搁至今。 &#8212;&#8212;&#8211;分割线&#8212;&#8212;&#8211; 看了这篇文章，就去买个3D眼镜（红蓝）玩玩，不是专业的那种，10-15块的而已，千万别戴时间长了，看多了眼睛会累。这里还有3D播放器和片源。这种眼镜不适合看3D电影，效果不好，想看，还是去影院看吧，偶尔看看图片还是可以的，Flickr上还有很多红蓝3D图片，请点击这里。]]></description>
			<content:encoded><![CDATA[<p>傍晚去买3D眼镜，在回来的路上，偶然发现路边的书报亭有《独唱团》出售，遂买下。前些时候准备从淘宝上买，卡有些问题，一直耽搁至今。</p>
<p><a href="http://googlestop.com/blog/wp-content/uploads/2010/08/100_4703.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="100_4703" border="0" alt="100_4703" src="http://googlestop.com/blog/wp-content/uploads/2010/08/100_4703_thumb.jpg" width="344" height="261" /></a><a href="http://googlestop.com/blog/wp-content/uploads/2010/08/100_4707.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="100_4707" border="0" alt="100_4707" src="http://googlestop.com/blog/wp-content/uploads/2010/08/100_4707_thumb.jpg" width="289" height="219" /></a></p>
<p>&#8212;&#8212;&#8211;分割线&#8212;&#8212;&#8211;</p>
<p>看了<a href="http://photo.163.com/ironhide/pp/3834188.html">这篇</a>文章，就去买个3D眼镜（红蓝）玩玩，不是专业的那种，10-15块的而已，千万别戴时间长了，看多了眼睛会累。<a href="http://www.verycd.com/topics/2825613/">这里</a>还有3D播放器和片源。这种眼镜不适合看3D电影，效果不好，想看，还是去影院看吧，偶尔看看图片还是可以的，Flickr上还有很多红蓝3D图片，请点击<a href="http://www.flickr.com/search/?w=all&amp;q=3D&amp;m=text">这里</a>。</p>
<p>   </p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/08/%e7%8b%ac%e5%94%b1%e5%9b%a2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>基于文件系统的生产者和消费者问题</title>
		<link>http://googlestop.com/blog/2010/08/%e5%9f%ba%e4%ba%8e%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%9a%84%e7%94%9f%e4%ba%a7%e8%80%85%e5%92%8c%e6%b6%88%e8%b4%b9%e8%80%85%e9%97%ae%e9%a2%98/</link>
		<comments>http://googlestop.com/blog/2010/08/%e5%9f%ba%e4%ba%8e%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%9a%84%e7%94%9f%e4%ba%a7%e8%80%85%e5%92%8c%e6%b6%88%e8%b4%b9%e8%80%85%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 07:05:49 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Architecture Design]]></category>
		<category><![CDATA[Design Pattern]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming Language]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/2010/08/%e5%9f%ba%e4%ba%8e%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%9a%84%e7%94%9f%e4%ba%a7%e8%80%85%e5%92%8c%e6%b6%88%e8%b4%b9%e8%80%85%e9%97%ae%e9%a2%98/</guid>
		<description><![CDATA[周末的时候和team讨论了下如何用最简单的方式，提高数据文件的单位时间传输吞吐量。下面是一个简单的应用场景： 一个目录(DIR1)，有很多Producer向这个目录里面放文件，同时有很多的Consumer负责从这个目录里面消费这些文件，插入数据库或者做其他的操作，然后删除或者移走这些文件。 假设条件： 一个文件中转目录DIR1，这个目录位于一个网络存储上 一个生产者，每一秒钟向DIR1里面放一个文件 若干个消费者，假设有8个，其实是8个不同的服务器，都可以访问DIR1，多台服务器可以起负载均衡的作用，任何一台或者几台出问题，整个数据流不会中断 解析一个文件大约需要2-14秒 最后一点：位于网络存储上的目录DIR1，我们认为它是不会出问题的，它不是这里的问题核心 这个场景很普遍，很多公司大概都会用到，尤其是那么比较老的系统(Legacy System)，下面是两种方案： 方案一 Consumer循环扫描DIR1，一旦发现有文件，循环解析这些文件，这里有8台服务器，也就是说有8个Consumer一起这样做。代码如下： [java] public void run() { System.out.println(&#8220;Created consumer:&#8221; + threadName); while (true) { File file = new File(Constant.STAGING_FOLDER); File files[] = file.listFiles(); for (int i = 0; i < files.length; ++i) { File f = files[i]; parse(Constant.STAGING_FOLDER + "/" + f.getName()); } Commons.sleep(); } [...]]]></description>
			<content:encoded><![CDATA[<p>周末的时候和team讨论了下如何用最简单的方式，提高数据文件的单位时间传输吞吐量。下面是一个简单的应用场景：</p>
<p><strong>一个目录(DIR1)，有很多Producer向这个目录里面放文件，同时有很多的Consumer负责从这个目录里面消费这些文件，插入数据库或者做其他的操作，然后删除或者移走这些文件。</strong></p>
<p><strong>假设条件：</strong></p>
<ul>
<li>一个文件中转目录DIR1，这个目录位于一个网络存储上</li>
<li>一个生产者，每一秒钟向DIR1里面放一个文件</li>
<li>若干个消费者，假设有8个，其实是8个不同的服务器，都可以访问DIR1，多台服务器可以起负载均衡的作用，任何一台或者几台出问题，整个数据流不会中断</li>
<li>解析一个文件大约需要2-14秒</li>
<li>最后一点：位于网络存储上的目录DIR1，我们认为它是不会出问题的，它不是这里的问题核心</li>
</ul>
<p>这个场景很普遍，很多公司大概都会用到，尤其是那么比较老的系统(Legacy System)，下面是两种方案：</p>
<h3>方案一</h3>
<p>Consumer循环扫描DIR1，一旦发现有文件，循环解析这些文件，这里有8台服务器，也就是说有8个Consumer一起这样做。代码如下：</p>
<p>[java]<br />
	public void run() {<br />
		System.out.println(&#8220;Created consumer:&#8221; + threadName);</p>
<p>		while (true) {<br />
			File file = new File(Constant.STAGING_FOLDER);<br />
			File files[] = file.listFiles();<br />
			for (int i = 0; i < files.length; ++i) {<br />
				File f = files[i];<br />
				parse(Constant.STAGING_FOLDER + "/" + f.getName());<br />
			}</p>
<p>			Commons.sleep();<br />
		}<br />
	}<br />
[/java]</p>
<p>看起来很简单，可是上面的代码效率非常的差，多个Consumer有很大的几率拿到相同的文件，当某个Consumer尝试去解析一个文件时，却发现这个文件已经被别的Consumer解析过了，并且文件也都删除或者移走了。这样浪费的很多的CPU时间。</p>
<p>可以用下面的方案来替代：</p>
<h3>方案二</h3>
<p>[java]<br />
	public void run() {<br />
		System.out.println(&#8220;Created consumer:&#8221; + threadName);</p>
<p>		while (true) {<br />
			File file = new File(Constant.STAGING_FOLDER);<br />
			File files[] = file.listFiles();</p>
<p>			int nCapacity = files.length > Constant.CAPACITY ? Constant.CAPACITY<br />
					: files.length;<br />
			System.out.println(this.threadName + &#8221; found &#8221; + nCapacity<br />
					+ &#8221; files&#8221;);</p>
<p>			for (int i = 0; i < nCapacity; ++i) {<br />
				File f = files[i];<br />
				f.renameTo(new File(Constant.TMP_FOLDER + "/" + f.getName()));<br />
			}</p>
<p>			for (int i = 0; i < nCapacity; ++i) {<br />
				parse(Constant.TMP_FOLDER + "/" + files[i].getName());<br />
			}</p>
<p>			Commons.sleep();<br />
		}<br />
	}<br />
[/java]</p>
<p>它和方案一的不同之处在于：它每次扫描完目录后，最多只取前若干个文件，这里是10个。并且，它不急于去处理文件，而是把文件马上移动到一个临时工作目录，其他的的操作都是相同的。</p>
<p>对于这个方案，有个附加条件：这个临时工作目录tmp，一定要和staging目录在同一个文件系统(filesystem)，这样的话，mv操作就只是修改一下inode，几乎瞬间完成。</p>
<h3>比较（Benchmarking)</h3>
<p>为了测试两中方案的效率差别，我写了一个模拟程序(<a href="http://googlestop.com/download/SimConsumer.7z">http://googlestop.com/download/SimConsumer.7z</a>)，它有7个class：</p>
<ol>
<li>App.java &#8211; 程序入口</li>
<li>Commons.java &#8211; 共享的函数</li>
<li>Constant.java – 配置参数</li>
<li>Producer.java &#8211; 生产者，每隔一秒向目录staging里丢一个文件</li>
<li>AbstractConsumer.java – 抽象消费者，定义消费者的一些基本属性和行为</li>
<li>Consumer1.java &#8211; 具体消费者，实现方案一</li>
<li>Consumer2.java &#8211; 具体消费者，实现方案二</li>
</ol>
<p>在App.java中，你可以指定调用Consumer1还是Consumer2。</p>
<p>对于前者(Consumer1)，staging目录下的文件数目不停的增长，并且如log显示，有很多冲突：一个Consumer准备处理的文件已经被其他的Consumer处理完了，造成了很多无效的操作，由于消费速度更不上生产速度，DIR1被撑爆只是时间的问题。</p>
<p>对于后者(Consumer2)，staging目录下的文件几乎马上就会被移动到tmp目录下，大部分时间，文件数都为0。而tmp目录下，在程序稳定后大概保存在20多个文件左右，保持一个动态的平衡。用这种方式，你也会看到很多冲突，但是只会发生在程序刚开始，原因是，刚开始的时候，8个线程几乎是同时去访问staging目录，势必拿到很多相同的文件，待到稳定后，就很少有冲突发生了。</p>
<p>这两种方案都是最基本的，没有借助于第三方工具完成的，成本是最低的，其实还有一些其他的方案，可能会借助一些服务来实现，比如消息分发、数据库等。有时间的话，我继续补充。</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/08/%e5%9f%ba%e4%ba%8e%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%9a%84%e7%94%9f%e4%ba%a7%e8%80%85%e5%92%8c%e6%b6%88%e8%b4%b9%e8%80%85%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OneNote Anyway with Windows Live Sync and Drop Box</title>
		<link>http://googlestop.com/blog/2010/08/onenote-anyway-with-windows-live-sync-and-drop-box/</link>
		<comments>http://googlestop.com/blog/2010/08/onenote-anyway-with-windows-live-sync-and-drop-box/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 13:39:08 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/2010/08/onenote-anyway-with-windows-live-sync-and-drop-box/</guid>
		<description><![CDATA[如果你是个Microsoft OneNote的用户，并且可能会在多台电脑上记录笔记，那么一定会遇到如何同步这些笔记的问题，标题中的两个服务可以为我们解决这个问题。一个是Drop Box，官网为：www.dropbox.com ，这个网站在中国大陆目前无法访问(原因大概是中国政府不希望网民使用它来分享信息，任何有利于信息自由流动和传播的服务都难逃此运)。另外一个是Microsoft出品的Live Sync。 方法极其简单：在需要同步的两台电脑上，安装DropBox或者Live Sync，然后将OneNote的目录设置在需要同步的目录里面即可。 对于Drop Box，你需要在hosts文件中添加如下项目： # 下面的IP不保证长期有效 174.36.30.67&#160;&#160;&#160; dropbox.com 174.36.30.71&#160;&#160;&#160;&#160; www.dropbox.com 75.101.129.115&#160;&#160; dl.dropbox.com 75.101.159.151 dl-web.dropbox.com 174.36.30.67&#160;&#160;&#160;&#160;&#160; forums.dropbox.com 对于Live Sync，你要注意的是，如果你的两个系统都是Windows 7或者Vista，建议你安装最新版本的Windows Live Sync，如果其中有一个是Windows XP，那么你只能选择针对XP的老版本的Live Sync。 我会继续介绍一些提高工作效率的方法，即使方法简单的如这篇文章一样，总会有人用的到。 关键字：One Note、同步、笔记、Sync]]></description>
			<content:encoded><![CDATA[<p>如果你是个Microsoft OneNote的用户，并且可能会在多台电脑上记录笔记，那么一定会遇到如何同步这些笔记的问题，标题中的两个服务可以为我们解决这个问题。一个是Drop Box，官网为：<a href="http://www.dropbox.com">www.dropbox.com</a> ，这个网站在中国大陆目前无法访问(原因大概是中国政府不希望网民使用它来分享信息，任何有利于信息自由流动和传播的服务都难逃此运)。另外一个是Microsoft出品的Live Sync。</p>
<p>方法极其简单：在需要同步的两台电脑上，安装DropBox或者Live Sync，然后将OneNote的目录设置在需要同步的目录里面即可。</p>
<p>对于Drop Box，你需要在hosts文件中添加如下项目：</p>
<blockquote><p># 下面的IP不保证长期有效</p>
<p>174.36.30.67&#160;&#160;&#160; dropbox.com     <br />174.36.30.71&#160;&#160;&#160;&#160; www.dropbox.com      <br />75.101.129.115&#160;&#160; dl.dropbox.com      <br />75.101.159.151 dl-web.dropbox.com      <br />174.36.30.67&#160;&#160;&#160;&#160;&#160; forums.dropbox.com</p>
</blockquote>
<p>对于Live Sync，你要注意的是，如果你的两个系统都是Windows 7或者Vista，建议你安装最新版本的Windows Live Sync，如果其中有一个是Windows XP，那么你只能选择针对XP的老版本的Live Sync。</p>
<p>我会继续介绍一些提高工作效率的方法，即使方法简单的如这篇文章一样，总会有人用的到。</p>
<p>关键字：One Note、同步、笔记、Sync</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/08/onenote-anyway-with-windows-live-sync-and-drop-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>两个周末</title>
		<link>http://googlestop.com/blog/2010/07/%e4%b8%a4%e4%b8%aa%e5%91%a8%e6%9c%ab/</link>
		<comments>http://googlestop.com/blog/2010/07/%e4%b8%a4%e4%b8%aa%e5%91%a8%e6%9c%ab/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 13:02:10 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/2010/07/%e4%b8%a4%e4%b8%aa%e5%91%a8%e6%9c%ab/</guid>
		<description><![CDATA[上个周末，为了测试一下体力，跑了一个迷你马拉松，大概10多公里的路程，连跑带走，中间还看了一会模型飞机表演。 这个周末，代表公司参加了，2010软件工程技术、产业与人才培养论坛，论坛的名子起的很响亮，大概也就百十来人的规模 上图是来自CMU的John T Grasso(现已离开CMU，他在SEPG的推广上作出了很大的贡献)，在做开篇演讲《Methodology in Software Engineering Education》期间还有一些来自IT界著名和非著名人士做了些专题报告。整个论坛类似于TED，但是比TED更有倾向性，就是软件工程、产业、教育等。 中午吃饭的时候，遇到个老先生，据他说是从美国回来，之前在Bell Labs，刚回国4个月，开了家公司，马上就搞定了3个单子，主要做的是视觉识别类的软件以及产业化，大概是用在Test Handler上的一些技术，据他说前途一片光明，佩服。]]></description>
			<content:encoded><![CDATA[<p>上个周末，为了测试一下体力，跑了一个迷你马拉松，大概10多公里的路程，连跑带走，中间还看了一会模型飞机表演。</p>
<p><a href="http://googlestop.com/blog/wp-content/uploads/2010/07/100704A015.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="100704A015" border="0" alt="100704A015" src="http://googlestop.com/blog/wp-content/uploads/2010/07/100704A015_thumb.jpg" width="244" height="184" /></a></p>
<p> 
<p><a href="http://googlestop.com/blog/wp-content/uploads/2010/07/100704A019.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; margin: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="100704A019" border="0" alt="100704A019" src="http://googlestop.com/blog/wp-content/uploads/2010/07/100704A019_thumb.jpg" width="244" height="184" /></a><a href="http://googlestop.com/blog/wp-content/uploads/2010/07/100704A003.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; margin: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="100704A003" border="0" alt="100704A003" src="http://googlestop.com/blog/wp-content/uploads/2010/07/100704A003_thumb.jpg" width="244" height="184" /></a><a href="http://googlestop.com/blog/wp-content/uploads/2010/07/100704A017.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="100704A017" border="0" alt="100704A017" src="http://googlestop.com/blog/wp-content/uploads/2010/07/100704A017_thumb.jpg" width="244" height="184" /></a></p>
<p>这个周末，代表公司参加了，<strong>2010软件工程技术、产业与人才培养论坛</strong>，论坛的名子起的很响亮，大概也就百十来人的规模</p>
<p><a href="http://googlestop.com/blog/wp-content/uploads/2010/07/100710A005.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; margin: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="100710A005" border="0" alt="100710A005" src="http://googlestop.com/blog/wp-content/uploads/2010/07/100710A005_thumb.jpg" width="244" height="184" /></a><a href="http://googlestop.com/blog/wp-content/uploads/2010/07/100710A001.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="100710A001" border="0" alt="100710A001" src="http://googlestop.com/blog/wp-content/uploads/2010/07/100710A001_thumb.jpg" width="244" height="184" /></a></p>
<p>上图是来自CMU的John T Grasso(现已离开CMU，他在SEPG的推广上作出了很大的贡献)，在做开篇演讲《Methodology in Software Engineering Education》期间还有一些来自IT界著名和非著名人士做了些专题报告。整个论坛类似于TED，但是比TED更有倾向性，就是软件工程、产业、教育等。</p>
<p>中午吃饭的时候，遇到个老先生，据他说是从美国回来，之前在Bell Labs，刚回国4个月，开了家公司，马上就搞定了3个单子，主要做的是视觉识别类的软件以及产业化，大概是用在Test Handler上的一些技术，据他说前途一片光明，佩服。</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/07/%e4%b8%a4%e4%b8%aa%e5%91%a8%e6%9c%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mikado Spiel</title>
		<link>http://googlestop.com/blog/2010/06/mikado-spiel/</link>
		<comments>http://googlestop.com/blog/2010/06/mikado-spiel/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 12:53:38 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/?p=678</guid>
		<description><![CDATA[傍晚去欧尚买盆栽植物，偶然在体育用品货架上发现个怪怪的盒子，里面装了很多小棍子，似乎听别人说过有种棍子游戏，我没有玩过，遂买回来玩玩。 详见说明： http://de.wikipedia.org/wiki/Mikado_(Spiel) http://baike.baidu.com/view/718078.htm]]></description>
			<content:encoded><![CDATA[<p>傍晚去欧尚买盆栽植物，偶然在体育用品货架上发现个怪怪的盒子，里面装了很多小棍子，似乎听别人说过有种棍子游戏，我没有玩过，遂买回来玩玩。</p>
<p><a href="http://googlestop.com/blog/wp-content/uploads/2010/06/Mikado-Spiel.jpg" rel="lightbox"><img class="alignnone size-medium wp-image-679" title="Mikado Spiel" src="http://googlestop.com/blog/wp-content/uploads/2010/06/Mikado-Spiel-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>详见说明：</p>
<p><a href="http://de.wikipedia.org/wiki/Mikado_(Spiel)">http://de.wikipedia.org/wiki/Mikado_(Spiel)</a></p>
<p><a href="http://baike.baidu.com/view/718078.htm">http://baike.baidu.com/view/718078.htm</a></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/06/mikado-spiel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>考个驾照</title>
		<link>http://googlestop.com/blog/2010/06/%e8%80%83%e4%b8%aa%e9%a9%be%e7%85%a7/</link>
		<comments>http://googlestop.com/blog/2010/06/%e8%80%83%e4%b8%aa%e9%a9%be%e7%85%a7/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 13:56:22 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/?p=675</guid>
		<description><![CDATA[打算考个驾照，实际上已经开始了，5月30号开始正式学习，6月28号就全部结束了，速度算是比较快的，每天6点就得起床了，早上得练习1个小时，睡眠严重不足。]]></description>
			<content:encoded><![CDATA[<p>打算考个驾照，实际上已经开始了，5月30号开始正式学习，6月28号就全部结束了，速度算是比较快的，每天6点就得起床了，早上得练习1个小时，睡眠严重不足。</p>
<p><a href="http://googlestop.com/blog/wp-content/uploads/2010/06/100530A003.jpg" rel="lightbox"><img class="alignnone size-medium wp-image-676" title="练习现场@丰速驾校" src="http://googlestop.com/blog/wp-content/uploads/2010/06/100530A003-300x225.jpg" alt="练习现场@丰速驾校" width="300" height="225" /></a></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/06/%e8%80%83%e4%b8%aa%e9%a9%be%e7%85%a7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My Sheldon T-Shirt</title>
		<link>http://googlestop.com/blog/2010/05/my-sheldon-t-shirt/</link>
		<comments>http://googlestop.com/blog/2010/05/my-sheldon-t-shirt/#comments</comments>
		<pubDate>Sat, 22 May 2010 02:36:21 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/?p=672</guid>
		<description><![CDATA[淘宝上买的，Sheldon的T-shirt之一]]></description>
			<content:encoded><![CDATA[<p><a href="http://googlestop.com/blog/wp-content/uploads/2010/05/100_4679.jpg" rel="lightbox"><img class="alignnone size-medium wp-image-673" title="Sheldon T-shirt" src="http://googlestop.com/blog/wp-content/uploads/2010/05/100_4679-225x300.jpg" alt="" width="225" height="300" /></a></p>
<p>淘宝上买的，Sheldon的T-shirt之一</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/05/my-sheldon-t-shirt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Email Lost In Outlook 2010 and Recovery Method</title>
		<link>http://googlestop.com/blog/2010/05/email-lost-in-outlook-2010-and-recovery-method/</link>
		<comments>http://googlestop.com/blog/2010/05/email-lost-in-outlook-2010-and-recovery-method/#comments</comments>
		<pubDate>Sat, 01 May 2010 00:22:01 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/?p=633</guid>
		<description><![CDATA[Several weeks ago, I upgraded my Outlook to Outlook 2010 Beta, and previously I wrote a macro to move all emails with my name in the recipient list to a local PST folder(folder: OnlyToMe) automatically. So there&#8217;s no backup in enterprise vault. This morning, when I try to check email in my Outlook, there&#8217;s no [...]]]></description>
			<content:encoded><![CDATA[<p>Several weeks ago, I upgraded my Outlook to Outlook 2010 Beta, and previously I wrote a macro to move all emails with my name in the recipient list to a local PST folder(folder: OnlyToMe) automatically. So there&#8217;s no backup in enterprise vault.</p>
<p>This morning, when I try to check email in my Outlook, there&#8217;s no email in this folder(OnlyToMe), but there&#8217;s a number indicating 4 new emails:</p>
<blockquote><p>OnlyToMe(4)</p></blockquote>
<p>This is the most important folder for me, the folder size is around 500M(for Y2010 only),  below is how I recover it:<br />
[vb]<br />
Sub Recover()<br />
	Set OutApp = CreateObject(&#8220;Outlook.Application&#8221;)<br />
	Set NmSpace = OutApp.GetNamespace(&#8220;MAPI&#8221;)<br />
	Set F = NmSpace.Folders(&#8220;Default&#8221;).Folders(&#8220;OnlyToMe&#8221;)<br />
	Set T = NmSpace.Folders(&#8220;HR&#8221;).Folders(&#8220;Temp&#8221;)</p>
<p>	For intX = F.Items.Count To 1 Step -1<br />
		Set objMessage = F.Items.Item(intX)<br />
		objMessage.Move T<br />
	Next</p>
<p>	Set OutApp = Nothing<br />
	Set NmSpace = Nothing<br />
	Set F = Nothing<br />
	Set T = Nothing<br />
End Sub<br />
[/vb]<br />
Above VBA will move all mail items from the weird folder to a newly created folder. I believe I&#8217;m not the only one  who got this problem, if you&#8217;re the lucky guy, try this method. Don&#8217;t forget to re-create a new PST, it&#8217;s likely something wrong with the PST.</p>
<p>Outlook 2010 is still a beta release, using it in a production environment is not a good practice. if you like the new features of 2010, you&#8217;d better backup your PST regularly.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/05/email-lost-in-outlook-2010-and-recovery-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Config PL/SQL Developer without installing Oracle client</title>
		<link>http://googlestop.com/blog/2010/04/config-plsql-developer-without-installing-oracle-client/</link>
		<comments>http://googlestop.com/blog/2010/04/config-plsql-developer-without-installing-oracle-client/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 16:01:38 +0000</pubDate>
		<dc:creator>Charry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://googlestop.com/blog/?p=629</guid>
		<description><![CDATA[Follow the following steps to config your PL/SQL Developer without installing Oracle client: download instant client package  http://download.oracle.com/otn/nt/instantclient/112010/instantclient-basic-win32-11.2.0.1.0.zip extract it to C:\Oracle\instantclient_11_2 add C:\Oracle\instantclient_11_2 to %PATH% set %LD_LIBRARY_PATH%, %SQLPATH% and %TNS_ADMIN% as C:\Oracle\instantclient_11_2 set OCI Library as &#8220;C:\Oracle\instantclient_11_2\oci.dll&#8221; in PL/SQL Developer (Tools-&#62;Preferences-&#62;Connection) done I verified it on Windows 7, it works.]]></description>
			<content:encoded><![CDATA[<div>Follow the following steps to config your PL/SQL Developer without installing Oracle client:</div>
<ol>
<li>download instant client package  http://download.oracle.com/otn/nt/instantclient/112010/instantclient-basic-win32-11.2.0.1.0.zip</li>
<li>extract it to C:\Oracle\instantclient_11_2</li>
<li>add C:\Oracle\instantclient_11_2 to %PATH%</li>
<li>set %LD_LIBRARY_PATH%, %SQLPATH% and %TNS_ADMIN% as C:\Oracle\instantclient_11_2</li>
<li>set <strong>OCI Library</strong> as &#8220;C:\Oracle\instantclient_11_2\oci.dll&#8221; in PL/SQL Developer (Tools-&gt;Preferences-&gt;Connection)</li>
<li>done</li>
</ol>
<p>I verified it on Windows 7, it works.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://googlestop.com/blog/2010/04/config-plsql-developer-without-installing-oracle-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
