Skip to content

Instantly share code, notes, and snippets.

@jinhwanlazy
jinhwanlazy / filter_algospot.py
Last active August 29, 2015 14:23
filter problems solved with python but not by me from algospot.com
import requests
from bs4 import BeautifulSoup as bs
from itertools import chain, filterfalse
langs = {'python': ['(py)', '(pypy)', '(py3)'],
'ruby': ['(rb)']}
def get_pids(maxpage=17):
@jinhwanlazy
jinhwanlazy / SMQT.py
Created March 15, 2016 12:06
Successive Mean Quantization Transtform. Straightforward recursive implementation.
def SMQT(data, level):
ret = [0] * len(data)
def MQU(idx, depth):
if depth == 0 or not idx:
return
mean = sum(data[i] for i in idx) / len(idx)
D0, D1 = [], []
for i in idx:
(D0 if data[i] <= mean else D1).append(i)
@jinhwanlazy
jinhwanlazy / keyboard.jscad
Last active August 10, 2016 09:41
3d printable mechanical keyboard, powered by openascad. still work in progress.
layout = [
["","","","","","","","","","","","","","",""],
[{w:1.5},"","","","","","","","","","","","","",{w:1.5},""],
[{w:1.75},"","","","","","","","","","","","",{w:2.25},""],
[{w:2.25},"","","","","","","","","","","",{w:1.75},"",""],
[{x:1.5},"",{w:1.5},"",{w:6},"",{w:1.5},"",""]
];
split_pos = [
[5, 4.5, 4.75, 4.25, 4.75],
@jinhwanlazy
jinhwanlazy / tmux-ambiguous-width-cjk.patch
Created September 17, 2016 18:00 — forked from waltarix/tmux-do-not-combine-utf8.patch
tmux: Fix a problems with displaying Ambiguous-width, Japanese Dakuten and Handakuten signs.
diff --git a/utf8.c b/utf8.c
index ad99edc..0d803d3 100644
--- a/utf8.c
+++ b/utf8.c
@@ -343,7 +343,200 @@ static struct utf8_width_entry utf8_width_table[] = {
{ 0xe0100, 0xe01ef, 0, NULL, NULL },
{ 0x100000, 0x10fffd, 0, NULL, NULL },
};
+
+/* Sorted, generated by 'uniset +WIDTH-A +WIDTH-F +WIDTH-W -cat=Me -cat=Mn -cat=Cf c'
@jinhwanlazy
jinhwanlazy / gist:e80e934445d4a2e4a95552b2f2efce5a
Created December 26, 2016 18:04
입력모드에서 빠져나올 때 입력기를 자동으로 영어로 바꿈.
" auto reset input method
function! g:SetImeToEnglish()
let s:current_input_method = system("ibus engine")
if s:current_input_method !~ "xkb:us::eng"
let s:ret = system("ibus engine xkb:us::eng")
endif
endfunction
let s:ibus_version = system("ibus version")
if s:ibus_version =~ "IBus 1.5"
@jinhwanlazy
jinhwanlazy / race_plot.py
Last active February 15, 2017 05:20
typeracer data plotter
"""
Plots race TypeRacer history.
Make sure you have permission to read the file
usage:
$ python3 race_plot.py race_data.csv [day, week, month or year]
"""
import sys
import matplotlib.pyplot as plt
import pandas as pd
@jinhwanlazy
jinhwanlazy / spiral_gcode.py
Created February 24, 2017 20:30
The very basic spiral toolpath generator
from mecode import GMatrix
import numpy as np
e = 0.00001
inch = 25.4
unit = 19.05
feedrate = 200
tool_diameter = 1
overlap = 0.5
@jinhwanlazy
jinhwanlazy / gist:681e579e01aa2663b2920e3e4456f26f
Created March 5, 2017 11:51
barebone makefile for openscad
BUILDDIR = build
SRCDIR = src
OPENSCAD:=$(shell type -p openscad || echo /Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD)
VPATH = $(SRCDIR):$(BUILDDIR)
STL_TARGETS = $(patsubst $(SRCDIR)/%.scad,$(BUILDDIR)/%.stl,$(wildcard $(SRCDIR)/*.scad))
.PHONY: all clean
import sys
import matplotlib.pyplot as plt
import pandas as pd
from matplotlib import cm
from datetime import datetime, timezone, timedelta
plt.style.use('ggplot')
ticks_format = {
'day': '%b, %-d',
'week': '%b, %-d',
'month': '%b',
@jinhwanlazy
jinhwanlazy / poloniex_crawler.py
Last active April 12, 2018 00:56
collect trade history from poloniex exchange
import httplib2
import pandas as pd
import simplejson as json
from datetime import datetime
from datetime import timedelta
def get_trade_history_(currency_pair='USDT_BTC', start=1494000000, end=1600000000):
"""
Simply query trade history in given range