虚拟机的一二事

自从开始浅尝Linux之后,和虚拟机打交道就多了。当年由于移除Ubuntu的时候只删了分区,没重写MBR,饱受残留GRUB的摧残,最后分区表搞坏过了N天没有PC的日子……从此之后就变得谨慎多了,东西都要先在虚拟机里试一下。不过虚拟机程序私只用过两个,一个是微软的VirtualPC(现在早就不用了),另一个是甲骨文(其实是升阳)的VirtualBox。

私接触的第一个虚拟机是VirtualPC(之所以不是VMWare是因为VMWare是商业软件,当时正犯洁癖来着……)。VirtualPC功能是非常有限的,后来就转投VirtualBox了。顺带一提,VirtualBox实际属于升阳微电子,也就是Sun Microsystems。其实升阳对开源界的贡献真的很大,MySQL、OpenOffice、OpenSolaris等等,虽说很大一部分都是收购的,但却大大促进了开源界的发展。如今升阳被甲骨文(Oracle)收购,这些东西都有点前途未卜的感觉。真希望甲骨文能留下升阳这个子品牌,让地上人缅怀一下曾经的黄金圣殿……

私之前有一段时间没有摸过虚拟机了。由于新PC运行Linux的时候发热量总是很大,才不得已转到虚拟机来。再加上最近想学学怎么配置Arch,用虚拟机就更频繁了。

用虚拟机硬件分配最忌讳的是什么呢?不是CPU、硬盘甚至是显卡分配失当,而是内存,是内存!不论是Linux还是Windows,CPU留一个核心给主系统它照样能跑得很欢;硬盘空间不足也不足以影响整个主系统(我有一次Ubuntu上硬盘剩余空间只有几十兆,设置都无法保存了,它照样运转得好好的);可是一旦内存分配不足,整个系统的操作都会Lag,还会看到硬盘狂转(估计是和虚拟内存/Swap交换数据),而它的临界点还特别明显,多个两百兆和没有这两百兆那真是判若霄壤,那感觉,真不是一般窝火……

最近私本来是打算在虚拟机里练习,之后实装转投Arch,可不是GRUB无法载入就是pacman升级出错(Transient resolver failure),再加上DSL拨号还要配置网卡, 让人实在没有真机实装的胆子。还是得继续练习啊……

理发店会员卡管理程序 testing 0.3.3版

几天没更新网志,看到网站流量统计直线下降,真是有点不甘啊。最近父上要用网络,私基本是在玩鬼泣4和改程序中度过的,没怎么上网。不过今天还是打算把新版本的程序发上来,虽然我觉得应该没什么人关心。

另外在此感谢一下CS Slayer,居然对这程序给私留言了。私深知大神看到小白胡扯时的感受,足下居然还能不吝指点,实感恩不尽。

//

testing 0.3.3版本下载:

http://cid-d40a6a1ce1a272ac.office.live.com/browse.aspx/程序

这是私发布的第二个版本。由于想加的东西实在太多,程序不完善的地方也很多,所以从0.3.2开始程序的版本号扩展了一位,并且加入了alpha、beta、testing这类声明。关于这个“testing”,按照通常的规范是没这种说法的,私为了把公开测试和自行测试分开才使用了这样一个词,愿编程达人少假借之。

今次代码扩展到了260行,看起来增加了一半,其实很大程度上是因为把初始化脚本集成到主程序里了,并没有太大的革新(详见发行注记)。总体来讲比较有用的改进就是增强了确认提示,减少了误操作的机会;另外也不需要先运行一遍reset了。

未来可能的扩展:

1、可执行文件:鉴于Windows用户的平均计算机应用水平,打算为Windows用户加入可执行文件(exe)包,降低使用门槛。
2、会员卡使用日志:这是母亲大人的建议(不愧是理发店常客)。有这个就能把每次消费、充值情况记录下来,一目了然。
3、自定义消费模式:比如剪发烫发染发之类的,一次设定之后就可以直接调用,减少每次都输入金额带来的潜在误操作几率。不过这是个浩大的工程,得仔细想想算法……
4、图形界面:私就有很深的图形界面癖,所以深知图形界面的吸引力。并且使用按钮和输入数字进入菜单相比可以很大程度减少复杂的容错设计。CS Slayer大神建议私使用PyQt以便实现跨平台(以后要不要有个手机版呢?玩笑而已……),不过那东西私还没用过,得从头学,是个更浩大的工程……

