2009年3月31日星期二

非诚勿扰



纪念小侄女出生百天——迟到了20天。

祝小侄女健康聪明快乐!

呵呵,确实是小女娃,为了以后秀发飘飘,所以理个和尚头先。


[......]

2009年3月26日星期四

人迹罕至

Ross Ching 编制了下面这段视频 Eclectic 3.0: The Roads Less Traveled。那云影变幻时光流转着实令人着迷。另外,记得打开音箱,不要错过了绝妙的背景音乐。

Ross 在隆冬季节独自到美国西部人迹罕至的地方拍摄了1万5千多张静止照片,剪辑成此视频。这里标记了他的拍摄地点。他说,令人惊奇的是:当你漫无目的探索时,会穿过那么多美丽的地方。当他离开公路进入荒野,好像一个新世界在面前展开,一些地方类似火星表面,方圆50英里内只有他一人。在Glen峡谷区,他驱车100英里没有看到一个人。

正所谓“世之奇伟、瑰怪、非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也。”


[......]

2009年3月21日星期六

使用 linux 版的 skype 发短信


目前, linux 版的 skype(2.0.0.72) 还没有提供发短信的界面,但其核心已经具备此功能。Vincent开发了一个命令行的 Skype 工具 Skype Tools 0.11,可以用来发短信:
esn@esn-laptop:~/script/skype_linux_tools$ ./send_sms.py +861234567 Hello World
# 弹出一个对话框,询问是否允许使用 Skype,允许即可
Your SMS has 1 chunk(s).
# 等待......
+861234567890 has been successfully delivered
All targets successfully delivered

此工具需要 Skype4Py,下载后可以按照下面的步骤进行安装:
$ tar -zxvf Skype4Py-x.x.x.x.tar.gz
$ cd Skype4Py-x.x.x.x
$ sudo python setup.py install

除了发短信,此工具还有另外一些功能:

注意,使用此工具时,需要首先登录 Skype。

还有一个图形界面工具 SkySentials 可以发短信,当然,它也有其他一些功能。我没有用过此工具,这里略过。

[......]

用wget从防火墙后检出 Googlecode

由于防火墙相关端口设置的问题,在防火墙后可能无法使用下面的标准方式检出 Googlecode:
svn checkout http://mayavi2-cn.googlecode.com/svn/trunk/ mayavi2-cn-read-only
使用 wget 可以解决此问题。
wget -nc -np -r -nH --cut-dirs=2 -R ".html" http://mayavi2-cn.googlecode.com/svn/trunk/
其中各选项的功能如下
  • -nc 防止相同链接下载多次
  • -np 防止下载指向上层目录的链接
  • -r 递进下载子目录
  • -nH 不创建主机目录
  • --cut-dirs=2 不创建从主机开始的两层目录,这里就是不创建svn/trunk/
  • -R ".html" 不下载 html 文件(如果源文件中包括网页文件,请不要使用此选项)

补充几个有用的选项:
  • --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3"
    伪装为Linux下的Firefox
  • -e robots=off 忽略网站的robot设置。如果不做此设置,遇到如下robot.txt文件,wget将停止所有下载:
    User-agent: *
    Disallow: /
  • --wait=33 --random-wait 每下载一个文件之前随机等待0到33秒
[......]

2009年3月20日星期五

眼见为实?

有句老话叫“眼见为实”,真是这样吗?

现代科技日新月异,“移花接木”的手段也与时俱进,哪天看到希特勒和布什拥抱也不稀罕,那些低劣造假就不提了;另外还有各种视错觉,不少目击飞碟就是错觉造成的。可以说,现代人已经对自己的眼睛不那么有信心了。

那么,即使没有造假没有错觉,是不是就眼见为实呢?下面这个视频,会令人对自己的认知能力彻底怀疑起来。



何谓眼大无神,何谓视而不见,呜呼哀哉!

[......]

2009年3月15日星期日

荷风送香气

3月7日凌晨,奶奶解脱了人世的苦痛,西行而去。。。。。。

由于爸妈工作忙,上学前我基本上是与爷爷奶奶住在一起。有时候回家住,晚上闹起脾气,爸爸只能深更半夜把我送回奶奶家。上了小学,也经常放学后跑到奶奶家,害得爸妈着急以为我丢了。小时候的事情记忆模糊了,但有两个镜头很清晰:一个是奶奶教我认表,那种罗马数字的大钟,另一个是我做了错事,奶奶拿着擀面杖追着我在院子里跑。

