当前位置

qyb的博客

过了这座山,就是菩提洞了

今天晚上加班,Passport切换数据库。如果最终失败,意味着之前5个星期的准备工作完全白费。虽然从项目经理的角度看我对自己的工作还是比较满意,如果今晚出岔,应该是纯粹技术上的原因——恰恰在 Java 和 MySQL 高容量高并发下运行,我完全没有任何技术经验。

理论上,纯粹是理论上,今晚能平安过去,明天一起看起来很完美,给下面三个星期的工作开个好头,也给我在搜狐的职业生涯开个好头。

还有人记得大话西游里面菩提老祖说了“过了这座山,就是菩提洞了”后发生了什么事情么?用这句话做标题的意思是任何时候都要警觉,越是快到幸福终点,越是危险。

Topic: 

Apache 2.2 + web.py + RoR

刘韧的 1234 文体

1. mod_python 非常不主流,所有 Python 的 Web 框架都内置一个 HTTP Server 的实现(在 Python 世界里这样做太简单了),web.py 还包括了 FastCGI/SCGI 的支持。RoR 也同样通过 mongrel 提供了 web server 支撑。

2. lighttpd 支持反向代理,也支持 FastCGI,再加上它确实够轻,性能也不错,而且用 apache httpd 不够酷,于是它成了新潮 web hacker 们的最爱。

3. 其实我很有理由使用 lighttpd,因为我的内存只有 128M。但我想通过 http 端口来跑 svn,没办法,只有用 apache。编译的时候加上 rewrite/proxy 的支持

./configure --prefix=/usr/local/apache2  --enable-so -enable-ssl \
   --enable-rewrite --enable-proxy --enable-proxy-http

mod_fcgid 的编译过程也很简单,直接 make; make install 就好了。
注意:fcgid 的配置为 SetHandler fcgid-script 而不是 fastcgi-script

4. 我下载的是 web.py 0.2,但网站上的关于如何运行在 Apache FastCGI 模式下的说明是错误的(怀疑说的还是 0.1 版本的方法)。我的方法是增加了这么两行

import os
os.environ['PHP_FCGI_CHILDREN'] = "1"

注意:必须安装 flup 包,web.py 才能支持 FastCGI。

最后的配置为

  1.     <Directory "/usr/local/apache2/htdocs/papp">
  2.         Options ExecCGI
  3.         AllowOverride None
  4.         Order allow,deny
  5.         Allow from all
  6.         <Files code.py>
  7.             SetHandler fcgid-script
  8.         </Files>
  9.         Options +FollowSymLinks
  10.         <IfModule mod_rewrite.c>
  11.             RewriteEngine on
  12.             RewriteBase /papp/
  13.             RewriteCond %{REQUEST_URI} !^/icons
  14.             RewriteCond %{REQUEST_URI} !^/favicon.ico$
  15.             RewriteCond %{REQUEST_URI} !^(/.*)+code.py/
  16.             RewriteRule ^(.*)$ code.py/$1 [PT]
  17.         </IfModule>
  18.     </Directory>

code.py 放在 htdocs 的 papp 目录下

5. RoR 的 mongrel 起在 8000 端口,我在 htdocs 下创建了一个 rapp 目录,然后配置 rewrite

  1.     <Directory "/usr/local/apache2/htdocs/rapp">
  2.         <IfModule mod_rewrite.c>
  3.             RewriteEngine on
  4.             RewriteBase /rapp/
  5.             RewriteRule ^(.*) <a href="http://127.0.0.1:8000/">http://127.0.0.1:8000/</a>$1 [P]
  6.         </IfModule>
  7.     </Directory>

有的网站上的配置是 ProxyPass 什么什么的,我的这个重写到本地端口的配置方法是从 karrigell 那里学来的,觉得也挺好的

Topic: 

jabberd2 2.1 release

很早就订阅了 jabberd2 的邮件列表,似乎开发不是很活跃。有次和其中一个开发人员 gtalk,他说目前也有不过 3 个开发者,而且其中一个对现有的框架不满意,觉得很难去 scalable,要另起炉灶,感觉这个项目前景不妙。。。不管怎么说,刚刚看到邮件列表里面的新消息,2.1 发布了!

http://ftp.xiaoka.com/jabberd2/releases/jabberd-2.1.tar.bz2
Release Note / New Features

