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

boost::filesystem

ここのところ、お遊びとか何となくじゃなくて真面目にboostのライブラリ使ってC++のコードを書いてるんですが、改めてこのライブラリはいろんな意味でぶっ飛んでると思った。しかし、boostはfilesytemに限らず、全体的に変態(褒め言葉ですよ)で超便利なんだ…

find-header-file.el

エラーコード12が何なのか調べようとして気軽に「less /usr/include/errno.h」としたところ、実はこのファイルにはエラー番号の定義はないことを発見した。おそらく、ここからincludeされているにあるらしい。(errno.hを追跡していたらひどい目にあった) Cや…

ソフトウェアライセンスの基礎知識

ソフトウェアライセンスの基礎知識作者: 可知豊出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/09/25メディア: 単行本購入: 9人 クリック: 103回この商品を含むブログ (33件) を見る 自分で作ったライブラリも(修正BSDライセンスで)公開したこと…

dtl-0.05

http://code.google.com/p/dtl-cpp/ dtl-0.05をリリースしました。主な変更点は以下の3つです。 unidiffの出力の際の表示順を「削除」→「追加」の順に統一 Unified Formatをデータ構造として扱えるように変更 merge機能の追加 割と大幅に追加・変更されてい…

C, C++の関連ファイルを開く 完成版

前の段階でほぼ完成だったのだけど、エラーチェックとか拡張子対応を真面目にやってみた。(C++の拡張子ってこれで全部だっけ?) 今更な機能説明ですが、例えば、test.cを開いている際にM-x c-open-relational-fileを実行すると、test.hに切り替えてくれます…

Time Capsule

そろそろまともなバックアップ環境が欲しくなったので、Time Capsuleを購入。別途HDDだけ購入して、たまにUSBか何かで繋いでバックアップとか、バックアップ用マシンをセッティングしてrsyncでバックアップとかも考えたけど、臨時収入が入ったこともあって思…

アルゴリズム・サイエンス シリーズ

アルゴリズム・サイエンス シリーズ (全16巻) 最近、積みに積まれた技術書のスタックからようやく取り出すことに成功したので、真面目に読みはじめている。 非常にわかりやすく、この手の本ではあまり見られないユーモアを感じさせる解説がされているので…

「Ejacsのjs-consoleの履歴を保存する」の続き

この間書いたEjacsのjs-consoleで評価したコードの履歴を保存するためのパッチをEjacsの開発者に送りました。特にバグもなく、そのまま取り込んでもらえたようです。 初めてパッチを作って送った時の話 僕が何かしらのプロジェクトの開発者にパッチを送るの…

Ejacsのjs-consoleの履歴を保存する

EmacsでJavaScriptが実行できるEjacsのjs-consoleに感動しつつ、js-console上でシェルやgdbのように履歴を保存できないのが不満だったので、ちょこっと作ってみた。なんてことはない。ただのスタックだ。履歴を遡るだけなら1個でいいのだが、履歴を遡ってい…

Ejacs

http://code.google.com/p/ejacs/ EmacsLispで書かれたJavaScriptインタプリタ。そういえば、去年にこっちでそんなことをやっているという記事を見た記憶が。 READMEを読むと、 Ejacs is a reasonably complete interpreter for the Ecma-262 specification …

dtlのpatch関数がLinuxだと落ちる(修正済み)

そういや、ずっと前にParallels Desktop上のUbuntuで動作確認したっきり、Linuxでは動作確認してなかったなあと思いつつ、久々にUbuntuを立ち上げてサンプルプログラムを走らせてみたら、strdiffやintdiff、unidiffに関しては特に問題なかったのだが、fpatch…

Mercurialのブランチとマージ

Mercurialをemacsやzsh、global, その他の設定ファイルの管理だけでなく、ソースコードの管理にも本格的に使うようになったこともあり、ブランチやマージの機能も頻繁に使うようになってきた。このへんの機能を使ってて思うのはやはりCVSやSubversionに比べ…

分割diff

差分が大きく、メモリを大量に消費する場合に対処するため、O(NP)にHirshbergのアルゴリズムを適用しようとするが、うまくいかない。もうちょっと詳しく論文を読む必要性を感じつつ、なんだか疲れたので、気分転換に、記録された経路情報がある一定のサイズ…

XBOX360の無線コントローラー

XBOX360の無線コントローラーがうんともすんともいわなくなったので、新しいのを買いに行った。というか高いよ。コントローラーが4480円て。DSとかPSPのソフトが1本買えるじゃないか。まあ、でも無線であるメリットには抗えないわけで。 そういえば、もう結…

dtl

C++なDiffライブラリ、dtlをリリースしました。 http://code.google.com/p/dtl-cpp/ 詳しくは上記のURLのSummaryやサンプルを見ていただければと思いますが、こちらでは上記に載ってないことや今後の方針や課題とかについて書こうと思います。 dtl? Diff Te…