使用说明:

本程序基于Python3.1.2制作,需有Python3.0以上版本的解释器方可运行。由于Python官方下载页面被我天朝和谐(原因未知),请有志者按照下面的方法使用。

1、将压缩包中的文件解压到任意文件夹

Windows用户:

2-1、用浏览器打开http://www.python.org/ftp/python/页面,选择最新版本的Python文件夹(当前为3.1.2)进入。如果您是32位用户,请下载python-3.x.x.msi,如果是64位用户,请下载python-3.x.x.amd64.msi,下载后安装到任意文件夹。

3-1、双击main.py运行主程序(0.3.3之前的版本初次使用时需先运行reset.py,之后版本可直接运行主程序)。

Linux用户:

2-2、若您的发行版没有附带python3.1以上版本,请从您特定发行版的软件管理器中找到最新的python(目前为python3.1.2)安装。

3-2、直接或在终端启动main.py运行主程序(0.3.3之前的版本初次使用时需先运行reset.py,之后版本可直接运行主程序)。

若要回报Bug,请到ukyoi.wordpress.com留言或尝试联系本人。

//

更新:

testing 0.3.3:
初始化脚本与主程序整合
增加初次运行检测、自动初始化

beta 0.3.2:
版本号再次扩展(囧)
增加消费、充值后余额显示
增加余额不足提示
调整部分确认提示

0.3 alpha (0.3.1):
版本号扩展
增加用户遍历功能(查看用户资料——遍历用户)

0.2之前版本:
详见发行注记。

猜想——用Linux温度过高的原因是不是没升BIOS

今天在ubuntu中文论坛上看某人也是Y460的机器,但ubuntu10.04用得好好的,完全没有过热问题。然而私的PC无论装哪个发行版都温度极高,感到甚为奇怪。于是上网搜了搜,发现联想的米国和香港官网是提供Y460的新版BIOS(2010年5月释出)下载的,但大陆(.cn)官网却根本没有BIOS这一项(搞笑的是旁边有一个文章的链接,进去之后里面建议不要升BIOS)。

一会去升一下,如果幸运还能进系统的话就试试Arch吧。已经决定投奔这个连GUI都没有的诡异——啊不是,是另类的系统了。向CS Slayer同志学习!

理发店会员卡管理程序——私首个发布的Python程序

为防止有人唠叨,先贴地址,下载在此(然而我强烈建议您看完全文):

直接用浏览器打开这个(不要使用下载工具,若有下载工具的话建议关闭浏览器集成):

http://cid-d40a6a1ce1a272ac.office.live.com/self.aspx/程序/理发店会员卡管理程序.zip

如果上面的方法不行,请进入这里然后选择程序下载:

http://cid-d40a6a1ce1a272ac.office.live.com/browse.aspx/程序

/

使用说明:

本程序基于Python3.1.2制作,需有Python3.0以上版本的解释器方可运行。由于Python官方下载页面被我天朝和谐(原因未知),请有志者按照下面的方法使用。

1、将压缩包中的文件解压到任意文件夹

Windows用户:

2-1、用浏览器打开http://www.python.org/ftp/python/页面,选择最新版本的Python文件夹(当前为3.1.2)进入。如果您是32位用户,请下载python-3.x.x.msi,如果是64位用户,请下载python-3.x.x.amd64.msi,下载后安装到任意文件夹。

3-1、初次运行,建议双击reset.py初始化(通常这一步非必须)。此后可双击main.py运行主程序。

Linux用户:

2-2、若您的发行版没有附带python3.1以上版本,请从您特定发行版的软件管理器中找到最新的python(目前为python3.1.2)安装。一般情况下可直接打开.py文件运行,若出现错误,尝试在终端中输入“python3.1 (要运行的文件地址)”运行程序。

3-2、初次运行,建议先运行reset.py初始化(通常这一步非必须)。此后可启动main.py运行主程序。

若要回报Bug,请到ukyoi.wordpress.com留言或尝试联系本人。

/

样一的话:

这个程序其实原本是给自家附近的一个理发店写的。那个理发店现在还在用笔记本(不是笔记本电脑-_-||)来记录会员卡使用情况。于是私突发奇想,准备学过Python之后先写一个这样的程序,于是就没有理会教材最后的“毕业任务”,毕竟无非是个字典的处理,道理上差不多。当然这个简陋的程序可能不会被采用,不过也无妨,私学编程的初衷并非要造福人类,只是自娱自乐罢了。若日后真的能够投入应用那自然美甚,若只能自娱也是很好的。

