2008年12月11日星期四

dotfiles.org

其实老把配置文件写在blog里的懒人,象我,还有个更好的去处:dotfiles.org
向各位geek推荐!

2008年12月10日星期三

从mrxvt迁移到urxvt了

从mrxvt迁移到urxvt了,各大发行版的默认locale都是unicode的 可mrxvt仍然不支持unicode
看英文的man pages总冒出几个汉字来 Orz
只好换到urxvt了
原来习惯的键绑定当然要迁移过来了
!setting for urxvt
urxvt.visualBell: true
!urxvt*inheritPixmap: true
!urxvt*font: -misc-fixed-medium-r-normal-*-13-130-75-75-c-70-iso10646-1,\
!-wenquanyi-*-medium-r-normal-*-13-*-*-*-p-*-iso10646-1
!urxvt*font:xft:DejaVu Sans Mono:pixelsize=15
urxvt*font:xft:DejaVu Sans Mono:pixelsize=16,xft:WenQuanYi Bitmap Song:pixelsize=15
urxvt*cursorBlink: true
urxvt*geometry:100X37
urxvt*scrollBar_floating:true
urxvt*scrollstyle:next
urxvt*scrollTtyOutput:True
urxvt*internalBorder:15
!urxvt*externalBorder:35
!urxvt*fading: 80
!urxvt.shading: 60
urxvt*scrollBar: true
urxvt*saveLines: 65535
urxvt*borderLess: false
urxvt*colorBD: white
urxvt*colorIT: green
urxvt*background: gray25
urxvt*foreground: gray85
!urxvt.cursorColor: red3
urxvt*preeditType: Root
urxvt*perl-ext-common:default,tabbed
!urxvt*tabbed.tab-fg:gray25
!urxvt*tabbed.tab-bg:gray85
!urxvt*tabbed.tabbar-fg:4
放在 .Xdefaults 里 再
$xrdb .Xdefaults
即可生效。
这需要urxvt的perl支持
shift+down是新建tab,shif+left左移一个,shift+right
其他的尚待发掘

2008年9月17日星期三

宋臣居然鄙视孙思邈
其一:
...自仲景于今八百余年,唯王叔和能学之。其间如葛洪,陶景,胡洽,徐之才,孙思邈辈,非不才也,但各自名家,而不能修明之。
其二:
...但此经自晋以来,传之既久,方证讹谬,辩论不伦,历代名医虽学之,皆不得仿佛。唯孙思邈粗晓其旨,亦不能修正之,况其下者乎。

2008年7月25日星期五

别怕

面包会有的
牛奶会有的
荔枝会有的

2008年7月24日星期四

开始了

丢了geek 心
安心加入穷忙族

2008年3月8日星期六

不错的Makefile 留个做参考

  prefix = /usr/local

  exec_prefix = ${prefix}

  BINDIR = ${exec_prefix}/bin

  MANDIR = ${prefix}/man/man1

  ETCDIR = /etc

  CC = gcc

  CFLAGS = -Wall -O2

  LIBS = -lgd -lpng -lz -lm

  DEFS = -DETCDIR="/etc" -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1

  LDFLAGS=

  INSTALL= /usr/bin/install -c

  INSTALL_PROGRAM=${INSTALL}

  INSTALL_DATA=${INSTALL} -m 644

  # where are the GD header files?

  GDLIB=/usr/include
# Shouldn't have to touch below here!

  all: webalizer

  webalizer: webalizer.o webalizer.h hashtab.o hashtab.h

  linklist.o linklist.h preserve.o preserve.h

  dns_resolv.o dns_resolv.h parser.o parser.h

  output.o output.h graphs.o graphs.h lang.h

  webalizer_lang.h

  $(CC) ${LDFLAGS} -o webalizer webalizer.o hashtab.o linklist.o preserv

  e.o parser.o output.o dns_resolv.o graphs.o ${LIBS}

  rm -f webazolver

  ln -s webalizer webazolver

  webalizer.o: webalizer.c webalizer.h parser.h output.h preserve.h

  graphs.h dns_resolv.h webalizer_lang.h

  $(CC) ${CFLAGS} ${DEFS} -c webalizer.c

  parser.o: parser.c parser.h webalizer.h lang.h

  $(CC) ${CFLAGS} ${DEFS} -c parser.c

  hashtab.o: hashtab.c hashtab.h dns_resolv.h webalizer.h lang.h

  $(CC) ${CFLAGS} ${DEFS} -c hashtab.c

  linklist.o: linklist.c linklist.h webalizer.h lang.h

  $(CC) ${CFLAGS} ${DEFS} -c linklist.c

  output.o: output.c output.h webalizer.h preserve.h

  hashtab.h graphs.h lang.h

  $(CC) ${CFLAGS} ${DEFS} -c output.c

  preserve.o: preserve.c preserve.h webalizer.h parser.h

  hashtab.h graphs.h lang.h

  $(CC) ${CFLAGS} ${DEFS} -c preserve.c

  dns_resolv.o: dns_resolv.c dns_resolv.h lang.h webalizer.h

  $(CC) ${CFLAGS} ${DEFS} -c dns_resolv.c

  graphs.o: graphs.c graphs.h webalizer.h lang.h

  $(CC) ${CFLAGS} ${DEFS} -I${GDLIB} -c graphs.c

