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

The Tradeoffs of Large Scale Learningを読んだ

The Tradeoffs of Large Scale Learning (L. Bottou and O. Bousquet, NIPS 2008) は、大規模データから機械学習を行う際のエラーについての考察を行った論文である。 機械学習を行う場合、なんらかの損失を定義し、その損失を最小化するようにパラメータを…

2009年に書いた記事とかを振り返る

1月から12月までに何を書いたかとか、その時にどんな事を考えていたかとかを振り返ってみます。後日談もいくつか書いたよ。 2009年1月 昨年の12月に書いたComplement Naive Bayesの記事がウケたが、 Confidence Weighted Linear Classificationを読んだ (あ…

データベース実践講義を読んで考えた事

RDBMSには詳しくないし、将来的にもそれほど詳しくなるつもりはないのだけれど、情報関係の業界で食べていくためにはRDBMSの知識はある程度身につけておいた方がいい、というかつけておかないとまずい。と言うわけで、会社で社長におすすめされて、データベ…

未知語コストは変換精度にそれほど大きな影響を及ぼさなかった

4/12の記事で、仮名漢字変換の「未知語コストが変換精度に及ぼす重大な影響」について書く、と書いたが、その後の続きを書かなかったので、いつか続きを書かなければならないと、気になっていた。なんとか今年のうちに書ける気力が戻ってきたのでさっさと書…

プログラミングHaskellでHaskellをもう一度勉強する

Programming in Haskellという本がおすすめらしい、という話は以前に読んだことがあって、買おうかどうか迷ったりしたこともあったのだが、先日日本語訳が出たので、そっちを買った。これは確かに良い本だと思ったので感想を書いておく。 その日本語訳という…

ビデオメモリの読み書き速度の非対称性は100倍近い

ビデオメモリへの書き込み速度というのは1.5GB/secぐらいでるが、ビデオメモリからメインメモリへの読み込みは20MB/secぐらいしかでないらしい。たしかに、考えてみれば、伝統的な3Dグラフィック処理を考えてみると、ファイルから頂点データやらテクスチャや…

ChaIMEの現状と将来と(1)

そろそろChaIMEについて一言いっておくか を書いてからもう半年以上になる。あれから日記には何も書いていなかったが、開発の方は地道に進めている。最近、自宅で使うかな漢字変換エンジンはChaIMEに切り替えた。まだまだやらないといけない事はたくさんある…

Googleのトップページを開いた時の各ブラウザでのCPU使用率

os0xさんが追試をしてくれたので、ちょっとだけ反応。 私も別のマシンで確認してみました(というか、前のエントリ書いた際のPCが今手元にない)が、Core2 Duo 3GHzのマシンでgoogle.co.jpのトップを10個ぐらい開くと、FirefoxのCPU使用率が4〜7%ぐらいでし…

毎秒100回の落ち穂拾い

前のエントリで起こったいろいろについて書いてみる。こぼれ話という訳じゃないから、落ち穂拾いというのもおかしいけど。 まずは良かったこととか技術的な補足とか。 情報化タブは次のバージョンで負荷を減らすように手を入れるとの力強いお言葉をpiroさん…

Googleのトップページを開くと毎秒100回JavaScriptが実行されるよ

FirefoxがCPUを常に15%ぐらい食うのが気になっていたので調べてみたら、Googleのトップページを開くとものすごい勢いでJavaScriptが実行されることがわかった。具体的には、var k=t.value;k!=h&&X(0);h=k というコードが毎秒100回実行されている。このせいで…

MacBookをMac OS XなしでHDDから起動させる方法

自宅で使っているMacBookのHDDを、今週発売されたばかりのIntelの新型SSDに交換した。交換自体は、T8トルクスドライバーさえあれば10分ほどで終わってしまうていどの非常に簡単な作業だった。ちなみに、SSDは秋葉原で25,970円(税込み)で買えた。去年の値段を…

zshでCtrl + 矢印キーで単語移動するための設定

zsh

エディタを使っていると、カーソルキーを狙いの位置へと高速に移動させる事は、仕事の効率に直結するぐらいに重要な事である。さっさとカーソルを移動させて作業を始めないと、考えていたことが頭から抜けていってしまう。 Emacsだと、Ctrl + 矢印キーで単語…

いろいろな言語用のSinatra的フレームワークまとめ

Sinatraはよくできたウェブアプリ開発用フレームワークだと思う。前にも書いたが、URLから呼び出されるメソッドを決定するところがよくできているし、依存するライブラリもRackだけなので使いやすい。beforeフィルタの存在やstatus, content_typeといったメ…

ディレクトリの中にある大量の小さなファイルを高速に読み込む方法

ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしま…

ディスクキャッシュを簡単にクリアする

3年前にディスクキャッシュをクリアするためにはunmountしてからmountしなおせば良いという事を知ったが、これは自由に取り外しができるパーティションがないと使えない。強制的にキャッシュをクリアする方法を知ったのでメモしておく。 sudo sysctl -w vm.d…

正しいデバッグ用ログの吐き方

普段何気なく出力しているデバッグ用のログであるが、 複数プロセスからどうやって同時に書き込むのか? rotationはどうやってやればいいのか? ということを考えると、実はこれまでライブラリ任せで、自分で書いたことがないという事実に気づいた。ので、調…

Sinatraで自作before_filterを使った場合と使わない場合でコードがどれぐらい変わるか?

もはや誰も望んでいなさそうなSinatraの細かいネタですがねちねちと続けます。 今回は、前回作った自作のbefore_filterを使った場合と、使わずに直接beforeメソッドを使った場合とで、コードがどう変わるか、簡単に比較してみる。 まずは使わない場合から。 …

Sinatra向けにRailsのbefore_filterみたいなのを作ってみた

一つ前のエントリでは「また来週」とか書いちゃったけど、実装始めると意外と楽しかったので作っちゃった。 まずは実際のコードから。これがbefore_filter.rb。これをrequireするとbefore_fitlerというメソッドが使えるようになる。 def before_filter path,…

Railsのbefore_filterみたいなのをSinatraで実現できるか

Railsは便利だとは思ったがフレームワークとしてとくに好きではなかった(別に嫌いでもない)。それに対してSinatraはなんだかよくできてる感があって気に入っている。この差がどこからくるのかはよくわからないが。 そんなSinatraとRailsであるが、比較して…

ワンダフルソロモンの指輪

一ヶ月ほど前にid:mamorukさんからスティーヴン・ジェイ グールドの「ワンダフル・ライフ」とコンラート・ローレンツの「ソロモン王の指輪」をお薦めされたので読んでみた。 ワンダフル・ライフ ワンダフル・ライフはバージェス頁岩と呼ばれる、非常に状態の…

Preferred Infrastructure夏期インターン募集のお知らせ

宣伝です。Preferred Infrastructureで夏期インターン募集を開始しました。 注目ポイントとしては、割と高めに設定された時給(高校生1200円〜、大学生以上は1500円〜。)と、あとは個人的にはベンチャー企業の表と裏が見放題というところが、参加してみない…

Sinatraが使いやすいので勝手に宣伝してみる

これまで、ウェブアプリを作るような仕事ではRailsを使ってきたのだが、簡単なCGI、特にバックエンドサーバの設定や状態管理などを行うだけでDBが必要ないようなケースとかは、Railsではややオーバースペックである。RailsはDBへのコネクタなしで動かす方法…

Firefoxからsshのダイナミック転送を使って非公開サーバへアクセスする

sshにはダイナミック転送という機能がある。この機能を使うと、sshはアプリケーション側にはSOCKSプロクシとして振る舞うが、そこからsshの接続先までは暗号化された状態で通信が行われる。 これだけだと通常のトンネリングとどう違うのかよくわからないかも…

MySQLからCSVをダンプした後にするべきたった一つの修正

毎回なんかすごい苦労してアドホックに解決してきたが、毎回苦労するのにうんざりしてきたので、頑張って調べてみた。正しい(と思う)手順を書いておく。 まず、MySQLからCSV形式でダンプするときに、ちゃんとenclosed byとescaped byをつけておくべきであ…

脳とか目とか

またしばらく仕事が忙しくって他のことがストールしてたんだけど、先週、おおきなタスクが一つ終わったので、やっと仕事以外のこともできる余裕が出てきた。 早速コードを書くかと思ったんだけど、仕事でアウトプットばっかりしてたこともありなにかインプッ…

UXAとかEXAとか

自宅のPCではUbuntuを使ってるんだけど、2月ぐらいにjauntyでapt-get upgradeしたら、外部ディスプレイ出力ができなくなった。その時は8.10をインストールしなおすという荒技に出たのだけれど、9.04も正式リリースされたし、そろそろもう一度トライしてみた…

営業

私はPreferred Infrastructureという会社で働いているのですが、この会社はほとんど全員エンジニアで構成されています。その中で一人だけ営業の人がいるのですが、その営業の人が最近ブログを開設したので宣伝しておきます。私も微妙に出ています。

最近の事とか自転車の事とか

最近は忙しくってあんまりエントリを書けて無かったので、お茶濁し的に最近のことを書いてみる。就職してからはそういうことを書かなくなってしまったけど、たまにはそういうのもいいでしょう。たまにというか、今年の目標としては、この日記はもっとグダグ…

PythonでElementTreeを使ってXMLをパースする際に注意すべき点がある

PythonでXMLを扱う際には、ElementTreeというライブラリを使うとSAXっぽいAPIでXMLをパースできる。Python 2.5以上なら、デフォルトでxml.etree.ElementTreeというモジュールがあるのでそれを使うと良い。もしくは、cElementTreeモジュール(仕様は同じだがC…

そろそろChaIMEについて一言いっておくか

2月は割とガンガンと開発をしてきたのだが、3月に入ってさすがにエネルギーが切れてきたので、一旦、気分転換にエントリに書いてみることにする。 ChaIMEというのは主に研究目的のかな漢字変換エンジンである。奈良先の小町さん(id:mamoruk)がメインで開発し…