Skip to content

Instantly share code, notes, and snippets.

View kokumura's full-sized avatar

Kosuke Okumura kokumura

View GitHub Profile
@kokumura
kokumura / amazon-calc.js
Last active October 10, 2015 16:51 — forked from koyopro/amazon-calc.js
Amazonで一年間に使った金額と、注文履歴のTSVを出力するブックマークレット【2015年版】
// Amazonの注文履歴をTSV形式で出力するスクリプト
//
// 2015-01-01 時点での DOM 構造に対応, GoogleCrome, Opera でテスト済。
// formatEntry関数を書き換えれば自由な書式で出力できます。
//
// 参考:
// - Amazonの注文履歴をCSV形式にして出力するスクリプト
// https://gist.github.com/arcatdmz/8500521
// - Amazon で使った金額の合計を出す奴 (2014 年バージョン)
// https://gist.github.com/polamjag/866a8af775c44b3c1a6d
@kokumura
kokumura / UnsafeLambdaUtil.java
Created October 29, 2015 07:34
Java8のラムダ式でチェック例外を投げられないのを何とかするやつ
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
final public class UnsafeLambdaUtil {
private UnsafeLambdaUtil(){}
public static class ExceptionWrapper extends RuntimeException {
private static final long serialVersionUID = 1L;
@kokumura
kokumura / Throttle.java
Created October 29, 2015 07:55
実行頻度リミッター
public class Throttle {
protected final int maxHistorySize = 10;
protected final double timeEpsilon = 1d/(1000 * 1000);
protected double maxThrottlePerSec = 1d;
protected LinkedList<Double> history = new LinkedList<>();
public Throttle(double maxThrottle){
this.maxThrottlePerSec = maxThrottle;
@kokumura
kokumura / jj2.py
Last active December 3, 2015 08:46
Command line Jinja2 renderer
#!/usr/bin/env python
# -*- coding:utf8 -*-
import sys, optparse
import jinja2
def main(args, params):
encoding = params.encoding
tpl = jinja2.Template(sys.stdin.read().decode(encoding))
param = dict()
ex_args = list()
@kokumura
kokumura / xljj.py
Last active March 18, 2021 11:33
xlsxファイルの各セルにjinja2テンプレートを適用するやつ
#!/usr/bin/env python
# -*- coding:utf8 -*-
import optparse
import sys
from contextlib import closing
import yaml
import jinja2
from openpyxl import load_workbook
@kokumura
kokumura / gist:76455b2511e18ce9237a
Created February 10, 2016 06:58
テンションが上がるワンライナー
ls | perl -pe 's/([aiueo])/\1\1\1/ig;s/$/!!!/'
# -*- coding: utf-8 -*-
import scipy.sparse as sps
import numpy as np
from StringIO import StringIO
def _np_savez(compressed=False, *args, **kwds):
sio = StringIO()
if compressed:
np.savez_compressed(sio, *args, **kwds)
else:
@kokumura
kokumura / sqlite-ex.py
Created April 22, 2016 04:22
SQLiteにPythonでUDFを追加するやつ
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sqlite3
import numpy as np
class Median:
def __init__(self):
self.values = []
def step(self, value):
self.values.append(value)
@kokumura
kokumura / tty-exec.py
Last active June 1, 2016 04:50
tty-exec.py
#!/usr/bin/env python
import subprocess, pty, os, sys
def _safe_read(m):
try:
return os.fdopen(m,"r").read()
except IOError:
return ''
sout_m, sout_s = pty.openpty()
#include <stdlib.h>
#include <unistd.h>
void main(){
while(malloc(100*1024*1024));
while(1)sleep(60);
}