2008年1月3日星期四

2007年12月2日星期日

开始使用ubuntu studio

革掉FreeBSD6.2
装ubuntu studio 7.10
在FreeBSD下hack的时光还是很愉快的 XD

2007年11月27日星期二

牵驴指南 for amule

首次运行时,在“服务器列表”中输入emule中文服务器列表:http://www.emule.org.cn/server.met

附Firefox的ed2k关联:
  在地址栏中输入 about:config
  任意处点击右键,选择“新建”“布尔”
  首选项名称:network.protocol-handler.external.ed2k
  值为:true
  再新建“字符串”
  名称为:network.protocol-handler.app.ed2k
  值为:/usr/bin/ed2k

2007年10月24日星期三

rc file for mrxvt 0.5.1

从0.4.2到0.5.1
增加了 不少功能
rcfile 格式也改变了
重写一份 延续原来的键绑定
#Mrxvt.opacity: 75
#Mrxvt.opacityDegree: 5
#Mrxvt.transparent: True
#Mrxvt.transparentScrollbar: True
#Mrxvt.transparentTabbar: True
#Mrxvt.transparentMenubar: True
Mrxvt.foreground: grey
#Mrxvt.foreground: yank
#Mrxvt.background: blue
Mrxvt.background: #315fab
#Mrxvt.ufBackground: yellow
#Mrxvt.backgroundFade: 50
#Mrxvt.fading: 50
#Mrxvt.shading: 80
#Mrxvt.tintColor: red
#Mrxvt.textShadow: red
#Mrxvt.textShadowMode: botright


Mrxvt.xft: 1
Mrxvt.xftFont: DejaVu Sans Mono
Mrxvt.xftmFont: WenQuanYi Bitmap Song
#Mrxvt.xftNomFont: True
Mrxvt.xftAntialias: 1
#Mrxvt.xftWeight: Medium
Mrxvt.xftSlant: Roman
#Mrxvt.xftHinting: True
#Mrxvt.xftAutoHint: True
Mrxvt.xftGlobalAdvance: True
#Mrxvt.xftWidth: ultracondensed #normal
Mrxvt.xftRGBA: rgb
Mrxvt.xftSize: 14

#Mrxvt.cursorBlink: True
#Mrxvt.cursorBlinkInterval: 200

Mrxvt.geometry: 80x40
#Mrxvt.lineSpace: 2
#Mrxvt.borderLess: True
#Mrxvt.overrideRedirect: True
#Mrxvt.bellCommand: ls
#Mrxvt.holdExit: False
#Mrxvt.holdExitText: Terminal exited#

#Mrxvt.internalBorder: 2
#Mrxvt.externalBorder: 2

#Mrxvt.thai: False
#Mrxvt.multichar_encoding: GB
Mrxvt.multichar_encoding: GB
#Mrxvt.inputMethod: fcitx

Mrxvt.minVisibleTabs: 8
#Mrxvt.tintColor: #ffffff
Mrxvt.macro.Ctrl+Right: GotoTab +1
Mrxvt.macro.Ctrl+Left: GotoTab -1
#Mrxvt.macro.Ctrl+t: NewTab -
Mrxvt.macro.Ctrl+Up: NewTab -
Mrxvt.scrollBar: True
Mrxvt.saveLines: 65535

2007年10月20日星期六

我的两块硬盘 留底

diskinfo -ctv ad0
ad0
512 # sectorsize
80026361856 # mediasize in bytes (75G)
156301488 # mediasize in sectors
155061 # Cylinders according to firmware.
16 # Heads according to firmware.
63 # Sectors according to firmware.

I/O command overhead:
time to read 10MB block 0.153954 sec = 0.008 msec/sector
time to read 20480 sectors 1.951592 sec = 0.095 msec/sector
calculated command overhead = 0.088 msec/sector

