自作diffを少しでも速くするため、番人(sentinel)を試してみた時の話。 ここで言う「番人」とはループ内の条件判定の回数を減らすための特殊なデータを指す。 O(NP)のアルゴリズムを使った典型的なdiffプログラムには 以下のようなループ処理を行う箇所があ…
Software Design (ソフトウエア デザイン) 2008年 10月号 [雑誌]出版社/メーカー: 技術評論社発売日: 2008/09/18メディア: 雑誌 クリック: 6回この商品を含むブログ (7件) を見る 「ソースを読み、パッチを作成してみよう 〜 GNU GLOBAL, diff, patchの使い…
Unified Formatで表示できるところまで来たのはいいけど、 六千行ほどのファイルに適用したら、表示されるのに20秒以上かかってしまって 使い物にならないので、そのへんをちょこちょこと直す。 編集距離を求める処理自体はO(NP)だから速いんだけど、 肝心の…
前に作った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…
ParallelsにWinXP入れたけど、せっかくだからUbuntuも入れるか Ubuntu8.04をParallesにインストールする Ubuntuのインストールは成功するが、Paralles-Toolsがインストールできず、挫折*1 仕方ないので、Ubuntu7.10を入れようと試みる ブート中にハングする…
Keynote使って資料作ってたら酔ったっぽい。やっぱりむやみに動きつけない方がいいか。 というわけで関西に帰ってきました。とりあえず、2, 3日ほど実家でのんびりした後、京都へ行く予定。
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件) を見る テイルズ オブ ヴェスペリアの主題歌。 結局我慢できなくなっ…
一人、もしくは全員のHPを全回復するなどの貴重なアイテムはもったいないので、 よほどのことがない限り、使わないでおこうと思うのだが、 いざクリアすると、そのアイテムが大量に余っていたりする。 というわけで(?)、テイルズ オブ シンフォニア ラタトス…
cdbはdaemontoolsやqmailの作者でもあるdjbこと Daniel J.Bernstein氏によって作成されたデータベースマネージャ。 かなり高速に動作するが、一度追加したものは削除したり、 更新することはできない。(どうしてもやるなら再構築するしかない) 以下、tinycdb…
Boost::serializationはC++のオブジェクトをシリアライズしてくれるライブラリ。例えば、↓みたいに書くだけでPersonクラスのオブジェクトをシリアライズしてくれる。(ただし、stringやvectorなどをシリアライズするには特別なヘッダファイルが必要) class Pe…
結局、自分でコマンドラインパーサを書くことにした。(id:cubicdaiya:20080707)いざ、自分で書いてみると汎用的に作るのはなかなか難しいのだが、 別に無理して汎用的にしなくてもいいか、と思ったりもする。 とりあえず、今のところこんな感じ。 cmd -v --v…
いい加減、1ペーパーランチ*1はやめようと思い、 ちょっと学生時代に戻った気分になって弁当を作ってみた。 まあ、あの頃は冷凍食品ばっかだったけど。 というか目玉焼き失敗したorz。 *1:渋谷のランチは高いのです
OSC2日目の休憩時間に走り書きした。 narazuya@bokkko% ./diff cbabac abcabba editDistance:5 LCS:caba SES A a A b C c D b C a C b A b C a D c narazuya@bokkko% ↑は前に書いたdiffの出力そのまま。SESはShort Edit Scriptの略で、 片方の文字列からもう…
OSC 2008 Kansaiに参加するため、京都に来てます。 1日目は大学の後輩といろいろ見て回りました。 ↑はマイコンとBSDで制御されている初音ミクがダンスしているところを取った写真です。 動いている様子がおもしろかったので、手持ちのデジカメで何枚か撮りま…
C++でdiffのようなものを書いた。 いや、正確にはdiffするのに必要な情報を出力するだけだが。 narazuya@bokkko% ./diff abc abd editDistance : 2 LCS : ab SES C a C b D c A d narazuya@bokkko% ./diff abcdef def editDistance : 3 LCS : def SES D a D …
getopt関数は「そういうのがある」というぐらいの認識で、実は今まで使ったことがなかったんだけど、今自分が構想を練っているアプリケーションで、 コマンドラインオプションの解析が必要になりそうなので、使ってみた。例えば、以下のような形式のコマンド…
STL―標準テンプレートライブラリによるC++プログラミング 第2版作者: ディビッド・R.マッサー,アトゥルサイニ,ギルマー・J.ダージ,David R. Musser,Atul Saini,Gillmer J. Derge,滝沢徹,牧野祐子出版社/メーカー: ピアソンエデュケーション発売日: 2001/12メ…
テイルズ オブ シンフォニア ラタトスクの騎士出版社/メーカー: ナムコ発売日: 2008/06/26メディア: Video Game購入: 8人 クリック: 148回この商品を含むブログ (146件) を見る 週末はこれで過ごしたいところだけど、今月中にやらないといけないことがあるの…
必要に迫られて久しぶりにPerlのプログラムを書いた。 そういえば、大学にいた頃、「Perl=邪悪な言語」なんてフレーズをしょっちゅう 聞いていた気がするが、最近は聞かないな。
普段、Google Readerではてブのタグ「c」を含むエントリのRSSをチェックしているのだけど、 ここ最近何故かアイドルマスターのエントリが引っかかる。C言語に関連するエントリも ちゃんとひっかかるんだけど、アイドルマスターのエントリが多い。 はてなブッ…
久々にK&Rで調べ物をしていたら、巻末の訳者略歴や発行年月日が載っているページが目に止まったので、ちょっと眺めてみた。 1989年6月15日 第2版1刷発行 2000年4月15日 第2版253刷発行 なんというか改めてK&Rのベストセラーぶりを垣間見たような気がする。 …
スターオーシャン セカンドストーリーがやりたかったので、買った。
追記(2015/04/19): 後置を使うべきという意見もあるようです -> 前置インクリメント vs 後置インクリメント | 闇夜のC++ C++を勉強し始めるまでは特に必要がない限り、値をインクリメントする際は前置ではなく、後置でやっているのを見かけるのが多かったの…
仕事でドキュメント書いたりするわけだが、最近、 WordとかWriterよりTexの方がずっとましだと思うようになってきた。 もちろん、他の人のことを考えないのであればだが。
仕事柄、論文を読んだりすることがあるわけだが、 やっぱりPCのディスプレイで読むよりは印刷して紙で読んだ方が効率いいな、と思う。 単なる流し読み程度なら別に前者でもいいんだろうけど、 じっくり読む場合はPCのディスプレイだと最後まで読む気になれな…
ソースコードなどのバージョン管理をしていると、一部例外としてバージョン管理の対象に含めたくないファイルが出てきます。 例えば、makeコマンドで生成される実行ファイル、etagsで生成されるTAGS、またEmacsが生成する一時ファイル(末尾に~が付いたファイ…
久しぶりに過去のシリーズでGBAソフトのパワポケをDS Liteでやったら、CPUの球が打てなくなっていた。 慣れるまで2時間ぐらいかかった。 パワポケはシリーズ毎にヒットを打つコツが変わるので、一昔前のはすっかりわすれてしまったというのもあるけど、やっ…
前回の続き 一つの拡張子に対して複数の拡張子を関連づけられるように改良してみた。 まだ、改良できるところはあるけど、あんまりツールの改良ばっかりやってても仕方がないので、これくらいにしておく。 (defun c-open-relational-file (how-open-type) (i…