Skip to content

Instantly share code, notes, and snippets.

🦋
Wandering

Hugo Wang mitnk

🦋
Wandering
Block or report user

Report or block mitnk

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@mitnk
mitnk / main.rs
Created Dec 22, 2018
Lifetime with Thread (Mutex, Arc) in Rust
View main.rs
// Thanks: https://stackoverflow.com/a/53894298/665869
use std::collections::HashMap;
use std::sync::{Arc, Mutex};
use std::thread;
type Map = HashMap<String, String>;
fn handle_n_times(count: i32, arc_map: Arc<Mutex<Map>>) {
for i in 0..count {
let clone_arc = arc_map.clone();
@mitnk
mitnk / history_couchdb.py
Last active Feb 11, 2017
xonsh history backend with couchdb
View history_couchdb.py
"""
xonsh history backend with couchdb.
Copy this file to "~/.xonsh/history_couchdb.py" and put the following
into your "~/.xonshrc" file.
import os.path
import sys
xonsh_ext_dir = os.path.expanduser('~/.xonsh')
if os.path.isdir(xonsh_ext_dir):
@mitnk
mitnk / migrate.py
Last active Jan 24, 2017
xonsh migrate history items
View migrate.py
from xonsh.history.json import JsonHistory
from xonsh.history.sqlite import SqliteHistory
hist_json = JsonHistory(gc=False)
# if you want to have a check first
print('have {} json items'.format(len(list(hist_json.all_items())))) # may very slow here
hist_db = SqliteHistory(gc=False)
for item in hist_json.all_items():
@mitnk
mitnk / dbg.h
Last active Aug 29, 2015
A C logger header
View dbg.h
// via: http://c.learncodethehardway.org/book/ex20.html
#ifndef __dbg_h__
#define __dbg_h__
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <time.h>
@mitnk
mitnk / simplify_dict_cn_scb.js
Created Aug 12, 2014
Simplify dict cn 的生词本
View simplify_dict_cn_scb.js
// ==UserScript==
// @name Simplify Dict.cn
// @namespace http://mitnk.com
// @version 0.1
// @description Simplify dict cn 的生词本
// @match http://scb.dict.cn/card.php*
// @copyright 2014+, mitnk
// for tampermonkey on Chrome.
// ==/UserScript==
@mitnk
mitnk / tailf_least_postgresql_log.sh
Last active Aug 29, 2015
Tailf lastest PostgreSQL Log
View tailf_least_postgresql_log.sh
path=`ps ax | grep -i 'postmaster' | grep -o '\-D\(/Library/Post.*\)' | awk -F D '{print $NF}'`
log_dir="${path}/pg_log"
log_name=`sudo ls -1t ${log_dir} | head -n1`
log_file="${log_dir}/${log_name}"
echo ""
echo "=========== $log_file =========="
echo ""
sudo tail -f "$log_file"
@mitnk
mitnk / install_grep.sh
Created May 12, 2014
Install lastest GNU grep
View install_grep.sh
mkdir -p tmp_dir_to_install_grep
cd tmp_dir_to_install_grep
wget https://ftp.gnu.org/gnu/grep/grep-2.18.tar.xz
tar xf grep-2.18.tar.xz
cd grep-2.18/
./configure && make && sudo make install
@mitnk
mitnk / download_pycon_2013_videos.py
Last active Dec 15, 2015
Download all Pycon 2013 Video
View download_pycon_2013_videos.py
from urllib2 import urlopen
from subprocess import Popen, PIPE
from bs4 import BeautifulSoup
page = urlopen('http://pyvideo.org/category/33/pycon-us-2013')
soup = BeautifulSoup(page)
video_url_list = []
count = 0
@mitnk
mitnk / pptp_64.sh
Created Jan 4, 2013
Install PPTP VPN on Amazon EC2 (test)
View pptp_64.sh
yum remove -y pptpd ppp
iptables --flush POSTROUTING --table nat
iptables --flush FORWARD
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp
wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm
wget http://poptop.sourceforge.net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
wget ftp://ftp.muug.mb.ca/mirror/centos/6.3/os/x86_64/Packages/ppp-2.4.5-5.el6.x86_64.rpm
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.x86_64.rpm
@mitnk
mitnk / six_animals.py
Created Dec 23, 2012
有豹子,老虎,狮子,都一大一小,三个大的和小老虎都会划船,其他两个 不会划,每次只能过两个,大吃小(没有大的在保护就被吃掉). 这2个动物怎样才能过河? P.S. 算法还不完美,输出了多余的东东。
View six_animals.py
#encoding=utf8
"""
有豹子,老虎,狮子,都一大一小,三个大的和小老虎都会划船,其他两个
不会划,每次只能过两个,大吃小(没有大的在保护就被吃掉).
这2个动物怎样才能过河?
"""
from itertools import combinations
def is_bad(L):
You can’t perform that action at this time.