占位。以后补上解释。
Prefix-doubling algorithm。
用网页来看网络学堂的公告很费时间,就打算像 rss2email
那样,把消息制作成邮件。 用 Ruby
的 mechanize
来和网站交互,读取“课程公告”和“课程文件”中的消息, 把链接
sha1
后判断是否生成过提示邮件,没有则跟踪链接,用
w3m
输出成纯文本, 生成的邮件用 sendmail
投递。
三周的军训总算挺过去了,这里的网络条件比想象中要糟糕不少。 其实有很多要说,还是等到“十一长假”回家了再慢慢说吧。
废话不多说了,这是一个用 Haskell
实现的
Top-down Splay tree
:
1 | module SplayTree ( |
2015年8月更新
《The Linux Programming Interface》的Chapter 18 Directories and Links提到chroot jail有几个注意点:
chroot()
不改变工作目录。因此通常在调用chroot()
之后会紧跟chdir("/")
,把工作目录设定到新的root;否则仍可使用工作目录访问jail外的文件。只是之后访问jail外的文件不可以用绝对路径了,因为root目录还在jail里。fchdir()
即可改变工作目录到jail外。如果是特权进程的话(精确地,指拥有CAP_SYS_CHROOT
权限),还可以在fchdir()
后使用chroot(".")
以把root目录设置到jail外。倘若多chdir("..")
几次,可以回到原先的root目录。fchdir()
使工作目录脱离jail。下面的例子展示如何使用jail外的文件描述符脱离jail:
1 |
|
前几天看了 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/
下的某个文件。
tusooa 的脚本,主要用 Bash 和 Perl 写的,用了类似 GoboLinux 的组织方式,大家可以去看看。围观地址:[[https://github.com/tusooa/tusooa]] 。