- dropped SCOD, using CyrusSASL
- jabberd2 uses system expat library
- router level XMPP packet filtering
- modules/features ported and integrated:
* Linux epoll support
* full vcard-temp support
* storing user status in DB
* offline messages quotas and more robust handling
* Advanced Message Processing (AMP)
* authreg_pam realm handling
- RFC3921 compliance (presence handling)
- dropped legacy features (presence-invisible)
- certificate handling fixes (not complete yet)
- proper SRV records handling
- c2s HTTP connection forwarding to real HTTP server
- other im servers on the router are not listed on disco
- using route errors for stanza errors
- only PostgreSQL is now fully supported
(patches needed and welcome)
- numerous bug (crash, leaks) and stability fixes

Topic: 

微睦(vmmatrix )的虚拟服务器

很早以前就知道 vmmatrix 的大名,因为在下载 mysql、apache、debian 的时候,就会告知有一个中国的镜像叫 vmmatrix。当时也没有细想它的盈利模式是什么,直到后来看 solidot 的网络和硬件配置,这才知道原来 vmmatrix 是专业做虚拟服务器的。

在决定离开亿邮后,就计划弄一个可自由使用的 shell——在我看来,没有 shell 的生活和不能联网是一个概念,而且可以顺便放自己的 blog。可是托管机器相当的不便宜(按三年折旧的话,找个好机房托管 1U 的服务器平均一年怎么也得六七千),俺又没有做视频聊天图铃下载传奇私服赚钱的打算,投入产出比就显得太低;另外潜在的维护需求也很让人头疼。后来从 xjb 那里走后门弄来一个免费的 PHP 主机空间做 dup2.org 后就没再想这事儿。

一开始 dup2.org 的主机虽然没有 shell,但好歹能用 system() 函数。可好景不长,为了系统安全,去掉了对 system() 的支持,一下子感觉维护起来不那么方便了,很多计划也无法实施,就把目光转向了 vmmatrix。正好 10 月份 vmmatrix 正在做一个活动,最便宜的那款机器第一个月促销 99,而且其网络支付平台支持北京的长城卡,于是就很干脆的付款了(很大程度是因为 vmmatrix 镜像,所以觉得声誉很好)。