这是私学Python之后公开发布的第一个程序(首次公开发布时为0.2版),只有约180行的代码。极为简陋,甚至连图形界面都没有(Python的图形化想跨平台真的很成问题),完全是DOS时代的操作方式。功能非常有限,只能记录卡号、姓名和金额。但是采用了框架和操作分离的写法,可扩展性比较强,日后的版本可以按照需要继续定制和维护。

这个程序是在一天内仓促完工的,没怎么推敲代码,Debug也不到半天(说实话这么点功能要Debug半天已经很长了)。所以问题还比较多(最大的问题是几乎无容错能力,如果误操作可能会报错直接退出),请大家多包涵。如果有Bug可到ukyoi.wordpress.com给私留言,也可以直接尝试联系本人……

扯了这么多,再次重申:其实程序本身烂得很。高级程序员看到程序千万别骂我,毕竟闻道有先后术业有专攻……

更新:

0.2:

调整部分消息停滞时长、增加部分确认提示。

0.1:

修正重大Bug。

记不住……

忘了谁说过记忆力是第一智力,看来私的第一智力还很不够。

豆瓣Python小组上某人说从开始学Python到形成生产力只用了一周时间。虽然私以前没有接触过C血统的语言(甚至可以说没有深入编程)因而也并未奢望能够在一周内形成生产力,但遗忘的程度却很让人有些无法接受……

学的时候由于记不清成堆的标准库用法,只能跳过。打算复习一下之前的文本读取写入和pickle为编写一个程序的菜单做准备,却发现印象已经变得模糊,多次被对语法的思考打算思路;此外,随意练习的时候竟发现自己忘了字典的items方法,于是深切感受到记忆力不足之痛苦……

有道是:

坐对文编[1]几番思

心绪纷乱谁人知

但盼仕佳大神[2]在

过目拾遗不觉失

[1]文编:文本编辑器。据考证作者本人当时使用Vim。

[2]仕嘉大神:私高中时某过目不忘之同学,此后转走,班级遂少巨星一枚。

OpenSUSE11.3

嗯。还是禁不住诱惑安装了。其实OpenSUSE并不是一个很激进的系统,用的软件包也算不上新。不过大概这是稳定性的保证吧。它的宣传口号是“Linux for open mind“。大概意思是要自己去设置吧。

和其他的LiveCD相似,一开始是没有中文的,要在YAST的升级中才可以安装中文语言包。之后就可以在语言中选简体中文。另外要想装解码器还需要打开社区源中的Packman。这里有个奇怪的地方,OpenSUSE里的音量调节似乎是对数式的,滑竿中间以前声音几乎不增加,中间以后增强很快。

温度问题还是没解决,就跟跑着个3D游戏一样。其实这也难怪,开源Radeon驱动默认关闭自动节电(因为还不稳定)。更何况私这Mobility HD5650又太新,本来就不在官方支持之列,能比较流畅还是很难得的。CS Slayer大神给私推荐了一些文章,不过私许多都看不懂……

另外有一点很奇怪的是SUSE的sudo和su是无法打开D-bus的,于是乎不能从终端中启动任何图形程序,这点挺麻烦的。私到现在都没想明白怎么开文本编辑器编辑系统文件。

目前测试到现在……最深刻的感受是软件管理很不错,比kubuntu的KPackageKit强得多,貌似也稳定得多了。Novell不愧是KDE的银级赞助啊。

目前就探究到了这些,以后慢慢补充吧。

Python在私PC上之怪现象

最近私在学Python,算是刚刚起步,水平不佳,不好意思写些什么。所以常上CSDN但多半都是潜水,并非犯懒,力不足尔。昨日终于注册了自己的CSDN帐号,可惜那里面“发展方向”里貌似没有单独的Python选项,于是选了个数据库相关。上面的学习笔记怎么办呢?大概可以拿这篇网志凑数。

以上属于胡扯,下面进入正题。Python……按说是跨平台的,用Java的宣传语就是“一次编写,到处运行”(当然原文用的是“编译”,Python有些不同,暂且不提),私也是看到这一点才毅然决定选它的。Unix/Unix-Like是本命平台,自然没问题。但我在Win里却遭遇了点麻烦,到今天简直可以说是抓狂的地步……难道真的也跟Java讽刺者说的似的:“一次编写,到处调试”?