Seek times:
Full stroke: 250 iter in 6.229230 sec = 24.917 msec
Half stroke: 250 iter in 4.397800 sec = 17.591 msec
Quarter stroke: 500 iter in 7.038233 sec = 14.076 msec
Short forward: 400 iter in 1.982712 sec = 4.957 msec
Short backward: 400 iter in 1.254739 sec = 3.137 msec
Seq outer: 2048 iter in 0.221814 sec = 0.108 msec
Seq inner: 2048 iter in 0.228228 sec = 0.111 msec
Transfer rates:
outside: 102400 kbytes in 1.359987 sec = 75295 kbytes/sec
middle: 102400 kbytes in 1.652919 sec = 61951 kbytes/sec
inside: 102400 kbytes in 2.796036 sec = 36623 kbytes/sec
diskinfo -ctv ad6
ad6
512 # sectorsize
160041885696 # mediasize in bytes (149G)
312581808 # mediasize in sectors
310101 # Cylinders according to firmware.
16 # Heads according to firmware.
63 # Sectors according to firmware.

I/O command overhead:
time to read 10MB block 0.113047 sec = 0.006 msec/sector
time to read 20480 sectors 1.990766 sec = 0.097 msec/sector
calculated command overhead = 0.092 msec/sector

Seek times:
Full stroke: 250 iter in 6.991143 sec = 27.965 msec
Half stroke: 250 iter in 4.926424 sec = 19.706 msec
Quarter stroke: 500 iter in 7.740060 sec = 15.480 msec
Short forward: 400 iter in 2.775153 sec = 6.938 msec
Short backward: 400 iter in 3.088087 sec = 7.720 msec
Seq outer: 2048 iter in 0.216119 sec = 0.106 msec
Seq inner: 2048 iter in 0.233842 sec = 0.114 msec
Transfer rates:
outside: 102400 kbytes in 1.374697 sec = 74489 kbytes/sec
middle: 102400 kbytes in 1.582706 sec = 64699 kbytes/sec
inside: 102400 kbytes in 2.826320 sec = 36231 kbytes/sec

2007年10月17日星期三

gentoo desktop 备忘

非 root 用户 关机
emerge sudo
/etc/sudoers下添加
username ALL=NOPASSWD:ALL

fcitx 自启动

在 /etc/X11/Sessions/Xfce中加入
/usr/bin/fcitx
startxfce4
gnome kde 未测试

2007年10月7日星期日

设置FreeBSD控制台分辨率

FreeBSD6.2
在内核中加入两项:
options VESA
options SC_PIXEL_MODE

然后编译安装新的内核
用 vidcontrol 设置调试 分辨率
用 vidcontrol -i mode|grep G 来查看支持MODE的列表,注意第一列的编号,
用 vidcontrol MODE_编号 来更改分辨率
如果想启动时生效,就在 /etc/rc.conf 加入 allscreens_flags="MODE_编号"

2007年10月3日星期三

常见音频格式工具

MP3 相关工具: lame
OGG 相关工具: vorbis-tools
APE 相关工具: mac
FLAC 相关工具: flac
WAV 相关工具: shntool
BIN/CUE镜像分割: bchunk


1. MP3 和 WAV 之间相互转换
===========================

mp3 -> wav

lame --decode <输入_mp3文件> <输出_wav文件>

wav -> mp3

lame -b <比特率> <输入_wav文件> <输出_ogg文件>
shntool conv -o "cust ext=mp3 lame -b <比特率> - %f" <输入_wav文件>


2. OGG 和 WAV 之间相互转换
===========================

ogg -> wav

oggdec <输出_ogg文件> -o <输入_wav文件>

wav -> ogg

oggenc -b <比特率> <输入_wav文件> -o <输出_ogg文件>


3. APE 和 WAV 之间相互转换
===========================

ape -> wav

mac <输入_ape文件> <输出_wav文件> -d

wav -> ape

mac <输入_wav文件> <输出_ape文件> -c <压缩比率, 默认为 2000>


4. FLAC 和 WAV 之间相互转换
===========================

flac -> wav

flac -d <输入_flac文件> -o <输出_wav文件>

wav -> flac

flac <输入_wav文件> <输出_flac文件> -<压缩比率 1-8 , 默认为 5>


5. 分割APE/CUE镜像

i) 先解码成WAV格式
mac CDImage.ape CDImage.wav -d

再进行切割
bchunk -w CDImage.wav CDImage.cue output

shnsplit -f CDImage.cue CDImage.wav

ii) 也可以直接切割
shnsplit -f CDImage.cue -i ape CDImage.ape

iii) 切割并转换到其他格式(FLAC/mp3)
shnsplit -f CDImage.cue -i ape -o flac CDImage.ape

shnsplit -f CDImage.cue -i ape \
-o "cust ext=mp3 lame -b 320 - %f" CDImage.ape


6. APE <-> FLAC 互相转换

shnconv -i ape -o flac CDImage.ape
shnconv -i flac -o ape CDImage.flac

2007年10月2日星期二

freebsd6.2 换了张intel 82559网卡

重新 config下
先 ifconfig 得知 intel 100m的网卡名 fxp0
dhclient fxp0 确定连上

