ほっしーの技術ネタ備忘録

技術ネタの備忘録です。基本的に私が忘れないためのものです。他の人の役にも立つといいなぁ。

2011-01-01から1年間の記事一覧

本当にキモかった boost

C++

本当は怖い○○童話、にかけようと思ったんですが、 boost がキモいのは既に周知の事実ですのでこのタイトルになりました。 さて、boost の中でキモいものと言えば、spirit, mpl, fusion などいろいろありますが、 今回はこの中でも boost::mpl を取り上げてみ…

ezjail 仮想マシンで実行する (2)

id:Hossy:20110627 これのバージョンアップ版です。 マシン名を . にするとホストマシンで実行します。(=sudo) $ jsudo . hostname host.example.net マシン名を / にすると全仮想マシンで実行します。 $ jsudo / hostname host.example.net jm1.example.…

DIAGNOSTIC を付けると nullfs で panic するバグ

これを踏みました。 DIAGNOSTIC を付けるとデバッグ用に各種診断コードが挿入されますが、 nullfs 内で、false positive が発生しているようです。 http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/141091対策パッチは send-pr されている通り、診断コード…

openssl コマンドで SSL ソケット接続

トラブルシューティングをするとき、 普通の HTTP なら telnet コマンドを使って $ telnet localhost 80 GET / HTTP/1.0 Host: localhostで直接プロトコルを喋れるので便利なんですが、 HTTPS のように SSL で暗号化されてる場合はこの手が使えません。 そん…

loader.conf で ukbd.ko を読み込むと起動しないバグ

/boot/loader.conf に ukbd_load="YES"と書いておくと、GENERIC カーネルでも起動しなくなるバグを踏みました。 @FreeBSD 7.4-RELEASE-p1 http://www.freebsd.org/cgi/query-pr.cgi?pr=usb/125736 既に send-pr されてますが、7 系にはパッチがあてられてい…

vim over PuTTY でクリップボードを使う方法

.vimrc に set mousue=aと書いて、vim 上でマウスが使えるようになったのはいいんですが、 その代わりにクリップボードが使えなくなったのでその代替策です。 コピー 設定/ウィンドウ/選択 にある 「Shift がアプリケーションのマウス使用を無効にする」 に…

Wintab の開発環境構築

なんか昔は SDK をダウンロードしてパスを通すだけで済んだんですが、 最近はそうでもないようで面倒です... .h ファイルの入手 ワコムからリンクを辿ったデベロッパーズページにサンプルがあります。 これを展開すると Include ディレクトリにヘッダファイ…

Visual Studio 2005 + STLport 5.2.1 + boost 1.47.0 + 64bit対応

何度でもハマりますこの組み合わせ。 今回はメインのマシンを Windows 7 64bit にアップデートしたので、 32/64 両方の環境を構築します。 STLport 5.2.1 のインストール STLport 5.2.1 の Makefile が x86 環境用のクロスコンパイルに対応していないので、 …

awk でπを計算

本当は sed で計算したかったけど、sed で四則演算する方法が思いつかなかったので、 代わりに awk で。どこかで拾ってきたコードを移植したらそのまま動いたので面白みがない……

snmpd のセキュリティ

mrtg でグラフ化するために snmpd を走らせてましたが、 デフォルトのままだとプロセス一覧とかディスク一覧とかいろんな情報がダダ漏れ状態なので、 リードオンリーとは言えセキュリティ的にちょっと... なのでその辺をきちんと設定。 /usr/local/share/snm…

snmptrapdって?

net-snmp をインストールすると一緒に入る snmptrapd。 snmp trap メッセージを受信してログを記録したりメールしたりしてくれるものらしい。 私は mrtg でグラフ化したいだけだから要らないや。。。 というわけで無効化。 #snmptrapd_enable="YES"

ntpd の Listen アドレス

FreeBSD 標準の ntpd は問答無用で 255.255.255.255 で Listen してしまいます。 ezjail などでマルチホストにしてると警告が出たりして面倒。 回避策を探してみたけどソースコードに手を加える必要がありそうなので、 諦めて OpenNTPD に逃げ。こちらは Lis…

SSI の echo で日本語を表示する

encoding="none" を付けないと文字化けするようです。 昔はこんなのなかったのに。。。

SSI の有効化

数年ぶりに SSI を使おうと思ったら、いつの間にか設定方法が変わっていてハマり。 <Files ~ "^hoge.html$"> Options +Includes AddOutputFilter INCLUDES .html </Files>AddHandler とか書いてたのも昔の話なんですねもう。。。

gs で pdf を吐く その2

以前の方法 id:Hossy:20100708 だとなんか色々ハマったので改良版。 C:\> cat input.eps | gswin32c -IC:\Programs\gs\gs8.70\lib -sDEVICE=pdfwrite -r300 -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -sOutputFile=output.pdf -c .setpdfwrite -f - 結構前に書いた…

ezjail 仮想マシンで実行する

したかったこと。 $ cd /usr/jails/pub/usr/local/ $ jsudo pwd /usr/local $ jsudo etc/rc.d/apache22 status apache22 is running as pid 2575.もしくはホームから直接。 $ cd $ jsudo /usr/jails/pub/usr/local/etc/rc.d/apache22 status apache22 is run…

Core2Duo の CPU クロック

諸事情あって色々調べて回ったので備忘録。 FSB 速度 FSB のクロックは MSR 0xCD 番地の [2:0] ビットを読む。 具体的な値と周波数の対応は Intel で配布してる Software Developer's Manual Volume 3B: System Programming Guide にて。100MHz〜400MHz まで…

C言語のリンケージとか変数宣言とか

実はこのあたりの話を理解しないままに10年近くCでコーディングしていたことに気づいたので、勉強したついでに備忘録。 リンケージ まず基本から。リンク時にシンボル名が被った時に、実体との対応付けをどうするか、これが3通りあります。 外部リンケー…

Visual Studio 2008 + STLport 5.2.1 + boost 1.46.1

もうここまでくるとハマることもないんですが、毎回調べるのも面倒なのでメモ。 今回の環境はこれです。 Visual Studio 2008 STLport 5.2.1 boost 1.46.1 以前よりさらに楽になりました。 C:\boost_1_46_1> bootstrap.batこれを叩くだけでコンパイルして bja…

PHP のバグ再来

詳細はここに。パッチもここに。 http://bugs.php.net/bug.php?id=52797 簡単にいえば、char* をそのままコピーしてしまったバグです。 strdup などを作って新規領域にコピーするのが正しいコーディング。 典型的な double free のバグですね。 いつになった…