??xml version="1.0" encoding="utf-8" standalone="yes"?>久久成人小视频,久久精品一区二区三区AV,伊人精品久久久久7777http://www.shnenglu.com/thronds/一问你会什? 二问你做什? 三问你ؓ了什?/description>zh-cnWed, 07 May 2025 13:52:35 GMTWed, 07 May 2025 13:52:35 GMT60l端VI支持gb2312[转]--字符~码的纠l?/title><link>http://www.shnenglu.com/thronds/archive/2009/06/02/86497.html</link><dc:creator>thronds</dc:creator><author>thronds</author><pubDate>Mon, 01 Jun 2009 18:23:00 GMT</pubDate><guid>http://www.shnenglu.com/thronds/archive/2009/06/02/86497.html</guid><wfw:comment>http://www.shnenglu.com/thronds/comments/86497.html</wfw:comment><comments>http://www.shnenglu.com/thronds/archive/2009/06/02/86497.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/thronds/comments/commentRss/86497.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/thronds/services/trackbacks/86497.html</trackback:ping><description><![CDATA[<br> <div class="dhbr77j" id=art style="MARGIN: 15px; LINE-HEIGHT: 150%" width="560"><span id="t999zd9" class=postbody>修改.vimrc文gQ让其支?gb2312p</span><br>"讑֮文g~码cdQ彻底解决中文编码问?<br>let &termencoding=&encoding <br>set fileencodings=utf-8,gbk,ucs-bom,cp936 <br><span id="h7fhhz7" class=postbody><br>略微查了一?vimrc中添加内容的含意Q这文章有相关解释?<br><a target=_blank><u><font color=#0000ff>http://blog.dawnh.net/comment.php?type=trackback&entry_id=59</font></u></a> <br>内容如下Q?<br><br>vim中编辑不同编码的文g旉要注意的一些地?<br>此文讲解的是vim~辑多字节编码文档(中文Q所要了解的一些基知识Q注意其没有涉及gvimQ纯指字W终端下的vim?<br>vim~码斚w的基知识Q?<br><br>1Q存?个变量: <br>encoding----该选项使用于缓冲的文本(你正在编辑的文g)Q寄存器QVim 脚本文g{等。你可以?'encoding' 选项当作是对 Vim 内部q行机制的设定?<br>fileencoding----该选项是vim写入文g旉用的~码cd?<br>termencoding----该选项代表输出到客L端(TermQ采用的~码cd?<br>2Q此3个变量的默认| <br>encoding----与系l当前locale相同Q所以编辑文件的时候要考虑当前localeQ否则要讄的东西就比较多了?<br>fileencoding----vim打开文g时自动L认其~码Qfileencoding׃ؓ辨认的倹{ؓI则保存文g旉用encoding的编码,如果没有修改encodingQ那值就是系l当前locale了?<br>termencoding----默认I|也就是输出到l端不进行编码{换?<br><br>由此可见Q编辑不同编码文仉要注意的地方不仅仅是q?个变量,q有pȝ当前locale和、文件本w编码以及自动编码识别、客戯行vim的终端所使用的编码类?个关键点Q这3个关键点影响着3个变量的讑֮?<br>如果有h问:Z么我用vim打开中文文档的时候出Cؕ码? <br>{案是不定的,原因上面已经讲了Q不搞清楚这3个关键点和这3个变量的讑֮|出现q是正常的Q倒是不出Cؕ码那反倒是凑y的?<br><br>再来看一下常见情况下q三个关键点的g及在q种情况下这3个变量的| <br>1Qlocale----目前大部分Linuxpȝ已经utf-8作ؓ默认locale了,不过也有可能不是Q例如有些系l用中文locale zh_CN.GB18030。在locale为utf-8的情况下Q启动vim后encoding会讄为utf-8Q这是兼Ҏ最好的方式Q因为内部处理用utf-8的话Q无论外部存储编码ؓ何都可以q行无缺损{换。locale军_了vim内部处理数据的编码,也就是encoding?<br>2Q文件的~码以及自动~码识别----q方面牵扯到各种~码的规则,׃一一l讲了。但需要明白的是,文g~码cdq不是保存在文g内的Q也是说没有Q何描q性的字段来记录文档是何种~码cd的。因此我们在~辑文档的时候,要么必须知道q文档保存时是以什么编码保存的Q要么通过另外的一些手D|断定~码cdQ这另外的手D,是通过某些~码的码表特征来断定Q例如每个字W占用的字节敎ͼ每个字符的ascii值是否都大于某个字段来断定这个文件属于何U编码。这U方式vim也用了Q这是vim的自动编码识别机制了。但q种机制׃~码各式各样Q不可能每种~码都有显著的特征来辨别Q所以是不可?100%准确的。对于我们GB2312~码Q由于其中文是用了2个acsii值高?27的字W组成汉字字W的Q因此不可能把gb2312~码的文件与 latin1~码区分开来,因此自动识别~码的机制对于gb2312是不成功的,它只会将文g辨识为latin1~码。此问题同样出现在gbkQbig5 上等。因此我们在~辑此类文档Ӟ需要手工设定encoding和fileencoding。如果文档编码ؓutf-8Ӟ一般vim都能自动识别正确的编码?<br><br>3Q客戯行vim的终端所使用的编码类?---同第二条一Pq也是一个比较难以断定的关键炏V第二个关键点决定着从文件读取内容和写入内容到文件时使用的编码,而此关键点则军_vim输出内容到终端时使用的编码,如果此编码类型和l端认ؓ它收到的数据的编码类型不同,则又会生ؕ码问题。在 linux本地X环境下,一般终端都认ؓ其接收的数据的编码类型和pȝlocalecd相符Q因此不需兛_此方面是否存在问题。但如果牉|到远E终端,例如sshd服务器,则问题就有可能出C。例如从1台locale为GB2310的系l(UC客户机)ssh到locale为utf-8的系l(UC服务器)q开启vim~辑文档Q在不加M改动的情况下Q服务器q回的数据ؓutf-8的,但客h认ؓ服务器返回的数据是gb2312的,按照 gb2312来解释数据,则肯定就是ؕ码了Q这时就需要设|termencoding为gb2312来解册个问题。此问题更多出现在我们的 windows desktopEsshd服务器的情况下,q里牉|C同系l的~码转换问题。所以又与windows本n以及ssh客户端有很大相关性。在 windows下存在两U编码类型的软gQ一U是本n׃ؓunicode~码方式~写的YӞ一U是ansi软gQ也是E序处理数据直接采用字节,不关心编码。前一U程序可以在M语言的windows上正显C多国语aQ而后一U则~写在何U语a的系l上则只能在何种语言的系l上昄正确的文字。对于这两种cd的程序,我们需要区别对待。以ssh客户端ؓ例,我们使用的putty是unicode软gQ而secure CRT则是ansi 软g。对于前者,我们要正处理中文,只要保证vim输出到终端的~码为utf-8卛_Q就是termencoding=utf-8。但对于后者,一斚w我们要确认我们的windowspȝ默认代码ؓcp936Q中文windows默认|Q另一斚w要确认vim讄的termencoding= cp936?<br><br>最后来看看处理中文文档最典型的几U情况和讄方式Q?<br><br>1Q系llocale是utf-8Q很多linuxpȝ默认的locale形式Q,~辑的文档是GB2312或GBK形式的(WindowsC本默认保存Ş式,大部分编辑器也默认保存ؓq个形式Q所以最常见Q,l端cdutf-8Q也是假定客户端是puttycȝunicode软gQ?<br>则vim打开文档后,encoding=utf-8Qlocale军_的)Qfileencoding=latin1Q自动编码判断机制不准导致的Q,termencoding=I(默认无需转换term~码Q,昄文gZؕ码?<br>解决Ҏ1Q首先要修正fileencoding为cp936或者euc-cnQ二者一LQ只不过叫法不同Q,注意修正的方法不?set fileencoding=cp936Q这只是文件保存ؓcp936Q正的Ҏ是重Ccp936的编码方式加载文件ؓ:edit ++enc=cp936Q可以简写ؓ:e ++enc=cp936?<br>解决Ҏ2Q时改变vimq行的locale环境Q方法是以LANG=zh_CN vim abc.txt的方式来启动vimQ则此时encoding=euc-cnQlocale军_的)Qfileencoding=I(此locale下文件编码自动判别功能不启用Q所以fileencoding为文件本w编码方式不变,也就是euc-cnQ,termencoding=I(默认|为空则等于encodingQ此时还是ؕ码的Q因为我们的sshl端认ؓ接受的数据ؓutf-8Q但vim发送数据ؓeuc-cnQ所以还是不寏V此时再用命? set termencoding=utf-8终端数据输Zؓutf-8Q则昄正常?<br><br>2Q情况与1基本相同Q只是用的ssh软g为secure CRTcansicY件?<br><br>vim打开文档后,encoding=utf-8Qlocale军_的)Qfileencoding=latin1Q自动编码判断机制不准导致的Q,termencoding=I(默认无需转换term~码Q,昄文gZؕ码?<br><br>解决Ҏ1Q首先要保证q行secure CRT的windows机器的默认代码页为CP936Q这一点中文windows已经是默认设|了。其他的与上面方?相同Q只是要增加一步,:set termencoding=cp936 <br><br>解决Ҏ2Q与上面Ҏ2cMQ不q最后一步修改termencoding省略卛_Q在此情况下需要的修改最,只要以locale为zh_CN 开?vimQ则encoding=euc-cnQfileencoding和termencoding都ؓI即为encoding的|是最理想的一U情c?<br><br><br>可见理解q?个关键点?个参数的意义Q对于编码问题有很大助力Q以后就可以随心所Ʋ的处理文档了,同时不仅仅是应用于vimQ在其他需要编码{换的环境里,都可以应用类似的思\来处理问题解决问题?/span> </div> <a >http://blog.chinaunix.net/u/8111/showart_498103.html</a> <img src ="http://www.shnenglu.com/thronds/aggbug/86497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/thronds/" target="_blank">thronds</a> 2009-06-02 02:23 <a href="http://www.shnenglu.com/thronds/archive/2009/06/02/86497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>101条伟大的计算机编E名ahttp://www.shnenglu.com/thronds/archive/2009/05/26/85799.htmlthrondsthrondsTue, 26 May 2009 07:52:00 GMThttp://www.shnenglu.com/thronds/archive/2009/05/26/85799.htmlhttp://www.shnenglu.com/thronds/comments/85799.htmlhttp://www.shnenglu.com/thronds/archive/2009/05/26/85799.html#Feedback0http://www.shnenglu.com/thronds/comments/commentRss/85799.htmlhttp://www.shnenglu.com/thronds/services/trackbacks/85799.html计算?/p>

    1?#8220;计算机没什么用。他们只会告诉你{案?#8221;—?(巴勃|?#183;毕加索,d)

    2?#8220;计算机就跟比基尼一P省去了h们许多的胡思ؕ惟?#8221;—?(萨姆·因Q作
