...pudding - diary

この日記は https://yapud.hatenablog.com/ に引っ越し中


2013-02-01

_ [デジカメ] Pentax K-5 のファームアップ Ver 1.14 きたよ

PENTAX Firmware Update Software for K-5|ダウンロードサービス/デジタルカメラ関連ソフトウェア|PENTAX RICOH IMAGING

全般的な動作安定性を向上、というところに期待です。

雪山の真っ白なところで撮ってたらミラーが上がらなかったのか真っ黒なのが撮れました、というのが1回、Pモードで撮ってたのにバルブみたいな感じで全然閉じてくれなくて真っ白なのが撮れました、というのが1回ありました。この辺のが良くなってたらいいな。

ずーっと使っててその2回だけなのでもしかしたら僕の操作が間違ってたのかもしれないけど。


2013-02-02

_ [いろいろ] スキーウェアの値段が下がってくる時期を狙え

スノースポーツ関連の用具は1月から一気に値が崩れます。毎年モデルチェンジしますから、冬のウチに売り切ってしまわないといけないのでしょう。

ぼくのスキーウェアは既に10年以上使っており、未だに機能(防水とか暖かさとか)は落ちてはいないと感じるのですがいかんせん重い。たいへん重い。しかもわりとダサい。なので新しいのを買おうとなりました。

いわゆる普通のスキーウェアのメーカー品で都内から着ていっても大丈夫そうなデザインのモノ(蛍光色でギラギラしてるのはちょっと…)でお財布に優しいモノをと思って探していたところでフェニックスの上下セットのがありました。のでコレにしました。

フェニックス(PHENIX) ユニセックス スキーウェア上下セット Grant Two-Piece (PS2722P30)


今日一日着ててさすがに買ったばかりなので防水はしっかりしていました。どんどん水滴が玉になって落ちてゆきます。軽くて暖かくて文句ないです。暖かいのは今日は気温が高かったからそう感じたのかもしれませんが。

そうそう、スキーウェアとスノボウェアと何が違うの?スノボウェアの方が街から着て行くには良いんじゃ無いの?と思って調べてみたのですが、たしかに近頃はそれぞれの差はほとんど無くなってきているようです。スノボウェアの方がお尻をつくことが多いからか尻回りがしっかりしているのでしょうか。スノボはあまり足を動かさないので(固定して滑るので)だぶっとしていても平気そうです。

スキーはやはり両足が動きますのであまりだぶっとしていると邪魔でしょう。スキーだと両足の内側のくるぶしのあたりがぶつかりますのでスキー用のウェアならそのへんが補強されていますね。

とか言いながらも子供に合わせてのんびりと滑っているぶんには激しい使い方をしませんのでどっちでもよさそうです。


2013-02-03

_ [デジカメ] K-5 II/IIs の -3EV超低輝度対応AFは結構すごかった

CP+2013 をみてきました。あまり時間が無かったのでゆっくり見て回ることはできませんでしたが、キヤノンとニコンブースの混み具合はさすが。話題の機種を体験しようとしても待たねばならんと。ペンタックスリコーブースの端っこに「K-5 IIs SAFOX X 暗所体験コーナー」という小部屋があり「暗いシーンも迷わず捉える -3EV超低輝度対応AFを体験しよう」ということで試してみました。薄暗い小部屋に車のオモチャのようなものが置いてあります。この暗さだとノーマルK-5じゃAFは無理だなと全く迷わずさっさとMFに切り替えるレベルの暗さです。さて K-5 IIs でファインダーを覗きAFボタンを押すと、スッと合焦しやがります。なんてこと。これはなかなか、欲しくなります。

各社ブースのステージ上では様々なシーンにおける撮影のコツなどが惜しみなく披露されていていろいろとヒントを得たという感じであります。楽しかった。


2013-02-04

_ [Software][Notes] Lotus Notes でマシン固有の情報を取得する

Notes 8.5.3 からマシン固有の情報を取得できる @関数 @GetMachineInfo() が使えるようになりました。マシン固有のポリシー設定をするにはこの関数を使って条件判断をすればよいという流れです。

IBM (参考)マシン固有のポリシー設定 - Japan

ポリシー設定はともかく、マシン固有の情報を簡単に取れるようになったというのはとても便利です。この関数一発で取れるというのは…今までの苦労は一体…

この関数を Notes Browser Plug-in 環境で実行すると、IsMultiUser が True で、IsStandard が False でした。ふつうの Basic クライアントと似たような挙動をするのでまあこんなもんでしょう。

Notes 8.5.2 以前ではこの関数はもちろん動きませんので、いろいろとコードを書いてコンピュータ固有の情報を取っていました。VBS の作法がほとんどそのまま使えるので WMIService 経由で様々な情報を取得できます。たとえばコンピュータ名を取得するには LotusScript でこんな感じで書けます。

Sub Click(Source As Button)
    Const wbemFlagReturnImmediately = &h10
    Const wbemFlagForwardOnly = &h20
    Dim msg,strComputer,vbcrlf,objWMIService,colItems
    msg = ""
    strComputer="."
    vbcrlf = Chr(10)
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", _
                   wbemFlagReturnImmediately + wbemFlagForwardOnly)
    Forall objItem In colItems
        msg = msg & vbcrlf &  "Name: " & objItem.Name
    End Forall
    Messagebox msg
End Sub

2013-02-05

