<?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>Charlie's path to dEAth</title>
	<atom:link href="http://blog.charliezhu.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.charliezhu.com</link>
	<description>an engineer's log</description>
	<lastBuildDate>Mon, 16 Jan 2012 16:51:16 +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>铁路订票系统的平民技术思路</title>
		<link>http://blog.charliezhu.com/2012/01/17/%e9%93%81%e8%b7%af%e8%ae%a2%e7%a5%a8%e7%b3%bb%e7%bb%9f%e7%9a%84%e5%b9%b3%e6%b0%91%e6%8a%80%e6%9c%af%e6%80%9d%e8%b7%af/</link>
		<comments>http://blog.charliezhu.com/2012/01/17/%e9%93%81%e8%b7%af%e8%ae%a2%e7%a5%a8%e7%b3%bb%e7%bb%9f%e7%9a%84%e5%b9%b3%e6%b0%91%e6%8a%80%e6%9c%af%e6%80%9d%e8%b7%af/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 16:51:16 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[Engineer]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=494</guid>
		<description><![CDATA[虽然今年不打算春节走铁路回家，但看了12306.cn的种种传奇还真是感觉很震撼，证实自己一贯的看法，电子商务的关键是商务（商品、服务、供需关系），电子只是配角。 又读了几篇很有意思的技术文章 铁路订票系统的简单设计（云风） 由12306.cn谈谈网站性能技术 [纯技术讨论]从12306谈海量事务高速处理系统 值得记录我自己的粗浅想法（没有海量处理、排队异步啥的高档技术，都是平民思路）。 基本的数据量是这样估算的 2012年春运客流量预计将达到31.58亿人次，比2011年增长9.1%，创历史新高。全国铁路将发送旅客2.35亿人次，同比增加1352万人次，增长6.1%，日均588万人次，同比增加34万人次。 600万人/天/(1000人/车次/天）= 6000车次 经过北京共有635列列车通过[ctrip.com]，与前面的总车次估算基本没有大矛盾。 这样的话，解决查票、订票的流程中的数据层的资源抢占的瓶颈，以我理解的业务场景去设计是这样的 不考虑一个客户同时买很多不同车次的情况，除非黄牛。那就没啥购物车、订购清单之类的汇总计算。所以不同车次的数据随便拆分。这样就可以直接将不同车次的数据服务水平拆分到100到1000台服务器上，这些服务器之间没啥数据同步的需要，崩了一两个也没关系不影响大局。 也没有&#8220;查全国所有车次剩余票数清单&#8221;之类的对车次进行实时汇总计算需求，也没有什么&#8220;买T16/Z13组合优惠&#8221;之类的车此间将官关系，所以按上面的划分方式问题不大。做到最土，各个铁路局自己搞个几个服务器随便咋做，要求给个统一的web service接口对单独的车次进行访问和操作也完事了。土鳖局做得烂也不影响全国大局。 每个车次每一天的一趟，都可以抽象成一个独立的产品，卖光了就完事。用分区表、分区视图区分开没个车次的每一趟，土一点每天自动生成一个新表也无所谓。1000个人的车次算10万人抢票，关系数据库的锁定和资源抢占也不算啥大事，至少不影响其他车次和本车次不是这一趟的业务。 前端的HTTP服务，搞一些CDN和分布式，搞搞优化，用平民级别的手段，再大的PV也不会死到哪去。 总之还是觉得火车票还是很简单的电子商务模型，没什么复杂型号、组合销售、协议折扣之类的幺蛾子；每个客户都是盯准目标直接来拿货的；每个货（车次当天的一趟）有效期都有固定的区间，固定的数量。总之给我这种善于糊弄客户和老板的民企专家很大的想象空间去琢磨各种大胆的tradeoff。欢迎铁道部采用我的方案，再出问题的时候你们再来找我去编一套骗人的嗑儿，我经验更丰富，保证不像你们自己整的那么欠揍。]]></description>
			<content:encoded><![CDATA[<p>虽然今年不打算春节走铁路回家，但看了12306.cn的种种传奇还真是感觉很震撼，证实自己一贯的看法，电子商务的关键是商务（商品、服务、供需关系），电子只是配角。</p>
<p>又读了几篇很有意思的技术文章</p>
<ul>
<li><a href="http://blog.codingnow.com/2012/01/ticket_queue.html">铁路订票系统的简单设计（云风）</a></li>
<li><a href="http://coolshell.cn/articles/6470.html">由12306.cn谈谈网站性能技术</a></li>
<li><a href="http://www.linuxso.com/architecture/17006.html">[纯技术讨论]从12306谈海量事务高速处理系统</a></li>
</ul>
<p>值得记录我自己的粗浅想法（没有海量处理、排队异步啥的高档技术，都是平民思路）。</p>
<p>基本的数据量是这样估算的</p>
<ul>
<li>2012年春运客流量预计将达到31.58亿人次，比2011年增长9.1%，创历史新高。全国铁路将发送旅客2.35亿人次，同比增加1352万人次，增长6.1%，日均588万人次，同比增加34万人次。</li>
<li>600万人/天/(1000人/车次/天）= 6000车次</li>
<li>经过北京共有635列列车通过[ctrip.com]，与前面的总车次估算基本没有大矛盾。</li>
</ul>
<p>这样的话，解决查票、订票的流程中的数据层的资源抢占的瓶颈，以我理解的业务场景去设计是这样的</p>
<ul>
<li>不考虑一个客户同时买很多不同车次的情况，除非黄牛。那就没啥购物车、订购清单之类的汇总计算。所以不同车次的数据随便拆分。这样就可以直接将不同车次的数据服务水平拆分到100到1000台服务器上，这些服务器之间没啥数据同步的需要，崩了一两个也没关系不影响大局。</li>
<li>也没有&ldquo;查全国所有车次剩余票数清单&rdquo;之类的对车次进行实时汇总计算需求，也没有什么&ldquo;买T16/Z13组合优惠&rdquo;之类的车此间将官关系，所以按上面的划分方式问题不大。做到最土，各个铁路局自己搞个几个服务器随便咋做，要求给个统一的web service接口对单独的车次进行访问和操作也完事了。土鳖局做得烂也不影响全国大局。</li>
<li>每个车次每一天的一趟，都可以抽象成一个独立的产品，卖光了就完事。用分区表、分区视图区分开没个车次的每一趟，土一点每天自动生成一个新表也无所谓。1000个人的车次算10万人抢票，关系数据库的锁定和资源抢占也不算啥大事，至少不影响其他车次和本车次不是这一趟的业务。</li>
</ul>
<p>前端的HTTP服务，搞一些CDN和分布式，搞搞优化，用平民级别的手段，再大的PV也不会死到哪去。</p>
<p>总之还是觉得火车票还是很简单的电子商务模型，没什么复杂型号、组合销售、协议折扣之类的幺蛾子；每个客户都是盯准目标直接来拿货的；每个货（车次当天的一趟）有效期都有固定的区间，固定的数量。总之给我这种善于糊弄客户和老板的民企专家很大的想象空间去琢磨各种大胆的tradeoff。欢迎铁道部采用我的方案，再出问题的时候你们再来找我去编一套骗人的嗑儿，我经验更丰富，保证不像你们自己整的那么欠揍。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2012/01/17/%e9%93%81%e8%b7%af%e8%ae%a2%e7%a5%a8%e7%b3%bb%e7%bb%9f%e7%9a%84%e5%b9%b3%e6%b0%91%e6%8a%80%e6%9c%af%e6%80%9d%e8%b7%af/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>北京空气质量真的很次</title>
		<link>http://blog.charliezhu.com/2011/09/08/486/</link>
		<comments>http://blog.charliezhu.com/2011/09/08/486/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 04:19:57 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=486</guid>
		<description><![CDATA[看了http://songshuhui.net/archives/58387这个文章，意思理解了但是原理一点儿没看懂。尤其是下面的图，很悲观的一张图，我的感觉不知道为什么不是那么悲观，突然感觉到如果北京是空气这么恶劣的一个地方，说明还有很多空气新鲜的地方可去，很有希望。总比北京已经很次了，结果还是世界上最好的地方，那样才真悲观呢。]]></description>
			<content:encoded><![CDATA[<p>看了http://songshuhui.net/archives/58387这个文章，意思理解了但是原理一点儿没看懂。尤其是下面的图，很悲观的一张图，我的感觉不知道为什么不是那么悲观，突然感觉到如果北京是空气这么恶劣的一个地方，说明还有很多空气新鲜的地方可去，很有希望。总比北京已经很次了，结果还是世界上最好的地方，那样才真悲观呢。<br />
<img alt="" src="http://songshuhui.net/wp-content/uploads/2011/08/483910main1_Global-PM2.5-map-670-600x300.jpg" title="2001-2006年卫星图片显示的全球PM2.5均值" class="alignnone" width="600" height="300" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2011/09/08/486/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>用Google Spreadsheet批量生成化学信息和结构图片</title>
		<link>http://blog.charliezhu.com/2011/06/05/%e7%94%a8google-spreadsheet%e6%89%b9%e9%87%8f%e7%94%9f%e6%88%90%e5%8c%96%e5%ad%a6%e4%bf%a1%e6%81%af%e5%92%8c%e7%bb%93%e6%9e%84%e5%9b%be%e7%89%87/</link>
		<comments>http://blog.charliezhu.com/2011/06/05/%e7%94%a8google-spreadsheet%e6%89%b9%e9%87%8f%e7%94%9f%e6%88%90%e5%8c%96%e5%ad%a6%e4%bf%a1%e6%81%af%e5%92%8c%e7%bb%93%e6%9e%84%e5%9b%be%e7%89%87/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 15:39:21 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[chemoinformatics]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=483</guid>
		<description><![CDATA[&#160;手里有一串CAS或者化学名列表（十有八九是存在Excel里的），想补全其他化学基本信息包括结构式图片，现在已经有一些Excel的插件能用了，不过在Google Spreadsheet里做这件事真是格外感到荡气回肠&#8230; 所有的原理、代码、操作指南都是从&#160;http://metamolecular.com/gchem/&#160;这里学来的。 实验过程全程翻墙。 基本的原理是 有一个Web Service能完成化学方面的事情。这里用的是著名的&#160;http://cactus.nci.nih.gov/chemical/structure Google Spreadsheet能执行自定义的脚本(javascript)；而且脚本里还能用UrlFetchApp.fetch(url)这种去访问网页或Web Service！ 脚本安装和使用的过程&#160;http://metamolecular.com/blog/2011/02/22/gchem-easily-convert-names-and-cas-numbers-to-chemical-structures-in-google-spreadsheets/ 效果 其他 表格导出Excel文件时自定义脚本都失效了；保存成PDF图都没了。 再加上现在国内墙越弄越nb，恐怕没法作为常用工具去用。 比较容易可以更换成自己写的Web Service，比之现在查到的内容更精准有效。 &#160;]]></description>
			<content:encoded><![CDATA[<p>&nbsp;手里有一串CAS或者化学名列表（十有八九是存在Excel里的），想补全其他化学基本信息包括结构式图片，现在已经有一些Excel的插件能用了，不过在Google Spreadsheet里做这件事真是格外感到荡气回肠&#8230;</p>
<p>所有的原理、代码、操作指南都是从&nbsp;<a href="http://metamolecular.com/gchem/">http://metamolecular.com/gchem/</a>&nbsp;这里学来的。</p>
<p>实验过程全程翻墙。</p>
<p>基本的原理是</p>
<ul>
<li>有一个Web Service能完成化学方面的事情。这里用的是著名的&nbsp;<a href="http://cactus.nci.nih.gov/chemical/structure">http://cactus.nci.nih.gov/chemical/structure</a></li>
<li>Google Spreadsheet能执行自定义的脚本(javascript)；而且脚本里还能用<span class="Apple-style-span" style="font-family: 'Bitstream Vera Sans Mono', 'Courier New', monospace; line-height: 16px; white-space: pre; "><span class="nx" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">UrlFetchApp</span><span class="p" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">.</span><span class="nx" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">fetch</span><span class="p" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">(</span><span class="nx" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">url</span><span class="p" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">)这种去访问网页或Web Service！</span></span></li>
</ul>
<p>脚本安装和使用的过程&nbsp;<a href="http://metamolecular.com/blog/2011/02/22/gchem-easily-convert-names-and-cas-numbers-to-chemical-structures-in-google-spreadsheets/">http://metamolecular.com/blog/2011/02/22/gchem-easily-convert-names-and-cas-numbers-to-chemical-structures-in-google-spreadsheets/</a></p>
<p>效果</p>
<p><img alt="" src="http://blog.charliezhu.com/wp-content/uploads/test-gchem.PNG" /></p>
<p>其他</p>
<ul>
<li>表格导出Excel文件时自定义脚本都失效了；保存成PDF图都没了。</li>
<li>再加上现在国内墙越弄越nb，恐怕没法作为常用工具去用。</li>
<li>比较容易可以更换成自己写的Web Service，比之现在查到的内容更精准有效。</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2011/06/05/%e7%94%a8google-spreadsheet%e6%89%b9%e9%87%8f%e7%94%9f%e6%88%90%e5%8c%96%e5%ad%a6%e4%bf%a1%e6%81%af%e5%92%8c%e7%bb%93%e6%9e%84%e5%9b%be%e7%89%87/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MIOSS 2011资料下载</title>
		<link>http://blog.charliezhu.com/2011/05/30/mioss-2011/</link>
		<comments>http://blog.charliezhu.com/2011/05/30/mioss-2011/#comments</comments>
		<pubDate>Mon, 30 May 2011 15:13:04 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[chemoinformatics]]></category>
		<category><![CDATA[datamining]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=480</guid>
		<description><![CDATA[多谢chemhack同学给的链接，下载到了的所有演讲资料。 https://registration.hinxton.wellcome.ac.uk/display_info.asp?id=246 必须得说，资料里面很有料；也必须得说，大部分都没看懂。 大致有感觉的是，开源的意思就是开放，开放的意思就是融合，所以一干工具的组合很有意思 &#160; 化学信息软件 数据处理/数据挖掘/流程控制 关系数据库 Gregory Landrum RDKit Knime PostgreSQL Rajarshi Guha CDK R &#160; Kevin Lawson,&#160;LICSS System CDK MS Excel &#160; Dr Katy Wolstencroft CDK Taverna &#160; Thorsten Meinl RDKit, Indigo Knime &#160; 事实上现在存在的工具的组合远不止于此，比如历史悠久的mychem=openbabel+mysql。搞开源的人耻于鼓捣微软的平台（鼓捣苹果就高雅了？），所以自己还是需要再做功课，争取能做一点贡献。]]></description>
			<content:encoded><![CDATA[<p>多谢<a href="http://www.chemhack.com">chemhack</a>同学给的链接，下载到了的所有演讲资料。</p>
<p><a href="https://registration.hinxton.wellcome.ac.uk/display_info.asp?id=246">https://registration.hinxton.wellcome.ac.uk/display_info.asp?id=246</a></p>
<p>必须得说，资料里面很有料；也必须得说，大部分都没看懂。</p>
<p>大致有感觉的是，开源的意思就是开放，开放的意思就是融合，所以一干工具的组合很有意思</p>
<table border="1" cellpadding="2" cellspacing="0" width="100%">
<tbody>
<tr>
<td valign="top">&nbsp;</td>
<td valign="top">化学信息软件</td>
<td valign="top">数据处理/数据挖掘/流程控制</td>
<td valign="top">关系数据库</td>
</tr>
<tr>
<td valign="top">Gregory Landrum</td>
<td valign="top">RDKit</td>
<td valign="top">Knime</td>
<td valign="top">PostgreSQL</td>
</tr>
<tr>
<td valign="top">Rajarshi Guha</td>
<td valign="top">CDK</td>
<td valign="top">R</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top">Kevin Lawson,&nbsp;LICSS System</td>
<td valign="top">CDK</td>
<td valign="top">MS Excel</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top">Dr Katy Wolstencroft</td>
<td valign="top">CDK</td>
<td valign="top">Taverna</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top">Thorsten Meinl</td>
<td valign="top">RDKit, Indigo</td>
<td valign="top">Knime</td>
<td valign="top">&nbsp;</td>
</tr>
</tbody>
</table>
<p>事实上现在存在的工具的组合远不止于此，比如历史悠久的mychem=openbabel+mysql。搞开源的人耻于鼓捣微软的平台（鼓捣苹果就高雅了？），所以自己还是需要再做功课，争取能做一点贡献。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2011/05/30/mioss-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evernote VS. TiddlyWiki</title>
		<link>http://blog.charliezhu.com/2011/05/27/evernote-vs-tiddlywiki/</link>
		<comments>http://blog.charliezhu.com/2011/05/27/evernote-vs-tiddlywiki/#comments</comments>
		<pubDate>Thu, 26 May 2011 22:50:58 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=478</guid>
		<description><![CDATA[&#160;电子笔记是我深度依赖的工具，Evernote和TiddlyWiki各有千秋，不好抉择啊。 &#160; TW EN 对Charlie重要 条目间引用 Wiki风格，用[[...]]很方便 无 *, TW胜 TAG OK，且TAG自身也是一个条目 OK &#160; 表格 比较复杂，用字符控制，但效果不错，表头、单元格合并等都能很好表现。不能从别处粘贴。 能粘贴，能可视化编辑，效果比较弱。 &#160; 图片和附件 文件单独存放，不方便。 能粘贴。有屏幕截图功能，非常方便。 *, EN胜 格式 强，掌握控制字符，加上CSS几乎为所欲为。 弱，连H1/H2&#8230;都不支持。 *, TW胜 筛选 OK OK，有&#8220;属性&#8221;的功能；可以使用tag组合筛选；可以保存自定义筛选条件。 *, EN胜 备份和同步 单一文件，可以通过快盘、Dropbox来同步。不能在网上编辑，必须下载到本地再上传回去。不能解决冲突。 有服务器支持，网上编辑和冲突处理都非常好。 *, EN胜 客户端 浏览器即可。 专门客户端，也在网站上直接浏览和编辑。 &#160; 平台 理论上不限平台，但不是所有的平台上的浏览器都能支持本地保存HTML。 Linux下没有官方客户端，可用Nevernote。主流智能手机操作系统有客户端，可以搞拍照上传。支持IPAD。 *, EN胜 可定制性 强。可以自己充分DIY，也有很多插件。 无 *, TW胜 文档版本 无 有，需要升级。 [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;<span class="Apple-style-span" style="font-family: 微软雅黑; font-size: medium; ">电子笔记是我深度依赖的工具，Evernote和TiddlyWiki各有千秋，不好抉择啊。</span><br />
<span style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 微软雅黑; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium;"><br />
</span></p>
<table border="1" cellpadding="2" cellspacing="0" width="100%">
<tbody>
<tr>
<td valign="top">&nbsp;</td>
<td valign="top">TW</td>
<td valign="top">EN</td>
<td valign="top">对Charlie重要</td>
</tr>
<tr>
<td valign="top">条目间引用</td>
<td valign="top">Wiki风格，用[[...]]很方便</td>
<td valign="top">无</td>
<td valign="top">*, TW胜</td>
</tr>
<tr>
<td valign="top">TAG</td>
<td valign="top">OK，且TAG自身也是一个条目</td>
<td valign="top">OK</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top">表格</td>
<td valign="top">比较复杂，用字符控制，但效果不错，表头、单元格合并等都能很好表现。不能从别处粘贴。</td>
<td valign="top">能粘贴，能可视化编辑，效果比较弱。</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top">图片和附件</td>
<td valign="top">文件单独存放，不方便。</td>
<td valign="top">能粘贴。有屏幕截图功能，非常方便。</td>
<td valign="top">*, EN胜</td>
</tr>
<tr>
<td valign="top">格式</td>
<td valign="top">强，掌握控制字符，加上CSS几乎为所欲为。</td>
<td valign="top">弱，连H1/H2&#8230;都不支持。</td>
<td valign="top">*, TW胜</td>
</tr>
<tr>
<td valign="top">筛选</td>
<td valign="top">OK</td>
<td valign="top">OK，有&ldquo;属性&rdquo;的功能；可以使用tag组合筛选；可以保存自定义筛选条件。</td>
<td valign="top">*, EN胜</td>
</tr>
<tr>
<td valign="top">备份和同步</td>
<td valign="top">单一文件，可以通过快盘、Dropbox来同步。不能在网上编辑，必须下载到本地再上传回去。不能解决冲突。</td>
<td valign="top">有服务器支持，网上编辑和冲突处理都非常好。</td>
<td valign="top">*, EN胜</td>
</tr>
<tr>
<td valign="top">客户端</td>
<td valign="top">浏览器即可。</td>
<td valign="top">专门客户端，也在网站上直接浏览和编辑。</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top">平台</td>
<td valign="top">理论上不限平台，但不是所有的平台上的浏览器都能支持本地保存HTML。</td>
<td valign="top">Linux下没有官方客户端，可用Nevernote。主流智能手机操作系统有客户端，可以搞拍照上传。支持IPAD。</td>
<td valign="top">*, EN胜</td>
</tr>
<tr>
<td valign="top">可定制性</td>
<td valign="top">强。可以自己充分DIY，也有很多插件。</td>
<td valign="top">无</td>
<td valign="top">*, TW胜</td>
</tr>
<tr>
<td valign="top">文档版本</td>
<td valign="top">无</td>
<td valign="top">有，需要升级。</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top">GTD</td>
<td valign="top">checkboxPlugin，挺好用了。</td>
<td valign="top">属性&gt;包括&gt;未完成待办事项条目，</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td valign="top">其他</td>
<td valign="top">&nbsp;</td>
<td valign="top">* 邮件接收（充分折腾后暴强大）<br />
            * 手写，OCR<br />
            * Chrome等浏览器插件</td>
<td valign="top">&nbsp;</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2011/05/27/evernote-vs-tiddlywiki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第6千万个CAS注册的化合物</title>
		<link>http://blog.charliezhu.com/2011/05/22/%e7%ac%ac6%e5%8d%83%e4%b8%87%e4%b8%aacas%e6%b3%a8%e5%86%8c%e7%9a%84%e5%8c%96%e5%90%88%e7%89%a9/</link>
		<comments>http://blog.charliezhu.com/2011/05/22/%e7%ac%ac6%e5%8d%83%e4%b8%87%e4%b8%aacas%e6%b3%a8%e5%86%8c%e7%9a%84%e5%8c%96%e5%90%88%e7%89%a9/#comments</comments>
		<pubDate>Sun, 22 May 2011 13:04:31 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[chemoinformatics]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=476</guid>
		<description><![CDATA[&#160;原文： https://listserv.indiana.edu/cgi-bin/wa-iub.exe?A2=ind1105&#38;L=CHMINF-L&#38;P=46092 http://www.cas.org/newsevents/releases/60millionth052011.html 主要的意思 第6千万个CAS注册的化合物，是一个中国的专利，CAS号是1298016-92-8。 从2009年开始，在新化合物的专利注册上，中国就超过其他国家，估计这种领先优势将一直保持下去。 第5千万个化合物是不到两年之前注册的，而且速度还在不断加快。这样算起来的话，每天平均有几万个新的CAS注册化合物，不得了，我有些怀疑Chemical Abstracts Service (CAS)的工作质量。 &#160;]]></description>
			<content:encoded><![CDATA[<p>&nbsp;原文：</p>
<ul>
<li><a href="https://listserv.indiana.edu/cgi-bin/wa-iub.exe?A2=ind1105&amp;L=CHMINF-L&amp;P=46092">https://listserv.indiana.edu/cgi-bin/wa-iub.exe?A2=ind1105&amp;L=CHMINF-L&amp;P=46092</a></li>
<li><a href="http://www.cas.org/newsevents/releases/60millionth052011.html">http://www.cas.org/newsevents/releases/60millionth052011.html</a></li>
</ul>
<p>主要的意思</p>
<ol>
<li>第6千万个CAS注册的化合物，是一个中国的专利，CAS号是<span class="Apple-style-span" style="font-family: monospace; font-size: 14px; white-space: pre-wrap; ">1298016-92-8。</span></li>
<li>从2009年开始，在新化合物的专利注册上，中国就超过其他国家，估计这种领先优势将一直保持下去。</li>
<li>第5千万个化合物是不到两年之前注册的，而且速度还在不断加快。这样算起来的话，每天平均有几万个新的CAS注册化合物，不得了，我有些怀疑Chemical Abstracts Service (CAS)的工作质量。</li>
</ol>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2011/05/22/%e7%ac%ac6%e5%8d%83%e4%b8%87%e4%b8%aacas%e6%b3%a8%e5%86%8c%e7%9a%84%e5%8c%96%e5%90%88%e7%89%a9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>弱智的联想在线客服机器人</title>
		<link>http://blog.charliezhu.com/2010/11/29/%e5%bc%b1%e6%99%ba%e7%9a%84%e8%81%94%e6%83%b3%e5%9c%a8%e7%ba%bf%e5%ae%a2%e6%9c%8d%e6%9c%ba%e5%99%a8%e4%ba%ba/</link>
		<comments>http://blog.charliezhu.com/2010/11/29/%e5%bc%b1%e6%99%ba%e7%9a%84%e8%81%94%e6%83%b3%e5%9c%a8%e7%ba%bf%e5%ae%a2%e6%9c%8d%e6%9c%ba%e5%99%a8%e4%ba%ba/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 04:11:01 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/2010/11/29/%e5%bc%b1%e6%99%ba%e7%9a%84%e8%81%94%e6%83%b3%e5%9c%a8%e7%ba%bf%e5%ae%a2%e6%9c%8d%e6%9c%ba%e5%99%a8%e4%ba%ba/</guid>
		<description><![CDATA[8月份给媳妇买的乐phone手机，昨天就翘掉了，屏幕不亮，但是听声音别的东西还没坏。更气人的是联想网站上不给维修的客服的电话，只有一个&#8220;在线客服&#8221;，然后在线客服还没人值班，只有个sb机器人，给我这样的回答]]></description>
			<content:encoded><![CDATA[<p>8月份给媳妇买的乐phone手机，昨天就翘掉了，屏幕不亮，但是听声音别的东西还没坏。更气人的是联想网站上不给维修的客服的电话，只有一个&ldquo;在线客服&rdquo;，然后在线客服还没人值班，只有个sb机器人，给我这样的回答</p>
<p><img width="647" height="400" border="1" src="http://blog.charliezhu.com/wp-content/uploads/lenovo robot.PNG" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2010/11/29/%e5%bc%b1%e6%99%ba%e7%9a%84%e8%81%94%e6%83%b3%e5%9c%a8%e7%ba%bf%e5%ae%a2%e6%9c%8d%e6%9c%ba%e5%99%a8%e4%ba%ba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>跳跃，两岁半</title>
		<link>http://blog.charliezhu.com/2010/06/29/jump/</link>
		<comments>http://blog.charliezhu.com/2010/06/29/jump/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 13:55:33 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[son]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=469</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><embed width="480" height="400" align="middle" src="http://player.youku.com/player.php/sid/XMTg1NjQxMTY0/v.swf" quality="high" allowscriptaccess="sameDomain" type="application/x-shockwave-flash"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2010/06/29/jump/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fingerprint similarity and substructure filtering using Lucene</title>
		<link>http://blog.charliezhu.com/2010/04/17/fingerprint-similarity-and-substructure-filtering-using-lucene/</link>
		<comments>http://blog.charliezhu.com/2010/04/17/fingerprint-similarity-and-substructure-filtering-using-lucene/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 15:36:38 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[chemoinformatics]]></category>
		<category><![CDATA[Lucene]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=460</guid>
		<description><![CDATA[Lucene is a great tool for retrieving fragmented information even including the fragmenting process (the Analyzer). So there was an intuitional way to retrieving molecules from a cheminformation database with the Lucene engine. ChemSink&#8217;s about (http://www.chemsink.com/about/) also mentions that &#34;The chemical search uses Open Babel, Lucene, and MySQL &#34;. Recently I have worked it out [...]]]></description>
			<content:encoded><![CDATA[<p>Lucene is a great tool for retrieving fragmented information even including the fragmenting process (the Analyzer). So there was an intuitional way to retrieving molecules from a cheminformation database with the Lucene engine. ChemSink&#8217;s about (http://www.chemsink.com/about/) also mentions that &quot;<em>The chemical search uses Open Babel, </em><a href="http://lucene.apache.org/java/docs/"><em>Lucene</em></a><em>, and MySQL</em> &quot;. Recently I have worked it out and have deployed on production services.</p>
<h2>How it works</h2>
<p>The concepts is connected as blow and the implementation is not hard. I work on my cheminformation platforms based on .NET and use Lucene.NET.</p>
<ol>
<li>A Molecule is a File in Lucene.</li>
<li>Fingerprint is a Field. That means other information or even another suite of fingerprint can be stored for being queried.</li>
<li>A Bit in the fingerprint is a Term.</li>
<li>Substructure search queries Lucene for all the set bit in fingerprint of the query molecule are required in the result molecules.</li>
<li>Similarity search finds the most relevant molecules.</li>
</ol>
<h2>Similarity and Lucene</h2>
<p>The most popular similarity algorithm being used is the Tanimato as written as</p>
<p><img src="http://blog.charliezhu.com/wp-content/uploads/tanimato.PNG" alt="" /></p>
<p>As my understanding, this coefficient is so widely used most because it&#8217;s simple and running fast for some time-critical cases such as online searching.</p>
<p>Lucene employs Cosin-Similarity with  Vector Space Model (VSM) of Information Retrieval.</p>
<p><a href="http://lucene.apache.org/java/3_0_0/api/all/org/apache/lucene/search/Similarity.html">http://lucene.apache.org/java/3_0_0/api/all/org/apache/lucene/search/Similarity.html</a></p>
<p><img width="401" height="108" src="http://blog.charliezhu.com/wp-content/uploads/vsm-scoring.PNG" alt="" /></p>
<p><img width="959" height="109" src="http://blog.charliezhu.com/wp-content/uploads/lucene-score-formular.PNG" alt="" /></p>
<p>and norm(t,d) part includes three parts to be multiplied, the lengthNorm part stands for what is effected by the length of the document (total fingerprint bits count of a molecule).</p>
<p>The default Similarity implementation inside Lucene is ready to be used for similar molecules retrieving.</p>
<h2>More about the lengthNorm</h2>
<p>In my researching phase I have found that the scores of several different target molecules are the same in value. It&#8217;s found that the lengthNorms are all the same for this several molecule while they have various number of fingerprint bits been set. The lengthNorm is not calculated while the searching phase but pre-calculated and stored at the indexing phase. Finally I have found this sentence inside the Lucene documents.</p>
<p>&quot;<em>However the resulted <i>norm</i> value is </em><a href="http://lucene.apache.org/java/3_0_0/api/all/org/apache/lucene/search/Similarity.html#encodeNorm%28float%29"><em><code>encoded</code></em></a><em>  as a single byte       before being stored&#8230; comes with the price of       precision loss</em>&quot;</p>
<p>So my molecules are treated as the same length documents when being queried.</p>
<table cellspacing="1" cellpadding="1" border="1" style="width: 444px; height: 83px;">
<tbody>
<tr>
<td>Molecule ID</td>
<td># of bits set</td>
<td>
<p>lengthNorm calculated<br />
            in indexing phase</p>
</td>
<td>lengthNorm stored<br />
            and been</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>11096</td>
<td>23</td>
<td>0.2085</td>
<td>0.1875</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>11578</td>
<td>27</td>
<td>0.19245</td>
<td>0.1875</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>201736</td>
<td>28</td>
<td>0.18838</td>
<td>0.1875</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<p>The formula to calculate lengthNorm is<em> 1.0 / Math.Sqrt(bits_set)</em></p>
<p>Fortunately, the DefaultSimilarity class could be overrided including the lengthNorm function. According to <a href="http://chemhack.com/2008/11/more-faster-fingerprint-search-with-java-cdk/">Duan Lian&#8217;s diagram</a> of distribution of number of fingerprint bit set, there exists a function to mapping this distribution to a more flat one and been using to calculate lengthNorm and  take full advantage of the precision-limited value.</p>
<p><em>&nbsp;Here is the distribution of fingerprint darkness of my database of  80000 commercial&nbsp;compounds.&nbsp;</em></p>
<p><a href="http://chemhack.com/wp-content/uploads/2008/11/e59bbee78987-3.png"><img width="500" height="507" class="alignnone size-full wp-image-141" title="Darkness" src="http://chemhack.com/wp-content/uploads/2008/11/e59bbee78987-3.png" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2010/04/17/fingerprint-similarity-and-substructure-filtering-using-lucene/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>儿子两岁两个月学会了翻跟头</title>
		<link>http://blog.charliezhu.com/2010/02/26/%e5%84%bf%e5%ad%90%e4%b8%a4%e5%b2%81%e4%b8%a4%e4%b8%aa%e6%9c%88%e5%ad%a6%e4%bc%9a%e4%ba%86%e7%bf%bb%e8%b7%9f%e5%a4%b4/</link>
		<comments>http://blog.charliezhu.com/2010/02/26/%e5%84%bf%e5%ad%90%e4%b8%a4%e5%b2%81%e4%b8%a4%e4%b8%aa%e6%9c%88%e5%ad%a6%e4%bc%9a%e4%ba%86%e7%bf%bb%e8%b7%9f%e5%a4%b4/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 00:37:05 +0000</pubDate>
		<dc:creator>charlie</dc:creator>
				<category><![CDATA[son]]></category>

		<guid isPermaLink="false">http://blog.charliezhu.com/?p=457</guid>
		<description><![CDATA[大概半年前，为了逗他玩儿，我示范了一下翻跟头。没想到这小子念念不忘，想起来就练习一下，昨天晚上终于熟练地进行汇报演出了。壮壮最喜欢动物和动物园，现在看潜质，以后说不定可以去马戏团工作。]]></description>
			<content:encoded><![CDATA[<p>大概半年前，为了逗他玩儿，我示范了一下翻跟头。没想到这小子念念不忘，想起来就练习一下，昨天晚上终于熟练地进行汇报演出了。壮壮最喜欢动物和动物园，现在看潜质，以后说不定可以去马戏团工作。</p>
<p><embed width="480" height="400" align="middle" type="application/x-shockwave-flash" allowscriptaccess="sameDomain" quality="high" src="http://player.youku.com/player.php/sid/XMTU0NDAyNjk2/v.swf"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.charliezhu.com/2010/02/26/%e5%84%bf%e5%ad%90%e4%b8%a4%e5%b2%81%e4%b8%a4%e4%b8%aa%e6%9c%88%e5%ad%a6%e4%bc%9a%e4%ba%86%e7%bf%bb%e8%b7%9f%e5%a4%b4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