?

    3?#8220;他们拥有计算机,他们也还可能拥有其他的大规模杀伤性武器?#8221;—?(珍内?br>·雯Q美国前奛_法部?

    4?#8220;跟计机工作酷就酷在q里Q它们不会生气,能记住所有东西,q有Q它们不?br>喝光你的啤酒?#8221;—?(保罗·利里Q吉他手)

    5?#8220;如果汽R能赶上计机的发展周期的话,一辆今天的x莱斯仅?00元Q每
加仑要跑100万英里,每年q得爆炸一ơ,把里面的人杀个精光?#8221;—?(Robert X. Cri
ngelyQ技术作?

    计算机智?/p>

    6?#8220;计算机L来智能的。科学家告诉我们说不久它们就能跟我们对话了。(q?br>里的“它们”Q我指的?#8220;计算?#8221;。我怀疑科学家永远都不能跟我们对话。)”—?(
Dave BarryQ幽默作?

    7?#8220;我最q注意到Q在共同文化中,那种对计机变得化ƈ最l掌控世界的妄想
恐惧症几乎彻底消׃。据我所知,q跟MS-DOS的发布基本是同步的?#8221;—?(Larry De
Luca)

    8?#8220;计算Z不会思考这个问题就像问潜水艇会不会游泳一栗?#8221;—?(Edsger W.
 DijkstraQ图灵奖获得?

    9?#8220;zM一癑ֹ却只能记?0M字节是荒谬的。你知道Q这比一张压~盘q要。h
cd冉|在变得日退化?#8221;—?(Marvin MinskyQh工智能研I的奠基?

    信Q

    10?#8220;q城市的中央计机告诉你的QR2D2Q你不该怿一台陌生的计算机!”?br>?(C3POQ星球大战中的翻译机器h)

    11?#8220;永远不要怿一C能扔掉一扇窗?的计机”—?(斯蒂?#183;沃兹g克,
Ҏ联合创始? —?*译者:暗指微Y的wINDOWS操作pȝ

    g

    12?#8220;g:计算机系l中可被t的部分?#8221;—?(Jeff Pesis)
软g

    13?#8220;今天大部分的软g都很像上百万块砖堆叠在一L成的埃及金字塔,~Zl构
完整性,只能靠强力和成千上万的奴隶完成?#8221;—?(阿u·凯,囄奖获得者,面向?br>象创始h)

    14?#8220;我终于明?#8216;向上兼容?#8217;是怎么回事了。这是指我们得保留所有原有错误?br>”—?(Dennie van Tassel)

    操作pȝ

    15?#8220;有两样重要品出自伯克利QLSD和BSD*。我们不怿q是个y合?#8221;—?(J
eremy S. Anderson)—?*译者:LSD是一U药力至强的q剂,BSD-BSDQBerkeley Sof
tware DistributionQ伯克利软g套gQ是Unix的衍生系l?/p>

    16?#8220;2038q??9日,凌晨3?4?7U?#8221;—?(UNIX中的世界末日*–1970q???br>之后?^32U?—?*译者:word跟world同音QUNIX用有W号整Ş敎ͼWORDQ表C时_
所以最多只能计?^31U,原文?^32应ؓ错误?/p>

    17?#8220;每个操作pȝ都差不多… 我们都一L烂?#8221;—?(微Y的高U副总裁布莱?br>·瓦u蒂尼q样描述操作pȝ的安全状况,2003)

    18?#8220;微Y有出了新版本QWindows XP,据大家说?#8216;有史以来最E_的Windows’Q?br> Ҏ而言, q就好像是在说芦W是‘有史以来发音最清脆的蔬菜一?#8217; “—?(Dave B
arry)

    互联|?/p>

    19?#8220;互联|?那个东西q在吗?” —?(Homer Simpson)

    20?#8220;|络像是个母夜叉。我每{C处都会看见小个的按钮命o我提??#8221;—?br> (Nytwind)—?*译者注QSubmitQ提交,另一层意思是要求屈服

    21?#8220;x看吧Q已l有一百万只猴子坐在一百万台打字机旁,可Usenet是比不?br>莎士比亚?#8221;—?(Blair Houghton)

    软g产业

    22?#8220;计算Y件业最为惊人的成就Q是其持l不断地攑ּg产业的惊人成果和