首先是解释运行的问题,这里就有一怪现象(并且不写读取、写入类代码根本看不出来)。如果是双击.py脚本直接运行(这大概是官方想让用户使用的方法),程序就默认在本地编译运行,这也就意味着“当前目录”(即sys.argv的第一个目录)就是脚本所在的目录,此时如果执行没有指定目录的写入或读取命令就会在当前目录写入或从当前目录读取,这是没有问题的。可是如果在终端里键入脚本所在的位置来运行,它的默认目录就会莫名其妙地变为C:user(用户名)。于是乎问题来了,私在第一次运行的时候发现整个程序一点毛病没有,但就是找不到文件跑哪去了。后来在win下搜索才总算把它找到。(说来也怪,我在Win7下往C盘里拷个东西它都提示要我提升权限,在python下竟然神不知鬼不觉直接写进去了,说不定这是个漏洞)

路径不统一。有两个解决方案:

其一是手动指定一个特定路径,私认为此是下下策。首先,除了当前目录以外在任何目录创建文件都是一种不太绿色的行为(所以小朋友们记住,绿坝最不绿色)。其次,虽然Python有一个内建的mkdir函数,可是它只能创建“指定的那个”目录,换句话说如果那个目录的根目录不存在就直接报错。所以如果想创建一个藏匿比较深的目录的话就得逐层检验,存在的跳过,不存在的创建。怎么检验呢?私想到的办法是把每级目录写进一个list里,再写个循环逐个调用这list每个元素。不是不行,但是是个很让人痛苦的活。

方法二是以后干脆就直接运行,不再用终端。可是要是直接运行的话一旦代码执行完毕窗口就自动关闭,所以很多程序运行起来就会看到一个终端一闪而过消失无踪,再运行又一闪而过,再运行……所以私现在甭管啥程序都在最后来一行input()把它卡住好能看到屏幕的显示……

在IDLE(Python的默认IDE)里运行可以解决这两个问题,不过又引入一个更令人无语的悲剧——今天用的时候发现Shell根本打不开,每次按F5执行都程序无响应,只能强制关闭,修复重装都不管事,现在问题依然存在……

今天打开了久违的教材,学用pickle函数。写出来之后挺高兴地运行,结果提示“’module’没有’dump’这个属性”(原话是英文,记不住了)。嗯,没关系,第一次写难免出错,于是检查一遍,似乎没问题。再查一遍,还是没问题。私有点怀疑是更新版本之后函数变了,于是上官网查documentation(相当晦涩的文档),发现用法完全相同。最后一怒之下把教材里的例子直接复制进去,结果PC不依不饶还是这句,私就彻底愤怒了,看到这行字的一瞬间就把鼠标当惊堂木狂拍……

由于PC通常是不会出错的,于是休息过后私打算新建个文件重写一遍,结果居然解释通过。找不到病根,私就又把教材的实例复制进去,又通过了……此时私彻底无奈。

[转]论绿坝的倒掉或即将倒掉

样一的话:本文作者羽戈。今日私无聊上推时看到这篇文章,模仿得很有点意思,分析也很精彩。于是转过来博大家一笑。当然也许会有人看着有点扎眼,觉得似乎不知道哪里被人打了一拳,想要还手却无处发力。无妨,这是很正常的,私在此只引用一个很精辟的词来回应:兼听则明。

/

作者:羽戈 提交日期:2010-7-14 8:39:00

