用tcpreplay对网络程序进行压力测试

October 16th, 2008 | Posted in Programming   Add Comment

以前tcpdump用的比较多,主要用在诊断的时候。tcpreplay则是把tcpdump记录下来的包原样发回去

这样tcpreplay就可以用来以极快的速度复现记录下来的数据从而实现压力测试,好处在于数据比较真实
Read the rest of this entry »

jump-or-exec in emacs

October 6th, 2008 | Posted in Emacs   Add Comment

去年的时候发在水木里的

类似sawfish下的jump-or-exec

用于查找名为buffer-name的buffer,如果不存在则调用func,如果存在的话切换到这个buffer,如果这个buffer就是当前的buffer且给出了可选参数onfocused的话就把这个buffer作为参数来调用onfocused

因为不会用正则匹配查找buffer,所以只能全匹配。

代码在 http://www.emacswiki.org/cgi-bin/wiki/jump-or-exec.el

没有sawfish的时候怎么用jump-or-exec来切换窗口

October 6th, 2008 | Posted in Emacs   Add Comment

最初是因为compiz不成熟,所以一直在用sawfish,最近切到了compiz后就不能用sawfish了,非常好用的jump-or-exec也没了,本来打算自己搞个的,发现已经有人弄过了。地址在
http://pluskid.lifegoo.com/wiki/JumpOrExec.html

通过一个python脚本和wmctrl来实现的jump-or-exec,配合xbindkeys,基本上不用再担心切换wm的问题了

不过python脚本的启动明显没有shell脚本来的快,改写成shell脚本代码如下
Read the rest of this entry »

用adsl时如何使用dnsmasq

October 5th, 2008 | Posted in GNU/Linux   Add Comment

前面写过一篇帖子,是关于用dnsmasq做dns缓存的,里面提到的dsl部分采用的是注释掉usepeerdns,这并不是很好用,因为无法获取运营商的dns server
简单的做法是在/etc/ppp/ip-up.d/0000usepeerdns里cat /etc/ppp/resolv.conf前加上一句echo “nameserver 127.0.0.1″ 把那一段变成这样即可。


# merge the new nameservers with the other options from the old configuration
{
  echo "nameserver 127.0.0.1"
  cat /etc/ppp/resolv.conf
  grep --invert-match '^nameserver[[:space:]]' "$REALRESOLVCONF" || true
} > "$REALRESOLVCONF.tmp"

新版小纸条上线,panel功能更加体贴

July 29th, 2008 | Posted in 搜狐小纸条   1 Comment

在将近一个月的测试后,带panel功能的小纸条目前要向搜狐逐渐全面展开了
这个版本的小纸条最显著的特点有三个:

  1. 不再使用右下角升起窗口来提示小纸条了,改由panel上闪烁的标签来提示有新消息
  2. 增加系统消息、收件箱、好友列表的直接入口
  3. 在不同的页面里记住你聊过的人,打开后直接显示正在聊的内容以及以前的历史记录

可以这样说,第二个功能是最直接的,小纸条的功能一目了然,去哪都方便了;第一个功能是最体贴的,相信很多人还是并不是很喜欢弹窗这种方式的,所以我们改成了更弱化一些的提示,不过随之的问题就是很多人会注意不到有新纸条了,这个我们也在持续的改进中;第三个功能是最重要的,让你不再因为关掉网页而找不到跟你聊天的人了。

关于新版的小纸条,更详细的可见此文《搜狐小纸条站上页面右下角 显示在线好友等(图)》

带panel的小纸条

搜狐小纸条产品招聘Javascript工程师

July 24th, 2008 | Posted in 搜狐小纸条   Add Comment

先汗一下,以此开篇,呵呵

搜狐小纸条产品招聘Javascript工程师,欢迎有兴趣的朋友加入,同时非常欢迎优秀的应届毕业生。

搜狐小纸条为网页级即时通讯产品(WebIM),本职位主要从事WebIM前端网页部分的Javascript相关开发工作。

基本要求:熟悉网络编程相关的基础知识(数据结构,算法,计算机网络,操作系统,数据库,编程语言等)
  熟悉Linux基本操作的更好

经验要求:熟悉HTML,XHTML,CSS等页面布局相关的知识
  熟悉Javascript
  熟悉浏览器DOM和浏览器兼容性开发

对于应届毕业生没有硬性的经验要求,我们非常欢迎优秀的应届毕业生。

搜狐的待遇福利一直是很不错的,搜狐小纸条作为搜狐3.0里的核心产品之一,丰厚的年薪和奖金自然也是少不了的。

工作地点在北京,有兴趣的同学、朋友可以站内信找我,有朋友正在从事这方面工作想要跳槽或者对此感兴趣的也请推荐下。
也可以直接把简历发到jayxie@sohu-inc.com