E_性?#8221;—?(Henry Petroski)

    23?#8220;真正的创新经常来自于那些贴近市场、但无力拥有市场的的型初创公司?#8221;
—?(Timm Martin)

    24?#8220;Z常说Q伟大的U学学科像是站在其它巨膀上的巨h。h们也说过Q?br>软g产业正如站在其他侏儒脚上的侏儒?#8221;—?(Alan CooperQ交互设计之?

    25?#8220;q无x牏V字节和协议Q而关乎利润和损益?#8221;—?(郭士UIIBM前CEO)


    26?#8220;我们是微软。反抗是徒劳的。你会被同化的?#8221;—?(保险杠脓U?

    软g演示

    27?#8220;不管演示在彩排的时候有多好Q一旦在观众面前展示Ӟ演示不出错的几率?br>观众人数成反比,与投入的金钱总额成正比?#8221;—?(Mark Gibbs)

    软g专利

    28?#8220;专利大多数都是垃圾。浪Ҏ间去阅读q些专利是愚蠢的。只有专利持有h?br>会这么干Q还得强q自己才会看?#8221;—?(Linus TorvaldsQLINUX创始?

    复杂?/p>

    29?#8220;控制复杂性是计算机编E的本质?#8221;—?(Brian Kernigan)

    30?#8220;复杂性杀M切。它把程序员的生zȝ搞砸了,它o产品难以规划、创建和?br>试,带来了安全挑战,q导致最l用户和理员沮丧不巌Ӏ?#8221;—?(Ray Ozzie)

    31?#8220;q行软g设计有两U方式。一U是让它量单,让h看不出明昄不。另
一U是弄得量复杂Q让人看不出明显的缺陗?#8221;—?(C.A.R. Hoare)

    32?#8220;好的软g的作用是让复杂的东西看v来简单?#8221; —?(Grady BoochQUML创始
Z一)

    易用?/p>

    33?#8220;不管那些计算Zc如何宣Uͼ只需CQ你q‘傀?#8217;。真正的傀儡是?br>些无法设计出易于使用的硬件和软g的那些hQ尽他们是技术专Ӟ因ؓq是普通消?br>者赖以生zȝ东西?#8221;—?(Walter MossbergQ科技专栏记?

    34?#8220;软g供应商在努力试让他们的软g?#8216;易于操作’… q今为止Q他们最好的
办法是d所有的老手册,然后在封面盖?#8216;易于操作’q几个字?#8221;—?(比尔·?br>?

    35?#8220;有个老套的故事说有h希望他的计算像他的电话机一样好用。他的愿望实
CQ因为我已经不知道该如何使用自己的电话了?#8221;—?(Bjarne StroustrupQC++?br>?

    用户

    36?#8220;M一个傻瓜都会用电脑。很多都会?#8221;—?(Ted Nelson)

    37?#8220;只有两个行业把客L?#8216;用户’*?#8221;—?(Edward TufteQ信息设计大?
 —?*译者注Q一个是计算计,另一个是毒品交易Qcomputer design and drug de
aling—?E序?/p>

    38?#8220;E序员在跟宇宙赛跑,他们在努力开发出更大更好的傻瓜程序,而宇宙则努力
培养出更大更好的白痴。到目前为止Q宇宙领先?#8221;—?(Rich Cook)

    39?#8220;你们当中很多人都知道E序员的d。当然啦Q有三种Q那是懒惰、急躁?br>及傲慢?#8221;—?(Larry WallQPerl发明?

    40?#8220;E序员的问题是你无法预料他在做什么,直到为时已晚?#8221;—?(Seymour Cr
ayQ超U计机之父)

    41?#8220;那就是这些自认ؓ痛恨计算机的人的真实面目。他们实际上真正痛恨的是p糕
的程序员?#8221;—?(拉瑞·文Q科qM?

    42?#8220;很长旉以来我一直困惑不ԌZ么一些又贵又先进的东西会一点用都没?br>。直到我H然惌vQ计机不就是一台愚蠢之臛_拥有难以|信的做聪明事能力的机器?br>Q而程序员不就是聪明绝却拥有难以|信的干蠢事的能力的人嘛。一句话Q他们简直就
是天生绝配?#8221;—?(比尔·布莱,旅游文学作家)

    43?#8220;不像学学涂涂ȝ也能让某人成Z家dQ计机U学教育不会让Q何h
成ؓ一名编E大师?#8221;—?(埃里?#183;雯Q开源运动领?

    44?#8220;一个程序员是经历以下事情后仍能证明自己是严格的专家的hQ他可以历经?br>不清的捶打,可取材于无关紧要的文档,用上面的争议数据作出模糊假设Qƈ以此计算?br>微_ֺ的无数片面理解的{案,q由一个不可靠、脑袋充满质疑、公开宣称要让一个倒霉
透顶、没有指望、毫无防?要求W一旉获得信息的部门狼狈不堪、o人生厌的Z用一
台准度有问题的仪器d施?#8221;—?(IEEE|格新闻杂志)

    45?#8220;q气好的黑客能用几个月的旉 - 生Z个小规模的开发团体(比如_7
-8人)历尽艰辛一起工作了一q多才能做出来的东西。IBMl常报告说某些程序员的生产力
要比其它工h高百倍,甚至更多?#8221;—?(Peter SeebachQ黑?

    46?#8220;最好的E序员跟好的E序员相比可不止好那么一点点。这U好不是一个数量
的,取决于标准怎么定:概念创造性、速度、设计的独创性或者解决问题的能力?#8221;—?br> (兰d?#183;E·斯特xQ科技作家)

    47?#8220;伟大的R工值得l他几倍于普通R工的薪水Q但一个伟大的软g代码作家Q其
价值则要等同于一个普通的软g写手的h格的1万倍?#8221;—?(比尔·盖茨)
 ~程

    48?#8220;q它工作不正常也别担心。如果一切正常,你早该失业了?#8221; —?(Moshe
r的Y件工E定?

    49?#8220;靠代码行数来衡量开发进E就好比用重量来衡量飞机刉的q度?#8221;—?(?br>?#183;盖茨)

    50?#8220;写代码的C会C比盗墓的高,比管理的低?#8221;—?(杰拉?#183;h伯格QY
件与pȝ思想?

    51?#8220;首先学习计算机科学及理论。接着形成自己~程的风根{然后把q一切都忘掉
Q尽改E序是了?#8221;—?(George CarretteQ杰Y件工E师,开源推q?

    52?#8220;先解决问题再写代码?#8221;—?(John Johnson)

    53?#8220;乐观M是编E行业的职业病;用户反馈则是ȝҎ?#8221;—?(Kent Beck)


    54?#8220;q代者ؓ人,递归者ؓ?#8221;—?(L. Peter Deutsch)

    55?#8220;布尔值最好的一ҎQ就你错了Q也多错了一位而已?#8221;—?(无名?


    56?#8220;数组的下标是?开始好q是?开始好呢?我的0.5的折h案,以我之见Q没
