哈 的个人资料哈哈的部落格(blog@msn)照片日志留言簿更多 工具 帮助

日志


11月19日

又遇title里有中文的utf8编码页面在ie下看一页空白

这是个早就知道的老问题了
却不知为何当年没写blog记录此事

今天又遇到这个问题了
把这一行内容移到之前
问题就解决了
特此记录一下

注:firefox貌似没有这个问题

10月14日

在google app engine上用birdnest搭了个twitter proxy

rt
是可忍孰不可忍
终于出手了
首先

wget http://googleappengine.googlecode.com/files/google_appengine_1.2.0.zip
unzip -x google_appengine_1.2.0.zip

这是下载、安装google app engine for python的sdk
然后

cd google_appengine
svn checkout http://birdnest.googlecode.com/svn/branches/gae gae

这个是从birdnest官网上check out出来gae分支的代码
还有种说法是
svn checkout http://birdnest.googlecode.com/svn/trunk/ birdnest-read-only
但有人说一定要gae分支,否则有问题,所以我这里就是用的gae分支
接着

vim gae/app.yaml

将第一行的application: nest改成application: xxxxxxx
其中xxxxxx是你在google app engine上新建的app_id
可以用http://xxxxxx.appspot.com访问你的app
最后

./appcfg.py update gae

将应用上传到gae(google app engine)
至此
birdnest在你的google app engine上就搭好了
测试下
http://xxxxxx.appspot.com能访问(假设你的app_id是xxxxxx)
http://xxxxxx.appspot.com/api/能出现twitter的主页(假设你的app_id是xxxxxx)
就成功了

我在我的adp1(android develop phone 1)上用twidroid的时候
开始老不行
后来才发现原来是api的url地址写错了
写成xxxxxx.appspot.com/api了
我改成xxxxxx.appspot.com/api/就好了

终于翻墙上来了

10月11日

mysql的sql语句中直接支持算术运算符

我有个mysql库
里面有个server表
其存储ip地址的是一个unsigned int(10)的变态的数据类型
其存储的数据是ip地址的
((第一字节*256+第二字节)*256+第三字节)*256+第四字节
因此,表里的ip地址数据相当的不直观
程序里倒无所谓
写个自函数转一下就可以了
但我如果要在mysql控制台、直接sql语句里显示直观ip信息呢
该怎么办呢
今天终于碰到这么个问题
翻了翻mysql文档
原来mysql直接支持算术运算符+、-、*、/,甚至连取余%都支持
再结合取整函数floor()、字串连接函数concat()
问题解决了

select concat(floor(ip/(256*256*256)), “.”, floor(ip/(256*256))%256, “.”, floor(ip/256)%256, “.”, ip%256) as ip_s, product, role, contact from server

9月17日

oracle带来的linux发布,真是好东东呀

以前仅知道oracle以redhat enterprise linux为蓝本
出了个linux的发布,名字叫enterprise linux
这个enterprise可以用来跑oracle for linux
不成想
这个oracle的enterprise linux
不仅可以免费下载
而且其yum server还可以免费更新!!!
要知道
redhat的enterprise linux的yum更新可视需要花钱订阅服务的呀
以前老用基于redhat enterprise linux的另外一种版本centos来取代rhel(redhat enterprise linux)
这下可好
有了oracle的enterprise linux
起码是多了一种选择吧
何况其后面还有oracle的支持呢

7月8日

"TCP: drop open request from ..."的问题

一台跑着FC3(fedora core 3)的机器
kernel 2.6.11smp
作web server
感觉系统响应很慢
telnet localhost 80都经常超时
dmesg了下
看到好多类似

TCP: drop open request from xxx.xxx.xxx.xxx/xxxx
printk: 4272 messages suppressed.

的log
后来把系统的syncookies打开(主要是下面第一句)就好了

echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog

6月20日

mac os x需要知道的小技巧

1,安全模式
方法很简单,就是启动时按shift键
据说如果按shift+v,能看到更多的信息
官方原文如下:

To start up into Safe Mode (to Safe Boot), do this:

1. Be sure the computer is shut down.
2. Press the power button.
3. Immediately after you hear the startup tone, hold the Shift key. The Shift key should be held as soon as possible after the startup tone but not before.
4. Release the Shift key when you see the gray Apple icon and the progress indicator (looks like a spinning gear).

2,用光盘启动
启动时按C键

3,启动进单用户模式
启动时按Option+S

6月4日

