export org-mode file in command line

January 19th, 2009 | Posted in Emacs   Add Comment

see http://thread.gmane.org/gmane.emacs.orgmode/7675 for more informations

以下是我用来export单个文件的命令

生成html

emacs --batch --eval '(progn (setq user-full-name "Your Name")(setq user-mail-address "Your Mail Address")(find-file "/path/to/file.org")(org-export-as-html 3))'

生成txt

emacs --batch --eval '(progn (setq user-full-name "Your Name")(setq user-mail-address "Your Mail Address")(find-file "/path/to/file.org")(org-export-as-ascii 3))'

Linux下通过USB用WM6手机的GPRS上网

January 18th, 2009 | Posted in ubuntu   1 Comment

From http://wiki.xda-developers.com/index.php?pagename=Hermes_Modem_With_Linux

但并不是一定得用Hermes这个机器,我用的是Dopod D600,所谓的GENE,按照文中所述编译安装了usb-rndis-lite后,在手机上用Internet共享拨号连接后,NetworkManager就找到了一个新的网络设备,这时候就连接成功了

a google chrome like color schema for sawfish using mxflat theme

January 6th, 2009 | Posted in ubuntu   3 Comments

mxflat theme can be found in sawfish-themes package in both ubuntu and debian.

I made a google chrome like color schema using this theme with settings below.

This is the sample image, the browser is swiftfox with chromifox theme.
sawfish-mxflat-chrome

Also you can make a shadow~
sawfish-mxflat-chrome-shadow

Read the rest of this entry »

segment fault when dump-emacs

December 1st, 2008 | Posted in Emacs   Add Comment

dump-emacs 是个好东西,不过最近老是dump失败
gdb了一下 发现挂在unexec那
google之至http://bugs.gentoo.org/show_bug.cgi?id=221281#c6

The breakage is caused by the “randomize brk()” patch.
See the LKML, http://lkml.org/lkml/2007/10/23/435:

This is known to break older versions of some emacs variants, whose
dumper code assumed that the last variable declared in the program is
equal to the start of the dynamically allocated memory region.

The corresponding kernel parameter is accessible via
/proc/sys/kernel/randomize_va_space, the breakage occurs if its value is 2.

结论为执行下sysctl -w kernel.randomize_va_space=0再dump即可

shell里这么写

#!/bin/bash
MYEMACS=/home/x/bin/emacs-dump
EMACS=/home/x/bin/emacs
cat > /tmp/dump-emacs.el <<EOF
(load "/home/x/.emacs")
(dump-emacs "$MYEMACS" "$EMACS")
EOF

OLD_VASPACE=`sysctl kernel.randomize_va_space|tr -d " "`
sudo sysctl -w kernel.randomize_va_space=0
$EMACS --batch --load /tmp/dump-emacs.el
sudo sysctl -w "$OLD_VASPACE"

即可

用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   3 Comments

最初是因为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 搜狐小纸条   Add 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 自言自语   2 Comments

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

swiftfox, 让你的firefox不再慢如牛

September 5th, 2007 | Posted in GNU/Linux   Add 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 工作手札   2 Comments

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

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

xinu, yslow

July 26th, 2007 | Posted in WebTech   Add 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   1 Comment

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

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

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