在/etc/rc.conf 加上
inconfig_fxp0="DHCP"

2007年5月11日星期五

写软盘 引导扇区的工具


1 #include <stdio.h>
2 #include <sys/types.h>
3 #include <sys/uio.h>
4 #include <unistd.h>
5 #include <fcntl.h>
6 #include <sys/stat.h>
7 int
8 main(int argc,char *argv[])
9 {
10 struct stat img_file;
11
12 char boot_buf[512];
13 int i;
14 for(i=0;i<511;i++){
15 boot_buf[i]=0x00;
16 }
17 int img_fd, boot_fd;
18
19 if(argc!=3){
20 printf("USAGE:./write boot_file img_file\n");
21 }
22
23 boot_fd = open(argv[1], O_RDONLY);
24 img_fd = open(argv[2], O_RDWR);
25 fstat(img_fd,&img_file);
26 if((argc==3)&&(img_file.st_size!=1474560))
27 {
28 printf("WARNING:floppy image size is NOT 1474560 \n");
29 }
30 read(boot_fd, boot_buf, 510);
31 close(boot_fd);
32 boot_buf[510] = 0x55;
33 boot_buf[511] = 0xaa;
34 lseek(img_fd, 0, SEEK_CUR);
35 write(img_fd, boot_buf, 512);
36 close(img_fd);
37
38 exit(0);
39 }
36

2007年5月8日星期二

创建可引导软盘映象文件

$dd if=/dev/zero of=./fdsize.img bs=512 count=2880
2880+0 records in
2880+0 records out
1474560 bytes transferred in 0.018691 secs (78891179 bytes/sec)

精确地说 一个软盘映象共有1474560 个 bytes

2007年5月4日星期五

Vim 7 碎碎念

标签页
:tabnew开新标签
gt在标签间切换
:tabdo命令可以在所有打开的标签页上执行命令
:tabp和: tabn分别切换到前一个或下一个标签
使用:tabr和:tabl切换到第一个或最后一个标签

ctags + taglist
下载taglist.vim 放在 vim70/plugin里面
由于FreeBSD ports安装的ctags已经包含ctags及Exuberant ctags,taglist需要Exuberant ctags,执行文件是exctags而不是ctags,所以需要修改taglist.vim
在"if !exists('loaded_taglist')"前加一行
let Tlist_Ctags_Cmd = "/usr/local/bin/exctags"
在~/.vimrc添加亦可
生成tags文件:exctags -R *
输入:Tlist即可

OMNI补全

for c 的

在 ~/vimrc 里加入 set omnifunc=c
生成tags文件:exctags -R *
打开文件编辑
按下“CTRL-X CTRL-O”,在VIM的状态行会显示“Omni Completeion”,表明现在进行的是全能补全,同时会弹出一个下拉菜单,显示所有匹配的标签。
如果补全处于激活状态,可以用"CTRL-E"停止补全并回到原来录入的文字。用"CTRL-Y"可以停止补全,并接受当前所选的项目。

word_complete插件
Insert模式下在输入的时候自动补全单词,如果补全正确
可以按Tab键接受,否则可以不管它继续输入或者按Ctrl-n,
Ctrl-p切换补全。注意是输入三个字符后才开始补全。
下载word_complete.vim 放在 vim70/plugin里面
在~/.vimrc中加入
let g:WC_min_len=3 " 大于3个字母才自动补全
:autocmd BufEnter * call DoWordComplete() " 每个buffer自动启用自动补全

2007年4月30日星期一

freebsd 挂载

u盘 并且显示中文文件名

mount_msdosfs -D CP936 -L zh_CN.eucCN /dev/da0s? /mnt/usb

cd

mount -t cd9660 /dev/acd? /mnt/cdrom


iso

mdconfig -a -t vnode -f abc.iso -u 1
mount_cd9660 /dev/md1 /mnt/cdrom

播放CD、VCD、DVD不用先mount上。
如果你一定要mount上,可以这样:
#mount _cd9660 -s 0 /dev/acd0a /cdrom

光驱的关闭与弹出

cdcontrol -f /dev/acd0 close
cdcontrol -f /dev/acd0 eject

2007年4月29日星期日

FreeBSD RELEASE 6.2安装mysql 4.1.22

cd /usr/ports/databases/mysql41-server/
make install clean
/usr/local/bin/mysql_install_db
chown -R mysql /var/db/mysql/
chgrp -R mysql /var/db/mysql/
/usr/local/bin/mysqld_safe -user=mysql &
/usr/local/bin/mysqladmin -u root password newpassword

vi /etc/rc.conf
mysql_enable="YES" (在rc.conf文件里加入这行代码)

试试看
mysql -u root -p
Enter password:
mysql> use test;
mysql> select database();
mysql> show tables;
mysql> select database();
mysql> exit;
Bye