Ubuntu Linux 鼠标插上时禁用触摸板

在目前这个笔记本上装了 Ubuntu 11.04,多次遇见了触摸板干扰鼠标的情况。一般是鼠标按键失效,移动还可以。一开始我还以为鼠标坏了呢,心想正好有机会换个无线的,后来发现是触摸板的问题,只需按一下触摸板左键即可恢复正常。刚才又出现这种情况,让我误以为是 X 出毛病了,切换到另一个 tty,等 kill 掉 Firefox 的时候想明白了,按了一下触摸板。以前都是想禁用的时候输入命令 synclient TouchPadOff=1,不过这次是一定要彻底解决这个问题。

... Read full article: Ubuntu Linux 鼠标插上时禁用触摸板

D-Link DWL G122 与 Linux 驱动

从朋友那儿借了个联想的破笔记本竟然没有无线网卡,这样的配置在这年头显得有些奇特。于是在京东买了一个友讯 (D-Link) DWL-G122 无线USB网卡,省得拉网线麻烦。

这只有1G内存的破电脑还装着 Windows 7,慢得要死。今天装了一个 Ubuntu 11.04,装的时候想到这个 USB 无线网卡可能在 Linux 里会有安装驱动的麻烦。装完之后也没多想就开始倒腾 Linux 驱动。先把 D-Link 给的 Windows 驱动盘插上,看到里面的驱动文件名是 rtl8192su.sys

D-Link DWL-G122

... Read full article: D-Link DWL G122 与 Linux 驱动

费玛诞辰450周年-Google Doodle及广告

今日是皮耶·德·费玛(Pierre de Fermat) 诞辰450周年。Google Doodle 以此为主题,关键看图片的 title!

Google Doodle

让我很想在 blog 里记录下来的是点击图片之后,搜索结果右侧的链家的广告——

homelink ad

算是有点新意吧 :) 我点了 "+1".

Python 多进程日志记录

刚开始用 Python 做 web 开发的时候我就想一个问题,如果 Python 应用需要自己记录一些比 accesslog 更详细的日志(使用 Python 的 logging module),又有多个进程,怎么办最好呢?多个进程往同一个日志文件写入会不会出问题?

最近有个在 Apache 里用 mod_wsgi 运行的程序,设置了4个 process. 最初没有设置日志的 rotation,看起来一切正常。有一天设定了每天 midnight rotate(换成 TimedRotatingFileHandler), 第二天就出问题了,前一天的日志完全丢失,当天日志分散在前一天和当天的两个文件里,并且两个文件都在增长。比如今天是2011-08-14,现在去观察就会发现昨天的 customlog-20110813 和今天的 customlog 两个文件都在被写入。

看了一下 TimedRotatingFileHandler 的 doRollover 方法:

... Read full article: Python 多进程日志记录

使用第三方网站作为用户认证系统

很早的时候就有人发明了 OpenID,希望解决用户在每一个网站都重复注册流程的问题,但是由于种种原因,这个事情好久没什么起色。我曾经也弄过 OpenID,后来发现由于不怎么常用,我连 URL、密码之类的都记不住,还不如在每个网站上都注册一下。从网站的角度看,他们也不愿意把网站的入口交给第三方——这个 OpenID provider 的网站挂了怎么办?直到 Google/Yahoo! 这样级别的作为 OpenID provider 还比较靠谱。第一,它们足够稳定;第二,它们本身就是许多广为使用的服务的提供商,这个也让人可以信赖第一点是成立的,它们从自身利益出发就有足够的理由去保障。到了这个阶段,就不是 OpenID 的成功了,而是 Google/Yahoo! 的成功,或者说第三方登录的成功,选择什么协议已经不重要了。

现在国外许多网站都使用 Facebook Connect,大部分都是为了让自己的用户把 Facebook 账户关联起来,好从 Facebook 拿到用户的数据,或者让用户把本站的信息向 Facebook 发送,利用 Facebook 的巨大社交网络作传播。所以大部分的 Facebook Graph 教程,都在讲怎么往自己网站加个 Facebook Connect 的按钮,如何重定向,如何拿到用户的隐私数据等等。

不过我最近在想做一个新的网站的时候,就想直接依赖第三方的用户认证系统,而不自己实现了。向第三方网站 pull/push 数据只是一个附带产物。以下只是我很粗浅的想法,还没有实现,等将来有了实际经验的话也许再回来更新一下这篇文章吧。