有经q适当考虑p否决掉了?#8221;—?(Stan Kelly-Bootle)

    ~程语言

    57?#8220;只有两种~程语言Q一U是天天挨骂的,另一U是没h用的?#8221;—?(Bjarne
 StroustrupQC++之父)

    58?#8220;PHP是不合格的业余爱好者创建的Q他们犯做了个小ӞPerl是娴熟而堕落的?br>家创建的Q他们犯了阴险狡诈的大恶?#8221;—?(Jon Ribbens)

    59?#8220;COBOL的用摧D大脑;其教育应被视为刑事犯|?#8221;—?(E.W. Dijkstra)


    60?#8220;把良好的~程风格教给那些之前曄接触qBASIC的学生几乎是不可能的。作?br>可能的程序员Q他们已_D废Q无重塑的可能了?#8221;—?(E. W. Dijkstra)

    61?#8220;我想微Y之所以把它叫?NetQ是因ؓq样它就不会在Unix的目录里昄出来
了?#8221;—?(Oktal)

    62?#8220;没有一U编E语a能阻止程序员写出p糕的程序来Q不这U语al构有多?br>好?#8221;—?(Larry Flon)

    63?#8220;计算a设计犹如在公园里漫步。我是说侏罗U公园?#8221;—?(Larry Wall
)

    C/C++

    64?#8220;搞了50q的~程语言的研IӞ我们N׃C++告终啦?”—?(Richard A.
O’Keefe)

    65?#8220;写C或者C++像是在用一把卸掉所有安全防护装|的N?#8221;—?(Bob Gray
)

    66?#8220;在C++里你xL头砸自己的脚更ؓ困难了,不过一旦你真的做了Q整条腿?br>要报销?#8221;—?(Bjarne Stroustrup)

    67?#8220;C++ : 友h可造访你的U有成员之地也?#8221;—?(Gavin Russell Baker)—?br> 译者:FriendsQC++的友元,是一U定义在cd部的普通函敎ͼ但它需要在cM内进行说
明,Z与该cȝ成员函数加以区别Q在说明时前面加以关键字friend。友元不是成员函
敎ͼ但是它可以访问类中的U有成员。友元的作用在于提高E序的运行效率,但是Q它?br>坏了cȝ装性和隐藏性,使得非成员函数可以访问类的私有成员?/p>

    68?#8220;|马帝国灭亡的其中一个主要原因是他们没有0 - q样他们没法给自己的CE?br>序指明成功退出的路径了?#8221;—?(Robert Firth)

    Java

    69?#8220;Java从许多方面来说就是C++–?#8221;—?(Michael Feldman)

    70?#8220;说Java好就好在q行于多个操作系l之上,好像说肛交好就好在不管男女?br>行?#8221;—?(Alanna)

    71?#8220;好吧QJava也许是编E语a的好榜样。但Java应用则是应用E序的坏榜样?#8221;
—?(pixadel)

    72?#8220;要是Java真的有垃圑֛收的话,大部分程序在执行的时候就会把自己q掉了?br>”—?(Robert Sewell)

    开?/p>

    73?#8220;软g像性事Q免?自由更好?#8221;—?(Linus Torvalds)

    74?#8220;唯一对免费Y件感到害怕的人,是自q产品q要不值钱的h?#8221;—?(Davi
d Emery)

    代码

    75?#8220;好代码本w就是最好的文档?#8221;—?(Steve McConnell)

    76?#8220;你自q代码如果过6个月不看Q再看的时候也一样像是别人写的?#8221;—?br>(伊格森定律)

    77?#8220;前面90%的代码要占用开发时间的?0%。剩下的10%的代码要占用开发时间的?br>一90%?#8221;—?(Tom Cargill)

    软g开?/p>

    78?#8220;好的E序员会用脑Q但是好的向导救我们于样样都要想到?#8221;—?(Francis
Glassborow)

    79?#8220;在Y仉面,我们鲜有有意义的需求。就有Q衡量成功的唯一度也取决于
我们的解x案是否解决了客户寚w题是什么的观念的{变?#8221;—?(Jeff Atwood)

    80?#8220;x我们计算机程序的p糕现状吧,很显然Y件开发仍是黑p术,q不能称
之ؓ工程学科?#8221;—?(Bill ClintonQ前国ȝ)

    81?#8220;没有伟大的团队就没有伟大的YӞ可大部分的Y件团队D止就像是支离破碎
的家庭?#8221;—?(吉姆·麦卡锡,微YVC++ȝ)

    调试

    82?#8220;一旦我们开始编E,׃惊讶地发现让E序正常没想象中那么单。调试不?br>避免。那一L认记忆犹斎ͼ当时我就意识刎ͼ从今往后我生活的大部分旉都要花在?br>找自q序的错误上面了?#8221;—?(莫里?#183;威尔克斯 调试探烦, 1949)

    83?#8220;调试隑ֺ本来是写代码的两倍。因此,如果你写代码的时候聪明用,Ҏ
定义Q你没有能耐去调试它了?#8221;—?(Brian Kernighan)

    84?#8220;如果调试是除虫的q程Q那么编E就一定是把臭虫放q来的过E?#8221;—?(Ed
sger W. Dijkstra)

    质量

    85?#8220;我才不管它能不能在你的机器上q行呢!我们又没装到你的机器上!”—?(
Vidiu PlatonQ罗马尼亚的微Y最佛_生合作伙伴MSP)

    86?#8220;~程像性一P一时犯错,l生l护?#8221;—?(Michael Sinz)

    87?#8220;有两U写出无错程序的办法Q只有第三种有用?#8221;—?(Alan J. Perlis)

    88?#8220;软g质量与指针算法不可兼得?#8221;—?(Bertrand Meyer)

    89?#8220;如果麦当力_软g公司那样q作的话Q每一百个巨无霸就会有一个o你食物中
毒,而他们的回应是,‘真对不vQ这是一张额外附送两个的赠券?#8217; “—?(Mark Mi
nasi)

    90?#8220;永远要这样写代码Q好像最l维护你代码的h是个狂暴的、知道你住在哪里?br>_病患者?#8221;—?(Martin Golding)

    91?#8220;是h都会犯错Q不q要x事情d搞砸q得L脑出马?#8221;—?(Paul Ehr
lich)

    92?#8220;计算机比人类历史上的M发明都更快速地D你犯更多的错?#8211;可能除了?br>枪和龙舌兰酒是例外?#8221;—?(Mitch Radcliffe)

    预测

    93?#8220;能发明的东西都发明出来了?#8221;—?(查尔?#183;杜埃? 国专利局局长,18
99q?

    94?#8220;我认为全球市场约需5台计机?#8221;—?(托马?#183;沃森, IBM董事? U?948
q?

    95?#8220;看上L们已l到达了利用计算机技术可能获得的极限了,管下这Ll论
得小心,因ؓ不出五年q听h׃相当愚蠢?#8221; —?(U翰·?#183;Z?U?949q?


    96?#8220;但这又有什么好处呢Q?#8221;—?(IBM先进计算机系l部的工E师对微芯片的评?br>, 1968q?

    97?#8220;我们没有理由让每一个h在家都拥有一台电脑?#8221;—?(?#183;奥尔?数据讑֤
公司QDECQ总裁Q?977q?

    98?#8220;640KҎ一个h来说都已_?#8221;—?(比尔·盖茨,1981q?

    99?#8220;Windows NT的RAMdI间可达2GQ这比Q何应用程序所需都要多?#8221; —?(
微Y, 谈及Windows NT的开发时所a, 1992q?

    100?#8220;我们永远也无法真正成为无U化C会Q直到掌上电脑一族发布擦?.0*QWip
