Sunday, February 7, 2010

这两天遇到的某些国内discuz论坛输出的RSS问题解决。

主要遇到了两个问题。
1.GBK编码问题
如果RSS输出是gbk编码,Zend_Feed可以处理(不过会有些警告)。而Simplepie则全部处理成乱码了。
解决这个问题只能是把gbk当成gb2312来处理。
$content = str_replace('encoding="gbk"', 'encoding="gb2312"', $content);


2.半个汉字,或非gb2312内的字符在第一或最后一个的时候,CDATA标签无法识别(Zend_Feed和SimplePie都不行)。
解决办法就是在CDATA与字符之间加一个空格。
$content = preg_replace('/\]\]\>/', ' ]]>', $content);
$content = preg_replace('/\<\!\[CDATA\[/', '<![CDATA[ ', $content);

Saturday, February 6, 2010

Version Control with Git 学习笔记(更新中)

1.当git checkout的时候,如果有一个文件名和一个tag重名,可以用两个中线来指定文件名,比如:
$git checkout main.c  //checkout tag name
$git checkout -- main.c //checkout file name


2.指定log编辑器
setenv GIT_EDITOR vim  //tch
export GIT_EDITOR=vim //bash


3.--author when met some wired message :P

4.比较两个版本
git log
git diff 0f793b8262cbd843e8ad7c75430aab7bebc6522d^1..HEAD wp-content/themes/bugbam/header.php

5.diff stat
git diff master~5 master

Tuesday, February 2, 2010

dante server INSTALL note

1. install dante server

sudo apt-get install dante-server


skip the error message from the output of configure dante-server once installed. that's cause dante configuration was not complete.

2. start editing the config file

vi /etc/danted.conf

--
# log to what file
logoutput: stderr /var/log/danted.log

# listening interface and port
internal: ppp0 port = 80

# outgoing interface
external: ppp0

# method: username requires the client to provide a username and password which match the system password file.

# method: none requires no form of authentication.
method: username

# privileged ports like 80 and 443 must use root permission.
user.privileged: root

# the package seems not complied with libwrap support.
#user.libwrap: nobody

# allowed IPs
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
}

# allowed protocols with these source IPs
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
protocol: tcp udp
}


3. run dante-server

sudo /etc/init.d/danted start