新コンテンツ「オンラインツール」追加!

新しいコンテンツ「オンラインツール」を追加しました。

「オンラインツール」という言葉の定義は結構曖昧だと思いますが、 ここでは『 Web サーバを使って Web ブラウザに何かを返すモノ』という感じで使用しています。

かなり今更感のあるコンテンツではありますが 「あ、ちょっと便利」 と思えるようなものを作っていきたいと思います。

Raspberry Pi で OpenGL ES2 ? (2)

前回、画面に三角形を表示しましたが 背景を透明にする方法を教えてもらったので 改造してみます。

↓前回の三角形。

WRITE_0625_01

またダウンロードからやるので 今回の作業だけで 三角形を表示して、背景を透明にします。

まず、ダウンロードして実行。

pi@raspberrypi ~ $ cd /tmp/
pi@raspberrypi /tmp $ wget http://www.mztn.org/rpi/triangle03.tar.gz
pi@raspberrypi /tmp $ tar xzf triangle03.tar.gz
pi@raspberrypi /tmp $ cd triangle03/
pi@raspberrypi /tmp/triangle03 $ ./triangle

これだけで、画面に三角形が回ります。

ソースファイルを変更します。

pi@raspberrypi /tmp/triangle03 $ vi triangle.c

まず、アルファ値を可変にするために次の箇所を変更します。

// 139 行目をコメントアウトします
VC_DISPMANX_ALPHA_T alpha = {DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS, 255, 0};
      ↓
//VC_DISPMANX_ALPHA_T alpha = {DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS, 255, 0};

// 152〜153 行目の &alpha を 0 に変更します
dispman_element = vc_dispmanx_element_add(dispman_update, dispman_display,
   0, &dst_rect, 0, &src_rect, DISPMANX_PROTECTION_NONE, &alpha, 0, 0);
      ↓
dispman_element = vc_dispmanx_element_add(dispman_update, dispman_display,
   0, &dst_rect, 0, &src_rect, DISPMANX_PROTECTION_NONE, 0,      0, 0);

背景の設定箇所を変更します。

// 508 行目の関数 glClearColor の第 4 引数を 0.0f に変更します。
glClearColor(0.4f, 0.2f, 0.0f, 1.0f);
      ↓
glClearColor(0.4f, 0.2f, 0.0f, 0.0f);

第 4 引数がアルファ値で 0 にするほど透明になります。

変更したソースをコンパイルします。 コンパイル用のコマンドも同梱されているので 次のようにコマンドを実行するだけです。

pi@raspberrypi /tmp/triangle03 $ ./build

プログラムを実行します。

pi@raspberrypi /tmp/triangle03 $ ./triangle

コンソールの画面の上に重なって三角形が回ります。

WRITE_0628_01

カッコいいですね。

Raspberry Pi に tripwire を入れてみる

11/10 大阪で開催された『LPIC レベル3 303 Security 技術解説無料セミナー』で tripwire が解説されていたので、 せっかくなので Raspberry Pi に入れてみます。

tripwire は、ファイル改竄などを検出するためのツールです。

ある時点のファイルの状態をデータベースに保存しておいて 現時点の状態と比較することができます。

tripwire の設定ファイルやデータベース自体が改ざんされないように 認証用のキーを作成する必要があるのですが 最近は、インストールの流れで作成することができます。

apt-get します。

$ sudo apt-get update
$ sudo apt-get install tripwire

途中、サイトキーを作成するためのパスフレーズを求められます。

WRITE_0626_09

サイトキーは、設定ファイルを改ざんされないためのキーです。

ローカルキーを作成するためのパスフレーズを求められます。

WRITE_0626_11

ローカルキーは、データベースを改ざんされないために使用するキーです。

インストールが終了したら、データベースを初期化します。 これによって、「この時点」のファイルの情報をデータベースに保存します。

$ sudo tripwire --init
Please enter your local passphrase:

ローカルキーのパスフレーズが求められます。

データベースに保存した情報と、「現時点」のファイルの情報を 比較するには "--check" オプションを使用します。

$ sudo tripwire --check

レポートが表示されます。

レポートを再度表示するには、比較時に生成された twr ファイルを読み込みます。