vmmatrix 是用 vmware 来将服务器进行分区,做成独立的虚拟服务器。理论上是可以远程连接 console 维护的,而且免费提供 CDN——事实上这种模式上跑的 web 服务器必须通过反向代理才能访问的,呵呵。缺省提供 SSH 访问和 WEB 访问(开通服务的时候根据注册的邮件地址默认给你一个 test.vmx.cn 的域名);用户需要和客服联系,告知所需要转发的域名才能最后配置好;如果有额外的端口想要用也需要让客服设置端口转发,比如 https(注意:虽然 vmmatrix 用 https://yourdomain 也可以访问成功,但实质上是你的浏览器 SSL 连接到做反向代理的 squid,然后 squid 和你的 80 端口做不加密通信的)。

目前阶段 vmmatrix 的服务还是很好的(实际上现在我的这位客服是一个很 senior 的技术人员),和他说需要怎么怎么配置都很快就搞好了。俺买的这一档服务器是 128M 内存、4G 硬盘(512M 的 swap,实际只有 3.5G)、然后是号称“CPU 最多分配 Intel Xeon2.8G 的 50% 的计算能力,最低 12.5%”。实际使用中(编译 apache、php)速度还真不错,只不过看 /proc/cpuinfo 是一颗 AMD Athlon(TM) MP 2600+,而不是 Xeon 2.8G。

第 1 个月的使用感觉挺不错的,只不过刚开始在 SOHU 上班,实在没有太多精力鼓捣这台机器,利用率较低,但还是续了 2 个月的费。续费过程中发现它的购物车系统做的实在是很烂,客服说正在改进,最后通过银行汇款续的费。

听说 chenxa 同学在学习 Ruby/Rails,于是给他一个帐号帮我用用 cpu,hoho。shell 的好处这就体现出来了,想玩什么玩什么;即使是 mysql/php 组合,为了兼容性,大部分的虚拟主机应该都还停留在 php4/mysql4.0 阶段吧,稍微高级一点的特性需求根本玩不起来。

最后是我打算 web 开发转向到 Python,不再考虑 PHP。一方面是因为看到 PHP6 的 unicode 特性后觉得现在的 PHP5 没有必要深入学习和使用下去;另一方面是认为 PHP 先天性无法作为一个应用服务器使用,而 Python 在这方面和 Java 很有一拼。今天简单研究了一下,似乎 web.pyKarrigell 是 Python 世界中两个比较容易入门的 web 框架,哈,先从它们开始吧。

ffdshow tryouts

今天总算搞明白 ffdshow 现在的状态了。原始开发者 milan_cutka 不知什么原因终止了对这个项目的维护,最后一次 build 是 20051129。接着 celtic_druid 大牛做了一段时间的 build (就是把各种各样的 patch 抓进来)。然后 videomixer9 在 sourceforge 上启动了这个新项目 ffdshow-tryouts,总共 4 名核心开发人员吧,一直都很活跃,可以说现在的 ffdshow-tryouts 已经取代了原来 ffdshow 的官方地位。

因为在各大搜索引擎搜索 ffdshow 返回的还是停止更新的那个项目,所以写篇文章说明一下。

Topic: 

DV-2-XviD 0.8.1

今天收到一封 DV-2-XviD 用户反馈来信(感叹一下:中国软件业的希望是争取国外用户啊...这是第二个老外给我报 bug 了),说是不支持 Scenalyzer Live 4.0 捕获的 AVI。查了查代码,应该是自己原来对 AVI 格式理解有误造成的,很快就改好了。

不过在生成 py2exe 的时候出了一些问题。因为前不久系统重装,所以 Python 也顺手换上了 2.5,结果就导致一系列扩展都要重新安装。先是 py2exe 0.6.5 报告 zlib 错误,google 之,是由于 Python 2.5 for Win32 内置 zlib 导致的,py2exe 暂时也没有正式发布的包解决这个故障,还有在邮件列表上找到一个 patch 搞定了。然后就是最新的 wxPython 2.7.2.0 在 py2exe 的时候依赖 gdiplus.dll,于是降级回 2.6.3.3,整个世界清净了。

其实新版本比老版本还少了一行脚本,但 Python 2.5 环境下转换出来的 DV-2-XviD.exe 整整大了 360k,郁闷...

Topic: 

转载一个链接

明基曾文祺的专访:http://www.techweb.com.cn/people/2006-11-24/122942.html

觉得台湾这些做代工出来的前辈,确实非常厉害,是学习的榜样。

摘几条印象深刻的:

投资西门子手机失败...现在台湾媒体的主流就是要让KY认错,他们没有对事情的纵深剖析,也没想到现在KY和当年施振荣的境况是一样的。KY也说,“如果不让我辞职,我还是要做品牌。让我退回去做制造,不可能。”

明基为什么不能像三星索尼那样?第一,因为我们没有一个外包政策,三星都还在外面买,我们还100%内供。第二,我们高层主管的DNA还是以制造为主。只有分拆,品牌才能做大起来。为什么台湾的OEM做到这么大,OEM、ODM技术、制造、品质、成本什么都有,为什么不出来做品牌?应该很容易啊,可是为什么很难?这个可以写一篇大文章,但是我认为问题的核心,是因为它的DNA是制造。DNA是制造的公司就很难做品牌。而索尼、三星的DNA是品牌,他们的创始者就是要做品牌,整个集团核心是做品牌。

大陆...从制造要走到创造的人,在舆论是被鼓励的。就像联想,不管它并购IBM PCD成功或失败,媒体绝对不会说它自不量力。

我对PC的要求是:要做定位战。别的厂商是“我的价格一定要比联想低”,我的逻辑是“我一定要比联想贵一点”。要卖得贵一点,我的外观设计就要好,键盘、音响也要好。

为什么我一直说慢慢做?因为资源有限,欲望无穷。人才就这些,怎么做?挖角?我们经过这些年的经验,认为挖角进来不容易复制成功,还是Organic Growth比较好。在资源有限的情况下,你要谈欲望无穷,就必须排定优先次序。

如果有一百个像我这样的人,我什么都可以做。

Topic: 

【召集帖】12/1 我计划组织活动了!!

2001/12/1 北太平庄九头鸟
2002/12/1 贵州大厦
2003/12/1 朝外九头鹰 + 麦乐迪
2004/12/1 似乎是魔方?不过我记得当年好像在白石桥也有一次聚会..
2005/12/1 自助涮锅

2006/12/1 ???

5 年后又回到起点,计划大撒英雄贴组织纪念活动。凡是从 EYOU 离职出去的技术人员均可报名参加,另外拒绝任何 EYOU 现役员工参与,避免闲话。

初级目标:解决当晚温饱问题
高级目标:互通有无 头脑风暴
融资方案:AA
时间地点:未定,视报名者的下班地点而定,周五下班的北京交通可不是玩的。

azhuang 如果有兴趣,帮忙张罗一下,八方老少爷们,还有姐们,都来捧场啊

报名的人请报自己现在的工作地点,我将在 11/30 晚上决定最后的腐败地点

Topic: 
订阅 RSS - qyb的博客