听说,曾经横行一时的绿坝花季护航软件如今遭遇了重大劫难,其北京项目组已经关张大吉,设在河南郑州的另一项目组虽然正常运转,却举步维艰,恐怕命不久矣。听说而已,我没有亲见。但我却见过未倒的绿坝,于一年前,在有关部门的赫赫号令之下,企图强行载入中国网民的所有电脑,为所谓未成年人——若由政府充当教育者,哪怕公民活到八十岁,仍是未成年人——的网络生活保驾护航。至于绿坝的功效,我有幸体验了一些,并不见佳,我以为。
随网络在中国的急剧兴盛,类似于绿坝的名目如过江之鲫,令人目不暇给。我知道最晚的正是这绿坝,稍早还有蓝坝、金坝、黑坝等,也许没有,我不大记得了。我的记性就像时下的民心,越来越坏。不管它有无,绿坝们一直在拦截、审核信息,则是不争的事实。具体怎么个拦截法呢,且打个比方,像凶残的强盗拦路抢劫,要想从此过,留下买路财;或者,像得道的法海禅师捉妖怪,看你脸上有些妖气,便要拿你。其辣手之下,摧折了多少美丽而无辜的白蛇娘娘和小青姊姊。我听那捉妖的新闻联播,总有些恐惧。不过,有时听闻,法海拿了一个妖,剥开皮一看,竟是自己的同僚,出道于某某政府官网,因开了小差,慌不择路,披了妖精的皮囊,这大抵便是误伤友军了罢,大抵。诸如此类,可当笑话,供重压之下的普罗阶级一乐,然后继续悲苦而无望的生活。
悲叹之余,我唯一的希望,就在这绿坝的倒掉。后来我觉悟了,认识到一个绿坝倒下,还可能矗立起千万个绿坝。绿坝不死,生生不息,因绿坝不是种,只是叶,不是因,只是果。它倒不倒,实在关系不大。然而,瞥见绿坝的狰狞面目,甚至一听其似卫生巾一般暧昧的名字,我心里仍然不舒服,仍然希望它倒掉。
现在,它居然倒掉了,纵然只挂了一个角,则普天之下的人民,其欣喜为何如?
这自有事实可证。试到新浪、天涯的论坛博客,探听民意。凡有良知、懂常识、向往自由的网民,除了几个脑髓里头有点贵恙的之外,可有谁不怪绿坝多事,不为绿坝之下的牺牲品抱不平?
某些人要护航,当先护航自家的儿女,防止他们识得自由的滋味。我等上网,阅信息,发言论,只要在宪法和法律所规范的疆域之内,和绿坝有什么相干呢?它偏偏来插足,筑起防火墙,织好过滤网,大概怀有一种恐慌罢——那简直是一定。
听说,绿坝项目的研发,工信部共出资4170万元,但这只是2008到2009年一年的费用,从去年至今,两家公司未得一文,无米下锅,北京项目组不得不关门、解散。我对工信部等相当神秘的有关部门所做的事,腹诽的非常多,独于这一件却很满意。它们并非无钱,却硬是不分你一杯羹。看绿坝自生自灭,竟有些残忍的快意。
世上本无事,庸人自扰之。某些物亦是如此。绿坝这玩意,还不如鸡肋,更像阑尾,本该早早割舍。它的倒掉,足以提醒某些愚妄的治理者,治信息,如治水,不在堵而在疏。堵到最终,只可能连治水者一并冲走。疏通有道,洪流渐渐归于平缓,待转型的航船平安渡过了历史三峡,治水者的人物便告完工。他们的名字未必要写入历史的光荣榜,却配得上他们的良知所承受的苦难。
当初,秦始皇筑长城,法海建雷峰塔,东德政府修柏林墙,竟没有想到它们是终究要倒的么?而今,绿坝已然先倒了一大片。
活该。

供《东方早报》

[转]学习 Linux 几点忠告

样一的话:

本文是私从ubuntu中文论坛的wiki看到的,可以说几乎是私接触Linux看到的第一篇文章(应该是,印象不深了)。既然在ubuntu的wiki上,大概是遵从开源协议的,私觉得很好,便转了过来。本文作者系王垠,这是今天才注意到的。

里面列举了10条。私在这10条中有强烈赞同的,有保持中立的,有持反对态度的,这里不一一赘述。但请无论如何要注意最后一条:取舍由你。这大概也是开源的精髓之一吧。

/

下面进入正文:

学习 Linux 几点忠告

不要当“传教士”

(这点有一个重大弊端:开源软件没有商业软件那样的宣传,如果使用者都如此低调,用户群不会大幅扩展。) 很多人在讨论区不断的引起 “Linux vs. Windows” 之类的讨论,甚至争的面红耳赤,这是没有必要的。

这种争论是浪费时间而没有任何用处的。对,你花了一下午,用许多事实“捍卫”了 “Linux 比 Windows 好” 这个说法。但是 Windows 的支持者并不会喜欢上 Linux,他们只是稍微退缩一下,然后找一些新的证据来跟你辩论。

世界上的人们都在利用Linux 研究最前沿的科学,我们还在这里讨论 “要不要用Linux” 这种无聊的问题,什么时候才能赶上时代前进的步伐?

