Posts

  • 18th December 2011

八数码

八数码问题,已访问状态采用 factorial number system 表示,未访问的未使用(简化代码) 实现了 Breadth First Search 和 Heuristic Search 两种算法。 带上命令行选项 -g 能输出 Graphviz 的 dot 格式的状态树。 比较满意的地方是把两种搜索算法的共同部分抽象出来了,写成了单独的 search 函数。

…

Read more →
  • 30th November 2011

我的xmonad配置

一个不错的Xmonad配置,带有xmonad-contrib一些模块的介绍。

Read more →
  • 28th September 2011
  • 16th August 2011
  • 13th August 2011

用Perl的正则表达式分析csv文件

问题来自这个帖子。我没理解错的话,楼主的要求是替换分隔符。

这里假设 csv 的规范是逗号分隔字段,允许字段中有双引号引用的字符串,如果串内要表示双引号,那么用两个双引号代替。

…

Read more →
  • 12th August 2011

用udev自动挂载usb设备

前几天看了 udev 的介绍,今天正好 #ubuntu-cn@freenode 里有人问,就把这个老大难问题解决掉了。

代码如下:

KERNEL!="sd[b-z]?", GOTO="automount_exit"
ACTION=="add", SUBSYSTEM=="block", RUN+="/bin/mkdir /media/%E{ID_FS_LABEL}-%E{ID_FS_UUID}", RUN+="/bin/mount -o uid=1000,user,codepage=936,utf8 $root/%k /media/%E{ID_FS_LABEL}-%E{ID_FS_UUID}"
ACTION=="remove", SUBSYSTEM=="block", RUN+="/bin/umount /media/%E{ID_FS_LABEL}-%E{ID_FS_UUID}", RUN+="/bin/rmdir /media/%E{ID_FS_LABEL}-%E{ID_FS_UUID}"
LABEL="automount_exit"

保存为 /etc/udev/rules.d/ 下的某个文件。

…

Read more →
  • 11th August 2011

在Makefile中自动生成依赖

论坛里有人写了一个用于自动生成C/C++依赖的脚本。但是他的脚本处理不同目录的源文件时会有些问题,.o 会生成在当前目录,而不是和 .cc 同一个目录。

gcc 其实有一些生成用于 Makefile 规则的选项,-M 等,说明如下:

  • -MM,忽略依赖中的系统头文件

  • -MF,指定生成的规则文件的路径

  • -MT,指定规则的目标

  • -MP,对每一个依赖创建一个 force target,典型输出:

    test.o: test.c test.h
    test.h:

    没有这个选项的话是不会有 test.h: 的

…

Read more →
  • 31st July 2011

自动获取SSH密码并登录

给别人打广告

tusooa 的脚本,主要用 Bash 和 Perl 写的,用了类似 GoboLinux 的组织方式,大家可以去看看。围观地址:[[https://github.com/tusooa/tusooa]] 。

…

Read more →
  • 20th July 2011

用rss2email阅读feeds

很久没用rss的阅读器了,以前曾用过 emacs 的 newsticker ,不支持HTML。也用过Google Reader,打开速度太慢,而且对Pentadactyl不友好。

把feeds转成邮件来阅读

我的想法是找一款工具,把feeds转换成邮件,由本地的procmail处理(归类),然后再用mutt阅读。

…

Read more →
  • 19th July 2011

用Makefile搭建博客-2

缘起

前一篇用Makefile搭建博客说到我用inotifywait监控目录下文件的写操作来更新目录的修改时间,以后只要把make inotify放到启动脚本中就行了。但当时就发现了一个问题,一直拖到今天才解决掉。

…

Read more →