Quine Relay
今天上網時看到有人分享了這個項目:quine-relay,點進去看是這樣一個程序:一開始是一段Ruby代碼,運行後生成Scala代碼,後者運行後生成Scheme代碼,如此執行,依次生成了Bash、Smalltalk、Tcl等代碼,最後又回到最初的Ruby代碼。這類程序有個名字,叫ouroborus programs。Ouroborus即銜尾蛇,是一條正在吞食自己尾巴的蛇,在這裏剛好表示循環的概念。
![]()
今天上網時看到有人分享了這個項目:quine-relay,點進去看是這樣一個程序:一開始是一段Ruby代碼,運行後生成Scala代碼,後者運行後生成Scheme代碼,如此執行,依次生成了Bash、Smalltalk、Tcl等代碼,最後又回到最初的Ruby代碼。這類程序有個名字,叫ouroborus programs。Ouroborus即銜尾蛇,是一條正在吞食自己尾巴的蛇,在這裏剛好表示循環的概念。
![]()
Secuinside是韓國人辦的信息安全比賽,在ctftime.org上排名很靠前。這次應該算是我第二次參加類似的比賽,不過這類做題形式的還是頭一次。
Deterministic acyclic finite state automaton,也叫directed acyclic word graph(DAWG),是一個識別若幹字串的無環DFA。識別若干字串的所有DAWG中,存在唯一一個狀態數最少的DAWG,稱作minimal DAWG,即識別這個字串集的DFA。
DAWG在有些文獻中也指識別一個字串的所有後綴的自動機,這種用法有個更常見的名稱:suffix automaton,此時該自動機可以看做是字串所有後綴的DAWG。
三天前王康提議開學前的週末搞個活動,之後敲定由Cheer Xiao、heroxbd、Aron Xu和我做演講。得到消息很詫異,因爲以上幾位都有豐富的系統管理經驗,我就不知道能幹什麼了……但畢竟被逼上梁山了,最後Cheer Xiao讓我講Haskell。
近似字符串匹配問題。
在metric space中衡量兩個字符串差異程度的一個指標,即通過一系列單字符的編輯操作把字符串A變成字符串B所需的最小編輯次數,其中的編輯操作可以是插入字符、刪除字符以及修改字符。
計算編輯距離有個經典的Wagner-Fischer算法,使用了動態規劃,用d(i,j)表示把字符串A的前i個字符變成字符串B的前j個字符所需的最小編輯次數(即子串的編輯距離)。
這些都是false value:None, False,
0, [], {},
''。判斷empty的應用場景可能多些,如果像Ruby那樣只讓nil和false爲false就好了。
傳統的構建系統如Make,用戶指定項目中所有目標文件(非源文件)的產生方式,儲存在makefile文件中。
考慮如下的僞makefile:
1 | main: a.o b.o |
RuCTFE 是一個面向全世界的信息安全比賽,每個隊伍保護自己的機器,攻擊其他隊伍的機器,長達8個小時緊張激烈的對抗和賽前犒賞隊員的火鍋標誌着它是這一年我參與的最有意義的事之一,因而在這裏簡要記錄下來。有幸收到《Metasploit滲透測試指南》的譯者孫松柏的邀請,成爲 blue-lotus 隊的一員,和網絡安全實驗室的同學一起出發,晚上一羣人去吃牡丹園的海底撈火鍋壯行。
Hacker News最近有篇文章How to create a private npm.js repository,看完後打算給http://mirror.tuna.tsinghua.edu.cn/搭個源。
sudo aptitude install couchdbsudo vim /etc/couchdb/local.ini修改admin密碼sudo install -d -o couchdb -g couchdb /var/run/couchdb