Skip to content

Instantly share code, notes, and snippets.

@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
@jinhwanlazy
jinhwanlazy / bos_ico_distribution.py
Last active November 22, 2017 10:32
bos_distribution.py
import json
import signal
from operator import itemgetter
from decimal import Decimal
from boscoin_base.address import Address
def handle_timeout(signum, frame):
raise
if __name__ == "__main__":
@jinhwanlazy
jinhwanlazy / bos_profit.py
Last active September 6, 2017 16:20
Boscoin rewards calculator
"""
Calculates expected number of rewards by operating a BOScoin node.
Note that this is speculation, since we don't know how many frozen units/nodes
will be until genesis. Also note that this script is not applying increasing
number of total supply. However, roughly saying, rewards will not be changed
while every node operators, frozen coin holders try to reinvest all their rewards.
Becasue rewards are distributed by shares.
"""
class RewardCalculator:
def __init__(self, initial_rewards, decrease_rate, decrease_cycle, end):
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 / 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
@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 / 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 / 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 / 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 / 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],