随手翻译解救udev同学
udev的大名儿是"Linux dynamic device management",也就是管理硬件设备的同志。
这位udev总管(btw,她的名字很商业嘛,优德弗听起来像不像优特友博/你管子他表姐?)是kernel陛下的外交部发言人之一。日理万机的kernel根本没空跟外界解释它是怎么决定和命名每个硬件设备的,所以每次他念出一个设备名的时候,udev同志就会出来把他老人家之乎者也的圣旨翻译成通俗易懂的设备名称,事件,并且根据她私藏的数据库通知每个相关人士。
udev同志在进程大街的办公室名为udevd,通信地址是 /etc/udev/ 和 /lib/udev 。想跟她交往的同学请RTFM先。
学Vim的人你们伤不起
Django 补丁接受
这是本人第二枚遭到接受的补丁,上次是2010年8月。
补丁内容是把所有异常的提出方式改为 raise Exception(msg) 的形式,为将来的 Python 3 移植作准备。
提交到源里的是Django的创建者之一 Adrian Holovaty
令人震惊的是,这个补丁从提交到进入代码库只花了2个小时!从我产生该想法到进入源玛也不到3个小时。Django 社区的效率较之从前真是高了许多呀。
如何向Python 3过渡?
如何向Python 3过渡?作为软件库提供者,你有三种选择:
-
放弃 Python 2 支持,投向 Python 3 怀抱。
-
在 VCS (svn, git, hg, bzr) 里保留两个分支,分别支持两个版本。其效果类似第一种选择:保留Python 2分支是为了进行 bugfix , 最终目标是等待大多数用户转而使用 Python 3 分支。
-
同时发布两个版本的代码,根据运行环境决定运行哪一个版本的代码。这可能比听上去简单一些。假设你在库的 src2 和 src3 分别放置 Python 2 代码和 Python 3 代码,然后在 setup.py 里面加入下面这段代码::
import sys
from distutils.core import setup
if sys.version < '3':
package_dir = {'': 'src2'}
else:
package_dir = {'': 'src3'}
setup(name='dual', version='1.0', package_dir=package_dir)
这样用户安装库的时候,会得到正确的版本。
Kindle客服初体验
Kindle 3系统升级到3.1beta速度明显有改善。可惜哈皮了没几天,Kindle就在一个风雨交加的夜晚变砖了。这可不是一般的死机:任凭你硬重启,接USB,放冰箱...屏幕的画面岿然不动!
无奈之下之好去Amazon找客服。最后在order history找到了两个联系客服的选项:email和电话。电话的后面还有一括号:preffered。Preffered?好啊我也prefer打电话!填上自己的号码按下确定按钮,没过几秒电话响了。
先是语音提示这次通话过程将被记录云云,最后一句是当前的等候时间为1分钟。音乐大概也就持续了20秒就终止了。一个充满愉悦之情的男性声音出现。
他先问了一下我的姓名,确认了Kindle的型号和入手时间(2010年9月)。然后开始指导我尝试硬关机,失败以后又问了一下充电LED指示灯是否亮着(是)。
随后,出乎意料之外,这位客服毫无延迟的继续道,“这么说来问题比较严重。我给您换给新的吧,都是免费的。”
此时距电话响起,仅仅过了3分钟!就这么给我换了!
换新程序是这样的:
客服跟我确认了Amazon账户绑定的信用卡号码后四位。新的Kindle 3(包含已购电子书)在第二天寄到。同时我收到一封电邮,内含回寄用邮资的链接。 打印出该链接指向的内容贴到新Kindle的包装上,把变砖的Kindle放进去、交给UPS就好了。客服还特地提醒我充电器和数据线不用回寄。
从我在客服页面点“call me”,到沟通完成,大概只花了6、7分钟的样子。
去看其他人对Kindle客服的评价,一般都是相当正面的;亲身体验过后,我只能同意。可见有缺陷的产品在售后服务的支持下,还是可以给力的!
