Skip to content

Instantly share code, notes, and snippets.

View MnO2's full-sized avatar

Paul Meng MnO2

View GitHub Profile
@MnO2
MnO2 / benchmarks_cedarwood_and_ahocorasick.md
Last active July 15, 2019 16:04
Benchmarks between cedarwood and aho-corasick

Background:

  • Revert a change on DiGraph representation to make the comparison to be apple to apple as much as possible to my knowledge.
  • For aho-corasick test case I removed the code for dynamic insertion feature in Jieba since aho-corasick doesn't support dynamic rebuilding of state graph, but it doesn't affect the code path used in benchmarks.

cedarwood:

Gnuplot not found, disabling plotting
jieba cut/no hmm        time:   [5.7790 us 5.7979 us 5.8200 us]
@MnO2
MnO2 / BYOHC-SG.md
Last active November 22, 2015 12:53
Haskell.SG Community Projects

Building Your Own Haskell Compiler (SHC: Singapore Haskell Compiler)

Goal

  • Learning by implementing it.
  • You have your own compiler to hack on.
  • Don't overly focus on performance and optimization, as long as it is correct.
  • Know Haskell compiler better.
  • Having a Haskell compiler grows from local.
data Foo a b = Foo a b
class Name f where
thyName :: f a b -> String
instance Name Foo where
thyName _ = "Foo"
main :: IO ()
@MnO2
MnO2 / gist:7298067
Created November 4, 2013 04:25
4096/59E52A9
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.15 (Darwin)
mQINBFJ3HloBEAC6kwUbgvzrbb2N31ZlMtNW+XJol2Gjf9hLB5FwkH4/mzKvAk4k
iIPhvkZGNRni1SYjOmRh+ZV5csdqqiNCXQY3Z1aFInvFy+XvFawb3uUkxjDt0Whc
4aG7h9xkEEDvX8ufBG2h5xV2JSqSUkk42p7Ch42Yhm6jPpHgS4sLgTTv8CJpzoSb
maO2EIaDJOMau9b3NlLr6DsDaAmwf8MEv9wO0OHWmfawHUqC7TBGdFR7sV27S8Wo
CUCY8DryUb6+n+1CIeQXSGB/sgrICOuorHPLwyxdvfghrb+vRuTSG7KOdBPkfvqL
dj4UareyZ1olBoruhkwNW/9pNaOUC+4hyoETx3hC8TwPFY73WJzVUIyQt7VcHtOQ
GhnvxkilvFhegMcUEyt8M/DHdgsi/obDOczZykYK30p7ox+dLrNjyq2TEWX60jUg
@MnO2
MnO2 / ssh-pubkey
Created October 29, 2013 04:24
My SSH pubkey
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9bXeVs8MOMpdb91T90ojpQZEGsdiw9lZ3oLMh6oafQsd59kZyxSbMw9fKqxB63Pnt/fpzafRCv9J8Cr+3iW4VkMPeQlw5bbUSHChO5R1IvqJbrJYl7001dWxp/1SXVbBgXuLk+kCJuez+nIjmzp8X9H/sLejoZ/i7xFaQcKatDjrl2fcg4bNxDuxOhiSbW2dt6BMfALTOM6hdE4m5KCUqeOyP8buxducZdUXL8Hfnb0t4ydyYWydSfJJcDVkwRzFxooAywRIqBHTLRGeto9ayGQednEyDEYDWhRQmYxOCrxa/uVZ5SLIq7+XJqXkC8hkmqzYjkH2be/zHN2ZBm+Jb mno2@MnO2s-MacBook-Air.local
@MnO2
MnO2 / gist:6551736
Created September 13, 2013 14:51
error logbot
22:46:53 web.1 | [Comet::App] #<TypeError: no implicit conversion of String into Integer> ["/home/mno2/Develop/Logbot/app.rb:106:in `[]'", "/home/mno2/Develop/Logbot/app.rb:106:in `block in extract'", "/home/mno2/Develop/Logbot/app.rb:106:in `select'", "/home/mno2/Develop/Logbot/app.rb:106:in `extract'", "/home/mno2/Develop/Logbot/app.rb:127:in `block (2 levels) in <class:App>'", "/home/mno2/Develop/Logbot/app.rb:119:in `loop'", "/home/mno2/Develop/Logbot/app.rb:119:in `block in <class:App>'", "/home/mno2/.rvm/gems/ruby-2.0.0-p247/gems/jellyfish-0.9.1/lib/jellyfish.rb:51:in `instance_exec'", "/home/mno2/.rvm/gems/ruby-2.0.0-p247/gems/jellyfish-0.9.1/lib/jellyfish.rb:51:in `block_call'", "/home/mno2/.rvm/gems/ruby-2.0.0-p247/gems/jellyfish-0.9.1/lib/jellyfish.rb:47:in `call'", "/home/mno2/.rvm/gems/ruby-2.0.0-p247/gems/jellyfish-0.9.1/lib/jellyfish.rb:178:in `block in call'", "/home/mno2/.rvm/gems/ruby-2.0.0-p247/gems/jellyfish-0.9.1/lib/jellyfish.rb:178:in `catch'", "/home/mno2/.rvm/gems/ruby-2.0.0-p247/ge
@MnO2
MnO2 / gist:6550273
Created September 13, 2013 12:51
jellyfish error
20:50:44 web.1 | 127.0.0.1 - - [13/Sep/2013 20:50:44] "GET / HTTP/1.0" 302 - 0.0004
20:50:44 web.1 | [IRC_Log::App] #<NameError: undefined local variable or method `__dir__' for #<IRC_Log::App::Controller:0x000000027e5610>> ["/home/mno2/Develop/Logbot/app.rb:32:in `views'", "/home/mno2/Develop/Logbot/app.rb:27:in `erb'", "/home/mno2/Develop/Logbot/app.rb:67:in `block in <class:App>'", "/home/mno2/.rvm/gems/ruby-1.9.3-p448@logbot/gems/jellyfish-0.9.1/lib/jellyfish.rb:51:in `instance_exec'", "/home/mno2/.rvm/gems/ruby-1.9.3-p448@logbot/gems/jellyfish-0.9.1/lib/jellyfish.rb:51:in `block_call'", "/home/mno2/.rvm/gems/ruby-1.9.3-p448@logbot/gems/jellyfish-0.9.1/lib/jellyfish.rb:47:in `call'", "/home/mno2/.rvm/gems/ruby-1.9.3-p448@logbot/gems/jellyfish-0.9.1/lib/jellyfish.rb:178:in `block in call'", "/home/mno2/.rvm/gems/ruby-1.9.3-p448@logbot/gems/jellyfish-0.9.1/lib/jellyfish.rb:178:in `catch'", "/home/mno2/.rvm/gems/ruby-1.9.3-p448@logbot/gems/jellyfish-0.9.1/lib/jellyfish.rb:178:in `call'", "/home/mno2/.r
@MnO2
MnO2 / failed_hello.hs
Created February 28, 2013 17:19
Failed URI Hello World
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Applicative
import Snap.Core
import Snap.Util.FileServe
import Snap.Http.Server
import Data.Text (Text)
import Data.Text.Encoding(encodeUtf8)
CREATE TABLE IF NOT EXISTS char_info (
serial INTEGER PRIMARY KEY,
charname TEXT NOT NULL,
hidden INTEGER NOT NULL DEFAULT 0,
tabled INTEGER NOT NULL DEFAULT 0,
display_uni TEXT NOT NULL DEFAULT '',
display_ids TEXT NOT NULL DEFAULT '',
display_pua TEXT NOT NULL DEFAULT '',
exact_cns TEXT,
exact_manualuni TEXT,
{-# LANGUAGE DeriveDataTypeable #-}
module Main where
import System.Console.CmdArgs.Implicit
import System.IO
import System.Environment
import System.Exit
import Data.Maybe