<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-33569825</id><updated>2011-07-31T01:57:09.948+08:00</updated><title type='text'>theneo/space</title><subtitle type='html'>电脑、自行车旅行、生活感悟</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>60</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-33569825.post-4377666816193963529</id><published>2009-08-07T09:57:00.002+08:00</published><updated>2009-08-07T10:12:05.134+08:00</updated><title type='text'>Ophone开发者网站忘记了android</title><content type='html'>Ophone是中国移动“自主研发”的手机操作系统，最近刚公布了开发者网站http://www.ophonesdn.com&lt;br /&gt;&lt;br /&gt;为什么自主研发四个字上面有引号呢？这个ophone实际上是从Google的Android手机操作系统上修改和二次开发而来的，并非原创。完全开放源代码的Android系统给ophone打下了一个重要的基础，从设计结构上来说，ophone只是android的一个修改版。站在巨人的肩膀上是一个好事情，但是站都站了，却连师傅的名字都不肯提，偏要摆出一副自主创新开天辟地的架势，这就不好了。ophone完全可以说自己是“基于Google Android系统二次开发，符合中国移动的具体需求”，相信也不会给自己丢脸。&lt;br /&gt;&lt;br /&gt;抛开这些事情不说，ophone还是有点前途的，前提是中国移动能够搞出合理的上网资费套餐，并且经营好应用程序商店(Mobile Market)。用户用的起，敢用了，就会带动应用程序的销售；应用程序真正有销量，就会激励开发者绞尽脑汁地制作更好的程序；有更多好的应用程序，方便了用户的生活，用户就会更依赖3G网络。这个共赢的环节逐个打通，中国移动的发财日子就不远了。&lt;br /&gt;&lt;br /&gt;最后，我也注册了一个ophone开发者帐号，有空体验一下 :) &lt;br /&gt;&lt;br /&gt;p.s. 中国移动怎么就把mac版本的sdk生生阉割掉了呢？tnn的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-4377666816193963529?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/4377666816193963529/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=4377666816193963529' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4377666816193963529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4377666816193963529'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/08/ophoneandroid.html' title='Ophone开发者网站忘记了android'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-1650725188384182342</id><published>2009-08-05T13:30:00.005+08:00</published><updated>2009-08-05T13:50:18.840+08:00</updated><title type='text'>Packing all-in-one JAR for Hadoop (HadoopJar)</title><content type='html'>Hadoop allows us to pack our code into a jar file and run it with "hadoop jar mycode.jar". However, if our code depends on other jars (most non-trival codes do), distributing those depdendency jars becomes a problem.&lt;br /&gt;&lt;br /&gt;Here I introduce one approach used by myself, which packs our own code and dependency jars into one jar. This all-in-one jar can be run using "hadoop jar my-all-in-one.jar", and all dependencies will work with no problem. I name this solution as HadoopJar.&lt;br /&gt;&lt;br /&gt;I use an Ant task to do this. The XML code snippet is as follows,&lt;br /&gt;&amp;lt;target name=&amp;quot;hadoop-jar&amp;quot; depends=&amp;quot;compile&amp;quot; description=&amp;quot;Create binary distribution&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;!-- Firstly, copy all dependency jars into build/lib, while build is the root folder for the future jar. --&amp;gt;&lt;br /&gt;&amp;lt;copy todir=&amp;quot;${path.build.classes}/lib&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;fileset dir=&amp;quot;lib&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;include name=&amp;quot;**/*.jar&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;!-- We exclude hadoop-*-core.jar because it's already in the hadoop classpath --&amp;gt;&lt;br /&gt;&amp;lt;exclude name=&amp;quot;**/hadoop-*-core.jar&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;/exclude&amp;gt;&lt;br /&gt;&amp;lt;/include&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Combine all dependency jars' names to a string, which can be used as a CLASSPATH value --&amp;gt;&lt;br /&gt;&amp;lt;pathconvert property=&amp;quot;hadoop-jar.classpath&amp;quot; pathsep=&amp;quot; &amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;regexpmapper from=&amp;quot;^(.*)/lib/(.*\.jar)$&amp;quot; to=&amp;quot;lib/\2&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;path&amp;gt;&lt;br /&gt;&amp;lt;fileset dir=&amp;quot;${path.build.classes}/lib&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;include name=&amp;quot;**/*.jar&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/fileset&amp;gt;&lt;br /&gt;&amp;lt;/path&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Generate a manifest file contains the previous made CLASSPATH string --&amp;gt;&lt;br /&gt;&amp;lt;manifest file=&amp;quot;MANIFEST.MF&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;attribute name=&amp;quot;Class-Path&amp;quot; value=&amp;quot;${hadoop-jar.classpath}&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;!-- Set a default entry point --&amp;gt;&lt;br /&gt;&amp;lt;attribute name=&amp;quot;Main-Class&amp;quot; value=&amp;quot;org.nogroup.Main&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/manifest&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Pack everything into one HadoopJar --&amp;gt;&lt;br /&gt;&amp;lt;jar basedir=&amp;quot;${path.build.classes}&amp;quot; manifest=&amp;quot;MANIFEST.MF&amp;quot;  jarfile=&amp;quot;${path.build}/learning-hadoop.jar&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;include name=&amp;quot;**/*.class&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;include name=&amp;quot;**/*.jar&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;/include&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Delete the manifest file --&amp;gt;&lt;br /&gt;&amp;lt;delete dir=&amp;quot;${path.build.classes}/lib&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;delete file=&amp;quot;MANIFEST.MF&amp;quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/target&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We are done :). I tried this on our hadoop-0.15.0 cluster with 6 machines, and it also works in higher version of Hadoop, including hadoop in local-mode.&lt;br /&gt;&lt;br /&gt;Hope this helps.&lt;br /&gt;&lt;br /&gt;p.s. Dependency jars,  also called third-party jars, third-party library.&lt;br /&gt;I also wrote a Chinese version at &lt;a href="http://hi.baidu.com/adamsi/blog/item/7415adef32fb121ffcfa3cd9.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-1650725188384182342?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/1650725188384182342/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=1650725188384182342' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1650725188384182342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1650725188384182342'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/08/packing-all-in-one-jar-for-hadoop.html' title='Packing all-in-one JAR for Hadoop (HadoopJar)'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-2357845905159432250</id><published>2009-07-11T19:00:00.000+08:00</published><updated>2009-07-11T19:02:20.761+08:00</updated><title type='text'>我不远万里翻过伟大的墙来说句话</title><content type='html'>真是不容易啊，好久都没登上自己的博客了。我遵纪守法，从不谈论那啥那啥，咋就稀里糊涂地被绿伟大的坝墙了呢？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-2357845905159432250?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/2357845905159432250/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=2357845905159432250' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2357845905159432250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2357845905159432250'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/07/blog-post.html' title='我不远万里翻过伟大的墙来说句话'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-5296026222434659055</id><published>2009-05-18T09:11:00.000+08:00</published><updated>2009-05-18T09:12:54.253+08:00</updated><title type='text'>Job Opening: Google Beijing Research</title><content type='html'>&lt;p&gt;&lt;b&gt;Job Title&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;Senior Research Scientist&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Job Description&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Google Beijing Research is looking for two highly motivated senior scientists to research and develop distributed machine learning algorithms for Web-scale applications such as search relevance, classification, recommendations, advertisement, and user research. Beijing Research has been collaborating with scientists and research interns from top universities world-wide including MIT, UC, Tsinghua, PKU, and etc. The position will be at Google Beijing office, which is located at Tsinghua Science Park. &lt;span&gt; &lt;/span&gt;Among several, a couple OpenSource algorithms developed by Beijing Research are available at: &lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Symbol;"&gt;&lt;span&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Book Antiqua&amp;quot;;"&gt;&lt;a href="http://code.google.com/p/psvm/" target="_blank"&gt;Parallel SVMs (PSVM)&lt;/a&gt;;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Book Antiqua&amp;quot;;"&gt;&lt;a href="http://code.google.com/p/plda/" target="_blank"&gt;Parallel LDA (PLDA)&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;b&gt;Qualifications:&lt;/b&gt; &lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;br /&gt;1. PhD in Compute Science, Mathematics, Statistics, or related areas with 3-5 years experience.&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;2. Strong publication track record at top refereed conferences.&lt;span&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;3. Strong motivation to work with large-scale real-life data mining applications in team environment.&lt;br /&gt;4. Perseverance, focus, integrity, ability to make things done, leadership in organization and partnership and communication with teams in the US.&lt;br /&gt;5. Proven knowledge in Machine Learning, Data Mining, Natural Language Processing, Numeric Analysis, and/or Optimization.&lt;/p&gt;&lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0.0001pt;"&gt;有兴趣的联系我，哈哈&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-5296026222434659055?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/5296026222434659055/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=5296026222434659055' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5296026222434659055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5296026222434659055'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/05/job-opening-google-beijing-research.html' title='Job Opening: Google Beijing Research'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-1290435107499753184</id><published>2009-05-12T09:11:00.001+08:00</published><updated>2009-05-12T09:14:02.710+08:00</updated><title type='text'>缅怀遇难者</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm2.static.flickr.com/1188/1329318215_563a152d96.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 379px; height: 500px;" src="http://farm2.static.flickr.com/1188/1329318215_563a152d96.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-1290435107499753184?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/1290435107499753184/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=1290435107499753184' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1290435107499753184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1290435107499753184'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/05/blog-post_12.html' title='缅怀遇难者'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-3195224166987091237</id><published>2009-05-10T09:15:00.001+08:00</published><updated>2009-05-10T09:16:45.607+08:00</updated><title type='text'>富家子弟飙车撞死路人却无动于衷，良心都被狗吃了</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: arial; font-size: 13px; border-collapse: collapse; "&gt;发信人: NoLost (不再沉迷), 信区: NewExpress&lt;br /&gt;标 题: 全国同胞,浙籍人士,浙大校友团结起来，据理力争&lt;br /&gt;发信站: 水木社区 (Sat May 9 00:28:31 2009), 站内&lt;br /&gt;&lt;br /&gt;也许今天，无良的“富二代”飙车族撞死的只是一个普通的谭卓，但是明天也许&lt;br /&gt;就会是身边的他、她、甚至是我们自己。如果今天我们不为谭卓据理力争，施加舆论&lt;br /&gt;压力，那么明天我们至亲、好友也可能死不瞑目。&lt;br /&gt;&lt;br /&gt;飙车俱乐部成员胡某，爱好是飙车、改装车、炫富，无正经职业。杭州师范学院&lt;br /&gt;体育系学生，杭州江干区人，改装跑车车牌浙A.608Z0。曾经因为屡次在交通高峰路&lt;br /&gt;段“漂移”被警方警告，但是屡教不改，昨晚将位于斑马线上的受害者撞高至5米高&lt;br /&gt;处，在空中翻滚若干个来回后跌落惨死。目前杭州警方召开了新闻发布会，但是对于&lt;br /&gt;初步调查结果语焉不详，公众强烈不满。&lt;br /&gt;&lt;br /&gt;死者谭卓，1984年生，2006年毕业于浙江大学通信工程专业，家中独子，农村。&lt;br /&gt;他的离去给家中父母带来沉重打击，痛不欲生。浙江大学校友对于校友的离去感受悲&lt;br /&gt;殇，于肇事地点怀念。浙大院系领导闻讯赶往抚慰。&lt;br /&gt;&lt;br /&gt;1、本次事故的视频：&lt;br /&gt;1.1、杭州文二路飙车车祸 http://v.youku.com/v_show/id_XODk5ODU5ODg=.html&lt;br /&gt;1.2、警方发布会 1 http://v.youku.com/v_show/id_XODk5NTA4NTI=.html&lt;br /&gt;警方发布会 2 http://v.youku.com/v_show/id_XODk5NTEyMjg=.html&lt;br /&gt;警方发布会 3 http://v.youku.com/v_show/id_XODk5NTE0MDA=.html&lt;br /&gt;&lt;br /&gt;2、 国内各大媒体新闻报道&lt;br /&gt;2.1 网易 富家子弟把城市道路当F1赛道终酿惨祸&lt;br /&gt;http://news.163.com/09/0508/07/58PCAKQI00011229_2.html&lt;br /&gt;2.2 中国新闻网 杭州一疑似改装车酿惨案 被撞男子当场死亡&lt;br /&gt;http://www.chinanews.com.cn/sh/news/2009/05-07/1682001.shtml&lt;br /&gt;2.3 新浪 年轻男子驾三菱跑车飙车撞死路人&lt;br /&gt;http://news.sina.com.cn/s/p/2009-05-08/033417768110.shtml&lt;br /&gt;2.4 新华社 马路当赛道 富家子文二西路飙车夺人命&lt;br /&gt;http://www.zj.xinhuanet.com/website/2009-05/08/content_16468441_1.htm&lt;br /&gt;&lt;br /&gt;3、胡某其母，车主，私企老板，陆XX，得知儿子及其同伙撞死人后现场言：&lt;br /&gt;“夜里开开嘛，天还这么早，怎么好开的…… ”&lt;br /&gt;不但没有对于儿子的责备，如此轻微劝诫而已。面对着脚下的尸体，如此惨无&lt;br /&gt;人性的母亲……&lt;br /&gt;&lt;br /&gt;4、肇事者新闻 F2卡丁车赛冠军&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-3195224166987091237?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/3195224166987091237/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=3195224166987091237' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3195224166987091237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3195224166987091237'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/05/blog-post.html' title='富家子弟飙车撞死路人却无动于衷，良心都被狗吃了'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-8177811189200733253</id><published>2009-04-24T20:55:00.002+08:00</published><updated>2009-04-24T21:01:41.394+08:00</updated><title type='text'>什么叫倒霉</title><content type='html'>今天临走前十分钟，我手欠地运行了一个脚本，这个脚本调用了其他的脚本和一个刚刚改过的c++程序，产生了复杂的效应，简而言之，一个重要的数据文件夹被&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;rm -rf&lt;/span&gt;了。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;它大爷的！&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;找备份，发现这个分区是唯一一个不被自动备份进程覆盖的区。找恢复方法，发现我用的是加密的ext3，Google一通的结论是没办法。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;还好实验还能用一系列脚本重复，是个时间问题，不过不爽度算是到了极点。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;算是攒人品了。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-8177811189200733253?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/8177811189200733253/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=8177811189200733253' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8177811189200733253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8177811189200733253'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/04/blog-post_24.html' title='什么叫倒霉'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-8657798944060240066</id><published>2009-04-19T14:03:00.005+08:00</published><updated>2009-04-19T14:25:34.169+08:00</updated><title type='text'>刚才简单算了一下，10万块钱能干什么</title><content type='html'>可以建造一个小型山寨集群机，22T的存储，88个核，每核主频3.0G，每核2G内存，最后还能剩下一两万的利润......&lt;br /&gt;电脑真是便宜啊。&lt;br /&gt;&lt;br /&gt;更新：Nvidia &lt;a href="http://www.nvidia.com/object/personal_supercomputing.html"&gt;Tesla&lt;/a&gt;基于GPU的超级计算机，960个核，&gt;3.7 Teraflops，只要9995刀，合7万多块.... 不过没有存储，只是计算能力。看来山寨货还是干不过正规军。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-8657798944060240066?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/8657798944060240066/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=8657798944060240066' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8657798944060240066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8657798944060240066'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/04/10.html' title='刚才简单算了一下，10万块钱能干什么'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-1257932086689684779</id><published>2009-04-16T19:16:00.003+08:00</published><updated>2009-04-16T19:26:45.377+08:00</updated><title type='text'>Eclipse “*你妈的”？</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#551A8B;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Eclipse 3.4，代号Ganymede。我们都亲切地成为Eclipse gan4ni3ma1de，重音放在第一个字上，读起来非常有气势。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;其实Ganymede是木星的卫星，发音是干你米德。这家伙也是太阳系最大的卫星，比我们的月球大一点不多。&lt;a href="http://upload.wikimedia.org/wikipedia/commons/4/4f/Moons_of_solar_system_v7.jpg"&gt;这里&lt;/a&gt;有一个干你米德的玉照，左起第四列上起第三位是干你米德同学。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-1257932086689684779?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/1257932086689684779/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=1257932086689684779' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1257932086689684779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1257932086689684779'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/04/eclipse.html' title='Eclipse “*你妈的”？'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-5543180712751668630</id><published>2009-04-13T15:41:00.003+08:00</published><updated>2009-04-13T15:50:44.390+08:00</updated><title type='text'>Vista vs. Leopard第一局，vista败(?)</title><content type='html'>我有个习惯，回到家把macbook接到外接LCD和键盘鼠标上当轻省台式机用。Leopard在笔记本屏幕关闭且有外接显示器的状态下，如果收到键盘或是鼠标的动作，便会唤醒到clamshell模式。Clamshell（贝壳）模式就是只用外接的显示器和键鼠，当作台式机一样使用。我的LCD有1920x1080的分辨率，Leopard在上面运作很正常，该有啥功能有啥效果都不打折扣。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;今天偶然用Vista重复这件事情，首先vista就没能在笔记本屏幕盖住的情况下切换到外接显示器，还得把笔记本屏幕打开，重新设置它使用外接显示器。然后我发现，Vista在1920x1080分辨率下自动关闭了aero glass效果，变成了丑丑的vista basic界面。同样的一台机器，同样的硬件配置（废话），vista aero glass没能撑到1920x1080。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[谜之音：好像不公平诶，这是在Mac自家的硬件上，leopard当然胆子大些啦!!]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;对了，我的macbook是较古早的一种，intel GMA950 64M共享显存..&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-5543180712751668630?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/5543180712751668630/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=5543180712751668630' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5543180712751668630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5543180712751668630'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/04/vista-vs-leopardvista.html' title='Vista vs. Leopard第一局，vista败(?)'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-2196621859037276345</id><published>2009-04-12T18:48:00.002+08:00</published><updated>2009-04-12T18:51:23.320+08:00</updated><title type='text'>转载一个视频，Google的数据中心</title><content type='html'>&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zRwPSFpLX8I&amp;amp;hl=zh_CN&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/zRwPSFpLX8I&amp;amp;hl=zh_CN&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Google最近公开了一个数据中心的一些视频和照片，只能用工程奇迹来形容。看看youtube的留言，观众们更是爽的不行。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-2196621859037276345?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/2196621859037276345/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=2196621859037276345' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2196621859037276345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2196621859037276345'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/04/google.html' title='转载一个视频，Google的数据中心'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-7967037954564530504</id><published>2009-04-12T16:59:00.002+08:00</published><updated>2009-04-12T17:05:31.260+08:00</updated><title type='text'>vista sp1速度快了很多啊</title><content type='html'>最近给老师买了一部thinkpad X200，上面预装的是vista sp1。之前我用过vista，虽然有2G内存但是感觉还是慢，后来就放弃了。这次试用老师的笔记本，发现vista sp1速度很快啊，我在macbook上装了一个，果然好了很多，日常上网、写作等等工作很少有停顿感。前一段时间tuotuoxp就和我介绍过，说现在vista已经很好用了，果不余欺也。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-7967037954564530504?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/7967037954564530504/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=7967037954564530504' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/7967037954564530504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/7967037954564530504'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/04/vista-sp1.html' title='vista sp1速度快了很多啊'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-1932733681856783041</id><published>2009-04-04T11:15:00.002+08:00</published><updated>2009-04-04T11:19:14.784+08:00</updated><title type='text'>有道上升还是很强劲的，哈哈</title><content type='html'>今天在网上看到一个&lt;a href="http://www.zj.chinanews.com.cn/detail/1103114.shtml"&gt;报道&lt;/a&gt;，说谷歌仍居中国搜索引擎的第二把交椅，并且给出了一个用户数量分布图。可以注意到的一个细节是有道已经超过了搜狗坐上了第三把交椅，这对于新生的有道来说是一个不错的成绩阿，祝贺祝贺!&lt;br /&gt;&lt;br /&gt;不过这个报道的数据来源是一个之前没听说过的“&lt;a href="http://www.toocle.cn"&gt;生意宝网&lt;/a&gt;”，可靠性不是很高，权作八卦了。 :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-1932733681856783041?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/1932733681856783041/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=1932733681856783041' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1932733681856783041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1932733681856783041'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/04/blog-post.html' title='有道上升还是很强劲的，哈哈'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-3165675836955052503</id><published>2009-03-16T15:22:00.004+08:00</published><updated>2009-03-16T15:37:19.275+08:00</updated><title type='text'>用Json来存储格式化数据</title><content type='html'>&lt;p class="vspace"&gt;&lt;span style="font-weight: bold;"&gt;这篇文章本来是写给实验室同学们的，针对的是做文本处理实验中数据的存储问题。转帖在blog上留存，呵呵。&lt;/span&gt;&lt;/p&gt;&lt;p class="vspace"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;看看这个场景：你处理了一些文档，得到格式化的结果，包括正文、标题、时间、类别标签和作者。现在你想把这些结果写到文件里面，以便后面程序读取，或是仅仅作为归档。你会选择什么格式和方法来输出这个数据文件呢？下面有几个常见选择: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;A: 写一个文本文件，第一行是标题，第二行是时间，第三行是类别标签，第四行是作者，最后一行是正文。读取的时候写一个(不算短的)程序解析这个文件。 &lt;/li&gt;&lt;li&gt;B: 利用java的&lt;span class="wikiword"&gt;DataOutputStream&lt;/span&gt;，按顺序把正文、标题、时间、类别标签、正文和作者输出。读取的时候按照同样的顺序读出。 &lt;/li&gt;&lt;li&gt;C: 创建一个类代表一个文档，如class Doc，其中的公共成员变量代表上述的内容，然后用Java的序列化机制写到文件中。读取的时候用反序列化读出。 &lt;/li&gt;&lt;li&gt;D: 我很聪明，我发明了一种格式来存取。虽然复杂，但是(可)能节约空间。 &lt;/li&gt;&lt;/ul&gt;&lt;p class="vspace"&gt;这些方法都可行，但不一定是最好的方案，其中有一些常见的陷阱。 &lt;/p&gt; &lt;p class="vspace"&gt;第一个陷阱是escaping。以A为例，如果正文中含有回车字符（这很常见），那么正文就可能占很多行，如何决定 正文什么时候结束呢？你可以事先去掉所有的回车字符，那日后如果想要按行分析该怎么办呢？如果你聪明地（谜之音：小聪明！）把回车都替换成一个其他字符 串，比如"_huiche_"，那当原文中出现这个字符串时怎么办？别认为这不可能，在大规模数据处理中这几乎是一定的。如果你按照通行的办法，把所有的 回车都变成"\n"，那么你就得处理"\"这个字符，复杂的规则会让你写很多的代码。A和D都可能被escaping问题困扰。 &lt;/p&gt; &lt;p class="vspace"&gt;第二个陷阱是二进制兼容性。以B为例，看起来这个方法简洁漂亮，可如果另一个同学用C++，他想读你的数据，等待他 的就不是一个简洁漂亮的任务了。他需要仔细了解Java输出的格式，如何处理Java诡异的writeUTF输出。如果你恰好用的是方法C，那这位同学就 掉进了一个黑洞，反复研究Java的序列化协议，被折磨的苦不堪言。如果这位同学用的是不同字节序的电脑(如老Mac，或是Sun工作站)更是一场噩梦。 B、C和D方法都可能被二进制兼容性问题困扰。 &lt;/p&gt; &lt;p class="vspace"&gt;第三个陷阱是可读性。假设你的数据用A方法保存，在磁盘上睡了一学期，然后另外一个同学（谜之音：或是你自己!）要 重新用这些数据，你还能记起每行代表什么么？更糟糕的是当时的程序可能已经不见了。A方法还好，能从数据的内容大致猜测一下，如果你用的是B、C、D方 法，该怎么去猜呢？如果你已经毕业了，其他同学猜起来的难度不亚于破解密码。A、B、C和D四种方法都受到可读性问题的困扰。 &lt;/p&gt; &lt;h2&gt;用JSON表示数据&lt;/h2&gt; &lt;p&gt;这篇文章介绍了如何利用一种标准格式，JSON，来将格式化的数据存储到文件中，或是在程序之间传递。JSON可以由任何语言读取，可读性强，没有字节序问题，就是原作者人间蒸发，也可以从数据文件中了解到每个域都保存了什么内容。 &lt;/p&gt; &lt;p class="vspace"&gt;还是继续前面的例子，在Java中，我们先定义一个类代表这种数据: &lt;/p&gt; &lt;pre class="escaped"&gt;class Doc {&lt;br /&gt;public String content;&lt;br /&gt;public String title;&lt;br /&gt;public String classLabel;&lt;br /&gt;public long timestamp;&lt;br /&gt;public String author;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt; &lt;p class="vspace"&gt;对于一个Doc类的对象，我们可以用Google提供的Gson库把它变成一个标准的JSON字符串: &lt;/p&gt; &lt;pre class="escaped"&gt;Doc d = someDocument;&lt;br /&gt;Gson g = new Gson();&lt;br /&gt;String jsonStr = g.toJson(d);&lt;br /&gt;&lt;/pre&gt; &lt;p class="vspace"&gt;非常简单对吧，jsonStr的内容就像这样 &lt;/p&gt; &lt;pre class="escaped"&gt;{"content":"内容\n另外一行内容","title":"文档标题","classLabel":"体育","timestamp":99817827282,"author":"某人"}&lt;br /&gt;&lt;/pre&gt; &lt;p class="vspace"&gt;我们通过肉眼观察就能发现这个字符串代表哪些信息，就是有一天完全没人知道数据是怎么生成的，还是能够解析。 &lt;/p&gt; &lt;p class="vspace"&gt;用下面的方法可以把一个JSON字符串解析出来: &lt;/p&gt; &lt;pre class="escaped"&gt;Doc d = gson.fromJson(jsonStr, Doc.class);&lt;br /&gt;&lt;/pre&gt; &lt;p class="vspace"&gt;这样d的内容就是jsonStr中代表的内容了。 &lt;/p&gt; &lt;h2&gt;将JSON格式的数据保存到文件&lt;/h2&gt; &lt;p&gt;如果要保存到文件，我建议将数据写到压缩的文本文件中，每行一个JSON字符串。假设所有的数据都放在List&lt;data&gt; dataset中，数据类名是Data，那么把数据保存到文件的代码可以写为： &lt;/data&gt;&lt;/p&gt; &lt;pre class="escaped"&gt;FileOutputStream fos = new FileOutputStream("data.gz");&lt;br /&gt;GZIPOutputStream gos = new GZIPOutputStream(fos);&lt;br /&gt;OutputStreamWriter osw = new OutputStreamWriter(gos, "UTF-8");&lt;br /&gt;BufferedWriter output = new BufferedWriter(osw);&lt;br /&gt;&lt;br /&gt;Gson gson = new Gson();&lt;br /&gt;for (Data d : dataset) {&lt;br /&gt;output.write(gson.toJson(d));&lt;br /&gt;output.write('\n');&lt;br /&gt;}&lt;br /&gt;output.close();&lt;br /&gt;&lt;/pre&gt; &lt;p class="vspace"&gt;读取数据到同样的一个List中，代码可以写为: &lt;/p&gt; &lt;pre class="escaped"&gt;FileInputStream fis = new FileInputStream("data.gz");&lt;br /&gt;GZIPInputStream gis = new GZIPInputStream(fis);&lt;br /&gt;InputStreamReader isr = new InputStreamReader(gis);&lt;br /&gt;BufferedReader input = new BufferedReader(isr);&lt;br /&gt;&lt;br /&gt;Gson gson = new Gson();&lt;br /&gt;List&lt;data&gt; dataset = new LinkedList&lt;data&gt;();&lt;br /&gt;String line;&lt;br /&gt;while ((line = input.readLine()) != null) {&lt;br /&gt;dataset.add(gson.fromJson(line, Data.class));&lt;br /&gt;}&lt;br /&gt;input.close();&lt;br /&gt;&lt;/data&gt;&lt;/data&gt;&lt;/pre&gt; &lt;p class="vspace"&gt;你可能注意到读写数据代码中壮观的一排new，是的，这很丑很麻烦。不过这么程式化的代码可以简单包一包，例如上面两段代码可以简化为 &lt;/p&gt; &lt;pre class="escaped"&gt;GzipTextFileWriter output = new GzipTextFileWriter("data.gz", "UTF-8");&lt;br /&gt;Gson gson = new Gson();&lt;br /&gt;for (Data d : dataset) {&lt;br /&gt;output.writeLine(gson.toJson(d);&lt;br /&gt;}&lt;br /&gt;output.close();&lt;br /&gt;&lt;/pre&gt; &lt;p class="vspace"&gt;和 &lt;/p&gt; &lt;pre class="escaped"&gt;GzipTextFileReader input = new GzipTextFileReader("data.gz", "UTF-8");&lt;br /&gt;Gson gson = new Gson();&lt;br /&gt;List&lt;data&gt; dataset = new LinkedList&lt;data&gt;();&lt;br /&gt;String line;&lt;br /&gt;while ((line = input.readLine()) != null) {&lt;br /&gt;dataset.add(gson.fromJson(line, Data.class));&lt;br /&gt;}&lt;br /&gt;input.close();&lt;br /&gt;&lt;br /&gt;&lt;/data&gt;&lt;/data&gt;&lt;/pre&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;只要写两个简单的wrapper class，GzipTextFileReader和GzipTextFileWriter就行了。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;存储效率，空间和时间&lt;/h2&gt; &lt;p&gt;聪明的你一定发现了，用Gson库把数据保存为JSON格式，其中多出了元信息，如"classLabel"。这些元信息在每条数据里面都有，这不是非常浪费么？另外，我们用字符串表示数字和布尔类型，这不也是浪费空间么？ &lt;/p&gt; &lt;p class="vspace"&gt;如果我们不用&lt;span class="wikiword"&gt;GzipXXX&lt;/span&gt;，老老实实地写到文本文件里面，确实是浪费空间。但由于元信息高度重复，写入压缩文件后，JSON格式占用的空间并不比直接写二进制数据多出多少。下面我们用一个小实验来证明。 &lt;/p&gt; &lt;p class="vspace"&gt;我们写10000条数据，每条数据由一个字符串，一个整数，一个浮点数和一个布尔值组成，具体的取值随机，字符串长度相似，约十多个字符。我们用三种方法来保存数据，第一种是直接用二进制的&lt;span class="wikiword"&gt;DataOutputStream&lt;/span&gt;来保存每条数据，没有任何冗余；第二种是利用Json格式，但不保存如"classLabel"之类的元信息；第三种是用上面介绍的Gson库，同时保存元信息和数据。三种方法我们都输出压缩和不压缩两种数据文件。最终文件的尺寸在下表中列出。 &lt;/p&gt;  &lt;table border="1" width="50%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td align="center"&gt;不压缩&lt;/td&gt;&lt;td align="center"&gt;压缩&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;二进制&lt;/td&gt;&lt;td align="center"&gt;396KB&lt;/td&gt;&lt;td align="center"&gt;260KB&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;Json无元信息&lt;/td&gt;&lt;td align="center"&gt;648KB&lt;/td&gt;&lt;td align="center"&gt;264KB&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;Gson&lt;/td&gt;&lt;td align="center"&gt;1024KB&lt;/td&gt;&lt;td align="center"&gt;280KB&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p class="vspace"&gt;由表中数据可以看出，1）Gson输出虽然比前两种方法尺寸大，但是在压缩后，多出的部分非常有限 2)数据压缩和不压缩有很大差别，压缩的Gson仍比不压缩的二进制数据小很多。 &lt;/p&gt; &lt;p class="vspace"&gt;听起来可能有点反常，但是输出到压缩文件比直接输出到文本文件要快，而不是慢。这是因为现代CPU的速度远快于磁 盘，写文件的时候主要的时间花在磁盘的机械动作上。如果事先对数据进行压缩，会减少实际写入的字节数，从而节约写数据的时间。而压缩数据对于现代CPU来 说易如反掌，多数情况下消耗的资源都很少。 &lt;/p&gt; &lt;h2&gt;和Hadoop联用&lt;/h2&gt; &lt;p&gt;在Hadoop的map-reduce中，除了极端要求性能或明显可以节约时间的简单情况，我们都推荐用Gson+JSON来表示数据。 Hadoop的key和value如果是Text格式，都会自动进行压缩，所以大家也无需担心压缩问题。Gson本身的序列化和反序列化代码经过仔细优 化，性能很好。&lt;/p&gt;&lt;h2&gt;结论&lt;/h2&gt; &lt;p&gt;(谜之音：怎么结论都出来了，这是论文么？？？！！) &lt;/p&gt; &lt;p class="vspace"&gt;使用JSON格式和Gson库来表示数据并存储在压缩文件，这种方法更方便，更快，更节约空间。如果有朝一日忘记了数据保存的格式，看看文件内容就知道了，避免冏况发生。 &lt;/p&gt; &lt;h2&gt;参考资源&lt;/h2&gt; &lt;p&gt;JSON格式标准说明: &lt;a class="urllink" href="http://www.json.org/" rel="nofollow"&gt;http://www.json.org&lt;/a&gt; &lt;/p&gt; &lt;p class="vspace"&gt;Gson库: &lt;a class="urllink" href="http://code.google.com/p/google-gson/" rel="nofollow"&gt;http://code.google.com/p/google-gson/&lt;/a&gt;&lt;/p&gt;&lt;p class="vspace"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;后记：Google的protocol buffer格式也是一个不错的选择，不过它需要先用一种特定的语言描述数据格式，然后从格式文件创建出具体的类代码，数据的序列化和反序列化都是用生成的代码实现的。如果原数据格式描述和代码丢了，基本上也就废了。&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-3165675836955052503?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/3165675836955052503/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=3165675836955052503' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3165675836955052503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3165675836955052503'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/03/json.html' title='用Json来存储格式化数据'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-6807530005300630433</id><published>2009-03-15T16:15:00.002+08:00</published><updated>2009-03-15T16:19:33.548+08:00</updated><title type='text'>猫，再来</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.ggpht.com/_xkhjUqfDikI/Sby5j9SExuI/AAAAAAAAAhg/tEv5UojzEnw/RIMG0026.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 640px; height: 480px;" src="http://lh4.ggpht.com/_xkhjUqfDikI/Sby5j9SExuI/AAAAAAAAAhg/tEv5UojzEnw/RIMG0026.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.ggpht.com/_xkhjUqfDikI/Sby5gmSlzII/AAAAAAAAAhY/UWGDFdYQlgo/RIMG0011-1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 640px; height: 480px;" src="http://lh4.ggpht.com/_xkhjUqfDikI/Sby5gmSlzII/AAAAAAAAAhY/UWGDFdYQlgo/RIMG0011-1.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/_xkhjUqfDikI/Sby5dZSMN9I/AAAAAAAAAhQ/cdSoO4fqfFs/RIMG0006-1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 640px; height: 480px;" src="http://lh6.ggpht.com/_xkhjUqfDikI/Sby5dZSMN9I/AAAAAAAAAhQ/cdSoO4fqfFs/RIMG0006-1.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-6807530005300630433?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/6807530005300630433/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=6807530005300630433' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6807530005300630433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6807530005300630433'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/03/blog-post.html' title='猫，再来'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_xkhjUqfDikI/Sby5j9SExuI/AAAAAAAAAhg/tEv5UojzEnw/s72-c/RIMG0026.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-1910665276204159889</id><published>2009-03-14T11:08:00.001+08:00</published><updated>2009-03-14T11:09:54.243+08:00</updated><title type='text'>Google Docs最近很不稳定啊</title><content type='html'>前几天Google Docs打不开，我以为是临时现象，结果今天spreadsheets又打不开了。不知道Google Docs那帮人在想些啥，再这样搞下去，就该流失用户了...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-1910665276204159889?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/1910665276204159889/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=1910665276204159889' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1910665276204159889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1910665276204159889'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/03/google-docs.html' title='Google Docs最近很不稳定啊'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-3822917685420592664</id><published>2009-02-19T13:16:00.002+08:00</published><updated>2009-02-19T13:21:09.323+08:00</updated><title type='text'>猫</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/_xkhjUqfDikI/SZqABo_ZYGI/AAAAAAAAAd4/aXuHKJqZAkU/RIMG0031.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 640px; height: 480px;" src="http://lh6.ggpht.com/_xkhjUqfDikI/SZqABo_ZYGI/AAAAAAAAAd4/aXuHKJqZAkU/RIMG0031.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.ggpht.com/_xkhjUqfDikI/SZzr7c8Ff_I/AAAAAAAAAfQ/k_brmRtEZO8/RIMG0018.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 640px; height: 480px;" src="http://lh3.ggpht.com/_xkhjUqfDikI/SZzr7c8Ff_I/AAAAAAAAAfQ/k_brmRtEZO8/RIMG0018.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.ggpht.com/_xkhjUqfDikI/SZzrqFmU7UI/AAAAAAAAAfI/Hy_gukTWMH8/RIMG0027.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 640px; height: 480px;" src="http://lh5.ggpht.com/_xkhjUqfDikI/SZzrqFmU7UI/AAAAAAAAAfI/Hy_gukTWMH8/RIMG0027.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-3822917685420592664?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/3822917685420592664/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=3822917685420592664' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3822917685420592664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3822917685420592664'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/02/blog-post.html' title='猫'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_xkhjUqfDikI/SZqABo_ZYGI/AAAAAAAAAd4/aXuHKJqZAkU/s72-c/RIMG0031.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-6299126141320604880</id><published>2009-02-10T10:31:00.002+08:00</published><updated>2009-02-10T10:39:41.970+08:00</updated><title type='text'>闲扯公司中VPN的安全</title><content type='html'>VPN，包括IPSec啊或是加密的PPTP啊什么的，本身是很安全的，一般都是用128位的算法来对来往数据加密。解开VPN的加密算法需要数千台计算机工作数千年。所以，迄今为止还没有听说通过破解加密算法来攻破VPN的真实案例，这也许是因为我孤陋寡闻，但是至少很稀有。&lt;br /&gt;&lt;br /&gt;不 过，就像木桶能装多少水依靠最短的一块木板，VPN安全也有一块短板，那就是我们自己和自己的家用电脑。要想通过VPN来窃取公司机密，最方便也是最 常用的方法不是破解复杂的数学密码，而是想办法从相关人员手里偷到钥匙（偷窥到密码）。甚至在多数情况下，密码都不是“偷”去的，而是大摇大摆抄走 的，或是员工主动提供的。这听起来可笑，但是却常常发生在缺乏安全知识和意识的员工身上。下面通过几个例子来说明：&lt;br /&gt;&lt;br /&gt;例子一：公司员工美女小A，在家里想远程连回公司办公，但是VPN总也不工作。小A想到正追求自己的宅男小C是电脑高手，于是搬来小C替自己解决。为了节约时间减少 麻烦，小A就把自己的密码“prada”告诉了小C。小C很快的解决了问题，带着小A的感谢和微笑（谜之音：还有密码！！！）回家了。小A找到帅气新男友 小D半月后，发生了公司客户数据以每条1块钱的价格泄露给竞争对手的消息，小A傻眼了（谜之音：她可能连眼都没傻）。&lt;br /&gt;&lt;br /&gt;教训一：无论如何，不要把自己的密码泄露给其他人，包括公司的同事。公司的同事可能会利用你的身份进行信息犯罪，并栽赃给你。如果实在需要找小C帮忙，也记得自己输入密码，不要让小C看到。&lt;br /&gt;&lt;br /&gt;例子二：公司员工美女小A，在家里想远程连回公司办公，输入了自己的用户名Amy和密码prada，顺利连入公司网络。情场失意的网络高手小C，在深夜报复社会，用程序猜测小A在公司VPN的密码。小C不是胡猜，他用一个含有很多常用密码、英文单词、从1970年到现在每天日期的文件作为猜测的备选，不出几分 钟，电脑上提示prada这个常见单词被猜中了。几天后，发生了公司客户数据以每条1块钱的价格泄露给竞争对手的消息。&lt;br /&gt;&lt;br /&gt;教训二：不要使用简单的密码，例如自己的生日、英文单词、较短的随机字符串（例如小于5位字母，黑客完全可以把5个英文字母的所有组合尝试一遍）。密码要长，最好大于10位，要没有规律，要包含字母、数字和标点符号，例如“sak@32o8.fjs”就是一个不错的密码，黑客老死也无法猜中。记不住这么变 态的密码怎么办？多记就好了，一般来说几天之后就会背下来。我还有个小技巧，是利用符合发音规则的假词造长密码，例如coporine92simory!，这个密码比上面的好记，也相当安全。&lt;br /&gt;&lt;br /&gt;例子三：公司员工美女小A，在家里想远程连回公司办公，输入了自己的用户名Amy和无敌密码i~dont~th1nk~u~can~guess~this~password293，顺利连入公司网络。情场失意的网络高手 小C在深夜报复社会，通过QQ、MSN等大量发送木马病毒。小A的机器没有开防火墙（嫌麻烦）和杀毒软件（嫌慢且不想花钱），已经不幸中招几天还没有察觉。小C发 现某台电脑受到自己控制，这台电脑又有一个活动的VPN链接，于是偷偷远程潜入小A的电脑，又通过小A电脑上已经连接的VPN进入公司。几天后，发生了公司客户数据以每条1块钱的价格泄露给竞争对手的消息，小A自己的私房照片也被贴在了火爆的成人网站上。&lt;br /&gt;&lt;br /&gt;教训三：一定要开启防火墙，一定要及时更新系统，一定要安装杀毒软件并及时更新。黑客从来不是针对你行动的，他们广撒大网，只有安全性弱的电脑才会中招。 一般公司会配备集中采购的杀毒软件，如果没有的话，可以考虑Windows防火墙，AVG免费杀毒软件，360安全卫士和墨者安全专家等软件，这些都是完全免费的，能给电脑带来不错的基本保护（但是如果涉及高度敏感数据一定要咨询相关专业人员，如公司信息安全专员）。&lt;br /&gt;&lt;br /&gt;我选择美女小A作为主角也是有意义的。公司里面不乏计算机达人，他们自己的电脑防护的如铁桶一般百毒不侵，但是像小A这样对技术不感冒的员工就是企业安全的短板。要修补这块短板，一般就需要专职IT人员的检查和不厌其烦的培训了，呵呵。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-6299126141320604880?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/6299126141320604880/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=6299126141320604880' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6299126141320604880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6299126141320604880'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/02/vpn.html' title='闲扯公司中VPN的安全'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-4961570016801662510</id><published>2009-01-27T19:55:00.002+08:00</published><updated>2009-01-27T19:58:00.525+08:00</updated><title type='text'>在Java中检测cpu数目</title><content type='html'>如果我们想在Java中利用多核处理器，那么就要按照实际的处理器数目来创建线程。如何得到处理器数目呢？一句话: Runtime.getRuntime().availableProcessors(); 这是一个int值，在我的macbook上返回的就是2，呵呵，简单方便。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-4961570016801662510?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/4961570016801662510/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=4961570016801662510' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4961570016801662510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4961570016801662510'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/01/javacpu.html' title='在Java中检测cpu数目'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-2302648231101895381</id><published>2009-01-20T14:31:00.005+08:00</published><updated>2009-01-20T15:21:02.546+08:00</updated><title type='text'>Is Java ready for multi-cores?</title><content type='html'>The title is a little big. -_-&lt;br /&gt;&lt;br /&gt;Nowadays most computers have two independent CPU cores, for example, my MacBook has two in the Intel Core 2 Duo. Question is: Can we get any benefits from the additional core when coding with Java? Assuming we programmers take care of threading and algorithm parallelization.&lt;br /&gt;&lt;br /&gt;The key to this question is whether we can run two Java threads simultaneously on different cores. In C/C++, we can use SetThreadAffinityMask() for Windows and thread_processor_bind_np()  in POSIX systems like Linux. Is there similar mechanism in Java threading? A Google search brings up some relevant pages, like &lt;a href="http://www.javaworld.com/javaworld/jw-08-2000/jw-0811-threadscale.html"&gt;this article by Patrick on JavaWorld&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;. Patrick argued that Java 1.1.3 VM cannot utilize more than 2 CPUs well (Oops, I have only 2..).&lt;br /&gt;&lt;br /&gt;To get my hands dirty, I wrote a small program in Java to see if it can use all my cores.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class MultiCoreWorker extends Thread {&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public void run() {&lt;br /&gt;  int a = 0;&lt;br /&gt;  while  (true) {&lt;br /&gt;    a = (a + 1) % 1000;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void main(String[] args)&lt;br /&gt;throws InterruptedException {&lt;br /&gt;  MultiCoreWorker t1 = new MultiCoreWorker();&lt;br /&gt;  MultiCoreWorker t2 = new MultiCoreWorker();&lt;br /&gt;&lt;br /&gt;  t1.start();&lt;br /&gt;  t2.start();&lt;br /&gt;  Thread.sleep(1000000000);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The code basically do nothing but adding a number, which will take all available CPU cycles. When 2 MultiCoreWorker are running, the system have a 100% CPU usage on both cores. I ran the code multiple times to assure that it's stable. A screenshot of the Activity Monitor is as follows.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xkhjUqfDikI/SXV4TPlC-LI/AAAAAAAAAaA/OJJnXFqjwLs/s1600-h/jmc1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 114px;" src="http://2.bp.blogspot.com/_xkhjUqfDikI/SXV4TPlC-LI/AAAAAAAAAaA/OJJnXFqjwLs/s400/jmc1.png" alt="" id="BLOGGER_PHOTO_ID_5293269209038649522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It seems at least Java threads can expand on 2 cores well ( On Mac OS X leopard with client JVM 6.0). I'll try to make some of my code parallel and see how much time can it saves by utilizing 2 cores.&lt;br /&gt;&lt;br /&gt;The funny thing happened when running just a single thread. I commented out the codes with t2, and re-ran the program. Only one core was used, that's not beyond our expection. Interesting thing is in the following screenshot, the thread was actually jumping between the cores.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xkhjUqfDikI/SXV56DImstI/AAAAAAAAAaI/YJKEYWx4bv4/s1600-h/jmc-single.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 124px;" src="http://2.bp.blogspot.com/_xkhjUqfDikI/SXV56DImstI/AAAAAAAAAaI/YJKEYWx4bv4/s400/jmc-single.png" alt="" id="BLOGGER_PHOTO_ID_5293270975224656594" border="0" /&gt;&lt;/a&gt;See the complementary curves just under the label "CPU Usage" ? :) Our code do not have any I/O operation, so there would be no I/O waiting. It clearly indicates that JVM can move threads between CPUs at any time. Cool...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-2302648231101895381?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/2302648231101895381/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=2302648231101895381' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2302648231101895381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2302648231101895381'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2009/01/is-java-ready-for-multi-cores.html' title='Is Java ready for multi-cores?'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xkhjUqfDikI/SXV4TPlC-LI/AAAAAAAAAaA/OJJnXFqjwLs/s72-c/jmc1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-562441761592517677</id><published>2008-12-23T19:27:00.000+08:00</published><updated>2008-12-23T19:28:59.870+08:00</updated><title type='text'>变形金刚之Mac大战PC</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/uLbJ8YPHwXM&amp;rel=0&amp;color1=0x6699&amp;color2=0x54abd6&amp;hl=en&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/uLbJ8YPHwXM&amp;rel=0&amp;color1=0x6699&amp;color2=0x54abd6&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-562441761592517677?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/562441761592517677/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=562441761592517677' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/562441761592517677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/562441761592517677'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/12/macpc.html' title='变形金刚之Mac大战PC'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-8990795433505811209</id><published>2008-12-21T21:47:00.008+08:00</published><updated>2008-12-22T10:06:10.779+08:00</updated><title type='text'>Performance comparison 性能比较 : Java vs python vs c vs c++</title><content type='html'>哈哈，标题很大，内容很弱。&lt;br /&gt;今天无聊，做了个小实验。假设我们有个任务，输入是一个文本文件，每行两个整数用空格分开，输出是一个文本文件，每行是输入对应行的和。这个例子虽小，但确是比较经典的场景。我用java, c, c++, python写了好几个程序，每个都在接近日常编码的情况下尽量写的快一点，看看究竟速度有什么差别。&lt;br /&gt;&lt;br /&gt;程序的输入都是一样的，一个文本文件，有10,000,000行，每行两个1000以内的随机整数。机器是Macbook Intel Core Duo 2.0G, 2G内存 DDR667, 5400转seagate磁盘 8M缓存，Mac OS X Leopard 10.5.5. 虽然这些不是重要因素，但还是要介绍一下。&lt;br /&gt;&lt;br /&gt;时间测试用的是bash的time命令，取的是real时间。&lt;br /&gt;&lt;br /&gt;1) java，用split，java version "1.6.0_07" Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153) Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_07-b06-57, mixed mode)&lt;br /&gt;&lt;br /&gt;程序如下&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    TextFileReader r = new TextFileReader("/Users/sixiance/Desktop/test.txt");&lt;br /&gt;    TextFileWriter w = new TextFileWriter("/Users/sixiance/Desktop/test.out.txt");&lt;br /&gt;    String l = null;&lt;br /&gt;    int a, b;&lt;br /&gt;    while ((l = r.readLine()) != null) {&lt;br /&gt;      String [] cols = l.split(" ");&lt;br /&gt;      a = Integer.parseInt(cols[0]);&lt;br /&gt;      b = Integer.parseInt(cols[1]);&lt;br /&gt;      w.writeLine(Integer.toString(a + b));&lt;br /&gt;    }&lt;br /&gt;    r.close();&lt;br /&gt;    w.close();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;说实话split是很消耗时间的，每次都要生成一个正则表达式Pattern对象。这程序运行四次, 时间均值17.46125&lt;br /&gt;标准差0.3162429，单位都是秒。&lt;br /&gt;&lt;br /&gt;这里面的TextFileReader/Writer就是简单包装了一下new BufferedReader(new InputStreamReader(new FileInputStream()))&lt;br /&gt;&lt;br /&gt;2) java 不用split, VM同上&lt;br /&gt;&lt;br /&gt;既然刚才知道split比较费时间，那我就不用split，用如下的代码片段代替&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;      int pos = l.indexOf(" ");&lt;br /&gt;      a = Integer.parseInt(l.substring(0, pos));&lt;br /&gt;      b = Integer.parseInt(l.substring(pos+1));&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;结果比split好很多，均值 10.26375标准差0.133784，快了好多。&lt;br /&gt;&lt;br /&gt;3) c, gcc -O3, version 4.0.1 (Apple Inc. build 5465)&lt;br /&gt;&lt;br /&gt;c程序如下：&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include "stdio.h"&lt;br /&gt;&lt;br /&gt;int main(int argc, char** argv) {&lt;br /&gt; FILE* fp = fopen("/Users/sixiance/Desktop/test.txt", "r");&lt;br /&gt; FILE* ofp = fopen("/Users/sixiance/Desktop/test.cout.txt", "w");&lt;br /&gt; int a, b;&lt;br /&gt; while (!feof(fp)) {&lt;br /&gt;  fscanf(fp, "%d %d\n", &amp;a, &amp;b);&lt;br /&gt;  fprintf(ofp, "%d\n", a + b);&lt;br /&gt; }&lt;br /&gt; fclose(fp);&lt;br /&gt; fclose(ofp);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;结果自然是无敌快：均值8.09575, 标准差0.1816670&lt;br /&gt;&lt;br /&gt;4) python, Python 2.5.1 (r251:54863, Apr 15 2008, 22:57:26) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin&lt;br /&gt;&lt;br /&gt;代码如下&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;f = open("/Users/sixiance/Desktop/test.txt", "r")&lt;br /&gt;of = open("/Users/sixiance/Desktop/test.pyout.txt", "w")&lt;br /&gt;for line in f:&lt;br /&gt;  [a,b] = line.strip("\n").split()&lt;br /&gt;  of.write(str(int(a) + int(b)) + "\n")&lt;br /&gt;f.close()&lt;br /&gt;of.close()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;这个也是用了split，速度是很慢的, 均值48.5335, 标准差0.2030706&lt;br /&gt;&lt;br /&gt;5) c++, g++ -O3, gcc version 4.0.1 (Apple Inc. build 5465)&lt;br /&gt;&lt;br /&gt;程序如下&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include &lt;fstream&gt;&lt;br /&gt;#include &lt;string&gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int main(int argc, char** argv) {&lt;br /&gt; ifstream ins("/Users/sixiance/Desktop/test.txt");&lt;br /&gt; ofstream outs("/Users/sixiance/Desktop/test.cppout.txt");&lt;br /&gt; int a, b;&lt;br /&gt; while(!ins.eof()) {&lt;br /&gt;  ins &gt;&gt; a &gt;&gt; b;&lt;br /&gt;  outs &lt;&lt; (a+b) &lt;&lt; endl; &lt;br /&gt; }&lt;br /&gt; ins.close();&lt;br /&gt; outs.close();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;都用c++的方法，不是用c的部分。这个惊人的慢:均值68.3783，标准差0.3763082。c++ stream真不是盖的，敬仰啊... 这个的sys时间花的比user还多，而且都比c和java慢了好多。&lt;br /&gt;&lt;br /&gt;6) c++ 不用endl&lt;br /&gt;思考一下，罪魁祸首是endl，每个endl都会导致stream flush（这其实挺sb的）。把endl改成"\n"，均值14.734,标准差0.2281447，这次是比较正常了。&lt;br /&gt;&lt;br /&gt;总结回顾&lt;br /&gt;&lt;br /&gt;让我们回顾一下，把各种情况下的时间都画在一个图里面:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xkhjUqfDikI/SU5T34xWzAI/AAAAAAAAAXg/oAmMCyqssas/s1600-h/time-diff.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 322px; height: 312px;" src="http://2.bp.blogspot.com/_xkhjUqfDikI/SU5T34xWzAI/AAAAAAAAAXg/oAmMCyqssas/s400/time-diff.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5282251632549481474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;这些数字绝不是要说明那个语言好或是那个语言快（本身意义也不大），因为实际的问题千差万别，很难用这么小的例子来概括。但是这些数字确实可以告诉我们，在抄起家伙随心地写一些小工具和小实验程序时候，大概会有一个什么性能差距。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-8990795433505811209?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/8990795433505811209/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=8990795433505811209' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8990795433505811209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8990795433505811209'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/12/performance-comparison-java-vs-python.html' title='Performance comparison 性能比较 : Java vs python vs c vs c++'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xkhjUqfDikI/SU5T34xWzAI/AAAAAAAAAXg/oAmMCyqssas/s72-c/time-diff.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-1473314832195132069</id><published>2008-12-14T22:35:00.003+08:00</published><updated>2008-12-14T22:43:17.574+08:00</updated><title type='text'>恢复游泳</title><content type='html'>今天晚上回到久违的学校游泳馆，开始恢复游泳了。&lt;br /&gt;&lt;br /&gt;周四按摩的时候，按摩师傅说你们这些每天坐在电脑前面的人脊椎都不太好，得经常锻炼一下。我觉得这个挺重要，好几个兄弟颈椎都已经出状况了，赶紧就问啥锻炼最好。师傅介绍了几种方法，最好的还是游泳，看来经常游游是百利而无一害啊，不错不错。&lt;br /&gt;&lt;br /&gt;游泳馆在奥运前半年的时候就封馆支援运动员训练了，上一张游泳卡就白搭了100多在里面。今天重回游泳馆，发现奥运还是有好处的，原来走廊里面剥落的墙皮现在变成瓷砖了，隔不远还有小装饰画，感觉好很多。更衣室里也重新装修，洗澡换成了感应喷头，热水也是哇哇地好，谁说奥运没啥好处，哈哈。&lt;br /&gt;&lt;br /&gt;今天先游了1300米热热身，争取这次在游泳卡过期之前都把它用掉～&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-1473314832195132069?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/1473314832195132069/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=1473314832195132069' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1473314832195132069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1473314832195132069'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/12/blog-post_14.html' title='恢复游泳'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-4659162514170056847</id><published>2008-12-08T22:06:00.002+08:00</published><updated>2008-12-08T22:08:56.704+08:00</updated><title type='text'>魔方，无敌魔方</title><content type='html'>办公室有一个魔方，最普通的3x3那种，我搞了半天才搞定两个面，实在是太弱智了。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;共享两个视频，第一个是机器人的，第二个是活人的&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/5fAn5A0HbhU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=zh_CN&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/5fAn5A0HbhU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=zh_CN&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UrjmeYdVTlc&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=zh_CN&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/UrjmeYdVTlc&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=zh_CN&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;叹为观止啊&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-4659162514170056847?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/4659162514170056847/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=4659162514170056847' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4659162514170056847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4659162514170056847'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/12/blog-post_08.html' title='魔方，无敌魔方'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-356491915370528772</id><published>2008-12-07T20:34:00.004+08:00</published><updated>2008-12-07T21:47:48.514+08:00</updated><title type='text'>美国的神奇之楼，竟然倒在一起</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xkhjUqfDikI/STvTJvSefYI/AAAAAAAAAXA/tMD-SkTEZ6c/s1600-h/renzilou.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 348px;" src="http://2.bp.blogspot.com/_xkhjUqfDikI/STvTJvSefYI/AAAAAAAAAXA/tMD-SkTEZ6c/s400/renzilou.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5277043552660913538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;在google maps上偶尔看到的，应该是拼接的结果，但这拼接的也太好了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-356491915370528772?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/356491915370528772/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=356491915370528772' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/356491915370528772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/356491915370528772'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/12/blog-post_07.html' title='美国的神奇之楼，竟然倒在一起'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xkhjUqfDikI/STvTJvSefYI/AAAAAAAAAXA/tMD-SkTEZ6c/s72-c/renzilou.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-5787715890167776435</id><published>2008-12-01T21:17:00.002+08:00</published><updated>2008-12-01T21:24:54.689+08:00</updated><title type='text'>校园风光</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xkhjUqfDikI/STPlgS5l2HI/AAAAAAAAAW4/L57HAT6LqeY/s1600-h/RIMG0172-small.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://4.bp.blogspot.com/_xkhjUqfDikI/STPlgS5l2HI/AAAAAAAAAW4/L57HAT6LqeY/s400/RIMG0172-small.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5274811931572951154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xkhjUqfDikI/STPlfyaT5xI/AAAAAAAAAWw/rLTW7Hsxwd0/s1600-h/RIMG0171-small.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://4.bp.blogspot.com/_xkhjUqfDikI/STPlfyaT5xI/AAAAAAAAAWw/rLTW7Hsxwd0/s400/RIMG0171-small.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5274811922851817234" /&gt;&lt;/a&gt;&lt;br /&gt;发两个校园随拍，安静的冬日午后。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-5787715890167776435?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/5787715890167776435/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=5787715890167776435' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5787715890167776435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5787715890167776435'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/12/blog-post.html' title='校园风光'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xkhjUqfDikI/STPlgS5l2HI/AAAAAAAAAW4/L57HAT6LqeY/s72-c/RIMG0172-small.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-5981705901294865558</id><published>2008-11-26T10:28:00.003+08:00</published><updated>2008-11-27T13:31:01.931+08:00</updated><title type='text'>Java是混水摸鱼者的最爱？</title><content type='html'>看到一篇老文，&lt;a href="http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html"&gt;The Perils of Java Schools&lt;/a&gt;，作者是Joel，一个知名程序员。大意呢就是java本身难度太低了，只学java不足以区分出优秀的计算机毕业生和混水摸鱼者。Joel对指针、递归和函数式语言比较有爱，觉得这些才能区分出一个脑子是不是适合做好的程序员。文章写的还是比较中肯的，不过总让我有一种感觉，就是某些有了一些知识的人，总是企图把自己脑袋里面的知识神化复杂化，好创造出和其他人的区别。Joel的文章里面也提起以前大学里面要学拉丁文，不是因为拉丁文有用，而是“受过教育的人应该懂拉丁文，以示和平头百姓的区别”。那么受过教育的CS毕业生也应该懂scheme以示和草根程序员的区别么？真是扯淡，有种拉出来练练才是真的。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;另：你觉得递归有那么难，可以用来区分talented brain和java library cobbler么?&lt;/div&gt;&lt;div&gt;更新：昨天晚上找我女朋友做实验，我成功地在十几分钟内把递归的概念教给她，她随后自己推导出了快速排序算法。需要说明的是我女朋友是文科生，高中毕业后再没学过数学或是任何理科的东西。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-5981705901294865558?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/5981705901294865558/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=5981705901294865558' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5981705901294865558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5981705901294865558'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/11/java.html' title='Java是混水摸鱼者的最爱？'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-4257077469697156842</id><published>2008-11-20T22:13:00.003+08:00</published><updated>2008-11-20T22:31:22.783+08:00</updated><title type='text'>iPod touch 二代入手</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xkhjUqfDikI/SSV0rXDhOHI/AAAAAAAAAVw/c8Wo91IOsmU/s1600-h/RIMG0159.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_xkhjUqfDikI/SSV0rXDhOHI/AAAAAAAAAVw/c8Wo91IOsmU/s400/RIMG0159.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5270747227179006066" /&gt;&lt;/a&gt;&lt;br /&gt;观察了好久，终于出手啦，哈哈。我的是8G版本，在&lt;a href="http://youa.baidu.com/item/35d85c23a063e6d746df9721"&gt;百度有啊&lt;/a&gt;上买的，1699大元，店主竟然亲自送货，还赠送屏幕贴，值得推荐。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;言归正传，说说两天体会。&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;手感重量很棒，可以用惊人来形容，组装的也很结实，在工业设计上给满分。&lt;/li&gt;&lt;li&gt;触控感觉不错，虚拟键盘用起来很顺手，输入失误率很低。官方的拼音输入法就很不错了，手写玩了玩，觉得不如虚拟键盘打字方便，就又给关了。&lt;/li&gt;&lt;li&gt;速度流畅。&lt;/li&gt;&lt;li&gt;缺点：电池有点痿。我基本上是拿他当浏览器用，而不是当mp3用，所以wifi使用时间很多。如果像我这样整天wifi的话，基本上每天就得充一次电。&lt;/li&gt;&lt;li&gt;缺点：safari有时候会死掉，直接退回到home界面，不到影响使用的程度，但是也不罕见。&lt;/li&gt;&lt;li&gt;缺点：不支持flash。据说有人移植成功了？&lt;/li&gt;&lt;li&gt;缺点：appstore在中国好多东西不能买，音乐和电影就算了，连很多app都不能买，例如知名的enigmo谜之机器，实在是遗憾。中国appstore里面应用少很多，注册美国的帐号需要美国信用卡。据说&lt;a href="http://qbar.qq.com/iphoneqq/86.htm"&gt;有办法注册&lt;/a&gt;，还没试过。&lt;/li&gt;&lt;li&gt;wifi连接速度挺快的，基本上感觉不到wifi初始化连接的过程，达到了“开机就上网”的标准。&lt;/li&gt;&lt;li&gt;没有内置麦克风，得用iphone耳机才能录音，很不方便。&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;总体来说还是很好的，哈哈&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-4257077469697156842?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/4257077469697156842/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=4257077469697156842' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4257077469697156842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4257077469697156842'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/11/ipod-touch.html' title='iPod touch 二代入手'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xkhjUqfDikI/SSV0rXDhOHI/AAAAAAAAAVw/c8Wo91IOsmU/s72-c/RIMG0159.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-7264697198294034265</id><published>2008-11-17T17:24:00.003+08:00</published><updated>2008-11-17T17:39:39.340+08:00</updated><title type='text'>百度的黑锅谁来背</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xkhjUqfDikI/SSE6FMy6EwI/AAAAAAAAAVQ/Ijn3SOm6I8M/s1600-h/baidu-google.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 367px; height: 400px;" src="http://2.bp.blogspot.com/_xkhjUqfDikI/SSE6FMy6EwI/AAAAAAAAAVQ/Ijn3SOm6I8M/s400/baidu-google.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5269556900008694530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;我写东西非常不喜欢用叹号，始终觉得叹号太哗众取宠，在网络上已经被滥用了。不过今天我不得不用一个叹号，因为百度太棒了！&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;用百度搜索“谷歌公正性”，第一条结果“谷歌公正性遭质疑，央视曝光竞价排名”。题目看的我一惊，央视不是&lt;a href="http://www.tudou.com/programs/view/3hcKobbfY3I/"&gt;曝光百度&lt;/a&gt;么？怎么变成曝光谷歌了？点进去一看没有语言了，这个网页里面题目明明是“&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;百度&lt;/span&gt;公正性遭质疑，央视曝光竞价排名”，到了百度的搜索结果里面，“百度”二字就有如神助地变成了“谷歌”，真是得来全不费功夫。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;空口无凭，截图留念。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-7264697198294034265?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/7264697198294034265/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=7264697198294034265' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/7264697198294034265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/7264697198294034265'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/11/blog-post_17.html' title='百度的黑锅谁来背'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xkhjUqfDikI/SSE6FMy6EwI/AAAAAAAAAVQ/Ijn3SOm6I8M/s72-c/baidu-google.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-4219563945475005211</id><published>2008-11-13T15:00:00.002+08:00</published><updated>2008-11-14T13:37:09.345+08:00</updated><title type='text'>游中关村软件园</title><content type='html'>&lt;div&gt;&lt;img src="http://lh6.ggpht.com/_xkhjUqfDikI/SR0ONq2uSVI/AAAAAAAAAVI/cXb-gX1KDLc/RIMG0141.JPG" alt="软件园景色"/&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://lh3.ggpht.com/_xkhjUqfDikI/SR0ON_Bm8II/AAAAAAAAAVM/MGJ32RtuJiI/s640/RIMG0149.JPG" alt="软件园景色"/&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;今天陪mm去公司领材料，顺便游了游中关村软件园 :) 发两张照片纪念这个美好的阳光下午。(blogger不能发照片了？)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-4219563945475005211?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/4219563945475005211/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=4219563945475005211' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4219563945475005211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4219563945475005211'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/11/blog-post.html' title='游中关村软件园'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_xkhjUqfDikI/SR0ONq2uSVI/AAAAAAAAAVI/cXb-gX1KDLc/s72-c/RIMG0141.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-866266069060522059</id><published>2008-11-05T11:23:00.002+08:00</published><updated>2008-11-05T11:31:36.414+08:00</updated><title type='text'>找不到的mathbbold.sty ?</title><content type='html'>最近写一篇论文，用www2009的标准latex模版，在mactex下编译的时候提示找不到mathbbold.sty。虽然编译可以继续，但是心里总是很不爽，遂挖掘了一下相关原因。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;原因其实很简单，这个mathbbold.sty就在你的系统上，不过改名叫mathbbol.sty(8.3文件名复活记？)。想兼容mathbbold这种写法，就到&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;/usr/local/texlive/2008/texmf-dist/tex/latex/jknapltx/&lt;/span&gt;下，&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;sudo cp mathbbol.sty mathbbold.sty&lt;/span&gt;，然后运行&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;sudo mktexlsr&lt;/span&gt;重新建立文件名索引。再编译一下你的文档试试？大功告成 :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-866266069060522059?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/866266069060522059/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=866266069060522059' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/866266069060522059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/866266069060522059'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/11/mathbboldsty.html' title='找不到的mathbbold.sty ?'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-124271042743695431</id><published>2008-10-24T19:27:00.004+08:00</published><updated>2008-10-24T19:33:30.677+08:00</updated><title type='text'>站立式工作</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xkhjUqfDikI/SQGx-nX55RI/AAAAAAAAAUg/PN5cpTvUwuM/s1600-h/MyPicture.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_xkhjUqfDikI/SQGx-nX55RI/AAAAAAAAAUg/PN5cpTvUwuM/s400/MyPicture.jpg" alt="" id="BLOGGER_PHOTO_ID_5260681529024701714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;今天&lt;a href="http://cn.engadget.com/2008/10/22/Stand-Up-For-Your-Health/"&gt;在Engadget上看到一篇帖子&lt;/a&gt;，说站着工作要比坐下工作健康好多，还会促进脂肪的代谢，减少一型糖尿病的发病率。看罢我们办公室的几个就立刻动手，把放电脑的桌子抬高到吧台高度（上图照片）。站立工作了一天，感觉还不错，不像是在写程序做实验，倒像是在演奏乐器或是接待客人。不如大家都来试试？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-124271042743695431?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/124271042743695431/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=124271042743695431' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/124271042743695431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/124271042743695431'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/10/blog-post_24.html' title='站立式工作'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xkhjUqfDikI/SQGx-nX55RI/AAAAAAAAAUg/PN5cpTvUwuM/s72-c/MyPicture.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-712502249587195679</id><published>2008-10-24T19:04:00.003+08:00</published><updated>2008-10-24T19:11:30.503+08:00</updated><title type='text'>推荐一个编程时可以听的在线音乐电台:GrooveSalad</title><content type='html'>有没有过这种时候：工作比较累，周围太安静（或太聒噪），想听点音乐，又不想被歌词和演唱者忘我的高潮干扰，也不想操心该听什么？SomaFM提供了一个频道叫GrooveSalad就正好满足了这个要求。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://somafm.com/"&gt;SomaFM&lt;/a&gt;是一个免费的在线电台，下面有几个频道，我一直听的就是&lt;a href="http://www.google.cn/url?q=http://somafm.com/play/groovesalad&amp;amp;sa=X&amp;amp;oi=smap&amp;amp;resnum=1&amp;amp;ct=result&amp;amp;cd=1&amp;amp;usg=AFQjCNHz30mWKCAX4RxbrihwNSDraZX06A"&gt;GrooveSalad&lt;/a&gt;。GrooveSalad，顾名思义，就是节奏(groove)拌的沙拉，播放的内容是DJ精选的背景音乐，曲调简单好听，节奏感强，但又不喧宾夺主，实在是编程第一佳品，哈哈。&lt;br /&gt;&lt;br /&gt;GrooveSalad是一个pls文件，有realplayer就可以听，mac的itunes和linux下vlc都可以，你还可以把这个pls文件保存在电脑上，下次不用上网连，直接双击打开就可以了。&lt;br /&gt;&lt;br /&gt;经过我长期收听，鉴定结果是GrooveSalad很值得推荐 :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-712502249587195679?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/712502249587195679/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=712502249587195679' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/712502249587195679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/712502249587195679'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/10/somafm.html' title='推荐一个编程时可以听的在线音乐电台:GrooveSalad'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-8323998330287256585</id><published>2008-10-22T13:49:00.003+08:00</published><updated>2008-10-22T13:55:43.831+08:00</updated><title type='text'>恩，又慢慢转回mac，囧</title><content type='html'>用了一段时间的vista，还是蠢蠢欲动要转回mac。Vista的好处是可以运行一些windows程序，网络银行啊pplive啊啥的。说句实话除了这些就不太好用了，1）启动慢，2）盖上电脑休眠后再启动也慢，3）电脑的快捷键经常不好用，4）任务栏驻留了很多的东西，5）字体渲染和mac差太多，尤其是在看英文PDF论文的时候，6）我装的暴风影音竟然会在播放半路自动退出。&lt;br /&gt;&lt;br /&gt;看来还是双系统，留个windows玩游戏看pplive之类，主要的工作系统mac爽一点，呵呵。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-8323998330287256585?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/8323998330287256585/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=8323998330287256585' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8323998330287256585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8323998330287256585'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/10/mac.html' title='恩，又慢慢转回mac，囧'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-6774783904198114693</id><published>2008-10-18T14:18:00.004+08:00</published><updated>2008-10-18T14:34:53.482+08:00</updated><title type='text'>Gnome Asia Summit</title><content type='html'>今天去了Gnome Asia Summit，地点很近就在北航。Gnome来了好多人演讲和做教程，加上赞助商Sun、Motorola和Mozilla等等，人气很旺。Gnome现在在linux上市场占有率很高，不过说实话KDE/QT的设计和代码可读性等等感觉都比gnome好，但是大家就是认gnome。这有点像Mac和windows，Mac各个方面都比windows好，大家就是认windows。我发现的一个规律就是在软件市场上，有时是第二名技术和产品都比第一名好，但是第一名还是遥遥领先，除非是第二名好太多，这一般是不现实的。例子很多，如刚才说的win和mac，gnome和kde，还有linux和solaris、hao123和Google导航，IE和firefox。我们下次选软件的时候可以留意一下，在没有兼容问题的前提下，看看有没有优秀的第二名  :)&lt;br /&gt;&lt;br /&gt;关于Gnome Asia Summit，更棒的是免费注册+中午管饭。在餐厅排队的时候听组织者介绍一顿要50块/人，还是不错的。有免费午餐就有蹭免费午餐的，排在组织者后面的两位仁兄就连gnome是啥都不知道，搞的组织者很尴尬......&lt;br /&gt;&lt;br /&gt;p.s. 没带照相机，所以没图没真相了，请鄙视吧 -_-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-6774783904198114693?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/6774783904198114693/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=6774783904198114693' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6774783904198114693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6774783904198114693'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/10/gnome-asia-summit.html' title='Gnome Asia Summit'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-5718280204912930906</id><published>2008-10-14T21:01:00.002+08:00</published><updated>2008-10-14T21:09:20.853+08:00</updated><title type='text'>九型人格测试，应该做一做</title><content type='html'>前天mm推荐我做了一个&lt;a href="http://www.pecchrd.com/test/test.asp"&gt;人格测试&lt;/a&gt;，属于标准的Enneagram九型人格测试，通过一系列的二选一问题来猜测你更属于九种典型人格中的哪些。九型人格测试很准确，而且从儿童成长的角度对人格的形成做了解释。我觉得每个人都应该做一下，认识一下自己 :)&lt;br /&gt;&lt;br /&gt;九型人格看起来很像隐含主题模型，每个人格是一个隐含主题，而每个人的性格是多种主题的混合，通过一系列的问题能把人的性格分解到不同的分量上去。如果能拿到很多很多人的问答数据，对其进行概率分解或是SVD分解，不知能不能还原出代表九个性格的隐含主题？哈哈&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-5718280204912930906?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/5718280204912930906/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=5718280204912930906' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5718280204912930906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5718280204912930906'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/10/blog-post_14.html' title='九型人格测试，应该做一做'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-6224022919659360349</id><published>2008-10-14T20:39:00.003+08:00</published><updated>2008-10-14T21:00:58.859+08:00</updated><title type='text'>Windows Vista</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_xkhjUqfDikI/SPSXmm9nPtI/AAAAAAAAAUA/ioOKu5UPUjE/s1600-h/WindowsVista32cnMSDN.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5256993354598006482" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_xkhjUqfDikI/SPSXmm9nPtI/AAAAAAAAAUA/ioOKu5UPUjE/s400/WindowsVista32cnMSDN.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;今天给macbook装上了一个Windows Vista，正式(重新)进入windows的行列。&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;我应该是大三那年从windows xp迁移到linux的。当时主要的动因是我把原来的dell笔记本卖了，新买的ibook还没到手，而临时替代的二手电脑只有linux下的mplayer能够真正地流畅播放电影。就这样半推半就地上了linux的船，开始是很不适应的，要啥啥不会，调啥啥没够，连configure/make一套都不熟。过了几个月，我就逐渐熟悉了linux，也可以随便安装网上的tar包，没事吃饱了编编内核啥的。后来有了一些在linux下开发的工作，写server，epoll、socket啥的，胡搞八搞，linux还弄得比较熟。这个阶段是最爽的，linux的优势都熟悉了，windows下能做的linux下也大多能做到，还不用担心病毒，生活乐无边。&lt;/div&gt;&lt;br /&gt;&lt;div&gt;除去工作用的linux，其实一直在用的系统应该还是Mac OS X，原来的ibook 现在的macbook都是OS X。OS X这个系统做的像一个艺术品，多数的细节都做的很完美，和OS X相比，windows xp可以用“粗鄙”来形容了，都不好意思跟人打招呼。OS X的速度也很快，几年前就几秒启动，半年不关机，两年不重装，可以说是代表了操作系统的一定水准。后来的mac都是intel平台的，用virtualbox虚拟机也是啥都不耽误，网络银行也能用。&lt;/div&gt;&lt;br /&gt;&lt;div&gt;linux代表着操作系统技术的先锋（应该是solaris，不过伊跑太远了，连geek都很少用），mac代表着操作系统艺术的先锋，geek个人用的话是非常不错了。这次装回vista，主要是想体会一下平均计算机用户的环境，geek脱离群众可以，如果真的想关注这个产业，在写字楼里面用macbook pro的肯定没有在网吧用番茄花园的洞察力好，你说呢？ :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-6224022919659360349?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/6224022919659360349/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=6224022919659360349' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6224022919659360349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6224022919659360349'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/10/windows-vista.html' title='Windows Vista'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xkhjUqfDikI/SPSXmm9nPtI/AAAAAAAAAUA/ioOKu5UPUjE/s72-c/WindowsVista32cnMSDN.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-1544362732352679837</id><published>2008-10-10T10:00:00.002+08:00</published><updated>2008-10-10T10:15:14.589+08:00</updated><title type='text'>转载:美妙的生物荧光分子与好奇的生物化学家</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(73, 73, 73); font-family: Verdana; font-size: 14px; line-height: 23px; "&gt;&lt;h2 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; font-weight: normal; font-family: Helvetica, Arial, sans-serif; line-height: 130%; "&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;转载一篇文章，写得很好，大师兄推荐的，我也来转贴一下&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 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; font-weight: normal; font-family: Helvetica, Arial, sans-serif; line-height: 130%; "&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 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; font-weight: normal; font-family: Helvetica, Arial, sans-serif; font-size: 160%; line-height: 130%; "&gt;美妙的生物荧光分子与好奇的生物化学家&lt;/h2&gt;&lt;div id="node-1191" class="node" style="border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(253, 253, 253); margin-top: -1.5em; margin-right: -26px; margin-bottom: 1.5em; margin-left: -26px; padding-top: 1.5em; padding-right: 26px; padding-bottom: 1.5em; padding-left: 26px; "&gt;&lt;div class="content" style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; "&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;作者：饶毅；来源：&lt;a href="http://www.sciencenet.cn/blog/user_content.aspx?id=41568" style="color: rgb(12, 122, 0); text-decoration: none; "&gt;科学网博客&lt;/a&gt;&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;做出应获诺贝尔奖工作的科学家，几十年默默无闻；&lt;br /&gt;被广泛应用的分子，很少人知其发现者；&lt;br /&gt;原始论文鲜为人知，后继论文倒很热门；&lt;br /&gt;曾失明的人，发现了美丽的发光蛋白；&lt;br /&gt;低调的父亲，出了高调的儿子。&lt;br /&gt;这里简介一项生物化学研究，讲一个科学家的故事，还讨论一个问题：是否活着的科学家中还有因好奇而做科学研究？&lt;br /&gt;本文和我2002年一篇文章相同，不是预测诺贝尔奖，而是介绍值得获奖的工作。名单上不包括可以获奖、但其工作不值得获奖者。相反，本文的主人公可能被埋没得不到奖，但他的工作很值得介绍。&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;生物发光和荧光蛋白&lt;br /&gt;现在研究生物的人，几乎都知道绿色荧光蛋白（GFP），但常常不知或搞错其发现者。毫无争议的发现者是日裔美国科学家下村修（Osamu Shimomura，下村脩）和已故美国科学家约翰森（Frank H. Johnson）。他们1961到1974年发现两种发光的蛋白质：水母素（aequorin）和GFP。&lt;br /&gt;生物发光现象，下村修和约翰森之前就有人研究。萤火虫发荧光，是由荧光酶（luciferase）作为酶催化底物分子荧光素（luciferin），有化学反应如氧化，以后产生荧光。而发现蛋白质本身发光，无需底物，起源于下村修和约翰森的研究。&lt;br /&gt;下村修和约翰森用过几种实验动物，和本故事相关的是学名为Aequorea victoria的水母。1962年，下村修和约翰森等在《细胞和比较生理学杂志》上报道，他们分离纯化了水母中发光蛋白水母素。据说下村修用水母提取发光蛋白时，有天下班要回家了，他把产物倒进水池里，临出门前关灯后，回头看一眼水池，结果见水池闪闪发光。因为养鱼缸的水也流到同一水池，他怀疑是鱼缸排出的成分影响水母素，不久他就确定钙离子增强水母素发光。1963年，他们在《科学》杂志报道钙和水母素发光的关系。1967年Ridgway和Ashley提出检测钙的新方法：用水母素。钙离子是生物体内的重要信号分子，水母素成为第一个有空间分辨能力的钙检测方法，是目前仍用的方法之一。&lt;br /&gt;1955年Davenport和Nicol发现水母可以发绿光，但不知其因。1962年下村修和约翰森那篇纯化水母素的文章中，有个注脚，说还发现了另一种蛋白，它在阳光下呈绿色、钨丝下呈黄色、紫外光下发强烈绿色。其后他们仔细研究了其发光特性。1974年，他们得到了这个蛋白，当时称绿色蛋白、以后称绿色荧光蛋白（GFP）。Morin和Hastings提出水母素和GFP之间可以发生能量转移。水母素在钙刺激下发光，其能量可转移到GFP，刺激GFP发光。这是物理化学中已知的荧光共振能量转移(FRET)在生物中的发现。&lt;br /&gt;下村修本人对GFP的应用前景不敏感，也未意识到应用的重要性。他离开普林斯顿到Woods Hole海洋研究所后，他的同事普瑞舍(Douglas Prasher)非常感兴趣用荧光蛋白做生物示踪分子。1985年普瑞舍和日裔科学家Satoshi Inouye分别根据蛋白质序列拿到了水母素的基因（生物学上准确地说是cDNA）。1992年，普瑞舍又拿到GFP的基因。有了cDNA，一般生物学研究者就很容易应用，比用蛋白质方便多了。&lt;br /&gt;普瑞舍1992年发表GFP基因的文章后，离开科学界。原因是他申请美国国家科学基金时，评审者说没有蛋白质发光的先例，就是他找到了这种蛋白，也没什么价值。一气之下，他离开学术界去麻省空军国民卫队基地，到农业部动植物服务部工作。当时他如果花几美元，就可以做一个一般研究生都能做，但非常漂亮的工作：将来自水母的GFP基因放到其他生物体内（如细菌），看到荧光，可以很强烈地提示GFP本身可以发光，无需其他底物、或者辅助分子，也表明可以广泛用GFP。&lt;br /&gt;将GFP表达到其他生物体这项工作，1994年由两个实验室独立进行：美国哥伦比亚大学做线虫的Marty Chalfie实验室，和加州大学圣迭哥分校、Scripps海洋研究所的两位日裔科学家Inouye和Tsuji。&lt;br /&gt;水母素和GFP都有重要的应用。但水母素仍是荧光酶的一种，它需荧光素。而GFP是蛋白质本身发光，原理上不同。&lt;br /&gt;Chalfie的文章立即引起轰动，很多生物学研究者接着纷纷将GFP引入自己的系统。当时好些《自然》、《科学》文章，证明那里表达GFP，那里就有绿光，这些后续文章不过是跟风，上了《自然》也不证明有原创性。&lt;br /&gt;1994年，华裔美国科学家钱永健（Roger Y Tsien）开始改造GFP，有多项发现。世界上目前使用的荧光蛋白大多是钱永健实验室改造后的变种，有的荧光更强，有的呈黄色、蓝色，有的可激活、可变色。用一些不常用做研究样本的生物找有颜色的蛋白成为一些人的爱好。不过真发现的有用东西并不很多。成功的例子有俄国科学院生物有机化学研究所Sergey A. Lukyanov实验室从珊瑚里发现的其他荧光蛋白（FP），包括红色荧光蛋白。&lt;br /&gt;综观整个过程，从1961年到1974年，下村修和约翰森的研究遥遥领先，但很少人注意。单纯从技术上，其他生化学家也可以得到水母素和GFP，但需要有想法或兴趣。在1974年以后，特别是八十年代后，很多后续工作显而易见，一般研究生可以做。其中例外是钱永健实验室发现变种出现新颜色，这一发现出乎意料。&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;GFP之美丽和妙用&lt;br /&gt;GFP及其衍生物（各种荧光蛋白），绚丽多彩，非常漂亮。&lt;br /&gt;有些荧光蛋白当浓度足够高时，在日光下可以看到颜色。所以实验室产生了人为可控制颜色的鱼、老鼠。&lt;br /&gt;荧光蛋白广泛应用于生物学研究。可以通过常规的基因操纵手段，将荧光蛋白用来标记其他目标蛋白，这样可以观察、跟踪目标蛋白的时间、空间变化。提供了以前不能达到的时间和空间分辨率，而且可以在活细胞、甚至活体动物中观察到一些分子。荧光蛋白技术也使得人们可以研究某些分子的活性，而不仅仅是其存在与否。&lt;br /&gt;对于有些研究来说，荧光蛋白的作用可以形容为“起死回生”：原来有些方法，需要把生物变成死物才能研究一些现象和过程，而荧光蛋白为主要支柱之一的现代成像技术，使科学家在活的细胞中观察和研究这些过程，使一部分“死物学”变成“生物学”。&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;为了好奇&lt;br /&gt;下村修1928年生于京都，长于长崎。1945年他16岁时，原子弹在他故乡爆炸，他曾失明数周。1951年，他毕业于长崎医科大学药学专门部，1960年获名古屋大学有机化学博士。1960年他到美国普林斯顿大学约翰森实验室做博士后，63年至65年回日本名古屋大学任副教授，65年回普林斯顿继续在约翰森实验室，直到1980年。估计是约翰森退休后下村修不能待在普林斯顿了，所以1980至2001年他到麻省Woods Hole海洋生物学研究所工作、并有波士顿大学兼职教授之软差。&lt;br /&gt;下村修1961年33岁做出重要发现（1962年发表），到1974年46岁时，全部关键实验完成。但到80岁的今年，他几乎是默默无闻。他多年没有实验室，在约翰森实验室做了近20年博士后，不是为了功。他也没有当选美国科学院院士，不是为了名。GFP后来带来了相当的收益，但下村修没得，也不是为了利。&lt;br /&gt;下村修加入生物发光研究是1955年在日本做研究生时，导师让他到另外一个实验室去开阔眼界，而那个实验室的导师介绍他做荧光素。1959年导师逝于癌症，1960年他到约翰森实验室。约翰森给他看水母发光，要他做，可是第一次演示根本没有发光。但下村修被约翰森感染了，决定做这个课题。1961年约翰森开了七天的车、每天12小时，带下村修横跨美国到西海岸华盛顿州的“星期五港”（Friday Harbor）实验室，那里当时盛产水母，有很多原料，他们在1961年夏做出主要发现。&lt;br /&gt;下村修开始做研究时不知其重要性，只是对生物发光好奇。发光的生物学意义，至今尚不清楚；而发光蛋白应用的重要性，下村修不仅当时不知道，而且以后相当时间不清楚。水母素应用于检测钙，是1967年由Ridgway和Ashley提出。最初下村修和约翰森只为提取水母素，而GFP是副产物。现在，这个副产物的用途比原来的正产物还大。GFP作为示踪蛋白是普瑞舍极力鼓吹。广泛应用在1994年以后。从1974年获得GFP到1994年，下村修并未大力推动GFP的应用。&lt;br /&gt;下村修乐于做这项工作，只需很基本的条件。2001年退休后，他继续做研究，把家里的地下室作为“光蛋白实验室”，今年80岁的他，还用家庭地址发表文章。&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;科学界并不公平&lt;br /&gt;下村修有非常重要的科学贡献。但是科学界多半不知道他，只知道后续工作，社会的认可就更少。&lt;br /&gt;在普林斯顿，他二十年没有独立实验室，在别人领导下工作。到Woods Hole后，是很小的几人小组。他80岁了，也没有当选哪里的院士。最近几年开始获些不知名的奖。非常热衷于国民获诺贝尔奖的日本，到近年才有少数专家知道下村修。&lt;br /&gt;下村修和遗传学家Barbara McClintock不同。她在81岁因为发现转座子获诺贝尔奖。但慢的主要原因是学术，而对她个人很早就认可（因为在遗传学的多个贡献，1944年她42岁时当选美国科学院院士，是最年轻的院士之一；43岁当选美国遗传学会主席）。1950年代，她提出转座是调控基因表达的重要机理，但转座调控基因并不是普遍规律。她在植物中发现转座现象，不是争议焦点，一旦大家意识到转座是普遍现象（包括动物）后，就接受了其重要性。而下村修的成果人们用了很多年，没有争议，只是大多数人不知道他的个人贡献。&lt;br /&gt;下村修虽然做了非常原创性的工作，很多人用他发现的GFP，有些生物学杂志每期都有文章用GFP，有些生物杂志每期20%的文章用了GFP，但绝大多数人并不知道发现者是下村修。下村修和约翰森1962年发现水母素的文章迄今被377次引用，1974年纯化GFP的文章被引用169次，Chalfie等1994年《科学》文章被引用3349次，Inouye 和Tsuji的1994年文章被引用256次。说明大多数科学工作者并不知道所用的东西怎么来的。所以，简单重视引用率也不能代替对领域的真正了解。&lt;br /&gt;不仅下村修没有被广泛认可，其他一些人也遭忽略。1990年，他的合作者约翰森82岁去世时，《纽约时报》的悼文没有提GFP。普瑞舍拿到GFP基因但缺经费。Chalfie文章引用率高但专利搞砸了没多少收益。&lt;br /&gt;我2002年写的值得获诺贝尔奖名单中，有普瑞舍和钱永健，无下村修。近年我才给学生讲下村修的工作。本文也算是一个更正。&lt;br /&gt;这个领域，最重要的工作显然是下村修和约翰森做的。钱永健在两个方面做出了重要的贡献，如果钱与下村修合得奖也很合理。第三重要的是普瑞舍。他承前启后，有助于推广应用下村修的发现。&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;钱永健的贡献&lt;br /&gt;钱永健是取得重要成就的科学家。他在成像技术中，有两项重要工作都与下村修有一定关系。&lt;br /&gt;一项是钙染料。1980年钱永健发明检测钙离子浓度的染料分子，1981年改进将染料引入细胞的方法，以后发明更多、更好的染料，被广泛应用。检测钙的方法有三种：选择性电极、水母素、钙染料。在钱永健的钙染料没有出现以前，具有空间检测能力的只有水母素，但当时水母素需要注射到细胞内，应用不方便，而钱永健的染料可以通透到细胞里面去。水母素和钙染料各有优缺点，目前用染料的人多。钱永健还发明了多种染料用于研究其他分子。&lt;br /&gt;钱永健的第二项工作是GFP。1994年起，钱永健开始研究GFP，改进GFP的发光强度，发光颜色（发明变种，多种不同颜色），发明更多应用方法，阐明发光原理。世界上应用的FP，多半是他发明的变种。他的专利有很多人用，有公司销售。&lt;br /&gt;钱永健的工作，从八十年代一开始就引人瞩目。他可能是世界上被邀请给学术报告最多的科学家，因为化学和生物界都爱听他的报告，既有技术应用、也有一些很有趣的现象。他1952年出生，年龄允许他等些年（而下村修没有这个优势）。所以，很多人多年认为钱永健会得诺贝尔奖，可以是化学、也可以是生理奖。值得指出，钱永健非常肯定下村修的工作，钱较早公开介绍下村修的发现。&lt;br /&gt;钱永健是钱学森的堂侄。他家多科学家和工程师。他中学时获得过西屋天才奖第一名，大学在哈佛念化学和物理，20岁毕业，后获英国剑桥大学生理学博士。他哥哥钱永佑（Richard W Tsien）是神经生物学家，曾任Stanford大学生理系主任。两兄弟分别获Rhodes和Marshall学者奖（通常认为是美国大学生竞争性最强的两个奖学金，克林顿总统曾获Rhodes），到英国留学，九十年代双双成为美国科学院院士。钱学森回国后，国内教育体系在他的子女应该上大学时受到极大破坏，使钱的子女钱永刚、钱永真没有得到他们堂兄弟那样的发展环境。钱永刚出生于1948年，文革后才念大学。但愿钱永健在钱学森先生在世的时候获奖，告慰他们全家。&lt;br /&gt;我在华盛顿大学有位同事，在神经生物学和现代成像都用重要发现和发明，他要求很高，批判性很强，公开发表文章批热门的领域、批很多人研究不解决问题。他也看不起一些诺贝尔奖得主。有一年刚宣布得奖名单，我到他办公室去聊天，他没等我开口，就说：“今天是不幸的一天”。他认为那些人没一个值得得奖。这位批判性很强的人，却非常佩服钱永健。&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;科学界还会有下村修吗？&lt;br /&gt;这个问题可以分几个方面讨论。&lt;br /&gt;当然可以问是否现代科学工作者，比较功利，能否象他那样抱着一个不知道重要性的东西，不追求资源、不追求认可，持之以恒，自得其乐。&lt;br /&gt;然后也可以问，如果碰到这样的人，谁会支持他？下村修和钱永健相差很大。钱永健是人们很快就知道有聪明资质的天才，支持他的人很多，他的工作出来马上为人所知。下村修基本是反例。没人认为他是天才，他不知道自己工作的重要性，别人也不容易在早期判断他的工作。普林斯顿就没有重视他，否则不会在约翰森退休后，让他走。实际上，当时的校长不仅不重视他，也不重视生物，当时一批普林斯顿的生物教授因此跑到旧金山加州大学。斯坦福和哈佛很会靠自己的名声和经费实力招已经做出了可以得奖工作的人，但没有发现下村修。&lt;br /&gt;只有少数人会欣赏下村修，支持他做些事。如果要委员会投票表决是否支持他，大概多数委员会难以让他过关。但在科学界，需要有些人、有些机构、有些时候敢于承担风险，支持少数下村修这样的科学家，做些开始看来稀奇古怪、不着边际的工作。成本其实相当低，主要是支持者不怕其他人的批评。其中多数这种人最后没什么结果，但是只要很少一些支持对了，对科学界的作用可以很大。&lt;br /&gt;对于学生来说，赶热门比较容易，但如果注意力不被大流所驱赶，而在如1970年GFP研究状态时加入这种领域，其实是很安全的重要课题，那时已经知道有绿色蛋白，主要是提纯。当然，能做1961年的工作更好，不过那要求就高很多。&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;下村的故事完了吗？&lt;br /&gt;这个问题有两个含义。一是下村修。二是他儿子下村务。&lt;br /&gt;年逾80的下村修，无疑应该获诺贝尔奖。但是他是否能得到，却有较大疑问。首先诺贝尔奖委员会出错频率不低，近年也出过好几次。其次，诺贝尔化学奖委员会有时横炮打到生物里，或没搞懂全貌、或只从化学出发，把奖发给一个领域的某个人，而忽略了领域里其他人，甚至更重要的人。一类工作被奖后，其他奖的委员会一般不愿再给同类工作发奖，这样造成一个领域最重要的人没得奖，而其他人得奖。这种现象，在下村修身上发生的可能性不小。过去十年，发过好几个与GFP相关的奖，都没有下村修。只有很少几个不出名的奖近年给下村修。他是否能得诺贝尔奖，反映的不是他的水平，而是诺贝尔奖委员会的水平。化学和生理两个委员会，是否能比平时水平高一点，还得拭目以待。目前化学奖委员会打错横炮的机率并不是0。过去5年，化学奖委员会发生物相关的奖出过三次错（近十年生理奖也出过错，不过没有化学奖频率高）。人的评判无绝对客观，诺贝尔奖委员会也不例外。&lt;br /&gt;下村修既无名也无利。他儿子下村務（Tsutomu Shimomura）却很年青就成了名人。下村務是下村修1964年回日本期间出生于名古屋。后随父母回美国，长于普林斯顿，上普林斯顿高中。在加州理工学院念大学时，跟过诺贝尔物理奖获得者费曼（Richard Feynman）。曾任职于加州大学圣迭戈分校的物理系和圣迭戈超级计算中心。&lt;br /&gt;下村務90年代协助联邦调查局抓住了一个有名的黑客，让那人坐了牢。1995年，他和记者以此为基础合写一本书Takedown（中文“骇客追缉令”），书被改编成电影，很出名。有传说他小时候有逆反心理，后来也可能是黑客，在国会作证时，有联邦调查局探员在身旁，他也黑国会的通讯系统。&lt;br /&gt;所以，下村家的故事怎么落幕，还不清楚。&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;“研三病”：对科学的幻灭和对科学家的悲观失望&lt;br /&gt;以前，一些崇拜科学的人，常把科学家看得比实际更伟大。而得了诺贝尔奖的科学家，也有隐去实情，在得奖后大谈对科学的热爱, 刻意淡化自己对获奖的重视。&lt;br /&gt;现在，做科学研究的人很多，认识科学工作者的人更多。人们发现科学界很多人并不崇高。原来一些得奖的人不仅热衷于获得认可，而且为了得奖去做很多学术政治，有的不断和评选委员会拉关系，有的到评奖机构蹲点“合作研究”，有的贬低其他人工作。还有些科学工作者做研究纯粹为了利益，对学术不感兴趣，甚至造假。诸如此类，不一而足。&lt;br /&gt;这样导致了我称之为的“研三病”：也就是一些水平相当于研究生三年级的人，对科学研究和科学家群体非常悲观，自认为看破科学界的红尘，愤世嫉俗，走向反面，认定为好奇而做科学的人早已灭绝，断言已经没有纯粹为科学而科学的科学家。&lt;br /&gt;有些科学工作者一辈子都摆脱不了这种病，看不到科学的美，看不到科学家追求美的品味和探索真理的高尚，这不仅影响他们自己的科学研究、动力、动机，而且描黑整个科学界，甚至成为科学界的不良分子。&lt;br /&gt;我近年在一些学校和研究机构讲“科学研究的动力”，总结有三种：好奇、敬业和求胜。为了免疫青年学子，不犯“研三病”、或者较早缓解，我既说明确实很多科学家做科学的动力比较通俗，但也有科学家是好奇驱动。我希望通过下村修的故事，有助于犯“研三病”者明了每十年中生命科学都有几项非常重要的、大家公认的发现和发明，从忧郁症中觉悟过来，潜心寻求好的研究方向，自强不息。&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;相关文献&lt;br /&gt;Shimomura O, Johnson FH, Saiga Y (1962). Extraction, purification and properties of aequorin, a bioluminescent protein from the luminous hydromedusan, Aequorea. J. Cell. Comp. Physiol.59:223-239.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Shimomura O, Johnson FH, Saiga Y. (1963). Microdetermination of calcium by aequorin luminescence. Science 140:1339-1340.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Morise H, Shimomura O, Johnson FH, Winant J. (1974). Intermolecular energy transfer in the bioluminescent system of Aequorea. Biochemistry 13:2656– 62.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Prasher D, McCann RO, Cormier MJ (1985). Cloning and expression of the cDNA coding for aequorin, a bioluminescent calcium-activated protein. Biochem. Biophys. Res. Commun. 126:1259–1268.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Inouye, S., Noguchi, M., Sakaki, Y., Takagi, Y., Miyata, T., Iwanaga, S., Miyata, T. &amp;amp; Tsuji, F.I. (1985) Cloning and sequence analysis of cDNA for the luminescent protein aequorin. Proc. Natl Acad. Sci. U.S.A. 82, 3154–3158.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Prasher DC, Eckenrode VK, Ward WW, Prendergast FG, Cormier MJ. (1992). Primary structure of the Aequorea victoria green-fluorescent protein. Gene 111:229-33.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Chalfie M, Tu Y, Euskirchen G, Ward WW, Prasher DC. (1994). Green fluorescent protein as a marker for gene expression. Science 263:802-805.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Inouye S, Tsuji FI. (1994). Aequorea green fluorescent protein. Expression of the gene and fluorescence characteristics of the recombinant protein FEBS Lett. 341: 277– 80.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Heim R, Prasher DC, Tsien RY. (1994). Wavelength mutations and posttranslational autoxidation of green fluorescent protein. Proc Natl Acad Sci USA 91:12501-12504.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Matz, M.V., Fradkov, A.F., Labas, Y.A., Savitsky, A.P., Zaraisky, A.G., Markelov, M.L. &amp;amp; Lukyanov, S.A. (1999) Fluorescent proteins from nonbioluminescent anthozoa species. Nature Biotechnol. 17:969–973.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Tsien RY (1980). New calcium indicators and buffers with high selectivity against magnesium and protons: design, synthesis, and properties of prototype structures. Biochemistry 19:2396-2404.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Tsien, R.Y. (1981). A non-disruptive technique for loading calcium buffers and indicators into cells. Nature 290:527–528.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Brooks S (2005). The discovery of aequorin and green fluorescent protein. J. Microscopy 217:1-2.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Shimomura O (2005). The discovery of aequorin and green fluorescent protein. J. Microscopy 217:3-15.&lt;/p&gt;&lt;p style="margin-top: 0.6em; margin-right: 0px; margin-bottom: 1.2em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;2008年10月4日写&lt;br /&gt;2008年10月5日《科学网》&lt;br /&gt;2008年10月6日《科学时报》发表&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-1544362732352679837?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/1544362732352679837/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=1544362732352679837' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1544362732352679837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1544362732352679837'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/10/blog-post.html' title='转载:美妙的生物荧光分子与好奇的生物化学家'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-8685342449929851447</id><published>2008-09-21T21:57:00.004+08:00</published><updated>2008-09-21T22:04:32.193+08:00</updated><title type='text'>mm语出惊人</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xkhjUqfDikI/SNZUDnT1YCI/AAAAAAAAASw/Z80ok1wzQ3I/s1600-h/gang.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_xkhjUqfDikI/SNZUDnT1YCI/AAAAAAAAASw/Z80ok1wzQ3I/s400/gang.png" alt="" id="BLOGGER_PHOTO_ID_5248474836815405090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;mm最近的口头禅是：拿屎缸酱上！例如“再反抗就拿屎缸把你酱上！”，“拿屎缸把他酱上算了”，“把你剁了搁屎缸里酱上!” ......&lt;br /&gt;&lt;br /&gt;附图为一缸，最好不要仔细地形象地想这一幕，听听算了 -_-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-8685342449929851447?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/8685342449929851447/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=8685342449929851447' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8685342449929851447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8685342449929851447'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/mm_21.html' title='mm语出惊人'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xkhjUqfDikI/SNZUDnT1YCI/AAAAAAAAASw/Z80ok1wzQ3I/s72-c/gang.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-2448718334557654491</id><published>2008-09-21T16:29:00.003+08:00</published><updated>2008-09-21T16:31:48.638+08:00</updated><title type='text'>一个不错的API参考页面</title><content type='html'>在&lt;a href="http://slashdot.org"&gt;slashdot&lt;/a&gt;上看到的，&lt;a href="http://www.gotapi.com"&gt;http://www.gotapi.com&lt;/a&gt; 看起来还真是方便，查了一些常用api感觉也不错。支持html, javascript, php, mysql, c/c++/stl, java等等一大脱拉库。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-2448718334557654491?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/2448718334557654491/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=2448718334557654491' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2448718334557654491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2448718334557654491'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/api.html' title='一个不错的API参考页面'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-7211255804922775936</id><published>2008-09-15T09:23:00.004+08:00</published><updated>2008-09-15T22:30:28.114+08:00</updated><title type='text'>梦幻的北京南站，梦幻的北京交通</title><content type='html'>这是前几周的事情了。某个周末，我和mm受到媒体对京津高铁铺天盖地的宣传，想搭此牛车到天津去看看朋友，吃吃海鲜，梦幻的交通故事就从那个周末的早晨开始。&lt;br /&gt;&lt;br /&gt;早晨九点，我们开始向天津出发，先是乘13号线到西直门，再乘环线到前门，除去西直门站如超级玛丽第二关一样的换乘外，其他还算顺利。出了前门地铁站打算找之前网上查好的公交，结果发现方圆一平方公里内散落着无数的“前门”站，想找到某路车的“前门”站是需要相当的运气的。可惜那天运气不佳，我们到底没找到事先找好的车，倒是看到另外一路到“北京南站”，大善，上车走人。此车到了“北京南站”，我们下车一看，大马路边上一个公交站牌孤零零地写着“北京南站”，周围没有任何火车站的迹象... 找到一个大妈问了问路，大妈很热情，说：“南站，啊，过前面的铁桥，到路对面向回走半公里，然后坐xx路公交再坐4站地就到了!” 我X，整个被公交晃点了，走那么远不现实，只好打车到南站。&lt;br /&gt;&lt;br /&gt;北京南站像是外星建筑，壮观宏伟那是没得说，进入站内更是机场一般，气派非凡。想这咱就上车走人吧？别介，还得买票呢 :) 到售票处一看，傻眼了，长队和非快线火车站有过之而无不及...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xkhjUqfDikI/SM5um0i59GI/AAAAAAAAARg/TPJY1xzcPwc/s1600-h/RIMG0003.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_xkhjUqfDikI/SM5um0i59GI/AAAAAAAAARg/TPJY1xzcPwc/s400/RIMG0003.JPG" alt="" id="BLOGGER_PHOTO_ID_5246252229152339042" border="0" /&gt;&lt;/a&gt;不过新闻和网上时刻表都说了，京津高铁30分钟一班，排队买票就是了。刚排上的时候听到广播里面叽叽咕咕地说了一堆通知，如大妈报站，也听不太清楚。等快排到一半，才听出门道，原来是高铁车票下午三点半之前的已经统统没有，各位去天津的请另谋出路...我再X，被铁路部门晃点了...&lt;br /&gt;&lt;br /&gt;这没办法，只好放弃了去天津的想法。这时已近中午，看到边上有一个麦当劳，吃点东西填填肚子吧。走近一看，此麦当劳乃空壳一个，还未装修，又被晃点...&lt;br /&gt;&lt;br /&gt;三十六计走为上，我们只好出门准备打车走，结果被保安告知门口不能打车，必须下到地下二层打车专用通道，我又X... 到了地下二层，看到了壮观的排队景象:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xkhjUqfDikI/SM5wdvrWYcI/AAAAAAAAARo/mk3bekZKGpc/s1600-h/RIMG0010-small.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_xkhjUqfDikI/SM5wdvrWYcI/AAAAAAAAARo/mk3bekZKGpc/s400/RIMG0010-small.JPG" alt="" id="BLOGGER_PHOTO_ID_5246254272250012098" border="0" /&gt;&lt;/a&gt;排队过程中聊天，好几个人都是没坐上车要走的。我们被北京交通雷到了，打了辆车飞也似的逃回了老窝，白白浪费了半天多的时间。&lt;br /&gt;&lt;br /&gt;不知道京津x分钟经济圈的圈民都是怎么搞定的，难不成都有专车接送上级送票？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-7211255804922775936?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/7211255804922775936/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=7211255804922775936' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/7211255804922775936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/7211255804922775936'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/blog-post_15.html' title='梦幻的北京南站，梦幻的北京交通'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xkhjUqfDikI/SM5um0i59GI/AAAAAAAAARg/TPJY1xzcPwc/s72-c/RIMG0003.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-6545129666103602703</id><published>2008-09-11T20:21:00.004+08:00</published><updated>2008-09-11T21:19:45.325+08:00</updated><title type='text'>迷信还是科学？</title><content type='html'>小时候，老师告诉我们，迷信是不好的，科学是好的。&lt;br /&gt;&lt;br /&gt;大了一点，发现迷信确实是不好的，看有的人把本来毫无关系的事情用牵强或是巧合的原因联系起来，并深信不疑，觉得完全不可理喻。尤其是那句“宁可信其有，不可信其无”，更觉得是屁话。&lt;br /&gt;&lt;br /&gt;不过最近&lt;a href="http://www.newscientist.com/channel/being-human/dn14694-superstitions-evolved-to-help-us-survive.html"&gt;有人指出&lt;/a&gt;&lt;span style="font-size:78%;"&gt;(链接网页是英文)&lt;/span&gt;，迷信从某种程度上说是帮助人类生存的。道理也很简单，用他的例子，假设狮子来了会造成草丛刷刷响，而某个原始人错误但固执地认为刷刷响的草会带来厄运(因为草响后同伴不见了...)，从此只要草响就躲起来，哪怕是风吹的，这样虽然看起来可笑，但是他可能会因此逃过一些连他也没意识到的灾难，比如被狮子吃了。&lt;br /&gt;&lt;br /&gt;引起我最大感慨的是德国进化生物学家&lt;a href="http://www.orn.mpg.de/mitarbeiter/forstm.html"&gt;Wolfgang Forstmeier&lt;/a&gt;对此的评论：“&lt;span style="font-style: italic;"&gt;原因和结果之间的联系往往是错误的---科学不过是专制的迷信&lt;/span&gt;”，这个说的真是太精彩了。科学家也是迷信者，只不过他们比较谨慎，更确切的说，&lt;span style="color: rgb(204, 0, 0);"&gt;是在自己所熟悉的狭小领域里面非常谨慎&lt;/span&gt;，离开自己的领域，再自称客观科学的人，也会陷入迷信的圈子，&lt;span style="color: rgb(204, 0, 0);"&gt;甚至由于他们太过自信而迷信的更执着更愚蠢&lt;/span&gt;。&lt;br /&gt;&lt;br /&gt;再扯一个例子，忘了在哪里看到的了。故事说的是一个女化学家去超市买东西，在买厨房清洗剂的时候，她对于那些花哨的名牌清洗剂视而不见，直接拿了最便宜最大桶的，因为她心里比谁都清楚其中起作用的不过是表面活性剂而已，所有的品牌没什么区别。当她买完清洗剂去挑猫粮的时候，却在货架中转了几圈后，还是买了一个名牌的较贵的，因为她这时只能靠价格来保持自己的信心了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-6545129666103602703?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/6545129666103602703/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=6545129666103602703' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6545129666103602703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6545129666103602703'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/blog-post_11.html' title='迷信还是科学？'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-4719741063854034183</id><published>2008-09-10T21:23:00.004+08:00</published><updated>2008-09-10T21:40:07.757+08:00</updated><title type='text'>分布式LDA, Latent Dirichlet Allocation for Hadoop</title><content type='html'>这几天偷闲，写了一个基于&lt;a href="http://hadoop.apache.org"&gt;hadoop&lt;/a&gt;分布式计算环境和MapReduce的&lt;a href="http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation"&gt;LDA&lt;/a&gt;训练程序，测试基本通过，不过有些地方效率还不好，得仔细调调。&lt;br /&gt;&lt;br /&gt;不写不知道，自己写一下，对LDA的体会就多了一些。比如说Dirichlet先验这个事情，反映到训练过程上，就是给隐含主题和词的同现计数加上一个简单的&lt;a href="http://en.wikipedia.org/wiki/Laplacian_smoothing"&gt;Laplacian平滑&lt;/a&gt;(Laplacian平滑就是把所有值都加上一个比较小的数字然后再重新归一化)。而Gibbs Sampling有一个问题，就是每次采样都需要更新全局信息，基本没有机会做真正意义上的并行化，只能做一个Gibbs Sampling的近似。&lt;br /&gt;&lt;br /&gt;利用MapReduce进行并行化也有一点问题，MapReduce本身的开销比较大，如果数据量不大到一定的程度，利用MapReduce是不是真得能提高速度还是个未知数。我想再写一个非MapReduce但是支持超过内存大小的Documents的版本，没准在多数情况下都比MapReduce的快。&lt;br /&gt;&lt;br /&gt;必须声明的是，思考这个事情的过程中得到了LDA并行化大牛&lt;a href="http://cxwangyi.spaces.live.com/"&gt;益哥&lt;/a&gt;的指导，我只是大实验一般实践一下。非MapReduce版本的LDA如果好用，可能会开源一下，等出来再说吧，哈哈。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-4719741063854034183?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/4719741063854034183/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=4719741063854034183' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4719741063854034183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/4719741063854034183'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/lda.html' title='分布式LDA, Latent Dirichlet Allocation for Hadoop'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-3858466712828373845</id><published>2008-09-10T16:34:00.003+08:00</published><updated>2008-09-22T15:22:05.298+08:00</updated><title type='text'>我真是一个囧</title><content type='html'>昨天晚上请&lt;a href="http://redgreen1983.spaces.live.com/"&gt;红绿&lt;/a&gt;总吃饭，大家聊的很开心，吃到最后结账，才发现五道口香猪坊竟然不能刷卡，我囧... 手里现金不足，最后还和红绿借了点钱，请客请到这个份上，也算是极品了吧。&lt;br /&gt;&lt;br /&gt;ps: 试着点文章里面的链接了么？红绿的blog竟然是spaces friends only的，真是太棒了。&lt;br /&gt;&lt;br /&gt;update: 钱已经还了，哈哈&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-3858466712828373845?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/3858466712828373845/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=3858466712828373845' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3858466712828373845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3858466712828373845'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/blog-post_10.html' title='我真是一个囧'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-709946073503989388</id><published>2008-09-06T18:19:00.004+08:00</published><updated>2008-09-06T18:24:16.671+08:00</updated><title type='text'>400图强帖：一个东北人镜头下真实的山东半岛</title><content type='html'>去年在威海的自行车游记竟然被人转帖到论坛上，起了个名字叫“400图强帖：一个东北人镜头下真实的山东半岛” [&lt;a href="http://bbs.wosee.cn/frame.php?frameon=yes&amp;amp;referer=http%3A//bbs.wosee.cn/viewthread.php%3Ftid%3D4882"&gt;原地址&lt;/a&gt;]，我汗。这位转帖的也太猛了，每个图发一个新帖，真是有专业精神，比我当时写的都累。&lt;br /&gt;&lt;br /&gt;还是我来加个到&lt;a href="http://nlp.csai.tsinghua.edu.cn/%7Esxc/weihai"&gt;“官方”游记&lt;/a&gt;的链接吧，放到右侧的连连看里面。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-709946073503989388?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/709946073503989388/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=709946073503989388' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/709946073503989388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/709946073503989388'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/400.html' title='400图强帖：一个东北人镜头下真实的山东半岛'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-5339634922205272008</id><published>2008-09-06T08:12:00.002+08:00</published><updated>2008-09-06T08:22:48.541+08:00</updated><title type='text'>法律体系与机器学习</title><content type='html'>这是和mm闲扯的时候扯出来的。法律体系大概分为两种，一种叫大陆法系，另外一种叫英美法系。大陆法系重在立规矩，有一个复杂的法典试图覆盖所有情况。如果有人犯事了，就查查法典，看犯了哪一条，依照规定处理。如果找不到一条法律管这个事情，例如安乐死，就下次开会时候补一条。一般欧洲大陆都是这样，例如德国。&lt;br /&gt;&lt;br /&gt;英美法系思路相反，不是依照规则而是依照事例。有人犯事了，先找找之前有没有类似的案子，原来怎么判现在就怎么判。如果没有呢？就按照陪审团商量的结果办，办完了以后以此为准。顾名思义，英国和美国及其殖民地一般都用这个。&lt;br /&gt;&lt;br /&gt;这和机器学习真是有点像，基于规则的和基于样本的，基于模型的和基于统计的，生成式的和判别式的，哈哈。看来这点思路早就应用到社会中了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-5339634922205272008?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/5339634922205272008/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=5339634922205272008' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5339634922205272008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/5339634922205272008'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/blog-post_4660.html' title='法律体系与机器学习'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-6622582123572756362</id><published>2008-09-06T08:06:00.003+08:00</published><updated>2008-09-06T08:23:40.878+08:00</updated><title type='text'>昨天晚上竟然遇到了狗蛋</title><content type='html'>本来是和mm去某新落成的商场兼饭场吃饭，结果在一个饭店门口看到一有为青年，酷似&lt;a href="http://hi.baidu.com/stone9"&gt;狗蛋&lt;/a&gt;，但是联想到狗蛋还在香港读书，又不敢确认，直到狗蛋本人说xxx你都不认识我了吧才确认无疑。&lt;br /&gt;&lt;br /&gt;这小子现在不念了闪回来参加gun和bad的&lt;a href="http://www.papayamobile.com/"&gt;创业公司&lt;/a&gt;，真是非常有前途。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-6622582123572756362?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/6622582123572756362/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=6622582123572756362' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6622582123572756362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6622582123572756362'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/blog-post_06.html' title='昨天晚上竟然遇到了狗蛋'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-7495196256653705110</id><published>2008-09-05T10:17:00.002+08:00</published><updated>2008-09-05T10:26:48.283+08:00</updated><title type='text'>Firefox小技巧，快速进入常用网站</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xkhjUqfDikI/SMCY4MKbsKI/AAAAAAAAARY/uaE6FTQp204/s1600-h/screenshot.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_xkhjUqfDikI/SMCY4MKbsKI/AAAAAAAAARY/uaE6FTQp204/s400/screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5242358057364336802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;正在浏览网页，需要看看Gmail，怎么办？按Ctrl+T 输入m回车，完成！如果想在当前页中打开blogger，就Ctrl+L 输入b回车，完成！双手不用离开键盘去摸鼠标，几个字母进入对应网站，这是怎么做到的呢？&lt;br /&gt;&lt;br /&gt;秘密在firefox的书签里。以Gmail为例，我先打开书签管理器添加一个书签，然后在关键词（Keywords）一栏里面输入一个m，保存走人。当在地址栏里面输入一串字母的话，它首先看看是不是和某个书签的关键词匹配，如果匹配就直接打开那个书签。当然不一定是一个字母，bib阿dict阿之类的都行。如果你是重度网络应用使用者，这是一个很爽的小技巧，不需要任何插件哦～&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-7495196256653705110?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/7495196256653705110/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=7495196256653705110' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/7495196256653705110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/7495196256653705110'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/firefox.html' title='Firefox小技巧，快速进入常用网站'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xkhjUqfDikI/SMCY4MKbsKI/AAAAAAAAARY/uaE6FTQp204/s72-c/screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-1658546866537609519</id><published>2008-09-04T12:41:00.005+08:00</published><updated>2008-09-04T16:50:03.527+08:00</updated><title type='text'>笔记本触摸板 Touch Pad.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.8080.net/pics/20066/6161508040.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://www.8080.net/pics/20066/6161508040.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;用了一段时间的&lt;a href="http://theneospace.blogspot.com/2008/09/marble-mouse.html"&gt;罗技轨迹球&lt;/a&gt;，发现如果能两手操作鼠标，一手负责移动一手负责点击，效率会高很多。笔记本的触摸板也是，原来我都是单手用触摸板，食指移动拇指点击，感觉和鼠标的效率没法比。现在用右手食指负责移动，左手专门负责点击，效率大为提升，基本上超过了鼠标。这样用触摸板还避免了鼠标移动距离过长要拿起来的缺点。&lt;br /&gt;&lt;br /&gt;不过话说回来，可能大家都是这么用的，就我独自土鳖了很久，惭愧.... 你是怎么用的？不如留言交流一下？&lt;br /&gt;&lt;br /&gt;注：图片是网上搜的，不是我&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-1658546866537609519?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/1658546866537609519/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=1658546866537609519' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1658546866537609519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1658546866537609519'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/touch-pad.html' title='笔记本触摸板 Touch Pad.'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-9153549122360672138</id><published>2008-09-03T17:50:00.001+08:00</published><updated>2008-09-03T17:51:51.205+08:00</updated><title type='text'>Google Chrome浏览器，新一代操作系统？</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xkhjUqfDikI/SL4IEnzyiuI/AAAAAAAAAQo/d9D8fdieIes/s400/dlpage_lg.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://1.bp.blogspot.com/_xkhjUqfDikI/SL4IEnzyiuI/AAAAAAAAAQo/d9D8fdieIes/s400/dlpage_lg.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   line-height: 16px; font-family:Verdana;font-size:13px;"&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Google发布了Chrome浏览器 (http://www.google.com/chrome)，在自己的业务链上又补上了一环。Chrome的特色主要是简洁设计、进程隔离和支持 JIT的javascript引擎V8。界面是软件给用户留下最深刻印象的地方，在最终用户面前谈内部机制都有点白扯，简洁的设计是google的特色 了，我一直最喜欢这个，让用户能够忘掉工具，关注要解决的问题本身。不过后面两条就有点意思了，进程隔离啊，JIT引擎啊，再加上Web渲染、Gears 本地数据库，进程、编译、GUI、存储、为应用优化的流程、统一的API.... 大家想起来点啥没有？这活脱脱就是一个操作系统啊，上面运行的就是可以通过网络远程分发的应用程序，我觉得Google不应该叫它Google Chrome浏览器，应该叫Google Web OS，以后大家不用再学什么.net、visual studio、GTK、QT、cocoa啥的了，直接写一个ajax应用(Google Web Toolkit啥的已经铺好路了)，就可以到各个平台部署，连自动检查升级之类的全免了，世界多美好～&lt;br /&gt;&lt;br /&gt;后面紧跟着的还有什么Canvas 3D之类，准备把硬件加速的三维图形都搞到浏览器中来，配合JIT编译的javascript，无敌了，直接部署三维网游都可以。&lt;br /&gt;&lt;br /&gt;这里面谁不爽？微软不爽，Google如果布局推广得当，等大家享用着免费快速的Chrome，在不同的电脑上用着方便的统一帐户和Google Docs, GMail, Gtalk，玩着基于浏览器的3D网游，还有什么力量能把他们牢牢绑在windows系统上呢？&lt;br /&gt;&lt;br /&gt;话说微软也不是低幼，下一代操作系统就已经明示是基于singularity的web os，这就看谁手快谁东西好了，哈哈。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-9153549122360672138?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/9153549122360672138/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=9153549122360672138' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/9153549122360672138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/9153549122360672138'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/google-chrome_03.html' title='Google Chrome浏览器，新一代操作系统？'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xkhjUqfDikI/SL4IEnzyiuI/AAAAAAAAAQo/d9D8fdieIes/s72-c/dlpage_lg.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-2382131876368715323</id><published>2008-09-03T11:57:00.001+08:00</published><updated>2008-09-03T11:57:26.461+08:00</updated><title type='text'>涌现语义 emergent semantics</title><content type='html'>&lt;div class="entry"&gt;      &lt;p&gt;需要补充一下，这里讲的是指semantic web中的emergent semantics，而不是语言学中的，感谢刘贤俊博士给出的语言学方面的介绍。&lt;/p&gt; &lt;p&gt;首先我觉得涌现语义是大众草根现象的又一产物。&lt;/p&gt; &lt;p&gt;什么是涌现语义？&lt;/p&gt; &lt;p&gt;涌现语义和预先定义的本体(ontology)体系的关系可以粗略地类比为大众标签(folksonomy)和精心构造的人工分类之间的关系。传统 的语义互联网(Semantic Web，注意这里是SW大写，小写的话则有时暗指emergent semantics)思路可能是要建立一个统一完备的语义结构，可以标注一切联系一切，这项工作其实是非常困难的，大家愿意不愿意标注且放在其次，对语义 本身的一致认识就成问题。语义和上下文有关系，建立一个在不同的上下文中都适用的语义体系有时是很难的。涌现语义把思路变了一下，就像tagging一 样，“我不管你用什么，觉得好用就行”，这样放在语义标注者身上的枷锁和沉重思想负担就没有了，具体情况具体分析，爱怎么标就怎么标。&lt;/p&gt; &lt;p&gt;涌现语义的三原则&lt;/p&gt; &lt;p&gt;光放开手脚随便标是不行的，不同的体系之间还要交流，就像同一件事情有人叫disambiguity有人叫entity resolution，这在互相交流的时候一定要有一个统一认识，这就是涌现语义的第一个原则：协议(agreements)。不同的语义体系是靠协议来 链接起来的。由于涌现语义缺乏中央集中的调控（这也是优势之一），协议的达成就需要不同体系之间平等地商量一下怎么办，或是先参考一下有没有之前已经达成 的协议可以重新利用，这是涌现语系的第二个原则:协商(negotiation)，即体系之间的交流协议来自互相的协商和承认。看到这里不禁要说，那我所 有体系都互相协商成一个大的完备的体系不更好？这是不可能做到的，协商的交流工作量很大，以至于无法达成这个目标，于是本着节约实用的原则，都是和谁打交 道就和谁协商，哪份协商的协议更实用大家就追捧哪份协议。这就是涌现语义的第三个也是关键原则：协商来自局部的交互。再解释一下就是没事不能总开全国代表 大会，开不起。&lt;/p&gt; &lt;p&gt;现实中的涌现语义&lt;/p&gt; &lt;p&gt;涌现语义我觉得基本上是一种社会现象，网络社会现象，而不是一个设计好的要大家参与的活动。一个例子是微格式(microformat)，什么是微 格式？比如大家都喜欢把自己的日程安排放在网上，可是格式各异，有的是叙事语言，有的是时间在前描述在后的表格，等等。时间长了大家发现这样很不好，不能 用统一的工具来获得和融合大家的日程，于是有人提出，我们把格式统一一下，用“年月日时分秒 事件时间长度 事件描述”的形式来写日程（具体形式在这个例子中不重要），这样各种软件就可以放心方便地分析不同地方来的日程了。于是在日程规划这个小的局部，就形成了 一种小的语义标注方法体系（局部性）。如果这些人要和飞机订票的人合作，而订票软件有另外一种表示时间的格式，那总会有人出面写一些转换工具来互相转换 （协商和协议）。这些格式也不是一成不变的，比如某天有人提出咱们在每条的最后再加上一个“事件类别”吧，这样方便些等等（持续变化）。这就是涌现语义出 现的一个小例子。&lt;/p&gt; &lt;p&gt;参考文献&lt;/p&gt; &lt;p&gt;[1] Eric Meyer, Emegent Semantics, slideshows presented at SXSWi05, 2005&lt;/p&gt; &lt;p&gt;[2] Aberer, K. and Cudre-Mauroux, P. and Ouksel, A.M. and Catarci, T. and Hacid, M.S. and Illarramendi, A. and Kashyap, V. and Mecella, M. and Mena, E. and Neuhold, E.J. and others, Emergent semantics principles and issues, Proceedings of the 9th International Conference on Database Systems for Advanced Applications (DASFAA 2004) &lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-2382131876368715323?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/2382131876368715323/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=2382131876368715323' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2382131876368715323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/2382131876368715323'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/emergent-semantics.html' title='涌现语义 emergent semantics'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-9014286118700734107</id><published>2008-09-03T11:55:00.000+08:00</published><updated>2008-09-03T11:56:05.832+08:00</updated><title type='text'>网络动态性(Network Dynamics)</title><content type='html'>&lt;p&gt;最近看相关文章的一个小总结&lt;/p&gt; &lt;p&gt;网络动态性研究，是观察网络的各种特征在不同时间上的变化情况，或是利用来自不同时间的数据来获得在单一时间内难以得到的信息。这里“网络”和“图 ”指的是同一个东西，即由节点和连接节点的边组成的结构。这些研究主要来自于物理学和社会学两个研究方向，物理学关注的是抽象网络的各种性质，而社会学更 关注社区发现和演化等与社交网络有关的内容。一些工作是实证性质的，即对来自某个具体网络的数据进行详细的统计和分析；另外一些是建模和算法性质的，提出 一些模型或是方法来解释或解决问题，并且在真实或是模拟的数据上进行检验。&lt;/p&gt; &lt;p&gt;在2005年之前，被关注的特征主要是网络的一些全局统计量，例如平均出入度和平均最短路径。通过考察这些统计量随时间变化的情况，研究者得到了一 些有意义的结论。例如真实世界的网络比较稳定，这得益于其层次性的结构，即大的网络是由很多小的趋于稳定的网络按照层次组织起来的[1]。另外一个和直观 相悖的结论是随着图节点数的增加：1）平均的度在增加而不是常数，2）节点之间的平均距离在减小，而不是缓慢增加[2]，这是不是类似于六度空间现象？&lt;/p&gt; &lt;p&gt;2005年之后，一些研究者开始关注网络的结构随时间变化的情况，而不只是看全局的统计量，其中关注最多的是社区的动态性质。一般的思路是先把数据 按照滑动时间窗口组织成时间上连续的多个图，然后用比较成熟的社区发现方法，例如基于edge betweenness的方法，来发现每个图中的社区，最后利用社区之间的相似性度量和时间连续性假设（即社区变化还是需要时间的，不会突然消失掉）来分 析社区的出现、增长、合并、分裂、缩小和消失等现象。其中社区发现、子图相似性的度量等等可能使用各种不同的方法，但是总体上是差不多的。这些分析得到了 比全局统计量更有趣的结论，例如有分析指出大的社区如果组成的单位经常变化，则社区的活力会长一些；小社区则恰恰相反，组成单位的变化会加速其消亡 [3]。做个直观的解释：大社区如解放军，“铁打的营盘流水的兵”，大家不是靠个人关系聚集的，而是靠严格的纪律和共同的目标，这样的社区要比靠脸熟形成 的社区，如梁山泊一百单八将，要稳定的多；小社区如宿舍好友打牌四人组，任何人员上的变动都会让这个组织迅速的消失，因为脸熟是维系这个小社区的关键力 量。另外有人提出来研究的单位可以比单独的节点或是边来得更大，先找到不同时间点上的所有子图，再根据时间上的连续性把不同时间上的相似子图（往往就是相 同的，例如01年的中国足球队和02年的中国足球队，例子是我举的）串起来形成元子图(meta group)，转而研究元子图之间的关系[4]。&lt;/p&gt; &lt;p&gt;社区发现，或叫做层次分割，或叫做层次聚类，是探索大规模网络内部结构的必由之路。另外一些研究就关注于如何利用动态性也就是时间信息来辅助社区发 现，或是让社区发现的算法能更好地应对高度动态的数据。来自物理学的研究者善于用物理现象来类比解决社区发现的问题。一个方法是把网络中的每个节点都想像 成相振荡器(phase oscillator，例如单摆就是一个简单的振荡器)，把节点之间的边想像为连接振荡器的物体，那么根据我们高中学过的多个不同频率的单摆在连接在一起 的时候会发生同步这一物理规律，我们可以想像网络中相近的节点震荡频率会趋于一致，而没什么关系的节点之间震荡频率会有区别，通过考察稳定后节点震荡频率 的不同，就能把网络划分成不同的社区[5]。这个方法可以看作是用一个动态的模拟来发现网络的结构。另外一个类似思路的方法是把每个节点想像成一个小球， 把节点之间的边想像成弹簧，那么这一团由弹簧连接的小球在稳定不动后就会自然地形成不同社区在一起的结构[6]。之前在用cytoscape这个网络数据 查看软件的时候，就有Spring Layout这种观看模式，和这个思路应该是一样的。这种弹簧模型还有一个好处，就是如果有一个新的节点或是边到来，不用重新计算所有的数据，只要让加入 了新节点的一团弹簧再动动，稳定之后就是新的结果。也就是说这种方法能够应对动态变化的数据，而传统的基于edge betweeness的方法则需要每次都重新计算所有数据，不能适应动态数据分析的要求。&lt;/p&gt; &lt;p&gt;对于在网络上的意见传播，还有一类以Opinion Changing Rate(OCR)模型为代表的模型[7]，来模拟在每个节点接受新事物能力有不同的情况下，一个意见能不能在整个网络上达成一致和这个过程需要多长的时间，这很偏向于社会学的研究。&lt;/p&gt; &lt;p&gt;值得一提的是数学家在很早之前就对时间相关的随机现象有了很多的研究，一般被称作时间序列分析，在这个领域内时间序列数据被看作是随机过程的一个实 现，大量随机过程的工具被用于这方面的研究。时间序列分析最初可能主要是由经济学研究驱动的，这方面了解不深。从实际的论文和方法来看，把相关数学工具用 于网络动态性研究的非常少，可能也与对数学知识要求过高有关。&lt;/p&gt; &lt;p&gt;话题转回语言分析，看看网络动态性研究能为语言分析提供怎样的帮助。首先语言中网络无处不在，从字、词的搭配网络，到词语之间的相关性网络，不一而 足。语言的变化虽然不及人际关系的变化快（世态炎凉人心难测），但也是在积极地演进着。例如对从小学到高三的语文课本内容的词搭配进行分析，也许可以看到 不同教育时期语文重点的变化，进而考察出这些重点和这种变化是不是清晰正确地反应了教学的需求。再例如对有准确时间标签的新闻或博客文章中的用词搭配进行 分析，也许能发现不同时期不同事件在话题上影响的变迁，或是新词汇的产生，或是旧词新意的分离或消亡（例如“小姐[年轻女性或妓女]”和“分配[分发或是 安排工作]”）。又例如对不同时代古诗中字的关系进行分析，是不是能看到诗词用语的演化规律？&lt;/p&gt; &lt;p&gt;[1] EA Variano, JH McCoy, H Lipson, networks dynamics and modularity, Physical Review Letters, 2004&lt;br /&gt;[2] J. Leskovec, J. Kleinberg and C. Faloutsos, Graphs over Time: Densification Laws, Shrinking Diameters and Possible Explanations, In Proc. of KDD’05, 2005&lt;br /&gt;[3] G Palla, AL Barabasi, T Vicsek, Quantifying social group evolution, Nature 446, 664 - 667 (05 Apr 2007) Letter&lt;br /&gt;[4] TY Berger-Wolf, J Saia, a framework for analysis of dynamic social networks, in Proceedings of the 12th ACM SIGKDD international conference, 2006&lt;br /&gt;[5] Boccaletti, S. and Ivanchenko, M. and Latora, V. and Pluchino, A. and Rapisarda, A., Detecting complex network modularity by dynamical clustering, PHYSICAL REVIEW E, vol 75, 2007&lt;br /&gt;[6] Yang, B. and Liu, D.Y., Incremental Algorithm for Detecting Community Structure in Dynamic Networks, Proceedings of 2005 International Conference on Machine Learning and Cybernetics, volume 4, 2005&lt;br /&gt;[7] Pluchino, A. and Boccaletti, S. and Latora, V. and Rapisarda, A., Opinion dynamics and synchronization in a network of scientific collaborations, Physica A: Statistical Mechanics and its Applications, volume 372, number 2, pp 316–325, 2006&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-9014286118700734107?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/9014286118700734107/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=9014286118700734107' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/9014286118700734107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/9014286118700734107'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/network-dynamics.html' title='网络动态性(Network Dynamics)'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-8698062973134620357</id><published>2008-09-03T11:54:00.000+08:00</published><updated>2008-09-03T11:55:15.229+08:00</updated><title type='text'>听报告的体会，如何写博士论文</title><content type='html'>&lt;p&gt;今天听了热能系主任姚强教授的报告《从学位论文的评审说起：谈如何撰写博士学位论文》，感觉还是有些收获。这个报告是即将毕业正在写论文的博士生必 须参加的活动，我实际是去蹭听的。他讲的很多重点内容孙老师已经反复和我们说过了，例如选题、实验、写作中的问题和学术道德的内容，所以我记得也不全，把 自己的笔记和体会整理一下，供大家参考吧&lt;/p&gt; &lt;div class="ArwC7c ckChnd" id="1eog"&gt;&lt;strong&gt;评审和导师&lt;/strong&gt;先说的是评审和导师。在写论 文的时候不能把评审者当成是专家，应当首先把他们看作是普通的读者。专家也不是所有领域的专家，尤其是在评审强调创新性的学术论文时，他们是不可能对论文 的所有内容都非常了解的，要是这样论文就没意义了。姚老师描述了很多评审人的行为特点，我用一系列词总结一下：普通读者、大忙人、总是持批判的眼光。评审 人一篇博士论文一般读三十分钟，看的顺序一般是：作者和导师的学术地位、摘要、参考文献的质量、目录的结构、最熟悉的一部分内容、小结和总结、实验的设置 和图表的质量。一个tip是做综述的时候不能只看国外的文章，也要引用国内同行的相应工作，原因很简单：这个同行很可能就是评审你论文的人…. &lt;p&gt;评审人的角度一般是：选题意义，创造性，专业基础知识，写作与总结。这里一个引起我思考的重要观点是博士论文不仅仅是一篇好论文，也要能够反映出 作者在这个领域的广泛了解和扎实的基础知识。如果论文创新点很好，工作很有意义，但是不能反映出作者的专业基础知识情况，可能也是会受到质疑的。其中有一 句话说的不错，自己应该是论文所涉及的这个领域的专家，甚至要比导师和所有评审人对这个具体领域的了解和见解都深才行。&lt;/p&gt; &lt;p&gt;另外一个不好的现象是做的工作都想放在博士论文里面，觉得不放”亏了”。如果把关系不大的工作堆砌在里面的话，反而降低博士论文的质量，或是在答辩的时候受到质疑。&lt;/p&gt; &lt;p&gt;中间插个题外话，姚老师提到研究小组的seminar是个很重要的交流机会，有时候到了工作岗位，可能研究的主要内容都用不到，但是seminar上从其他同学那里得来的知识却经常能派上用场。所以认真参加seminar吧！&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;思考你的论文：学术价值&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;先考虑的应该是学术价值。一个有趣的现象是最初选题和最后写论文时相比，有至少一半的人都发现自己的目标和观点有变化，很少有完全一致的（完全一致 说明这很可能是低水平的研究）。博士论文的创新性最重要，如果这个不行，就直接被击毙没有翻身的希望了。两个不好的例子，一是”用了一个创新的方法，但是 性能并不比旧方法好”，二是”写了很多很好，但是和申请的学位学科关系不大”，都很容易被击毙，他还举了真实的例子。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;文献综述&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;文献综述篇幅很大，要注意的是综述要和研究有关，”不必事事从开天辟地说起”，主要目的是引导读者意识到你工作的重要性，要带着改进和批判的态度 写，不能一味说别人方法怎么怎么好，最后又说自己方法怎么怎么好，完全没有关系。不能做的事情包括在介绍引文工作的时候回避冲突，或是蓄意选择性地引述。 不必读所有文献，多读外文期刊，现在论文垃圾很多，要学会判断垃圾。引文的时候要注意引用原创工作，而不是后人的转述或是补充。姚老师给了一个文献综述写 作的方法与步骤：概括，摘要，批判，建议。&lt;/p&gt; &lt;p&gt;另外提到了一下关于研究步骤的两个争论派别。一派认为应该先不看任何文献，自己尽量独立思考，这样有助于摆脱现有研究带来的惯性思维，等思路明确了 再全面地读文章；另外一派认为应该先通读前人工作，才能开始研究。好像这两派争论很多的样子。不过我觉得一个可以借鉴的思路是不必强求”读全”，有想法的 时候立刻开始思考，如果实验简单易行就立刻开始实验，当有进一步思考的时候再仔细地进行文献综述，反思自己思路和前人有什么异同。&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;方法、实验与模型&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;主要是讲描述方法的时候要注意科学研究最重要的两点：独立验证和可重复性。可以利用的方法包括显著检验，双盲测试之类。方法描述要有特异性，可操作 性，不能含糊和说一些无信息量的”套话”。姚老师感慨说模型和假设很容易是错的，如果粗心的话很容易落到错误结果中还浑然不知，一定需要严谨的验证，例如 benchmark。&lt;/p&gt; &lt;p&gt;这个我们应该有体会，例如我和yaya重复redgreen的实验，非常容易出错，如果没有大百科数据集合和一个F值作为benchmark来不断 检验，很可能就会做出一个错误的版本却完全不知情。这种有benchmark的还好，如果是创新的没有成熟的检验方法的，那风险就更高了。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;结果的表示与分析&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;不能堆砌实验表格和数据而没有分析，也不能在文中提到任何没有数据支撑的”想当然”结论。&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;发表论文&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Ph.D != paper maker。他提到国内有些论文浮躁的气氛，尽量都想多发，但这样实际是不好的，降低了文章的质量和深度。&lt;/p&gt; &lt;p&gt;最后还有一句话我觉得挺好的：一流大学不是满足社会需求，而是引领社会需求。&lt;br /&gt;就这些了，还有记得的一些参考书，好像都挺不错的，很多观点和句子都引自这几本：&lt;br /&gt;[1] 朱青生，《十九札》&lt;br /&gt;[2] 毕恒达《教授为什么没告诉我——论文写作枕边书》&lt;br /&gt;[3] on being a scientist，这是一篇杂志文章&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-8698062973134620357?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/8698062973134620357/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=8698062973134620357' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8698062973134620357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/8698062973134620357'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/blog-post.html' title='听报告的体会，如何写博士论文'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-948185064915238115</id><published>2008-09-03T11:53:00.001+08:00</published><updated>2008-09-03T11:54:41.609+08:00</updated><title type='text'>palmtx和iphone</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xkhjUqfDikI/SL4KeTOVf9I/AAAAAAAAAQ0/SZw3jcrCuSQ/s1600-h/dsc04433.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_xkhjUqfDikI/SL4KeTOVf9I/AAAAAAAAAQ0/SZw3jcrCuSQ/s400/dsc04433.JPG" alt="" id="BLOGGER_PHOTO_ID_5241638531978592210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;同组的同学买了一只iphone，可以好好把玩一下了。原来我很想要一个iphone，觉得从反应速度到界面都很赞。不过这次仔细用了一下后，发现 iphone并不像想像中那样吸引人，虽然功能跟赞，但是想代替掌上电脑的话，还是有点距离。掌上设备可以干什么？对我来说，主要是如下几条&lt;/p&gt; &lt;ol&gt;&lt;li&gt;做任务列表和日历，管理工作和行程&lt;/li&gt;&lt;li&gt;记笔记&lt;/li&gt;&lt;li&gt;看电子书&lt;/li&gt;&lt;li&gt;上网收信看新闻&lt;/li&gt;&lt;li&gt;看pdf论文&lt;/li&gt;&lt;li&gt;其他词典啊计算器啊看照片啊看电影啊之类的小功能&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;我的palmtx，图中左边这只，屏幕分辨率和iphone一样，这些功能完成的很出色（除了pdf文件显示每页的时候有点慢）。iphone主要 是中文输入和信息管理功能上比较弱，如做笔记和看电子书这两大重要功能，palmtx可以直接编辑SD卡上的txt文件，所以和电脑交互很方 便，iphone不知道，据我多年用苹果机的经验，应该是不那么容易，得通过itunes之类。&lt;/p&gt; &lt;p&gt;其实主要问题还是iphone的开发不公开。如果允许任何人方便地开发iphone软件并且发布，那么这些功能都是小意思，现在苹果对iphone 软件开发的限制实在是给iphone套上了枷锁。别和我提iphone SDK，用这个写完了是不能直接放iphone上的，得花钱从苹果拿到一个许可才行。&lt;/p&gt; &lt;p&gt;说说开发难度，我觉得palm是谁都可以开发，也不要序号之类，但是开发难度非常大，真的很大，想像一下内存还有分页限制……iphone和 android和windows mobile之类后起的系统开发难度都小很多，不过iphone要钱，winmo慢（真的慢），android还不见实机，现阶段不到两千块的 palmtx还真是一个不错的随身伴侣，哈哈。（附图是palmtx/iphone排排坐） &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-948185064915238115?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/948185064915238115/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=948185064915238115' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/948185064915238115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/948185064915238115'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/palmtxiphone.html' title='palmtx和iphone'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xkhjUqfDikI/SL4KeTOVf9I/AAAAAAAAAQ0/SZw3jcrCuSQ/s72-c/dsc04433.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-3287137459988888356</id><published>2008-09-03T11:52:00.001+08:00</published><updated>2008-09-03T11:52:37.985+08:00</updated><title type='text'>《美丽与美妙，你们是伙伴》 mm原创的一篇文章，看了很感动</title><content type='html'>&lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-align: center;" align="center"&gt;&lt;strong style=""&gt;&lt;span style="font-size: 15pt;"&gt;美丽与美妙，你们是伙伴&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-align: center;" align="center"&gt;&lt;strong style=""&gt;&lt;span style="font-size: 15pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=""&gt;&lt;span style="font-size: 15pt;"&gt;——张昕姐姐致两位孩子的一封信&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm;"&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm;" align="center"&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm;"&gt;&lt;span style="font-size: 12pt;"&gt;美丽、美妙：&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;辛苦了！&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;最近发生的一系列事情让你们受委屈了。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;当 还沉浸在那历史性的一夜带给我的骄傲与震撼时，听到这个消息，姐姐很震惊、很紧张也很害怕。至今姐姐仍然不相信它是真实的。但不论事件真实与否，不论这是 不是那位陈叔叔的一句梦呓，网络社会也已把你们卷入了这场被哄嚷得满球风雨的事件。你们被无辜的伤害。有些喜爱你们的人也因错误的爱，伤害了你们。你们的 爸爸妈妈、和你们一样正在单纯的成长的孩子、以及我们的国人都一起被伤害了，这中间也包括我。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;你们没有错，你们尽自己最大的努力完美的完成了自己的任务，你们的同胞们因你们而感到振奋。你们要记住你们是一对伙伴，你们手牵手代表了祖国的未来。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;美丽，你知道吗？在那一刻，你的小小的美丽的身影、甜美的笑容，让所有看到的人都感到有一阵电流从眼里激荡到心里，你的同胞们因你的身影、你的笑容而感到穿越了五千年的长河后扬眉吐气了、感到生活开始朝气蓬勃了。美丽，姐姐和你的同胞都为你骄傲，都因你而为祖国骄傲。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;美 妙，你知道吗？在那一刻，美妙的歌声让我们感到传在耳里记在心间，那来自纯真心灵的歌声净化了聆听者的灵魂。无论此事是真是假，无论那声音是否来自于你， 姐姐要告诉你，你的歌声就是如此的撼人心脾，你的歌声会让聆听者感觉置身红尘之外，感觉仿佛看到了一轮新生的太阳。美妙，姐姐和你的同胞们都为你自豪，都 因你而为祖国自豪。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;在 人生的路上，你们刚刚迈出第一步，在这个时候发生这件事，看起来对你们确实太不公平了，但是你的同胞、伙伴和亲人会一直支持你们、保护你们，让你们和小朋 友们一样健康的成长。这场风波也是你们人生第一笔宝贵的财富，虽然残酷，但你们从中会收获什么是爱、什么是宽容、什么是真诚。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;美丽、美妙，现在的你们一定学会了感动，那掌声与欢呼、那一双双充满希望的眼睛是对你们的认可与喜爱；现在的你们一定学会了宽容，原谅那些无意于伤害你们的叔叔阿姨，重压之下他们也想做到最好；现在的你们一定学会了真诚，懂得了只有真诚才能带来真正的完美。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;这场风波也是我们所有国人的一笔宝贵财富，让我们这些成年人思考为什么会有这件事，我们该怎样去化解这些质疑——世界质疑中国的诚信、质疑这无法超越的历史时刻是用虚假完成的完美、质疑举国之力支付不起说明情况的字幕，我们成年人要思考的是怎样让这样的伤害不再发生。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;有 些成年人是这样想的，姐姐不妨告诉你们：那夜，美丽站在舞台上全力表演的时候，在按捺着自己的声音，想“难道我的声音真的就不美妙，也许叔叔说的对”，带 给同胞们惊喜的一刻，她的心灵里带着泪水；那夜，美妙的声音响彻中华大地的时候，看到美丽站在舞台上，想“难道我的面庞真的就不美丽，也许叔叔说的对”， 带给同胞们振奋的一刻，她的心灵里带着嘶哑。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;但是，你们更要知道，美丽与美妙&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;你们手牵着手是那么的璀璨，你们表现的那么阳光、那么坚强，完全不像大家的想象。你们是，也应该是，一对最真挚的伙伴，你们共同用心灵的阳光告诉我们什么才是生活的精彩。&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt;"&gt;&lt;span style="font-size: 12pt;"&gt;美丽、美妙，谢谢你们！&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoSalutation" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;span style="font-size:100%;"&gt;此致，&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoClosing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-size: 10.5pt;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size:100%;"&gt;祝你们健康成长！&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt; &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt; text-align: right;" align="right"&gt;&lt;span style="font-size: 12pt;"&gt;张昕姐姐&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 7.8pt 0cm; text-indent: 24pt; text-align: right;" align="right"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;2008&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;年&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;月&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;日&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-3287137459988888356?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/3287137459988888356/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=3287137459988888356' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3287137459988888356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/3287137459988888356'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/mm.html' title='《美丽与美妙，你们是伙伴》 mm原创的一篇文章，看了很感动'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-9173464352036449359</id><published>2008-09-03T11:40:00.000+08:00</published><updated>2008-09-03T11:43:05.520+08:00</updated><title type='text'>神奇的罗技轨迹球 Marble Mouse</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xkhjUqfDikI/SL4HvjvnQKI/AAAAAAAAAQg/2j-K6ZoQ7-c/s1600-h/Photo+15.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_xkhjUqfDikI/SL4HvjvnQKI/AAAAAAAAAQg/2j-K6ZoQ7-c/s400/Photo+15.jpg" alt="" id="BLOGGER_PHOTO_ID_5241635529936027810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;前几天在办公室搞来一个轨迹球，话说我还是在小时候听过这东西，从来没用过实物。这个罗技的Marble Mouse像个独眼的外星大蜻蜓头... 用起来手感还不错，用手指摸摸那个红色眼珠就是鼠标了。&lt;br /&gt;&lt;br /&gt;不过用了一段时间，感觉最不爽的有两点，一是没有滚轮，极其不便，二是拇指单击的时候手会抖动，影响点击精度。滚轮的事情可能是设计这个轨迹球的时候滚轮 还没推广，罗技号称有一个web surf软件，装上了就能部分达到滚轮效果，但是我机器是linux，没戏了。点击的事情比较要命，我觉得最好的方法应该是左手负责鼠标键，右手完全用于 滚动定位。插了第二只鼠标实践了一下双手操作，确实比单手好很多，定位超准，可惜第二只鼠标本身会移动，点起来还不能不管不顾。&lt;br /&gt;&lt;br /&gt;总结，这玩意很好玩，如果有滚轮和外置鼠标键，就无敌了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-9173464352036449359?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/9173464352036449359/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=9173464352036449359' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/9173464352036449359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/9173464352036449359'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2008/09/marble-mouse.html' title='神奇的罗技轨迹球 Marble Mouse'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xkhjUqfDikI/SL4HvjvnQKI/AAAAAAAAAQg/2j-K6ZoQ7-c/s72-c/Photo+15.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-1801204213139244702</id><published>2007-03-13T21:34:00.000+08:00</published><updated>2007-03-13T21:35:39.840+08:00</updated><title type='text'>来一篇中文的</title><content type='html'>这样中英混合是不是会比较变态？本来想在教育网内放一个中文的，结果从公网访问太慢了，还是就用blogspot吧，呵呵。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-1801204213139244702?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/1801204213139244702/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=1801204213139244702' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1801204213139244702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/1801204213139244702'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2007/03/blog-post.html' title='来一篇中文的'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-6954966010490023267</id><published>2007-03-13T21:25:00.000+08:00</published><updated>2007-03-13T21:31:05.772+08:00</updated><title type='text'>I'm back</title><content type='html'>Blogspot had been almost unaccessible since sino-us &lt;span&gt;&lt;span class="hl"&gt;undersea fiber-optic cable&lt;/span&gt;&lt;/span&gt; broke, so for a long time after the first post, I simply disappeared :) now I'm back, and decide to write both in Chinese and English from now on, after all, most of my friends&lt;br /&gt; are in China&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-6954966010490023267?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/6954966010490023267/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=6954966010490023267' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6954966010490023267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/6954966010490023267'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2007/03/im-back.html' title='I&apos;m back'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-115690843706749763</id><published>2006-08-30T11:16:00.000+08:00</published><updated>2006-08-31T23:11:54.806+08:00</updated><title type='text'>Palm OS development under Ubuntu linux</title><content type='html'>I've spent quite a lot of time searching the web to find a "linux palm develop solution", but what I found are all long articles instructing me to compile gcc and gdb for arm/m68k, and I have to manually patch a series of bugs.....NO MORE! That's too complicated. Now I find Ubuntu a perfect platform for palm developping!  Only two simple steps~&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step ONE:&lt;/span&gt; download palm OS Garnet SDK for UNIX from www.palmsource.com, and extract it to  &lt;span style="font-weight: bold;"&gt;/usr/local/share/palmdev&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step TWO&lt;/span&gt;: use the powerful APT tools :) run &lt;span style="font-weight: bold;"&gt;apt-cache search prc-tools&lt;/span&gt; and install whatever you see.&lt;br /&gt;&lt;br /&gt;Congratulations, you are done.&lt;br /&gt;&lt;br /&gt;run &lt;span style="font-weight: bold;"&gt;pilot-template &lt;/span&gt;from bash and you'll know what to do, this tool is really handy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-115690843706749763?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/115690843706749763/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=115690843706749763' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/115690843706749763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/115690843706749763'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2006/08/palm-os-development-under-ubuntu-linux.html' title='Palm OS development under Ubuntu linux'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33569825.post-115690774000054793</id><published>2006-08-30T11:14:00.000+08:00</published><updated>2006-08-30T11:15:40.010+08:00</updated><title type='text'>the first post</title><content type='html'>is here! :) this blog is mainly for posting some programming and computer tips found by me. Ok, let me start it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33569825-115690774000054793?l=theneospace.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theneospace.blogspot.com/feeds/115690774000054793/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33569825&amp;postID=115690774000054793' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/115690774000054793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33569825/posts/default/115690774000054793'/><link rel='alternate' type='text/html' href='http://theneospace.blogspot.com/2006/08/first-post.html' title='the first post'/><author><name>theneo</name><uri>http://www.blogger.com/profile/16087170592575415941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
