「風雲児たち 幕末編」12巻
リイド社 (2007/12/26)
「銃夢外伝」
(2008-1-7修正:登場するのは→主役なのは)
キレがあっておもしろかった。
ちなみに、今年(2007年)に雑誌掲載された「馬借音頭」以外は、20世紀に掲載された作品。
「クロサギ」16巻
今回のネタは、「裏口入学詐欺」と「住宅ローン詐欺」。手口のメモは、ネタバレなので「続きを読む」で。
小学館 (2007/12)
「アマゾン・ドット・コムの光と影」
そんなベタベタな労働集約産業として、アマゾンの配送センターに潜入して体験したことを書いたのが本書。2年ぐらい前に「文藝春秋」に掲載されたときに話題になったのだけど、ようやく読んだ。
著者は、本書の中で「自動車絶望工場」を引きあいに出している。時給900円で、2か月契約を更新(健康保険や厚生年金の負担が不要)。1分間に3冊のペースでピッキング。若い人が入っても1~2週間で辞めるので中高年がほとんど。1年続く人は10人に1人もいない。Amazonを使ったことがある人はいない。
まぁ、物流産業ではよくある話かもしれない。ただ、コンビニやスーパーを含めて、「便利さ」「顧客満足度」というのは裏でこういう体勢が支えているのだなと改めて思った。
とかいつつAmazonのアソシエイトを貼る。
情報センター出版局 (2005/04)
売り上げランキング: 41431
最近のRubyのREXMLでNameError
/opt/ruby/lib/ruby/1.9.0/rexml/document.rb:187:in `write': undefined local variable or method `trans' for <UNDEFINED> ... </>:REXML::Document (NameError)
REXML::Documentのwriteメソッドで、第2引数(indent)に0以上の値を指定するとNameErrorが上がる。バージョンは、rexml.rbによると:
VERSION = "3.1.7.2" REVISION = "$Revision: 13592 $".gsub(/\$Revision:|\$/,'').strip
該当行の「trans」を「transitive」に置換して回避。
Ruby 1.9.0で付属のdebug.rbがエラーになる件
% cat hoge.rb
puts 'Hello World'
% /opt/ruby/bin/ruby -r debug hoge.rb
Debug.rb
Emacs support available.
/opt/ruby/lib/ruby/1.9.0/debug.rb:221:in `debug_command': undefined method `callcc' for #<DEBUGGER__::Context:0xb7bb4bb4> (NoMethodError)
from /opt/ruby/lib/ruby/1.9.0/debug.rb:690:in `trace_func'
from /opt/ruby/lib/ruby/1.9.0/debug.rb:904:in `block (1 levels) in <class:DEBUGGER__>'
from hoge.ruby:1:in `<main>'
%
Rubyのソースのうち、continuationがext送りになっているようだ。ext/Setupに手で「continuation」という行を追加して(コメントアウトされているわけではない)configureからやり直したら、無事動いた(この段落は2007-12-29追記)。
(以下、元の誤った内容の残骸)
とりあえず7文字追加したら動いたっぽい。んなわきゃない、こりゃただのコメントアウトだ。あとで考え直す。
--- lib/ruby/1.9.0/debug.rb.bak 2007-06-18 16:55:45.000000000 +0900 +++ lib/ruby/1.9.0/debug.rb 2007-12-27 18:58:21.000000000 +0900 @@ -218,7 +218,7 @@ class Context def debug_command(file, line, id, binding) MUTEX.lock unless defined?($debugger_restart) and $debugger_restart - callcc{|c| $debugger_restart = c} + Kernel#callcc{|c| $debugger_restart = c} end set_last_thread(Thread.current) frame_pos = 0
Google Calendarがまた日本語iCalendar非対応に?
追記2009-10-17:「図書館の返却期限を取得し Plagger で iCal フォーマットに変換」によると、HTTPレスポンスのcharsetを指定するといいようです(未検証)。
昔、PlaggerでiCalendarデータを作ってGoogleに読ませようとすると、UTF-8の日本語が文字化けしていた。で、Filter::NCRっていう野良プラグインを作って数値文字参照形式に変換していた。その後、変換しなくてもUTF-8の日本語が通るようになったのだけど。
が、ふとGoogle Calendarを見たら、また化けるようになっていた。一時的なものかはわからないけど、再びFilter::NCRを設定してみた。
調べると、前のときにFilter::NCRを公開してなかったので、コピペプロダクトだけど貼ってみる。
しかし、仕様が予告もなく変わって、ソースコードも確認できないオンラインサービスは、文房具としては常用しづらいなぁ。使ってるからこそそう思ったんだけど。
package Plagger::Plugin::Filter::NCR;
use strict;
use warnings;
use base qw( Plagger::Plugin::Filter::Base );
sub register {
my($self, $context) = @_;
$context->register_hook(
$self,
'update.entry.fixup' => \amp;update,
);
}
sub update {
my($self, $context, $args) = @_;
my $body = $args->{entry}->body;
my $title = $args->{entry}->title;
$title = ncr_filter($title);
$body = ncr_filter($body);
$args->{entry}->title($title);
$args->{entry}->body($body);
}
sub ncr_filter {
my $text = shift;
# this line is copied from http://as-is.net/blog/archives/001121.html
$text =~ s/(\P{ASCII})/sprintf("amp;#%d;", ord($1))/eg;
$text;
}
1; 「女子大生会計士の事件簿」5・6巻
「女子大生会計士、はじめました」に続いて、本編も発売された。しかも2冊同時。さらに完結編。
今回の話は2冊続いているし、「はじめました」のネタも引いている。なので、「はじめました」→「5」→「6」の順に読むのがおすすめ。
ストーリーは…ハジけてるなぁ。
ネタバレなので、今回の会計知識のメモは「続きを読む」で。
Perl 5.10の新機能を試した話
先週の土曜に、仲間うちの活動報告会でPerl 5.10 RC2の新機能についてプレゼンしたところ、ちょうど今週に正式版がリリースされました。資料を捨てるのももったいないので、メモとして残しておきます。下にも書いてあるとおり、参考資料に書いてあることを試してみただけの内容です。
インストール
RC2の場合なので注意
% wget http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/perl-5.10.0-RC2.tar.gz % tar xf perl-5.10.0-RC2.tar.gz % cd perl-5.10.0-RC2 % sh Configure -des -Dprefix=/opt/perl -Doptimize=-O3 % make % make test % sudo make install
新機能の参考資料
このへんを参考にしました。
- perldelta - perl 5.10.0 の新機能
http://fleur.hio.jp/perldoc/perl/5.10.0/pod/perl5100delta.mix.html - Re: Why should I use perl 5.10?
http://perlmonks.org/?node_id=654086 - LL::魂::2007 - An Ordinary Perl 5.10 Guide
http://www.dan.co.jp/~dankogai/llspirit2007/perl5.10.html
以下、これらの説明を自分で試してみましたというだけの話です。
say
改行つきprint
print "スライムがあらわれた\n"; say "スライムがあらわれた";
変数を表示するときにより便利
print $i, "\n"; say $i;
新機能がみんなデフォルトで使えるわけじゃない
use feature qw( say );
あるいは、全部指定。
use feature qw( :5.10 );
ワンライナーで新機能を使う場合
-Eオプションを使う
-eとほぼ同じ機能だが、use feature qw( :5.10 );したのと同じになる
//演算子
||演算子に似たもの
$a || $bの場合:
0や""は偽
$a // $bの場合:
||と同じ使い方で、undefのときだけ偽
state変数
Cでいうstatic変数
sub hoge {
state $a = 0;
$a++;
}
スコープはmy/local変数と同じ、寿命はグローバル変数と同じ
グローバル変数やクロージャを使うまでもない場合
when
Cとかのswitch文相当
given ($a) {
when (/xyz/) { say 'matched xyz'; }
when (/bbc/) { say 'matched bbc'; }
default { say 'matched default'; }
}
いままでもSwitch.pmはあった
が、動的にソースフィルタリングしていた
forでも使える
for (@a) {
when (/xyz/) { say 'matched xyz'; }
when (/bbc/) { say 'matched bbc'; }
default { say 'matched default'; }
}
スマートマッチ
whenの条件はこれで比較
=~は、比較演算子としては使い方が特殊だよね
「~~」
==みたいに使える
$text ~~ /def/ # =~と同じ使い方 /def/ ~~ $text # 逆順。最近の言語はこっちが多い? 100 ~~ 100 # ==相当の使い方も /def/ ~~ @ary # 配列もOK
正規表現
いろいろ新機能など
パターンの再帰
(?番号)でパターンの再帰を表せる
/^(<(?:(?>[^<>]+)|(?1))*>)$/
対応する<>にマッチ
名前つき後方参照
\1とか$1とかのかわりに名前を使える
s/(?<moji>[a-zA-Z])\k<moji>//e
s/(?<moji>[a-z]+)/uc $+{moji}/e
%+というハッシュから参照できる
$text =~ /(?<moji>[a-zA-Z]+)(?<suji>\d+)/;
for my $key (keys %+) {
say "$key: $+{$key}";
}
相対番号で後方参照
/(.)(.)(.)\3\2\1/
/(.)(.)(.)\g{-1}\g{-2}\g{-3}/
\K
後読み言明の簡単なやつ
$text =~ s/[a-z]+\K\d+//;
量指定子+
行ったきりの最大マッチ
'aaaa' =~ /a*a/ # マッチします 'aaaa' =~ /a*?a/ # マッチします 'aaaa' =~ /a*+a/ # マッチしません
バックトラックしないことで効率化?(よくわからない)
その他
バックトラック制御とかTRIE化とかあるらしいけど
よくわかりません ><
ファイルテスト演算子を重ねられる
&&で条件を重ねなくてもいい
if ((-w '/path/to/file') && (-x '/path/to/file')) { ...
↓
if (-w -x '/path/to/file') { ...
レキシカルな$_
ブロック内で$_をmy変数にできる
元の$_は$::_でアクセス
while (<DATA>) {
my $_ = 'ABC';
s/A/#/;
print $_, ':', $::_;
}
_プロトタイプ
プロトタイプ宣言の引数に「_」が追加された
「$」とほぼ同じで、省略時に$_を受け取る
sub hoge(_) {
...
}
hoge;
``を再定義
readpipe()を再定義
BEGIN {
*CORE::GLOBAL::readpipe = sub($) {
$_[0] . ' ignored';
};
}
標準モジュールにいろいろ追加
とりあえず目立ったもの
- Digest::SHA
- Module::Build
- Module::Pluggable
- CPANPLUS
第82回カーネル読書会
天文シミュレーション専門のスーパーコンピュータ「GRAPE」について、牧野淳一郎氏が語るということで、YLUGのカーネル読書会に参加した。以下、営業系サラリーマンの受講メモ。
追記2007-12-20:さっそくビデオが公開されました。
- 計算天文学とは
- 天文学は基本的に実験ができず、観測する学問
- 計算機でシミュレーションして実験
- 計算機の能力
- 東大センターと比較して、だいたいいつも1/10ぐらい
- 次期システム 6Tflops
- ベクトル部分:SZ-9、スカラー部分:Cray XT4
- XT4のスケーラビリティは非常によい
- が、4 coreでの性能は未知数
- メモリバンド幅があまり上がっていないので、そこがネックになる可能性も?
- が、4 coreでの性能は未知数
- XT4
- ネットワークがとても速い
- ほかのPCクラスタ買うより安い
- でも普通のPCのだいたい10倍ぐらいする
- GRAPEとは
- 重力多体問題
- 遮蔽がないのですべての点を計算しなくてはならない
- そこだけ速くする電子回路(計算機というより)
- 近田提案
- 5素子の電波望遠鏡を処理する
- 決め打ちで電子回路を作る
- 重力多体問題
- GRAPE-1(1989年)
- 固定16bit→対数8bit→固定32bit→固定48bit
- ホストのGPIBインターフェイスの性能が出ない
- Sony NEWS
- PC-9801から移したら、CPUは速くなったがI/Oが遅くなった
- ユーザープロセスからGPIB制御チップをいじり回すプログラムを書いた
- すべてのレジスタをユーザー空間から見えるようにして制御
- OSのオーバーヘッドなし
- 本当はマルチタスクOSでやってはいけない手(笑)
- Q:「20万円でスーパーコンピュータ~」の本はどれだけ正確?
- A:伊藤氏の見た部分については客観的に書かれている
- GRAPE-2(1990年)
- GRAPE-1と平行開発
- 普通に浮動小数点演算
- 名目ピーク値に近い数字が出る
- GRAPE-3(1991年)
- GRAPE-1相当の回路を1チップ化
- 数十倍の性能
- GRAPE-4(1995年)
- GRAPE-2相当の回路を1チップ化
- そのチップを1,792個
- 1.1Tflops
- GRAPE-6(2002年)
- 64Tflops
- バックエンドのGRAPE側でネットワーク構成を工夫
- パイプラインLSI
- Intelチップは0.1%が演算機能、GRAPEは90%が演算機能
- Q:GRAPE-5は?
- A:GRAPE-3の後継で作った。性能低め
- 商業版GRAPE
- GRAPE-3以降
- 商業版GRAPE-6を約30機関が導入
- 蛋白質計算用GRAPE
- MIDGRAPE-2
- GRAPE-DR計画
- 次期GRAPE
- 問題:「天文だけ(しかも理論だけ(しかもN体だけ))」の機械としてはチップ開発コストが大きすぎる
- 10億円
- 次期GRAPE
- 応用に特化するが、広い応用範囲を実現
- できるか?
- トランジスタはたくさんある
- チップのトランジスタ数の伸びに比較して、演算器は増えていない
- パイプラインをやめ、単純な計算器(PE)を大量に並べて、ソフトウェアで制御
- PEはメモリ256語
- 量産型ボード
- 今日写真が届いた(まだ試してない)
- PCI-Expressカード(8レーン)に4 GRAPE-DRチップ
- PCより消費電力が大きい
- 現在、PCI-Expressで1チップのボードが動作中
- プログラムをどう書くか
- GRAPEでやっていたことなら簡単にできるようにした
- 数式相当のものから、アセンブラと、ホストからのインターフェイス関数(C?)を生成
- ベクトルや並列は衰退
- PCクラスタが残っている(安い)
- チップ間配線とチップ内配線の差
- 生産数
- マイクロプロセッサはスーパーコンピュータに起きたことを20年遅れでたどっている
- マイクロプロセッサもあと数年で停滞?
- GPU計算?
- かつてはムーアの法則を越える伸び
- しかし2005年ごろを境に成長率が落ちている
「女子大生会計士、はじめました」
さおだけ屋本の山田真哉氏のヒット作「女子大生会計士の事件簿」シリーズ最新刊。会計入門としても、ラノベっぽい小説としても、さらっと読めて面白い。
今回は、3人称形式の話や、殺人事件、まるきりギャグの話、カッキー登場以前のエピソードなど、柔らかめの話が続く。「ヴェニスの商人」の話は、会計ネタもそこそこに、ひたすらベタなギャクが続き、不覚にも電車の中で吹いてしまった。
角川書店 (2007/11)
売り上げランキング: 1068
今回の会計知識をメモっておくが、ネタバレなので、「続きを読む」で。
石川賢「神州纐纈城」
池上遼一の「黄金仮面」がそっくりだなと思ってネットを検索すると、やっぱりそういう指摘があった。そこまでそのままじゃないけど、ダース・ベイダーも似てる。
講談社 (2006/03)
売り上げランキング: 190438
講談社 (2006/03)
売り上げランキング: 189476
「墨攻」1~8巻
最初のほうはともかく、まるきり別の話になっていた。非戦といいつつ、革離が攻めまくってるし。
が、これもまたすごく面白い。原作と違ってドラマチックに展開しまくるし(原作の淡々とした感じもそれはそれで好きだが)。ラストが性急ではあるけど、事情はさておき、これはこれでダイナミックでいい。
小学館 (1999/05)
売り上げランキング: 29509
小学館 (1999/06)
売り上げランキング: 16246
小学館 (1999/07)
売り上げランキング: 16180
小学館 (1999/09)
売り上げランキング: 87866
小学館 (1999/10)
売り上げランキング: 16135
小学館 (1999/11)
売り上げランキング: 13211
小学館 (1999/12)
売り上げランキング: 11087
「PLUTO」5巻
小学館 (2007/11/30)
「ベルセルク」32巻
「デトロイト・メタル・シティ」4巻
白泉社 (2007/11/29)
「できるPRO Fedora 8 Linux完全活用編」
「できるPRO Fedora」シリーズをFedora 8に対応させた改訂版です。改訂といったって、けっこうバグとか仕様変更とかあって大変だったんすからもう。たとえば、デフォルトでcupsが起動エラーになるとか。
それはさておき、今回の新ネタは、Mac OS X LeopardからDHCPやらCIFSやらでLinuxサーバーに接続する方法。ワークグループへの参加方法がLeopardで変わってるので、そのあたりも対応した。って何の本なんだか。
そうそう、DVD-ROM版に加えて、Live CD版Fedora 8もついてます。よろしく。
インプレスジャパン (2007/12/19)
売り上げランキング: 36001
「ときどきの雑記帖 リターンズ」のRSS
http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0711c.html#D20071128-4
RSS配信してくれてないから更新されているのを忘れていた○| ̄|_ (って自分の身にも痛かったりして:)
私はPlaggerのCustomFeed::Config(野良プラグイン)にこんな設定を食わせて自分専用フィードを作り、LDRで読ませていただいてます。記述がやや冗長なのは、人力マークアップの揺れに対応したつもり。
custom_feed_handle: http://www\.kt\.rim\.or\.jp/~kbk/zakkicho/
custom_feed_extract_date_format: %Y%m%d
custom_feed_extract_xpath:
link: //div[@class="entry"]/h4/a/@href
title: //div[@class="entry"]/h4
body: //div[@class="entry"]/h4/..
custom_feed_extract_after_hook: |
$data->{title} =~ s|^.*</a> ||ms;
$data->{title} =~ s|</h4>.*$||ms;
$data->{title} =~ s|</?[ah][^>]*>||g;
($data->{date}) = $data->{link} =~ /#D(\d{8})-\d+$/; 















