Skip to content

Instantly share code, notes, and snippets.

View tekei's full-sized avatar

Masanori Takeda tekei

  • Japan
View GitHub Profile
@tekei
tekei / check_global_ip.sh
Created May 6, 2015 10:41
グローバルIP変化監視。変化したらprowlに通知。
#!/bin/sh
IP_ADDR_FILE="/var/lib/jenkins/current_global_ip"
CURRENT_IP_ADDR=`curl --max-time 10 -s http://inet-ip.info/`
CURL_STATUS=$?
if [ ${CURL_STATUS} -ne 0 ]; then
echo "error HTTP response / connect NG"
exit 1
@tekei
tekei / get_power_on_vmid.sh
Created May 6, 2015 10:59
VMWare ESXi 5.5 : 起動中のVMIDを取得
#!/bin/sh
for mid in `vim-cmd vmsvc/getallvms | awk '{print $1}' | grep -v "Vmid"`
do
if [ "`vim-cmd vmsvc/power.getstate ${mid} | grep 'Powered'`" == "Powered on" ]; then
echo "power on : ${mid}"
fi
done
@tekei
tekei / gist:3224645
Created August 1, 2012 07:37
アウトラインプロセッサのファイル変換 (AUTRA -> Outliner)
# Windowsのアウトラインプロセッサ "あうとら"から
# androidのアウトラインプロセッサ "Outliner"へのファイル変換
#
# あうとらでは、「階層付きテキスト」としてエクスポート。
# Outlinerでは、「bonsai CSV (UTF-8)」としてインポート。
require "csv"
def write_page(w, l, t, b)
line = [t, 0, 1, (l - 1), 0, 2, 0, "", "", "", "", "Unfiled", "", "", b]
@tekei
tekei / gist:3224735
Created August 1, 2012 07:55
アウトラインプロセッサのファイル変換 (Outliner -> AUTRA)
# androidのアウトラインプロセッサ "Outliner"から
# Windowsのアウトラインプロセッサ "あうとら"へのファイル変換
#
# Outlinerでは、「bonsai CSV (UTF-8)」としてエクスポート。
# あうとらでは、インポートメニューから取り込み。
require "csv"
csv_file_name = ARGV[0]
unless csv_file_name =~ /\.csv$/
@tekei
tekei / gist:3290956
Created August 8, 2012 00:40
icloudに格納したメモ帳をテキストファイルとしてダウンロードする
# -*- coding: utf-8 -*-
# icloudに格納したメモ帳をテキストファイルとしてダウンロードする
# ファイル名は、[更新日付-タイトル.txt]
require 'mail'
require 'cgi'
account = '(ユーザ名)@me.com'
pass = '(パスワード)'
@tekei
tekei / gist:3295352
Created August 8, 2012 14:14
instapaper文字化け再登録ツール (エッセンス版)
# instapaper文字化け再登録ツール (エッセンス版)
# 利用にはOauthキーが必要ですので、Webサービス化する予定です。
#
# 利用に関して
# ・ 修正したRead Laterは、再登録するため登録日付が「今」に変更されます。
# (表示順が逆転します)
# ・ 有料会員である必要があります
# (InstapaperのFull APIの利用規約がそうなっている)
require 'open-uri'
@tekei
tekei / gist:3405758
Created August 20, 2012 16:54
[Sinatra::ContribのConfigFile] RACK_ENVに依存しないパラメータを記述可能にする
# Sinatra::ContribのConfigFileに対して、RACK_ENV(settings.environment)
# に依存しないパラメータを記述可能にする
#
# 例:
#
# 通常ならば、以下の通り共通的な値「settings.aaa」も複数記述する必要がある
# ------ yaml の内容(before) ----------------------------
#development:
# database: AAA
# aaa: info
@tekei
tekei / gist:3429134
Created August 22, 2012 20:41
HTML 文字実体参照への変換
# 数値文字参照ではなく、文字実体参照への変換
# なお、実際使う際はメソッド名"charref"は変更してください。
CGI.class_eval do
class << self
attr_accessor :char_ref
alias :orig_unescapeHTML :unescapeHTML
def unescapeHTML(str)
result = orig_unescapeHTML(str)
result.gsub!(/&\w*;/) { |ent| @char_ref[ent]}
@tekei
tekei / gist:3429101
Created August 22, 2012 20:35
[google reader] star一覧抽出
# googleのstarred-items-jas.jsonのままだと処理しにくいため、
# 一度単純なデータに変換する
#
# ファイル"bookmarks.json"に「登録時刻(time)/タイトル(title)/URL(url)」の
# 行列となったjsonファイルをはき出す
#
# 「情報をエクスポート」→「JSON アクティビティ ストリーム」から取得
require 'json'
require 'time'
@tekei
tekei / gist:3505432
Created August 28, 2012 23:50
rubyでIPレンジの判定
# 「192.168.0.0/24」の様なIPレンジ指定のテキストファイルを読み込み、
# 該当IPアドレスかどうかをチェックする。
#
# (制約) ネットワークアドレス長を9以上で指定する必要があります。
#
# ・使い方
# initialize - テキストファイルをパラメータとして指定
# contain? - IPアドレスが含まれていたら true
class IPFilter