什么叫做“Windows 支持者”,什么叫做“Linux 支持者”?我们为什么要支持某一个而反对另外一个?你不需要为 Linux “护法”,不需要成为“Linux 支持者”或者“GNU传教士”,GNU/Linux 已经用事实向世界证明了它们的威力,已经被大多数人接受。你只需要安安静静享受 GNU/Linux 给你的乐趣和自由。

你需要关心的不是你的工具是什么,而是你用它做了什么。精通 Linux 并不说明任何问题,因为它只是一个工具而已。如果你用 Windows 能很好的完成你的任务,那你就没有必要费时间去熟悉 Linux。直到有一天你发现一项任务只有 Linux 才能完成的时候再换也不迟,因为你身边的 Linux 的爱好者一定会很乐意的帮助你。

如果你在使用linux的过程中对它产生了感情,那么你应该明白那些习惯于使用Windows 的人也会对Windows产生依赖。类似的争论还有很多:MS Office Word 和 TeX;Emacs 和VIM; MAXIMA, Mathematica 和 Maple ; Gnome, FVWM 和 KDE;Mutt 和 Pine ……冷静地对自己说:“我不站在它们任何一边。” 尽管这有些不容易办到。

各人的需要不同,生活的环境不同。对你来说好的东西,对别人来说不一定好,我们需要尊重别人的选择。如果你当面说别人正在用的程序不好,没有必要。

不要强迫自己

喜欢电脑的人总是有某些心理强迫倾向。有的人说:“键盘比鼠标快。我不要用鼠标。这样才有高效率。” 所以他在编辑器里无论什么时候总是用 20w, 10j 这样的命令到达目的点。他甚至觉得图形界面是多余的,干脆 Xwindow 都不装。

全部用键盘看起来的确比让手离开键盘去拿鼠标,再回来“快” 多了,但是快的击键频率不等于工作的高效率,对你的健康更没有什么好处。这只能把你变成打键盘的机器。

当你正在检查你的文章或者程序,思维正在随着字符的含义流动,突然 20w, 10j 这样的东西出现在你的脑子里,是不是会打断思路?不?那说明你当时思考的问题比较简单,这些干扰还不会起到副作用。

其实很多人用电脑的时候,思想都受到某种教条的束缚,上面这个只是众多教条中的一种。某些人制造了很多这种教条,用他的工作方式来要求别人,嘲笑方式跟他不一样的人。比如有的人嘲笑其它人写 C 程序不按 8 字符缩进,嘲笑别人在 vi 里用方向键,嘲笑别人不知道 PVM 是什么,嘲笑其它人用 JAVA, C# 这种由 GC 回收内存语言……

你不用管各种各样的教条,电脑只是你的工具,你想怎么用就怎么用。没有人能够约束你,没有人可以嘲笑你的工作方式。电脑明天就不再是这个样子,所以今天你不用完全了解它。你没有必要知道别人创造的一切,因为你需要留点时间自己创造些东西。Just have fun!

当你下次修改文章的时候,不妨试试悠闲的用鼠标在你眼睛看到的地方轻轻点一下。

不要“玩 Linux”

很多人用 Linux 的时候会感觉很迷茫,该用哪个发行版本呢?是不是我少装了什么?怎么升级这么快啊!怎么这么不稳定!每当遇到新的软件他就想试用,每当新的版本出现,他就更新,然后用鼠标在新的菜单里选择从来没见过的程序来用用。

其实你是为了Linux而使用Linux,而没有找到正确的理由来利用 Linux。你首先要明确用电脑的目的,你用它是为了解决你的实际问题,而不是为了学习安装操作系统,不是为了测试哪个版本好用,不是为了“赶上潮流”,更不是因为你硬盘太大了,你想多占点空间。(样一的话:安装操作系统真的要学习的,Arch那样的安装界面能捣鼓明白的都是神……)

如果你启动了电脑之后不知道应该干什么,那么最好先不要用电脑,因为你可能有更重要的事情需要做。这没什么说的。

不用挑剔发行版本

很多人刚开始用 Linux 的时候,总是在怀疑别的发行版本是否比自己正在用的这个好,总是怀疑自己以后时候会失去支持,不得不换用别的发行。所以很多人今天是 Red Hat,明天又换成了 Debian, 一会儿又是 Gentoo, …… 甚至有的人在一台机器上装了两个版本的 Linux,然后比较哪一个好。