eMe 1.0Qؓ止?#8221;—?(安_?皮尔逊,商界领袖) *译者注Q意思是说难道你大便不用U?br>吗?

    101?#8220;长此以往Q除了按键的手指外,人类的肢体将全部退化?#8221;—?(弗兰??br>埃d?赖特Q徏{师)?/p>

thronds 2009-05-26 15:52 发表评论
]]>
zz自动dtelnet执行若干commandhttp://www.shnenglu.com/thronds/archive/2009/04/18/80393.htmlthrondsthrondsSat, 18 Apr 2009 13:18:00 GMThttp://www.shnenglu.com/thronds/archive/2009/04/18/80393.htmlhttp://www.shnenglu.com/thronds/comments/80393.htmlhttp://www.shnenglu.com/thronds/archive/2009/04/18/80393.html#Feedback4http://www.shnenglu.com/thronds/comments/commentRss/80393.htmlhttp://www.shnenglu.com/thronds/services/trackbacks/80393.html在网上找C文章,讲在UNIX下自动登录telnetQ?u>http://www.linuxeden.com/forum/t138058.htmlQ?/span>。这个例子很不错Q下边对其进行分析?/font>
#===========autotelnet.sh==============
#!/bin/bash

tmptty=`tty` #
取得当前?/span>tty?br>tmptty=`basename $tmptty` #Ltty的绝对\?br>tmpname=`whoami` #取得当前执行E序的用户名
ip="10.22.33.44" #目标L地址
inp1="ABC^M" #L的用户名Q注?/span>^M必须?/span>UNIX下重装用以下Ҏ输入才能用!Q?br>#Ҏ为按?/span>ctrl键按v键,不放ctrl键,再按shift键和m键,完成后全部放开
inp2="ABC^M" #L的密码,注意必须?/span>^M
inp3=
"ls^M" #其他q入后的命oQ可无或?/span>ls之类的命令代替,注意必须?/span>^M
inp4=
"pwd^M" #命o4Q同?br>#--------------------------

inputfile=in #
导入文g道用的Q不要改Q这个值没有Q何关p?br>outputfile=out.log #最l导出的文g
rm -fr $inputfile
rm -fr $outputfile
mknod $inputfile p
touch $outputfile

#file de
scription 7 for out and 8 for in 使用7作ؓ输入道Q?/span>8作ؓ输入
exec 7<>$outputfile
exec 8<>$inputfile

telnet $ip <&8 >&7 &

sleep 2; echo $inp1 >> $inputfile #
看得懂吧
sleep 2; echo $inp2 >> $inputfile
sleep 2; echo $inp3 >> $inputfile #
如果没有其他命oQ这行和下一行可以去?br>sleep 2; echo $inp4 >> $inputfile

tail -f $outputfile &
强制在屏q上昄M输入输出

while true #
正常情况下已l进入目标主ZQ可以输入Q何命令,所有的一切输入输出都会被记录
do
read str
if [[ $str =
"quit" || $str = "exit" ]]
then echo $str >> $inputfile exit
else echo $str >> $inputfile
fi
done