到外地上高中后,见奶奶的次数就少了。上大学后,每次见奶奶,都能感觉到明显得变老,人佝偻得越来越小,但她都要给我做饭吃。去年冬天开始浑身疼痛做不了家务,近几个月甚至没力气接电话。去年9月份回去看奶奶,她对我说,以后我再打电话,她可能不和我说话了,让我不要记挂,人都是要走的。

奶奶的一生像那个时代的大多数家庭妇女一样平凡。

由于穷,又是女孩,奶奶没有上过学。解放后政府办扫盲班,她终于有机会识字。但是没过多长时间,除了她,其他学生都不去了,扫盲班只能停办。但奶奶一直坚持自学。我上小学后,奶奶还经常让我教她认字。她有几样学字的宝贝:石板,石笔,两本字典。后来她能基本看懂报纸。

奶奶18岁结婚,生育了7个孩子,其中一个流产,一个没钱看病幼年夭折,一个养不起送人。奶奶告诉我这些时,我还小,并不理解那是怎样的痛。

奶奶为人善良,帮助邻里是常事。大铃去做公务员时,奶奶嘱咐“要一碗水端平”。

奶奶爱玩华容道,九连环等智力游戏,也非常爱看《祖国各地》,《世界各地》,《动物世界》等电视节目,但是没有旅游过。我上大学时,曾想带奶奶去北京玩,但是没有成行,成了永远的遗憾。

奶奶操劳了一辈子家务。她曾经对我说,自己哪儿都没去过,什么事都没做,白活了一辈子。奶奶,你一生平凡,但是我不会忘记,忘不了你做的家常饭,忘不了你讲的老照片故事,忘不了你锲而不舍地学字,忘不了你佝偻的背影……奶奶,想念你啊

奶奶信佛,附上我画的荷花和大铃写的诗:
听说,您去得安详
此刻,必在佛乐悠扬中
紧随飞天的舞带 开眼于佛国的完美
想来——那里可以解脱绵延的病苦,
没有众多人力不及的无奈。

愿您在笑得超凡脱俗之后
从田田的莲叶中拈得最幽香的花
花瓣上镌刻着最喜欢的经文
永是被光明的点拨 不间断地彻悟
眼口心耳都是隽永馨柔

我们想起您的时候,
定是温善恭俭的美好句语
都是顽强不息的坚韧意志
愿这样的每一回
您都正微笑着俯视我们
无忧无虑地 散花香世来
[......]

2009年3月11日星期三

Mayavi2 用户手册2 安装


内容来自Mayavi2的中文文档项目。本篇文档的源文件在这里。欢迎感兴趣的朋友加入


章节概要

本章详细介绍各种安装和编译 Mayavi 的方法。

如果你已经可以运行 Mayavi ,请略过此部分。

最新的安装指南可以在 Mayavi2 的 wiki 页面找到。下面将给出通用的安装过程以及可以找到更多信息的地方。

安装准备好的发布

Windows: 在 Window 中,安装 Mayavi 的最好方式是安装一个完整的 Python 发行版,例如 EPD 或者 Pythonxy。注意,Pythonxy 有一个特殊的下载,提供 Mayavi 和所依赖的软件包的完整安装程序,比 EPD 和完整的 Pythonxy 小很多。
MacOSX: MacOSX中也有完整的 Python 发行版,EPD_ (包括 Mayavi)。除非你真的喜欢复杂的编译过程,这是安装 Mayavi 的最好方式。
Ubuntu 或 Debian: Mayavi 在 Debian 和 Ubuntu 中有打好的软件包。另外,对于 Ubuntu 的稳定版,在这里可以找到最新的 Mayavi 的发行包: https://launchpad.net/~gael-varoquaux/+archive。实验性的 Debian 包在这里:http://newpeople.debian.org/~varun/。
RedHat EL3 和 EL4: 对于 RHEL3 和 4,有完整的 Python 发行版 EPD (包含 Mayavi)。

手动安装的前提条件

如果你没有使用准备就绪的完整的科学计算 Python 发布,需要满足 Mayavi 的条件。