msn-pecan pidgin的msn插件 期待离线消息功能

May 19th, 2008 | Posted in GNU/Linux   Add Comment

http://code.google.com/p/msn-pecan/

作者是pidgin的msnp主要开发者,说是pidgin忽视msnp的开发,所以独立出来作为一个插件。
目前已经支持了personal-message 离线消息放在了milestone-0.1.0 目前版本为0.0.12

try it!

有了xft后emacs的字体设置,解决新开frame还是老字体的问题

March 17th, 2008 | Posted in Emacs   Add Comment

有了xft以后emacs的字体设置现在已经可以简单到不能简单了,而且很漂亮,真的很养眼。
其实这个设置也没什么特别的,主要是今天在emacs@newsmth上看到有人问新开frame仍然使用的是老字体的问题,想起自己当初因为这个琢磨了很久emacs的font是怎么搞的,所以应该还是有必要发出来共享一下的


(progn
(set-default-font "courier 10 pitch-12")
(set-fontset-font "fontset-default" 'han '("微软雅黑" . "unicode-bmp"))
(add-to-list 'default-frame-alist '(font . "courier 10 pitch-12")))

progn那个可以去掉的,我当初是为了测试方便能够一起eval三句用的
我不会创建fontset,所以先set-default-font来设置默认字体,这个会自动创建一个fontset
然后修改这个fontset来增加中文显示字体
最后把这个fontset加到default-frame-alist,因为新开的frame会从default-frame-alist里继承,也就继承了字体的设置

从bluehost迁移到了vpsland

October 12th, 2007 | Posted in 自言自语   3 Comments

vpsland的还是不错的 xl系 据说xen比Virtuozzo要好 我是觉得多个swap可用 呵呵
选的debian-etch 288M内存暂时够用 纯debian连50M内存都没用
apache2+fastcgi+php还真挺麻烦的 弄了两天~~
回头还得配exim

swiftfox, 让你的firefox不再慢如牛

September 5th, 2007 | Posted in GNU/Linux   1 Comment

其实牛挺好的 呵呵

昨天和委员交流linux使用心得,一致对linux下firefox那个慢是深恶痛绝,回来以后就开始找找看有没有解决办法,因为我们一致认为,linux最大的好处就是没有解决不了的问题。

于是,就找到了swiftfox

http://getswiftfox.com 是官方站 目前是2.0.0.6和2.0.0.7pre 可以上去下载

debian系的可以这样做 在sources.list里添加一条
deb http://getswiftfox.com/builds/debian unstable non-free
然后根据你的cpu类型安装swiftfox-xxx 比如我是pentium-m我就装swiftfox-pentium-m

唯一遗憾就是没有源码 不知道是怎么样优化的

优化后的最直接的效果就是访问msn space不再是100%cpu卡上数秒了~~

代码就是最好的文档

August 20th, 2007 | Posted in 工作手札   3 Comments

敏捷开发讲究的是快速响应变化,所以相对而言很反对繁冗的文档,他们认为,当情况变得很迫切的时候,才是建立文档的时候。而这份文档必须简短,以论述框架为主。而最好的文档是代码,从代码里面才能够完整的了解整个系统的结构。所以敏捷开发强调重构的重要性,一方面重构可以提高代码响应变化的能力;另一方面则是可以保持代码的清晰和简洁,让这份最好的文档能便于阅读。

每每读到一个文件数千行代码的时候,我就会更加坚信这一点,好在,至少这个文件里注释还不少:)

xinu, yslow

July 26th, 2007 | Posted in WebTech   1 Comment

曾经在哪看到的xinu忘了,今天找的时候开发者居然不提供服务了,不过提供了源码下载,所以在本站放了一个。链接是xinu,很不错的一个站点各项数据分析搜索引擎数据采集工具,唉,偶的网站数据小的可怜啊~~
xinu的源代码,php的

再来说说YSlow,分析你的网页为何加载的这么慢的一个工具,地址回头再给。
会针对你的网页比如css的放置,js的放置等等各项打分,给出改进速度的建议,不过我不明白为何不欢迎ETag……

附图:
xinu偶的数据

GNU screen

July 10th, 2007 | Posted in GNU/Linux   Add Comment

一直以来都是term term term,N个term,刚看到screen的时候觉得多此一举,反正已经是term*N很容易的,都配成sawfish的快捷键了……
这儿有个how to start screen from .bashrc不过偶不喜欢,因为这样只能启动一个terminal,每次都会接管上一个screen。
于是配成了另一个sawfish的快捷键,目前我的快捷键如下:
Win+e 启动emacs或跳转到已启动的emacs
Win+t 启动thunderbird或跳转到已启动的thunderbird
Win+m 启动mlterm
Win+z 启动一个mlterm,在里头执行screen
Win+p 启动python解释器
Win+x 启动rox
Print 抓屏
Alt+Print 抓窗口

