プログラミング]最近、Windows版のGrowlを知ってGrowlでの通知が自分の中で大ブレイク中です。下記のサイト参考にGreasemonkey経由でブラウザの表示内容を元に更新を通知させてみたりと色々遊んでいました。Moonそのうち欲がでて中継用のNode.jsサーバをローカルではなくLinux上に設けて、そこから一斉通知とか試そうかと思ったら、node.js用のGrowlのnpmってLinux上で動かすとGrowlじゃなくてnotify-send使うじゃないですか。package:ただ、growl.js自体は弄りやすい量なので修正しようと思ったら、今度はLinux上で使えるgrowlnotify.exeが見つからず。モジュールがあるRubyなりPerlなりで書くという手もあるのですが、通知毎の実行コストが重そうだったので他の実装を探していたところC言語で書かれたgntp-sendを発見。Sticky機能がなかったのと、オプション体系をもう少しシンプルにしたかったのでフォークして機能追加してみました。3.0.3にバージョンアップしてみたところ今度は日本語ファイルのURLが化けたり、一部のフォルダが開けなくなる現象に遭遇しました。日本語ファイル名のURLが化けるのはソースを開こうとしたタイミングでしかもJavaScriptを有効にした場合だけです。そのあたりから探っていったところ、どうもシームレスな画面遷移時にJavaScriptでブラウザの「戻る」の制御を行う「vendor/assets/javascripts/jquery.history.js」が原因だということが判明。このソース、ライセンス表記などが無く、ネット上にも情報がないのでどこにバグ報告をすべきなのか不明なのですが、URLエンコードの復元にunescape関数を用いているため、1Byte文字圏でしかまともに動作しません。デフォルトでミニファイ化されていコードが読みにくくなっているのですが、幸いにもunescapeを使っているところが1箇所しか無いためそれを「encodeURI」関数に置き換えることでキチンと動作するようになります。errorと表示されるため、更に調べたところ「app/views/tree/_tree_item.html.haml」の内部で呼び出しているtree_join関数にてクラッシュしていることが判明。いう場合のお約束として下記の修正を実行したところ、あっさり表示出来るようになりました。data...困っている方はお試しあれ。1.9は.force_encoding('UTF-8')をやらないとまともに文字列を扱えないことが多くて面倒な感じがします。型とかガチガチに処理するような言語じゃないのだから、エンコードについてももっと上手く暗黙的に処理して欲しいものです。Linuxよもやま]最近git環境の構築を頑張っていますが、ちょうどいいタイミングでmsysGitやTortoiseGITの日本語ファイル名対応が始まったので、Windowsにも本格的にGit環境を構築始めました。現在の環境はこんな感じです。gitolite正直Windows側もサーバ側も構築は一筋縄ではいかないので、まだまだおすすめできませんが、上記をうまいこと設定できるとUTF-8で統一できている限り、日本語が通るGit環境が構築できます。テストしていて気になったのが、GitLabで日本語ファイル名のソースコードが表示されない点。GitHubソースを追ったところ、利用しているgrit側の問題っぽい気がしています。BX50Fでは自動シャットダウンができません。実は、今まで利用していたサーバも自動シャットダウンは対応していなかったのですが、ディスク単発利用で電源が落ちたら自動で死ぬのはしょうがないと諦めていまた。QNAPはソフトウェアRAIDで今回はRAID6で運用しているため、シャットダウンせずに電源が落ちるとRAIDが壊れてデータ全損の可能性があります。BX50Fは正弦波出力ではないためか、バッテリーテストで矩形波出力になった際にQNAPの電源付近から異音が聞こえてめちゃくちゃ心臓に悪いため、今回UPSを買い足しました。SystemsはQNAPと同じく台湾メーカーで、同社のUPSの他のモデルがガンガン登録されているためこちらも大丈夫だろうと今回購入に踏み切りました。結果、あっさり認識されました。ハードウェア]最近バックアップ先としてHDDを利用するようになり、HDDの入れ替えを頻繁に行うようになりました。これまでは、楽ラックで利用していたのですが、SATAだとライトキャッシュが効いてしまい、結構ホットスワップに失敗することがあり、電源を落とした状態でなければ安心して入れ替えられないのが難点でした。ディスク間のファイル移動も一度ローカルにファイルを置く必要があり、効率化のために今回スライディング裸族(CSDRU3)|センチュリー(CENTURY)を買ってみました。このハード、裸族のお立ち台系を単に横にしただけなのですが、再三の地震に悩まされている現状ではHDDを立たせて書きこませるというのはどうしても怖くて、これまで購入を見送っていた私にはまさに「待ってました」という商品です。届いたので、早速ベンチマークして見ました。ESXiをUSBメモリにインストールする際には2GBもあればいいのですが、そのぐらいのサイズのUSBメモリは最近は入手がしにくく、結局4GBや8GBのUSBメモリを使うハメになります。実際に使われる領域は1GB程度なのでそれ以外のUSBメモリの領域は空き領域として無駄になります。Update1ではUSBメモリの空き領域をVMFSでフォーマットすることは出来ません。言うエラーで失敗します。device」というエラーで失敗します。directory.等と言われます。)これは、ESXiが下記のコメントのように一部のフォーマットにしか対応していないためです。RDM.「FATならOKなのね」と普通にFATでフォーマットしてもこれまた認識しません。ESXiで認識出来るのはFAT16(最大1パーティーション4GBまで)なので、自分でフォーマットする場合にFAT16になるように意識しないとダメになります。ESXiをUSBメモリにインストールをするとかなり変なパーテーショニングをされてしまうため、Windowsからパーテーションの操作をすると設定がおかしくなります。PCしかない人はUbuntuのライブCD等でLinuxを起動してから作業を行ってください。ESXiでのATF最適化の英文記事をみて、試してみようと思ったのですが、vSphireClientのホストの「構成」タブ→「ストレージ」から既存のデータストアを削除しようとすると。呼び出しが失敗しました。なんて言うエラーで怒られてしまいました。それなら、SSHから削除すればいいかと、fdiskで「d」してみても消えない。時々busyのようなエラーがあったので調べてみたら、どうもESXi上の「/scratch」のリンク先になっているところは消せない仕様のようです。/scratchの変更方法ですが、以下の通りです。Linux管理・運用]久々にゼロから趣味でサーバの構築をするので、パーティーション構成を考えてみたのですが、どうやれば今時のパーティーショニングができるかなかなか悩ましいモノです。openSUSEのデフォルトだと「/」「/home」「swap」の3パーティションしか分割しないようですし、近年ではLVMという選択肢もあるため、考え始めると意外と悩んでしまいました。今回どういう理屈でパーテーションを切るのかメモがわりにまとめておこうと思います。今回構築するのはVMware上でRAIDを組んでいない空き容量にはかなり余裕があるS-ATAディスク領域です。上手いこと構築が進めば数年利用するサーバになる予定です。ディスク領域が厳しい場合や、用途が不明瞭な場合には「/」のワンパーテーションというのも有りですが、今回は割と用途も決まっているため、一応の分割はします。マシン全体が仮想化されていない場合(特に信頼性のあるRAIDストレージに直接インストールする場合)にはLVMを使うと、オンラインで後から各パーテーションの容量を動的に増やせたり、スナップショットが取れたりと大きなメリットがありますが、LVMには障害発生時にデータ復旧が難しくなると言うデメリットがあるため、利用範囲は限定的にしようと思います。LVM無しで一つの仮想ディスクに複数のパーテーションを切ってしまうと、その仮想ディスク内で最後に追加したパーテーションしか安定的に拡張できなくなってしまうため、1ドライブ1パーテーションで対応します。(複数マウントポイント表記をしている物は領域の一部をbindしてマウントさせます。)また、/bootは以前はLILOの制限などでディスクの先頭から一定の容量に無ければ動きませんでしたが、今は殆ど気にしなくていいはずなので、システム領域と一緒にします。それから、swap用の領域はそのうち別の物理ドライブに置いたりするかも知れないので、専用の仮想ドライブにしておきます。フリートーク]2011年03月11日(金)の東日本大震災で、仙台にて見事に被災していました。言っても海沿いではないので、実質困ったのは2週間程度ですが。いえ、近代日本では初めての広域被災だったため、色々と苦労はしました。避難所に居ない人の所にはなんの助けも来ないこと。うちは幸いにも家も無事だったので自宅にいましたが、何もしなくてももらえたモノは町内会の人が炊き出しした小さなおにぎり二つだけ。どんな事態でも3日堪えられれば何とかなると思っていましたが、今回の震災については、堪えているだけではどうにもなりませんでした。能動的に動き回れば、炊き出しとか仮設給水とかはあったみたいですが、うちみたいに近所付き合いをおろそかにしている家にはかなり厳しい感じでした。近所付き合いが希薄でも、仙台はなんだかんだ言っても田舎なので、それなりに上手いこと行きましたが、首都圏で同じ事になったら暴動必至な気がします。コンビニは初日に在庫放出してそれっきりですし、大手スーパーは何処も数時間待ちで日中のみの営業。うちは、幸いにもそれなりに物資があったので奔走しませんでしたが、家に物が無い状態で地震にあったら、まず、コンビニで物資を買っておくのが良いと思います。(初動が遅れれば遅れるほど物資の入手は困難になります)で、インフラ関連で困ったのがまず電気。電気=情報の現代において停電になると情報が入手できなくて身動きが取れなくなります。ラジオとかワンセグとか情報を入手する手段はあるのですが、ラジオは当初地元向けの情報少なかったですし、ワンセグは言わずもがな。L字テロップはそれなりに役立つ情報もありましたが、ワンセグでは字が小さくてとにかく読みにくい。制止するタイプのテロップはまだイイですが、流れ続けるタイプは殆ど修行です。携帯は地震後すぐは使えましたが、夜には使えなくなって、次につながるようになったのは3日後ぐらい。使えるのもパケット通信だけで、それもかなり遠くのアンテナを捕まえているようで、1時間でIS03の電池が満充電から40%に減るぐらい急激に電池が減るので、基本的にケータイは電源OFFにしなければやっていけませんでした。夜は全くの暗闇なのですが、幸いにもLEDライトを何本か持っていたため、そんなに困りませんでした。(豆電球系は燃費も電球自体の寿命も短いため、震災ではLEDライトが有利でした)ただ、地震で部屋の中がかなりシャッフルされるので、ライト類は置き場を分散して、なるべく壁からぶら下げて置くか、引き出しの中に入れておいた方が見つけやすいと思います。(ベッドサイドに置いていたヤツは落ち着いてからあり得ないような場所から発掘されましたし)まぁ、4日とちょっとで電気が復旧したのでそれ以後は情報も明かりも手に入るようになりましたが、それまではこちらで買いだめしてあったeneloopとモバイルスティックブースターがあったのでなんとか持ちこたえることが出来ました。Windows]メイン機のOSをWindows7に変えて一番困っているのがUSB-HDDのOS上での存在が、凄く弱くなったこと。現在、USB-HDDを3台ほぼ固定ディスクとして利用していますが、これらのファイルを消してもゴミ箱にファイルが登録されません。(ただし「元に戻す」ではファイルが戻るのでどこかにはありそう)また、もう一つ困っている点としてUSB-HDD上のフォルダを共有設定しておくと、再起動後に時々解除されてしまうこと。(いつもではありません)前者については仕様なのか、設定が悪いのか謎なのですが、後者についてはおそらく、Windows7のブートの仕組みが関係していると思われます。Windows7になってとりあえず困っているほかの点として、ログオン画面が出ても1分近くマウスカーソルが動かせない時が結構あります。Windows7ではUSB機器の認識が終わって無くてもOSは普通に起動してしまうようです。XP時代には発生したことがないので、構成が前回終了時と一緒ならログオン画面では全て認識していたと思います)そのため、USB-HDDが無い状態で起動してしまい、対象がないため共有設定が削除されてしまっているのではないかと思います。