_ [Hardware] V7000のボリュームのリストを出す

近頃のストレージ装置はもう当然のように仮想化という概念が入っていて、各社そこから上の機能での勝負になってきているのでしょうか。

そこそこ簡単操作で管理できるミドルレンジのストレージ装置 V7000 というやつがあります。ブラウザ上に描画されるグラフィカルな画面上で様々な操作ができます。こんな感じです。


ブラウザ上でキレイに画面が出るのは大変うれしいところなのですが、多数のオブジェクトについて値の集計なんかをしたいときは不便です。一覧で値だけが欲しい、すなわちコンソール上で文字情報だけ欲しいという場面に多々遭遇します。ブラウザ上で、たくさんあるオブジェクトを一つずつクリックして開いて詳細情報をコピーして、というのを繰り返す方法もありますが、何十個もあるのを繰り返すのは大変骨が折れます。

V7000 は SSH でリモートアクセスできますので、SSH でアクセスして SVC のコンソールみたいのが出てきますからそこでコマンドを打てば情報が取得できます。これをやってみました。

lsvdisk コマンドで vdisk(ボリューム) の一覧を出すと、それぞれの仮想割り当て容量は簡単に確認可能です。しかし vdisk ごとの実使用容量は一覧に出てきません。vdisk を指定して実行すれば、対象 vdisk についてのみ情報が出ますが、コマンドを vdisk 数だけ繰り返し入力するのは美しくありません。一括で欲しい情報だけ取り出したいですが、awk も sed も grep もありません。困りました。

と思ってたら dW にステキなページがありました。SVC Scripting - SVC & V7000 Scripting です。コレを参考にしましょう。こんな感じのができました。

lsvdisk -nohdr | while read -a vdisk
do
  lsvdisk ${vdisk[1]} | while read -a v
  do
    [[ ${v[0]} =~ ^name$ ]] && printf "%-15s" ${v[1]}
    [[ ${v[0]} =~ ^capacity$ ]] && printf "%10s" ${v[1]}
    [[ ${v[0]} =~ ^real_capacity$ ]] && printf "%10s\n" ${v[1]}
  done
done

上記コードをそのままプロンプト行に貼り付けると、こんな感じで結果が表示されます。一つ目のフィールドが vdisk 名、二つ目のフィールドが仮想割り当て容量、三つ目のフィールドが現在ディスクを占有してる容量、です。

vdisk0          70.00GB   11.82GB
vdisk1         850.00GB  447.00GB
vdisk2           1.90TB  996.07GB 
vdisk3 ……
………
……

文字として出てしまえばあとは切り貼りも楽ちんですね。


2013-02-06

_ [おでかけ] 東急沿線からりんかい線へいくなら東急お台場パスがかなりお得

東急線沿線からお台場周辺とか国際展示場あたりとかあの辺に行くのって妙に電車代が高くてなかなかの近寄りがたさを感じていたのですが、「東急お台場パス」を使うと安くで行けると知ってこれは良いと思いました。

東急お台場パス|おトクなきっぷ|運賃・乗車券|東急電鉄

東急線の往復とりんかい線乗り降り放題がついて割引価格。

例えば二子玉川から国際展示場まで往復すると1020円かかるのですが、東急お台場パスなら800円。なんと。ここまで差が出ますか。


購入方法ですが、券売機で「おトクなきっぷ」のメニューのなかにあります。


2013-02-07

_ [Software] こどもちゃん用漢字練習プリントを作る

こどもが学校から持ち帰ってきた漢字のテストを見てコレはちょっとやばいぞと真剣に勉強してもらわんとコレはちょっとおかしいぞと。そんな感じになっておりまして、漢字テストを作ろうと立ち上がりました。立ち上がりましたというか、世の中にはきっと便利なツールを作ってる人がいるに違いないと思って検索してみました。

Kanji-PRI

漢字プリントを作るツールです。なかなか良い感じです。こどもちゃんの間違いの多い字を集めて問題を作ってみました。こんな感じになりました。


後はいかに勉強させるかだな。難しいな。このくらいホイホイこなせて当然だと思ってたけどそうでもないのかな。


2013-02-08

_ [Software] ATOK 2013

かしこい日本語入力 ATOK の最新版 ATOK 2013 が出たので入れてみた。


ATOK 2013 for Windows [ベーシック] 通常版


入力ミスの指摘であったり、次に入力する文字候補の表示であったり、とにかくミスを減らせる方面に機能が拡充されているという感じ。

入力中だけでなく、入力済みの確定文字列まで参照して修正候補をだしてくれる。話し言葉のようなものもモードを切り替えること無く普通に入力できてストレスがどんどん減ってゆきます。良いことです。


2013-02-09

_ [Software] LibreOffice 4.0.0.3

LibreOffice 4 is here!

フリーのオフィススイート、LibreOffice の最新版 4 が出ました。

よし!きた!と思って入れてみました。


Writer て Word のファイルをインポートしたときのルビ対応はまだですね…ちょっと寂しい。

でも普通の文書作成には充分使えるから便利です。


これだけの機能が無償で。すごいわ。


2013-02-10

_ [いろいろ] 椅子の脚底からの床の保護や音の低減にフェルトを付けるのがいい

