8310一周年
准确的说是1月11日,那天还看了阿凡达。
作为手机,满意。作为PDA,远不如Palm系列。
使用Sage绘制动画的一个例子
先把代码放在这里,有时间再解释:
t,u=var(‘t,u’)
cc=[point((cos(t),sin(t)),pointsize=30,rgbcolor='red')+parametric_plot((cos(u),sin(u)),(0,t)) for t in srange(0.01,2*pi,0.2)]
myan=animate(cc,xmin=-1.5, xmax=1.5,ymin=-1.5, ymax=1.5)
show(myan)
Sage Tutorial中文版
Sage Tutorial是一份快速了解Sage的入门文档,花了两周多的时间将其翻译为中文。但是“Some more advanced mathematics”一节没有翻译,因为完全不熟悉这一节所涉及到的内容。
第一次翻译开源软件的技术文档,水平有限,希望各位多提意见,任何方面的都可以。如果没有大的问题,大概一周后会向Sage开发组提交。
源文件使用Sphinx管理,PDF文件是由自动转换而来的LaTeX文件编译的,因此其中很多格式不符合中文的习惯。所以请大家先以HTML文件为准,最后发布前,我会手工调整LaTeX文件后再编译。
Email: amao@ai7.org
相关内容:翻译Sage文档的准备工作
Ubuntu 9.10下unzip的乱码问题
Ubuntu 9.10中unzip升级为6.0,结果原来的-O参数没有了,解压缩Win平台来的带中文文件名的文件时,会有乱码。Google,Baidu无果后,自行使用Python解决。
01 #!/usr/bin/python
02 #coding=utf8
03
04 import zipfile
05 import sys
06
07 if len(sys.argv)<2:
08 print u’punzip zipfilename’
09 else:
10 f=zipfile.ZipFile(sys.argv[1])
11 nlist=f.namelist()
12 for n in nlist:
13 m=unicode(n,’gb2312′).encode(‘utf8′)
14 file(m,’wb’).write(f.read(n))
15 f.close()
新蛋的推荐系统真猛
关于7天连锁酒店
下午在公交车上看到7天连锁酒店一家分店打出的条幅说,7天已在钮约证交所上市,刚才就看到这篇文章:天天睡好觉:7天连锁酒店的“加减法”。
不是会员,也没有住过7天,有机会考虑尝试一下。

Sage 4.3今日发布
Sage 4.3今日发布,二进制版本已经可以下载。具体可以到主页查看:http://www.sagemath.org。还不清楚这次有哪些更新。

看图不说话20091224
翻译Sage文档的准备工作
打算翻译一下Sage的文档。Sage的文档完全是用reStructuredTEXT写成的,由Sphinx管理,对应的翻译就行了,但是为了与原文档保持相同的风格,还是折腾了好久。这里记录一下。
环境是:Ubuntu+Sage 4.2.1+CTeXLive 2008。以翻译Sage Tutorial为例,需要做以下准备工作。(下面用$SAGE代替sage的主目录)
- 转到$SAGE/devel/sage-main/doc/目录;
- 在common目录中的builder.py文件中,找到
LANGUAGES = ['en', 'fr']
修改为:
LANGUAGES = ['en', 'fr', 'zh']
- 新建zh子目录,并将en子目录下的tutorial目录复制到刚才新建的zh目录中 (如果是翻译其他文档,复制相应的目录);
- 修改zh目录下的conf.py文件:
- 在
import sys, os
这一行后 添加 两行:
reload(sys) sys.setdefaultencoding('utf8') - 在conf.py文件最后添加:
latex_preamble='\usepackage{ctex}'latex_premble+='\usepackage{ctex}\n\punctstyle{CCT}'
- 在
- 修改$SAGE/local/lib/python2.6/site-packages/Sphinx-0.6.3-py2.6.egg/sphinx/texinputs/Makefile文件,将其中的“pdflatex”全部替换为“xelatex”(共有5处);
- 将$SAGE/local/lib/python2.6/site-packages/Sphinx-0.6.3-py2.6.egg/sphinx/writers/latex.py中的“\\usepackage[utf8]{inputenc}”中的“utf8”修改为“latin1”,即“\\usepackage[latin1]{inputenc}”。
如果上述操作正常的话,就可以开始翻译了。将zh/tutorial下的所有.rst 文件翻译为中文后,即可进行编译。编译的方法如下:
- 转到$SAGE目录;
- 查看所有文档列表:
./sage -docbuild -D
此时应该可以看到“zh/tutorial”选项;
- 编译:
./sage -docbuild zh/tutorial html ./sage -docbuild zh/tutorial pdf
编译结果会在编译信息最后一行提示。
2010年6月21日更新:
以上是基于Sage 4.3所做的修改,今天下载了4.4.3,情况有些变化:
- 以上的第4、6步完全不需要了,因为相关的配置转移到其他文件中去了
- 修改$SAGE/devel/sage-main/doc/common/conf.py文件中两个地方:
-
latex_elements['inputenc'] = ‘\\usepackage[utf8x]{inputenc}’
改为
latex_elements['inputenc'] = ‘\\usepackage[latin1]{inputenc}’ - latex_elements['preamble']那一行下面再添加一行:
latex_elements['preamble'] += ‘\usepackage{ctex}\n\punctstyle{CCT}\n’
-
latex_elements['inputenc'] = ‘\\usepackage[utf8x]{inputenc}’
用grep在子目录中指定的文件类型中查找
grep -r abcd *.py
这样的命令得不到你期待的结果,而
grep -r abcd *
这样得到的结果又太多,仍然不是你想要的。
正解是:
find . -name *.py|xargs grep asdf
注:这是一个困惑我很久的问题,今天在 这里看到 一种解决方案 。 有人在留言中给出另外一种方法
find . -iname ‘*.cc’ -exec grep -nH ‘{}’ \;
但是看上去比较复杂,我不喜欢。



