WP-Mobile-Pack在Multisite模式下的修正

September 8th, 2010 li No comments

WordPress Mobile Pack插件为Wordpress站点提供适合移动设备浏览的页面. WPMP支持3种检测模式:

1. 根据浏览器User-Agent决定博客输出,
2. 为博客单独设置一个Mobile域名, 根据用户访问的域名决定输出,
3. 上述基于浏览器和基于域名的结合.

从3.0版本开始, WordPress支持Multisite模模式, 也就是原先的Wordpress-MU的延续. 在Multisite模式下, 可以用同一套Wordpress软件和数据库同时管理多个Blog. 通过domain_mapping插件, 还可以为每个Blog设置多个域名. domain_mapping插件可以为每个Blog设置一个主域名, 并且将其他域名的访问请求通过”Permanent Redirect”的方法重定向到主域名上, 据说这样可以提高站点的Pagerank. Anyway, 这个功能一般推荐选上, 如下图所示: Read more…

Categories: Wordpress Tags: ,

删除Mac OS X上的MySQL

September 7th, 2010 li No comments

MySQL提供的Mac OS X上的安装包不能卸载,需要手动删除。到网上搜到前辈总结的过程,稍微改了改,应该可以直接运行。

#!/bin/sh
 
sudo killall /usr/local/mysql/bin/mysqld
[ -e /usr/local/mysql ] && sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo sed -i -e '/MYSQLCOM=-YES-/ d' /etc/hostconfig
echo done !
Categories: 开源软件 Tags: ,

WordPress 3.0 Update Network超时

September 1st, 2010 li No comments

最近将Blog升级到Wordpress 3.0. 新版本支持multisite模式, 我正好可以把几个Blog合并管理. 激活多站点模式后, WordPress管理菜单中新出现了Super Admin菜单, 下面包含Update菜单项, 在Wordpress升级后, 可以通过Update Network功能同时更新当前站点下的所有Blog.

不过最近使用Update Network功能从来没有成功过, 猜测是超时的问题. 我服务器使用的是nginx + php5-fpm, nginx的error.log中相关错误是ms-upgrade-network.php脚本产生的upstream timed out: Read more…

Categories: Wordpress Tags: , ,

在Ubuntu上安装L2TP/IPsec VPN服务器

August 30th, 2010 li No comments

最近用VPN翻墙比较流行, 我也赶了一下潮流: 买了一个Linode的VPS, 安装了最新的Ubuntu Lucid (10.04), 并在上面配置了L2TP服务器.

以下虽然是在10.04上的配置过程, 但应该对其他版本的Ubuntu同样适用.

2010-09-01: Ubuntu ppa没有karmic上的openswan包, 只能自己编译了, 或是下载我预编译的版本, 参照后面说明.

1. 安装OpenSWAN

L2TP(Layer 2 Tunneling Protocol)顾名思义, 是2层隧道协议. 这个协议的认证方式不是非常安全, 因此实际使用中, 往往将L2TP和IPsec结合, 客户端和服务器之间, 首先通过IPsec生成安全信道, 之后再进行L2TP协议的交互.

因此, 安装L2TP服务器, 首先需要安装IPsec软件. 目前在Linux下, 有FreeSWAN, OpenSWAN, StrongSWAN三款IPsec协议的实现. 这里我用的是OpenSWAN.

目前Ubuntu Lucid中官方自带的OpenSWAN版本是2.6.23. 可惜的是, 这个版本的OpenSWAN有bug, 无法和L2TP服务器配合使用, 必须至少升级到2.6.24以后. 因此需要安装Ubuntu提供的非官方OpenSWAN升级版. Read more…

Categories: 开源软件 Tags: , , , ,

Bambook内测体验

August 19th, 2010 li No comments

前几天在起点的官方网站上看到Bambook的内测消息, 看看自己的帐号好像还符合盛大对内测用户的资质要求: "注册一年以上, 余额至少50元", 于是就申请了Bambook的内测.

据说这次Bambook的内测只发3500个内测邀请, 因此申请了以后我也没在意, 总认为人会很多, 肯定抽不上. 8月6号申请之后, 也一直关注邮箱和Bambook的官方网站, 看到盛大9号已经开始发送邀请码了, 而我直到12号也没收到, 因此更加放弃了.

阴差阳错, 我12号中午整理Gmail的垃圾邮件箱时, 翻出了Bambook的邀请码. 怎么就进垃圾邮件箱了呢, 也不知道多少Gmail用户没有收到邀请码. 根据盛大后来修改的规定, 邀请码24小时有效, 但是我的邀请信是9号发出的, 貌似已经过期了.

