Posts

  • 26th May 2013

SECUINSIDE CTF Quals 2013杂记

Secuinside CTF Quals 2013

Secuinside是韩国人办的信息安全比赛,在ctftime.org上排名很靠前。这次应该算是我第二次参加类似的比赛,不过这类做题形式的还是头一次。

…

Read more →
  • 10th May 2013

String index structure: suffix automaton

Suffix automaton

Deterministic acyclic finite state automaton,也叫directed acyclic word graph(DAWG),是一个识别若干字串的无环DFA。识别若干字串的所有DAWG中,存在唯一一个状态数最少的DAWG,称作minimal DAWG,即识别这个字串集的DFA。

DAWG在有些文献中也指识别一个字串的所有后缀的自动机,这种用法有个更常见的名称:suffix automaton,此时该自动机可以看做是字串所有后缀的DAWG。

…

Read more →
  • 24th February 2013

TUNA技术沙龙及A Pretty Printer Library in Haskell

技术沙龙准备

三天前王康提议开学前的周末搞个活动,之后敲定由Cheer Xiao、heroxbd、Aron Xu和我做演讲。得到消息很诧异,因为以上几位都有丰富的系统管理经验,我就不知道能干什么了……但毕竟被逼上梁山了,最后Cheer Xiao让我讲Haskell。

…

Read more →
  • 21st February 2013

使用Double-array trie优化Proxy auto-config

Proxy auto-config

浏览器的proxy auto-config让我们可以根据URL和host决定使用什么代理。

…

Read more →
  • 10th February 2013

使用Burkhard-Keller tree优化近似串匹配

Approximate string matching

近似字符串匹配问题。

Levenshtein edit distance

在metric space中衡量两个字符串差异程度的一个指标,即通过一系列单字符的编辑操作把字符串A变成字符串B所需的最小编辑次数,其中的编辑操作可以是插入字符、删除字符以及修改字符。

计算编辑距离有个经典的Wagner-Fischer算法,使用了动态规划,用d(i,j)表示把字符串A的前i个字符变成字符串B的前j个字符所需的最小编辑次数(即子串的编辑距离)。

…

Read more →
  • 26th December 2012

Python is ugly

Python很多地方设计的很丑陋,比如false values,浪费single quotes,one-expression lambda等

Read more →
  • 9th December 2012

异于Make的另一种构建系统

不同于传统构建系统(如Make)的系统,很多源文件修改场合下时间复杂度低于线性

Read more →
  • 25th November 2012

RuCTFE 2012参赛记

作为blue-lotus的一员参加RuCTFE 2012的经历和感想

Read more →
  • 21st November 2012

建立清华大学Node Packaged Modules镜像

缘由

Hacker News最近有篇文章How to create a private npm.js repository,看完后打算给http://mirror.tuna.tsinghua.edu.cn/搭个源。

搭建

  • sudo aptitude install couchdb
  • sudo vim /etc/couchdb/local.ini修改admin密码
  • sudo install -d -o couchdb -g couchdb /var/run/couchdb
…

Read more →
  • 18th November 2012

智能体大赛与平台开发

我和刘啸宇在青少年开发者大会上作的演讲

Read more →