我最喜欢的电台是什么?当然是北京FM91.5轻松调频啦。 What’s you…

我最喜欢的电台是什么?
当然是北京FM91.5轻松调频啦。
What’s your favorite radio station?
It’s definitely Beijing FM 91.5 EasyFM

在iPhone上我可以订阅EasyFM的一些Podcast,还可以通过WunderRadio收听在线的版本。iPod nano可以收到,AIWA的收音机可以受到,家里现在有个大收音机解决了信号不好的问题。That’s so cool!

I subscribed some podcast from EasyFM, and I also listen EasyFM online by WunderRadio on my iPhone. I can receive EasyFM radio through my wife’s iPod nano, a old portable AIWA FM radio reciever and a advanced big radio receiver at home ,it fixed the bad signal issue. Sweet!

最简单的说,最有用的是这篇教程《Debian上安装l2tpd/IPSec VPN…

最简单的说,最有用的是这篇教程《Debian上安装l2tpd/IPSec VPN服务》
在Linode的Ubuntu 9.04 (jaunty)上面安装L2TP,由于参考了apple4.us的这篇文章《如何在 Debian / Ubuntu 服务器上架设 L2TP / IPSec VPN》,所以没有配置成功,主要原因是ubuntu上面的openswan版本和这个配置不相符,强行配置是会失败的,照猫画虎难度很大(而且我现在用的jaunty的openswan根本就配不通)。
主要卡在sudo ipsec vierify上的两个disable上面:
Checking for RSA private key (/etc/ipsec.secrets) [DISABLED]
ipsec showhostkey: no default key in “/etc/ipsec.secrets”

Opportunistic Encryption Support [DISABLED]
后面的这个Opportunistic Encryption因为oe=off这个配置不对,所以总是提示很多问题。
后来经过了很多无助的搜索才发现了这篇《l2tp vpn搭建总结(linode ubuntu)》,解释了这个不要紧:

其中需要注意两项:Checking for RSA private key和Opportunistic Encryption Support,第一项其实你大可不必管他,disable或者ok都行。如果你实在要解决,可以:

ipsec newhostkey –file /root/tmpkey
cat /root/tmpkey >> /etc/ipsec.secrets
rm /root/tmpkey

然后,疑问都解决了发现没有仔细阅读《Debian上安装l2tpd/IPSec VPN服务》,人家说

如果客户端连接显示“server did not respond”,通常说明openswan的版本不对,Debian Lenny自带的版本貌似有些问题。在命令行运行如下命令,即可安装openswan-2.6.24:

sudo aptitude install libgmp3-dev gawk flex bison
wget http://www.openswan.org/download/openswan-2.6.24.tar.gz
tar xf openswan-2.6.24.tar.gz
cd openswan-2.6.24
make programs
sudo make install
sudo apt-get remove openswan
sudo /etc/init.d/ipsec restart

卸载openswan并自己编了新的版本后果然就OK了。注意调试的时候应该看/var/log/syslog和/var/log/auth.log。

登root的时候发现: You have new mail in /var/ma…

登root的时候发现:
You have new mail in /var/mail/root
原来是有很多root邮件没有传递,查了一下可以这样做,修改/etc/aliases:
root: your.gmail.account@gmail.com
然后sudo postalias /etc/aliases就好了,root邮件就会被传递到你的gmail邮箱。当然我的情况是在ubuntu下使用postfix,否则修改的位置略有不同,谷歌一下。

昨天调试服务器上的L2TP,sudo -i了一下,发现root根目录有好多好多的…

昨天调试服务器上的L2TP,sudo -i了一下,发现root根目录有好多好多的wp-cron留下的垃圾文件,原来是我的crontab写的有问题:

*/5 * * * * /usr/bin/wget http://www.ermiao.com/wp-cron.php?doing_wp_cron >> /home/public_html/ermiao.com/log/wp-cron.log 2 >> /home/public_html/ermiao.com/log/wp-cron.err

因为默认情况下wget会把文件下载到home目录下,而且它还会自动重命名,结果文件越来越多……

解决方法就是增加下载后删除的参数,并且让它quiet运行。