五年ほど前に家具屋さんで椅子を買いました。そのときに脚底に床の保護用のフェルトを「付けておくと良いですよ」と勧められ付けてもらいました。ホームセンターなんかで売ってる椅子の靴下のように見た目がダサくならず、同じ脚底フェルトでもシールタイプのようにズレたりせず、とても良い使い心地でした。


ですが、長い間使っているとやはりフェルトが薄くなってきます。というわけで交換しました。

モノはコレです→ ウオチ産業の家具専用PFフェルト

パッケージはこんな感じ。椅子一脚用4個入りで350円。350円で数年間耐えてくれるのですから安いモノです。


下の写真のように、こんな感じで刺さっていますよ。もともと脚底は平らでしたが、この王冠型の刃を打ち込むと見事に丸く食い込みます。このような形状なのでガッチリと食い込んで固定され、フェルト部分が変に回転したりずれたりということが無くて良いです。


下の写真は、左側が未使用のもの、右側が5年ほど使ってすっかりフェルトが無くなってしまったもの。


各家庭での使い方や座る人のスペックによっても耐久時間は変わるでしょうけども我が家の使い方程度でしたらまあ5年は持つか、いや、4年目くらいで変えておいた方が良いか、という感じです。さすがに上記写真のほどまで使い込むと床に傷がついたりします。

早めのメンテで家財を長持ちさせましょう。


2013-02-11

_ [いろいろ] 72時間をどう生き残るか? そなエリアで体験しよう

72時間って何だ?大規模な地震が起きたときに組織的な救助活動がおこなわれるのは地震発生からおよそ72時間後と言われています。

ということは、救助活動が困難な助けてもらえないその72時間をどう生き残るかが重要となります。

首都直下地震が起こってから避難までの一連の流れを、東京臨海広域防災公園 そなエリアで体験できます。無料です。


スタートするとまず入り口でニンテンドーDSを渡されます。途中、画面の指示に従い様々な場所に移動しながら防災クイズに挑戦していきます。

ショッピングモールのエレベーターで移動中に地震にあい緊急停止します。非常口から薄暗い通路を非常灯を頼りにして脱出します。脱出したところは被災した街。こまかいところの作り込みがやけに丁寧でオトナはそういうところにニヤリとしてしまいます。

例えばコンビニの中では商品が床に散乱しているのですが、それぞれの商品名が各方面に配慮した結果なのでしょう、それっぽいけど実在しない名前になっていてついついクスリとしてしまいました。

こどもちゃんは、暗い通路などで本気で怖がっていましたのでそこそこ学習効果があったのではないかと思いました。

ゆりかもめの有明駅の駅前、国際展示場駅からも歩いて数分です。近所に寄った際にちょいと体験してみてはどうでしょうか。

ぼくらはこのあと、一息ついたらパナソニックセンター東京へいってちょっぴり遊んで帰りました。


2013-02-12

_ [Software] ThinkPad の NVIDIA NVS 3100M ドライバアップデート

WindowsUpdate に新着があるなと思ってみてみたら珍しく NVIDIA NVS 3100M のドライバアップデートでした。

"nVidia Graphics Adapter WDDM1.1, Graphics Adapter WDDM1.2, Other hardware software update released in January, 2013" とあります。

適用してみましょう。

アップデート前は、日付 2012/10/02、バージョン 9.18.13.697 でした。

アップデート後は、日付 2013/01/10、バージョン 9.18.13.1100 となりました。このバージョン番号で検索してみると、各社同じようなアップデートが行われているようです。


2013-02-13

_ [Software] VMware 仮想機のパフォーマンス劣化を防ぐための Partition Alignment

VMware などの仮想機の仕組みを使っていると、いくつもの層に渡って制御するレイヤが入ってきます。それぞれのレイヤ同士でうまくかみ合ってないとパフォーマンスが出ませんよね。とくにストレージまわりでは。
Guest OS Partition Alignment | VMware vSphere Blog - VMware Blogs ← この記事の図にあるとおりなのですが、ディスクIOの単位がそれぞれのレイヤで合ってないと無駄なIOが発生してパフォーマンス劣化が出てしまうよと言う話です。

試しに今使っているPCで見てみます。このPCには Windiws 7 のうえに VMware Player が入っており、CentOS6 が動いています。これをそれぞれのレイヤから見てみましょう。

 ■ディスク

まずは最下層、ハードウェアのレイヤです。このPCには、Seagate の SSD+HDD のハイブリッドドライブである Momentus XT 750GB ST750LX003 を使っています。データシートを見てみましょう。→ Momentus XT SSHD Data Sheet なるほど、セクタあたりのサイズは 4096 バイトです。 サーバ機ならここがRAIDであったりSANのLUNであったりしますのでそちらの機器の仕様を確認します。

 ■ホストのパーティションとファイルシステム

次に確認する層はディスク上のパーティションです。Windows であれば msinfo32 で確認できます。次にファイルシステムも調べたいので、diskpart コマンドで調べてしまいましょう。

C:\Windows\system32>diskpart
 
Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: THINKPADT510
 
DISKPART> list disk
 
  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン           698 GB      0 B
 
DISKPART> select disk 0
 
ディスク 0 が選択されました。
 
DISKPART> list part
 
  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    プライマリ             1200 MB  1024 KB
  Partition 2    プライマリ              687 GB  1201 MB
  Partition 3    プライマリ                9 GB   688 GB
 
DISKPART> select part 2
 
パーティション 2 が選択されました。
 
DISKPART> detail part
 
