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

sky2のその後の安定性向上について

sky2が不安定だと書いたけど、その後何回かKernelがアップデートされて、かなり不安定さは解消された。まだたまに刺さるけど、頻度は数日に一回とか、そんな程度のレベルになった。一ヶ月前には負荷をかけるとほぼ確実に刺さっていたことを考えると、劇的な…

TinySVMにあまり大きなインデックスをあたえるとOut Of Memoryエラーになる

1 svm_learnがOut Of Memoryで落ちた。しばらく原因がわからなくって困ってしまった。データの持ち方がハッシュじゃなくて配列になってるのかな?

正例と負例の数、もしくはSVMが対応できるスパースさの限界

これまでにあんまりやられてないタスク(だからもちろんメジャーなコーパスとかは無い)を機械学習でやってみようとして、とりあえず自分でちょろっとコーパスを作って、SVMで学習させて、それでまたコーパスを増やして、とブートストラップしていこうと思っ…

Rubyで各文字処理

Rubyでの文字単位での処理もちょっとだけ調べてみた。each_charはStringクラスにはデフォルトでは存在しないようだ。(require 'jcode'すれば使えるようになる。)str[2]みたいなアクセス法でアクセスした場合はバイトインデックスになる。これはjcodeを使って…

Perlで各文字処理のその後

案1. $str = substr($str, 0, 1);でループを回す→遅すぎ(7万文字程度で大体21秒。) 案2. メモリの事は気にせずsplit //, $strしてからループを回す→7万文字は一瞬で処理できたが、調子に乗って文字数を増やすとなんかOSごと固まった(もう怖いので試したく…

Perlで1文字単位で処理

Perlで1文字単位で処理をする方法を調べたんだけどと、正規表現で一回文字列を全部分解してその配列を処理しましょうとか、Perlは正規表現が充実しているので大抵のケースで1文字単位で処理をする必要はありません、もう一度よく考え直してみましょう、みた…

Perlはテキスト処理に向いている?

5.8になるまで文字数数えるだけでもあんなややこしいコード書かなきゃいけなかった言語のどこがテキスト処理に向いてんだよ!!と腹を立てたが、冷静に考えてみると、それでもC言語よりは楽にテキスト処理がかけるのも確かだな…。

ソフトウェア開発の複雑さ

先週の仕事の時間はほとんどずっと社内用のちっさなツールの設計をしていた。当たり前だけど、どんなプログラミング言語を使おうと、設計に費す時間は(あまり)短縮できない。どういうところに時間をとられると、関数の名前を考えるだとか、そもそもどうい…

CMC Resource Catalog