$ cd /var/lib/tripwire/report
$ sudo twprint --print-report --twrfile raspberrypi-20121115-211440.twr

「比較した時点」のファイルの情報でデータベースを更新するには、 比較時に生成された twr ファイルを使って以下のようにコマンドを実行します。

$ cd /var/lib/tripwire/report
$ sudo tripwire --update -a --twrfile raspberrypi-20121115-211440.twr
Please enter your local passphrase:

データベースの更新なのでやはりローカルキーのパスフレーズが求められます。

Raspberry Pi で OpenGL ES2 ?

Raspberry Pi で何か変わったことがしたいのですが、 下のサイトによると Raspberry Pi は、OpenGL ES2 をするのに適している環境らしいです。

[参考サイト]
Raspberry Pi メモ (7) OpenGL ES2(1) - Jun's homepage

サンプルを試してみます。

ダウンロードして解凍します。 サンプルは HDMI で接続した画面に表示されますが、操作は SSH で接続したコンソールからできます。

pi@raspberrypi ~ $ cd /tmp/
pi@raspberrypi /tmp $ wget http://www.mztn.org/rpi/triangle03.tar.gz
pi@raspberrypi /tmp $ tar xzf triangle03.tar.gz

実行します。

pi@raspberrypi /tmp $ cd triangle03/
pi@raspberrypi /tmp/triangle03 $ ./triangle

これだけで HDMI で接続した画面に三角形が回ります。

WRITE_0625_01

なんかすごいですね。

Windows の MongoDB サービスで RECT を有効にする

Windows で MongoDB をサービスとしてインストールする場合 デフォルトでは RECT は無効になっています。

C:\> mongod --install ^
            --logpath E:\MongoDB\log\log.txt ^
            --dbpath E:\MongoDB\data

RECT を有効にするには、"--rect" オプションを指定します。

C:\> mongod --install ^
            --logpath E:\MongoDB\log\log.txt ^
            --dbpath E:\MongoDB\data ^
            --rect

すでにインストール済みの場合は "--install" オプションを "--reinstall" に変えて実行します。

これで RECT が有効になります。

WRITE_0624_01

サービスの「実行ファイルへのパス」にオプションが追加されます。

Raspberry Pi 起動

前回の「準備中」から間が開いてしまいましたが、今回は Raspberry Pi (ラズベリーパイ) に OS を入れて起動します。

Raspbian という Debian ベースの Linux を Raspberry Pi 用に最適化したものがあるので、それを使用します。

Raspbian をダウンロードして SD カードに書き込んでいくのですが、手順は下のサイトが参考になります。

[参考サイト]
Raspberry Pi メモ (14) - Jun's homepage

「最初の起動時に表示される設定画面」で expand_rootfs を選択したところ 再起動後の拡張で結構 (10 分くらい?) 待たされました。

WRITE_0621_03

あと、最初は、overscan を有効にしていなかったので 出力が TV の画面よりも大きくなってしまい、 ログインプロンプトが画面の端で切れてしまっていました。

WRITE_0621_04

ラズベリーのマークも半分見切れてしまいました。

WRITE_0621_05

overscan を有効にしたら全部表示されるようになりました。

WRITE_0621_06

ちなみに うちの TV の場合、overscan の有効・無効で解像度が次のようになっていました。

状態解像度
overscan 有効1184x624
overscan 無効1280x720
HDMI 未接続656x416

MongoDB 2.2.0 は WindowsXP サポート外

WindowsXP 環境に MongoDB 2.2.1 を入れようとしたら エラーになったメモです。

mongodb-win32-i386-2.2.1.zip をダウンロードして mongod.exe を実行したところ
『プロシージャ エントリ ポイント InterlockedCompareExchange64 がダイナミック リンク ライブラリ KERNEL32.dll から見つかりませんでした。』
という エラーメッセージが出ました。

[参考サイト]
marunouchi-mongodb/20120926/syokenz at master ・ syokenz/marunouchi-mongodb ・ GitHub

上記サイトによると、2.2.0 で WindowsXP のサポートは終了したそうです。

MongoDB 2.0.7 を入れたら動きました。

Google サイト内検索

Amazonアソシエイト