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