... Read full article: 使用第三方网站作为用户认证系统

OpenVPN 客户端在 Windows 里的配置

自己搭了一个 OpenVPN Server,以前一直是在 Mac 里使用客户端,加上 chnroutes,用得很舒服。最近想在 Windows 里用一下,结果显示能连上,但是流量就是不从 VPN 走,很郁闷。

试了一下,连服务器 IP 10.0.0.1 都 ping 不通。运行 ipconfig 显示 OpenVPN 创建的 interface 信息为:

    Connection-specific DNS Suffix  . :
    IP Address. . . . . . . . . . . . : 10.0.0.6
    Subnet Mask . . . . . . . . . . . : 10.0.0.5
    Default Gateway . . . . . . . . . :

显然错得很厉害。看客户端日志,看服务器日志,都没找出什么原因来。最终发现是客户端配置文件里有个:

... Read full article: OpenVPN 客户端在 Windows 里的配置

欢乐谷玩了一圈

在北京去了几次北京游乐园,却没有去过欢乐谷。趁现在没有工作,今天去玩了一圈。早就知道暑假已经来了,估计即使是工作日小孩们也会很多,有点心理准备,于是找了一个预报有雷阵雨的天去。谁知道是大家现在都不信天气预报了,还是百折不挠长了这么大连雷劈都不怕了,去到欢乐谷门口的时候还没开门就发现长队已经排起来了。

... Read full article: 欢乐谷玩了一圈

瑕疵的粉饰

最近在看林达关于美国法治与民主进程、历史的一系列书,里面讲述的许多历史事件让人收获颇丰。但是让我经常感到不舒服的是,在描写许多事件或者人物遇到一些瑕疵的时候(但是作者可能认为是完美的),总是尝试从一个顺手的角度,比如法律或者人性,去为他们的不完美做一个合理的解释,以显示他们仍旧是最好的。

完全没有必要,读者自有能力去分辨是非,有些东西就是错的,不需要你证明这个错误是正确的合理的。这种行为让我反感的原因可能是我已经受够了从小到大被灌输的一些完美的概念。

今天读到最后一本,第一篇里就又遇到了这种“老套的情节”。南北战争,联邦政府做手脚“合法”地将属于南军首领的阿灵顿收入囊中。但是此处林达加了一段——

尽管在这个过程中,我们还是看到美国的法律文化在起着一定作用,换个地方,只需一纸通令,作敌产没收即可,哪里还需要费这些周折。

我实在有点恶心,忍不住中断阅读来 blog 里记录一下。这无疑是一件肮脏的交易,是耻辱,有些人就是能从屎里发现金子。如同现今国内政府部门招标,自己注册一个公司去中标,同时还要请一个“第三方”公司代理招标以起到“监督”作用,你批判之余,难道还要赞美一下这符合流程吗?

是不是我思维能力太差,看到很多历史的时候,我只能惊叹,却没有足够的脑力去想明白它的对错。

找一份网站开发工作

我最近要换工作,也在 blog 里发一篇,希望能增加遇见合适互联网公司的几率。简历在这里,也可下载 pdf 版本(中文 | 英文)。

我喜欢技术,不糟蹋技术。喜欢读英文书,包括技术、非技术。最近在读 The Pragmatic Programmer,深深认同其中的观点。喜欢通过实践学习技术,比如2年前开始对 Python 感兴趣,于是基于 web.py,把这个个人网站(原来是 Wordpress)用 Python 改写。

对新公司的期望,除了经济上的回报,还希望能进入一个喜欢、尊重技术的团队,让我可以学到更多东西,同时把能力发挥到极致。我有一定经验但不是为了卖经验的,希望双方能达到共赢。

憋不出字来了,就这样吧。朋友们看到合适的机会帮我引荐一下,谢谢!我现在住北京,但如果其它城市有合适的机会,我很乐意离开这儿。

实践是砖头,理论是水泥

这两样东西缺了一个都垒不起墙来。最近觉得实践经验不少了,但是理论缺了点,所以感觉像一堵没用水泥垒起来的墙,摇摇晃晃就快倒了。

于是决定补补基础,从 computer architecture 到 operating system 到 compiler,再看一遍。当时因为缺少实践,很多东西也是没搞明白就过去了,重新看一次效果一定更好。