不过, 我抱着试一试的心态, 用"过期"的邀请码竟然还可以下单, 就这样上了贼船. Read more…

Categories: 数码产品 Tags: , , , ,

Python调用搜狗云输入法的小例子

January 22nd, 2010 li 2 comments

写了个Python的小例子,调用搜狗云输入法获取汉字。感谢xzap在搜狗论坛发布的bash脚本,但觉得bash还是略微晦涩了点,用python说明搜狗云输入法的API更加清晰一点。

#!/usr/bin/python                                                                                                                                           
from urllib import urlopen
from cgi import parse_qs
 
url = 'http://web.pinyin.sogou.com/web_ime/get_ajax/%s.key'
 
py = raw_input('input pinyin: ')
res = urlopen(url % py).read()
dic = parse_qs(res)
lst = eval(dic['ime_query_res'][0]).split('\t ')
words = map(lambda x: x.split('\xef\xbc\x9a')[0], lst)
counts = map(lambda x: x.split('\xef\xbc\x9a')[1], lst)
 
for i in range(len(words)):
    print words[i], counts[i]
 
exit

运行该脚本的输出结果如下,每行前面是候选词/句,后面是该候选词/句消耗的英文单词字母个数:

$ ./sogou.py
input pinyin: nihaosgysrf
你好搜狗云输入法 11
你好是 6
倪豪士 6
你好 5
拟好 5
倪浩 5
泥蒿 5
倪昊 5
倪皓 5
匿号 52222222222
Categories: 中文化 Tags: , , ,

Seccomp和系统调用过滤

December 8th, 2009 li 1 comment

Seccomp v1

Seccomp是2005年Andrea Arcangeli在Linux内核加的一个功能,为了给*Grid计算中的应用*提供sandbox模型。运行在Seccomp模式下的进程,只能执行下面几个系统调用:
    read(), write(), exit(), sigreturn()

Read more…

Categories: 开源软件 Tags: , , ,

Visual C++编译环境免安装命令行版

November 13th, 2009 li 4 comments

VC的IDE开发环境很好,但太大了,经常是2005/2008/2010装一大堆,占用几十G的空间。用惯了Linux的命令行方式,觉得小巧精致。于是想把VC的基本命令提取出来,也做一个绿色版本。

保留基本的编译命令,cl、lib、link、ml之类的。编译工程只能用nmake了。vcproj工程文件怎么办?用scons重写一个吧。(其实命令行也有个vcbuild)。

制作绿色版之前,首先要安装一个VC,再把其中用到的文件提取出来。或者直接快进到后面找下载链接。

Read more…

Categories: Windows Tags: , ,

stratagus最新Windows版

November 13th, 2009 li 9 comments

简介

stratagus的前身是freecraft。freecraft重写了Blizzard公司的经典游戏Warcraft II的RTS游戏引擎。后因版权问题改名。freecraft改名后分成了几个部分,stratagus项目承接了其游戏引擎的部分,wargus在stratagus引擎上进行二次开发,几乎完美重现了Warcaft II的功能。下面是Wargus/Stratagus的效果:

stratagus1 stratagus2 stratagus3 stratagus4

下载说明

Read more…

最近用scons的收获

November 13th, 2009 li 3 comments

背景

Windows平台上的编译工程工具很多,Visual C++ 6的dsp文件,2003以后用的vcproj,以及最近2010支持的用msbuild编译的vcxproj,加上古老的nmake,cygwin、msys移植的make,等等很多。

make的问题是扩展性比较差,尤其是在Windows平台上,nmake的功能更弱,导致写一个工程文件很费劲,管理多个工程有大量的重复工作要做。make最大的问题是不能automake那种简洁的工程写法(automake同样存在扩展问题,m4语言不懂).

最新的msbuild 4.0试用了一下,感觉不是很好,很费劲。因为最近迷恋上了命令行,一直不愿意安装完整的Visual Studio 2010 Beta 2,直接把2010的命令行拷贝出来用cl.exe之类的。想只装.Net Framework 4.0就试试msbuild,发现不行,把2010里的msbuild相关资源拷贝出来也不行。而且用XML手写工程文件很麻烦。

猛然想起之前听说过,鼎鼎大名,但之前简单了解后放弃了的scons。再次使用之后,才发现scons的妙处。

Read more…

Categories: 开源软件 Tags: , ,