snmpd不能启动的问题

有台机器启动snmpd一会儿就当
log里看是系统提示:

Error opening specified endpoint: “10.0.0.11″

man 8 snmpd看了一下

Note that not all the transport domains listed above will always be available; for instance, hosts with no IPv6 support will not be able to use udp6 transport addresses, and attempts to do so will result in the error “Error opening specified endpoint”. Likewise, since AAL5 PVC support is only currently available on Linux, it will fail with the same error on other platforms.

貌似是某些资源得不到满足的时候会报”Error opening specified endpoint”的错
看来问题的关键在于这个ip地址”10.0.0.11″
grep -r “10.0.0.11″ /etc/*了一下
运气比较好
马上返回:
/etc/snmp/snmpd.local.conf中有这个ip
进去一看
发现

agentaddress 127.0.0.1,10.0.0.11

将10.0.0.11这个ip换成这台机器的私网地址
再重起snmpd就好了

原因看来是snmpd要监听10.0.0.11这个ip的某个端口
结果这个ip又没有绑定在本地的某个网络设备上
所以失败

赫赫
看来这台机器原来的ip是10.0.0.11

6月3日

vconfig添加vlan出"error: Invalid argument"错的问题

rhel5u3的机器
需要在一块网卡(eth0)上设上两个网段的ip地址
(交换机上已经配好,vlan id分别为10和11)
当用命令vconfig add eth0 10
的时候
系统抱错:

ERROR: trying to add VLAN #10 to IF -:eth0:- error: Invalid argument

man vconfig貌似也没有说法
后来查了下资料
才知道vconfig添加vlan
需要网络设备是up状态才行
于是明白了
ifconfig eth0 up
然后再vconfig add eth0 10
vconfig add eth0 11

就ok了
最后记得在系统里将eth0改成缺省是up状态
(改文件/etc/sysconfig/network-scripts/ifcfg-eth0中的ONBOOT参数为yes)
否则重起就没用了

6月2日

iptables导致丢包

一台fc5(fedora core 5)的机器
从外面ping丢包
而且还丢的比较厉害
在系统i下fconfig看
一大堆的包被dropped掉
仔细检查
原来开着iptables

[@xx.xx ~]# /etc/rc.d/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination

Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination

Chain FORWARD (policy ACCEPT)
num target prot opt source destination

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination

[@xx.xx ~]#

将iptables停掉
就好了

5月31日

sed的"-i"参数用来回写文件

经常会有用命令行直接完成编辑文件的操作(而不是像vim进入编辑模式可视化编辑文件)的需求
直接更改文本文件的内容可以用sed来做
但是sed缺省是只改动输出的内容
而原来的文件是不会去动的
比如

sed -s ‘/^to /d/’ in.file

用来删除掉文件in.file里以”to “开头的每一行
但上面的这个命令只是显示正确,真正的in.file却没有被改动
有人曾尝试用

sed -s ‘/^to /d/’ in.file > in.file

这样只会清空文件in.file,也不会有需要的结果
其实sed有个参数”-i”可以用来回写文件
上面的需求可以这样实现:

sed -s ‘/^to /d/’ -i in.file

5月30日

ViewSonic(优派)数码相框DPG807BK放mp4视频没有声音

老爸60大寿的生日礼物
居然播放mp4文件没有声音
说明书上还妄称支持mpeg4!

去换了一台,还是这样

大家如果要选择这款数码相机的话
还请慎重考虑

5月24日

adp1(android)自带的Music程序放mp3乱码想到的

前段时间
下了些许mp3放到我的adp1(android develope phone 1)的tf卡上
用系统自带的Music程序放的时候
发现歌曲名、歌手名(本来应该都是中文)啥的都是乱码
知道是播放器不支持gbk(gb2312)的原因
然后网上给出了一大堆转换mp3的tag编码的软件

而我在想
既然android现在开源了
貌似music也是有源程序的
那为什么就没人将其改一改
让其支持gbk(gb2312)呢

android系统本身应该是支持gbk(gb2312)的
因为我的mp3tag程序能够清楚的显示原本在music里乱码的歌手名和歌曲名

5月11日

android vs wm(windows mobile)

sim卡换到adp1已经很有段时间了
而且adp1也已经升级到传说中的cupcake
但我的qtek s200(dopod 830)还天天带着
天天跟pc同步

天天带着
一是要用导航,adp1上如今还没有能用的离线导航软件
第二,我的qtek s200(dopod 830)还有重要的ewallet,adp1的market上好像有个splashid,但貌似是要收费的,我还没找到免费的下载,所以也就还没用起来
第三,记账软件。目前还没有在adp1上找到又好用又简单还能跟pc端程序同步的记账软件
以上三点,是我不能抛弃以前的qtek s200(dopod 830)的原因

总之
一个感觉
adp1上跑的android,商务上还是太弱,远不及qtek s200(dopod 830)上跑的windows mobile
本来
adp1上的canledar和contacts都是跟google同步的
那么note和todo list为什么就不一起做上呢
貌似google也是有note和todo的呀
其实只需要做一个本地程序维护一下
然后实现下跟google的同步即可
(也许第三方已经油了类似的软件,但我还是希望google官方能出一个
)

5月8日

强烈推荐:手机宝贝—全方位语音、短信伪装保密/短信过滤/通讯增强/安全备份,全免费

强烈推荐:手机宝贝全方位语音、短信伪装保密/短信过滤/通讯增强/安全备份,全免费

在此之前,这一直只是一个存在于梦想之中的软件

通讯录备份、照片上传、手机撒谎、自动应答录音、私密空间、黑名单、垃圾短信过滤、手机防盗、手机归属地、闪信、话费计算,任何一个功能都可以书写一段传奇,但手机宝贝囊括了一切,让一切都很简单,至少省略8个软件,500K的小巧安装包,万爱千宠于一身!并且一切免费!


官方网站:www.mobaobei.com

手机直接下载:wap.mobaobei.com
应用平台: S60 v2/v3/v5
                  SmartPhone WM5/WM6
                  SmartPhone WM2003
                  Windows Mobile PocketPC WM5/WM6
                  Windows Mobile PocketPC WM2003
                  J2ME_Nokia_S40
                  J2ME_SE,
                 
支持国内所有主流手机品牌和型号
软件介绍:
功能全面的免费手机客户端软件,通过无线同步的方式实时备份、恢复手机上的通讯录、短信、彩信,和上传下载多媒体文件,同时提供功能强大的语音、短信全方位的伪装保密功能和通讯管理服务。

02


让手机宝贝巅峰独舞的,十一大必杀技


一、手机个人信息实时备份
可以随时随地将通讯录、短信、彩信备份、同步到独享的网络个人空间,以及在手机上恢复,还可以随时上传照片、音乐、视频、文件,支持断点续传,重要资料实时备份、永久存放,不用担心手机存储空间不足,更无需担心手机丢失或更换。
0514


二、黑名单拦截

可以设置黑名单,屏蔽黑名单中电话的所有来电、短信,可以针对黑名单的来电返回为关机、停机、忙、空号等多种提示状态,或自定义呼叫转移的号码(or语音信箱)很好地保护自己的行踪。黑名单中的来电记录、短信会放置在黑名单对应目录下备查。另外,还可以设置分时段个性化拒接电话,避免闲人打扰。
2726


三、私密空间:
可以设置私密空间,所有私密空间名单中的来往通话记录和短信均会隐藏。如果启动了伪装短信,在收到私密短信时,收件箱则会收到一个自定义的伪装短信,真实的短信藏在私密空间之中,手机可以放心给他()人用了。
282943


四、背景音乐
当你有一首美妙的歌曲要与朋友分享;当你想为远方的知己送去温馨的祝福;当你憧憬与亲密的爱人在温柔的音乐相伴下倾诉衷肠,它是音乐分享的好工具。

当您睡过了头却想让老板相信你正在挤公交车;当您想愚节的时候半夜让朋友接听一个鬼叫森森的电话;当有一个无聊的电话喋喋不休,希望有人敲门,必须挂掉它可以帮你。


五、自动应答和录音
在不方便接听电话时,可以启动自动应答和录音,相当于秘书台,不花钱而且更有亲和力。
005006


六、手机防盗追踪
如果您的手机丢失,一旦插入新的sim卡,手机会自动给您预设定的其它手机号码发短信告知使用此手机的新号码,以便联系拾主或报警;在短信告知的同时销毁手机上的所有重要数据。如果您使用了备份功能,这些资料是可在任何一个手机上随时恢复的。
33


七、垃圾短信过滤
手机宝贝提供垃圾短信过滤功能,并且用户可以自定义修改,轻松告别垃圾短信骚扰。
3740


八、私密电话本
在私密空间可以创建一个个人的隐藏通讯录,别人即使拿到手机,也是不知道这个通讯录的。
28


九、归属地显示
手机主界面显示通话对象的位置。对于陌生的来电,您有了判断是否接听的依据。另外,在手机客户端提供手机号段归属地查询功能。
35


十、短信牛
突破一切防火墙,短信直接显示于接收方手机屏幕上,阅读后不能保存,牛!整蛊必备工具。(短信牛由移动运营商按普通短信资费收取,有少数手机终端支持短信牛的存储转发。)
44


十一、流量统计
实时统计,本月及历史上累计的,短信收发条数,和GPRS流量,方便合理安排预算,节省费用。
009


软件本身是完全免费的!
手机上网会产生GPRS网络流量费,此费用由中国移动、中国联通等运营商收取;GRRS流量资费标准请咨询你的当地移动运营商。

5月5日

can't get root access @ adp1(cupcake 1.5)?!

打开terminal
输入命令”su”
系统报错:

su: uid 10034 not allowed to su

嗯?
不能获得root权限了?!
我这可是adp1,开发机器呀
而且我刷的也是htc官方的adp1的rom(cupcake,1.5)呀

翻了翻文档
才发现原来新系统root权限不能通过su在terminal中得到
而只能通过adb shell用命令(adb root)得到

4月28日

升级我的adp1到1.5(cupcake)

官方的传说中的Cupcake终于发布了!
于是赶紧从这里把1.5的包下下来
radio的包是需要用update.zip的方式升级的
但system的包分别打成了两个包
分别供update.zip和fastboot两种升级方式使用
(我还是习惯fastboot方式升级:)

升级过程就不讲了吧
按照文档讲的来
It’s so easy!

传说中的cupcake是有多国语言支持的
但是在这个包里
多国语言支持倒有
只不过候选的只有”English”
其他不知什么时候能添加进来

我的itech radio的蓝牙耳机能够很容易的配对并连上
蓝牙立体声没有问题,ad2p也没有问题

单装的google拼音输入法也很好用

不过还是有些软件有兼容性问题
比如spy camera(也许是我的spy camera版本太低)

4月27日

诡异现象:echo一个字串都会导致ssh sesion退出

就好像是敲入exit命令或Ctrl+D一样
奇怪的是
在我的两台rhel as5的机器上有这个问题
在另外两台fedora core的机器上就没问题
貌似可能还不是echo的版本的问题(2台fc,一台是”echo (GNU coreutils) 5.2.1″,一台是”echo (GNU coreutils) 6.9″,都没问题)
两台有问题的rhel as5都是”echo (GNU coreutils) 5.97″

貌似跟shell有关系
我换了tcsh和 zsh都没问题
然后再敲bash回bash
再echo的话
就报”Segmentation fault”

4月24日

ucenter home1.5不能从wordpress2.7.1里导入日志?

今天导的时候出错:

“获取数据失败,请参考服务器返回:
20080219T13:06:11, publish, id, key, value, id, key, value”

可是关键是:以前是可以的呀
为什么突然就不行了呢
真是郁闷

4月23日

adp1上的update.zip刷机法

首先,将下好的zip包上传到设备上的sd卡上
将设备通过usb线连上pc机(pc机上需已装好usb driver和adp等工具,这些在android sdk里都有)

adp push xxxx.zip.singed /sdcard/update.zip

然后,刷机(通过recovery utility)
1,关机
2,进入recovery utility
按住power键和home键,直到屏幕上出现三角形里面有个感叹号的图形的时候,松开手
推开屏幕,露出硬键盘
alt+l可以列出可用的菜单
alt+s把/sdcard/update.zip的东西写入系统(刷机)
alt+w清空系统缓存(回出厂设置)
3,按alt+s,开始刷机

最后,重起机器
按Home键和Back键重起机器(刷机完成会提示)

4月22日

dnsmasq服务绑定在特定ip地址上

dnsmasq是一个轻量级的dns转发器和dhcp服务器软件
由于其有缓存功能
所以多用来优化dns域名解析的过程
缩短dns解析请求的时间

这样的话
我们一般情况下是不希望其服务监听公网ip地址的端口的
所以我们一般是需要将其服务绑定在内网网卡上或是本地网卡设备上

于是
vim /etc/dnsmasq.conf
将listen-address设成想要监听的ip地址
然后再打开bind-interfaces
就像这样:

listen-address=127.0.0.1
bind-interfaces

然后宠启dnsmasq服务
就好了