Posts
八数码
八数码问题,已访问状态采用 factorial number system 表示,未访问的未使用(简化代码)
实现了 Breadth First Search 和 Heuristic Search 两种算法。
带上命令行选项 -g 能输出 Graphviz 的 dot 格式的状态树。
比较满意的地方是把两种搜索算法的共同部分抽象出来了,写成了单独的 search 函数。
用Perl的正则表达式分析csv文件
问题来自这个帖子。我没理解错的话,楼主的要求是替换分隔符。
这里假设 csv 的规范是逗号分隔字段,允许字段中有双引号引用的字符串,如果串内要表示双引号,那么用两个双引号代替。
用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/ 下的某个文件。
在Makefile中自动生成依赖
论坛里有人写了一个用于自动生成C/C++依赖的脚本。但是他的脚本处理不同目录的源文件时会有些问题,.o 会生成在当前目录,而不是和 .cc 同一个目录。
gcc 其实有一些生成用于 Makefile 规则的选项,-M 等,说明如下:
-
-MM,忽略依赖中的系统头文件 -
-MF,指定生成的规则文件的路径 -
-MT,指定规则的目标 -
-MP,对每一个依赖创建一个force target,典型输出:test.o: test.c test.h test.h:没有这个选项的话是不会有
test.h:的
自动获取SSH密码并登录
给别人打广告
tusooa 的脚本,主要用 Bash 和 Perl 写的,用了类似 GoboLinux 的组织方式,大家可以去看看。围观地址:[[https://github.com/tusooa/tusooa]] 。
…用rss2email阅读feeds
很久没用rss的阅读器了,以前曾用过 emacs 的 newsticker ,不支持HTML。也用过Google Reader,打开速度太慢,而且对Pentadactyl不友好。
把feeds转成邮件来阅读
我的想法是找一款工具,把feeds转换成邮件,由本地的procmail处理(归类),然后再用mutt阅读。
…用Makefile搭建博客-2
缘起
前一篇用Makefile搭建博客说到我用inotifywait监控目录下文件的写操作来更新目录的修改时间,以后只要把make inotify放到启动脚本中就行了。但当时就发现了一个问题,一直拖到今天才解决掉。