<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-9055327</atom:id><lastBuildDate>Sat, 30 Jan 2010 12:30:41 +0000</lastBuildDate><title>Thinking In Shell</title><description>NetSnail's Blog contains what he is studying,researching and thinking!</description><link>http://blog.netsnail.net/</link><managingEditor>noreply@blogger.com (Sean Lin)</managingEditor><generator>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-5470750893197185041</guid><pubDate>Sat, 30 Jan 2010 11:28:00 +0000</pubDate><atom:updated>2010-01-30T20:30:41.543+08:00</atom:updated><title>pike的坏味道</title><description>今天在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;</description><link>http://blog.netsnail.net/2010/01/pike.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-5376620835424604293</guid><pubDate>Sun, 14 Jun 2009 15:41:00 +0000</pubDate><atom:updated>2009-06-14T23:41:26.786+08:00</atom:updated><title>科幻，阅读和其他碎碎念</title><description>最近很忙，一直没有时间看完一些大段的文章。虽然想读的书甚多，但是只见书单越长越长，却总是没气力开打超过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;</description><link>http://blog.netsnail.net/2009/06/blog-post_608.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-7171436513432433596</guid><pubDate>Wed, 03 Jun 2009 15:59:00 +0000</pubDate><atom:updated>2009-06-04T00:03:06.807+08:00</atom:updated><title>阉割与自我阉割</title><description>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;</description><link>http://blog.netsnail.net/2009/06/blog-post.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-7280240852268816983</guid><pubDate>Thu, 23 Apr 2009 09:15:00 +0000</pubDate><atom:updated>2009-04-23T17:29:06.547+08:00</atom:updated><title>Awesome 3.2.1 At Ubuntu 9.04</title><description>前几天经受不了诱惑，装上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;</description><link>http://blog.netsnail.net/2009/04/awesome-321-at-ubuntu-904.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-3612253485163747894</guid><pubDate>Fri, 27 Mar 2009 16:55:00 +0000</pubDate><atom:updated>2009-03-28T01:20:05.307+08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>python lua</category><title>有爱的lunatic python</title><description>还是在做上篇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;</description><link>http://blog.netsnail.net/2009/03/lunatic-python.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-8232965936300795576</guid><pubDate>Mon, 23 Mar 2009 15:33:00 +0000</pubDate><atom:updated>2009-03-24T23:46:08.303+08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>python</category><title>用gtksourceview实现代码高亮</title><description>最近用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;</description><link>http://blog.netsnail.net/2009/03/gtksourceview.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-6747859474274310117</guid><pubDate>Fri, 20 Mar 2009 05:26:00 +0000</pubDate><atom:updated>2009-03-20T13:45:07.203+08:00</atom:updated><title>IE8 灾难</title><description>今天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;</description><link>http://blog.netsnail.net/2009/03/ie8.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-7906276128957065624</guid><pubDate>Mon, 09 Mar 2009 07:08:00 +0000</pubDate><atom:updated>2009-03-09T15:18:23.332+08:00</atom:updated><title>要河蟹，不折腾，在Linux设置静态DNS.</title><description>从周六开始，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;</description><link>http://blog.netsnail.net/2009/03/linuxdns.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-7972380859025562664</guid><pubDate>Tue, 03 Feb 2009 08:07:00 +0000</pubDate><atom:updated>2009-02-03T16:44:38.924+08:00</atom:updated><title>Bash 的可编程智能补全</title><description>不知道什么时候开始，发现在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;</description><link>http://blog.netsnail.net/2009/02/bash.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-5098790959226286715</guid><pubDate>Fri, 23 Jan 2009 09:46:00 +0000</pubDate><atom:updated>2009-01-24T15:08:33.036+08:00</atom:updated><title>又到回家时</title><description>再次来到杭州机场，自然，这次还是回家。&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;</description><link>http://blog.netsnail.net/2009/01/blog-post.html</link><author>noreply@blogger.com (Sean Lin)</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 xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-206554788185062367</guid><pubDate>Thu, 06 Nov 2008 06:27:00 +0000</pubDate><atom:updated>2008-11-06T15:01:27.979+08:00</atom:updated><title>偶然遇见熟悉的句子</title><description>大概一年多前，在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;</description><link>http://blog.netsnail.net/2008/11/blog-post.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-8772305096742593101</guid><pubDate>Thu, 16 Oct 2008 06:13:00 +0000</pubDate><atom:updated>2008-10-16T14:50:34.285+08:00</atom:updated><title>学艺不精及其他恼人的小麻烦</title><description>刚到杭州后帮同事用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;</description><link>http://blog.netsnail.net/2008/10/blog-post.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-7405002461823382432</guid><pubDate>Sun, 28 Sep 2008 22:49:00 +0000</pubDate><atom:updated>2008-09-30T08:29:49.254+08:00</atom:updated><title>回家路上的流水帐</title><description>十.一自然还是要回家的。订的是早上八点的机票。没有这么早坐飞机过,麻烦事不少.。由于上次到太晚到机场的惨痛经历,今天四点多就爬起来,拖着发低烧的身体收拾东西。结果出门的时候才五点多点.&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;</description><link>http://blog.netsnail.net/2008/09/blog-post_1541.html</link><author>noreply@blogger.com (Sean Lin)</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 xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-2285525146067744534</guid><pubDate>Sat, 27 Sep 2008 08:10:00 +0000</pubDate><atom:updated>2008-09-27T16:16:27.000+08:00</atom:updated><title>对开源和自由软件的态度</title><description>看到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;</description><link>http://blog.netsnail.net/2008/09/blog-post_27.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-6843400492108528960</guid><pubDate>Sat, 13 Sep 2008 04:01:00 +0000</pubDate><atom:updated>2008-09-13T13:23:10.504+08:00</atom:updated><title>月光光</title><description>昨晚睡得比较晚，早上睡到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;</description><link>http://blog.netsnail.net/2008/09/blog-post_13.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-7604873313563637277</guid><pubDate>Tue, 09 Sep 2008 17:18:00 +0000</pubDate><atom:updated>2008-09-10T01:24:26.500+08:00</atom:updated><title>科学家的可能</title><description>&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;</description><link>http://blog.netsnail.net/2008/09/blog-post.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-4885548225192836816</guid><pubDate>Fri, 29 Aug 2008 09:04:00 +0000</pubDate><atom:updated>2008-08-29T17:53:07.893+08:00</atom:updated><title>谁送我的飞去来器</title><description>写程序到闷了，到豆瓣上闲逛，看到一个帖子，在说 &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;</description><link>http://blog.netsnail.net/2008/08/blog-post.html</link><author>noreply@blogger.com (Sean Lin)</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 xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-2454898530530826262</guid><pubDate>Mon, 14 Jul 2008 10:29:00 +0000</pubDate><atom:updated>2008-07-14T18:44:54.071+08:00</atom:updated><title>马文的忧郁</title><description>周六去杭州图书馆办理了借书证，借了《银河系漫游指南》，《沙丘》和《丧钟为谁而鸣》。&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;</description><link>http://blog.netsnail.net/2008/07/blog-post.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-2302760518028871080</guid><pubDate>Fri, 15 Feb 2008 07:54:00 +0000</pubDate><atom:updated>2008-02-15T17:16:10.936+08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>python</category><title>enumerate() 我们相识得太晚了 &gt;_&lt;</title><description>一直以来，我都被一个问题困扰着，怎么优雅的完成这样的代码.&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;</description><link>http://blog.netsnail.net/2008/02/emumerate.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-600439089477844216</guid><pubDate>Mon, 11 Feb 2008 04:45:00 +0000</pubDate><atom:updated>2008-02-11T13:16:28.909+08:00</atom:updated><title>setjmp/longjmp</title><description>春节在家没什么事情，于是拿出久未用过的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;</description><link>http://blog.netsnail.net/2008/02/setjmplongjmp.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-8946869127959852323</guid><pubDate>Sat, 02 Feb 2008 14:07:00 +0000</pubDate><atom:updated>2008-02-02T22:50:03.820+08:00</atom:updated><title>再见，深图！</title><description>离开深圳的日子近了，陆陆续续的在把一些在深圳办理的服务停掉。&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;</description><link>http://blog.netsnail.net/2008/02/blog-post.html</link><author>noreply@blogger.com (Sean Lin)</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 xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-5622502434953981773</guid><pubDate>Sat, 19 Jan 2008 05:44:00 +0000</pubDate><atom:updated>2008-01-19T13:53:04.203+08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>blog gfw</category><title>Blog 复活</title><description>因为众所周知的原因，在国内，这个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;</description><link>http://blog.netsnail.net/2008/01/blog.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-115916106018750212</guid><pubDate>Mon, 25 Sep 2006 04:50:00 +0000</pubDate><atom:updated>2006-09-25T13:17:08.276+08:00</atom:updated><title>在ubuntu下玩wow的tips</title><description>今天看到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;</description><link>http://blog.netsnail.net/2006/09/ubuntuwowtips.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-110541757132913027</guid><pubDate>Tue, 11 Jan 2005 03:43:00 +0000</pubDate><atom:updated>2005-01-11T12:26:11.330+08:00</atom:updated><title>开始学习一门新的语言:lua</title><description>说来好笑,为了一个游戏(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;</description><link>http://blog.netsnail.net/2005/01/lua.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9055327.post-110041605047717371</guid><pubDate>Sun, 14 Nov 2004 06:29:00 +0000</pubDate><atom:updated>2004-11-14T15:07:30.476+08:00</atom:updated><title>一个不错的表达方式-Flickr Tag</title><description>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;</description><link>http://blog.netsnail.net/2004/11/flickr-tag.html</link><author>noreply@blogger.com (Sean Lin)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>