Mac OS X Snow Leopard下移动swap到另外的分区

参考链接:http://superuser.com/questions/28414/moving-the-swapfiles-to-a-dedicated-partition-in-snow-leopard

这里注意的是,新的swap文件的路径必须存在。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# backup the file
$ cd /System/Library/LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist{,_bak}

# convert the file to xml
$ sudo plutil -convert xml1 com.apple.dynamic_pager.plist

# modify the file
$ sudo vim com.apple.dynamic_pager.plist

<key>ProgramArguments</key>
<array>
    <string>/bin/bash</string>
    <string>-c</string>
    <string>/bin/wait4path /Volumes/Swap/ &amp;&amp;
/sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile</string>
</array> # replace /Volumes/Swap/.vm/swapfile as your path

# convert the file to binary
$ sudo plutil -convert binary1 com.apple.dynamic_pager.plist

重启就可以了。

emacs中文显示方框

emacs从23版本开始,对于unicode支持就很好了,在windows和linux下对于中文字体的设置也比较方便:

1
2
3
4
5
6
(set-default-font "WenQuanYi Zen Hei Mono-12")
(set-fontset-font "fontset-default"
                  'unicode '("WenQuanYi Zen Hei Mono-12" . "unicode-bmp"))
(setq default-frame-alist
      (append '((font . "WenQuanYi Zen Hei Mono-12")) default-frame-alist))

可是在mac os X下,这样设置出来的emacs,中文显示为方框。google了一下,没有找到解决办法 :(

1
2
(x-list-fonts "gb") # ctrl+j
nil

gb编码的所有字符在字体中找不到。求高手解答.

hg合并多个repository

假如我已经有了一个repo A,并且其中有了一些change set。现在有另外一个repo B,同时里面也有一些change set。现在我想把B移到A中的一个目录,并且保留所有的change set。在mercurial中应该怎么办呢?

  1. 通过pull -f的方式
1
2
3
4
5
hg clone A Adir
cd Adir
hg pull -f B
hg merge
hg commit
  1. 通过subrepo的方式,传送门http://mercurial.selenic.com/wiki/Subrepository

这里第一种方法适用,第二种方法适用与子项目或者库的情况.

GDB远程调试

参考链接:http://blog.csdn.net/fertiland/archive/2008/01/01/2007533.aspx

前面已经做好跨平台的交叉编译的工作,如果需要调试怎么办呢?这个时候就可以GDB的远程调试来实现。

P.S. 如果没有windows的GDB,可以去下载或者自行编译。 在windows端执行 

1
gdbserver localhost:2345 photorec.exe

在archlinux下执行

1
2
3
4
# 这里我用的virtualbox,所以ip为10.0.2.2,请自行替换成windows的ip
$gdb photorec.exe
gdb> target remote 10.0.2.2:2345
gdb > ....