<?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-9055327</id><updated>2011-12-15T11:13:33.833+08:00</updated><category term='python'/><category term='python lua'/><category term='blog gfw'/><title type='text'>Thinking In Shell</title><subtitle type='html'>NetSnail's Blog contains what he is studying,researching and thinking!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.netsnail.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sean Lin</name><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>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9055327.post-5470750893197185041</id><published>2010-01-30T19:28:00.003+08:00</published><updated>2010-01-30T20:30:41.543+08:00</updated><title type='text'>pike的坏味道</title><content type='html'>今天在twitter上看到&lt;a href="http://blog.laiyonghao.com"&gt;laiyonghao&lt;/a&gt;同学在推荐&lt;a href="http://pike.ida.liu.se/"&gt;pike&lt;/a&gt;，他是在和python， C++这两种我基本上算是熟识的编程语言做了比较后，才做的推荐。也引起我的兴趣。&lt;br /&gt;看了一个下午pike的推荐，感觉是个靠谱的语言，能用来干活。不过，大概是设计的年代久远的缘故，也弥漫着一些坏味道，总让人觉得异常不爽.&lt;br /&gt;&lt;br /&gt;1. 没有bool，用1， 0来表示真假也就算了，还用0来表示nil&lt;br /&gt;2. 预处理器和宏&lt;br /&gt;3. 没有typedef.&lt;br /&gt;4. 没有对象模型里没有类似interface或者鸭子类型的东西.&lt;br /&gt;&lt;br /&gt;好吧，更重要的是，没有任何让人看起来非用不可的东西呀...&lt;br /&gt;大概，用来替换掉lua做游戏的开发脚本还是可以的，pike 和MUD 有很深的渊源， 是在PLC的基础上开发出来的。大概用来描述游戏逻辑还是不错的吧，而且速度足够的快.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-5470750893197185041?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://pike.ida.liu.se/' title='pike的坏味道'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/5470750893197185041/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=5470750893197185041' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/5470750893197185041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/5470750893197185041'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2010/01/pike.html' title='pike的坏味道'/><author><name>Sean Lin</name><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-9055327.post-5376620835424604293</id><published>2009-06-14T23:41:00.001+08:00</published><updated>2009-06-14T23:41:26.786+08:00</updated><title type='text'>科幻，阅读和其他碎碎念</title><content type='html'>最近很忙，一直没有时间看完一些大段的文章。虽然想读的书甚多，但是只见书单越长越长，却总是没气力开打超过200K文本去阅读。更不用说跑到图书馆，或者书店，淘一些小说来看了。&lt;p&gt;昨天在豆瓣上闲逛，看到这个有趣的小组&lt;br&gt;经典短篇阅读&lt;br&gt;&lt;a href="http://www.douban.com/group/74135/"&gt;http://www.douban.com/group/74135/&lt;/a&gt;&lt;p&gt;喜欢得紧。大概，以我的阅读速度，所谓&amp;quot;三上&amp;quot;时间,大概也就只能看里面的一篇文章。&lt;p&gt;一直喜欢比较短的文章，小时在家，有闲暇拿出来翻翻的，大多是鲁迅杂文，王小波，古文观止，甚至十万个为什么（笑），概因能在那时那刻读完，不会留下念想。加上长的文章，总会有高潮低谷，阅读时又容易受外事影响，常常放下后，就再也没重新拿出来，然后再看看结局简介，就草草了之，不可谓不遗憾。阅读一本长篇小说，对于现在的我，大概已近似奢望。&lt;p&gt;而这个小组的妙处，则在于不是短篇小说，而是短篇阅读，各种文章夹杂期间，虽然良莠不分，但总体上水准还不错，慢慢阅读下来也不会太累。不像以前拿着鲁迅的杂文全集，全是老先生的嬉笑怒骂，读多了自己的火气也大了不少。&lt;p&gt;今天偶然看到的闻名已久的《真名实姓》，读后感慨万千。开始因让FBI知道真名而受到威胁的主角，让我想起现在的实名制。还有从信息公司里租借运算时间，都快赶上现在的云计算了。当故事高潮，男女主角如上帝般俯瞰着世界，全世界的信息悉数从他们的思维中流过时，不知为何，我亦莫名的兴奋，大概，Google&lt;br&gt;的那班人现在就快有这种感觉了吧。结局更让我喜欢，虽然和攻壳的结局有点像，却阳光了不少。&lt;p&gt;后来看看作品年代，1981年，我彻底傻掉了。81年，我还没有出世，第一台IBM&lt;br&gt;PC也没生产.互联网连邮件协议都还没有。然而，作者描绘的计算机世界已经慢慢的变成了现实.... 这大概，就是科幻的奇迹和魅力吧。&lt;p&gt;阅读的几篇文章之后，更是想买一个Kindle之类的东西了，翰林汇或者foxit也好，不然给个table pc我也忍了，难不成要去买Q7...&lt;br&gt;为啥到现在还没一个能比较好满足我要求的东西呢 &amp;gt;_&amp;lt;&lt;p&gt;最后，转贴一则冷笑话：&lt;br&gt;YY先生语录359&lt;br&gt;from 费乐沃||PhilColumn 0.4&lt;br&gt;YY先生说，对理工科男生说，摄影是门槛最低的艺术形式了；可是他们所受的专业训练和他们的性别，很容易让他们沦为器材派。&lt;br&gt;&lt;a href="http://www.philewar.org/index.php?itemid=1839"&gt;http://www.philewar.org/index.php?itemid=1839&lt;/a&gt;&lt;p&gt;难不成我看书也看成器材派...&lt;p&gt;#END&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-5376620835424604293?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/5376620835424604293/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=5376620835424604293' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/5376620835424604293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/5376620835424604293'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2009/06/blog-post_608.html' title='科幻，阅读和其他碎碎念'/><author><name>Sean Lin</name><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-9055327.post-7171436513432433596</id><published>2009-06-03T23:59:00.002+08:00</published><updated>2009-06-04T00:03:06.807+08:00</updated><title type='text'>阉割与自我阉割</title><content type='html'>6.4就快到了，当然今年是20周年，所以中共给的待遇也格外的高.&lt;br /&gt;昨天才知道，Flickr，twitter，bing都被封了，加上前段时间的youtube，当然，还有blogger本身，我这篇blog都是通过邮件寄送的。大中华局域网已经初具规模了。中共Good Job!&lt;p&gt;不知道啥时候把脸书，gmail，greader啥的都封了，那就真和谐了。&lt;/p&gt;&lt;p&gt;让人气闷的，除了中共的阉割，douban的自我阉割才真是让人无语。&lt;/p&gt;&lt;p&gt;有一本有趣的书.《5月35日》 &lt;a href="http://www.douban.com/subject/3083264/"&gt;http://www.douban.com/subject/3083264/&lt;/a&gt;&lt;br /&gt;昨晚我无意看到的。于是顺手加了个书评，&lt;/p&gt;&lt;p&gt;题目：好名字呀好名字&lt;br /&gt;内容：充满了艺术感.&lt;/p&gt;&lt;p&gt;结果早上看邮箱，发现7:26的时候，这篇书评让豆瓣删除了。理由是：&lt;/p&gt;&lt;p&gt;你好，你发表的 好名字呀好名字 ，因为 讨论内容与主题无关 已经被豆瓣删除。&lt;/p&gt;&lt;p&gt;   附：内容被删除的情况较多时，帐号有可能被自动停用数天。请参考：&lt;br /&gt;  用户管理细则 ( &lt;a href="http://www.douban.com/about?policy=userrules"&gt;http://www.douban.com/about?policy=userrules&lt;/a&gt; )&lt;br /&gt;  社区指导原则 ( &lt;a href="http://www.douban.com/about?policy=guideline"&gt;http://www.douban.com/about?policy=guideline&lt;/a&gt; )&lt;/p&gt;&lt;p&gt;   --豆瓣&lt;/p&gt;&lt;p&gt;为啥会和主题无关呢。3月35日就其书名来说，确实是标新立异，又符合童话这个文体，&lt;br /&gt;人家感叹下也不行？&lt;/p&gt;&lt;p&gt;好吧，我知道你们知道我发贴说的是什么，然而，这样的擦边球都不让人发，G点也太多了。&lt;/p&gt;&lt;p&gt;中共的网特们，你们辛苦了，在这个悲伤的纪念日里，你们通宵达旦，不眠不休，为建设和谐社会努力工作着，真的太不容易了，愿你们浑身G点，夜夜高潮，永不痔疮。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-7171436513432433596?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/7171436513432433596/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=7171436513432433596' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7171436513432433596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7171436513432433596'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2009/06/blog-post.html' title='阉割与自我阉割'/><author><name>Sean Lin</name><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-9055327.post-7280240852268816983</id><published>2009-04-23T17:15:00.003+08:00</published><updated>2009-04-23T17:29:06.547+08:00</updated><title type='text'>Awesome 3.2.1 At Ubuntu 9.04</title><content type='html'>前几天经受不了诱惑，装上ubuntu 9.04 rc.  发现该死的libxcb版本还是低于awesome 当前release版本3.2.1的需求。于是只能自己编译了.&lt;br /&gt;&lt;br /&gt;编译好最新libxcb 0.3.4，顺利的装上awesome，却发现awesome默认的热键，mod4（win键）不能用. 在网上google了一会，才发现awesome 3.2.1并和libxcb 0.3.4 冲突, git上的最新版本已经fix了，于是下了最新版本，却发现，awesome依赖的几个库又更新了。&lt;br /&gt;&lt;br /&gt;awesome这帮人真不让人省心呀，为啥老是要依赖最新的第三方库呢，现在的大部分库，API都是稳定的,至少升级了也能保持向下兼容，何必每次都折腾得其他人鸡飞狗跳呢。&lt;br /&gt;&lt;br /&gt;最后乖乖的把libxcb降到0.3.3，热键终于能用了。&lt;br /&gt;&lt;br /&gt;试用了一下午，结论是，果然，程序员还是要用能够自己编程WM。自己写了点lua在里面，轻松搞定了很多一般wm不能解决的问题，爽!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-7280240852268816983?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://awesome.naquadah.org/' title='Awesome 3.2.1 At Ubuntu 9.04'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/7280240852268816983/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=7280240852268816983' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7280240852268816983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7280240852268816983'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2009/04/awesome-321-at-ubuntu-904.html' title='Awesome 3.2.1 At Ubuntu 9.04'/><author><name>Sean Lin</name><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-9055327.post-3612253485163747894</id><published>2009-03-28T00:55:00.004+08:00</published><updated>2009-03-28T01:20:05.307+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python lua'/><title type='text'>有爱的lunatic python</title><content type='html'>还是在做上篇blog说的某半所见即所得的的ui编辑器，终于快搞定了。有时间可以写写里面用到的一个好玩的库。&lt;br /&gt;&lt;a href="http://labix.org/lunatic-python"&gt;lunatic python&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;用途是让你能在python中调用lua，在lua中调用，在python中调用lua中的python... 恩。大概就是这样...&lt;br /&gt;&lt;br /&gt;具体的使用方法见项目主页，用法很简单，有兴趣的还可以看看代码，也非常简单，支持自省，基于C的动态语言互相沟通还真简单。&lt;br /&gt;&lt;br /&gt;然则这个项目更新有点慢，在ubuntu的Lua5.1下不能正常编译，要参照&lt;a href="http://lua-users.org/wiki/LunaticPython"&gt; lua-user wiki &lt;/a&gt;上文章做些修改.&lt;br /&gt;&lt;br /&gt;最后有个小tips，如果打算在python中调用lua，载入lua的第三方c库，要在python中先执行&lt;br /&gt;&lt;quote class="code"&gt;&lt;br /&gt;import sys, dl&lt;br /&gt;sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)&lt;br /&gt;import lua&lt;br /&gt;&lt;/quote&gt;&lt;br /&gt;然后才能lua.require("ooxx").  因为linux下lua的第三方库都是不指定动态链接liblua.so的，python默认import用的dlopen又是RTLD_LOCAL,不会把lua模块的符号表给后面的库使用，&lt;br /&gt;后面的C库就会找不到lua的C函数的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-3612253485163747894?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://labix.org/lunatic-python' title='有爱的lunatic python'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/3612253485163747894/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=3612253485163747894' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/3612253485163747894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/3612253485163747894'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2009/03/lunatic-python.html' title='有爱的lunatic python'/><author><name>Sean Lin</name><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-9055327.post-8232965936300795576</id><published>2009-03-23T23:33:00.003+08:00</published><updated>2009-03-24T23:46:08.303+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>用gtksourceview实现代码高亮</title><content type='html'>最近用pygtk在写一个半可视化的ui编辑器. 其中要嵌入一个小编辑器给用户写一小段lua代码。&lt;br /&gt;虽然是个小部件，用个textview糊弄一下就好，但做为一个有爱而又爱折腾的人，加上语法高亮简直是一定的事情。&lt;br /&gt;&lt;br /&gt;看了下&lt;a href="http://www.pygtk.org/pygtksourceview/index.html"&gt;gtksourceview2&lt;/a&gt;的manual，几个模块还是相当清晰的，用起来也很方便，简单的实现lua的语法高亮，只要下面短短几行代码.（还附送其他功能哦)&lt;br /&gt;&lt;br /&gt;&lt;div class="hl"&gt;&lt;pre class="hl"&gt;&lt;span class="slc"&gt;#!/usr/bin/env python&lt;/span&gt;&lt;br /&gt;&lt;span class="slc"&gt;# -*- coding:utf-8 -*-&lt;/span&gt;&lt;br /&gt;&lt;span class="kwa"&gt;import&lt;/span&gt; gtk&lt;br /&gt;&lt;span class="kwa"&gt;import&lt;/span&gt; gtksourceview2&lt;br /&gt;&lt;br /&gt;win &lt;span class="sym"&gt;=&lt;/span&gt; gtk&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;Window&lt;/span&gt;&lt;span class="sym"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;src_buffer &lt;span class="sym"&gt;=&lt;/span&gt; gtksourceview2&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;Buffer&lt;/span&gt;&lt;span class="sym"&gt;()&lt;/span&gt;&lt;br /&gt;manager &lt;span class="sym"&gt;=&lt;/span&gt; gtksourceview2&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;LanguageManager&lt;/span&gt;&lt;span class="sym"&gt;()&lt;/span&gt;&lt;br /&gt;language &lt;span class="sym"&gt;=&lt;/span&gt; manager&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;get_language&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"lua"&lt;/span&gt;&lt;span class="sym"&gt;)&lt;/span&gt;              &lt;span class="slc"&gt;#使用lua语法&lt;/span&gt;&lt;br /&gt;src_buffer&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;set_language&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;language&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;src_buffer&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;set_highlight_syntax&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="kwa"&gt;True&lt;/span&gt;&lt;span class="sym"&gt;)&lt;/span&gt;         &lt;span class="slc"&gt;#打开语法高亮&lt;/span&gt;&lt;br /&gt;view &lt;span class="sym"&gt;=&lt;/span&gt; gtksourceview2&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;View&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;src_buffer&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;view&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;set_show_line_numbers&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="kwa"&gt;True&lt;/span&gt;&lt;span class="sym"&gt;)&lt;/span&gt;              &lt;span class="slc"&gt;#显示行号&lt;/span&gt;&lt;br /&gt;view&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;set_auto_indent&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="kwa"&gt;True&lt;/span&gt;&lt;span class="sym"&gt;)&lt;/span&gt;                    &lt;span class="slc"&gt;#自动缩进&lt;/span&gt;&lt;br /&gt;view&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;set_insert_spaces_instead_of_tabs&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="kwa"&gt;True&lt;/span&gt;&lt;span class="sym"&gt;)&lt;/span&gt;  &lt;span class="slc"&gt;#用空格代替tab&lt;/span&gt;&lt;br /&gt;view&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;set_tab_width&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="num"&gt;4&lt;/span&gt;&lt;span class="sym"&gt;)&lt;/span&gt;                         &lt;span class="slc"&gt;#tab宽度4&lt;/span&gt;&lt;br /&gt;win&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;resize&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="num"&gt;800&lt;/span&gt;&lt;span class="sym"&gt;,&lt;/span&gt;&lt;span class="num"&gt;400&lt;/span&gt;&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;win&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;add&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;view&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;win&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;connect&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="str"&gt;'destroy'&lt;/span&gt;&lt;span class="sym"&gt;,&lt;/span&gt;gtk&lt;span class="sym"&gt;.&lt;/span&gt;main_quit&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;win&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;show_all&lt;/span&gt;&lt;span class="sym"&gt;()&lt;/span&gt;&lt;br /&gt;gtk&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;main&lt;/span&gt;&lt;span class="sym"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;gtksourceview支持的语言有&lt;br /&gt;ada awk boo c c-sharp changelog chdr cpp css d def desktop diff docbook dot dpatch dtd eiffel erlang forth fortran gap gettext-translation gtk-doc gtkrc haddock haskell haskell-literate html idl ini java js latex libtool lua m4 makefile msil nemerle objc objective-caml ocl octave pascal perl php pkgconfig python r rpmspec ruby scheme sh sql tcl texinfo vala vbnet verilog vhdl xml xslt yacc&lt;br /&gt;基本上常用的语言都有 。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;下一步干啥？加个智能补全 ^_^&lt;br /&gt;&lt;br /&gt;----------------牢骚的分割线-----------&lt;br /&gt;本来蠢蠢欲动想装&lt;a href="http://awesome.naquadah.org/"&gt;awesome&lt;/a&gt;玩下的，没想最新的awesome要0.30的xcb支持，&lt;br /&gt;ubuntu8.10才是0.20的，编译不了，兴趣大减。&lt;br /&gt;还好下月9.04就出来了，应该有更新。&lt;br /&gt;&lt;br /&gt;没想用ubuntu也好些年头了...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-8232965936300795576?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/8232965936300795576/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=8232965936300795576' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/8232965936300795576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/8232965936300795576'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2009/03/gtksourceview.html' title='用gtksourceview实现代码高亮'/><author><name>Sean Lin</name><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-9055327.post-6747859474274310117</id><published>2009-03-20T13:26:00.002+08:00</published><updated>2009-03-20T13:45:07.203+08:00</updated><title type='text'>IE8 灾难</title><content type='html'>今天M$推出了IE8，拿下来装上，开始感觉还可以, 几个新功能也算不错。（虽然觉得，加速器功能本来应该是插件做的事情，firefox上有类似的东西).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;为了测试浏览复杂门户网站的速度，打开了163.com(不要问我为什么选这个._.), 载入速度还是可以的。随手点开一个链接，阿勒，开不了！不管是直接click，ctrl+ click, shift +click都不行。&lt;br /&gt;&lt;br /&gt;右键后选在新tab打开，新的tab里url栏有那个网址，但是不加载，要自己手动按一下enter才能正常打开.(囧)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;问了下安装IE8的其他同学，有的也有这样的问题，有的没有。大概还是万恶的ActiveX 旧插件和新IE冲突吧，把所有的插件关掉，还是不行,  网上搜索了一下，有人提到，但是没有解决方案.&lt;br /&gt;&lt;br /&gt;另外在测试的时候发现，经常会有关闭IE8 窗口后，进程还继续运行的情况出现 。&lt;br /&gt;&lt;br /&gt;IE确实应该学习下FireFox在插件上的策略，插件要写上支持的版本号，新版本出现了，自己先把能影响自己行为的插件都屏蔽掉，等插件作者自己测试和新IE兼容后再重新安装.&lt;br /&gt;&lt;br /&gt;还好我基本上不用IE上网，用不了就用不了吧，不过现在应该有不少用户在骂娘吧(笑...&lt;br /&gt;用firefox者得永生...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-6747859474274310117?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/6747859474274310117/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=6747859474274310117' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/6747859474274310117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/6747859474274310117'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2009/03/ie8.html' title='IE8 灾难'/><author><name>Sean Lin</name><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-9055327.post-7906276128957065624</id><published>2009-03-09T15:08:00.002+08:00</published><updated>2009-03-09T15:18:23.332+08:00</updated><title type='text'>要河蟹，不折腾，在Linux设置静态DNS.</title><content type='html'>从周六开始，google等好几个网站就不能正常进行dns解析了.联想到最近TG在开会，大概不能访问也是正常吧。自己设个dns就好了。&lt;br /&gt;&lt;br /&gt;我用的是dhcp动态分配的IP，所以在resolv.conf里设置name server 会被dhclient刷掉 。查了下dhclient的配置文件/etc/dhclient.conf, 看到有一行prepend domain-name-servers, 应该就是用来设置静态dns的吧.&lt;br /&gt;&lt;br /&gt;找了两个dns填进去，天下太平...&lt;br /&gt;&lt;br /&gt;P.S. 不要填根dns哦，13个root dns我试了4个，都不能用。&lt;br /&gt;最后猥琐的填了两个普通的国外dns才ok. &lt;br /&gt;&lt;br /&gt;我用的是 164.124.101.31, 204.16.254.6&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-7906276128957065624?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/7906276128957065624/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=7906276128957065624' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7906276128957065624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7906276128957065624'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2009/03/linuxdns.html' title='要河蟹，不折腾，在Linux设置静态DNS.'/><author><name>Sean Lin</name><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-9055327.post-7972380859025562664</id><published>2009-02-03T16:07:00.003+08:00</published><updated>2009-02-03T16:44:38.924+08:00</updated><title type='text'>Bash 的可编程智能补全</title><content type='html'>不知道什么时候开始，发现在ubuntu下的scp，能智能补全远程主机下的文件名，猜想大概是bash做了什么恶心的操作吧。&lt;br /&gt;&lt;br /&gt;今天搜索了一下，才知道是 bash 的 Programmable Completion. 可以自己定义补全的方式，网上文章挺多的，&lt;a href="http://gosman.blogbus.com/logs/5260844.html"&gt;gosman&lt;/a&gt; 翻译了magic cli的文章，比较详细。&lt;br /&gt;&lt;br /&gt;查看了下/etc/bash_completion 文件，果然是包罗万象，包含相当多程序的智能完成模式.&lt;br /&gt;scp  的补全是:&lt;br /&gt;ssh -o 'Batchmode yes' $userhost \&lt;br /&gt;                  command ls -aF1d "$path*" 2&gt;/dev/null | \&lt;br /&gt;                  sed -e "s/[][(){}&lt;&gt;\",:;^&amp;amp;!$&amp;amp;=?\`|\\ ']/\\\\\\\\\\\\&amp;amp;/g" \&lt;br /&gt;                  -e 's/[*@|=]$//g' -e 's/[^\/]$/&amp;amp; /g'&lt;br /&gt;&lt;br /&gt;直接连上远程去ls. 好寒 . 果然是又实用又恶心. 有时连上慢点的机器要等好久.&lt;br /&gt;&lt;br /&gt;如果是自己的程序要扩展bash completion. 可以写在/etc/bash_completion.d/目录下面.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-7972380859025562664?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/7972380859025562664/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=7972380859025562664' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7972380859025562664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7972380859025562664'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2009/02/bash.html' title='Bash 的可编程智能补全'/><author><name>Sean Lin</name><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-9055327.post-5098790959226286715</id><published>2009-01-23T17:46:00.003+08:00</published><updated>2009-01-24T15:08:33.036+08:00</updated><title type='text'>又到回家时</title><content type='html'>再次来到杭州机场，自然，这次还是回家。&lt;br /&gt;因为这次是第一次做机场大巴到机场，把握不好时间，所以提早了近2个小时到机场。结果，在我领完登机卡的时候，机场广播开始说：尊敬的旅客，我们抱歉的通知你，你乘坐MU 2786航班因为飞机晚到的原因，不能按时起飞，起飞时间另行通知。&lt;br /&gt;&lt;br /&gt;WTF，我又要在机场逗留上几个小时了（为什么我要用“又” - -#).&lt;br /&gt;&lt;br /&gt;唯一让我欣慰的是，好多航班都延误了。其中不少是MU开头的，难道，东航真的如传闻中的那么差么。&lt;br /&gt;&lt;br /&gt;想起还有个该死的server没弄完，顺手写下吧。&lt;br /&gt;原来，在机场coding也很帅嘛!&lt;br /&gt;&lt;br /&gt;-------------------------&lt;br /&gt;&lt;br /&gt;电，生命之源...&lt;br /&gt;机场可以用的电源极少，我在的15登机口只有靠近工作台有两个插座。于是&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BaZT4R_AqNw/SXq9Nkm2nZI/AAAAAAAABJ4/3nemiPzvQrQ/s1600-h/IMG_0868_s.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_BaZT4R_AqNw/SXq9Nkm2nZI/AAAAAAAABJ4/3nemiPzvQrQ/s320/IMG_0868_s.JPG" alt="" id="BLOGGER_PHOTO_ID_5294752352790027666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BaZT4R_AqNw/SXq9g8sZ1gI/AAAAAAAABKA/WGSnF-wuxTs/s1600-h/IMG_0867_s.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_BaZT4R_AqNw/SXq9g8sZ1gI/AAAAAAAABKA/WGSnF-wuxTs/s320/IMG_0867_s.JPG" alt="" id="BLOGGER_PHOTO_ID_5294752685673272834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;其中那个mm的位置，还是我先发现的，还在犹豫要不要失态一下蹲旁边用的时候，mm就冲了上去 T.T, 不过人家mm坐在那里，还是很有美感的，比上面那个大叔优雅多了。&lt;br /&gt;&lt;br /&gt;于是，我的笔记本，在飞机起飞前20分钟，没电了 &gt;_&lt;&lt;br /&gt;还好，手机用笔记本充电（好吧，很浪费）到2格，在飞机上靠手机混了1个多小时....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-5098790959226286715?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/5098790959226286715/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=5098790959226286715' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/5098790959226286715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/5098790959226286715'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2009/01/blog-post.html' title='又到回家时'/><author><name>Sean Lin</name><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/_BaZT4R_AqNw/SXq9Nkm2nZI/AAAAAAAABJ4/3nemiPzvQrQ/s72-c/IMG_0868_s.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9055327.post-206554788185062367</id><published>2008-11-06T14:27:00.005+08:00</published><updated>2008-11-06T15:01:27.979+08:00</updated><title type='text'>偶然遇见熟悉的句子</title><content type='html'>大概一年多前，在NGA某翻译美国玩家写游戏心得里有这么一段话，相当的喜欢:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;我可以相信真实存在的事，也可以相信那些并不真实存在的事，还可以相信那些没有人知道它们真不真实的事。我相信圣诞老人的存在，相信玛丽莲·梦露、甲克虫乐队和猫王都还活着；我相信人类可以更加完美，知识是无穷的，整个世界在秘密的银行联盟操纵下运转，外星人定期访问地球，好的外星人长相像满脸皱纹的狐猴，而坏的外星人把牛弄残废、还想掠夺我们的水源和我们的女人；我相信未来宇宙会坍塌、彗星会撞地球；我相信总有一天传说中的白色水牛女人会回来，狠狠踢每个人的屁股；我相信所有男人内心深处都是个头大些的孩子，无法和别人沟通，美国人性生活的衰退趋势与各州汽车电影院的衰退趋势一致；我相信所有政客都是无耻的骗子；我还相信如果不止两个政党可能会更好；我相信加利福尼亚州会沉入大海，而佛罗里达州会因为疯狂、鳄鱼和有毒废物而溶解；我相信抗菌香皂正在破坏我们对细菌和疾病的抵抗力，早晚有一天，平平常常的感冒都能杀死我们，就像《世界大战》里面的火星人一样；我相信上个世纪最伟大的诗人是伊迪丝·西特韦尔 和唐·马奎斯 ，翡翠是龙的干精子，而在几千年前，我的前生是一个西伯利亚的独臂萨满教巫师；我相信人类未来的命运隐藏在其他星球上；我相信当我小的时候，糖果尝起来真的更甜，大黄蜂的飞行中蕴涵着空气动力学，光是由波和粒子组成的，在某处有一只关在盒子里的猫，它同时既是死的又是活的（不过我认为如果他们不打开盒子喂猫的话，猫肯定会死，而且会有两种不同的死法），宇宙中存在有几十亿年历史、甚至比宇宙本身还古老的星球；我相信有一位只关心我一个人的、属于我自己的神，他会看到我做的一切，而且关心我；我相信有一位负责维持宇宙运转的、不属于哪一个人的神，他离开自己的岗位泡马子，压根儿不知道我的存在；我相信存在一个没有神灵的空的宇宙，里面充满由某种原因引起的混沌，到处是噪音和白噪音，充满了好运气；我相信说性爱的价值被高估的人从来没有真正品味到性的欢愉；我相信那些宣称自个儿什么都知道的人总会在小事情上撒谎；我相信绝对诚实，也不排斥善意的谎言；我相信女人应该拥有选择的权利，婴儿拥有活下去的权利，如果你能毫无保留地绝对信任司法系统，死刑制度就是正确的，所有人也都会珍惜生命、恐惧死刑，但实际上只有傻瓜才会信任司法系统；我相信人生就是一场游戏，相信人生就是一个残酷的笑话，也相信躺下静享人生的生活态度。&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;然则，我却不知道这段话的出处，以为是那个玩家很有爱，能写出这样充满快乐，爱与希望句子.昨天临睡前，把最近断断续续在看的《美国众神》拿出来看，结果不经意看到这段话，会心一笑。&lt;br /&gt;&lt;br /&gt;我很享受这种经历，在漫无目的的阅读中，发现自己喜欢的一些句子，典故的出处，如同到郊外散步，突然风景扑面而来，或者像在陌生的城市中旅行，遇到老朋友一样，充满了惊喜.&lt;br /&gt;&lt;br /&gt;------------无趣的分割线------------&lt;br /&gt;&lt;br /&gt;python 3.0 很好很强大，丢掉了很多莫名的历史包袱，整个语言体系更加的统一。&lt;br /&gt;google Android SDK 里带的droid font family很不错，特别是英文字体，在shell和vi里用很好看，简单清晰，小巧，又有点sexy的感觉，满屏幕的字看起来不会密密麻麻的，很适合程序员使用，强力推荐!&lt;br /&gt;另外看了下版权，好像5人以下使用不需要授权.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-206554788185062367?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/206554788185062367/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=206554788185062367' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/206554788185062367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/206554788185062367'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/11/blog-post.html' title='偶然遇见熟悉的句子'/><author><name>Sean Lin</name><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-9055327.post-8772305096742593101</id><published>2008-10-16T14:13:00.002+08:00</published><updated>2008-10-16T14:50:34.285+08:00</updated><title type='text'>学艺不精及其他恼人的小麻烦</title><content type='html'>刚到杭州后帮同事用python写了一个小服务，其中一段程序是用一个文件实现一个定长的队列 。&lt;br /&gt;结果今天同事说，文件在不断变大.&lt;br /&gt;拿出来检查了一下，发现seek没起作用，但是写法确实没有什么错的。&lt;br /&gt;于是跑去查python的文档，最后发现这样一段话:&lt;br /&gt;Note that if the file is   opened for appending (mode &lt;code&gt;'a'&lt;/code&gt; or &lt;code&gt;'a+'&lt;/code&gt;), any   &lt;tt class="method"&gt;seek()&lt;/tt&gt; operations will be undone at the next write.&lt;br /&gt;我的文件确实是用a+打开的，因为大部分情况是直接从后面接上，过一段时间整个文件就会删除,于是就囧了.改成'r+'就一切ok了&lt;br /&gt;&lt;br /&gt;学艺不精呀，其实C的fseek也是这样，在fopen的man里有写:&lt;br /&gt;Opening a file with append mode (a as the first character in the mode argument) shall cause all subsequent writes to the file to be forced to the then current end-of-file, regardless of intervening calls to fseek().&lt;br /&gt;从前怎么也没注意到  &gt;_&lt;&lt;br /&gt;&lt;br /&gt;-----鄙视彩信的分割线-----&lt;br /&gt;&lt;br /&gt;自从知道杭州移动的gprs包月服务中，cmwap和cmnet的收费是一致之后，我把手机的上网方式改成了cmnet，能用的服务多了不少.  结果昨天朋友给我发来彩信，却发现收不了了。&lt;br /&gt;查了不少原因都查不出来，最后想到彩信貌似属于wap服务，莫非...&lt;br /&gt;&lt;br /&gt;给手机添加一个cmwap连接，然后让彩信用cmwap通信，ok了。。。&lt;br /&gt;然则不知道这样的限制，到底是wap协议本身的限制，还是中移动的限制。&lt;br /&gt;&lt;br /&gt;草草看了下彩信和wap协议，貌似是可以直接通过http连接搞定的，并不需要wap连接.&lt;br /&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/9055327-8772305096742593101?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/8772305096742593101/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=8772305096742593101' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/8772305096742593101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/8772305096742593101'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/10/blog-post.html' title='学艺不精及其他恼人的小麻烦'/><author><name>Sean Lin</name><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-9055327.post-7405002461823382432</id><published>2008-09-29T06:49:00.006+08:00</published><updated>2008-09-30T08:29:49.254+08:00</updated><title type='text'>回家路上的流水帐</title><content type='html'>十.一自然还是要回家的。订的是早上八点的机票。没有这么早坐飞机过,麻烦事不少.。由于上次到太晚到机场的惨痛经历,今天四点多就爬起来,拖着发低烧的身体收拾东西。结果出门的时候才五点多点.&lt;br /&gt;早上这个时候是没有机场大巴的,打的,被的士司机抱怨影响他六点交接班.人家还心疼七十六块的车费呢.&lt;br /&gt;一路上到是相当畅顺(五点有不畅顺的么-_-)和司机闲扯.不知怎么说到大学上。没想从鲁迅到现在这么多年过去了,女大学生还是全国人民喜闻乐见的yy对象。司机同学还在那里忿忿女大学生被包养,好象了然一切。可惜我太认真了,没让这个话题继续下去。&lt;br /&gt;到了机场不到六点,只有m记可吃,咖啡可真难喝。&lt;br /&gt;去电子机票打登机卡,发现可以自己选座位,选了个靠窗的^_^&lt;br /&gt;看航班信息,发现这个&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/Kpmx-xhC3sj2rdOslglTIQ?authkey=acl7ANtdxI4"&gt;&lt;img src="http://lh6.ggpht.com/NetSnail/SODbvI8ZzKI/AAAAAAAAA0A/ycpiGcWpO8o/s144/IMG_0767.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/NetSnail/ThinkingInShell?authkey=acl7ANtdxI4"&gt;Thinking In Shell&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;机场里只有逸臣书店一个牌子,分成很多店面,布满了整个机场。里面大都是经管励志类的书,好书甚少。或者说,我不欣赏这样的书,特别是中国人写的。充满了厚黑学,马基雅维利主义,投机,功利,却少有理想。我不知道有没有人看这类书成功的,但这种成功,我是不喜欢的,店面前还有一个电视,放着一个人的管理讲座的录像,是在一个大会堂里,下面坐据说是很多公司的老总经理。有个镜头很好玩,讲师在讲一段话,下面的人大声跟读,像李阳,又像传销。不知这些公司的职员看到他们老总这样,会有什么感想,大概会对公司的前途感到渺茫吧。 电视很吵，店面又多，害得我到处座位躲起来。不爱看这种东西，大概就是我不能做老板，只能打工的缘故吧（笑）。&lt;br /&gt;&lt;br /&gt;后来登机时，看到这个&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/5Go20adhDgJ-TDYd9SYP1g?authkey=acl7ANtdxI4"&gt;&lt;img src="http://lh3.ggpht.com/NetSnail/SODdCfOlViI/AAAAAAAAA0Q/NPl8VeqjnMk/s144/IMG_0768.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/NetSnail/ThinkingInShell?authkey=acl7ANtdxI4"&gt;Thinking In Shell&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;国内好像少有这种漂亮装涂的的飞机呢。&lt;br /&gt;&lt;br /&gt;一路无话飞到深圳，快着陆的时候看到了以前住的地方，梅林水库四个大字 清晰可见，可惜手慢了，没照下来。&lt;br /&gt;&lt;br /&gt;在深圳和大黄夫妇一起吃午饭，选择的是毛家饭店，庆祝下十一，可惜本朝太祖喜欢的红烧肉，实在太腻，没吃几块就吃不下了.&lt;br /&gt;&lt;br /&gt;然后又跑去车站坐大巴回汕头。一路上穿过连绵不绝的丘陵，想起上次从宿迁坐车回南京，路上一望无际的大平原，还是中原好呀，地理位置太优越了.&lt;br /&gt;&lt;br /&gt;最后，感谢下中国移动，google和我可爱的E680i，能让我在各种交通工具上完成这篇流水帐，十一快乐。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-7405002461823382432?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/7405002461823382432/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=7405002461823382432' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7405002461823382432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7405002461823382432'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/09/blog-post_1541.html' title='回家路上的流水帐'/><author><name>Sean Lin</name><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/NetSnail/SODbvI8ZzKI/AAAAAAAAA0A/ycpiGcWpO8o/s72-c/IMG_0767.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9055327.post-2285525146067744534</id><published>2008-09-27T16:10:00.001+08:00</published><updated>2008-09-27T16:16:27.000+08:00</updated><title type='text'>对开源和自由软件的态度</title><content type='html'>看到Richard Stallman 的这篇文章，&lt;a href="http://www.yeeyan.com/articles/view/inspired5/14801?ad=referral"&gt;"避免毁灭性的妥协"&lt;/a&gt; ，心有戚戚焉。&lt;br /&gt;虽然自己也有这样的想法，但是能敷衍成文的，并且言之有物的，也只有祖师爷了。&lt;br /&gt;&lt;br /&gt;以后讨论类似的问题，只要丢出篇文章就ok，大善。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-2285525146067744534?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gnu.org/philosophy/compromise.html' title='对开源和自由软件的态度'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/2285525146067744534/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=2285525146067744534' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/2285525146067744534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/2285525146067744534'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/09/blog-post_27.html' title='对开源和自由软件的态度'/><author><name>Sean Lin</name><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-9055327.post-6843400492108528960</id><published>2008-09-13T12:01:00.003+08:00</published><updated>2008-09-13T13:23:10.504+08:00</updated><title type='text'>月光光</title><content type='html'>昨晚睡得比较晚，早上睡到11点多才醒来。躺在床上，懒得起来，拿着手机看看订阅的文章。&lt;br /&gt;&lt;br /&gt;最近几个月，越发觉得，&lt;a href="http://www.izaobao.com/"&gt;爱早报&lt;/a&gt; 不错，枣报选取的新闻有趣，比较符合我的口味，吐糟也很带劲。现在我的一天，大概就是从公车上看爱枣报开始的。枣读栏目则是个异数，说明爱枣报的诸位同学还是文化人呀。 终究会介绍些我平时八杆子打不着的书来看，不像豆瓣，给我推荐的书中，计算机书籍4成，漫画3成，科幻3成。 - -#&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.izaobao.com/1251.html"&gt;今天的枣读&lt;/a&gt;,大概可以算是中秋诗词鉴赏把。古诗词部分，大部分是见过的.只有熟悉的感觉，感触却少了。倒是平时基本不看，反正看也看不懂的现代诗里，看到余光中同学的《月光光》，很符合自己的心境。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; &lt;p&gt;&lt;span style="color: rgb(64, 64, 64);"&gt;余光中&lt;/span&gt;&lt;a href="http://www.chinapoesy.com/XianDai04a9104a-6c6a-4ff8-9d6a-1c87f2835fac.html"&gt;&lt;span style="color: rgb(64, 64, 64);"&gt;《月光光》&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(64, 64, 64);"&gt; &lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(64, 64, 64);"&gt;月光光，月是冰过的砒霜&lt;br /&gt;月如砒，月如霜&lt;br /&gt;落在谁的伤口上？&lt;br /&gt;恐月症和恋月狂&lt;br /&gt;迸发的季节，月光光&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(64, 64, 64);"&gt;幽灵的太阳，太阳的幽灵&lt;br /&gt;死星脸上回光的反映&lt;br /&gt;恋月狂和恐月症&lt;br /&gt;祟着猫，祟着海&lt;br /&gt;祟着苍白的美妇人&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(64, 64, 64);"&gt;太阴下，夜是死亡的边境&lt;br /&gt;偷渡梦，偷渡云&lt;br /&gt;现代远，古代近&lt;br /&gt;恐月症和恋月狂&lt;br /&gt;太阳的膺币，铸两面侧像&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(64, 64, 64);"&gt;海在远方怀孕，今夜&lt;br /&gt;黑猫在瓦上诵经&lt;br /&gt;恋月狂和恐月症&lt;br /&gt;苍白的美妇人&lt;br /&gt;大眼睛的脸，贴在窗上&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(64, 64, 64);"&gt;我也忙了一整夜，把月光&lt;br /&gt;掬在掌，注在瓶&lt;br /&gt;分析化学的成份&lt;br /&gt;分析回忆，分析悲伤&lt;br /&gt;恐月症和恋月狂，月光光&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;诗很有趣，像是调侃那些睹物思情的人,月本无心，又怎会叫人牵肠挂肚呢，可是，人的七情六欲，却总是在明月下迸发出来。&lt;br /&gt;像极了自己，总认为自己是理性的，不滞于物，总喜欢吐糟那些咏月颂花的人。然而，每到月光如水的静寂夜晚，小时读的诗词歌赋，风俗传说，那林林总总关于月的一切，都会冒出来，庸人自扰...&lt;br /&gt;&lt;br /&gt;月光光.&lt;br /&gt;&lt;br /&gt;------------欢乐的风格线--------------&lt;br /&gt;&lt;br /&gt;有自己的域名还是好，最近没事在了解dbus编程的一些事情，&lt;br /&gt;深觉得有自己域名还是好，命名服务名的时候，可以装作很专业的样子写&lt;br /&gt;net.netsnail.code.OOXX&lt;br /&gt;比起以前学java时，不知道namespace写什么好不少 ^_^&lt;br /&gt;&lt;br /&gt;---------doubanclaimdb97abe10cf1c765-----&lt;br /&gt;&lt;br /&gt; 末了，还是要应景一下&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(64, 64, 64);"&gt;但愿人长久，千里共婵娟。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-6843400492108528960?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/6843400492108528960/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=6843400492108528960' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/6843400492108528960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/6843400492108528960'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/09/blog-post_13.html' title='月光光'/><author><name>Sean Lin</name><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-9055327.post-7604873313563637277</id><published>2008-09-10T01:18:00.003+08:00</published><updated>2008-09-10T01:24:26.500+08:00</updated><title type='text'>科学家的可能</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Large_Hadron_Collider"&gt;LHC&lt;/a&gt;要启动了，好多地方都争论得沸沸扬扬的，说搞科学的疯子要毁灭世界了。&lt;br /&gt;原因，自然是科学家说，&lt;span style="color: rgb(255, 0, 0);"&gt;可能&lt;/span&gt;会产生微型黑洞，又&lt;span style="color: rgb(255, 0, 0);"&gt;可能&lt;/span&gt;会毁灭地球 @.@&lt;br /&gt;&lt;br /&gt;科学家说可能的时候，我是相当放心的。因为搞科学的人，总是在面对无限可能...&lt;br /&gt;&lt;br /&gt;比如平行世界，比如反物质，比如人造黑洞，比如虫洞，是否存在神，我们是不是存在一个martix里，甚至只是星际高速公路上的一个违章建筑，都是可能。&lt;br /&gt;&lt;br /&gt;也许地球实际上就是星际高速公路上的违章建筑，沃贡人明天就要来拆除掉地球，恩，带上你的毛巾，并记住一个数字42，顺便记得赞美他们的诗，记住，这些都是可能，你去问那些科学家，这种事情有没有可能发生，他们一定会说，是的，可能。这就是所谓科学精神，因为没有证明它不可能.&lt;br /&gt;&lt;br /&gt;所以，现在大家还是安心有爱的生活在地球上吧，记得善待老鼠，是他们定制了地球.&lt;br /&gt;&lt;br /&gt;最后娱乐一下，科学家也要有娱乐精神。&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 0px ! important;" title="点击这里使 Adblock Plus 过滤该对象" class="abp-objtab-023976650119742593 visible ontop" href="http://www.youtube.com/v/j50ZssEojtM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;/a&gt;&lt;a style="left: 0px ! important; top: 0px ! important;" title="点击这里使 Adblock Plus 过滤该对象" class="abp-objtab-023976650119742593 visible ontop" href="http://www.youtube.com/v/j50ZssEojtM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;/a&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/j50ZssEojtM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/j50ZssEojtM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0" 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/9055327-7604873313563637277?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/7604873313563637277/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=7604873313563637277' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7604873313563637277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/7604873313563637277'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/09/blog-post.html' title='科学家的可能'/><author><name>Sean Lin</name><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-9055327.post-4885548225192836816</id><published>2008-08-29T17:04:00.002+08:00</published><updated>2008-08-29T17:53:07.893+08:00</updated><title type='text'>谁送我的飞去来器</title><content type='html'>写程序到闷了，到豆瓣上闲逛，看到一个帖子，在说 &lt;a href="http://qixianglu.cn/20080828010800.html"&gt;飞去来器&lt;/a&gt; 的。突然想起，家里好像也有一个飞去来器，和这个是极像。&lt;img src="http://lh4.ggpht.com/forcodeadmin/SK77m_UClKI/AAAAAAAABo8/2UvXzZdqj5o/s512/BigBull_080124072021724.jpg" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;应该是中学时友人所赠送的，却突然忘记是谁送的。只记得自己相当珍惜，虽然当时看到如此神奇的东西，心里跃跃欲试，想拿出去玩耍一番，可此物是硬木所制，外面又涂着精细的图案，住的周围没有草地，在水泥地上扔，大概一会儿就坏了吧。当年虽然玩心很重，居然也能忍下来，可见送这东西的人，应该还是很重视的。(好吧，我自己仿制了几个，但是飞行时都很难回来，还是很想拿原版去飞一次试试）&lt;br /&gt;&lt;br /&gt;现在老子居然忘记是谁了，默...&lt;br /&gt;&lt;br /&gt;想来我素来难和其他人亲近，自小收到的礼物也是那寥寥的几件，然则，人家居然还忘记了送礼物的是谁，真是没心没肺 &gt;_&lt;&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/9055327-4885548225192836816?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/4885548225192836816/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=4885548225192836816' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/4885548225192836816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/4885548225192836816'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/08/blog-post.html' title='谁送我的飞去来器'/><author><name>Sean Lin</name><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/forcodeadmin/SK77m_UClKI/AAAAAAAABo8/2UvXzZdqj5o/s72-c/BigBull_080124072021724.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9055327.post-2454898530530826262</id><published>2008-07-14T18:29:00.003+08:00</published><updated>2008-07-14T18:44:54.071+08:00</updated><title type='text'>马文的忧郁</title><content type='html'>周六去杭州图书馆办理了借书证，借了《银河系漫游指南》，《沙丘》和《丧钟为谁而鸣》。&lt;br /&gt;杭州图书馆确实和深圳的没法比呀。&lt;br /&gt;老旧这个到不在意，关键是书籍的残破和稀少。借阅部的存书，大概也就一个中学图书馆的量吧。&lt;br /&gt;不过还是看到不少想看的书，大概是自己看的书太少，有太多东西要看吧 XD&lt;br /&gt;&lt;br /&gt;好吧，其实我只是想吐糟一下，银河系漫游指南的马文同学，丫为了催眠，在一秒钟内数绵羊 五千九百七十亿次. 基本上，可以认为数绵羊也就是在做加法运算。鉴于做累加是不能并行运算的，丫至少有主频597G的CPU，然后算了一秒后因为CPU发热陷入了IDLE状态。还是相当的强大嘛。&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/9055327-2454898530530826262?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.douban.com/subject/1394364/' title='马文的忧郁'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/2454898530530826262/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=2454898530530826262' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/2454898530530826262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/2454898530530826262'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/07/blog-post.html' title='马文的忧郁'/><author><name>Sean Lin</name><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-9055327.post-2302760518028871080</id><published>2008-02-15T15:54:00.006+08:00</published><updated>2008-02-15T17:16:10.936+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>enumerate() 我们相识得太晚了 &gt;_&lt;</title><content type='html'>一直以来，我都被一个问题困扰着，怎么优雅的完成这样的代码.&lt;br /&gt;&lt;div class="verbatim"&gt;             &lt;pre&gt;for i in range(len(L)):&lt;br /&gt;item = L[i]&lt;br /&gt;# ... compute some result based on item ...&lt;br /&gt;L[i] = result&lt;br /&gt;&lt;/pre&gt;           &lt;/div&gt;           昨天在帮猪君战这个程序的还被着实的郁闷了一把&lt;br /&gt;&lt;br /&gt;&lt;pre class="hl"&gt;&lt;span class="kwa"&gt;def&lt;/span&gt; &lt;span class="kwd"&gt;balance&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;size_list&lt;span class="sym"&gt;):&lt;/span&gt;&lt;br /&gt;size_list&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;sort&lt;/span&gt;&lt;span class="sym"&gt;()&lt;/span&gt;&lt;br /&gt;size_list&lt;span class="sym"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;extend&lt;/span&gt;&lt;span class="sym"&gt;([&lt;/span&gt;&lt;span class="num"&gt;0&lt;/span&gt;&lt;span class="sym"&gt;]*&lt;/span&gt; &lt;span class="kwb"&gt;len&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;size_list&lt;span class="sym"&gt;))&lt;/span&gt;&lt;br /&gt;a &lt;span class="sym"&gt;=&lt;/span&gt; size_list&lt;span class="sym"&gt;[&lt;/span&gt;&lt;span class="num"&gt;0&lt;/span&gt;&lt;span class="sym"&gt;::&lt;/span&gt;&lt;span class="num"&gt;2&lt;/span&gt;&lt;span class="sym"&gt;]&lt;/span&gt;&lt;br /&gt;b &lt;span class="sym"&gt;=&lt;/span&gt; size_list&lt;span class="sym"&gt;[&lt;/span&gt;&lt;span class="num"&gt;1&lt;/span&gt;&lt;span class="sym"&gt;::&lt;/span&gt;&lt;span class="num"&gt;2&lt;/span&gt;&lt;span class="sym"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;span class="kwa"&gt;while&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="kwa"&gt;True&lt;/span&gt;&lt;span class="sym"&gt;):&lt;/span&gt;&lt;br /&gt;   a_value &lt;span class="sym"&gt;=&lt;/span&gt; &lt;span class="kwb"&gt;sum&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;a&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;   b_value &lt;span class="sym"&gt;=&lt;/span&gt; &lt;span class="kwb"&gt;sum&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;b&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;   diff &lt;span class="sym"&gt;=&lt;/span&gt; a_value &lt;span class="sym"&gt;-&lt;/span&gt; b_value&lt;br /&gt;   min_set &lt;span class="sym"&gt;= (&lt;/span&gt;&lt;span class="kwb"&gt;abs&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;diff&lt;span class="sym"&gt;),&lt;/span&gt;&lt;span class="num"&gt;0&lt;/span&gt;&lt;span class="sym"&gt;,&lt;/span&gt;&lt;span class="num"&gt;0&lt;/span&gt;&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwa"&gt;for&lt;/span&gt; i &lt;span class="kwa"&gt;in&lt;/span&gt; &lt;span class="kwb"&gt;xrange&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="kwb"&gt;len&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;a&lt;span class="sym"&gt;)):&lt;/span&gt;&lt;br /&gt;       &lt;span class="kwa"&gt;for&lt;/span&gt; j &lt;span class="kwa"&gt;in&lt;/span&gt; &lt;span class="kwb"&gt;xrange&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="kwb"&gt;len&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;b&lt;span class="sym"&gt;)):&lt;/span&gt;&lt;br /&gt;           tmp_diff &lt;span class="sym"&gt;=&lt;/span&gt; &lt;span class="kwb"&gt;abs&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;diff &lt;span class="sym"&gt;- (&lt;/span&gt;a&lt;span class="sym"&gt;[&lt;/span&gt;i&lt;span class="sym"&gt;] -&lt;/span&gt; b&lt;span class="sym"&gt;[&lt;/span&gt;j&lt;span class="sym"&gt;])*&lt;/span&gt;&lt;span class="num"&gt;2&lt;/span&gt;&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;           &lt;span class="kwa"&gt;if&lt;/span&gt; tmp_diff &lt;span class="sym"&gt;&amp;lt;&lt;/span&gt; min_set&lt;span class="sym"&gt;[&lt;/span&gt;&lt;span class="num"&gt;0&lt;/span&gt;&lt;span class="sym"&gt;]:&lt;/span&gt;&lt;br /&gt;               min_set &lt;span class="sym"&gt;= (&lt;/span&gt;tmp_diff&lt;span class="sym"&gt;,&lt;/span&gt; i&lt;span class="sym"&gt;,&lt;/span&gt; j&lt;span class="sym"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwa"&gt;if&lt;/span&gt; &lt;span class="kwb"&gt;abs&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;diff&lt;span class="sym"&gt;) &amp;lt;=&lt;/span&gt; min_set&lt;span class="sym"&gt;[&lt;/span&gt;&lt;span class="num"&gt;0&lt;/span&gt;&lt;span class="sym"&gt;]:&lt;/span&gt;&lt;br /&gt;       &lt;span class="kwa"&gt;break&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwa"&gt;else&lt;/span&gt;&lt;span class="sym"&gt;:&lt;/span&gt;&lt;br /&gt;       tmp &lt;span class="sym"&gt;=&lt;/span&gt; a&lt;span class="sym"&gt;[&lt;/span&gt;min_set&lt;span class="sym"&gt;[&lt;/span&gt;&lt;span class="num"&gt;1&lt;/span&gt;&lt;span class="sym"&gt;]]&lt;/span&gt;&lt;br /&gt;       a&lt;span class="sym"&gt;[&lt;/span&gt;min_set&lt;span class="sym"&gt;[&lt;/span&gt;&lt;span class="num"&gt;1&lt;/span&gt;&lt;span class="sym"&gt;]] =&lt;/span&gt; b&lt;span class="sym"&gt;[&lt;/span&gt;min_set&lt;span class="sym"&gt;[&lt;/span&gt;&lt;span class="num"&gt;2&lt;/span&gt;&lt;span class="sym"&gt;]]&lt;/span&gt;&lt;br /&gt;       b&lt;span class="sym"&gt;[&lt;/span&gt;min_set&lt;span class="sym"&gt;[&lt;/span&gt;&lt;span class="num"&gt;2&lt;/span&gt;&lt;span class="sym"&gt;]] =&lt;/span&gt; tmp&lt;br /&gt;&lt;span class="kwa"&gt;def&lt;/span&gt; &lt;span class="kwd"&gt;is_not_zero&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;x&lt;span class="sym"&gt;):&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwa"&gt;return&lt;/span&gt; x &lt;span class="sym"&gt;!=&lt;/span&gt; &lt;span class="num"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span class="kwa"&gt;return&lt;/span&gt; &lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="kwb"&gt;filter&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;is_not_zero&lt;span class="sym"&gt;,&lt;/span&gt; a&lt;span class="sym"&gt;),&lt;/span&gt;&lt;span class="kwb"&gt;filter&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;is_not_zero&lt;span class="sym"&gt;,&lt;/span&gt;b&lt;span class="sym"&gt;),&lt;/span&gt; min_set&lt;span class="sym"&gt;[&lt;/span&gt;&lt;span class="num"&gt;0&lt;/span&gt;&lt;span class="sym"&gt;])&lt;/span&gt;&lt;br /&gt;&lt;span class="sym"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;结果，今天在reddit上乱晃的时候看到&lt;a href="http://www.ginstrom.com/scribbles/2008/02/14/intermediate-python-pythonic-file-searches/" rel="bookmark"&gt;Intermediate Python: Pythonic file searches,&lt;/a&gt;&lt;br /&gt;看到用了enumerate这个内置函数，果然够 Pythonic.&lt;br /&gt;&lt;br /&gt;虽然性能还是有点损失，不过，代码清晰不少，告别for i in range(list) , 这样写吧.&lt;br /&gt;&lt;pre&gt;for i, item in enumerate(L):&lt;br /&gt;# ... compute some result based on item ...&lt;br /&gt;L[i] = result&lt;/pre&gt;&lt;br /&gt;娘的，居然是python 2.3就加入的特性，人家居然现在才知道，&lt;br /&gt;立马订阅了pep的rss - -#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-2302760518028871080?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.python.org/dev/peps/pep-0279/' title='enumerate() 我们相识得太晚了 &gt;_&lt;'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/2302760518028871080/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=2302760518028871080' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/2302760518028871080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/2302760518028871080'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/02/emumerate.html' title='enumerate() 我们相识得太晚了 &gt;_&lt;'/><author><name>Sean Lin</name><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-9055327.post-600439089477844216</id><published>2008-02-11T12:45:00.000+08:00</published><updated>2008-02-11T13:16:28.909+08:00</updated><title type='text'>setjmp/longjmp</title><content type='html'>春节在家没什么事情，于是拿出久未用过的C，自己折腾点小东西（以后做出来了再详细的写），顺便翻翻节前买的&lt;a href="http://www.douban.com/subject/2377310/"&gt;《C专家编程》&lt;/a&gt;。&lt;br /&gt;在讲堆栈的那章里，看见C标准库里的一对函数 setjmp/longjmp。突然发现自己对C，确实不够了解。&lt;br /&gt;&lt;br /&gt;setjmp/longjmp 还有 sigsetjmp/siglongjmp 原理其实很简单，setjmp 保存一个栈顶指针，返回0，在longjmp调用时，回到setjmp的返回点，并且返回longjmp的第2个参数。&lt;br /&gt;&lt;br /&gt;用法大概如下：&lt;br /&gt;&lt;br /&gt;&lt;pre class="hl"&gt;&lt;span class="dir"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="dir"&gt;#include &amp;lt;setjmp.h&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwb"&gt;jmp_buf&lt;/span&gt; buff&lt;span class="sym"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwb"&gt;void&lt;/span&gt; &lt;span class="kwd"&gt;do_jump&lt;/span&gt;&lt;span class="sym"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span class="sym"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span class="kwd"&gt;printf&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"do_jump&lt;/span&gt;&lt;span class="esc"&gt;\n&lt;/span&gt;&lt;span class="str"&gt;"&lt;/span&gt;&lt;span class="sym"&gt;);&lt;/span&gt;&lt;br /&gt; &lt;span class="kwd"&gt;longjmp&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;buff&lt;span class="sym"&gt;,&lt;/span&gt; &lt;span class="num"&gt;1&lt;/span&gt;&lt;span class="sym"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sym"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwb"&gt;int&lt;/span&gt; &lt;span class="kwd"&gt;main&lt;/span&gt;&lt;span class="sym"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span class="sym"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span class="kwa"&gt;switch&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;setjmp&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;buff&lt;span class="sym"&gt;))&lt;/span&gt;&lt;br /&gt; &lt;span class="sym"&gt;{&lt;/span&gt;&lt;br /&gt;     &lt;span class="kwa"&gt;case&lt;/span&gt; &lt;span class="num"&gt;0&lt;/span&gt;&lt;span class="sym"&gt;:&lt;/span&gt;&lt;br /&gt;         &lt;span class="kwd"&gt;printf&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"start&lt;/span&gt;&lt;span class="esc"&gt;\n&lt;/span&gt;&lt;span class="str"&gt;"&lt;/span&gt;&lt;span class="sym"&gt;);&lt;/span&gt;&lt;br /&gt;         &lt;span class="kwd"&gt;do_jump&lt;/span&gt;&lt;span class="sym"&gt;();&lt;/span&gt;&lt;br /&gt;         &lt;span class="kwa"&gt;break&lt;/span&gt;&lt;span class="sym"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span class="kwa"&gt;case&lt;/span&gt; &lt;span class="num"&gt;1&lt;/span&gt;&lt;span class="sym"&gt;:&lt;/span&gt;&lt;br /&gt;         &lt;span class="kwd"&gt;printf&lt;/span&gt;&lt;span class="sym"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"end&lt;/span&gt;&lt;span class="esc"&gt;\n&lt;/span&gt;&lt;span class="str"&gt;"&lt;/span&gt;&lt;span class="sym"&gt;);&lt;/span&gt;&lt;br /&gt;         &lt;span class="kwa"&gt;break&lt;/span&gt;&lt;span class="sym"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span class="sym"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sym"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;输出&lt;br /&gt;start&lt;br /&gt;do_jump&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;在复杂的状态机中跳出，或者进行错误恢复，简单的代替C++的catch/throw 应该是不错的吧。&lt;br /&gt;&lt;br /&gt;不过，这玩意儿，估计调试起来，比goto还麻烦，应该也是不常见人用的原因。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-600439089477844216?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/600439089477844216/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=600439089477844216' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/600439089477844216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/600439089477844216'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/02/setjmplongjmp.html' title='setjmp/longjmp'/><author><name>Sean Lin</name><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-9055327.post-8946869127959852323</id><published>2008-02-02T22:07:00.000+08:00</published><updated>2008-02-02T22:50:03.820+08:00</updated><title type='text'>再见，深图！</title><content type='html'>离开深圳的日子近了，陆陆续续的在把一些在深圳办理的服务停掉。&lt;br /&gt;恰好今天临时有事，请了半天年假出来晃悠，抽空去了次图书馆，把想把借书证退掉，拿回押金300大洋。&lt;br /&gt;&lt;br /&gt;到了深图，把原先借的3本书还了，径直的走到服务台。把借书证和身份证给了图书管理员mm，&lt;br /&gt;“退卡。”突然有些忐忑，因为，交押金的时候，给了我3张票据，说是退卡时要。&lt;br /&gt;只见管理员mm麻利填号单子，然后又说，卡里有5.8 rmb的预付款，要不要取出来。这不是废话么，我都不要卡了，还和我说这个。 - -# 应和了一声，305.8 rmb交到我手里，长嘘了口气，原来不用那几张票据，转而又怒了，不需要当时还扯那些蛋，让我早上翻箱倒柜了n久 &gt;_&lt;。  恩？还有那张卡也还给我了...&lt;br /&gt;&lt;br /&gt;“这卡还给我？”&lt;br /&gt;“这是阅读卡，帐号保留。”&lt;br /&gt;“我都要离开深圳了，没用。”&lt;br /&gt;“以后有机会还可以来呀！”&lt;br /&gt;“哦，那留个纪念吧。” &lt;br /&gt;&lt;br /&gt;突然有些伤感，在深圳生活这2年多，要说有感情的地方，大概也就是深图了。大概自己是爱书之人，而深图藏书虽不算多，也基本堪用，服务，硬件甚至建筑在国内也算一流。对于没见过什么世面的我来说，对这里还是有些眷恋的。 。 缓步走出深图，在大厅的一个垃圾桶，看到了这个： &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BaZT4R_AqNw/R6R_7wIjLuI/AAAAAAAAAeY/wwgoGtWNrg8/s1600-h/0202_174410.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_BaZT4R_AqNw/R6R_7wIjLuI/AAAAAAAAAeY/wwgoGtWNrg8/s320/0202_174410.jpg" alt="" id="BLOGGER_PHOTO_ID_5162391737383202530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;一张丢在垃圾桶里的借书证。不禁有些惋惜，深圳终究是个移民城市，人们来了又走。年关到了，也正是很多人和深圳说再见的时候，大概，这张卡是永远没有机会用了。&lt;br /&gt;不过，同是一个爱读书之人，难道，就不能把这张小小的卡片作为深图的一个礼物带走么，丢弃了，于心何忍。&lt;br /&gt;深图的设计也有些问题，借书证是RFID的射频卡，有那么点成本。不需要工本费发放，就应该做成可重复利用的系统。这样的浪费，大概也只有深图才能承受吧 (._.!)&lt;br /&gt;&lt;br /&gt;sigh，再见，深图。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BaZT4R_AqNw/R6SCkAIjLvI/AAAAAAAAAek/xa3_r02Uo5Y/s1600-h/0202_174548.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_BaZT4R_AqNw/R6SCkAIjLvI/AAAAAAAAAek/xa3_r02Uo5Y/s320/0202_174548.jpg" alt="" id="BLOGGER_PHOTO_ID_5162394627896192754" 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/9055327-8946869127959852323?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.szlib.gov.cn/' title='再见，深图！'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/8946869127959852323/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=8946869127959852323' title='15 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/8946869127959852323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/8946869127959852323'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/02/blog-post.html' title='再见，深图！'/><author><name>Sean Lin</name><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/_BaZT4R_AqNw/R6R_7wIjLuI/AAAAAAAAAeY/wwgoGtWNrg8/s72-c/0202_174410.jpg' height='72' width='72'/><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9055327.post-5622502434953981773</id><published>2008-01-19T13:44:00.000+08:00</published><updated>2008-01-19T13:53:04.203+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog gfw'/><title type='text'>Blog 复活</title><content type='html'>因为众所周知的原因，在国内，这个blog是很难访问的。所以，在这个blog上写文章也一直是兴趣缺缺。&lt;br /&gt;&lt;br /&gt;今天申请了一个自己的域名netsnail.net, 不过还没想好是申请虚拟主机还是找朋友去弄个主机空间，所以没有绑到任何ip上。后来想到，也许可以把域名先绑到这里，沒想到，XD，在国内可以直接访问了.&lt;br /&gt;&lt;br /&gt;估计gfw是把blogspots.com的所有三级域名都给封了，不過没封IP。所以如果有想用blogger的服务的同学，也可以试试哦。申请一个自己的域名，然后cname到blogger上。&lt;br /&gt;&lt;br /&gt;具体的操作，可以看这个http://www.williamlong.info/archives/749.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-5622502434953981773?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/5622502434953981773/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=5622502434953981773' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/5622502434953981773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/5622502434953981773'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2008/01/blog.html' title='Blog 复活'/><author><name>Sean Lin</name><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-9055327.post-115916106018750212</id><published>2006-09-25T12:50:00.000+08:00</published><updated>2006-09-25T13:17:08.276+08:00</updated><title type='text'>在ubuntu下玩wow的tips</title><content type='html'>今天看到Mr.徐写的 &lt;a href="http://www.mrxu.net/linux/2006/09/ubuntuwine.html"&gt;在ubuntu下用wine玩魔兽世界&lt;br /&gt;&lt;/a&gt; 感觉写的虽然不错，但是自己编译一道wine，毕竟费时费力。最简单的办法其实在ubuntu官网的wiki上就有&lt;a href="https://help.ubuntu.com/community/WorldofWarcraft"&gt;说明&lt;/a&gt;。直接下个deb包就可以了。&lt;br /&gt;而且声音经过设置后，还是比较正常的。&lt;br /&gt;更详细的说明还是wine的&lt;a href="http://appdb.winehq.org/appview.php?iVersionId=5606"&gt;appdb&lt;/a&gt;里。一些相关的commit也比较有用。&lt;br /&gt;&lt;br /&gt;另外，不知为什么，我在wine里还是用不了输入法，不过，hoho，我有这个&lt;a href="http://www.seerhut.org/zhinput/"&gt; zhinput&lt;/a&gt; :为wow度身定做的输入发，用lua的^_^，因为是插件，所以基本上不会遇到其他莫名其妙的窗体崩溃，错位之类的事情。&lt;br /&gt;&lt;br /&gt;不过，在网上下到的版本是for 1.11的，wow会说是版本错误。只要打开zhinput.toc 把第一行的11100改成现在的版本号，如11200就ok拉。当然，如果是作者自己改就更好了:p&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-115916106018750212?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/115916106018750212/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=115916106018750212' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/115916106018750212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/115916106018750212'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2006/09/ubuntuwowtips.html' title='在ubuntu下玩wow的tips'/><author><name>Sean Lin</name><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-9055327.post-110541757132913027</id><published>2005-01-11T11:43:00.000+08:00</published><updated>2005-01-11T12:26:11.330+08:00</updated><title type='text'>开始学习一门新的语言:lua</title><content type='html'>说来好笑,为了一个游戏(WoW)学习一门新的程序语言:Lua.学它是为了心头蛰伏的一个想法.现在对他知道的不多,好像在游戏脚本上有一定地位吧.看了部分语法,感觉和C,pyhon有些相像.手头的资料有Lua 5.0 Reference Manual和&lt;a href="file:///e:/BOOK/Program%20language/Lua/lua/index.html" tppabs="http://www.lua.org/pil/index.html"&gt;&lt;span style="font-family:Helvetica,Arial,sanserif;"&gt; &lt;span style="color:gray;"&gt;Programming in &lt;/span&gt;&lt;span style="color:blue;"&gt; Lua. &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="file:///e:/BOOK/Program%20language/Lua/lua/index.html" tppabs="http://www.lua.org/pil/index.html"&gt;&lt;span style="font-family:Helvetica,Arial,sanserif;"&gt;&lt;/span&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/9055327-110541757132913027?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.lua.org' title='开始学习一门新的语言:lua'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/110541757132913027/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=110541757132913027' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110541757132913027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110541757132913027'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2005/01/lua.html' title='开始学习一门新的语言:lua'/><author><name>Sean Lin</name><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-9055327.post-110041605047717371</id><published>2004-11-14T14:29:00.000+08:00</published><updated>2004-11-14T15:07:30.476+08:00</updated><title type='text'>一个不错的表达方式-Flickr Tag</title><content type='html'>Blogger没有图片上传功能,按照系统的提示,到Flickr上申请了一个帐号,用起来感觉还不错.前几天在看到&lt;a href="http://blogs.51.net/archives/000854.html"&gt;刻录事&lt;/a&gt;上看到一片讲在flickr上掏图片的文章,今天试了一下,的确能找到很多好图.不过让我有些惊喜的还是Flicker的&lt;a href="http://www.flickr.com/photos/tags/"&gt;Popule Tag&lt;/a&gt;页面.真是一种不错的表达方式呢.&lt;br /&gt;也许很多人都知道了呢,反正我是第一次看到用这种形式表达热点关键字,简单明了,也很有美感.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/netsnail/1460873/"&gt;&lt;img src="http://www.flickr.com/photos/1460873_63a745c5d6_m.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-------------------------------------------------&lt;br /&gt;&lt;br /&gt;一个网站被黑后,一般过不了多久就会让勤劳而郁闷的管理员恢复成原样,黑客同志们也许会用Flickr来保存他们的功绩.不过,有人一早就给他们提供了更好的服务,&lt;a href="http://mirror.delta5.com.br/"&gt;Delta5 Security&lt;/a&gt;,当你黑了一个网站后,一定要去那里登记.有了snapshot,谁也不能抵赖 ^_^&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-110041605047717371?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/110041605047717371/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=110041605047717371' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110041605047717371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110041605047717371'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2004/11/flickr-tag.html' title='一个不错的表达方式-Flickr Tag'/><author><name>Sean Lin</name><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-9055327.post-110023466755863139</id><published>2004-11-12T11:29:00.000+08:00</published><updated>2004-11-14T15:34:34.263+08:00</updated><title type='text'>Computing in the 21st Century的流水帐</title><content type='html'>11月11日，早上8点起来，骑车40多分钟到研究生考试四川师范大学考场报考研究生。本想顺便在那里吃顿饭，结果中途得知，“Computing in the 21st Century”学术研讨会会在1点开始，只好更改计划，用极速骑回学校。&lt;br /&gt;&lt;br /&gt;从 北门进入学校，就看到会议的会场，当时也快12点半了，看见由一辆警车开道，跟着是几辆档次不错的车，领导大爷们还真有排场阿 - -#。会场前，一群营养不良，面带晦气的保安正在努力的操练，企图站一个标准的军姿，还有三三两两的学生已经开始准备进场了。我则飞快的向食堂骑去。&lt;br /&gt;&lt;br /&gt;吃完饭，闲坐在&lt;a href="http://www.dormforce.net/"&gt;NU&lt;/a&gt;办公室WoW，我们可爱的&lt;a href="http://kaby.blogdriver.com/kaby/index.html"&gt;kaby&lt;/a&gt;同 学终于出现，带来了我的那张门票。于是NU人众出现在了学校的主干道上。道路的两旁停满了无人乘坐的“城市之星”大巴，还贴着刚才运送的货物的产地：四川 大学，西南交通大学。顿时对这次会议的组织工作和MS的$感觉相当的满意。以至于后来的调查表给了组织工作一个8分(9分最高)。&lt;br /&gt;&lt;br /&gt;交了 100￥押金，领了个同声传译耳机，到会场里一看，人都快满了，只好找了个较远的位置坐下。会场布置得相当华丽，7个(如果不括被当作舞台背景的那 个)巨大的投影屏幕，和着背景音乐闪烁的灯光，很有产品发布会的感觉。当时就在想，等一下会不会有一辆吉普车开上会场...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;找了 个位子坐 下，看了看会议的资料，最让我感到舒服就是厚厚的一本Handout。不同于常见的种印得密密麻麻的本子，这次的handout把一张A4纸 分成左右两半，左遍是一页页的PPT，右边则只有几行横线，可以让你在开会的时候乱涂乱划^_^，相当贴心的设计。以后如果上课，一定要这么搞。翻了翻演 讲人介绍，看到杨振宁的介绍，想想他居然不来，嗯，有些可惜，而这样，这次会议也就成了MS的独脚戏，任它自吹自擂。&lt;br /&gt;&lt;br /&gt;这次成都会场有四个主题演讲：&lt;br /&gt;14:00-14:45 主题演讲1：插上计算的翅膀&lt;br /&gt;                                          Rick Rashid博士，微软公司高级副总裁&lt;br /&gt;14:45-15:30 主题演讲2 : 21世纪的计算机&lt;br /&gt;                                          Chuck Thacker先生，德雷珀奖获得者&lt;br /&gt;15:30-16:15 主题演讲3:  无缝计算-计算机科学研究的机遇与挑战&lt;br /&gt;                                          沈向洋博士, 微软亚洲研究院院长兼首席科学家&lt;br /&gt;16:15-17:00 主题演讲4:  无缝移动计算&lt;br /&gt;                                         张亚勤博士，微软公司副总裁&lt;br /&gt;&lt;br /&gt;演讲的档次和北京主会场相比差了不少,没办谁叫我们不是祖国的心脏呢!&lt;br /&gt;会议开始前自然少不了领导致辞,真的很寒那群大爷们,为我们增加了这么多笑料 - -...&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;闪光点1：  计算机学院的吴院长，一句“欢迎大家来到中国最具盛名的电子类学校电子科技大学”的豪言壮语，引来川大的看台上的噱声一片，以及成电人的几滴冷汗。&lt;/li&gt;   &lt;li&gt;闪光点2：  还是吴院长，用E文念嘉宾的名字，结果嘉宾居然没听出来。顿了一会才站起来向大家致意。&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt;   &lt;li&gt;闪光点3：  市长大人，一句易经中提出2进制，并叫在座的学生好好体会他为什么要说这句话，让我庆幸，好在杨振宁没来，不然尊敬的市长博士先生一定会说在《老子》中用到原子一词。&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt;   &lt;li&gt;闪光点4：  领导大人们来了很多，开幕致辞一结束，就集体离座。你们能不能不来阿！&lt;/li&gt; &lt;/ul&gt; 终于，熬过了闹剧开始看正剧。&lt;br /&gt;主持人是张益肇，一开口几句话就把前主持吴院长给比下去了。对本学科的理解加上幽默感，形成了一种“无缝主持”的风格。&lt;br /&gt;&lt;br /&gt;第一个上场的Dr.Rick Rashid给我留下最深印象的，可能就是一开场的那句话了：&lt;br /&gt;Scientists and engineers don't create the future,we create the intellectual and physical raw materials from which the future can be bulit.&lt;br /&gt;这 段话好象是他在今年5月在ACM SIGECOM的一个会上讲的，道理简单，但我们常常忽略了。我们有时太注意技术本身，而不是以人为本。至于他介绍的那些研究项目： TerraServer、SkyServer、WWMX、Wallop等到是已经看到几次了，没有太多的新鲜感，只是和他的论题很吻合，强调用户的体验与 创造。对于那些来看热闹的人到是起了很不错的作用，感叹声不绝于耳。当然，还不忘给CLR、SPOT做做广告。最近常在思考几个关键字：Weblog、 orkut、We the Media、 Social Computing和。看了他说的Human Scale Storage及相关的工具，觉得也许有一天，我们的一切都会被记录下来，无法想象阿。干脆每个人植入一块芯片得了=.=...&lt;br /&gt;&lt;br /&gt;然后就是 Chuck Thacker老头子隆重登场了，一个软硬通吃的家伙，相当的激进，是我稀饭的风格。“只有偏执狂才能生存”呵！报告在四个人中是最有内容的，不过那段时 间好象也是中场退场人数最多的(bs一下那些听不懂但以搞到票为荣的人)。讲了一通Moore‘s low 之后，给了我们5个Obsolete software ideas ：&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Virtual Memory：随着memory价格的下降，不须用虚拟内存了。disk上的虚拟内存会使系统变慢。我当时的念头是，要disk干吗？现在的技术条件应该可以使用快速的SRAM来当storage media。&lt;/li&gt;   &lt;li&gt;Hieratchical file systems：的确，层次性文件系统对于人来说，最大的问题是用目录来分类是对于绝大多数的文件是不合适的。而文件名来描述文件也过于简单了。虽然感到 他想给还是半成品的WinFS做广告，但还是成功的落入他的全套，对有index功能的新文件系统有点期待。index的概念在Google Desktop Search里就已经有所体现，不过它只是一个外加的程序，系统本身的FS对index支持极少，所以没有太大的作为。在那张幻灯片旁，我写了几个 keyword：多标签，分类，内容标识，Contextualizing &amp;amp; Customizing search 。&lt;/li&gt;   &lt;li&gt;Verfying software quality by testing：这个，不好评论，从直觉上感觉他是对的。但是，改革起来难度要比其它论点难度大得多。&lt;/li&gt;   &lt;li&gt;Low-level Programming Languages：举双手赞成^_^,何必重新发明轮子呢,要用高效率的开发工具。计算机本来就是一个讲究分层的学科，每一层都有自己合适的原语。对于 绝大多数应用，RAD才是王道阿。对他提到的Java和C#，还是感觉在动态方面走得不够远，Python，Ruby之类的语言应该更符合人类的思维习 惯，适合快速开发。还有当年红透半边天的Lisp，其函数式编程思想，也很有潜力重新崛起。想起当年还是个开始学ASM的小P孩时，就想过要一个统一的原 语，哈哈，现在好象有这个潜力了，不过可能不是是芯片级，而是系统级的。&lt;/li&gt;   &lt;li&gt;Single-threaded programs：感觉操作系统和程序语言可以做得更多，脑海里盘旋这一个词：Ada。&lt;/li&gt; &lt;/ul&gt; 总体上，对Chuck Thacker的演讲相当的满意，很强的人格魅力，以及他坚持不用花哨的PPT，果然是真正的Hacker。最后，他说到，他有些妒忌现在的我们，有了那 么多 intellectual 和 physical raw materials，可以创造出更多有意思的东西。其实，偶还是有些羡慕当年的real program时代^_^.&lt;br /&gt;&lt;br /&gt;第3场就是我们handsome的向洋了。他的内容可以说是Dr.Rashid讲的内容的一部分，几个演示相当精彩，赢得不少掌声，不过有些喧宾夺主，以至于最后差点忘了他在说什么，以为是个新产品发布会。&lt;br /&gt;&lt;br /&gt;至 于亚勤，只能说他处在一个尴尬的位置，要为MS做托，把WinCE介绍了一通，顺便做一下MS的形象公关，整个演讲空洞无物。不过，还是一个相当可爱的 人，很和善，讲到兴奋处会手舞足蹈，有一阵子我很担心我们学校的演讲台是不是假冒伪劣产品，被他摇得晃来晃去，随时有倒的危险。&lt;br /&gt;&lt;br /&gt;接下来就是尴尬的提问时间了，当四个演讲者齐刷刷的坐在台上时，那个风度阿...&lt;br /&gt;不过，他们的风度最多的还是表现在回答一些相当没有品位的问题时，表现出来的举重若轻。无论多么无聊的问题，总能化腐朽为神奇，尽量的往学术上靠。&lt;br /&gt;&lt;br /&gt;在 这里，我一定要寒一下一些同学：你没有问题就不要想问题出来问嘛，为问问题而问问题，而且还尽想些自以为很艰深的问题来显示自己的水平，结果，最后连自 己要问的内容都不知是什么！英文不行，你就用中文嘛，何必这样半中半洋的，中国人听不懂，外国人更听不懂，只有象益肇那样从事自然语言界面研究的海龟，才 能有个一知半解:-(&lt;br /&gt;&lt;br /&gt;还是那位Dr.Rashid,很喜欢回答别人的问题,哪怕问的不是他,也会说,他要补充一点...有学者的模样...&lt;br /&gt;&lt;br /&gt;整个演讲,就如美国电影一样,看的时候很精彩,暗地里给你灌输很多“万恶资本主义的糟粕”。也怨不得MS，人家又出$又出人的，怎么也得插播广告吧。嘻嘻，看看MS这家顶级公司在做什么，还是能引起很多的思索的。&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/9055327-110023466755863139?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://research.microsoft.com/asia/news/displayArticle.aspx?id=1046' title='Computing in the 21st Century的流水帐'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/110023466755863139/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=110023466755863139' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110023466755863139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110023466755863139'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2004/11/computing-in-21st-century.html' title='Computing in the 21st Century的流水帐'/><author><name>Sean Lin</name><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-9055327.post-110019933911395456</id><published>2004-11-12T02:39:00.000+08:00</published><updated>2004-11-13T11:11:39.046+08:00</updated><title type='text'>blogger.com 推出中文版</title><content type='html'>今天登上blogger.com一看,居然是中文版.虽然现在在使用软件的时候已经常常感觉不到是在用中文软件还是英文软件了.不过看到中文还是分外的亲 切.可惜,翻译好的界面只占了整个bloger.com站点的一小部分.blog的管理界面,blogger knowledge还是E文的.相信blogger.com会做得更好的.&lt;br /&gt;不过,blogger.com是否知道,发布blog页面的 blogspot.com是不能被中国网络用户直接访问的 - -!也就是说,中国用户可以在blogger.com上编辑,发布自己的blog,却不能到username.blogspot.com上去看效果.oh ,the great firewall!真是无处不在阿.&lt;br /&gt;&lt;br /&gt;----------------我是单调的分割线--------------------&lt;br /&gt;&lt;br /&gt;另,今天“21世纪的计算”学术研讨会在我校(UESTC)召开，来演讲的有：MS的Rick  Rashid,Chuck Thacker(比较喜欢他的演讲)，沈向洋，张亚勤。大师的确不一样，听完讲座，感触颇深。&lt;br /&gt;明天再继续blog这次会议！&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-110019933911395456?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.blogger.com' title='blogger.com 推出中文版'/><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/110019933911395456/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=110019933911395456' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110019933911395456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110019933911395456'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2004/11/bloggercom.html' title='blogger.com 推出中文版'/><author><name>Sean Lin</name><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-9055327.post-110000327675273334</id><published>2004-11-09T20:06:00.000+08:00</published><updated>2004-11-10T02:39:49.916+08:00</updated><title type='text'>FireFox Is Coming！</title><content type='html'>经过19个月的开发，两次改名，数10个预览版被下载了8xx万后,FireFox终于准备在1 a.m. PDT Tuesday(北京时间11.9 17:00) 发布 1.0 版本。届时，对于早已不堪重负的 Mozllia ftp 服务器来说，不缔于一次全球规模的DDOS。当然，惊世骇俗的&lt;a href="http://www.spreadfirefox.org/"&gt;SpreadFireFox&lt;/a&gt;也将隆重登场.在&lt;a href="http://www.nytimes.com/"&gt; NewYork Times &lt;/a&gt;登上全版的广告。这一切，都将作为一个里程碑，载入到计算机史上。&lt;br /&gt;firefox 1.0版的发布，象征意义是高于使用价值的。毕竟，那么多个稳定、高效的预览版，早已证明，它是浏览器的王者.但是，正是因为它是一个浏览器，使 它注定要在开源软件史上留下浓墨重彩的一笔。对于现在的普通用户而言，可以说，浏览器占据了他绝大部分使用计算机的时间。而且，随着B/S软件开 发架构的盛行，很多工作，没有浏览器已经无法进行。甚至连很多的单机桌面软件，如最近推出的 &lt;a href="http://desktop.google.com/"&gt; Google Desktop Search &lt;/a&gt;， 也是用浏览器作为前台. 浏览器已经成为软件的基础技术，是受众最多的软件。强调的是易用性和用户体验。而现在占据浏览器第一位的Internet Explorer, 其开发公司 Microsoft 也是具有另一个象征意义──商业垄断。有人说，Microsoft 已经放弃了IE的开发，FireFox 不过是在和风车作战。也许，表面上是这样呢。正如电信公司现在不会开发新的技术去提高普通市话的语音质量一样，浏览器技术也是相当成熟的技术了，没有太多 技术潜力可以发掘。可是，如果有人跳出了说可以免费提供电话服务，电信公司非在法庭上和他兵戎相见不可。浏览器也是如此.若干年前，网景还在为 Windows捆绑IE打官司，MS为了避嫌，还特意推出了一个小工具，可以从Windows上卸载IE。如今，如果把IE控件从Windows里删除， 还有多少个程序能够顺利运行。而现在MS开发的一些新技术、新产品，如 .NET、longhorn、XAML, 哪一项不是用到浏览器技术的。一项技术，当它无处不在的时候，就该退出前台了。FireFox也会走上这条路的，在风光的宣传，成为大众的第一选择后，就 会慢慢淡下来，成为开源软件开发不可或缺的组件。&lt;br /&gt;传统上认为,开源软件只适用于专业用户,对于普通用户而言,其学习曲线太陡,不易于使用.在现在用户数量最多的浏览器,办公软件,IM等软件上,占据前列的都不是开源软件.所以,不管世界上有多少的服务器运行着 Linux ,用&lt;a href="http://www.apache.org/"&gt;apache&lt;/a&gt;,&lt;a href="http://www.proftpd.org/"&gt;proftp&lt;/a&gt; 给公众提供着服务,有多少人的计算机,手机,游戏机软件是Gcc编译的,普通用户看不到开源软件.FireFox冲到了前台,第一次,开源阵营有了真正可 以和商业软件竞争的终端用户软件.让普通用户知道世界上,有这样的一群人,为了兴趣去开发好用的软件,而且免费的,所有人都可以使用,甚至得到它的源码, 进行修改.从此,开源软件从暗不见天日的巨型机房、Geek的地下室、hacker的工具箱里走出来，进入Desktop PC，进入Pocket PC，移动电话，甚至于手表、电饭锅，为人所熟知，成为改变世界的力量。&lt;br /&gt;也许,在不久的将来,当一 个孩子,第一次遇到计算机，它看到的第一个软件就是FireFox，而上面的内容，也许就是一个Blog(可不可能是我的呢 ^_^)。如同70年代的学生刚到大学是看到古老的PDP，Unix，使用新闻组，BBS，从而孕育出Hacker文化一样，在开源软件、We The Media 环境下成长的人，会产生什么样的文化呢？&lt;br /&gt;序幕正在拉开。FireFox is Coming！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-110000327675273334?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/110000327675273334/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=110000327675273334' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110000327675273334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/110000327675273334'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2004/11/firefox-is-coming.html' title='FireFox Is Coming！'/><author><name>Sean Lin</name><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-9055327.post-109992116113350043</id><published>2004-11-08T20:30:00.000+08:00</published><updated>2004-11-08T21:51:00.316+08:00</updated><title type='text'>使用highlight实现代码语法高亮</title><content type='html'>写了一段时间的blog，常常要在blog上贴些代码。以前的方法是用vim的一个标准的plugin：TOhtml，功能还算强大，能满足我的要求。可是前天发生的事让我觉得有必要重新找一个工具。&lt;br /&gt;vim的TOhtml有一个类似theme的概念，当你用console时，它用一套配色方案;用GUI时，用另一套配色方案。比如保留字在黑色背景的console窗口是 &lt;span style="background: rgb(0, 0, 0) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; color: rgb(255, 255, 102);"&gt;亮黄色&lt;/span&gt; ;在白色的背景GUI下是 &lt;span style="color: rgb(255, 102, 102);"&gt;红棕色&lt;/span&gt; 。这当然很好，不过前天我是在console下用vim编辑的blog的， 然后用我写的一个  &lt;a href="http://dormforce.net/Blog/netsnail/archive/2004/11/07/2490.aspx"&gt;小工具&lt;/a&gt; 直接发到blog上，结果代码在网页上看起来异常难看。在重新配色时，我发现TOhtml对字体、颜色进行标识时，是直接在每个token上直接使 用font标签，违背了内容和表示分离的设计规范。弊病自然有很多，其中最大的，莫过于不能对颜色进行整体改变。特别是当blog的skin更改，背景色 发生改变时，手工改动简直是生不如死阿 @_@&lt;br /&gt;&lt;br /&gt;在网上找了找，发现&lt;a href="http://www.andre-simon.de/"&gt; highlight&lt;/a&gt; 的介绍比较吸引人。试用了一下，发现跟我想象中的工具一模一样，输出xhtml，每个token都有一个css class ，只要修改css就可以实现theme功能。现在绝大多数的blog都支持自定义css，以上的问题一下子都解决了。而且，highlight还象 ident一样有排版功能。果然是英雄所见略同^_^。&lt;br /&gt;&lt;br /&gt;highlight 的输出格式有: HTML, XHTML, RTF, LaTeX , TeX&lt;br /&gt;&lt;br /&gt;highlight 支持的语言包括:&lt;br /&gt;Ada 95, Agda, AMPL, Aspect, Assembler, Amtrix, Avenue, (G)AWK, Bash, BlitzBasic, BMS, C, C++, C#, ClearBasic, Clipper, COBOL, CSS, DOS-Batch, Eiffel, Euphoria, Express, Fortran, Haskell, HTML, HTTPD, IDL, INI, Jasmin, Java, JavaScript, LaTeX, LDIF, Lotus Script, Lua, Make, Maya, Matlab, Modelica, Modula 3, (Object) Pascal, Paradox, PATROL, Perl, PHP, Pike, PL/1, PL/SQL, POV Ray, Progress, Python, Rexx, Ruby, Small, Spin, Sybase, VHDL, Visual Basic, XML.&lt;br /&gt;&lt;br /&gt;是不是多得有些吓人呢。&lt;br /&gt;BTW. highlight支持win32、bsd、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/9055327-109992116113350043?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/109992116113350043/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=109992116113350043' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/109992116113350043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/109992116113350043'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2004/11/highlight.html' title='使用highlight实现代码语法高亮'/><author><name>Sean Lin</name><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-9055327.post-109989792885052102</id><published>2004-11-08T14:25:00.000+08:00</published><updated>2004-11-08T15:12:08.850+08:00</updated><title type='text'>阅读者分类法</title><content type='html'>近来看了一些关于分类的文章,如&lt;a href="http://www.isaacmao.com/"&gt;isaacmao&lt;/a&gt; , &lt;a href="http://www.klogs.org/archives/2004/11/ecaoeioeaeieeoe.html"&gt;刻录事&lt;/a&gt; ,&lt;a href="http://blog.wespoke.com/"&gt;六翼&lt;/a&gt; 等的文章,觉得分类的确是一门学问.不过我自己是相当懒的,以前我的旧blog只有两个分类,一个是自己写的文章,另一个是转载的.后来开始用furl, 转载也就免了,所以,我的旧blog也就等于没有分类.而blogger提供的blog 服务,更彻底,连分类这个功能都没有,到也让我省心.我并不讨厌分类,只是觉得,有些东西很难确定应该放在哪里.就算用现在流行的方式,把一篇文章加上几 个标签,还是很难取舍.&lt;br /&gt;&lt;br /&gt;进行分类的人的素质也是个问题.相信很多人有过这种遭遇,在一个网站里,按照它的分类方式找东西,结果没找到,又不死心,用全站搜索才发现,原来想找的东西被放在一个完全不搭调的地方:-(&lt;br /&gt;&lt;br /&gt;今天在网上闲逛,突然想到,如果由用户,或者说信息的阅读者来进行分类,那么分类会不会更准确些呢?每个人都会有自己特别感兴趣的方面,他浏览相关信息的 可能性就会比较大.如果给每条信息加上一个属性,用来记录各种来访用户感兴趣的主题,用户每次浏览都告诉信息提供者自己所感兴趣的主题,然后那条被浏览信 息里相关主题的计数器就会加1.如果一条新闻,主要浏览它的是对计算机感兴趣的人.那么,大概可以认定,这是一条关于计算机的新闻.当然,一条信息可以分 到浏览人数最多的几个主题里.我想,这大概会是比较科学的一种分类方式吧.&lt;br /&gt;&lt;br /&gt;说起来好象很简单,不过实现起来可能回来有一定的问题,其中最重要的是阅读者如何提交自己感兴趣的话题.浏览的时候填一个表格?那是绝对不可行的.也许,可以通过某种统一的passport来实现.不过,要世界大同,实在是太难了.&lt;br /&gt;&lt;br /&gt;我想的是,可以在浏览器上做手脚,最简单的是修改http头上的user-agent.在里面加上几个自己感兴趣的主题.或者干脆,在http协议里加上这样一个字段.虽然技术上是可行的.但要成为一个标准,估计还是很难的.&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/9055327-109989792885052102?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/109989792885052102/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=109989792885052102' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/109989792885052102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/109989792885052102'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2004/11/blog-post.html' title='阅读者分类法'/><author><name>Sean Lin</name><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-9055327.post-109985196392421486</id><published>2004-11-08T02:25:00.000+08:00</published><updated>2004-11-08T21:41:16.886+08:00</updated><title type='text'>新Blog开张了.</title><content type='html'>以前一直用的学校网管会的&lt;a href="http://www.dormforce.net/blog"&gt;Blog&lt;/a&gt;,写了很多没什么意思的文章.虽然那个blog用起来也不错,可惜是教育网,国外访问不了,让我很是郁闷.于是终于下定决心,重新申请一个blog.&lt;br /&gt;&lt;br /&gt;所谓人随大流,找blog服务商也还是要找大的.在我心目中,&lt;a href="http://www.blogger.com/"&gt;blogger.com&lt;/a&gt;  大概就是这种网站吧.一直对&lt;a href="http://www.google.com/"&gt;google&lt;/a&gt; 提供的服务情有独钟.每天必到的网站就是google, gmail, google news. 现在,又要多一个了--Blogger ^_^ 不过现在看了,我访问blogger好象有些慢,但愿不要对以后的使用有影响.&lt;br /&gt;&lt;br /&gt;这个blog,我大概只会在上面写些技术文章,还有一些对公众有一定意义的东西.至于比较私人的文章,还是会发到我的老&lt;a href="http://www.dormforce.net/blog/netsnail"&gt;blog&lt;/a&gt;上吧!&lt;br /&gt;&lt;br /&gt;这个blog是能被国外的人浏览的,那我的技术文章是不是也要用英文呢?我的英文好象有些差阿.&lt;br /&gt;用不用英文,是一个问题 =_=&lt;br /&gt;&lt;br /&gt;P.S. 最近在努力复习考研,估计要几个月后才能写一些有意思的文章,不过还是先在这里占个位.嘻嘻...&lt;br /&gt;to be continue...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9055327-109985196392421486?l=blog.netsnail.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.netsnail.net/feeds/109985196392421486/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9055327&amp;postID=109985196392421486' title='10 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/109985196392421486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9055327/posts/default/109985196392421486'/><link rel='alternate' type='text/html' href='http://blog.netsnail.net/2004/11/blog.html' title='新Blog开张了.'/><author><name>Sean Lin</name><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>10</thr:total></entry></feed>