パーティション 2
種類         : 07
隠し属性     : いいえ
アクティブ   : いいえ
オフセット (バイト): 1259339776
 
  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
* Volume 2    C   Windows7_OS  NTFS  Partition    687 GB  正常       ブート
 
DISKPART> select volume 2
 
ボリューム 2 が選択されました。
 
DISKPART> filesystems
 
現在のファイル システム
 
  種類                 : NTFS
  アロケーション ユニット サイズ : 4096
  フラグ: 00000000
 
フォーマットでサポートされているファイル システム
 
  種類                 : NTFS (既定)
  アロケーション ユニット サイズ: 4096 (既定), 8192, 16K, 32K, 64K
 
DISKPART>

パーティションの開始場所は 1259339776 バイトです。1259339776 は 4096 (ディスクのセクタサイズ) の整数倍ですので、セクタの切れ目にキレイにおさまっていますね。ファイルシステムNTFSのユニットサイズは 4096バイトです。サーバ機であればこの辺はVMFSの情報を見るべきでしょう。fdisk -fl などで見れるのではないでしょうか。

 ■VMDK のセクタサイズ

次に確認する層は VMware のイメージファイル VMDK のセクタサイズです。これはどこを見れば良いのでしょう。起動時の VMware 側のログを見ると 16777216 sectors / 8 GB. とありますので、1セクタ 512 バイトでしょう。

 ■ゲストOSのパーティション

その次はゲストOSのパーティションを確認です。CentOS 6 を使っていますので、parted コマンドで確認しましょう。

# parted /dev/sda
GNU Parted 2.1
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) unit b
(parted) print
モデル: VMware, VMware Virtual S (scsi)
ディスク /dev/sda: 8589934592B
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
 
番号  開始        終了         サイズ       タイプ   ファイルシステム  フラグ
 1    1048576B    525336575B   524288000B   primary  ext4              boot
 2    525336576B  8589934591B  8064598016B  primary                    lvm
 
(parted)

パーティション2つありますが、どちらも 開始の場所が4096の整数倍ですね。最近のOSであればインストール時にこの辺を考えてパーティションを作ってくれますので安心ですが、たとえば、Windows XP や Windows Server 2003、RHEL5/CentOS5 やもしくはそれ以前の OS はインストール時に作るパーティションを昔ながらの開始アドレスLBA63としてしまいますのでコワイですね。

 ■ゲストOSのファイルシステム(LVM)

ようやく最後の層でしょうか、ゲストOSのLVMの様子を見てみましょう。

# pvs --units b -o +pe_start
  PV         VG         Fmt  Attr PSize       PFree 1st PE
  /dev/sda2  vg_centos6 lvm2 a--  8061452288B    0B 1048576B

PV に格納されている最初の PE のオフセットです。4096の整数倍ですね。ファイルシステムはどうでしょう。

# tune2fs -l /dev/vg_centos6/lv_root | grep 'Block size:'
Block size:               4096

揃ったようです。

図にするとこんな感じになります。ファイルシステム上に A, B, C と3つデータがあったとして、全てのレイヤのオフセットが合っていると、たとえば B のデータを読み出すときに物理ディスクは1セクタだけの動作ですみます。ところが、例えばゲストのパーティションのオフセットが下のレイヤと合ってなかったとしましょう。同じくファイルシステム上に A, B, C と3つデータがあったとして、B のデータを読み出すときに物理ディスクのセクタをまたがってしまいます。なるべく減らしたいディスクIOが余計に多くの動きをしなければいけないわけです。


これは困りますから綺麗に並べておきましょうねと言う話です。ゲストOSが古いOSだから既にズレてる? もしストレージが NetApp なら WAFL 上でうまいことズラして誤魔化してくれます。それ以外だったら? いったんデータ捨てて作り直すしか無いようですね。 VMware Converter 5.0.1 の V2V で作り直せば、 最適化レイアウトパーティションの作成 ( Create optimized partition layout ) のオプションが最初から選ばれてますから、うまいこと合わせてくれるらしいですよ。ただしこれはゲストがWindowsの場合のみ。Linuxだとこの選択肢が出てきません。


専用の調整ツールもあるようです。例えば Paragon Alignment Tool。仮想ボリューム上のボリュームを最適化、との売り文句もあります。説明ページの真ん中の辺りに簡単なアニメーションがあってわかりやすいです。


2013-02-14

_ [Software] VMware converter でうまく V2V できないのだけど

Windows2000 が入ってる VMDK があって、これを V2V で他の VMDK にうつしたい。VMware converter 5.0.1 のパーティションレイアウトの最適化をやりたくて。でも最後の最後98%のところでこけてしまう。

VMDKのコピーは終わって最後の再構成のところでエラーが出て終わってしまう。

エラーメッセージは「警告:ターゲット ボリューム レイアウト用のドライブ文字を更新できません。」と「エラー:再構成中、エラーが発生しました。」が出る。何故だろう。

sysprep も準備してあるし、あとは何だろう。管理者権限かな。VMware KB: 「ゲスト OS を判別できません」 または 「sysimage.fault.OsVersionNotFound」 というエラーにより変換が 99 % 完了したところで失敗する のようなことかな。

行き先を VMware Player にしても、ESXi にしても、同じところで同じエラーになってしまう。

 ※追記

変換元が悪いのかもしれない。ESXi → ESXi を試してみたら行ける。変換元が VMware Player 5 の形式だとダメなのかな。わからん。


