<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><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" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Charlie's path to dEAth</title>
	
	<link>http://blog.charliezhu.com</link>
	<description>an engineer's log</description>
	<pubDate>Mon, 06 Jul 2009 12:58:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/charliezhu" type="application/rss+xml" /><item>
		<title>ChemDeposit发布版本3</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/bIT9s2lq9lo/</link>
		<comments>http://blog.charliezhu.com/2009/06/20/chemdeposit%e5%8f%91%e5%b8%83%e7%89%88%e6%9c%ac3/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 14:56:42 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[ChemDeposit]]></category>

		<category><![CDATA[chemoinformatics]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=394</guid>
		<description><![CDATA[ChemDeposit是在Google Appengine (java) 上运行的化合物信息生成、存储、检索的服务。
在6月15号，就已经发布上去能工作的版本了，不过不能支持子结构检索，只能用指纹散列（fingerprint）做&#8220;近似子结构检索）。
为了调整CDK的版本，增加子结构检索(SMARTS Searching)，竟然用了一周的时间，遇到好多小问题。最难办的就是在客户机的SDK上运行OK，上传上去就不行的问题。最最难办的就是数据结构修改后，原有的数据成为非法数据删不掉的情况。
相关的问题和解决的过程在这里。

Jun 20, 2009
Version 3.

Using CDK jar version 1.2.3
Substructure Searching supported. That means the CDK SMARTS searching function works.
Similar Structure Searching (Tanimoto) supported.
Has a domain name&#160;www.chemdeposit.com


]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chemdeposit.com">ChemDeposit</a>是在<a href="http://code.google.com/appengine/">Google Appengine (java) </a>上运行的化合物信息生成、存储、检索的服务。</p>
<p><a href="http://blog.charliezhu.com/2009/06/15/hosting-cdk-on-google-app-engine/">在6月15号，就已经发布上去能工作的版本了</a>，不过不能支持子结构检索，只能用指纹散列（fingerprint）做&ldquo;近似子结构检索）。</p>
<p>为了调整CDK的版本，增加子结构检索(SMARTS Searching)，竟然用了一周的时间，遇到好多小问题。最难办的就是在客户机的SDK上运行OK，上传上去就不行的问题。最最难办的就是数据结构修改后，原有的数据成为非法数据删不掉的情况。</p>
<p>相关的问题和解决的过程在<a href="http://groups.google.com/group/google-appengine/browse_thread/thread/ce506288521736e9#">这里</a>。</p>
<p><span style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 微软雅黑; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;" class="Apple-style-span"></p>
<h3>Jun 20, 2009</h3>
<p>Version 3.</p>
<ul>
<li>Using CDK jar version 1.2.3</li>
<li>Substructure Searching supported. That means the CDK SMARTS searching function works.</li>
<li>Similar Structure Searching (Tanimoto) supported.</li>
<li>Has a domain name<span class="Apple-converted-space">&nbsp;</span><a href="http://www.chemdeposit.com/">www.chemdeposit.com</a></li>
</ul>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/06/20/chemdeposit%e5%8f%91%e5%b8%83%e7%89%88%e6%9c%ac3/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/06/20/chemdeposit%e5%8f%91%e5%b8%83%e7%89%88%e6%9c%ac3/</feedburner:origLink></item>
		<item>
		<title>Drive to T3</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/LGS6KTTdEoo/</link>
		<comments>http://blog.charliezhu.com/2009/06/16/drive-to-t3/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 06:39:22 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/2009/06/16/392/</guid>
		<description><![CDATA[开车去T3航站楼的路线。
&#160;

&#160;
&#160;

&#160;

]]></description>
			<content:encoded><![CDATA[<div>开车去T3航站楼的路线。</div>
<div>&nbsp;</div>
<div><img style="width: 100%; float: left; margin-left: 0px; margin-right: 1em" alt="" src="http://www.bcia.com.cn/images/about/news/20080227001_b.jpg" /></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><img alt="乘车路线图" src="http://www.33xx.cn/kehu/images/T3traffic.gif" /></div>
<div>&nbsp;</div>
<p><img alt="T3柜台" src="http://www.33xx.cn/kehu/images/T3CKINplot.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/06/16/drive-to-t3/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/06/16/drive-to-t3/</feedburner:origLink></item>
		<item>
		<title>Hosting CDK on Google App Engine</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/m3yAv3Q1aoA/</link>
		<comments>http://blog.charliezhu.com/2009/06/15/hosting-cdk-on-google-app-engine/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 07:38:46 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[ChemDeposit]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[chemoinformatics]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=390</guid>
		<description><![CDATA[Google App Engine has supported java for a while. I don&#8217;t know if others have tried to hosting CDK jar on the App Engine. Last weekend I tried to build an application or App Engine based on CDK and&#160;fortunately it seems most parts works.
&#160;
I have build a app named ChemDeposit, it can be visited at&#160;http://chemdeposit.appspot.com/
&#160;
It [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-family: arial; font-size: 13px; border-collapse: collapse; "><a href="http://code.google.com/appengine/">Google App Engine</a> has supported java for a while. I don&#8217;t know if others have tried to hosting <a href="http://cdk.sourceforge.net/">CDK </a>jar on the App Engine. Last weekend I tried to build an application or App Engine based on CDK and&nbsp;fortunately it seems most parts works.</p>
<div>&nbsp;</div>
<div>I have build a app named ChemDeposit, it can be visited at&nbsp;<a href="http://chemdeposit.appspot.com/" target="_blank" style="color: rgb(6, 88, 181); ">http://chemdeposit.appspot.<wbr></wbr>com/</a></div>
<div>&nbsp;</div>
<div>It accept SMILES inputs to add or view information generated by CDK. And there&#8217;s also an *almost* substructure search implementing just based on default fingerprints.</div>
<div>&nbsp;</div>
<div>The InChI generator and SMARTS search functions can not work on App Engine and I pasted error informations at&nbsp;<a href="http://chemdeposit.appspot.com/cdk-on-appengine.jsp" target="_blank" style="color: rgb(6, 88, 181); ">http://chemdeposit.appspot.<wbr></wbr>com/cdk-on-appengine.jsp</a>&nbsp;, hope there&#8217;s someone can help.</div>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/06/15/hosting-cdk-on-google-app-engine/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/06/15/hosting-cdk-on-google-app-engine/</feedburner:origLink></item>
		<item>
		<title>今天是2009年5月35号</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/4dlUs_uiMu8/</link>
		<comments>http://blog.charliezhu.com/2009/06/04/%e4%bb%8a%e5%a4%a9%e6%98%af2009%e5%b9%b45%e6%9c%8835%e5%8f%b7/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 03:26:53 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/2009/06/04/%e4%bb%8a%e5%a4%a9%e6%98%af2009%e5%b9%b45%e6%9c%8835%e5%8f%b7/</guid>
		<description><![CDATA[30年前的今天，我出生满一周。什么也没看到，什么也没听到，看到听到也什么都不记得了。
20年前的今天，我上小学三年级。什么也没看到，什么也没听到，看到听到也什么都不记得了。
10年前的今天，我上大学一年级。好像真的什么也不记得了。一身冷汗。
]]></description>
			<content:encoded><![CDATA[<p>30年前的今天，我出生满一周。什么也没看到，什么也没听到，看到听到也什么都不记得了。<br />
20年前的今天，我上小学三年级。什么也没看到，什么也没听到，看到听到也什么都不记得了。<br />
10年前的今天，我上大学一年级。好像真的什么也不记得了。一身冷汗。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/06/04/%e4%bb%8a%e5%a4%a9%e6%98%af2009%e5%b9%b45%e6%9c%8835%e5%8f%b7/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/06/04/%e4%bb%8a%e5%a4%a9%e6%98%af2009%e5%b9%b45%e6%9c%8835%e5%8f%b7/</feedburner:origLink></item>
		<item>
		<title>Thinkpad走向没落的标志</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/uExVlS9hNO8/</link>
		<comments>http://blog.charliezhu.com/2009/06/01/thinkpad%e8%b5%b0%e5%90%91%e6%b2%a1%e8%90%bd%e7%9a%84%e6%a0%87%e5%bf%97/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 00:01:47 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/2009/06/01/thinkpad%e8%b5%b0%e5%90%91%e6%b2%a1%e8%90%bd%e7%9a%84%e6%a0%87%e5%bf%97/</guid>
		<description><![CDATA[
.flickr-photo { border: solid 2px #000000; }
.flickr-yourcomment { }
.flickr-frame { text-align: left; padding: 3px; }
.flickr-caption { font-size: 0.8em; margin-top: 0px; }


	

	lenovo system update, originally uploaded by Charlie.Zhu.


	lenovo system update.
联想在干吗?五月份马上就过去了.
]]></description>
			<content:encoded><![CDATA[<style type="text/css">
.flickr-photo { border: solid 2px #000000; }
.flickr-yourcomment { }
.flickr-frame { text-align: left; padding: 3px; }
.flickr-caption { font-size: 0.8em; margin-top: 0px; }
</style>
<div class="flickr-frame">
	<a href="http://www.flickr.com/photos/charliezhu/3569962550/" title="photo sharing"><img src="http://farm4.static.flickr.com/3621/3569962550_eed8ec2fcb.jpg" class="flickr-photo" alt="" /></a><br />
<br />
	<span class="flickr-caption"><a href="http://www.flickr.com/photos/charliezhu/3569962550/">lenovo system update</a>, originally uploaded by <a href="http://www.flickr.com/people/charliezhu/">Charlie.Zhu</a>.</span>
</div>
<p class="flickr-yourcomment">
	lenovo system update.<br />
联想在干吗?五月份马上就过去了.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/06/01/thinkpad%e8%b5%b0%e5%90%91%e6%b2%a1%e8%90%bd%e7%9a%84%e6%a0%87%e5%bf%97/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/06/01/thinkpad%e8%b5%b0%e5%90%91%e6%b2%a1%e8%90%bd%e7%9a%84%e6%a0%87%e5%bf%97/</feedburner:origLink></item>
		<item>
		<title>当幸福来敲门 - 择友标准</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/-CnWadiefD4/</link>
		<comments>http://blog.charliezhu.com/2009/05/24/%e5%bd%93%e5%b9%b8%e7%a6%8f%e6%9d%a5%e6%95%b2%e9%97%a8-%e6%8b%a9%e5%8f%8b%e6%a0%87%e5%87%86/#comments</comments>
		<pubDate>Sun, 24 May 2009 14:29:06 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[Friends]]></category>

		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=381</guid>
		<description><![CDATA[上周五公司放电影，头一次留下来一起看，电影是《当幸福来敲门 The Pursuit of Happyness》。威尔史密斯06年的电影，反正是很老很有名没看过的人（我）很土鳖的那种了。看完之后，和大多数人的理解一致，这是个励志电影，然后上豆瓣打个5星。
电影讲的是一个很牛逼的美国成功人士，Chris Gardner，从睡公厕到迈入金融行业这个世界上最好worklife版上万众瞩目不需要讲年薪就可以瞬间秒杀所有IT民工自尊心的行业。
我的观后点有两点。
一是我很为这段父子之情所感动，再看我儿子的时候，大概知道我为啥那么稀罕他了。如果我的人生按照三十年分三节的话，第一节是为自己活的；第二节就是为他活的；第三节纯粹是为了把三节都活完整。
第二，就是很感叹Chris Gardner的择友标准。丫的都穷到尿血了，也没说找个哥们、朋友帮个忙。电影里他唯一的一个朋友，Wayne，帮他搬了一次家。但是Wayne欠他14块钱，Chris跑人家门口堵门要钱，钱没要到，断绝了来往。但是说Chris交往能力差，没有朋友吗？不是。这方面他挺牛逼的。拿个魔方也能跟股票公司的经理混熟；借个道歉的由子上门找xxx公司的CEO，然后第一次见面就能跟人家蹭着上头等包厢看球；看一场球就认识一帮有道性的人物然后后来都成了客户。只能说明一点，Chris的择友标准太明白了。下贱的穷哥们是没用的不能沾，沾上也是累赘；牛人是爹削尖脑袋也要搭搁上。
我有很多相关的感触但没什么要表达或评论的。因为这种择友标准是成功之道。
]]></description>
			<content:encoded><![CDATA[<p>上周五公司放电影，头一次留下来一起看，电影是《<a href="http://www.douban.com/subject/1849031/">当幸福来敲门 The Pursuit of Happyness</a>》。威尔史密斯06年的电影，反正是很老很有名没看过的人（我）很土鳖的那种了。看完之后，和大多数人的理解一致，这是个励志电影，然后上豆瓣打个5星。</p>
<p>电影讲的是一个很牛逼的美国成功人士，Chris Gardner，从睡公厕到迈入金融行业这个世界上最好worklife版上万众瞩目不需要讲年薪就可以瞬间秒杀所有IT民工自尊心的行业。</p>
<p>我的观后点有两点。</p>
<p>一是我很为这段父子之情所感动，再看我儿子的时候，大概知道我为啥那么稀罕他了。如果我的人生按照三十年分三节的话，第一节是为自己活的；第二节就是为他活的；第三节纯粹是为了把三节都活完整。</p>
<p>第二，就是很感叹Chris Gardner的择友标准。丫的都穷到尿血了，也没说找个哥们、朋友帮个忙。电影里他唯一的一个朋友，Wayne，帮他搬了一次家。但是Wayne欠他14块钱，Chris跑人家门口堵门要钱，钱没要到，断绝了来往。但是说Chris交往能力差，没有朋友吗？不是。这方面他挺牛逼的。拿个魔方也能跟股票公司的经理混熟；借个道歉的由子上门找xxx公司的CEO，然后第一次见面就能跟人家蹭着上头等包厢看球；看一场球就认识一帮有道性的人物然后后来都成了客户。只能说明一点，Chris的择友标准太明白了。下贱的穷哥们是没用的不能沾，沾上也是累赘；牛人是爹削尖脑袋也要搭搁上。</p>
<p>我有很多相关的感触但没什么要表达或评论的。因为这种择友标准是成功之道。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/05/24/%e5%bd%93%e5%b9%b8%e7%a6%8f%e6%9d%a5%e6%95%b2%e9%97%a8-%e6%8b%a9%e5%8f%8b%e6%a0%87%e5%87%86/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/05/24/%e5%bd%93%e5%b9%b8%e7%a6%8f%e6%9d%a5%e6%95%b2%e9%97%a8-%e6%8b%a9%e5%8f%8b%e6%a0%87%e5%87%86/</feedburner:origLink></item>
		<item>
		<title>免费SDF文件阅读和处理软件</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/aBNgRJQx3TY/</link>
		<comments>http://blog.charliezhu.com/2009/05/07/%e5%85%8d%e8%b4%b9sdf%e6%96%87%e4%bb%b6%e9%98%85%e8%af%bb%e5%92%8c%e5%a4%84%e7%90%86%e8%bd%af%e4%bb%b6/#comments</comments>
		<pubDate>Wed, 06 May 2009 22:14:17 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[Tools]]></category>

		<category><![CDATA[chemoinformatics]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/2009/05/07/373/</guid>
		<description><![CDATA[
Windows环境下，常用的SDF文件 阅读和处理的免费（或试用版）软件。
&#160;


http://www.chemaxon.com/product/marvin_land.html
&#160;


加载速度快。打开大文件时，随着窗口滚动增量加载解析。
编辑，包括画结构式
根据结构式命名。Traditional name/ IUPAC name
单个化合物结构图另存为图片。
分子式和分子量等基于结构的分析。
生成SMILES。


&#160;



http://www.enso-software.com/WebSite2005/Default.aspx

With ensochemSheet, you can manage you SD files as comfortably as if the were in a database. Search for structures and alphanumerical data, let the program automatically filter duplicates and much more. Test the free demo version even today!
&#160;


编辑，包括画结构式。
子结构检索。






http://www.hyleos.net/?s=applications&#38;p=ChemFileBrowser
&#160;


加载速度慢；功能简单。
列表查看和单个化合物查看。
可以标注和选择SDF中的化合物，并对选择的部分导出。
导出成SDF或CVS。


&#160;



http://www.niss.org/PowerMV/
&#160;


用于聚类等分析的工具。
列表和单个化合物信息查看。单个化合物信息查看自动全屏，有导航按钮。
导出成Excel，结构图列表或属性列表。


&#160;
上面的工具中，只有marvin view 还在持续的开发和改进。
&#160;
&#160;
http://www.bioclipse.net/
基于eclipse。
&#160;
]]></description>
			<content:encoded><![CDATA[<div>
<div id="kcxc" style="text-align: left;">Windows环境下，常用的<a href="http://en.wikipedia.org/wiki/SDF_(chemistry_file_format)#SDF" title="SDF文件" id="nm_s">SDF文件</a> 阅读和处理的免费（或试用版）软件。</div>
<div id="kcxc" style="text-align: left;">&nbsp;</div>
<div id="kcxc" style="text-align: left;"><img src="http://docs.google.com/File?id=ah2dqnkjbwxt_95577xd2mqh_b" alt="" style="width: 113px; height: 29px;" /></div>
</div>
<div><a href="http://www.chemaxon.com/product/marvin_land.html">http://www.chemaxon.com/product/marvin_land.html</a></div>
<div>&nbsp;</div>
<div>
<ul>
<li>加载速度快。打开大文件时，随着窗口滚动增量加载解析。</li>
<li>编辑，包括画结构式</li>
<li>根据结构式命名。Traditional name/ IUPAC name</li>
<li>单个化合物结构图另存为图片。</li>
<li>分子式和分子量等基于结构的分析。</li>
<li>生成SMILES。</li>
</ul>
</div>
<div>&nbsp;</div>
<div>
<div id="wgeq" style="text-align: left;"><img src="http://docs.google.com/File?id=ah2dqnkjbwxt_956hkdrtkdk_b" alt="" style="width: 113px; height: 29px;" /></div>
</div>
<p><a href="http://www.enso-software.com/WebSite2005/Default.aspx">http://www.enso-software.com/WebSite2005/Default.aspx</a></p>
<div></p>
<div>With ensochemSheet, you can manage you SD files as comfortably as if the were in a database. Search for structures and alphanumerical data, let the program automatically filter duplicates and much more. Test the free demo version even today!</div>
<div>&nbsp;</div>
<div>
<ul>
<li>编辑，包括画结构式。</li>
<li>子结构检索。</li>
</ul>
</div>
</div>
<div>
<div id="d.eg" style="text-align: left;"><img src="http://docs.google.com/File?id=ah2dqnkjbwxt_957ds9q8mc2_b" alt="" style="width: 114px; height: 29px;" /></div>
</div>
<p><a href="http://www.hyleos.net/?s=applications&amp;p=ChemFileBrowser">http://www.hyleos.net/?s=applications&amp;p=ChemFileBrowser</a></p>
<div>&nbsp;</div>
<div>
<ul>
<li>加载速度慢；功能简单。</li>
<li>列表查看和单个化合物查看。</li>
<li>可以标注和选择SDF中的化合物，并对选择的部分导出。</li>
<li>导出成SDF或CVS。</li>
</ul>
</div>
<div>&nbsp;</div>
<div>
<div id="or8b" style="text-align: left;"><img src="http://docs.google.com/File?id=ah2dqnkjbwxt_958cqv5t7d8_b" alt="" style="width: 113px; height: 29px;" /></div>
</div>
<div><a href="http://www.niss.org/PowerMV/">http://www.niss.org/PowerMV/</a></div>
<div>&nbsp;</div>
<div>
<ul>
<li>用于聚类等分析的工具。</li>
<li>列表和单个化合物信息查看。单个化合物信息查看自动全屏，有导航按钮。</li>
<li>导出成Excel，结构图列表或属性列表。</li>
</ul>
</div>
<p>&nbsp;</p>
<div>上面的工具中，只有marvin view 还在持续的开发和改进。</div>
<div>&nbsp;</div>
<p>&nbsp;<img src="http://blog.charliezhu.com/wp-content/uploads/bioclipse.PNG" alt="" /></p>
<p><a href="http://www.bioclipse.net/">http://www.bioclipse.net/</a></p>
<p>基于eclipse。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/05/07/%e5%85%8d%e8%b4%b9sdf%e6%96%87%e4%bb%b6%e9%98%85%e8%af%bb%e5%92%8c%e5%a4%84%e7%90%86%e8%bd%af%e4%bb%b6/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/05/07/%e5%85%8d%e8%b4%b9sdf%e6%96%87%e4%bb%b6%e9%98%85%e8%af%bb%e5%92%8c%e5%a4%84%e7%90%86%e8%bd%af%e4%bb%b6/</feedburner:origLink></item>
		<item>
		<title>我是这样找到色情网站的…</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/SEpx4a6QML8/</link>
		<comments>http://blog.charliezhu.com/2009/04/29/%e6%88%91%e6%98%af%e8%bf%99%e6%a0%b7%e6%89%be%e5%88%b0%e8%89%b2%e6%83%85%e7%bd%91%e7%ab%99%e7%9a%84/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 22:57:10 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=368</guid>
		<description><![CDATA[&#160;红网&#8230;百姓呼声&#8230;
&#160;
]]></description>
			<content:encoded><![CDATA[<p>&nbsp;红网&#8230;百姓呼声&#8230;</p>
<p>&nbsp;<img width="550" height="292" alt="" src="http://blog.charliezhu.com/wp-content/uploads/find_sexinsex.PNG" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/04/29/%e6%88%91%e6%98%af%e8%bf%99%e6%a0%b7%e6%89%be%e5%88%b0%e8%89%b2%e6%83%85%e7%bd%91%e7%ab%99%e7%9a%84/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/04/29/%e6%88%91%e6%98%af%e8%bf%99%e6%a0%b7%e6%89%be%e5%88%b0%e8%89%b2%e6%83%85%e7%bd%91%e7%ab%99%e7%9a%84/</feedburner:origLink></item>
		<item>
		<title>伪命题: 中关村人平均寿命53岁</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/CgpLAldXDL8/</link>
		<comments>http://blog.charliezhu.com/2009/04/13/%e4%bc%aa%e5%91%bd%e9%a2%98-%e4%b8%ad%e5%85%b3%e6%9d%91%e4%ba%ba%e5%b9%b3%e5%9d%87%e5%af%bf%e5%91%bd53%e5%b2%81/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 09:18:49 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[Engineer]]></category>

		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=366</guid>
		<description><![CDATA[华西都市报原文，引用报道很多，引用其中一篇 IT精英猝死引热议 报告称中关村人平均寿命53岁。
证明其伪命题如下：

中关村的开发从1998年开始。引文 中关村历史回顾：从初创期到发展期
这个行业初创，老年人不会多。且估计98年的时候，往多了算，主力的人员算作平均年龄40岁吧。
这些人到现在平均年龄50岁。
的确有一些人50岁左右就死了，他们就是华西都市报的采样数据。
有没有活到60、70、80岁以上的人呢？肯定是有的，但是他们现在还没死。所以没有归纳到采样数据里。

哗众取宠。
村里的民工可以安心了。
&#160;
]]></description>
			<content:encoded><![CDATA[<p>华西都市报原文，引用报道很多，引用其中一篇<a href="http://fellow.51cto.com/art/200903/115578.htm"> IT精英猝死引热议 报告称中关村人平均寿命53岁</a>。</p>
<p>证明其伪命题如下：</p>
<ul>
<li>中关村的开发从1998年开始。引文 <a href="http://www.bj.xinhuanet.com/bjpd_djzgc/2003-10/15/content_1059453.htm">中关村历史回顾：从初创期到发展期</a></li>
<li>这个行业初创，老年人不会多。且估计98年的时候，往多了算，主力的人员算作平均年龄40岁吧。</li>
<li>这些人到现在平均年龄50岁。</li>
<li>的确有一些人50岁左右就死了，他们就是华西都市报的采样数据。</li>
<li>有没有活到60、70、80岁以上的人呢？肯定是有的，但是他们<strong>现在还没死</strong>。所以没有归纳到采样数据里。</li>
</ul>
<p>哗众取宠。</p>
<p>村里的民工可以安心了。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/04/13/%e4%bc%aa%e5%91%bd%e9%a2%98-%e4%b8%ad%e5%85%b3%e6%9d%91%e4%ba%ba%e5%b9%b3%e5%9d%87%e5%af%bf%e5%91%bd53%e5%b2%81/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/04/13/%e4%bc%aa%e5%91%bd%e9%a2%98-%e4%b8%ad%e5%85%b3%e6%9d%91%e4%ba%ba%e5%b9%b3%e5%9d%87%e5%af%bf%e5%91%bd53%e5%b2%81/</feedburner:origLink></item>
		<item>
		<title>SQL Server CLR的进程和线程</title>
		<link>http://feedproxy.google.com/~r/charliezhu/~3/VnOod7IjI3M/</link>
		<comments>http://blog.charliezhu.com/2009/04/02/sql-server-clr%e7%9a%84%e8%bf%9b%e7%a8%8b%e5%92%8c%e7%ba%bf%e7%a8%8b/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 22:47:12 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[DBA]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=356</guid>
		<description><![CDATA[结论

SQL Server CLR是一个多线程运行的环境。
静态变量等线程安全问题，在CLR环境中存在。

摘录《Professional SQL Server&#8482; 2005&#160;CLR Programming》

SQL Server 2005 hosts the CLR in a &#8220;sandbox&#8221;-like environment in-process to itself, as you can see&#160;Figure 1-2. When a user requests a SQL CLR object for the first time, SQL Server will load the .NET execution engine mscoree.dll (which is the CLR) into memory.&#160;

实验
CLR代码

public partial class ProcessThread
{
  [...]]]></description>
			<content:encoded><![CDATA[<h2>结论</h2>
<ul>
<li>SQL Server CLR是一个多线程运行的环境。</li>
<li>静态变量等线程安全问题，在CLR环境中存在。</li>
</ul>
<p>摘录《Professional SQL Server&trade; 2005&nbsp;CLR Programming》</p>
<blockquote>
<p>SQL Server 2005 hosts the CLR in a &ldquo;sandbox&rdquo;-like environment in-process to itself, as you can see&nbsp;Figure 1-2. When a user requests a SQL CLR object for the first time, SQL Server will load the .NET execution engine mscoree.dll (which is the CLR) into memory.&nbsp;</p>
</blockquote>
<h2>实验</h2>
<h3>CLR代码</h3>
<pre>
public partial class ProcessThread
{
    public static int static_i=0;

    [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true, IsPrecise = true)]
    public static SqlString PID()
    {
        return  Process.GetCurrentProcess().Id.ToString();
    }

    [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true, IsPrecise = true)]
    public static SqlString TID()
    {
        return AppDomain.GetCurrentThreadId().ToString()+ &quot;:&quot;+
            System.Threading.Thread.CurrentThread.ManagedThreadId.ToString();
    }

    [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true, IsPrecise = true)]
    public static SqlString StaticI()
    {
        return (static_i++).ToString();
    }

};
</pre>
<h3>安装CLR的SQL代码</h3>
<pre>
CREATE ASSEMBLY sqlclr_test
FROM 'C:\SQLCLR\bin\Release\sqlclr.dll'
WITH permission_set = UNSAFE;
GO

create function fn_processid () returns nvarchar(max)
as external name sqlclr_test.ProcessThread.PID
GO
create function fn_threadid () returns nvarchar(max)
as external name sqlclr_test.ProcessThread.TID
GO
create function fn_statici () returns nvarchar(max)
as external name sqlclr_test.ProcessThread.StaticI
GO
</pre>
<h3>测试用查询命令</h3>
<pre>
select
    dbo.fn_processid() as [ProcessID],
    dbo.fn_threadid()  as [ThreadID],
    dbo.fn_statici()   as [StaticI]
</pre>
<h3>返回结果</h3>
<table border="1">
<tbody>
<tr height="20">
<td height="20" width="64" style="text-align: right; ">ProcessID</td>
<td width="114" style="text-align: right; ">ThreadID</td>
<td width="64" style="text-align: right; ">StaticI</td>
</tr>
<tr height="20">
<td height="20" style="text-align: right; ">1608</td>
<td style="text-align: right; ">5820:4</td>
<td align="right">11</td>
</tr>
</tbody>
</table>
<h3>系统进程截图 (Process Explorer)&nbsp;</h3>
<p><img class="size-full wp-image-357" title="clrprocessthread" alt="线程模型" width="577" height="275" src="http://blog.charliezhu.com/wp-content/uploads/2009/04/clrprocessthread.png" /></p>
<h3>现象&nbsp;</h3>
<ol>
<li>每次执行查询命令，得到的ThreadID会发生变化，在SQL Server的进程包含的线程池中轮转。</li>
<li>每次执行查询命令，不论是否同一个线程，StaticI的值会增加。</li>
<li>SQL Server的用户进程（登录），与所执行的线程编号几乎没有关系。</li>
</ol>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2009/04/02/sql-server-clr%e7%9a%84%e8%bf%9b%e7%a8%8b%e5%92%8c%e7%ba%bf%e7%a8%8b/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.charliezhu.com/2009/04/02/sql-server-clr%e7%9a%84%e8%bf%9b%e7%a8%8b%e5%92%8c%e7%ba%bf%e7%a8%8b/</feedburner:origLink></item>
	</channel>
</rss>
