技术

用免费的 Microsoft Visual C++ Toolkit 2003 编译 Python 2.4 模块

本来这个方法是从别人的 blog 那里看到的,我只是加了我的书签。但今天想查的时候发现这个 blog 访问不了,Tor 今天好像也用不了,寻觅半天,从 MSN Search Cache 里面找到了。贴在这里转载一下。

在这个方法之前,有人说需要 hack distutils 才能使用 Microsoft Visual C++ Toolkit 2003;但现在这个天才发现修改一下注册表就 OK 了,牛!

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\VC]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\VC\VC_OBJECTS_PLATFORM_INFO]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\VC\VC_OBJECTS_PLATFORM_INFO\Win32]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directories]
"Path Dirs"="C:\\Program Files\\Microsoft Visual C++ Toolkit 2003\\bin;
C:\\Program Files\\Microsoft Platform SDK for Windows Server 2003 R2\\bin"

"Library Dirs"="C:\\Program Files\\Microsoft Visual C++ Toolkit 2003\\lib;
C:\\Program Files\\Microsoft Platform SDK for Windows Server 2003 R2\\Lib;
C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\lib"

"Include Dirs"="C:\\Program Files\\Microsoft Visual C++ Toolkit 2003\\include;
C:\\Program Files\\Microsoft Platform SDK for Windows Server 2003 R2\\Include"

Python 2.5 也应该是用 VC 7.1 编译

Topic: 技术

DV-2-XviD 0.7 发布

DV-2-XviD 0.6 版本发布整整一个月后,0.7 版热辣出炉啦..

ChangeLog:
1. 增加了 comptest 步骤以更有效的控制最终文件大小。(请参考XviD 压缩后文件大小不符合预期结果的原因和解决方法,目前的方案是根据 comptest 结果修正最终分辨率大小)

2. 新开一个线程去执行压缩任务... 这样主窗口不会失去响应

3. 修改了好多以前不了解 Python 时写下的弱智代码.

4. 增加了英文版的 README,中文版的 README 也改成 UTF-8 编码。打包的路径稍稍有些改动。

5. 二进制文件里面去掉了 MSVCR71.dll,因为我没有购买 VC7,因此也没有重新分发该文件的权利。

Topic: 技术

最近在 Python 上的开发

周末经过艰苦的努力,终于可以在我的 R520 和本地的 sqlite 之间同步了!!

不过和西门子 cx65 同步还有问题.

这两天开始尝试别人送给我的 N3650,发现它对同步支持的很弱,好像只能作为 SyncML 客户端同步,但不能作为服务器让别人通过 obex 来同步。据说从 S60 2nd 开始(除了 6600)才能支持 SyncML。就是说除了 7650/3650/N-Gage/3600/6600/3660/3620/QD 的 S60 都支持。

计划在买新手机(目前看好 6630)前做好这么几件事情:

1. 支持 qyt 同志的西门子

R520 的 vcard 是 UTF-7 编码,西门子是 UTF-8 编码再 BASE64.. 另外感觉这个西门子的红外连接不稳定,要么就是我的红外适配器有问题,或者其它什么故障..

2. OBEX over Bluetooth ..

由于我 R520 上的蓝牙坏了,所以只能先拿这个 3650 测试了..另外昨天晚上发现 Python 的蓝牙支持似乎并不包括 win32 平台,至少 2.4.x 是这样

3. Thunderbird 扩展.

希望最后能和 TB 来同步地址本,我的终极目标,hehe

Topic: 技术

Thunderbird 也在 mashup

刚刚弄明白了 Mashup 的意思,现在总算知道别人在讨论 Mashup 的时候是在说什么了..

现在我的 email client 是 Thunderbird,前不久发现它居然也包含有一个很酷的 Mashup 应用:就是如果你在 addressbook 里面给联系人指定地址以后,会出现一个 "Get Map" 的按钮,点击后进入 google map 自动搜索。是不是足够有创意?至少 gmail 现在还没有这个功能

不过 thunderbird 是去美国查找,可以说本地化很不好。期望着有谁能做一个 Thunderbird 插件,去 go2map 或者什么别的地图查中文地名就好了

Topic: 技术 网络

关于 MySQL 里面的 COLLATE 属性

关于这条 MySQL 技巧好像很多人都还不知道,所以这里说一下。

那天在用 phpmyadmin 的时候,无意中发现 varchar 字段有一个"整理"的属性,怀着好奇之心看看都有什么选项,结果发现有 gbk_chinese_ci。怀着激动的心情测试了一下,果然和我预想的一样!加上这个属性后 order by 就会按照汉语拼音去排序结果!!即使数据是按 UTF-8 编码存储的仍然如此!!!

这个特性真的很不错,以前还特意写了一个 PHP 函数来做拼音排序,现在直接从 MySQL 的结果集里面查询就好了。

呵呵,看来从 phpmyadmin 里面也能发现宝藏... 比啃 MySQL 手册强多了

Topic: 技术

zh_CN.UTF-8 环境下 Putty 的配置

当前的 Linux 发行版,选择中文环境后,缺省的 Locale 设置基本都是 zh_CN.UTF-8。由于我们Win32缺省的字符集环境通常是 GBK/GB18030,导致 putty 登录上去后访问 UTF-8 编码的中文文件不正常。以前我只是修改环境变量为 zh_CN.GB2312,然后只操作 GB 编码的文件;最近已经完全调整为纯的 UTF-8 工作环境了。