2013-02-15

_ [Software] Linux から(そして AIX から)リモートで Windows のコマンドを実行する

Linux から(または AIX から) 遠隔地にある Windows 上のコマンドを実行したい。Tivoli などの管理ツールを使えば良いのだろうけどいちいち大規模だし高いし。ちょこっと一つコマンドを投げ込むだけなのだよ。

ちょっと調べてみたら、samba 4 の機能を使ってコマンドを投げ込む winexe というのがある。Linux 用だ。コレかな→ Winexe

Linux だと、インストール方法の欄に書いてあるとおりにすぐにインストールできる。Linux から Windows に対してコマンドを投げ込める。これもしかしたら AIX でも行けるのではないだろうか。

いくつかのライブラリなどを揃えて make してみた。AIX 6.1 に gcc などを入れた環境でやってみた。途中何度かエラーとかで止まるのだけど基本エラーを無視するようにソース改変しながら進んでいくとようやくビルド完了。 winexe ができあがった。

そして Linux と同じように、AIX からも Windows に繋いでコマンドを投げれる。これはすごい。おもしろい。

でもこんな面倒なコトしなくても、Subsystem for UNIX-based Application (SUA) を利用した、rsh サーバーの設定について という設定をすれば rsh でコマンド投げ込めるんじゃ…

でもちょっと待って。

rsh でコマンド投げ込んだ場合、コマンドの戻り値は rsh 自体の戻り値。

winexe はリモート実行したコマンドの戻り値が返ってくる。これはいい。


2013-02-16

_ [Software] VMware ゲストOSのパーティションアライメント調整したときの速度差は

先日の日記、VMware 仮想機のパフォーマンス劣化を防ぐための Partition Alignment に書いたような話ですが、パーティションアライメント調整をやってみようと思い、Windows2003R2 をインストールした領域を用意して試してみました。

インストール直後の msinfo32 の画面です。パーティション開始オフセットが 32,256 ですから 4,096 の整数倍になっておらず、下位の層と合っていません。


VMware vCenter Converter Standalone 5.0.1 を使って、このゲストOSをそっくりコピーしてみました。ただし、コピー時のオプションでボリューム選択をし、「最適化パーティションレイアウトの作成」を選択してある状態です。


コピーしたゲストOSを起動したあとの msinfo32 の画面です。パーティション開始オフセットが 1,048,576 ですから 4,096 の整数倍になっておりよい感じです。


もちろん後ろにずらしたわけですから、つじつまあわせようとしてくれたのかほんの少しサイズが変わっています。ディスクのサイズとしては減ってるのにパーティションサイズは増えてます。なんなんだろう。余ってたところを端っこまでぴっちり確保できたのかな。

このような感じで V2V すればアライメント調整が可能です。

で、調整してみて実際どのくらい違うのか?という話ですが、正直最近のストレージ装置はとても賢いのでこの辺のことはわりと吸収してくれてしまうようです。あんまり差は出ません。調整前のVMと調整後のVMでそれぞれ何度かベンチ取ってみました。

こちらが調整前。


こちらが調整後。


大きなサイズのシーケンシャルリードライトは、余分に読み書きするブロックなど端っこだけですから誤差みたいなものです。4KB の Write だけはきちっと差が出ています。揃えた方が少し良い値が出ます。どのようなアプリケーションが動くか(どのようなIOが発生するか)によって差が感じられるかどうか違ってきそうですね。

今回ストレージ側は全く手を入れてなくて(1GbEなiSCSI接続の箱です)VM側だけでああだこうだやってみたところですがこんな感じでした。


2013-02-17

_ [いろいろ] おかきを焼くのはトースターでスグだよ

母からおかきの焼く前のが送られてきた。お餅を乾燥させて薄くスライスしたような感じのモノです。オーブンで160~170度の設定で10~12分だよと教えてもらったのでそれでやってみた。

そしたらなんか、え?あんまり膨らまないし?硬いし?というのができあがってしまって。おかしいな…とおもってググったらなんとトースターでいけるよと。2分くらいでいけるよと。なるほどトースター。いいでしょうトースター。1200Wの威力を見せつけてやる。

そしたらなんと見事に膨らみましたよ!これはすごい。以下の動画のね、30秒過ぎた辺りから変身シーンですから。変身といっても正義の味方では無くてどっちかというと敵の変身シーンみたいな感じ怪物が大きくなる感じだけどもね。

缶に詰め込んだらなんか良さそうになったよ。


写真の中で黒っぽいのがオーブンで焼いていまいち膨らまなかったやつで、白っぽいのがトースターで焼いてみるみる膨らんだやつです。


2013-02-18

_ [Software] SFU とか SUA の $HOME が想定外でした

Windows Server で rsh や rshd が使いたくて SFU ( Microsoft Windows Services for UNIX )とか SUA ( Subsystem for UNIX-based Applications ) とかを試してみました。

Microsoft のサイトにある記事「Subsystem for UNIX-based Application (SUA) を利用した、rsh サーバーの設定について 」を参考に順々にすすめていったのですが。

/etc/hosts.equiv や $HOME/.rhosts をキチンと設定したつもりなのだけどよそから繋がりません。 permission denied との無慈悲な表示です。

