C++用ビジュアライゼーション環境”openFrameworks”をぺろぺろしてみた

ビジュアライゼーション言語,すなわち手軽なデザイニングや可視化に特化した言語・環境といえば,Javaベースのprocessingが非常に有名です.
C++上でライブラリとして提供される同様のものにはcinderやopenFrameworkといったものがあります.
特徴はやっぱり速いこと.
例えばProcessingと比べるとC++なので然るべきコーディングをすれば然るべき速度差で動きますし,何も考えなくともOpenGLでよろしく描画してくれるので,そこらのX11やGDIで動くGUIツールキットで頑張るのとは段違いの速度で動きます.

今cinderの人気が高まっている印象ですが,Linuxで使えない(無理ではないらしいけどタダではすまない)という僕にとってはとても残念なかんじなので,より歴史のある(らしい)openFrameworksを使ってみました.

で,実は2011年12月3日に開催される名古屋合同懇親会で,僕がこのネタでLTさせていただくことになってます.
よろしかったら直接おいでいただくかustで視聴してみてください.
NGK2011B 昼の部(LT大会) ←こっちでしゃべります
NGK2011B 夜の部(懇親会+野良LT大会)

Continue reading

Nagiosでサーバ監視@squeeze

あんまし情報がないですね.みなさん余裕だからですか.
WEBベースのサーバ監視システムの一つにNagiosというのがあります.すごい高機能です.
ということで導入と動かすまでの設定方法をかるーくメモ.

環境はDebian6(x86)で,LAMP構成とします.
入れたのは他でもないこのサーバ(さくらVPSで稼働)です.最近いろいろあってクリーンインストールしました.

今日のところは,細かい設定はアドホックなかんじになるので省略ということで.
あとVirtualHost下にしたりみたいないろいろできますがそのへんも気が向いたら書きます.
あんま詳細書くと僕がこの鯖のどこをどう固めてるかわかっちゃうので気は向かないと思うんだ.

以下の作業は特記ない場合全てサーバ上で行います.

Continue reading

tmuxが固まる

tmuxを愛用してるんですが,

  • アクティブなウィンドウ内に複数のペインがあって,
  • そのペインのうちどれかの中で大量のコンソール出力がある

という条件のときに,tmux自体が固まる現象が生じます….

固まると,

  • 一切の入力を受け付けなくなる
  • 別のウィンドウに移動することもできない
  • セッションの情報が残らないので,どうにもできなくなる

    • とりあえず殺すけどセッションを復旧できない

ヒストリーバッファのサイズは十分だし,あるいは逆に小さくすることで肥大化しないようにもしてみたし,
「大量の出力」と言っても具体的にどのくらいなのかわかりません.
どんぐらいのペースで出たら,というのも不明.
(例えばgccのmakeなんかで出るペースだと大丈夫そう)
topで見た感じだと無限ループのようなかんじでもないし.

tmuxのバージョンは1.5でUbuntu 10.10 x86です.
調べた感じ同じ現象に遭遇してる人があんましいないみたいです.
とりあえずヒマなときにどっかに投げてみるか,自分でデバッグを試みるか.

GCC 4.6.2が出たので手動インストール方法メモ(Linux)

先週にRCが出て,昨日4.6.2が出ました.
さすがにNightlyを常用するようなアレじゃないので,公式リリース待ってました.
で,ディストロの標準パッケージではたいてい落とせないと思うので,手動インストールを.

ということで,Linuxな人がgccを初めてイチからインストールするときの手順を簡単にまとめます.

Continue reading

ハードリンクはgitでは…

ファイルAをgitリポジトリに置いて,AのハードリンクBも同じリポジトリに置きます.
んで,Aを変更したら?

ハードリンクって何…と知ってたらそのまんま予想通りなかんじ.
そのまんまです.はい.なにも不思議なこともなければ面白いこともありません.

