Skip to content

Instantly share code, notes, and snippets.

View evansb's full-sized avatar

Evan Sebastian evansb

  • Singapore
View GitHub Profile
@evansb
evansb / bundles.vim
Last active August 29, 2015 14:10
bundles
" Here come the bundles
Bundle 'gmarik/vundle'
Bundle 'Valloric/YouCompleteMe'
Bundle 'Lokaltog/powerline-fonts'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'MarcWeber/vim-addon-mw-utils'
Bundle 'Raimondi/delimitMate'
Bundle 'bling/vim-airline'
Bundle 'bling/vim-bufferline'
@evansb
evansb / memoize.hs
Last active August 29, 2015 14:12
Memoization hack in Haskell, using unsafe IO operation.
module Memoize (memoize) where
import Debug.Trace
import Data.Hashable
import System.IO.Unsafe
import qualified Data.HashTable.IO as H
type HashTable k v = H.CuckooHashTable k v
@evansb
evansb / BST.ml
Created January 1, 2015 17:17
Binary Search Tree in OCAML
open Core.Std
module type COMPARABLE = sig
type t
val compare : t -> t -> int
end
module type NODE = sig
type 'a t
Conventions: When I specify "simple" as result it means simply return all json of format { table_field_name: table_field_value }
GET /achievements
Table: achievements
Return list of all achievements.
GET /annotations/:code_id
Table: annotate
module.exports = React.createClass
mixins: [UITheme]
getInitialState: ->
items: []
isInfiniteLoading: false
filter: null
firstTimeFetch: true
hasNoMore: false
componentWillMount: ->
FilterStore.listen (filter) =>
@evansb
evansb / Makefile
Created July 1, 2014 14:24
CP stuff
TARGET=TARGET_NAME
CC=clang++
CFLAG=-Wall -O3 -g -DNDEBUG
SRC=$(shell find . -name *.cpp)
OBJ=${SRC:.cpp=.o}
all: $(OBJ)
./$(TARGET) $(TARGET).input $(TARGET).output
diff $(TARGET).output $(TARGET).model
@evansb
evansb / .vimrc
Last active December 22, 2015 08:49
My .vimrc
set nocompatible
filetype off
if has("gui_running")
set guifont=Source\ Code\ Pro\ for\ Powerline:h12
set linespace=3
endif
set rtp+=~/.vim/bundle/vundle

Keybase proof

I hereby claim:

  • I am evansb on github.
  • I am evansb (https://keybase.io/evansb) on keybase.
  • I have a public key whose fingerprint is E018 7B67 E241 2D5D 693C 6F72 6214 1251 AB9D F1E4

To claim this, I am signing this object:

@evansb
evansb / avl.hs
Last active March 26, 2017 16:33
Purely Functional AVL Tree
module AVLZipper (singleton, empty , fromList , maximum , minimum) where
import Prelude hiding (minimum, maximum)
import Control.Applicative hiding (empty)
import Control.Monad
import Control.Monad.Trans.State
import Control.Monad.Trans.Identity
import Debug.Trace
type DataProvider<TKey extends string, TData> = {
getData(): TData
}
type ProvidedData<K1 extends string, T1> = { [key in K1]: T1 }
function getDataFromProviders<K1 extends string, T1>(p1: DataProvider<K1, T1>): ProvidedData<K1, T1>
function getDataFromProviders<K1 extends string, T1, K2 extends string, T2>(p1: DataProvider<K1, T1>, p2: DataProvider<K2, T2>): ProvidedData<K1, T1> & ProvidedData<K2, T2>
function getDataFromProviders(...providers: DataProvider<any, any>[]): {[name: string]: any } {