Skip to content

Instantly share code, notes, and snippets.

View cnosuke's full-sized avatar

cnosuke cnosuke

  • STADIUM Co., Ltd.
  • Tokyo, Japan
  • X @cnosuke
View GitHub Profile
@cnosuke
cnosuke / create_k8s_client_cert.rb
Created May 25, 2018 09:56
Script to create kubernetes client certification
#!/usr/bin/env ruby
require 'json'
require 'base64'
require 'tempfile'
def request_json(cn)
{
"CN" => cn,
"key" => {
WEATHER_API = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'.freeze
require 'json'
require 'open-uri'
module Filter
class WeatherBot
def update(p)
return nil unless p['text'] =~ /^\:weather/
{
username: "Weather",
text: forecast
@cnosuke
cnosuke / Rakefile
Last active August 29, 2015 13:56
論文をLaTeXでパパーンと書き出すためのRakefile
file = ENV['file']
out_dir = ENV['out_dir'] || './out'
time_format = ENV['time_format'] || "%Y-%m-%d_%H-%M-%S"
task :platex do
cmd = "platex #{file}.tex"
abort unless system(cmd)
end
task :dvipdfmx do
@cnosuke
cnosuke / builder.rb
Created February 16, 2014 18:53
TeXで原稿書いててファイルの更新検知してPDFに整形して欲しくてさっと書いた。そのうちもうちょっとマトモにする(意識が高まれば)
def timestamps
Dir::glob("**/*").map{|f| File::mtime(f)}.join
end
def do_cmd
open("|platex paper_all.tex && dvipdfmx paper_all.dvi")
end
t_ = ''
loop do
Pry.config.prompt = [
proc {|target_self, nest_level, pry|
nested = (nest_level.zero?) ? '' : ":#{nest_level}"
"[#{pry.input_array.size}] #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}(#{Pry.view_clip(target_self)})#{nested}> "
},
proc {|target_self, nest_level, pry|
nested = (nest_level.zero?) ? '' : ":#{nest_level}"
"[#{pry.input_array.size}] #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}(#{Pry.view_clip(target_self)})#{nested}* "
}
]
@cnosuke
cnosuke / gist:7299542
Last active December 27, 2015 08:49
bitcasaにHTTP/HTTPSで任意のファイルをぶっ込む。 例はhttp://lab.cnosuke.com/example.pngをダウンロードさせている。 URLencodedな形でURLを指定して、sessionid=に自分のセッションIDをぶっ込めばOK。 セッションIDはmy.bitcasa.comにログインして調べる。
curl 'https://my.bitcasa.com/uploader/download-to-bitcasa' \
-X POST \
-d 'file=http%3A%2F%2Flab.cnosuke.com%2Fexample.png&cookies=%5B%5D'\
-H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8"\
-H "X_REQUESTED_WITH: XMLHttpRequest" --cookie "sessionid=YOUR_SESSION_ID";
require 'benchmark'
require 'msgpack'
require 'redis'
require 'json'
r = Redis.new
h = { a: 'hoge', b: 100, c: true }
n = 50000
r.flushdb
@cnosuke
cnosuke / gist:6896318
Created October 9, 2013 04:43
Object#try and NilClass#try
class Object
def try(*a, &b)
if a.empty? && block_given?
yield self
else
public_send(*a, &b) if respond_to?(a.first)
end
end
end
@cnosuke
cnosuke / ecard.rb
Last active December 19, 2015 10:29
ECARD from KAIJI
require 'pry'
module ECard
class Game
attr_reader :players
def initialize
@players = [ Player.new(:emperor), Player.new(:slave) ]
end
@cnosuke
cnosuke / radiko_recorder.sh
Created April 9, 2013 08:03
script for recoding radiko.jp
#!/bin/sh
OUTFILEPREFIX=$1
RECTIMEMIN=$2
CHANNEL=$3
FFMPEG=/usr/bin/ffmpeg
FFMPEGOPT="-acodec libmp3lame -ab 64kb -ac 1 -ar 44100"
OUTFILEBASEPATH=/home/cnosuke/radiko/data
FLVFILEEXT=".flv"
MP3FILEEXT=".mp3"