Skip to content

Instantly share code, notes, and snippets.


Jihchi Lee jihchi

View GitHub Profile
curl -sSL | sudo bash
AsyncData represents the state of data that is being loaded asynchronously.
This type does not represent failures by default, but it can by using Belt.Result.t as your 'a type.
The reason for this is that not all async data loading mechanisms will necessarily fail.
The other interesting bit is that `Reloading` can be used if you already have data (e.g. an Ok or Error Result),
but you need to reload the data to get a new Result.
// source:
module Async = {
type t('a) = Js.Promise.t('a);
let try_ = (promise, continuation) => Js.Promise.catch(continuation, promise);
let let_ = (promise, continuation) =>
Js.Promise.then_(continuation, promise);
let resolve = Js.Promise.resolve;
let reject = Js.Promise.reject;
let map = (promise, fn) => Js.Promise.then_(v => Js.Promise.resolve(fn(v)), promise);
jihchi /
Last active Feb 8, 2020
Wordaround -- Allow data-* in DOM elements -- data-test-id for example -- Reason React
let make = (~id: string, ~children) =>
ReasonReact.cloneElement(children, ~props={"data-test-id": id}, [||]);
jihchi /
Created Nov 28, 2017
Compiling vim on Ubuntu 16 with LUA-support
# Remove previous installations
sudo apt-get remove vim vim-runtime vim-tiny vim-common
# Install dependencies
sudo apt-get install libncurses5-dev python-dev libperl-dev ruby-dev liblua5.2-dev
# Fix liblua paths
sudo ln -s /usr/include/lua5.2 /usr/include/lua
sudo ln -s /usr/lib/x86_64-linux-gnu/ /usr/local/lib/

Keybase proof

I hereby claim:

  • I am jihchi on github.
  • I am jihchi ( on keybase.
  • I have a public key ASDFHIEKvXoeDQ-t-apVDPO7quWLWAQ5XuemgoZsgN9Powo

To claim this, I am signing this object:

jihchi /
Last active Sep 7, 2016
Elm with Sublimt Text 3

Elm Language Support

  1. Install Elm Language Support


  1. npm install -g elm-oracle


  1. Install elm-format
  2. To enable automatic formatting on every save, Go to Preferences -> Package Settings -> Elm Language Support -> User and add this setting: "elm_format_on_save": true
jihchi /
Last active Feb 28, 2018
Add new deployment key to BitBucket via API
#!/usr/bin/env bash
set -e
# Method 1. Authenticate by your account & password
jihchi /
Last active May 27, 2016
Docker Engine Installation Script for Ubuntu 14.04 (LTS)
sudo apt-key adv --keyserver hkp:// --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo touch /etc/apt/sources.list.d/docker.list
sudo sh -c 'echo "deb ubuntu-trusty main" >> /etc/apt/sources.list.d/docker.list'
sudo apt-get update
sudo apt-get install -y docker-engine
sudo service docker start
sudo usermod -aG docker $(whoami)