備忘録などいろいろ

イロイロ! 比較的Twitterの延長のノリで書くと思います。

ここ最近便利だと思ったもの

Visitors

まぁ、Google Analyticsとかでもアクセス解析はできるんですけど、ローカルでちょちょっと解析したい時に。

Ubuntuなら

sudo aptitude install visitors

でインストールできて、

visitors -A -m 30 access.log -o html > report.html

で生成したファイルをブラウザに放り込むだけ。1時間あたりのアクセスとかがさくっと出せていいです。

ここに書いてありました。

iPhoneのホームボタンが効かなくなったときに...

  1. 電源ボタンを長押しして、電源を切るスライドを表示させる
  2. ホームボタンを「いつもの強さで」長押しし続ける
  3. スライドが消えたら、完了

恐らく、この2の操作でホームボタン押下の強度キャリブレーションを行っているようです。

ここに書いてありました

openx - 広告配信システム

これをサーバーにインストールすると、広告配信ができます。なんかちょっと複雑なので説明するのはめんどくさい。

ここに書いてありました


他にもいろいろ便利だと思ったものはありますが、またの機会に。

ネットワーク性能監視ツールを作ってみるか

昨日から寮内でのInternetブラウジングがちょっと遅いらしい。
原因はまだ分かっていないが、とりあえず定量的にネットワークの各種性能を計測して可視化するツールは必要だろうという。
そこで、何かあるならそういうツールをインストールするか、無ければツールを自分で作ろうと思う。


必要な監視項目は
・turn around time
・bandwidth
dns lookup time

寮内(同セグ)を含む、いくつかのリモートホストに対して、上記項目を計測し、グラフ化することが要件だろうと思う。


で、たまにチェックして極端に数値が落ちていれば、更に細かい調査をしてパフォーマンス改善をしようと思う。作ったらまた書きます。

もしや、Xymonとかでできるかな?

ハンドガンのアンダーレールに着けられる市販フラッシュライトをやっと見つけた。→Hi-Capa 5.1 Match Custom + Gentos 閃 SG-325 + マルイマウントリングM

結論から申しますと、
東京マルイの「ハイキャパ 5.1 マッチカスタム」には、
マルイの「マウントリングM」と「Gentos 閃 SG-325」が取り付けられる。
輝度や固定の具合は十分で、BF3のフラッシュライトのように
相手の目を眩ませることはできるぐらいという状況です。
今回のカスタムに掛かった金額はおおよそ3000円です。


私の中でエアガン/ガスガンブームがにわかに巻き起こっています。
男なんだから仕方ないでしょう。
で、この前東京マルイの「Hi-Capa 5.1 Match Custom」を購入したわけですが、
いろいろカスタムしたくなるのが常ってもんです。
案の定、私もフラッシュライトを着けてみようと思い立ちました。


Hi-Capa 5.1系はどれもアンダーレールを取り付けることができます。
(買った箱の中にレールとねじと簡易ポンチが入っています)
で、このレールにマルイのNo115 マウントリングMと市販のフラッシュライトを
組み合わせてカスタムしようとしたわけですが、
このフラッシュライト選びで少々試行錯誤があったため、ここに記しておきます。


初め、家にあった適当なLEDライトを着けてみましたが、ライトの外径が合わず無理でした。
購入したマウントリングは内径が標準的な1インチ(2.54cm)になっています。
そこで、割と短く輝度も高くて外径が1インチのフラッシュライトを探しました。


調べていくと、概してホビーガンのアタッチメント志向のフラッシュライト製品は値段が高いこと、
Gentosとか言うドンキホーテで売ってるようなフラッシュライトはコスパがいいことがわかってきました。
(巷にはライトの性能とかを比較しまくっているライトマニアなる者がいるらしいですね。)


で、近所のピカソ(ドンキホーテ系)に行って、いろいろ比較したわけです。
その結果、まず「Gentos Dominator DC-100F」を購入しました。が、外径がでかすぎて1インチマウントリングに
着けることができない...
泣く泣くDominatorは緊急災害時の家のストック用にまわすことにしました。(Dominatorは3000円ぐらいした。)


で、ライトを比較しているホームページ等でもよく出てきていた「Gentos 閃」がDominator同梱のカタログチラシに
乗っていました。どうやらこれはDominatorよりも外径が小さく、1インチ用マウントにも何とか乗せられるという
情報も手に入りました。で、Amazonでポチりました。


結果としては、ほぼ完璧。色が微妙かも知れんけど。
というわけで、写真と使用感を、同じようなことをしようとしている人は
参考にしていただけると幸いです。


ちなみに、Hi-Capa 5.1 Match Customを選んだ理由は、
ほかのマルイ製ガスブローバックと比較して初速、精度等の性能がよかったため、
またカスタム用のパーツが多く出ていてカスタムしやすいためです。
ネット上の情報を掻き集めた結果の判断です。


