USB-RH で遊ぶ - daily dayflower で USB-RH という USB 接続温湿度計を Linux から使えるようにしましたが,このままだとコマンドラインから温湿度を調べることしかできません。やっぱり見たいのはグラフによる傾向!てことで,普通なら RRDTool と組み合わ…
USB-RH って何?ストロベリー・リナックスさんが開発・販売している USB 温度・湿度測定モジュールです。スイス製半導体温湿度センサを利用した高精度温湿度計で,ディスプレイの類はまったくついていない代わりに,USB を通じて温度・湿度を読み取ることが…
たとえば, #!/usr/bin/perl use strict; use warnings; local $SIG{__DIE__} = sub { warn "signal handled"; die $_[0]; }; require Foo; die "foo"; こんなスクリプトがあったとして,実行すると, signal handled at test.pl line 7. foo at test.pl lin…
PerlIO の encoding layer は,$PerlIO::encoding::fallback という変数に fallback type を指定しておくことができるみたい。ということを PerlIO::encoding - encoding layer - metacpan.org 見て知った。encoding いじるのに PerlIO 使うのはなんとなく敬…
ひさびさに Template Toolkit を触ってて,普通に html のシンタックスハイライトで書いていたんですが,< とか > とかの演算子がでてくると,ハイライトがおかしくなるのが煩わしい!と思ってたら,TT2 用の文法ファイルを書いてくださった方がいらっしゃる…
正規表現でいう ^a_c.* みたいなのをひっかけようと思って, my ($sql, @binds) = SQL::Abstract->new()->select( # table 'foo', # fields [ '*' ], # where { id => { LIKE => 'a_c%' }, }, ); みたくやると,a_code だけでなく abc もマッチしてしまう罠…
たとえば, $ hg qpush applying 248.diff now at: 248.diff $ hg qpush applying 249.diff now at: 249.diff $ hg qseries -s 248.diff: 記事追加機能を仮実装した(うまくいっていない) 249.diff: 記事追加機能を修正した 250.diff: 記事編集機能を実装し…
MQ でなんの気なしにバイナリファイルを扱うと,バイナリファイル自体を lost します。これはこわい。というか実際にはまりました。 現象 まずバイナリファイルを追加。 $ hg init $ perl -e 'print "\x00"' > bin $ ls bin $ hg addremove adding bin $ hg …
いま working copy がこんな状態だとする。 $ hg status M aaa M bbb M cccとりあえず aaa だけ commit しようと思って…… $ hg ci -m 'modified aaa'あああパス指定するの忘れた。 $ hg statusbbb, ccc も changeset に取り込まれてしまった!やりなおしたい…
巷では git の大ブームだけど,ひさしぶりに Mercurial について書きます。 Mercurial について言及されたブログとか読んでいるとき,たまに MQ という言葉を目にして気になっていた。ながらく気にはとめつつ全然調べていなかったんだけど,ちょっと利用しよ…
いままで履歴つきのバックアップは pdumpfs*1 でとっていたのですが,rsync のオプション(--link-dest)を使うと同等のことをできるらしいと知りました。 バックアップにrsync --link-destを使うと良い場合もあるよ | rutoの日記 | スラド rsyncで差分バッ…
APR を利用したプログラムを書いていて,それを配布したい。 MODULE.JP - Apache Portable Runtimeをあなたのプロジェクトに取り込む という素晴らしいテキストがあるんだけど,これはソースディストリビューションに APR library を同梱する前提でかかれて…
LDR を使っててフィードの最後に到達したときにたまにでてくる というメッセージを「最低だよ」に空目したので,いくつか集めてみました。 もう呆れ果てて立ち上がる気力すらなくしちゃったんだね。 ほんとにごめん。 これからは心を入れかえるよ。 わざわざ…
だらだらと書く。 仕様をフルに満たしている UUID の CPAN モジュールがほとんどない Pure Perl で書かれたまともな UUID モジュールが CPAN にない そのくせ UUID の既存の実装が CPAN にいっぱいあって混乱ぎみ (ここまでは UUID と Perl について - dail…
おまえは何を言っているんだみたいな話だったらすみません。 たとえば,foo() という関数を export している ModA というモジュールがあるとします。 package ModA; use strict; use warnings; use base qw( Exporter ); our @EXPORT = qw( foo ); sub foo {…
Perl スクリプトをトレースするには Perl デバッガを使ってもいいですが,全体的な実行フローを追いたい場合 Devel::Trace が使えます。たとえば #!/usr/bin/perl use strict; use warnings; my $i = 0; sub foo { bar(); baz(); } sub bar { baz(); } sub b…
APR(の一部の APR-util)には,各種データベースを統一インタフェースで使うことのできる DBD API があります。のでちょっと使ってみました。ちなみに普通に C でアプリケーションを書いている人にはあまりおすすめできないと思います。統一インタフェース…
UUID と Perl について - daily dayflower でうだうだ書いてたのですが,Pure Perl 実装の UUID generator が欲しくなったので書いてみました(各種 UUID モジュールのインタフェースを共通化するモジュールはまだ書いていません)。CodeRepos に置いてあり…
UUID がどういうものであるか,とか UUID の表現形については省略します。 UUID - Wikipedia が参考になるかと。UUID の仕様として RFC 4122 を参照しました*1。なのでより細かいことについては原文を参照してください。策定されるまでにいろいろ経緯がある…
はてブのクライアントサイドでの処理時間を示すことのできる #benchmark ハッシュなんて話もありましたが(→2009-01-21 - 聴く耳を持たない(片方しか)),サーバサイドでどれくらい処理時間がかかったか(を反映していると思われる)示すレスポンスヘッダを…
use strict; use warnings; sub Dump { @_ = map { sprintf "'%s'(%s)", $_, utf8::is_utf8($_) ? 'utf8' : 'bytes' } @_; print {*STDERR} join(q{, }, @_), "\n"; } no utf8; Dump( foo => 'bar' ); #=> 'foo'(bytes), 'bar'(bytes) no utf8; だもんで,両…
テストが膨大になっていくと,あるテストでは時間がかかったりして「そのテストはもう成功することがわかっとるっちゅうねん;失敗するテストだけ再テストしたいっちゅうねん」ってことになったりします。そんなときに使えるのが prove コマンドの --state …
こんにちは! みなさんガジェットつくってますか! なんだか最近、色々な種類があるみたいですね!(以下略!)そしたら意外と簡単だった…! これならぼくにも作れそう!!ってことで、ちょっとメモしておきますね! どれにしようかな…! おもしろいこと Ubu…
DRBD のディスク上に LVM を構築しようとしたらちとはまりました。うーん困った,とおもってググったら,解決してる先達がいらっしゃいました→DRBD-8.0.X + LVM2 - end_of_scriptの日記。元記事では生ディスク /dev/sda3 の上に DRBD を構築して(さらにその…
VMware ESXi で各種ディスクのベンチマークをとってみた - daily dayflower の動機とか思索とかメモメモ。 iSCSI や NFS によってディスクを外在化させれば,DRBD や LVM を活用して堅牢な VM image store とすることができる local disk だとサポートされて…
ESXi でネットワーク Disk 上に VM を構築するにはいくつかの手段があるのですが,それらの速度を測定してみました。 おことわり おもに下記の命題を検証するために測定を行いました。 NFS data store でも iSCSI data store / raw disk と比べて遜色ない(…
例のバグとは,あの overload rebless のバグを解消するために bless にパフォーマンスペナルティが発生していたやつです。 overload の rebless バグについて - daily dayflower CentOS 5.1 の perl をリビルドする - daily dayflower ずいぶん前*1ですが,…
複数ファイルをビルド対象とした XS の開発について,あまり手間をかけないシンプルで効果的な方法を書いていきます。自分の経験をもとに書きますのでベストプラクティスではありませんが。 余談(SV*() マクロの sideeffect にやられた話) state_stack と…
mala さんの CPAN 最速検索を便利に使わせてもらってるんですが,操作上ちょっと不満なところがいくつかありまして。 カーソルキーのオートリピートがきかない ホイールがきかない 候補の同時表示数が固定 Firefox だからかもしれないですけど。んで改造しよ…
id:tokuhirom さんが http://d.hatena.ne.jp/tokuhirom/20081209/1228829454 で下地をつくってくださったので(perl-users.jp むけまとめも期待してます),ちょっとアドバンスドな話題を。 例題 http://www.sra.co.jp/people/m-kasahr/eb/ http://www.sra.c…