#
退出时自动杀掉相兌E?br>ps -ef | grep telnet | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh
ps -ef | grep tail | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk
'{print " kill -9", $2}' | sh
q段代码实现的功能是在UNIXpȝ上执行这?strong onmouseover='isShowAds = true;isShowAds2 = true;ads.Move(this,"","%u5FAE%u8F6F%u6700%u4F73%u811A%u672C%u8BED%u8A00%u793A%u4F8B%uFF0C%u9605%u8BFB%u8BF7%u70B9%u51FB%u3002","20295","脚本","%u811A%u672C","http%3A//go.microsoft.com/%3Flinkid%3D6331215")' style="FONT-WEIGHT: normal; CURSOR: hand; COLOR: #0000ff; TEXT-DECORATION: underline" onclick='javascript:window.open("http://rad.17luntan.com/ClickPortal/WebClick.aspx?id=20295&k=%u811A%u672C&siteid=95d6d193-1fb9-4fc0-8708-b7ceb3276924&url=http%3A//iamliujianfeng.bokee.com/viewdiary.12107831.html&gourl=http%3A//go.microsoft.com/%3Flinkid%3D6331215&parm=E597DF415C11D759D30BCC37737F1307523F540DB74FDF8B&alliedsiteid=0");' onmouseout="isShowAds = false;isShowAds2 = false;">脚本Q自动登录到脚本中变?/span><ip>声明使用的主ZQƈ用脚本中<inp1>变量?lt;inp2>的值分别作为用户名和密码进行n份验证。然后,用户可以在控制台上输入Q何命令,q些命o会被发送到q端L执行。因此,我猜这个脚本的作用和SecureCRT{TELNET工具提供的自动登录的功能是一L?/font>
 
q个例子的主要原理是q样的:用后台方式启动一个telnetq程。将q个q程的输入重定向C个管道文件inQ向q个道文gq加要执行的指oQ也是指令传送到telnetq程中执行;同时Q将q个q程的输出重定向至一个日志文件out.log中,tail –fq个日志文gQ就是实时刷新telnet的输出?/font>
 
q里有几个细节问题需要说明一下:
1?nbsp;向管道文件写入要执行的命令时Q必L一个结束标志,告诉telnet启动的shellq程q是一个完整的命oQ可以执行了。这个结束标志就?#8221; ^M”。这个东西的输入q很复杂。按照作者的说明Q要在UNIXpȝ上,按住Ctrl键后按v键,村ּv键保持Ctrl键不放,然后按下Shift键后再按M键,然后同时攑ּCtrl Shilf和M三个键。在实际使用中发玎ͼ不需要Shift键,攑ּv键之后直接按m键即可;
2?nbsp;在重定向telnet后台q程的输入时Q因控制输入内容的速度Q要{到出现login以后才能输入用户名)Q所以不能采用文件中直接保存用户名、密码及所有要执行指o的方式,要求in文g是空的?/font>
3?nbsp;在重定向telnet后台q程的输入、输出时Q必M用文件描q符。具体原因还不清楚,但用文g名称q行重定向就不行Q?/font> 
4?nbsp;在用戯入quit或exit后,需要退出后台telnetq程以及tail –fq程。脚本中采用killq程的方式实现这一目标。因为kiillq程旉要一些参敎ͼ因此在脚本的开始处记录了tty的类型等信息Q?/font>
对于脚本中具体指令的解释Q参加如下列表中的注?/font>
#!/bin/bash

tmptty=`tty`   
#取得当前?/span>tty?/span>
tmptty=`basename $tmptty`  #Ltty的绝对\?/span>
tmpname=`whoami`          #取得当前执行E序的用户名
                         
#以上信息在最?/span>killq程时作为筛选条件?/span>
ip="10.22.33.44"            #目标L地址
inp1="ABC^M"             #L的用户名。注?/span>^M必须?/span>UNIX下重装用以下Ҏ输入才能用!Q?/span>
                         
 #Ҏ为按?/span>ctrl键按v键,不放ctrl键,再按shift键和m键,完成后全部放开
                         
#l过实际使用Q不比按shilf键也可以
inp2="ABC^M"             #L的密码,注意必须?/span>^M
inp3="ls^M"                 #其他q入后的命oQ可无或?/span>ls之类的命令代替,注意必须?/span>^M
inp4=
"pwd^M"               #命o4Q同?br>#--------------------------

inputfile=in                    #
命令导入后台telnetq程用的道文g名称
outputfile=out.log               #包含telnet后台q程输入的文件名U?/span>
rm -fr $inputfile                
rm -fr $outputfile               
mknod $inputfile p              #
建立道文g
touch $outputfile                #
建立输出文g


exec 7<>$outputfile             #文件描q符7分配l?/span>outputfile
exec 8<>$inputfile              #
文件描q符8分配l?/span>inputfile

telnet $ip <&8 >&7 &            #
后台q行telentQ同旉定向输入、输?/span>

sleep 2; echo $inp1 >> $inputfile  #2
U后输入用户?/span>
sleep 2; echo $inp2 >> $inputfile   #2U后输入密码
sleep 2; echo $inp3 >> $inputfile   #2
U后输入命oinp3
sleep 2; echo $inp4 >> $inputfile   #2U后输入命oinp3
                             
Q这里面inp3?/span>inp4只是一个说明,对自动登录实际上没有什么作?/span>
tail -f $outputfile &              Q?/span>强制在屏q上昄M输入输出

while true        #
正常情况下已l进入目标主ZQ可以输入Q何命令,所有的一切输入输出都会被记录
do
read str
if [[ $str =
"quit" || $str = "exit" ]]
then echo $str >> $inputfile exit   #
q里?/span>exit实际上是从@环中退?/span>
else echo $str >> $inputfile
fi
done

#
退出时自动杀掉相兌E?br>ps -ef | grep telnet | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh
ps -ef | grep tail | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk
'{print " kill -9", $2}' | sh
 
明白了这个脚本的原理Q我们可以做一个试验,用另外一U更加明昄方式来做输入输出的重定向?/font>
 
1、新?个普通文?span>    touch out.log
2、新Z个管道文?   mknod commands p
3、ؓ日志文g分配文g描述W? Q?nbsp;exec 7<>out.log
4、ؓ道文g分配文g描述W?Q?span>   exec 8<>commands
5、后台方式启动telnet:             telnet 136.30.75.102 <&8 >&7 &
6、实时刷新输Z息:             tail –f out.log
7、另外启动一个终端,输入信息Q?/font> echo “root^M” >>commands
                                 echo “password^M”>>commands
                                 echo “pwd^M” >> commands
                                   ….
8、观察tail –f的输出,可以看到输入命o的执行结果?/font>
 
 
在这个脚本的基础上,可以实现自动telnetC个主Zq执行一些列command的功能。脚本如下:
#!/bin/bash
 
tmptty=`tty`
tmptty=`basename $tmptty`
tmpname=`whoami`
ip="136.39.75.102"
inp1="root^M"
inp2="Easy2get^M"
#####################################################################
#you may add as many commands as you want
#NOTE:every command should end with ^M, which is input under UNIX
#     Ҏ为按住ctrl键按v键,不放ctrl键,再按shift键和m键,完成后全部放开
#####################################################################
inp3="ls^M"
inp4="echo 'hello,TeMIP users' >> hello.txt^M"
 
#--------------------------
 
inputfile=in
outputfile=out.log
rm -fr $inputfile
rm -fr $outputfile
mknod $inputfile p
touch $outputfile
 
 
exec 7<>$outputfile
exec 8<>$inputfile
 
telnet $ip <&8 >&7 &
 
sleep 2; echo $inp1 >> $inputfile
sleep 2; echo $inp2 >> $inputfile
 
echo "executing command $inp3"
sleep 2; echo $inp3 >> $inputfile
echo "executing $inp4"
sleep 2; echo $inp4 >> $inputfile
echo "exiting"
sleep 2; echo "exit^M" >> $inputfile
 
 
rm $inputfile
rm $outputfile
 
附录QShell中的输入/输出
Q摘自HP-UX 参考手?用户命o kshQ?/font>
命o执行之前Q其输入和输出可以用专用表C法重定向由Shell 解释。下列内容可以出现在单命令内的Q何位|,或在命o之前之后Qƈ且不传递给调用命o。命令和参数替换发生在用word 或digit 之前Q除非如下所C。文件名生成仅出现在模式匚w单一文g且不执行I白解释时?/font>
l         <word 使用文gword 作ؓ标准输入Q文件描q符0 Q?/font>
l         >word 使用文gword 作ؓ标准输出Q文件描q符1 Q。如果不存在该文Ӟ另行创建。如果文件存在,q且使用noclobber 选项Q则发生错误Q否则文件被截断为零长度?/font>
l         >|word ?gt; 相同Q区别在于覆盖noclobber 选项?/font>
l         >>word 使用文gword 作ؓ标准输出。如果文件存在,q加输出到其中(通过首先搜烦文g末尾Q;否则Q另行创建文件?/font>
l         <>word 打开文gword 作ؓ标准输入以进行读取和写入。如果不存在该文Ӟ另行创建?/font>
l         <<[ - ]word dShell 输入直至出现行与word 匚wQ或者抵达文件末。在word 上没有执行参数替换、命令替换或文g名生成。得到的文档UCؓ本文档,作ؓ标准输入。如果引用word 的Q意字W,不对文档字符q行解释。否则,发生参数和命令替换,忽略\newlineQ必M用\ 引用字符\ ? ?#8216; 和word 的第一个字W。如? q加?lt;< Q则从word 和文档去掉所有前导制表符?/font>
l         <&digit 从文件描q符复制标准输入digit Q请参阅dup(2) Q?/font>
l         >&digit 标准输出复制到文件描q符digit Q请参阅dup(2) Q?/font>
l         <&- 标准输入关闭?/font>
l         >&- 标准输出关闭?/font>
l         <&p 来自联合q程的输入移动到标准输入?/font>
l         >&p 到联合进E去的输出移动到标准输出?/font>
如果上述一Ҏ数字前导Q文件描q符号引用由该数字指定(取代~省? ? Q。例如:
... 2>&1
意味着文g描述W? 打开Q作为文件描q符1 的副本用于写入。重定向序很重要,因ؓShell Ҏ当前打开文g在计时与指定文件描q符的关联计重定向引用文g描述W。例如:
... 1>fname 2>&1
首先分配文g描述W?Q标准输出)l文件fname Q然后分配文件描q符2Q标准错误)l分配给文g描述W?的文Ӟ也就是fname 。另一斚wQ如果重定向序反{如下Q?/font>
... 2>&1 1>fname
文g描述W? 分配l当前标准输出,Q用L端,除非l承了不同的分配Q。此时文件描q符1 重新分配l文件fname Q不更改文g描述W? 的分配?/font>
co-process 的输入和输出可移动到多个文g描述W,允许其他命o使用上述重定向运符向其中写入和d。如果当前co-process 输入Ud到多个文件描q符Q另一个co-process 开始?/font>
如果命o后跟?amp; q且作业控制非活动状态,命o的缺省标准输入ؓI文?dev/null 。否则,执行命o的环境包括调用Shell 的文件描q符Q通过输入/输出规格修改
http://blog.csdn.net/muyuqing/archive/2007/04/27/1586824.aspx

thronds 2009-04-18 21:18 发表评论
]]>
10个你也许不知道的Ubuntu技?/title><link>http://www.shnenglu.com/thronds/archive/2009/04/14/79942.html</link><dc:creator>thronds</dc:creator><author>thronds</author><pubDate>Tue, 14 Apr 2009 13:46:00 GMT</pubDate><guid>http://www.shnenglu.com/thronds/archive/2009/04/14/79942.html</guid><wfw:comment>http://www.shnenglu.com/thronds/comments/79942.html</wfw:comment><comments>http://www.shnenglu.com/thronds/archive/2009/04/14/79942.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/thronds/comments/commentRss/79942.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/thronds/services/trackbacks/79942.html</trackback:ping><description><![CDATA[新闻来源:PCWorld<br>原文作者近期刚开始与他的合作者合著一本关于Ubuntu技巧的书,目前定名为《Ubuntu功夫<br>》。不q这本书可能要到明年才会出版Q作者先l出了以?0条技巧。这些技巧ƈ不一定仅<br>仅是在Ubuntu上才可以使用Q只是在Ubuntuq种Linux发行版下l过验证的?br><br>1.打开用户权限的运行程序对话框<br><br>你也许已l知道用Alt+F2来打开”q行E序”对话框,然后可以输入M命o行运行之。如<br>果你在终端窗口中输入gksu命oQ则会弹Z个类似的对话框,但是q行的程序都是在<br>rootU权限。你可以通过System->Preferences-> Keyboard Shortcuts,Q将q个命o与键 <br>盘快捷键Q如Shift+Alt+F2Q绑定,可以更加方便的用这一功能?br><br>2. 使用GDebi来安装包<br><br>W者很长一D|间都没注意到GDebiq个E序Q这是一个用于安装你自己手动下蝲的包?nbsp;  <br>GUIE序。它会根据Y件仓库这一实用的特性,来解依赖关pR很多h也许和笔者一P <br>用传l的dpkg命o来实现。有一天笔者发玎ͼGDebi也可以命令行模式q行Qsudo gdebi   <br>package.debQ,其功能和GUI模式下完全一栗尝试一下这个命令,也许你再也不想用<br>dpkg –i了?br><br>3. CD命o技?br><br>W者确信甚臛_多命令行专家也会偶尔发现一些自׃前没意识到的技巧。最q笔者发C<br>两个以前被忽略的CD命o的技巧,输入cd命o而不带Q何参敎ͼ可以直接切换?home目录 <br>Q等效于cd ~Q,输入cd –则可以切换到你浏览的上一个目录?br><br>4. 使用PUSHD目录添加到目录?br><br>首先来说明一下目录栈是什么,很简单,是bash存储的一个目录列表。当前浏览的目录?br><br>4. 使用PUSHD目录添加到目录?br><br>首先来说明一下目录栈是什么,很简单,是bash存储的一个目录列表。当前浏览的目录?br>是在列表的顶端,但如果你不通过PUSHD往其中d目录Q这个列表则是空的。D例说明, <br>使用 pushd /usr/bin命o会添?usr/bin目录到列表,同时会切换到q个目录Q加?n?<br>数可以停留在当前目录不蟩转)。用popd则会删除最端的目录,然后跌{到列表中的下<br>一个目录。尝试一下这个命令,当你在管理系l时需要在不同目录之间跌{时或者容易忘?br>重要东西的位|时Q它可能会相当有用?br><br>5. 使用PKILL快速杀掉进E?br><br>W者经怋用top、kill或killallq程加上ps | aux查找q程?q程名来杀掉进E。但?<br>pkill命o则可L大量的工作,pkill firefox可以杀掉进E列表中所有与firefoxW合 <br>的incheng。Pstree也是一个很L命oQ它会根据所有关pM家庭树的方式昄所有进E?<br>?br><br>6.使用Gnome中心自定义Gnome<br><br>对于那些难于攑ּH口界面Q希望能获得cM控制面板界面体验的用P可以考虑使用<br>gnome-control-center来实现系l配|。在桌面上添加快h式,可以使新手获得类?br>Windows的体验,避免q失在复杂的pȝ菜单中?br><br>7. 加速OpenOffice.org的启?br><br>如果你经怋用OpenOffice.orgQ你可能会被它O长的启动旉所囧到。要解决q个问题Q?br>打开会话E序Q在Jaunty中被UCؓ启动管理,反正你总能在System->Preferences-><br>Startup Applications中找刎ͼQ然后新增一V在命o行中输入openoffice<br>-nodefault –nologoQ重启后QOpenOffice会在Gnome桌面启动的时候缓存,再次启动M<br>OpenOfficeE序时就会很快完成?br><br>8.快速清理磁盘垃?br><br>盘I间又不够用了?试在终端窗口中输入sudo apt-get autoremove然后输入sudo<br>apt-get cleanQ前一个命令会卸蝲pȝ中所有未被用的依赖关系Q后一个命令会清除所 <br>有缓存的包文Ӟ两者都是无害的。在一个升U过多次的系l上Q你也许能通过q个Ҏ?br>理出若干GB的空间?br><br>9. 扑և丢失的文件扩展名<br><br>如果你收C个没有扩展名的email附gQ不知道是什么类型时Q苹果用L常把文g扩展 <br>名忽略)Q试一下file命oQ直接加上文件名。同时也可以试一下strings命oQ会昄?<br>二进制文件中M可显C的字符Ԍ文g的类型通常׃在前面几行,所以用道把这个命<br>令和headq接h是个好办法?br><br>10.不要忘了q些手册面<br><br>看一下这些有的但是不是qؓ人知的手册页面:intro 初学者的命o行指| hier 文g<br>pȝ的介l; built-ins 各种没有自带说明的命令的q你手册?br><br><br><img src ="http://www.shnenglu.com/thronds/aggbug/79942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/thronds/" target="_blank">thronds</a> 2009-04-14 21:46 <a href="http://www.shnenglu.com/thronds/archive/2009/04/14/79942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在移动存储设备中安装Ubuntupȝ全攻?/title><link>http://www.shnenglu.com/thronds/archive/2009/04/13/79801.html</link><dc:creator>thronds</dc:creator><author>thronds</author><pubDate>Mon, 13 Apr 2009 08:35:00 GMT</pubDate><guid>http://www.shnenglu.com/thronds/archive/2009/04/13/79801.html</guid><wfw:comment>http://www.shnenglu.com/thronds/comments/79801.html</wfw:comment><comments>http://www.shnenglu.com/thronds/archive/2009/04/13/79801.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/thronds/comments/commentRss/79801.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/thronds/services/trackbacks/79801.html</trackback:ping><description><![CDATA[     摘要: 随着大容量移动存储设备h格的不断CQ更多的用户选择Ubuntupȝ安装到移动存储设备中。而近期揭晓的Ubuntu 8.10在移动运?斚w的功能大为增强,它安装到移动存储设备中更ؓ方便。下面就为大家细致介l如?最新的Ubuntu 8.10版安装到Ud盘和闪存上?nbsp; <a href='http://www.shnenglu.com/thronds/archive/2009/04/13/79801.html'>阅读全文</a><img src ="http://www.shnenglu.com/thronds/aggbug/79801.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/thronds/" target="_blank">thronds</a> 2009-04-13 16:35 <a href="http://www.shnenglu.com/thronds/archive/2009/04/13/79801.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>15 Best websites where you can find Free eBookshttp://www.shnenglu.com/thronds/archive/2009/04/04/78961.htmlthrondsthrondsSat, 04 Apr 2009 11:34:00 GMThttp://www.shnenglu.com/thronds/archive/2009/04/04/78961.htmlhttp://www.shnenglu.com/thronds/comments/78961.htmlhttp://www.shnenglu.com/thronds/archive/2009/04/04/78961.html#Feedback0http://www.shnenglu.com/thronds/comments/commentRss/78961.htmlhttp://www.shnenglu.com/thronds/services/trackbacks/78961.html