Mayavi 至少需要下面的软件包:

  • VTK >= 4.4 (5.x 最佳)

  • numpy >= 1.0.1

  • setuptools (用于安装和建立egg)

  • Traits >= 3.0 (Traits`,`TraitsGUITraitsBackendWXTraitsBackendQt)

下面的要求是可选的,但是强烈建议安装,特别是初次使用 Mayavi 时:

可以通过几种方式安装需要的软件包。

  • Windows 和 MacOSX: 即使你想从源码安装,最好仍是安装一个上面提到的发布。注意:在Windows中,EPD_ 带了一个编译器 (mingw),用来编译Mayavia。

  • Linux:大部分 Linux 发行版都有上述软件包的二进制安装程序。例如, 在 Debian 或者 Ubuntu 中,需要安装 python-vtkpython-wxgtk2.6python-setuptoolspython-numpypython-configobj。 更多关于特定发行版以及如何满足其安装要求的信息可以在这里找到:

    https://svn.enthought.com/enthought/wiki/Install

  • Mac OS X:关于此平台的最有效信息在这里 IntelMacPython25

下面将说明安装 TVTKTraits 和 Mayavi 的几种方法。

自己动手:Python 软件包:Egg

首先确认已满足必需条件,例如已经安装下面的软件包:

更多细节在前一节中。

Mayavi2 是 Enthought 工具套件(ETS)的一部分。它作为 ETS 的一部分而分发 ,所以 ETS 的二进制包和源码包包括 Mayavi2。Mayavi 的发布总是伴随着 ETS 的发布。你可以选择安装整个 ETS 或仅安装 Mayavi2。

ETS 被组织为几个不同 Python 包。这些包被分发为 Python Egg。Python egg 相当成熟,包含对其它 egg 的依赖关系。 因此它们很快成为分发 Python 包的标准。

使用 ETS egg 主要有两种方法。

  1. 第一种,也是最容易的方法,是使用特定平台上的预编译包。下面会给出 更详细的说明。

  2. 第二种是从源码 tarball 包建立 egg。如果你有正确的编译环境,这也是很 容易的方法。

要安装 egg,首先确认已满足必要条件,然后如下所示生成和安装 egg:

 $ easy_install "Mayavi[app]"

这个命令将下载、生成和安装所有需要的 ETS 相关模块,它们都是 Mayavi 所需的 ETS 最新发布版。如果你碰到问题,请查看此页 Enthought Install

在安装中一个常见的问题来源是系统中存在下列软件包的旧版 本:traits,mayavi,envisage 或 tvtk。在安装 Mayavi 的新版本前首先确认 已经清除了 site-packages。另一个经常遇到的问题可能是生成系统的错 误,显示为“sandbox violation”。这种情况下,多试几次上面的下载和安装命令 会有用。

在此背景下,请看下面的说明:

  • Enthought Install 讲述如何用 egg 安装 ETS。请首先查看此页,它含 有在各种平台上使用预编译的 egg 进行安装的信息,包括解决依赖关系。

在 Windows 中使用 egg 循序渐进安装说明

