Skip to content

Instantly share code, notes, and snippets.

View erain's full-sized avatar

Yu YI erain

View GitHub Profile

The introduction to Reactive Programming you've been missing

(by @andrestaltz)

So you're curious in learning this new thing called (Functional) Reactive Programming (FRP).

Learning it is hard, even harder by the lack of good material. When I started, I tried looking for tutorials. I found only a handful of practical guides, but they just scratched the surface and never tackled the challenge of building the whole architecture around it. Library documentations often don't help when you're trying to understand some function. I mean, honestly, look at this:

Rx.Observable.prototype.flatMapLatest(selector, [thisArg])

Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.

package main
import (
"net/http"
"database/sql"
"fmt"
"log"
"os"
)
@erain
erain / go-lang.el
Last active August 29, 2015 14:03 — forked from samertm/.emacs
;; http://youtu.be/h8bsJV0-2qs
;; get the following packages:
;; go-mode
;; go-eldoc
;; company-mode
;; company-go
;; get the following go programs (run each line in your shell):
;; go get code.google.com/p/go.tools/cmd/goimports
;; go get code.google.com/p/rog-go/exp/cmd/godef
;; go get github.com/nsf/gocode
@erain
erain / tree.md
Created April 24, 2012 02:15 — forked from hrldcpr/tree.md
one-line tree in python

One-line Tree in Python

Using Python's built-in defaultdict we can easily define a tree data structure:

def tree(): return defaultdict(tree)

That's it!

@erain
erain / script.md
Last active October 6, 2015 01:07 — forked from torgeir/install_redis_on_ubuntu.md
Redis 2.4.8 Install on Ubuntu 10.04

Installation commands:

$ wget http://redis.googlecode.com/files/redis-2.6.7.tar.gz
$ tar xvfz redis-2.6.7.tar.gz 
$ cd redis-2.6.7/
$ sudo mkdir -p /opt/redis
$ sudo make PREFIX=/opt/redis install
$ sudo cp redis.conf /opt/redis/redis.conf
$ cd /opt/redis
@erain
erain / gist:3857375
Created October 9, 2012 08:34 — forked from mikeyk/gist:1329319
Testing storage of millions of keys in Redis
#! /usr/bin/env python
import redis
import random
import pylibmc
import sys
r = redis.Redis(host = 'localhost', port = 6389)
mc = pylibmc.Client(['localhost:11222'])
@erain
erain / openresty.md
Last active December 23, 2015 10:19
Install OpenResty in Ubuntu 12.04

Install OpenResty in Ubuntu 12.04

Compile Options

When we compile OpenResty, we would like to have a "good enough" version so that every plugin in our project is installed.

./configure --prefix=/opt/openresty \
--conf-path=/etc/nginx/nginx.conf \
--with-luajit \
@erain
erain / test_coroutine.py
Created December 4, 2013 09:22
An example of Coroutine in Python.
def read_producer(text, coroutines):
for word in text.split():
for coroutine in coroutines:
coroutine.send(word)
for coroutine in coroutines:
coroutine.close()
def match_filter(pattern, next_coroutine):
print("Looking for {0}".format(pattern))
@erain
erain / iterm2-solarized.md
Created November 13, 2016 06:43 — forked from kevin-smets/iterm2-solarized.md
iTerm2 + Oh My Zsh + Solarized color scheme + Meslo powerline font (OS X / macOS)

Solarized

@erain
erain / setup.md
Last active January 3, 2017 18:44
Software Installation

Ubuntu Basic Setup

sudo apt-get install -y vim tmux build-essential zsh python-setuptools python-dev git curl python-software-properties software-properties-common

To setup oh-my-zsh

curl -L http://install.ohmyz.sh | sh
chsh -s $(which zsh)