C, C++の関連ファイルを開く

続・C言語の関連ファイルを開くの続き。 実はファイルパス中で拡張子の前以外に「.」があると、関連ファイルを開けないという バグを結構前に発見してそのまま放置してたんだけど、そろそろ直すことにした。 原因は単にフルパスのファイル名から拡張子を取り…

ターミナルのフォント

友人や同僚に何かと不評だったターミナルのフォントを変更してみた。 変更前 変更後

情報検索アルゴリズム

情報検索アルゴリズム作者: 北研二,津田和彦,獅々堀正幹出版社/メーカー: 共立出版発売日: 2002/01メディア: 単行本購入: 6人 クリック: 552回この商品を含むブログ (38件) を見る 少し前に仕事で全文検索エンジンを導入する機会があり、いろいろ四苦八苦し…

バージョン管理システムのdiffのパフォーマンス測定

最近、C++でdiffを書いているせいか、バージョン管理システムで使われているdiffのパフォーマンスが気になったので、調べてみた。バージョン管理システムにおいてdiffはかなり重要である。というのも、diffもしくはそれに相当する処理は単に差分を表示する際…

ワイヤレスマウスと繰り返し使える充電池

ちょっと思うところがあって、ワイヤレスマウスを購入することにした。 どうせだからいいものを買おうと、VX-Revolution VX-Rを購入。 いいキーボードは高いものですが、やっぱりいいマウスも高いですね。 この凹み具合がミソ。これのおかげで上手い具合に親…

番人

自作diffを少しでも速くするため、番人(sentinel)を試してみた時の話。 ここで言う「番人」とはループ内の条件判定の回数を減らすための特殊なデータを指す。 O(NP)のアルゴリズムを使った典型的なdiffプログラムには 以下のようなループ処理を行う箇所があ…

Software Desgin2008年10月号

Software Design (ソフトウエア デザイン) 2008年 10月号 [雑誌]出版社/メーカー: 技術評論社発売日: 2008/09/18メディア: 雑誌 クリック: 6回この商品を含むブログ (7件) を見る 「ソースを読み、パッチを作成してみよう 〜 GNU GLOBAL, diff, patchの使い…

diffの高速化

Unified Formatで表示できるところまで来たのはいいけど、 六千行ほどのファイルに適用したら、表示されるのに20秒以上かかってしまって 使い物にならないので、そのへんをちょこちょこと直す。 編集距離を求める処理自体はO(NP)だから速いんだけど、 肝心の…

diff with Unified Format

前に作ったO(NP)なdiffのプログラムを元に、 2つのファイルの差分をUnified Formatで表示できるようにしてみた。 とりあえず、以下のe.txtとd.txtの差分を表示してみる。 e.txt a d e c f e a b c d e f g h i d.txt a e c z z d e f a b c d e f g h iこの2…

Paralles上にUbuntuを再インストール中

ParallelsにWinXP入れたけど、せっかくだからUbuntuも入れるか Ubuntu8.04をParallesにインストールする Ubuntuのインストールは成功するが、Paralles-Toolsがインストールできず、挫折*1 仕方ないので、Ubuntu7.10を入れようと試みる ブート中にハングする…

新幹線の中で

Keynote使って資料作ってたら酔ったっぽい。やっぱりむやみに動きつけない方がいいか。 というわけで関西に帰ってきました。とりあえず、2, 3日ほど実家でのんびりした後、京都へ行く予定。

TOVのサントラ

Tales of Vesperia −Original Soundtrack−アーティスト: ゲーム・ミュージック出版社/メーカー: Warner Music Japan =music=発売日: 2008/08/20メディア: CD購入: 1人 クリック: 27回この商品を含むブログ (13件) を見る テイルズオブヴェスペリアのサントラ…

日付のフォーマット

日付文字列のフォーマット処理みたいなことは仕事柄よくやるんだけど、 そういやCでそういうのをやったことがないことに気付いてちょっとやってみた。 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/types.h> #include <sys/stat.h> #define MAX_LENGTH 50 int main(int argc, char *a</sys/stat.h></sys/types.h></time.h></stdlib.h></stdio.h>…

鐘を鳴らして

鐘を鳴らして(初回限定盤)アーティスト: BONNIE PINK出版社/メーカー: Warner Music Japan =music=発売日: 2008/08/06メディア: CD購入: 1人 クリック: 30回この商品を含むブログ (48件) を見る テイルズ オブ ヴェスペリアの主題歌。 結局我慢できなくなっ…

RPGでありがちなこと

一人、もしくは全員のHPを全回復するなどの貴重なアイテムはもったいないので、 よほどのことがない限り、使わないでおこうと思うのだが、 いざクリアすると、そのアイテムが大量に余っていたりする。 というわけで(?)、テイルズ オブ シンフォニア ラタトス…