如果你不想在 Windows 中安装准备好的发行版,下面的说明(由 Guillaume Duclaux 提供)将指导你通过必要的步骤配置 Mayavi 运行的 Windows 环 境。

  1. 安装 Python 2.5。把 “C:\Python25;” 添加到系统路径里。

  2. 安装 Mingw32。使用 http://www.mingw.org/ 的下载部分的 MinGW5.1.4 安 装程序。把 “C:\MinGW\bin;” 添加到系统路径里。

  3. 创建文件 “c:\documents and settings\USERNAME\pydistutils.cfg” (这里 的USERNAME是登录名),内容如下:

     [build]
    compiler=mingw32
  4. 建立新的环境变量 HOME,并设置其值为: 'c:\docume~1\USERNAME;' (这里的 USERNAME 是登录用户名)

  5. 下载安装 Setuptools(0.6c9 二进制包),添加系统路径“C:\Python25\Scripts;”

  6. 安装 VTK 5.2(使用 Charl P. Botha 博士的 Windows 二进制包, http://cpbotha.net/2008/09/23/python-25-enabled-vtk-52-windows-binaries/)

    • 解压缩此目录中的内容“C:\Program Files\VTK5.2_cpbotha”

    • 添加系统路径“C:\Program Files\VTK5.2_cpbotha\bin;”

    • 创建新系统变量 PYTHONPATH 并设其值为“C:\Program Files\VTK5.2_cpbotha\lib\site-packages;”

7. 安装 Numpy (1.2.1 版的二进制包可以从这里下载 http://numpy.scipy.org/ )

  1. 安装 wxPython (2.8 版的二进制包可以从这里下载 http://www.wxpython.org/ )

  2. 在命令行(cmd.exe)运行:

     easy_install Sphinx EnvisageCore EnvisagePlugins configobj
  3. 最后,在命令行(cmd.exe)运行:

     easy_install Mayavi[app]

最前沿:SVN

如果你想获得最新的 Mayavi 开发版,我们推荐从 SVN 检出源码。Mayavi 依赖于几 个属于 ETS 的软件包。开发中的 Mayavi 非常有可能依赖于一些还未发布的组件的特性。所以一次检出所有 Mayavi 递进依赖的 ETS 项目是非常方便的。为了方便执行此操作,Dave Peterson 创建了一个软件包 ETSProjectTools。首先安装此软件包,即可检出任何与 ETS 有关的软件仓库。下面是如何获得最新 的开发源码。

  1. 按照下面的步骤安装 ETSProjectTools :

     $ svn co https://svn.enthought.com/svn/enthought/ETSProjectTools/trunk \
    ETSProjectTools
    $ cd ETSProjectTools
    $ python setup.py install

    这样会有一个很有用的脚本 ets。关于此工具的详细信息和选项,请查看 ETSProjectTools 的 wiki 页面。

  2. 为了获得 Mayavi 的源码和所有依赖的包,运行下列下面的命令:

     $ ets co "Mayavi[app]"

    此命令将查找最新的 mayavi,解析 ETS 的依赖关系,检出相关的源码。如果想要某个特定版本的 Mayavi,运行如下命令:

     $ ets co "Mayavi[app]==3.0.1"

    如果想得到整个 ETS,运这样的命令(示例):

     $ ets co "ets==3.0.2"

    此命令将从 SVN 检出所有相关的源码。请耐心等待,这要花一些时间。关于 ets 工具的更多选项,请看此页面 ETSProjectTools

  3. 一旦检出源码,就可以执行下面的命令:

     $ ets develop

    此命令将通过对每个软件包执行 setup.py develop 命令而安装所有检出的源码。

  4. 或者,你可能想从源码建立二进制 egg。ets bdist 命令可以像下面这样用来建立 egg (这里我们假设 ets co 将源码检出到 ets-3.0.3):

     $ cd ets-3.0.3
    $ ets bdist

    上面的命令将建立所有 egg 并放到 dist 子目录中。运行 ets bdist -h 可以获得更多 bdist 的选项。可以通过下面的命令安装Mayavi 的开发 egg 和依赖软件的 egg:

     $ easy_install -f dist "Mayavi[app]"

    或者,如果你希望通过 setup.py develop 只安装 Mayavi,而其它的保持为二进制 egg,可以执行下面的命令:

     $ cd Mayavi_x.y.z
    $ python setup.py develop -f ../dist

    上面的命令将从 egg 获得各种依赖关系。

现在你已经安装了最新版 Mayavi,并可以使用了。

测试你的安装

测试安装是否正确的最简单方法是像下面这样运行 mayavi2 应用程序:

 mayavi2

如下可以获得关于此命令更多的帮助信息:

 mayavi2 -h

mayavi2 是 mayavi 的应用程序。在一些平台上,如 win32,你需要双击 Python2X\Scripts 目录中的 mayavi2.exe 程序。请确认这个目录在系统路径中。

Note

Mayavi 有其它多种使用方式,但是 mayavi2 应用程序是最简单的开始方式。

如果你有 mayavi 的 tarball 源码包,或者从 SVN 仓库检出了源码,可以运行 enthought.mayavi*/examples 里的例子,这里有大量的例子演示各种特性。在子目录 enthought.mayavi*/tests 中有测试程序。

解决问题

如果你在安装过程中遇到问题,可以在此页 getting-help 获得如何查询信息和使用邮件列表的详细信息。

[......]