どこがまずいのか追いかけましょう、といっても、permission denied と出てるわけですから、rshd は返事をしている、Firewall が邪魔をしているわけではない、純粋に権限だけの問題っぽい、という気配です。

手順にある /etc/inetd.conf を編集するところ、ここへもう一度戻ります。そして rshd だけでなく、rlogin も有効にし inetd の設定を再読み込みます。

rlogin localhost で自PCにに自ユーザでログオンしてみました。そして echo "$HOME" してみたら… "/" ですよ… なんやねんそれ…

ローカルの画面上で起動した Ksh とか Csh とか のコンソール上では $HOME は Windows のプロファイルフォルダとイコールだったのに、rsh で繋ぐと違う値が出てくるっていうね。

というわけで、 /.rhosts に許可するホストおよびユーザを書くことによってようやく接続することができました。


2013-02-19

_ [Software] winexesvc ってサービスが登録されているのだけど、これなんだ?

UNIX系OS から Windows にリモートでコマンドを投げれる winexe を使った後、ターゲットとなる Windows のサービス一覧に winexesvc というのが追加されます。

winexe がどのように動くのかわかれば winexesvc がナニモノかわかります。

opensourceinfo: winexe に説明がありましたので引用します。

  1. winexe は Windows ホストの IPC$ 共有に接続します。
  2. 次に winexesvc の名前付きパイプを開こうとします。
  3. もしこのパイプが無ければ、winexe は winexesvc.exe を ADMIN$ 共有経由でコピーし、winexesvc サービスを作り、サービスを開始してから再度接続します。
  4. 接続成功後、オプションパラメータ(たとえば --runas, --system) を winexesvc へパイプ経由で渡します。
  5. winexesvc は二つのパイプを作ります。ahexec_stdio%08X と ahexec_stderr%08X です。それぞれの %08X はユニークな数値が割り振られます。これらのパイプを使ってコマンドをリダイレクトし実行します。
  6. winexe はこれらパイプを使って Linux のコンソールにリダイレクトします。
  7. コマンド終了後、winexe はその終了コードを返します。

というわけで winexe の動作に必要なモノとなっていました。実行後必要無ければ(残す理由が無ければ) "--uninstall" オプションを付ければ良いです。実行後アンインストールが走りますので残らず安心です。

オプションで "-d 1" などと付けるとデバッグ情報が詳細に出力されるので(数字を増やすと詳細度が上がります)、何してるかよくわかります。


2013-02-20

_ [Software] Twitter の特定の status id に favorite が何個ついてるか調べるよ perl で

Twitter の status(個別ツイート)の URL を与えたらそこにいくつ favorite がついてるか数を返すのを perl でこさえてみました。とりあえず動けばいいだけのモノです。

#!/usr/bin/perl
#
use strict;
use warnings;
use LWP::UserAgent;
use HTML::TreeBuilder;
#
my $statusurl = 'https://twitter.com/moriya_jp/status/150528483121041408';
print &htmlcount($statusurl) . "\n";
#
exit;
#
# HTMLからfavoriteの数を取り出す
sub htmlcount {
    my ($url) = @_;
    my $favcount = 0;
    my $user_agent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)";
    # LWPでアクセス
    my $ua = LWP::UserAgent->new('agent' => $user_agent);
    my $res = $ua->get($url);
    my $content = $res->content;
    # HTML::TreeBuilderで解析
    my $tree = HTML::TreeBuilder->new;
    $tree->parse($content);
    # favoriteの数テキストだけ抜き出す
    if ( $tree->find_by_attribute('class', 'request-favorited-popup') ){
        $favcount =  $tree->look_down('class', 'request-favorited-popup')->find('strong')->as_text;
    }
    return $favcount;
}

API 経由で~みたいなオシャレなことはしていません。LWP で HTML をもってきて HTML::TreeBuilder にパースしてもらって目的のテキストを取り出しているだけ。ちからわざ。


2013-02-21

_ [Software] 1レコードが複数行のフィールドをもつテキストデータを awk で1レコード1行に並べる

ローカルネットワークに居るホストの一覧を出したかった。1行1IPで。nmap で生きてるホストを探し、 -oG オプションなどで CSV に出したのだけど MAC アドレスが入ってこない。-oX オプションでXMLに出せるのだけど今手元でスグに使えるパーサが無い。というわけで普通の出力すなわち1レコード複数行のを1行にまとめることにした。

ふつうに nmap するとこうなる。名前解決するな+ICMP ECHOで探せ、という命令でこんな感じです。

# nmap -n -PE -sP 192.168.0.1-10
 
