November 2008 Archives

默认情况下, html的定义应该是
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">

虽然现在已经是zh-Hans和zh-Hant替代了zh_CN和zh_TW, 但是为了IE6用户,还是应该使用zh_CN来定义。
来源网址:简体中文网页在繁体系统中的显示

加速centos的yum更新

| No Comments | No TrackBacks
centos使用yum进行更新的时候最郁闷的就是速度,最好的解决办法是做一个本地镜像,但是全部镜像大约需要250GB+. OMG,  换算成SAS硬盘也是几千块钱了.
必须花钱么? 当然不是, 可以通过安装fastestmirror和axel提高速度!
FastestMirror是类似apt-spy的yum用软件
axel是一个Linux下多线程下载工具
yum -y install yum-fastestmirror
wget http://alioth.debian.org/frs/download.php/2621/axel-2.2.tar.bz2
tar jxvf axel-2.2.tar.bz2
cd axel-2.2
./configure
make && make install
svn co http://cnfreesoft.googlecode.com/svn/trunk/axelget/ /etc/yum/axelget
cd /etc/yum/pluginconf.d/
ln -s /etc/yum/axelget/axelget.conf .
cd /usr/lib/yum-plugins/
ln -s /etc/yum/axelget/axelget.py .
最后确保/etc/yum.conf中plugins=1就好了
yum -y update来测试吧

编译参数优化

| No Comments | No TrackBacks
具体参数见这里
我的台式机CPU是PD E2160
所以应该用这个参数
discuz!系php的软件都是直接copy ,进入install页面下一步下一步就OK的,保证了通用性和可移植性, 比如一般需要crontab来实现的定时任务等, discuz都自己实现,比如这里提到的每日新帖
最近看到一篇评价PHPCMS的文章, 一般来说主流的CMS都有生成静态html功能, 但是SupeSite另辟蹊径, 继承了discuz的优点, 无须(也不推荐)管理员手动更新静态html,而是由用户访问触发.
btw:谈到cakephp,某人的一句话说的很对,不是cakephp好,而是其他框架太垃圾

ps3更换硬盘要点

| No Comments | No TrackBacks
  1. 更换硬盘前记得先备份(设定->主机设定->备份)!建议使用FAT32格式移动硬盘或者高速U盘备份
  2. 外置设备是什么型号, ps3不care,但是一定要是FAT32格式(FAT没有尝试过), 没有格式化的话ps3识别不出来。
  3. 准备更换的大硬盘必须是2.5' SATA, 据SONY说没有容量限制, 安装前没有必要格式化,ps3会自行格式化, 如果之前有分区,ps3会保留原有分区.
  4. 进行更换硬盘之前先下载最新的PS3主机更新文件(ps3 2.52 主机系统文件下载地址), 找一个U盘或者移动硬盘,建立一个文件夹 /PS3/UPDATE, 把下载的PUP文件放进去即可
  5. 移动硬盘使用FAT32格式,在Windows系统上格式化最大只能到32GB, 使用Symantic的PartitionMagic可以支持到接近200GB, 用Linux格式化的可以支持到2TB, 暂时是够用了. 大于32GB的FAT32格式分区 windows可以正常读写.
php v5.2主要新增了几个特性:

新的内存管理器据说性能有提高, 但是filter和json两个扩展的提供, 可以更好的提高开发效率.
但是CentOS 5.x和RHEL 5.x上的php版本是5.1.6, 没有filter和json, 所以手工安装

首先要安装php-devel和pcre-devel, 至于gcc那些必不可少的就不用说了
yum install php-devel pcre-devel
php 5.1.6的源码树中没有包含php_pcre.h header文件, 所以需要下载一个php5.2源码.
cd /opt/src
wget http://cn2.php.net/get/php-5.2.6.tar.bz2/from/cn.php.net/mirror
tar jxvf php-5.2.6.tar.bz2
然后去下载filter和json两个扩展的源文件, 网页地址分别是: filter json
wget http://pecl.php.net/get/filter-0.11.0.tgz
wget http://pecl.php.net/get/json-1.2.1.tgz
解压缩
tar zxf filter-0.11.0.tgz
tar zxf json-1.2.1.tgz
修改filter的logical_filters.c
vim logical_filters.c
将这行
#include "ext/pcre/php_pcre.h"
修改为
#include "/opt/src/php-5.2.6/ext/pcre/php_pcre.h"
保存并退出文件
分别进入filter和json的src目录
phpize
./configure
make install
执行三条命令即可
echo 'extension=filter.so' > /etc/php.d/filter.ini
echo 'extension=json.so' > /etc/php.d/json.ini
service httpd restart
以上命令在CentOS 5 Final 2.6.18-53.el5 x86_64上验证通过