配置文件里这样写:
Read the rest of this entry »

Ubuntu Gutsy

July 6th, 2007 | Posted in ubuntu   Add Comment

呃,升级了之后一直报错,device-manager dm-linear device lookup error.
据说是内核需要patch,ubuntu的bug list里有,所以等等吧,幸亏2.6.20的内核还在,用这个启动就行了,hoho
顺便要说的是,之前的dual head双显不行了,在recovery模式下X -configure重写了下xorg.conf,当然,最好是dpkg-reconfigure xserver-xorg
双显啊双显,啥时候才能用的很爽呢……

好吧,接着写,关于i810的dual head

June 21st, 2007 | Posted in ubuntu   Add Comment

之前写过,但是用的很不方便,在/etc/X11/下放了两个xorg.conf 分别对应dual head和single head用脚本来切换
但是太麻烦了 得重启xwindow
于是把xinerama关了
但是问题就是sawfish只跑在主显示器上了
没法子 写了个脚本
DISPLAY=:0.1 sawfish &
这样就不用每次都切换xorg.conf了

不过 再一个麻烦事又来了……
窗口不能随便拖了~~~~

遭遇thunderbird丢失邮件

June 7th, 2007 | Posted in GNU/Linux   2 Comments

恩,写下来给其他人参考,如果也不幸遇到了的话,呵呵
找到你的邮件,比如Inbox 重命名为Inbox2
然后执行

sed '/^X-Mozilla-Status:/s/[0-9]*$/0000/’ <Inbox2 >Inbox

重置了邮件的状态,所以最后一次compact this folder后删除的邮件也回来了……

Robert love joins Google

May 8th, 2007 | Posted in 自言自语   Add Comment

Novell的Linux桌面曾经的Chief Architect,现在Google的开源工作室,不知道会给Google带来什么
Blog | rlove

谣传maxthon获得了google一百万美金的投资

April 10th, 2007 | Posted in 自言自语   Add Comment

原文是这样的
Multiple sources are confirming that the Chinese/Israeli startup behind the Maxthon Browser has sold a minority stake to Google. The total investment size is rumored to be around $1 million. We are also hearing that this investment is part of a “much larger strategic deal” between the two companies

vmware under feisty

March 25th, 2007 | Posted in ubuntu   2 Comments

vmware-workstation的内核模块在2.6.20下编译不过,可能有解决方案,不过网上有现成的更好的办法,就是改用vmware-server

到vmware下载vmware-server,解压开来装上,问你是否执行vmware-config.pl的时候选no

然后开始cheat。

apt-get install vmware-server-kernel-modules

这个是ubuntu源里面别人编译好的vmware-server的内核模块,能够保持和内核的一致
然后sed -i -e "s/\/sbin\/insmod -s -f \"\/lib\/modules\/\`uname -r\`\/misc\/\$1.o\"/\/sbin\/insmod -s -f \"\/lib\/modules\/\`uname -r\`\/vmware-server\/\$1.ko\"/" /etc/init.d/vmware

这里和原文不一样,改的是vmware启动脚本里面关于加载内核模块的地方,原文是改成了modprobe一下,但是我不知道啥时候insmod,所以我就改成了这个,源里面针对2.6.20编译的内核是以ko结尾,而且是放在vmware-server下

再然后sed -i -e "s/sub configure_module {/sub configure_module {\n return 'yes';/" /usr/bin/vmware-config.pl

这个是hack掉vmware-config.pl里面安装内核模块部分,vmware-server自带是没有2.6.20的,自己编译可能还有什么问题,所以用别人编译好的,这里直接return yes;最好

之后就全ok了, 跑一下vmware-config.pl吧

注:以上步骤都需要root权限

原文在http://www.ubuntuforums.org/showpost.php?p=2143833&postcount=14

Seems scim conflicts with Xorg or sawfish or emacs?

March 9th, 2007 | Posted in Emacs   1 Comment

I first found this problem when using ubuntu dapper & emacs 23.0.0.1.

Sometimes when speedbar is started in emacs, every key press in emacs does not effects unless next time I switched to emacs.

At first, I thought it was a little bug with emacs 23, so I did not take it serious.

But after upgrading to feisty & emacs 23.0.0.9, this happens more often. When created a new frame, either speedbar or C+X 5 2, key press frozen. And everything returns all right when all other frames are closed. And evem more, key press lags when switching windows! So I thought it maybe bug with xorg or sawfish!
So I asked in emacs@newsmth, and someone said it maybe problem between xim & emacs in reply. Then I disabled scim and now seems everything ok.