CMC Resource Catalogで、登録すればMedical NLP Challenge: CMC 2007 Challengeで使われたデータがダウンロードできる。研究室で分類タスクに使うデータがないけど、新しいコーパス買う金もない、というような場合にはかなりありがたそう。(非商用利用に限…

頭部伝達関数の計測データ

Head Related Transfer Function (HRTF) Database では、96名分のHRTFデータがダウンロードできる。これ使えばなんかできないかなーと思うんだけど、まずステレオ音声から発音位置を特定する方法を調べないと…。

sky2が不安定

MacBookからNASに接続しようとすると、割と高確率でNICが刺さる。最初はsmbfsとか疑ってたんだけど、症状を考えるに、どうもNICドライバが原因のような気がする。Internet経由だとあんまり速度が出ない(引っ越してからADSLで3Mbps程度しか出なくなった。50M…

graphviz

daryのデバッグ用にdot用グラフを出力する機能を付けてみたんだけど、実際にグラフにしてみると、要素数が多くなりすぎてごちゃごちゃで、なにがなんだかわからなくなってしまった。難しい。

久々にDouble Array

5月からずっとじりじりとDouble Arrayをいじってるんだけど、挿入部分のアルゴリズムがどうも綺麗に書けない。 どうも、branchとleafの区別をきっちりと付けた方がよいような気がしてきた。しかし、そうするとなんだか今の設計とちょっとそぐわないというか…

evince英語PDF問題メモ(4)

いろいろ調べてみるに、fc-match Times Romanの結果として返ってくるフォントが使われているみたいだ、ということがわかってきた。ていうか、ここまでは前に日記に書いてるな…。 結局、いろいろいじってたらfc-match Times Romanに対してNimbus Roman No9 L…

evince英語PDF問題メモ(3)

昨日はやはり失敗した。今日は眠くてすごく辛かった。 とりあえず、フォントを読み込もうとするところで無理矢理abortさせてスタックトレースをとってみた。 #0 0xffffe410 in __kernel_vsyscall () #1 0xb70cfdf0 in raise () from /lib/tls/i686/cmov/libc…

evince英語PDF問題メモ(2)

寝れないので微妙に続きを調べた。 strace|grep "\.ttf"だとファイル名が省略されちゃったりすることがないか、という疑問が湧いてきた popplerはフォントのサイズ分だけmallocしてメモリ上にフォントを読み込んでいるようだ。FoFiBase.ccを読む限りではそう…

evince英語PDF問題メモ

evinceで日本語PDFを見ようとするとxpdf-japaneseを入れる必要がある。(たぶんpoppler-dataでもOK。)しかし、xpdf-japaneseを入れると英語のPDFの表示が乱れる。(というか、いまさっきxpdf-japaneseを削除しても、英文PDFの表示は乱れたままだった。もし…

Sparse Vector

お仕事で疎ベクトル的なものをハッシュで実装した(和と差とスカラー倍と内積しかないけど)のだけど、和と差がバグってて、全然うまく動かなかった。データの量が少ないうちはなんだかそれっぽく動いていたので、気づくのが遅れてしまった。やっぱ、時間が…

USB-Audio + PulseAudio

最近YAMAHAのUW10を買った。これ経由でヘッドホンにつなぐとノートPCに直でつなぐよりはいい音が聴けるのだけど、Linuxだと使い方がいまいちよくわからない。 USB-Audioデバイスとして普通に認識されるし、例えばBeep Media Playerで出力プラグインにALSAを…

MacBookにUbuntuをインストール

MacBookを買った。これでボクもマカーです。 というわけでUbuntuをインストールしてみた。最初は久々にDebian入れようかと思ったんだけど、水が低きに流れるが如く、楽そうなUbuntuへ…。それでもやっぱり、多少苦労が必要だった。以下に手順をまとめておく。…

2インデントに対する違和感

if (cond) { then; } で(cond)とthenの位置関係がなんだか気持ち悪く感じるようになってきた。特にthenが一行の場合。

rubyのブロック付きメソッドが1つしかブロックを取らないワケ

yieldの使い方を覚えたら、Rubyのブロック付きメソッドがなぜ一つしかブロックを取れないか、その理由も明らかになる。Rubyでは、ブロックをくっつけてメソッドを呼び出すと、そのブロックはメソッドへと変換されてyieldというシンボルに束縛される、と考え…

Rubyのyieldがなぜわからないか

むかーしむかし、まだブロック付きメソッドがイテレータと呼ばれていたような時代に、Rubyを覚えようと頑張ったことがあった。その頃はまだC言語すら満足に理解できてなくって、Rubyはまぁ、さっぱりわかってなかった。(さっぱりわかってなくても、Cよりは…

近況2, cvs

バージョン管理システムにはCVSを使い始めた。コードは基本的にCVSにアップロードするようになっているようだ。Subversionへ移行したいという要望もあるみたいだけど、一旦使い始めていろいろと環境を整備しだすと、変更するのはコストが大きいようだ。

近況1, perl

一旦PHPからは離れ、Perlを使い始めた。 サブルーチンの引数を@_という名前の配列に入れてしまうというやり方は、以前は気持ち悪くてしかたなかったが、関数ですら名前を付けずに使い捨ててしまうようになった今となっては、まぁ名前の節約という点でアリと…

fiberがわからない

Matzにっき(2007-05-09)に「fiberみたいのが欲しい」って書いてあったのをみて、そういやfiberってなんなのかよくわかんないままだと思って調べてみたが、やっぱりよくわからない。英語版Wikipediaには「本質的にはコルーチンとファイバは同じ機能だが、コル…

5月の近況

PHP使ってプログラミングしている。でも、将来的にはPHPはあんまり使わないかも。 相変わらず、PHPのどこがいいのかはサッパリ分からない。

AMD will deliver open graphics drivers

ちょっと(だいぶ?)情報遅れてるような気もするけど。OSNewsより。AMDはオープンなグラフィックドライバを提供するようだ。AMDはATIを買収してるので、つまり、ATIのチップのオープンなドライバが提供されるという事になる。ノートPCならIntelの内蔵グラフ…

シャカシャカポテトは客に長居をさせないようにしようとする日本マクドナルドの陰謀である

さすがにここまでうるさいとプログラムとか書けない

Flash Player for Linuxの将来

Penguin.SWF:Blingによると、Flash Player for Linuxは将来的にはXEmbedを使ってもっとブラウザとの統合を図りたいようだ。XEmbedを使うとなんで今よりも良いContext Menuを出せるようになるのかはよくわからない…というか、なんで今のプラグインだとあんな…