btw:
json中的头文件不需要修改.
filter的pecl网页提示已经不再维护或者被挂起了, 但是php5.2.6的ext/filter的src还是2005-10-27的版本, 而pecl的filter都到了2006-10-31了。
Tomato是基于GNU/Linux的,用于BroadCom芯片的开源路由器Firmware程序, 目前最新的版本是1.21版.
相比更流行的DD-WRT, DD-WRT与Tomato各有各的长处,DD-WRT Firmware是目前国内外最为流行和红火的Firmware之一,该Firmware是在Open-WRTFirmware基础上改进后发布的,很多功能都是取自Open-WRT,在应用范围上DD-WRT支持最多的硬件平台,并且新版本的发布也很及时。随着DD-WRT新版本的发布以及多家媒体的宣传DD-WRT的应用范围越来越广。而TomatoFirmware则是在最近非常火爆和逐渐流行的Firmware,个头比较小,外号番茄也给人一种塌塌实实的感觉,实际使用起来运行非常稳定,基于SVG的图形化流量图非常有特色。Tomato是由Jonathan Zarate开发的,他同时维护HyperWRT 。

之所以选择Baffalo的无线路由器,实在是因为
Linksys太贱了
 自从众多开源组织发现Linksys的WRT54GL采用了开放源代码进行固件开发并以此为基础发展了自己的修改版固件之后,好好的WRT54G, 一个版本一个版本的发展,硬件上越来越缩水。从V1版本16MB RAM/4MB ROM的到V5版本的8MB RAM 2MB ROM, 最后出来一个V7.0版专供第三世界国家用户, 连主控芯片都换成台湾产的Atheros。(具体硬件参数)
硬件规格的严重缩水直接导致了软件功能的被阉割,最终可以免费实现的功能都得花钱去买.
Linksys sucks!

Buffalo的硬件中规中矩,性价比也还可以. 至于Linksys的民用版,现在已经不能买了,V7版专供中国和非洲,没法刷自定义固件,市面上还可以寻找到V5版本的WRT54G,我实际去看过,都是翻新货,卖全新价格,不过真的可以刷, 有Linksys情节的可以考虑一下。中关村最后一批V1~V4的机器是鼎好二期3楼某老板进的货,残念.
btw: 千万别买WRG54G的AT&T订制版本,虽然有个VOIP很吸引人,但是国内不能用...也没法刷。

扯远了.
<=====================华丽的分割线=====================>
BuffaloWHR-HP-G54是家用版路由器中硬件质量较好的产品,但是相比D-Link等国产厂商,FirmWare方面相对不理想,不够中国国情。
Buffalo的firmware升级不像美国人那么省事,还有bin文件头的校验。在拿到了Tomato的Firmware文件之后,要么自己去修改文件头,要么就按照下面的方法去做(Tomato官方的批处理文件不好用)

  1. 下载Tomato的最新固件(地址) 解压缩, 将tomato.trx放到C:\下
  2. 将路由器恢复到原厂设置,具体就是通电状态下用一个东西顶住路由器下部的INIT按钮,至少30秒种, 建议2分钟。
  3. 用网线将电脑和路由器的LAN口连接,将电脑的IP地址手动设为固定IP地址,设为192.168.11.2,子网掩码为255.255.255.0,网关为192.168.11.1。请不要用无线来刷 Tomato,因为路由器是在启动过程中被刷新,但是这个启动过程中无线模块是不工作的。
  4. 从"开始"菜单→"运行"→键入"cmd",点击"确定"进入到命令行模式。
  5. 跳到C盘的根目录下。
  6. 键入tftp命令:tftp -i 192.168.11.1 put tomato.trx 不要回车
  7. 拔下路由器电源,确认无误再插上。插上的同时所有LAN口的灯都亮一瞬间,然后会只有和你电脑连着的那个LAN口的灯亮着。
  8. 右下角的网络连接从红叉变成正常连接的时候,  tftp -i 192.168.11.1 put tomato.trx[回车]
  9. 然后又过一段时间,会出现传送数据成功的字样。
  10. 如果你键入回车的时间晚了,在经过一段时间的等候,会给出一个Timeout occurred出错的提示。你只要重复从拔电源开始的几步就行,不会损坏路由器。
  11. 当出现传送成功字样后,切记一定要等待至少3分钟,路由器不能断电,也不要对路由器有所操作。
  12. 等待3分钟以后,将电脑的IP设为自动获取(DHCP)。电脑会获得一个192.168.1.XXX的地址,网关应该是192.168.1.1。
  13. 然后打开浏览器,http://192.168.1.1,回车,用户名:root 密码:admin。

Enjoy!