其实你完全没有必要这样做,任何发行,只要你熟悉了,你在上面的工作方式几乎是不会受到任何影响的。我以前一直用的 Red Hat,当我有一天在我的一台新机器上安装 Debian 时,我发现使用 Red Hat 的经验完全没有浪费。我用了一个下午就配置好了 Debian,使它服服贴贴的听我的话,就跟没有换发行版本一样。

Debian, TurboLinux, SuSE, Red Hat, Gentoo, … 任何一个版本都是不错的。很多人认为自己攒一个 LFS 是高水平黑客的象征,但是不是每个人都有精力去了解所有细节。

不要盲目升级

不知道这是心理作用还是什么,有的人看到比较大的版本号,就会很想换成那个。很多人的 Redhat 本来配置的很舒服了,可是一旦 Redhat 发行新的版本,他们就会尽快下载过来,然后选择升级安装。结果很多时候把自己原来修改得很好的配置文件给冲掉了。新的软件又带来了新的问题,比如有一次我的 rxvt 升级到 2.7.8 就跟 miniChinput 冲突了,升级到 Redhat 8.0,发现 xmms 居然缺省不能放mp3了,XFree86 的 xtt 模块在 I810 上有新的 bug,会导致 Mozilla 突然退出。

如果你已经配置好了一切,千万别再整体升级了,这会浪费你很多很多时间的,不值得。有句话说得好:”If it’s not broken, don’t fix it.” 如果你的程序能够完成你需要做的事情,你何必升级呢?(样一的话:这话很对。不过最大的麻烦在于It often broken, or never work well. 只好去升级,然后抱着那一点点的希望,希望下一个版本能解决这问题……)

不要配置你不需要的东西

如果你只想做一个像我这样的普通用户,主要目的是用 Linux 来完成自己的科研任务和日常工作,那就可以不用系统管理员或者网络管理员的标准来要求自己,因为当一个系统和网络管理员确实很辛苦。普通用户学习那些不经常用到的复杂的维护系统的工具,其实是浪费时间,学了不用是会很快忘记的!

我不是一个合格的网络管理员,我的服务器都只设置了我自己需要的功能,设置好 ssh, ftp 已经足够了,那样可以省去我很多麻烦。我从来不过度考虑“安全”,因为 Linux 缺省已经很安全了。我没有磁带机,就不用管 tar 的那些稀奇古怪的参数了,czf, xzf, ztf 已经可以满足我所有的需要。sed, awk, … 我也只会几种常用的命令行。

不要习惯的使用 root 帐号。在需要的时候才 su!

这是很多刚接触 UNIX 类操作系统的人常见的现象,他们不喜欢在管理系统的时候才 su, 而是一直用 root 帐号干所有事情,配置系统,安装程序,浏览网页,玩游戏,编程 ……

结果有一天,他不小心在某个系统目录使用了 rm * … 后果不堪设想……(样一注:该命令的含义为删除根目录下所有文件)

不要用商业的眼光来看 Linux

Linux 不是商业软件,所以不要用要求 Solaris, Windows 那样的眼光来看 Linux. 自由软件的作者们从来不拉拢用户,他们对用户不负有任何责任。实际上在自由软件的世界里,“开发者”和“用户” 并没有明确的界限,大家是朋友。

自由软件很可能只是满足作者和他的朋友的需要,甚至是为了好玩而创造的。自由软件不是完美的,自由软件承认自己有缺点,它不会自吹自擂,蒙蔽“用户”的耳目。这种对作者责任的解脱激发了作者的创造力,他们不用过分考虑“向上兼容”,他们往往比背上重重包袱的商业软件结构更合理,技术更先进。

所以当你用某个自由软件遇到困难的时候,不应该埋怨软件的作者,因为他们对你并没有义务。你不应该把自己当成一个挑剔的顾客,而要把自己作为这个软件的顾问和一个和蔼的建议者,这样你才能理解作者写这个程序时的快乐,在遇到问题时向作者反映,帮助他完善这个软件,成为一个快乐的参与者。就像你的哥哥送你一个他用旧了的自行车,你应该珍惜这份友情,而不要在车坏了,或者骑车摔了一跤的时候大骂你的哥哥。如果你真的不能使用这种合作的心态,那么最好不要使用这个软件。

这是一种先进的文化,它包含了互相合作,科学创新的精神。理解这一点不是很容易,很多人往往是因为不能理解这种文化而离开自由软件。这对于作者来说并没有什么损失。

干你的正事去

很多人跟我说,你的网页浪费我好多时间来配置这配置那,一会儿是 FVWM,一会儿是 Mutt ……