ただ、Hi-Capaは渋さが足りないのも事実。M1911A1とか欲しいと思ったりしています。

Ubuntuでvncサーバを立てる際にinetdを設定しようとしてハマっていた。解決策。

UbuntuVNCサーバを建てようと思った。
とりあえず、こうやったらうまくいった。
sudo aptitude install vnc4server openbsd-inetd

/etc/inetd.confに以下の行を追加

vnc stream tcp nowait nobody /usr/bin/Xvnc Xvnc -inetd -query 192.168.1.2 -once -geometry 1024x768 -depth 16 -SecurityTypes None

/etc/serviceに以下の行を追加

vnc 5900/tcp # vnc server

sudo service openbsd-inetd restart
で再起動して動くようになるはず。(たぶん)

inetd経由でvncserverを起動する - redstorm - 徒然雑記
とか参考にしていたのだが、代理デーモン系(?)のサービスにはxinetd、inetdがあるみたい。
で、
xinetd
inetutils-inetd
等のパッケージを入れて試したのだが、Ubuntuではうまくいかなかった。
(たぶん僕の環境のUbuntuじゃ無ければうまく行く)

で、openbsd-inetdを入れてみたらうまく行ったというわけ。

とりあえず、ドライバを書く上で知っておかなければならないことの羅列

・ドライバファイル(.sys)のエントリポイントは
NTSTATUS DDKAPI DriverEntry(IN PDRIVER_OBJECT drv_obj,
IN PUNICODE_STRING reg_path);

カーネルレベルで動く。よって32ビット版のドライバは流用できないわけだ。
ユーザーモードのバイナリは、Windowsのエミュレーション技術で、32ビット用のものも64ビットOS上で動かせる。

・これから追記していきます。

鉄騎(XBox無印)のコントローラをWindows 7 x64で使うために、Windowsデバイスドライバを自作してみようと思うからその為に必要な知識などを蓄積していく鉄騎(XBox無印)のコントローラをWindows 7 x64で使うために、Windowsデバイスドライバを自作してみようと思うからその為に必要な知識などを蓄積していく

鉄騎(XBox無印)のコントローラをWindows 7 x64で使うために、Windowsデバイスドライバを自作してみようと思うからその為に必要な知識などを蓄積していく

Windowsドライバ作ろうと思ってなんとなくネット上をうろついて情報収集していたのだが、
一度体系立ててドライバ自作の知識などをまとめた方がいいだろうと思ってまとめてみるのである。

けど、一気にまとめる時間はないので、
最初は箇条書きみたいになるかも。

OS: Windows 7 Professional 64bit
使いたいもの: 鉄騎コントローラ

vtchidというドライバがある。
古い。
Windows XP x86用しかない。
ソースコードは手に入る。
Cygwin環境でコンパイルしてみたが動かなかった。
もしかするとinfファイルの書き方がまずいか?
vtchidはgccツールチェーンのクロスコンパイラ機能を使ってコンパイルする。
Cygwingccは、Cygwin依存ライブラリ等をリンクするので、バイナリをWindowsに持ってきても動かない。
gcc -mno-cygwinというオプションを付けることで、Cygwin依存ライブラリは使わず、Windowsネイティブで動くバイナリを生成できる。
これを使ってコンパイルした。ちなみに、現在のgccはバージョン4.xxで、gcc -> gcc-4というシンボリックリンクになっている。
gcc-4は-mno-cygwinオプションを受け付けず、これを付けた場合は、専用のクロスコンパイラを使え(amd64-mingw32msvc-gccを使えということ?)と言われる。
元々のvtchidのソースを、変更なくコンパイルするために、gccシンボリックリンクgcc-3に貼り直した。これでコンパイルで来てたはず。Cygwin環境でなく、Linuxならupdate-alternativeシンボリックリンクを張り替える。
こうしてコンパイルしたものもまだ動いておらず、現在残されている選択肢は、
1. クロスコンパイラを使ってコンパイルしながら、ターゲットOSで動くようにトラブルシューティングをする
2. WDK(Windows用ドライバ作成ツールチェーン・環境)を使ってコンパイルできるコードに書き直す
である。
1.でトラブルの原因となっていると考えられる点は
・infの書き方違う
・クロスコンパイラの使い方が間違っている。具体的には、Windows7 x64で使えるバイナリが生成できていない
・コード自体がダメ。Windows 7 x64では動かない
のどれか。ドライバインストール時の挙動からして「infの書き方が正しくない」説が濃厚だが、他の原因も併発している気がする。

ということで、最初に必要なのは、どちらにしろinfの書き方を調べなければならない。
とりあえず、infの書き方を調べる。