% git init
Initialized empty Git repository in /○○○○○/.git/
% echo "hogehogehogehoge" > hello.txt                        #一つ目のファイルを作ってコミットします
% git add hello.txt
% git commit -m "hello.txt"
[master (root-commit) acee5b5] hello.txt
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 hello.txt
% ln hello.txt hello2.txt                                    #ハードリンクを作ります
% git status                                                 #新しいファイルが追加されたことに
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       hello2.txt
nothing added to commit but untracked files present (use "git add" to track)
% git add hello2.txt                                         #ハードリンクもコミットします
% git commit -m "hello2.txt"
[master bd15fe1] hello2.txt
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 hello2.txt
% echo "fugafuga" >> hello.txt                               #一つ目のファイルをちょっと変更します
% git status                                                 #変更は検出されたでしょうか
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   hello.txt
#       modified:   hello2.txt                               #もちろん二つ目のほうのファイルも変更されたことになります
#
no changes added to commit (use "git add" and/or "git commit -a")

くそおもしろくない記事でごめんなさい.
そもそもgitだからどうのっていう話ですらない.これはひどい.

GitoriousをUbuntu 11.04 Serverにインストール

GitHubクローンの代表格なGitホスティングサービスGitorious,今では例えばQtもホスティングされています.
このシステムをまるごと自分のWWWサーバに入れて,ユーザ数やプロジェクト・リポジトリ数,非公開設定まで無制限な,WEBベースのリポジトリ管理システムを構築することができます.

タイミング悪いですね

もともとMarcurialホスティングサービスなBitbucketがGitに対応して,無料アカウントでもユーザ数5人まで,公開/非公開・数・容量共に無制限のGitリポジトリを置けるというとんでもないサービスが始まりました.
何と言うことでしょう.やっぱ外に置くのは不安じゃんって人もいるでしょうけど,それにしても今日の記事は無駄になるのでしょうか.

ビルドサーバとしてfook書いてCIと連携したりできるシステムを構築するところまですれば,差も出るのかもしれません.
そこまでするならRedmineでも入れましょう.

都合の悪い話はおいといて話を進めることにしましょう><。。

Continue reading

VirtualBoxでWEB開発するときのネットワーク設定

したいこと.

  • ゲストでWWWサーバを稼働
  • ホストからそのサーバにHTTPアクセス
  • ゲストへはsshで入って作業

このために

  • ゲストは外に行けるように
  • ホストはゲストに入れるように
  • ゲストは外から見えないように

公式マニュアルだとNATにしてport forwardingにするといいよとのことですが,それだと外から見えちゃうし,設定が(・A・)マンドクセ

解決策.
NATをプライマリNICにして,ホストオンリーアダプタのNICを追加で設定すると,できます.
ゲストOSからはそれぞれeth0とeth1が見えます.
ホストからHTTPやsshでeth1にあたる端末に接続するとゲストに入れます.

ただゲストが例えばCentOSだと問題ないらしいのですが,Ubuntuとかだと,非プライマリなNICの接続設定は手動でする必要がある模様.
以下ゲストがUbuntuのときの設定です.

/etc/network/interfaces

の設定ファイルへ,

auto eth1
iface eth1 inet dhcp

と追記してネットワークを再起動するとおっけーです.
でもDHCPはアレなので,固定IPにしてしまうのもイイと思います.

auto eth1
iface eth1 inet static
address 192.168.56.254
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255

んで,終わったらroot権限で

/etc/init.d/networking restart

これでおーけーです. ifconfigしてちゃんと設定出来てること,ホストからもつなげることを確認してください.

ついでにホストのhostsも設定しておくともっと(゚Д゚)ウマー

TeX Live 2011のインストール

メモです.
Ubuntu 10.04 LTS (x86)にて.

今まではTeX Live 2009 + ptexliveでやってて入れるのも使うのも結構めんどくさかった気がするんですが.
TeX Live 2011だから簡単なのか? 自分の入れ方使い方がマズかったのか? 後者だろうけど.

インストール手順

TeX Liveのサイト(http://www.tug.org/texlive/)の,”How to acquire TeX Live”のとこの”download”を.
ここで小さなオンラインインストーラ(install-tl-unx.tar.gz)を落とします.

% tar xf install-tl-unx.tar.gz
% sudo ./install-tl-20110805/install-tl

日付のとこは変わるかも. だいぶ時間かかります.

あとは,

PATH=/usr/local/texlive/2011/bin/i386-linux/:$PATH

なる設定を適切に.

確認に今まで書いた資料いくつかptex→dvipdfmxしてみましたが問題なく.ptexliveを入れなくてもいけるんですね.nkfでeucにせずUTF-8のままいけて(゚Д゚)ウマー