15 Best websites where you can find Free eBooks

From ancient times, libraries are the places where people go to find and read books. Now, in this modern age, there are ebooks that you can view and read on your computer screen. You can sit at your home and read books, listen to, trade or borrow books using websites.

There are plenty of directories that host free ebooks that you can legally download and read at your home. But, there are some grey sites (black sites) that violate the copyright law where people share their ebook collection for others (I am not talking about the Peer-to-Peer sharing over computers which is a different world).

You need to be wise to choose what you want to read and what you want to skip based on your ethical values. But, here are some of the best collection of websites that every book lover would love. And yea, these are ebooks that are virtual - so, nothing beats the real feel of reading a book on a sunny afternoon sitting in a beach.

10 Best Websites for Booklovers

1. Project Gutenberg

Project Gutenberg is a repository of all the free texts that are in the public domain. It is the Internet’s oldest web portal that stocks the largest colelction of FREE electronic books that you can use legally. Billions of volunteers from all over the world scan, create, proof-read, edit and maintain this ebook collection. You can download the entire collection or individual books as a plain txt file.

2. eSnips

eSnips is a place for sharing ebooks, mp3 songs, photographs or paintings. You can list your creations for free or set a price and sell them here. eSnips is really a grown market place. You can download the books as individual pdf files. Also, you can find some good quality audio books when you search site with “audio book”.