嗯……那些东西都是我有空的时候一点一点积累的,如果你想一次性搞定所有那些东西,恐怕得花你几个星期甚至几个月的时间!并不是一定要搞定所有这些东西你才能正常工作的。除非你真的非得利用某个程序,或者你闲着没事,否则你可以不管这些东西。

上面几条仅供参考

以上只是个人意见,不一定适合所有人。取舍由你了!

推荐两个Python指导资料吧……

其实私一直很想推荐了,不过出于种种原因一直也没说。今天说一下吧……

这两个都是关于Python语言的教材(或者叫指导?),得先介绍一下Python。

Python是一种简单易用的解释型高级语言(也可以被粗略地分类为“脚本语言”)。所谓解释型,简单说就是无需事先生成二进制码,而是在运行时由其他语言“解释”成二进制码,再交由计算机执行。不同的平台上解释器可能不同,但是程序的源代码是相同的,因此只要带好源代码就可以在装有Python解释器的任何一个平台(包括Windows、Unix、类Unix以及很多私从未听过的平台)上面运行,同时由于解释器帮您承担了硬件调配工作,您可以专注于程序本身而不是如何管理内存等等操作。当然坏处也是显而易见的:执行效率肯定不如能精确控制内存和核心的C血统语言。

Python3.x发布之后由于有许多关键性的修正,不再与之前的版本兼容。所以目前2.x、3.x都有人使用,并且相对来说2.x可能用的人更多。不过如果您是新手,建议还是学习3.x,从此之后可以和编码的困扰永别了,对私这样的懒人真是一大福音。

说了这么久,终于到正题了……

首先是《非程序员 Python 编程概念》(对应python3.x)。地址在这里:

http://code.google.com/p/hashao/wiki/ChinesePythonTutor

这是迄今为止私见过的最简洁最好玩的Python教程。文风幽默、比喻精当、内容扼要。内容非常短,私以为快的话大概几十分钟就可以看完,但却介绍了Python大部分功能的基本用法(当然各种内置函数(Function)和方法(Method)是不可能在这么短的文章中解释清楚的),非常适合从未接触Python语言的人来一个概览。

比如里面有一段话:

“在Python里,次序是从0开始数的,开始是0,然后是1,2,3,4,5,所以上面的列表 alist的第一个内容,可以用alist[0]来提取,第二个用alist[1]来提取。就像年龄一样,一生下来是零岁,一年以后才是一岁,不是中国传统那样,生下来就一岁,那是虚岁。蟒蛇语言他只认准确的东西,不玩儿虚的。”

是不是很好玩?

当然,既然叫做“非程序员编程概念”,就是说只能让您理解主要概念,因而即使您看完了全文还并不能真正很好地编程(当然如果您就写个等差数列求和那是绰绰有余了),所以在文章的末尾,作者还推荐了一些教材,都是好书(并且好多都是中文版),深入学习很有好处。

不过私个人还是要推荐下一本书……

下一本,是Python界大名鼎鼎的《A Byte of Python》,官方网站在这里:

http://www.swaroopch.com/notes/Python

写这本书的是个印度人,叫Swaroop,那个SwaroopCH是他的官方网站,他还有一本书叫做《A byte of Vim》,是教Vim编辑器的。

《A Byte of Python》中文名为《简明Python教程》,有对应python2.x和3.x的版本(均可在官网找到),不过for 3.x的是没有中文版的(至少私没有找到)。其实中文版必要性并不太大,因为这本书的语言非常简洁(虽然一点也不幽默),用的语法也很简单,最多就是几个单词(术语)不容易认,稍微查查字典就可以了(而且您英文不认识的话翻译成中文还真未必明白,因为很多是术语)。大概看官们有知道私E文水平的,私这家底都能看,您还担心什么呢?

这本书同样是指导性质的书(而非参考性质,这点很重要),不过里面讲的可就系统多了,私以为完全可以作教材使用(相比之下Python的官方Tutorial倒是晦涩不少)。当您阅读完全书之后,最后一个任务是编写一个文本地址簿程序,如果您很快想到用什么方法并且最终实现的话,基本可以说您就掌握了Python的基础技巧。不过正如文中所说,这是“起步阶段的结束”,未来的路还很长,活到老学到老,大概……

嗯,先写这么多吧。有意者无聊者都可以去看看,两本书(和里面提及的参考资料)都是不错的。