RuCTFE 2012参赛记

海底捞火锅

RuCTFE 是一个面向全世界的信息安全比赛,每个队伍保护自己的机器,攻击其他队伍的机器,长达8个小时紧张激烈的对抗和赛前犒赏队员的火锅标志着它是这一年我参与的最有意义的事之一,因而在这里简要记录下来。有幸收到《Metasploit渗透测试指南》的译者孙松柏的邀请,成为 blue-lotus 队的一员,和网络安全实验室的同学一起出发,晚上一群人去吃牡丹园的海底捞火锅壮行。

Read More

基于 mutt+offlineimap+notmuch+inotifywait 的个人邮件系统

收邮件

早先使用getmail + procmail。缺点是本地对邮件的操作无法在服务器上反映出来。

使用offlineimap可以利用Gmail的filter功能,把邮件分拣到本地的各个maildir子目录。

注意在Gmail上设置filter规则时,要选上Skip Inbox,以免一封邮件同时出现在分类子目录和INBOX中。请看下面这条示例规则:

Read More

完美迷宫生成算法

Perfect maze

Perfect maze又称standard maze,指没有回路,没有不可达区域的迷宫。用图论的语言来说,就是可以用spanning tree表示的迷宫,保证迷宫中任意两个格子间都有唯一的路径。本文旨在探讨如何随机生成棋盘状perfect maze。迷宫格子的邻居的定义采用von Neumann neighborhood,即水平竖直方向相邻的四个格子。

变形Kruskal算法

说得通俗点,就是“随机拆墙”。

Read More

自然语言处理之词语抽取

多日之前看到了Matrix67的《互联网时代的社会语言学:基于SNS的文本数据挖掘》,文中提到的方法是无监管的,而且无需词典就能提取词语,要素概括起来有两点:词的凝聚力,以及左右邻字的信息熵。今天把这个方法实现了一下。

对于凝聚力,我的理解是可以用词前后两部分的pointwise mutual information来描述,比如对于“博物馆”一词,考虑“博”与“物馆”之间,以及“博物”与“馆”之间的pointwise mutual information,两者取较小值作为“博物馆”这个词的凝聚力。

Read More

Force-directed算法(1)——Fruchterman-Reingold

简介

Graph drawing即根据顶点和边的拓扑关系,将这张图展现出来。很明显,表现的形式种类是非常多的,如果精确到每个顶点的座标,那么方案有无穷多种。Graph drawing 目标是画出一张美观的图的布局来。美是个见仁见智的概念,何谓美?“每个本质在于旺盛的生命力,美的形象能够感染人的情感和鼓舞人心”,展现出来的图是否美每个人的看法可能都不一样,但有一些通用的要素是大家一般共同认可的,比如边的两端不能靠得太近也不能离得太远,相交边的数目要尽量少,有对称性等等。

Read More