[JavaScript] Google Maps APIで8箇所以上の経由地を持つルートの検索結果を得る

Google Maps APIを使うと簡単にルートの検索や,検索結果をマップ上に表示することができます.

しかし,通常だと中間ウェイポイントの数が8以下でなければならないという制限が存在します.(Google Maps Premierの場合23箇所以下)
すなわち,出発地点と目的地を合わせて10箇所以上を巡るルートの検索はできません.

普通は10箇所以上を巡るようなルートを検索するほうが稀だと思いますが,とある案件で8箇所以上の経由地点が発生しうるルート検索をしなければならなくなったので,どうにかするための関数を作ってみました.

続きを読む

[FreeBSD][nginx] http-auth-digestモジュールパッチ

nginxは標準ではDigest認証に対応していません.
そのため,Digest認証をするために,samizdatco氏の作ったnginx-http-auth-digestというサードパーティモジュールを利用します.

FreeBSDのportsで,HTTP_AUTH_DIGESTオプションをオンにすると導入されるモジュールも同じです.

このモジュールですが,とあるバグを抱えています.(2012/10/20現在)
URIによっては認証が正常に行われず,401←→認証の無限ループが発生するというものです.

例えば,以下のようなURLにアクセスした際に問題が発生します.

http://example.com/hoge.php?param=foo

このバグを修正するためのパッチを作成してみました.

続きを読む

RAWから比較明合成してくれるシェルスクリプト

先日,久しぶりに星の写真を撮りに行きました.

天候にも恵まれ,全方位雲のない,とても綺麗な星空を堪能することが出来ました.

星の写真を撮るときは,いつも右のような比較明合成をした写真を出力するために,インターバル撮影1を何回か行います.

比較明合成を行うためのソフトはWindows版,Mac版ともにいくつかありますが,基本的に入力画像はjpegやtiff画像で,RAWで撮影している場合は事前に現像しておく必要があります.
写真が数枚なら別にいいですが,これが100枚以上になってくると正直しんどいです.

そこで,RAW現像から比較明合成,出力までを一気にやってくれるシェルスクリプトを作ってみました.
続きを読む

  1. タイマー付きレリーズが欲しい… []

[Lua] サーバの状態監視スクリプト

Webサーバをapacheからnginxに移行してみて1ヶ月ほどが経過しました.

導入時は色々手間取りましたが,導入完了後は特にトラブルなく,apacheよりサクサク動いてくれています.

nginxのモジュールに lua-nginx-module というものがあります.
このモジュールを使うことで,ページの生成やリダイレクトなど,様々なnginxの操作をLuaスクリプトで行うことができるようになります.

例えば,Luaスクリプトでコンテンツを動的生成したい時は以下のような一文で実現できます.

content_by_lua "ngx.print('Hello, world!')";

今回はこのモジュールを使用して,サーバの状態をjsonで吐いてくれるスクリプトを組んでみました.

続きを読む

HDDのRMA申請をしてみた (その1:申請~発送)

つい先日,自宅のNASのハードディスクが1つお亡くなりになりました.

実は,自分のHDDの故障に遭遇したのは今回が生まれて初めてです.
これまでは結構短いスパンでHDDを大容量のものへ交換して,古いものは譲るなり売るなりしていたので,ハズレを引かなかったこともあり,これまで縁のないことでした.

しかしそこは流石ZFS,新しいHDDを買ってきて交換した後,1つのコマンドだけで無事復旧しました.

# zpool replace tank /dev/ad2

さて,取り出したHDD(Western Digital社製 WD20EARS-00MVWB0)ですが,これは2010年10月に購入したものであり,その時期のWD製HDDには3年間のRMA保証が付帯していた(現在のGreenの保証は2年間)ことを思い出したので,初めてのRMA申請に挑戦してみることにしました.

続きを読む