*/5 * * * * /usr/bin/wget -q --delete-after http://www.ermiao.com/wp-cron.php?doing_wp_cron >> /home/public_html/ermiao.com/log/wp-cron.log 2 >> /home/public_html/ermiao.com/log/wp-cron.err

OpenParty的新网站的Django项目使用了South这个migratio…

OpenParty的新网站的Django项目使用了South这个migration工具。可是刚才增加了一个Model以后却无论如何都无法生成这个migration。

./manage.py schemamigration core --auto

上面这个命令每次都提示:

Nothing seems to have changed.

很郁闷。试验了看是否是South或者Django的版本问题,都升级到最新版依然有这个问题。看了google groups里面也没有人报有这个问题。于是仔细搜索问题的来源,最终发现是这个原因:

class Meta:
app_label = 'core'

上次我们Team重构项目的时候去掉了项目的openparty前缀,使用相对路径import,结果造成”core”项目实际上是存在”apps.core”下面的。所以,需要用Meta类告诉Django实际上对应的app名称。结绳记事。

在Mac下的Pydev里面几个常用的快捷键 Cmd+e切换tab,配合输入tab…

在Mac下的Pydev里面几个常用的快捷键

Cmd+e
切换tab,配合输入tab文件的名字的前几个可以快速在上下文中切换tab
Cmd+d
删除本行
Cmd+Option+上
复制本行一次(Duplicate this line)
Cmd+Shift+R
快速打开文件,注意没有通配符也不是smart匹配……
Cmd+Shift+F11
Rerun,常用在运行当前的单元测试
Cmd+Option+r

Rename refactory,重命名重构,非常实用。不过少数情况下这个重构不安全,注意diff
Cmd+Shift+O
自动import,缺点是它会搅乱你精心设计的import顺序,不在乎的朋友非常方便,可以让你的coding工作变得非常流畅。不过如果你开启auto import以后这个快捷键就不需要了,但是auto import的副作用就是它经常import那些明明不需要import的东西,如self、len它都会傻傻的import。
Cmd+Shift+F
在当前Folder搜索,前提是你在文件浏览部分选中了一个Folder

刚才写了一个识别网站charset的正则,因为目前写一个网页抓取的工具,里面对中…

刚才写了一个识别网站charset的正则,因为目前写一个网页抓取的工具,里面对中文url做encoding的时候需要先识别页面的编码,可惜UrlEncoding没有强制使用UTF-8编码,真是烦人。下面是一个python下的正则表达是的字面文本。

r'<meta.*(?:(?:charset\s*=\s*["|\']?)|(?:charset.*content\s*=\s*["|\']\s*))([\d|\w|\-]+)[;|"|\'|\s]'

我的.profile里面的alias,之前使用kill $(ps auwx | …

我的.profile里面的alias,之前使用kill $(ps auwx | grep qTfnNC | grep -v grep | awk ‘{ print $2 }’)的方法放在.profile里面就不好用了,所以最近就一直没有使用它。既然还是反复在用它(连接断开vpn以后经常需要重启ssh代理),所以还是修正它好了。

alias px="ssh -qTfnNC -D 7777 yourdomain.com"
alias kpx="(ps auwx | grep qTfnNC | grep -v grep | awk '{ print $2 }')|xargs kill;px"

看到这段话,来自这里: Recently I discovered that l…

看到这段话,来自这里

Recently I discovered that learning a foreign language teaches you two things: how to communicate in that language and how to communicate in your own language to non-native speakers. You learn that simple grammatical structures and shorter sentences are easier to understand. You get a feeling for when someone’s following you and which words in the sentence are most important to pronounce clearly.

感觉说的很好。你需要知道如何和没有熟练掌握这门语言(或者领域)的人交流,你需要知道如用简单的表述,清晰的表达你的意思。

看到那些背着书包穿着校服的中学生,感觉现在比那个时候自由和快乐了,而且也比那个时…

看到那些背着书包穿着校服的中学生,感觉现在比那个时候自由和快乐了,而且也比那个时候富裕了很多。可代价是,我变老了。