Skip to content

Instantly share code, notes, and snippets.

limingjie /
Last active Jan 2, 2020
Run Inscape (0.92) on macOS Mojave (10.14.6)

Run Inkscape (0.92) on macOS Mojave (10.14.6)

Install Inkscape

brew cask install xquartz inkscape

Run Inkscape

limingjie / keymap.c
Last active Aug 31, 2018
Custom Keyboard XD60 - Use RGB Underglow to Indicate Caps Lock and Layers
View keymap.c
// Helpful Defines
#define _______ KC_TRNS
#define FN_CAPS LT(1, KC_CAPS)
// Mac Keyboard Shorts
echo "Installing Homebrew and Cask..."
/usr/bin/ruby -e "$(curl -fsSL"
install brew-cask
echo "Upgrading bash..."
brew install bash
brew install bash-completion
echo "Installing CLI Tools..."
brew install asciiquarium
limingjie /
Last active May 12, 2019
Golang Development Environment - Windows

Golang Development Environment - Windows

  1. Install golang.
  • Set env var GOROOT = C:\Go.
  • Set env var GOPATH = C:\GoPath.
  • Append C:\Go\bin to env var PATH.
  1. Install gitbash.
  2. Install vscode.
  • Install vscode extension Go (by lukehoban).
  • Set GOROOT and GOPATH in vscode user settings.
limingjie / TestRandomGenerator.cpp
Last active Aug 23, 2016
Test Random Generator
View TestRandomGenerator.cpp
#include <iostream>
#include <random>
#include <map>
#include <chrono>
int main()
// Random Device
std::random_device rd;
limingjie / The Go Programming Language Exercise 1.4
Last active Jan 20, 2021
The Go Programming Language Exercise 1.4
View The Go Programming Language Exercise 1.4
$ ./dup dup*.txt
[Found in 1 file(s)] yyy
5 hit(s) in dup4.txt
[Found in 2 file(s)] aaa
5 hit(s) in dup1.txt
1 hit(s) in dup2.txt
[Found in 3 file(s)] ccc
1 hit(s) in dup3.txt
1 hit(s) in dup1.txt
1 hit(s) in dup2.txt
View console.txt
$ g++ -Wall -O2 -std=c++11 -o regex_test_perf regex_test_perf.cpp stopwatch.hpp
$ ./regex_test_perf.exe
[regex e1 ] resume...
[regex e1 ] paused. 0m00.306s / 306.031 x 1/1000s
[regex e2 ] resume...
[regex e2 ] paused. 0m00.144s / 144.014 x 1/1000s
[string find ] resume...
[string find ] paused. 0m00.014s / 14.001 x 1/1000s
[regex e1 ] resume...
limingjie /
Created Jun 2, 2015
Build MuPDF on Archlinux
$ uname -a
Linux ArchLinux_MJ 4.0.4-2-ARCH #1 SMP PREEMPT Fri May 22 03:05:23 UTC 2015 x86_64 GNU/Linux
$ pwd
$ sudo make build=release
$ sudo make build=release install                                                                                                                        2 ↵
    CC build/release/pdf/pdf-cmap-table.o
    RM build/release/libmupdf.a
limingjie /
Last active Jan 17, 2016
Install Gnome/Xfce4 on Archlinux (VMware)

###Install X Server

$ sudo pacman -S xorg-server

###Install VMware Drivers

$ sudo pacman -S open-vm-tools xf86-video-vmware xf86-input-vmmouse

The introduction to Reactive Programming you've been missing

(by @andrestaltz)

So you're curious in learning this new thing called Reactive Programming, particularly its variant comprising of Rx, Bacon.js, RAC, and others.

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.