Starting Nmap 5.51 ( http://nmap.org ) at 2013-02-21 23:03 JST
Nmap scan report for 192.168.0.1
Host is up (0.082s latency).
MAC Address: 00:0D:02:xx:xx:xx (NEC AccessTechnica)
Nmap scan report for 192.168.0.3
Host is up (0.083s latency).
MAC Address: 00:1C:7E:xx:xx:xx (Toshiba)
Nmap scan report for 192.168.0.5
Host is up (0.083s latency).
MAC Address: 00:1F:3C:xx:xx:xx (Intel Corporate)
Nmap scan report for 192.168.0.6
Host is up (0.087s latency).
MAC Address: 10:1F:74:xx:xx:xx (Unknown)
Nmap scan report for 192.168.0.7
Host is up (0.00025s latency).
MAC Address: 00:24:D7:xx:xx:xx (Intel Corporate)
Nmap done: 10 IP addresses (5 hosts up) scanned in 0.89 seconds

3行で1レコードです。各レコードは "Nmap scan report for " ではじまるという特徴があります。これを目印に加工しましょう。

レコードの区切り指定します。 「-v RS='Nmap scan report for '

レコード内のフィールドの区切りを指定します。「-v FS='\n'

出力時のフィールド区切り文字を指定します。「-v OFS='\t'

そしてフィールドを並べて出します(ただし192ではじまる行のみ)。「'/^192/{print $1,$2,$3}'

こんなかんじでどうでしょう。

# nmap -n -PE -sP 192.168.0.1-10 | awk -v OFS='\t' -v RS='Nmap scan report for ' -v FS='\n' '/^192/{print $1,$2,$3}'
 
192.168.0.1     Host is up (0.0021s latency).   MAC Address: 00:0D:02:xx:xx:xx (NEC AccessTechnica)
192.168.0.3     Host is up (0.0020s latency).   MAC Address: 00:1C:7E:xx:xx:xx (Toshiba)
192.168.0.5     Host is up (0.0034s latency).   MAC Address: 00:1F:3C:xx:xx:xx (Intel Corporate)
192.168.0.6     Host is up (0.0073s latency).   MAC Address: 10:1F:74:xx:xx:xx (Unknown)
192.168.0.7     Host is up (0.00022s latency).  MAC Address: 00:24:D7:xx:xx:xx (Intel Corporate)

規則性のある出力値をちょこちょこっと編集するのにとても便利ですねawk。


2013-02-22

_ [Software] Twitter API v1.1 をサポートした Net::Twitter

Marc Mims / Net-Twitter - search.cpan.org

perl で使う Twitter アクセス用の Net::Twitter 、新しいバージョン 4.00001 が出て Twitter API v1.1 がサポートされました。いいですね。とりあえずアクセスしてみてタイムラインから最新10件を取得してみましょう。

#!/usr/bin/perl
#
use strict;
use utf8;
use Encode;
use Net::Twitter;
use Scalar::Util 'blessed';
#
my $twit = Net::Twitter->new(
    traits   => [qw/API::RESTv1_1/],
    consumer_key        => 'SxoxQx6xfx6xrxKxixsxw', 
    consumer_secret     => 'BxPxpxGdwX9xtxOx6xzxVxRxfxuxgxlxyxhxAxlxk', 
    access_token        => '5x7x7x2-HxsxlxBxgxHxoxpxMxSx2xdxgx2xMxExXxixYxEx', 
    access_token_secret => 'XxexZxrxvxxxWxtxCxRxMx2xbxHxcxqxuxhxVxtxU', 
    ssl => 1,
    );
#
eval {
    my $statuses = $twit->home_timeline({count => 10});
    for my $status ( @$statuses ) {
        print "$status->{created_at} <$status->{user}{screen_name}> ". encode('utf-8', $status->{text}) ."\n";
    }
};
if ( my $err = $@ ) {
    die $@ unless blessed $err && $err->isa('Net::Twitter::Error');
      warn "HTTP Response Code: ", $err->code, "\n",
           "HTTP Message......: ", $err->message, "\n",
           "Twitter error.....: ", $err->error, "\n";
}
exit;

上記コード中の consumer_key とか access_token とかの値はフェイクです。自分用のキーを取得して使おうね。


2013-02-23

_ [デジカメ] K-5 不機嫌になる

PENTAX K-5 というカメラを愛用しております。デジタル一眼レフというヤツで、カッチリとしたボディがとてもかっこよいです。

今日もこの K-5 を持って散歩に出かけてたのですが、100枚ほど撮ったところでシャッターを切ることができなくなってしまいました。AF動作などは普通に動くのですが、シャッター押してもウウッと軽く唸るだけでパシャっといきません。どうやらミラーが上がらないようです。やだなあ。故障かなあ。修理かなあ。

うちの機体の累計シャッター回数はまだ2万回ほど。シャッターユニットは10万回ほどの耐久性があるといいます。まだまだ行けるだろ?がんばってよ。

レンズを外して、何度かミラーを指先でぱたぱたと動かしてから、再度挑戦してみたらシャッター切れました。良かったーホッとしたー。ミラーの機構のどこかにゴミでも入ってたのかなあ。

修理って、金額もそうだけど、修理に出してる間カメラ使えないじゃないですか。それがストレスじゃないですか。だから修理っていうのは気が重いわけですよ。

今回突然動かなくなった原因がわからないのがもやもやですがその後動くようになって良かった。


2013-02-24

_ [いろいろ] iPhone のジャケットは エアージャケット がいいね

妻の iPhone4 がそろそろ2年なので iPhone5 に機種変更しました。ショップではいろいろとオプションの契約を付けてくれるのでおうちに帰るとまず最初はオプション外しの儀が待ち受けています。そこを無事通過すると次はジャケットとフィルムです。

iPhone4 のときに使って良かったので iPhone5 でも同じメーカーのを使いましょう。

パワーサポート エアージャケットセット for iPhone5(クリア)PJK-71

液晶フィルムはアンチグレアフィルムとクリスタルフィルムが付属していて好きな方を使います。うちは断然アンチグレア派。スルスルと操作しやすいです。

ジャケットも無駄にゴツすぎくなく、このくらいならいいかなというギリギリのサイズ感。右上の電源ボタンが微妙に押しにくくなりますが慣れれば大丈夫かなーなんて思いました。もしくはボタンの上にぷっくりシールでも貼ってボタンの背を高くしてもヨシですね。


2013-02-25

_ [デジカメ] 満月が出てたよ

満月が出てたのでカメラで眺めてみたよ。

ボディは Pentax K-5 。

SS 1/320sec、F8、ISO160、WB太陽光、JPEG で撮ったのを中心部分等倍切り出し。

SS 速めなので手持ちで。

レンズは DA55-300mm の 210mm


レンズは DA50-200mm の 200mm


どっちも安価なズームレンズだけどそこそこ見えるね。


2013-02-26

_ [Software] 大幅に時間がズレてるときの ntpd の動き

VMware Player の上で CentOS 6 を使っています。これはずっと起動しているわけではなく、必要時に時々起動するという使い方で、普段はサスペンドさせています。サスペンドとなると復帰時に時計がズレてることがおおいわけです。こういうときに ntp サービスが非常に便利なわけです。時計のズレをうまいこと合わせてくれます。

今回使っているのは、CentOS 6 付属の ntp-4.2.4 のパッケージです。yum install ntp で導入です。/etc/ntp.confインターネットマルチフィード時刻情報サービス for Public のアドレスを列挙しておきます。

さてサスペンドから復帰した直後は大幅に時間がズレている状態です。例えばこんな感じ。40分ほど遅れてますね。(offset のところ。単位は msec)

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.jst.mfeed. 210.173.176.251  2 u   25   64    1    9.030  2404434   0.000
 ntp2.jst.mfeed. 210.173.160.86   2 u   24   64    1    9.016  2404434   0.000
 ntp3.jst.mfeed. 210.173.176.251  2 u   23   64    1    6.811  2404433   0.000

しばらく(2~3分かな)待っていると、これだけの大幅なズレがあるとSTEP モードに変わります。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.jst.mfeed. .STEP.          16 u  102   64    0    0.000    0.000   0.000
 ntp2.jst.mfeed. .STEP.          16 u  267   64    0    0.000    0.000   0.000
 ntp3.jst.mfeed. .STEP.          16 u  299   64    0    0.000    0.000   0.000

/var/log/messages を見てると 一気に時間をリセットしたよという表記が。

Feb 26 22:45:11 centos6 ntpd[13849]: synchronized to 210.173.160.57, stratum 2
Feb 26 22:45:11 centos6 ntpd[13849]: time reset +2404.444053 s

通常動作に戻っています。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.jst.mfeed. 210.173.160.86   2 u   54   64   37   10.174   16.646  11.606
+ntp2.jst.mfeed. 210.173.160.86   2 u   41   64   37    7.742   15.760   8.738
+ntp3.jst.mfeed. 210.173.160.56   2 u   49   64   37   11.076   15.496   8.732

というわけで、本来の時間よりも大幅に時間がズレている場合(128msec以上)、一気に時間合わせを行います。128msec 以内のズレであればじわじわと合わせていきます。なるほどよく考えられていますね。


2013-02-27

_ [Software] Windows7 用の Internet Explorer 10 出てるね

Internet Explorer - Microsoft Windows

Windiws7 にも IE10 が提供されることになりました。

20% ほど高速化されているという話です。

なのでとりあえずインストールしてみました。

UA は "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; LEN2)" でした。

いくつかの銀行のサイトでオンラインバンキングにアクセスしてみましたが、UA のバージョンを見て弾かれることはなさそうです。そりゃあそうか、各社 Windows8 対応で IE10 も検証してるはずだろうから。


2013-02-28

_ [Software] RHEL 6.4 出たし CentOS 6.4 準備進んでるし

 ■RHEL 6.4

Red Hat Enterprise Linux 6.4 リリースノート

RHEL 6.4 出てます。たいへん楽しくなってきました。様々なアップデートが含まれていますし大きなところは各ニュースサイトがお知らせしてるのですが僕が気になったところはこんなところ。

Hyper-V のドライバが含まれた、VMware のドライバがアップデート、 HAproxy が含まれた、keepalived が含まれた、samba4 のツール群が含まれた、libjpeg が libjpeg-turbo に入れ替わった、あたりかな。

様々なIO周りのドライバ類もアップデートされているけど、ぼくはもうすっかり仮想で動かしてばかりなので物理デバイスのドライバは近頃あまり気にしなくなったなと。

RHEL 5.9 と同じく RHEL 6.4 にも Hyper-V のドライバが含まれたおかげで、Hyper-V 上にインストールが簡単になったというのは素敵なところ。

L7 ロードバランサの HAproxy と L4 ロードバランサの keepalived が付属したので標準パッケージでいろいろと設定可能になるというのは夢が広がります。自分でビルドしなくて良いというのは快適です。ディストリビューション付属というのは上の人とかに面倒な説明をしなければいけないのが減るのも良いところです。

 ■CentOS 6.4

Manuals/ReleaseNotes/CentOS6.4 - CentOS Wiki

CentOS 6.4 も準備が進んでいるようです。

yum install centos-release-cr などとやって Continuous Release (CR) リポジトリを有効にしていれば、yum update などのコマンドで新しいパッケージが降ってきます。新しいパッケージなどほとんど準備されているので 6.4 の世界を味わえます。


2013年
2月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28
Twitter : @moriya_jp