2003-08-07
λ. ITスキル標準人材育成研修
データマイニング。アプリオリアルゴリズムとかはこれまで名前だけしか知らなかったので、結構興味深かった。実習は、特に興味のある対象がなかったので、日銀からテキトーに企業物価指数のデータを落としてきて、各分類の間で指数の変化を比較して、相関を調べてみる。かなりいい加減だけど、それっぽい結果が出てきて、わりと嬉しい。それから、中村さんに KDnuggets というのを教えてもらう。
2004-08-07
λ. Lightweight Language Weekend 一日目
新宿から少し迷ったけど無事に時間前に到着。
λ. Language Update
内容とは全然関係ないんだけど、みんなプレゼンテーションがうまいなーというのが一番の感想だった。ここで明日発表すると思うと欝になる。
CurlがW3Cに関係があったなんて全然知りませんでしたよ。仮にもそれ系の研究室に所属してるのに…… orz
Groovyの「ジャヴァの奇妙な冒険(Java's Bizarre Adventure)」に爆笑。
Pnutsで思ったよりも性能が出ていたのに驚いた。
Squeakはやっぱりすごいなぁ。
λ. 仕事でLL
自分もテストデータを作ったりするぐらいしか、好きなLLを仕事に使ったことはないので、好きなLLを仕事に使える環境にいる人が少し羨ましい。それはそうと、大人の世界には色々あるんですね((((;゜Д゜)))ガクガクブルブル。職業プログラマにはあんまなりたくないなと思った。あと、「言語のダサさと普及率の間には相関がある」ってのはもっともだね。
λ. 君ならどう書く: ls-lRシェル
いまいち盛り上がってなかったな。デザインパターンがテーマだったにも関わらず少なくない発表者が各パターンの意味をきちんと調べていない事に少し呆れる。あと、Haskellの発表はGoFのパターンだけではなくHaWikiのCommonHaskellIdiomsで紹介されているようなパターンについて取り上げても良かったかも知れないと少し思った。
λ. 君ならどう書く: nQueen対戦
思考アルゴリズムの優劣以前の問題で勝負がついてしまったのは残念だけど、タプルスペースと継続を使った実装とか、実装の話は面白かった。それにしても、課題の詳細がもっと早く公開されていたら、HaskellもしくはPrologでこっそり実装しておいて、飛び入りの機会を窺ったのに……
λ. 懇親会
有名な人が沢山いて感激しまくり。
プレゼントの抽選で『シューティングゲーム アルゴリズム マニアックス』が欲しかったのだけど、Flash本と一緒の抽選になり倍率が上がりまくってしまい、ゲットできなかった。残念。(すずきさん、い〜な〜)
ψ すずき [本命はFlash本だったんですが、こっちも気になってたのでラッキー♪でした。]
2007-08-07
λ. 文字列検索の性能
こないだの ICFP Programming Contest 2007 の時に以下のような文字列検索関数を書いた(実際にはリストではなくData.Sequenceが対象だったけど)。 書いたときは「文字列上を逆に戻ることが無いから、少しは速そう」とか思っていたんだけど、そもそも比較回数は全然減っていないので全然速くない。アホだ、私。
findSubstring :: Eq a => [a] -> [a] -> Maybe Int findSubstring [] = const (Just 0) findSubstring pat = f [] 0 where f ([]:_) n _ = Just $ n - length pat f s n xs = case xs of (x:xs') -> f [s' | (c:s') <- (s++[pat]), x==c] (n+1) xs' [] -> Nothing
毎日HaskellのKMP法検索(2006-05-03)とBM法検索(2006-06-16)と比較してみる。
Prelude Test> findSubstring (replicate 1000 'a' ++ ['b']) (replicate 10000 'a') Nothing (2.54 secs, 253290572 bytes) Prelude Test> kmp_search (replicate 1000 'a' ++ ['b']) (replicate 10000 'a') False (0.03 secs, 525604 bytes) Prelude Test> bm_search (replicate 1000 'a' ++ ['b']) (replicate 10000 'a') False (0.21 secs, 2622592 bytes)
この程度の短い文字列でも最悪ケースだと全然性能が違うんだな。
ψ [1..100]>>=pen [なんとなくBM法が一番速いだろうと思っていたのですがKMP法より かなり遅いですね。実装の問題だろうな。]
2011-08-07
λ. Lenovo USB Webcam (40Y8519) をMacで使おうとしたメモ
以前に買った Thinkpad のおまけについていたウェブカムの Lenovo USB Webcam (40Y8519) をMacで使えないかなぁ、と思って調べてみたが、結局うまくいかなかったというメモ。
調べてみると、macam -- USB webcam support for Mac OS X というのがあるらしい。最新版の macam 0.9.2 を試してみたのだけど、「Status: Connected To Lenovo USB Webcam (40Y8519)」という状態にはなるけど、残念ながら、「Play Camera Video」を押すと、「Status: USB communication problem」になってしまった。また、macam.componentを/Library/QuickTimeに入れても Skype とかからも真っ黒なスクリーンしかでなかった。最新のビルドらしき macam-cvs-build-2009-09-25 も試してみたが結果は同じ。
macamのこのカメラの情報ページを見ると、このカメラに使われているコントローラ・チップVC0323の開発元がドライバを提供しているというので、<URL:http://www.vimicro.com/english/product/pc003.htm> から DRV_VC0323_060718.zip をダウンロードしてインストールしてみたが、Skypeなどからは認識されなかった。試しに、Windowsの方で「Detection Tool of Vimicro PC Camera Processors Model without notice」(ChipTypedetector.zip)というのを試してみると、「There is no Vimicro's Device」と言われてしまった。うーむ。