首先选择一个中文字体,可能有人喜欢 Fixedsys (我以前一直用的是从 NetTerm 提供的 isi_oem 字体),但是很遗憾,必须选择一种 TrueType 字体,比如新宋体才能在 UTF-8 环境下用。

然后将字符集转换(charactor set translation)从 "Use font encoding" 改为 "UTF-8"

现在你就可以在 putty 里面自如的阅读和输入 UTF-8 中文了!

Topic: 技术

限制 sftp 的方案

经常可以看到这样的需求:需要给用户开建 sftp 或 cvs 帐号,但不希望给其一个 shell。今天发现有一个工具叫 rssh,正好可以用来干这个。

rssh 还有另外一个很重要的功能,就是使 sftp 用户登录后被 chroot,不能进入到其它目录。这样也没有必要去安装什么经过 chroot 补丁的 sshd 了。

用 yum 或者 apt 安装 rssh,缺省的几个比较重要的文件应该是安装在

/usr/bin/rssh
/usr/lib/rssh/rssh_chroot_helper
/etc/rssh.conf

/etc/shells 文件里面也应该包含有 /usr/bin/rssh

或者您自己编译源码,然后手工修改 /etc/shells 去,强烈建议新手这么去 configure:

./configure --prefix=/usr --sysconfdir=/etc

修改用户的 shell 为 /usr/bin/rssh , 这样这个用户就不能 ssh 登录了

sudo usermod -s /usr/bin/rssh test

然后创建用户 sftp 的 chroot 目录。本来 rssh 自带一个脚本,不过在我的 ubuntu 工作有些问题,主要是 ldd 获得所依赖的库不准确。所以修改了一下,见附件。

给对应的 test 帐号设置一个 chroot 目录的命令:

sudo sh rssh_mkchroot.sh /home/rssh_chroot/test test 0755

最后修改 /etc/rssh.conf:

首先确认 allowsftp 被设置

再添加一行配置:user=test:077:00010:/home/rssh_chroot/test
077 是给 sftp 上来的用户分配缺省 umask
00010 是 access bits, 倒数第二个 '1' 表示给该用户 sftp 权限

Topic: 技术

sqlite 的引号转义

习惯了 mysql 的转义函数,在开发 PyMobileSync 的时候碰到了问题。最后在一篇中文blog里面发现了方案——表示成两个单引号来转义,相应的别的字符就不用转义了..

另:Python 2.5 final 正式发布了!

Topic: 技术

CTO第一人,叶忻

我们老板总说,叶忻可算是"中国CTO第一人"。这个称呼怎么来的不去细究,但先后在搜狐、中关村科技、掌上灵通担任 CTO 之职,可见确有独特之处。

其实仔细回想,今天的会议里叶忻并没有什么特别出彩的地方,就是一个观点和我不谋而合——"一堆程序员捆在一起封闭开发没有好结果"。自己的想法能亲耳听到一个牛人也同意,小小得意一下。另外就是他非常强调开发人员(其实包括任何工种)的责任感和自主能力,具体技术反而没有怎么说。和新浪李嵩波相比是两种完全不同类型的人,不过他们俩我都很喜欢。

叶忻说:百度的发展途径很好,非常稳健,不要急于扩张。

还提到:cisco 购并公司后,能把原来公司的领导留下来继续做老大,但 CA 合并公司后人事动荡就很厉害。所以 cisco 做的好。

回头搜索了一下叶忻的资料,发现多年前的一篇专栏《程序员》:直面CTO,里面的一些观点还是挺有趣的,推荐阅读

另外,叶忻说起他的女儿现在高二,每天泡 myspace,立刻让我想起了以前看到的麦田的文章..看来 myspace 就是美国的 QQ 啊..怪不得火

Topic: 技术

李嵩波印象

知道李嵩波这个名字是因为他去年替换严援朝成为新浪的 CTO,当时以为是一位海龟,特地搜索一下,没想到是新浪的老臣子。辛苦近十年,终于修成正果走上台面。

周一去新浪,在别人的介绍下就网站的研发和运营维护去请教,双方进行了热烈友好而又卓有成效的会谈。可能是担心自己并不是在第一线工作,李嵩波特地找了一位新浪具体负责运营的同事参与了讨论,但实际上这位发言的机会很少,绝大部分的技术细节李嵩波都很清楚,这着实让我有些吃惊,可以看出虽然他在比较高的位置上,但还是掌握的东西还是很细致全面,这里小小的表示佩服一下。

不过李嵩波应该是更偏重于运营,所以我这里的佩服也是有限度的——比如网易的云风我是真正佩服的。从李嵩波顶替严援朝开始,就能看出新浪把技术的重心更多放到了运营而不是产品开发上。另一方面,那批老同志其实也早就在互联网里面落伍了。

会议室据说就在黄冬附近,但他重感冒,没有见到,有些遗憾。

附:最近见到另外两个技术总监级的人物,一个公司吵吵嚷嚷计划上市,另一个是 Web2.0 后起之秀貌似很有前途,和他们接触以后让我感觉如果我去找个 CTO 干干似乎还是很可以很安全的混下去的,哈哈..

Topic: 技术
订阅 RSS - 技术 | BT的花