3. Scribd

Scribd is another document sharing
website where people share lots of their e-books. This is the coolest document sharing web service that you may ever come across. You can download the ebooks in various formats such as .doc, .pdf or plain text files.

4. WikiBooks

WikiBooks is another project from the creators of Wikipedia. Like Project Gutenberg, this is also a free collection of e-texts created by volunteers all over the world. The books are available in various international languages. You may use these texts in your creations as long as you credit the source properly (Always check the license before you use).

5. Full Books

Full Books lists thousands of free text books neatly arranged alphabetically. You can only read online, but you can copy and paste page-by-page which is a tedious task if a book

6. Wiretap

Wiretap, just like Project Gutenberg, is another probably the single useful gopher resource remaining on the Internet. They plan to be considerably expanding our offerings in the near future. More books, more authors are coming soon.

7. Free Classic Audiobooks

Free Classic Audiobooks is a place where you can download or listen to audiobooks. The files are available as .mp3 or .mp4 and you can directly download to your iPods or mp3 player for free.

8. Digital Classics

Digital Classics Zinio is a place where you can browse and read books and magazines for free. The books appear as it is leather-bound and you can turn pages and read them at your own pace.

9. Read Print

ReadPrint is a free online library. It lists thousands of free books for students, teachers, and the classic enthusiast. It includes poems and articles on various topics.

10. Planet eBook

Planet eBook is the home of free classic literature. All the novels and books are entirely free for you to download and share.

Five Bonus Sites: Chicken Soup for Booklover’s Soul

Read at Work is a site which will allow you to books at work. Your boss when walks past will think that you are actually work on the official presentation. Cool trick, right? See it to believe it.

BookCrossing is a the most popular book sharing site. People exchange books for free and these clubs exist in almost every city in the world. People drop books at designated places and log that in the bookcrossing website, some others pick it up, read and then pass it on. It is all free.

BookMooch is a place where you can trade books. Yea, you post a book to a BookMooch user and you will get a book that you like from another user. You have to send out at least 1 book for every 2 you receive. If you don’t keep this ratio up, you won’t be able to mooch any books, even if you have the points, until you improve your ratio. Sending internationally counts as 3 books.

From:http://bestwebsitesfreeebooks.wordpress.com/2009/03/31/hello-world/

thronds 2009-04-04 19:34 发表评论
]]>
ubuntu8.10下编译好的程?到redhat服务器上到的问? glibc_2.4 not foundhttp://www.shnenglu.com/thronds/archive/2009/03/28/78199.htmlthrondsthrondsSat, 28 Mar 2009 15:01:00 GMThttp://www.shnenglu.com/thronds/archive/2009/03/28/78199.htmlhttp://www.shnenglu.com/thronds/comments/78199.htmlhttp://www.shnenglu.com/thronds/archive/2009/03/28/78199.html#Feedback3http://www.shnenglu.com/thronds/comments/commentRss/78199.htmlhttp://www.shnenglu.com/thronds/services/trackbacks/78199.html阅读全文

thronds 2009-03-28 23:01 发表评论
]]>
在Linux和Windows下搭建CVS服务器与CVS客户端的详细配置指南http://www.shnenglu.com/thronds/archive/2009/03/27/78040.htmlthrondsthrondsFri, 27 Mar 2009 07:34:00 GMThttp://www.shnenglu.com/thronds/archive/2009/03/27/78040.htmlhttp://www.shnenglu.com/thronds/comments/78040.htmlhttp://www.shnenglu.com/thronds/archive/2009/03/27/78040.html#Feedback0http://www.shnenglu.com/thronds/comments/commentRss/78040.htmlhttp://www.shnenglu.com/thronds/services/trackbacks/78040.html阅读全文

thronds 2009-03-27 15:34 发表评论
]]>
高效开发与d试 http://www.shnenglu.com/thronds/archive/2009/03/05/75651.htmlthrondsthrondsThu, 05 Mar 2009 09:05:00 GMThttp://www.shnenglu.com/thronds/archive/2009/03/05/75651.htmlhttp://www.shnenglu.com/thronds/comments/75651.htmlhttp://www.shnenglu.com/thronds/archive/2009/03/05/75651.html#Feedback0http://www.shnenglu.com/thronds/comments/commentRss/75651.htmlhttp://www.shnenglu.com/thronds/services/trackbacks/75651.html

thronds 2009-03-05 17:05 发表评论
]]>
vnc server配置(server&client)詳細http://www.shnenglu.com/thronds/archive/2009/02/19/74323.htmlthrondsthrondsThu, 19 Feb 2009 12:12:00 GMThttp://www.shnenglu.com/thronds/archive/2009/02/19/74323.htmlhttp://www.shnenglu.com/thronds/comments/74323.htmlhttp://www.shnenglu.com/thronds/archive/2009/02/19/74323.html#Feedback3http://www.shnenglu.com/thronds/comments/commentRss/74323.htmlhttp://www.shnenglu.com/thronds/services/trackbacks/74323.htmlZ单,我就使用了Linux自带的vnc-server?  阅读全文

thronds 2009-02-19 20:12 发表评论
]]>
ԭۺϾþ| þþþþþ97| þþƷAVũ帾Ů| þۺۺϾþ97ɫ| Ʒþþþþ| ˾þþƷӰԺ| AþþƷ| 㽶þ99| ŷ龫Ʒþþþþþþžž | ҹþӰԺ| þþþۺþ| 91þþƷֱ| Ůaaaþþü| þþþƷҹѲ| ŷպƷþ| 91鶹Ʒ91þþþþ| պŷþþwwwۺ| ۿ ۺϾþþþùɫ ŷ һ | ݾƷŮ˾þþþþ | ѾþþƷ99reѾy| ˾þô߽Ʒ| Ʒ99þþþþլС˵| 鶹þþ9ԴƬ| þþƷĻһ| 97Ʒ˾þô߽app| 99þۺϹƷ| þþƷһ| þ޵Ӱ| þӰԺۺϾƷ| þseƷһƷ| þۺϹɫ88þþƷۺ| þٸ۲AV| ۺϾþþƷ| þùƷ99þþþþ| þۺƵվ| þùѹۿƷ3| þþWWWѾƷ| ޹Ʒþ98| Ʒþ| .Ʒþþ鶹Ʒ | þþƷav|