清华申请退学博士作品:完全用Linux工作(转贴)
2005年9月22日,清华在读博士生王垠在水木社区BLOG上发表了《清华梦的粉碎--写给清华大学的退学申请》明确要求退学, 引起社会各界广泛争论. 他创作的长篇文章《完全用Linux工作》, 洋洋两万多字, 从不同角度居高临下的阐述了他眼中Linux完全优越于Windows的各种理由, 这篇文章并不简单的是一篇论述"Windows能做的事Linux都能做"这样的文章, 通篇洋溢着一个彻底批判 Windows 平台基础的计算机哲学, 计算机应用和计算机教育体系的人的万丈豪情, 尽管可能偏激, 也不乏详细的推理论述. 今天我们重温本文, 一方面也是因为CB上喜爱和推广Linux的人士很多, 有时也会爆发小规模论战, 我们希望能通过对本文的研究与讨论, 来窥测国内部分Linux推广者的心态, 同时为大家提供更宽广的讨论空间.
我已经半年没有使用 Windows 的方式工作了。Linux 高效的完成了我所有的工作。
GNU/Linux 不是每个人都想用的。如果你只需要处理一般的事务,打游戏,那么你不需要了解下面这些了。
我不是一个狂热的自由软件份子,虽然我很喜欢自由软件。这篇文章也不是用来推行自由软件运动的,虽然我觉得自由软件运动是非常好的。
这 篇文章也不是用来比较 Linux 和 Windows 内核效率,文件系统,网络服务的。我现在是作为一个用户而不是一个开发者来说话的,我们的讨论是基于操作,应用层面的。是为了告诉大学里还不了解,或者不 理解 UNIX 的科学工作者和大学生,UNIX 比 Windows 更适合用于科学研究工作,请大家理解 UNIX 的工作方式,不要用 Windows 的标准来要求 Linux,而要用一个科学工作者的标准来要求自己,用UNIX 的思想来武装自己。
我显然是反对在大学,特别是理工科专业推广 Windows 的。我也反对在对"娃娃"们的计算机启蒙教育中使用 Windows。因为 Windows 不论从技术上,经济上,思想风格上都是与我们培养高科技人才的目标格格不入的。Windows 的流行属于历史遗留问题,爷爷一级的人当然已经不可救药,但是我们不应该让下一代继续走上歧途。
115诡异的乱码
今天下载115网盘的资源,文件名一堆乱码,以前就出现过这种状况。其实也不是乱码,仔细看了一下应该是用%分隔的unicode码。反正也是闲的没事自己就用python写了一个恢复正常文件名的小程序,还算比较简单,主要就是读取文件名,然后将文件名按照%分隔,再手动设置一个溢出判断,超出两个字符就算溢出,溢出的部分和在文件名中的位置偏移另存,然后转换为字符就行了,最后将转换完的文件名存储。
python确实比较方便啊,不过十几二十行的代码而已,要是这个程序用c 或者java写的话……
# -*- coding:gb2312 -*- F = open('datafile') s = F.readlines() s = [c.rstrip() for c in s] ls = [c.split('%') for c in s] result = [] for c in ls: del c[0] isLarge = False sTag = None nTag = None n = -1 for i in c: n = n + 1 if len(i) > 2: isLarge = True sTag = i[2:] c[n] = i[:2] nTag = n + 1 #print sTag #print nTag c = ['0x' + p for p in c] c = [eval(p) for p in c] c = [chr(p) for p in c] if isLarge == True: c.insert(nTag, sTag) result.append(''.join(c) + '\n') #print c F.close() F = open('myfile', 'w') F.writelines(result) ''' for i in result: print i '''
Hp笔记本安装Ubuntu无线网卡开关的LED灯闪烁解决办法
本文来源于老牛的博客 原文地址: Ubuntu-wlan-led/ 转载请注明
今天在公司用我的Hp本子无线上网,发现一个奇怪的问题,就是网络连通后掌托处的无线网卡开关一直是闪烁状态,平常关闭的时候是红色的,在Windows中接通后是绿色的,可是在Ubuntu 9.04中接通后是不停的红,绿闪烁,担心这个会对硬件造成一定得伤害,所以就google了一下,没想到还这有这个问题的解决办法。
具体方法如下:
在终端进入 /etc/network/if-up.d 目录
$cd /etc/network/if-up.d
建立一个文件 iwl-no-blink
$sudo gedit iwl-no-blink
编辑里面的内容为
代码:
#!/bin/sh if [ "$IFACE" = "wlan0" ]; then for dir in /sys/class/leds/iwl-phy*; do echo none > $dir/trigger done fi
保存
设置权限
$sudo chmod 755 /etc/network/if-up.d/iwl-no-blink
重启系统,再次连接,问题解决了。
str() VS repr()
内建函数str()和repr()可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。
str()函数得到的字符串可读性好,而repr()函数得到的字符串通常可以用来重新获得该对象,通常情况下obj == eval(repr(obj)) 这个等式是成立的。这两个函数接受一个对象作为其参数,返回适当的字符串。
>>> str(4.53-2j) '(4.53-2j)' >>> >>> str(1) '1' >>> >>> str(2e10) '20000000000.0' >>> >>> str([0, 5, 9, 9]) '[0, 5, 9, 9]' >>> >>> repr([0, 5, 9, 9]) '[0, 5, 9, 9]' >>> >>> `[0, 5, 9, 9]` '[0, 5, 9, 9]'
尽管str()和repr()运算在特性和功能方面都非常相似,事实上repr返回的是一个对象的“官方”字符串表示,也就是说绝大多数情况下可以通过求 值运算(使用内建函数eval())重新得到该对象,但str()则有所不同。str()致力于生成一个对象的可读性好的字符串表示,它的返回结果通常无 法用于eval()求值,但很适合用于print语句输出。需要再次提醒的是,并不是所有repr()返回的字符串都能够用 eval()内建函数得到原来的对象。
>>> eval(`type(type))`) File "<stdin>", line 1 eval(`type(type))`) ^ SyntaxError:invalid syntax
也就是说 repr() 输出对 Python比较友好,而str()的输出对用户比较友好。虽然如此,很多情况下这三者的输出仍然都是完全一样的。
python中文支持
在开头进行编码声明:
# -*- coding:gb2312 -*-
在声明之后就可以使用中文字符了,即便不用在字符串之前声明位unicode编码也不会出现乱码了。