Skip to content

Instantly share code, notes, and snippets.

View mitnk's full-sized avatar
🦋
Wandering

Hugo Wang mitnk

🦋
Wandering
View GitHub Profile
@mitnk
mitnk / main.rs
Created December 22, 2018 09:41
Lifetime with Thread (Mutex, Arc) in Rust
// 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 March 17, 2022 22:12
xonsh history backend with couchdb
"""
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 January 24, 2017 01:58
xonsh migrate history items
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 / download_pycon_2013_videos.py
Last active December 15, 2015 06:09
Download all Pycon 2013 Video
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 January 4, 2013 18:25
Install PPTP VPN on Amazon EC2 (test)
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 December 23, 2012 06:56
有豹子,老虎,狮子,都一大一小,三个大的和小老虎都会划船,其他两个 不会划,每次只能过两个,大吃小(没有大的在保护就被吃掉). 这2个动物怎样才能过河? P.S. 算法还不完美,输出了多余的东东。
#encoding=utf8
"""
有豹子,老虎,狮子,都一大一小,三个大的和小老虎都会划船,其他两个
不会划,每次只能过两个,大吃小(没有大的在保护就被吃掉).
这2个动物怎样才能过河?
"""
from itertools import combinations
def is_bad(L):
@mitnk
mitnk / image_smaller.py
Last active December 10, 2015 01:28
Small Images with PIL
from PIL import Image
import os
import subprocess
import sys
def smaller_images():
if len(sys.argv) != 3:
print "Usage: python image_smaller.py <Path> 0.X"
return
path = sys.argv[1]
@mitnk
mitnk / linked_list.c
Created November 21, 2012 12:49
A simple linked list
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node *next;
} Node;
Node *create_node(int n)
{
@mitnk
mitnk / shuffle_array.c
Created November 20, 2012 06:39
Shuffle Array Algorithm
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 10
void ShuffleArray_Fisher_Yates(char* arr, const int len)
{
int i = len, j;
char temp;
@mitnk
mitnk / redis.conf
Created September 20, 2012 06:58
Redis config
# https://github.com/antirez/redis/blob/unstable/redis.conf
# Redis configuration file example
# Note on units: when memory size is needed, it is possible to specify
# it in the usual form of 1k 5GB 4M and so forth:
#
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes