つれづれ日記 2005年4月

予定

毎日


2005年4月30日 (土曜日)

23:00:30 # Life dancer-diaryをひさしぶりにいじる. ある日について過去の4年間に何をしていたか,という表示をさせてみたかったため, elserv を利用してweb frontendを作成してみた. ソースはこちら. ながいあいだいじっているわりに計画性がないので,自分しか使えないコードになっているとは思います. だめじゃん.

久しぶりにelservをいじったけど,楽しい. emacsでwebサービスを提供するのがよい. バッファベースでデータを操作するというのに慣れてしまっている.

2005年4月23日 (土曜日)

10:41:31 # Life gitのカーネル読書会の情報と補遺などを追記しておいておきました. プレゼン当時からURLとかが変わってしまっているので,どうぞ.

13:34:24 # Life いろいろな報道を見ている限りでは,Linusのgitという言葉は. 英国俗語の'git'らしいですね. 発音は「ギット」でよいと思います.

15:02:42 # Life 前回のDebian勉強会で P2Pのファイル交換でaptできませんかねぇ,という話しをしていたような記憶がありますが, Bittorrent対応はあるらしいです. びっくり.

18:50:42 # Life 今日のgit版kernel: コンパイルエラー.

  CC [M]  sound/oss/btaudio.o
drivers/usb/image/microtek.c: 関数 `mts_scsi_abort' 内:
drivers/usb/image/microtek.c:338: error: `FAILURE' undeclared (first use in this function)
drivers/usb/image/microtek.c:338: error: (Each undeclared identifier is reported only once
drivers/usb/image/microtek.c:338: error: for each function it appears in.)
  CC [M]  sound/drivers/opl3/opl3_synth.o
	

2005年4月22日 (金曜日)

08:11:51 # Life gitの発表の際に,サーバおちてますよー,と言ってましたが, 今は見れています. Version Control System Comparison

git-vizハックが素敵です. monotoneのGUIでこういうものがあったというのがまず素敵ですが,それを 一瞬でここまで移植できたというのも凄い.

gitvizの画面写真の例.言語はocamlだそうだ.グラフの作成には graphvizを活用しているらしい.

gitwebを見たら, gitのロゴができていたのと, 先日出した,sslを使わないパッチの顛末が3時間前に出ていたということに気づきました.

二日連続で飲みすぎなのでへろへろです.

2005年4月21日 (木曜日)

08:15:23 # Life 昨日gitについて発表しました,今朝確認したらgitのデータ形式が大幅にかわっていて, 今までは圧縮したデータのSHA-1を計算していたのだが,非圧縮の時点でのSHA-1を計算する ように変更したとのこと. あといろいろと些細な変更はあったのだが,「How about going "Live" tomorrow?」 とLinusが昨日いっていたのとはうらはらな方向で開発はばりばりすすんでいる気がする...

2005年4月20日 (水曜日)

06:14:20 # Life 50回目のカーネル読書会の案内です.初幹事です. 本日開催です.以下案内文

BitKeeperの代替として,とりあえずの対応としてLinusたちはソース管理システムとして 利用するために,「git」なるものをつくっているらしいです.そいつの正体に迫ります.

参加希望者は宴会君にて登録してください。 読書会あとの宴会に参加希望の方はそれも明記のこと。 宴会コードは kernel050420

入館方法: 裏口から入る必要がありますので 日本棋院 側からまわってください.誰かはそこにいる予定.

07:30:06 # Life 岩松さんのためにsponsor uploadしたtinywmがdebianにインストールされたようだ. おめでとうございます. sponsor uploadについてはここらへんにメモがあります.

このためにpdebuild --debsign-k オプションを追加したり いろいろ久しぶりにいじりました...

2005年4月19日 (火曜日)

00:19:40 # Life Debian unstable non-freeにpptviewというパッケージがある. 実行にwineが必要で,copyright Microsoft というのが凄い. とうとうそういう時代が来たか...

01:10:14 # Life jackit-develを読んでいたら,来週くらいにドイツでLACという Linuxでの音楽会議があるらしいということに気づいた. 日本ではできないだろうか. MIDI関連の人達とかLinuxでやっている人達いないのかな?

2005年4月18日 (月曜日)

07:37:59 # Life 今日のgitに対するパッチコメント. Linusから返事がかえってきた. gcryptなんて誰もインストールしていないよ,という答えでした. これ

08:17:41 # dinstall/dupload 岩松さんのtinywmパッケージsponsor upload done. デバッグしようとして,Xnestをいじろうとしたが,使い方がわからず,しかたないので,別のXセッションを startx -- :2 で立ち上げて試す. Xnestを立ち上げるところまではできるのだが,アプリケーションをその画面の中で立ち上げる方法がよくわからず...

xauth をいじれば解決した. xauth add で追加して,xauth list で確認. ということを岩松さんに教えて頂いた.ありがとうございます.

% xauth add :1 MIT-MAGIC-COOKIE-1  abcdefghijklmn00112233445566778899
% xauth list
	

だけど,xnestでtinywmを起動してもいろんなキーがmetacityに食われて xnestの中までつたわらず,結局意味なし.

08:20:56 # Life ecasoundで録音しながら録音レベルをモニターする方法として,jackdを使ってこうしてみることができるよ,というkaiの説明. alsaを使ってecasoundとecasignalviewを連係させる方法は以前からわかっていたが, jackdを経由してすることもできる. こっちのほうが一般的に適用できるかな?

ecasound -a rec,mon -i alsahw,1,0,0 -a rec -o file.wav -a mon -o jack -G:jack,ecarec
ecasignalview jack_auto:ecarec null
	

22:41:30 # Life arch周辺の哲学とかについて調査.ここらへんが参考になる. archの哲学についてTim Lordのメールarchから学ぶことについてbazaar-ngの開発者のメモ.

2005年4月17日 (日曜日)

09:52:49 # Life tlaをつかっていて気づいた点. 先週くらいから,家計簿を電子化しようとしていて,そのツールとして 処理系はawkでバージョン管理は分散レポジトリ形式のtlaを利用する,ということを 試している.awkをつかっているところがなんともoldtypeだが, tlaをつかっているところが味噌. 動機は,tlaが分散レポジトリを扱える,フリーな処理系であること. 出先でノートパソコンを使っていて, ネットワークに接続できなくてもtla commitとかできて, オンラインになれば,tla star-mergeすればよい. イントラネットからしか見れないサーバでバージョン管理をする際などに便利じゃないか,と考えている.

まだ一週間だが,こういう問題があるんだろうなぁ,と今思っている点.

19:06:10 # Life libgcrypt11でhash関数を使う方法を調べてみた. ドキュメントが古かったりして,はめられたが,includeファイルとソースにあたったらどうやら, これでいけるみたい. sha1sumコマンドの出力と同じような出力が出ることは確認...というか,ドキュメントを読むより, sha1sumのソースにあたったほうがはやかったか.

/*
 Code snippet to calculate SHA1sum using openssl libs.
 Copyright 2005 Junichi Uekawa, given to public domain.

$ gcc openssltest.c -lssl
$ ./a.out  < ./a.out
eae8189278303caaa78f2d89e6a6ebeb7d37b554
$ sha1sum ./a.out
eae8189278303caaa78f2d89e6a6ebeb7d37b554  ./a.out
*/

#include <stdio.h>
#include <openssl/sha.h>

main ()
{
  SHA_CTX s;
  int i, size;
  char c[512];
  unsigned char hash[20];
  
  SHA1_Init(&s);
  while ((size=read (0, c, 512)) > 0)
    SHA1_Update(&s, c, size);
  SHA1_Final(hash, &s);
  
  for (i=0; i < 20; i++)
    printf ("%.2x", (int)hash[i]);
  printf ("\n");
}
	

以下のようになる.

/*
 Code snippet to calculate SHA1sum using gcrypt.
 Copyright 2005 Junichi Uekawa, given to public domain.

$ gcc hashtest.c $(libgcrypt-config --cflags --libs)
$ ./a.out < a.out 
46b25183fba09a11c4f71bc5a12804756a362639
$ sha1sum ./a.out 
46b25183fba09a11c4f71bc5a12804756a362639  ./a.out
*/


#include <stdio.h>
#include <gcrypt.h>

main ()
{
  gcry_md_hd_t g;
  int i, size;
  char c[512];
  unsigned char * hash;
  
  gcry_md_open (&g, GCRY_MD_SHA1, 0);
  while ((size=read (0, c, 512)) > 0)
    gcry_md_write(g, c, size);
  gcry_md_final(g);
  hash=gcry_md_read(g, 0);
  for (i=0; i < 20; i++)
    printf ("%.2x", (int)hash[i]);
  printf ("\n");
}

	

2005年4月16日 (土曜日)

11:22:28 # Life gitの使い方についてのガイドが出ている. Tony LuckのメールについてのKerneltrapの記事. gitはファイルシステム上でのファイルのおきかたのポリシーを決めているだけなので, monotoneとかdarcsとかのバックエンドとして利用できそうな気はする.

13:42:36 # Life pbuilderのメンテナンスをした. 岩松さんのスポンサーする場合に必要なキーの署名機能追加. pbuilder 0.126. pdebuildでパッケージをビルドして,署名まで一連の流れで実施, とするとたしかに便利かも.

13:47:49 # Life Debian 勉強会の5月は21日に実施する予定です. 今回は趣向をかえて昼間にやります.朝おきれないという方も, 夜おそすぎて嫌だとおっしゃる方も,今回はよい時間を確保してみましたので,よろしくお願いします.

23:02:28 # Life 今日はモジラな気分. mozilla.party.jp 6 に行ってまいりました. xulrunnerというのがあるらしく,スタンドアロンでXULのアプリが書けるそうです.

飲み会で,zoeさんと話していて,最近blogが普及してきたため, ネット上のドキュメントが普通の人にわからないような散文が増えて来て, 気合いの入った入門向けのドキュメントが無いですよね,という話題になりました. 昔はそういうものがあったきがするけども,たしかに最近のblogにのっている話題は コードの断片とかエラーのログとかそういう話しが多い気がします. 考えがまとまっていないですが, メモをとる感覚で使えるblogというメディアをそのまま検索する検索エンジンというツールは そのメモが理解できる人には有用ですが,そうでない人にはまったく分からない文章ばかりたぐりよせることになるため, webという世界がblog形式で生成される断片的情報のみであれば, 情報の品質はどんどんおちていくのではないか,という話しだったと思います.

そういうところにどう対応するのか,と言われると,そこで技術的な解決をめざすところに ハックの楽しさがあります.

あとなんだっけ.ウェブだとサーバが落ちると終りなので, P2Pの技術をもっと活用してウェブのかわりになるようなシステムができるとよいな,という妄想とか.

2005年4月12日 (火曜日)

21:04:36 # Life Linuxカーネルのバージョン管理ツールとしてLinusが開発している gitツールの開発は盛り上がっているのだろうか. 最近いろんなプロジェクトで GNU archを使わせられているため, バージョン管理ツールの違いについて気になっているので,このトピックには興味がある. gitは,ファイルベースの中のdiffにはあまり興味がなく, あるファイルの圧縮したmd5sumでそのバージョンの値を管理している. 各バージョンのdiffをとることでレポジトリを圧縮するのではない,という点が さまざまなバージョン管理システムをみてきた目には斬新だ. 巨大なプロジェクトになるとパッチをあてる処理が重くなるとか, いろいろと問題があるので,この考え方はおもしろいかもしれない. カーネルソースをレポジトリにインポートするのに1分程度でできるとか, 変更のコミットが一秒程度でできるとか,Linusはメールに書いているが, 実際重要なことだと思う. 現在一般的に使われているバージョン管理ツールでカーネルソースをインポートするのには 一時間程度のオーダーの時間がかかって, 変更のコミットにも分単位の時間がかかっていると思う. コードを書いているよりバージョン管理システムの処理の終了を待っているところが大きい.

高速なバージョン管理ツールのバックエンドが作成できればそれはそれですばらしい.

22:38:56 # Life Debianの選挙が終って結果のグラフをなんとなく眺める. 結果をよくみると,得票数ではAnthony Townsのほうが多い気がする部分があるのだが, 直接対決の結果としては,Brandenのほうが上にくるらしい.

23:17:41 # Life ecasoundに必要なので,rst2htmlを探してみようと検索してみた.

$ auto-apt search -f rst2html
gunzip: stdin: decompression OK, trailing garbage ignored
	

なんか切ない. 調べてみると,そもそも/var/cache/auto-apt/にあるContents-i386.gzに入っていないことに気づいた. ファイルを消してダウンロードしなおしたらOK.

しかし,そういう解決方法で解決できるということはなにかファイルの中身の一部が消えるような 問題があるということなので非常に不安だ.

2005年4月10日 (日曜日)

13:33:35 # Life 第3回東京エリアDebian勉強会報告. 昨日は第3回Debian勉強会でした. またまたもりあがったので,次回も是非.

planet-jp.debian.netのみためがださい,と指摘されたので, planet.debian.orgのテンプレートを使うようにいじってみたのですが, なにかおかしいので,また調査してみます.

今回の会計

科目 出費 入金
資料コピー10人分 975
うまい棒 210
会場代 1500
勉強会費 3000
一次会 23053 24000
2次会 3146 2000
合計 116

20:57:40 # Life archをemacsから使えるようにするにはどうしたらよいのかな,と思って調べたら, vc-arch.elというのがemacs cvsに入っているようだ. うーむ.

2005年4月9日 (土曜日)

12:45:03 # Life なにかの障害でネットワークが切断した. 光メディアコンバータがいかれたっぽい. とりあえずtepcoに電話,対応待ち. 最近一日に一回くらいOPTランプが消えていたのだが, 今朝は10分に一回くらい, 今は10秒に一回くらい. 一旦ダウンするとメディアコンバータのリブートが必要.

土日は工事がたてこんでいるので対応できません,とかおっしゃる. 3日間この状態でがんばることになるらしい. 困りましたな. しかし,2年間で3日しかダウンしていないということは,稼働率は99.5%くらいか.

2005年4月8日 (金曜日)

08:16:04 # Life Debian勉強会は明日ですな. planet-jpメンテ:こっそりとutyuuzin日記を捕捉.

日記を巡回していると, planet.yendot.orgというのを作成なさったらしい. ふーむ.

08:45:41 # Life solarisでビルドできないぞこら,とおこられたので,dshを修正. テストできるかた,0.25.6テストください.

2005年4月7日 (木曜日)

07:49:38 # Life kernel planetをよんでいたら,あまりよくないニュース. Bitkeeperの無料版がなくなるらしい. フレームの予感. 実務的に問題が発生しそう.

2005年4月6日 (水曜日)

07:48:44 # Life もうこんな時期,Debian 勉強会,今週末ですので,参加よろしくです. 今回の内容的には初めて参加する方歓迎です.

気が付いたらbitkeeper版カーネルが2.6.12-rc2になっている.リリースされたのだろうか. とりあえずビルドしてインストール.

2005年4月5日 (火曜日)

07:34:52 # Life ldにas-neededというフラグがあるらしい. 最近の機能で,必要な共有ライブラリのみをリンクするという指示らしい. as-neededフラグを使うと,global constructorの意味あいとかに問題が生じるかもしれない. -lオプションで追加したライブラリは全部使えという感じなのだが. 無駄に-lオプションを追加しまくるシステムが多すぎるため,こういう話しがでてくるのだろう...

08:03:14 # Life 久しぶりにマシンがハードにロックアップした. dvdをscsi経由で焼いていたからのような気がするので, ide経由でやくようにしてみる.hdc=scsi ブートオプションをはずして再起動してから, dvdrecord -scanbusしてみると,デバイスが見えた

# dvdrecord  -scanbus -dev=ATAPI
(中略)
Using libscg version 'schily-0.7'
scsibus0:
        0,0,0     0) 'TOSHIBA ' 'DVD-ROM SD-R5002' '1M31' Removable CD-ROM
        0,1,0     1) *
        0,2,0     2) *
        0,3,0     3) *
        0,4,0     4) *
        0,5,0     5) *
        0,6,0     6) *
        0,7,0     7) *
	

気が変わったので,growisofsで書き込んでみる...rootじゃないのに書き込めているのが若干不安だが、 とりあえず焼けたデータの読みだしテストも通ったので、どうやらうまく焼けているようだ。 普通に考えると、DVDをやいたりする場合には mlockallとかしてくれないと不安で、mlockallするにはroot権限が必要なきがしていたのだが、growisofsはどういう仕組みなのだろう。

$ growisofs -speed=2 -dvd-compat -Z /dev/hdc=/var/tmp/backup.tar.gz
Executing 'builtin_dd if=/var/tmp/backup.tar.gz of=/dev/hdc obs=32k seek=0'
/dev/hdc: "Current Write Speed" is 2.0x1385KBps.
  11337728/2596424784 ( 0.4%) @2.0x, remaining 26:36
  20611072/2596424784 ( 0.8%) @2.0x, remaining 20:49
	

sudoで実行しようとすると,セキュリティー的に問題だからsuidしろ,とおっしゃる. お節介だが,正しいことを言っている部分もあるので,微妙. ただ,suidだったらユーザ権限にもどれる,とかいわれても, sudoでも,元のユーザIDが分かるので,そのユーザにもどればよい気もする.

2005年4月2日 (土曜日)

00:44:23 # Life apt-get dist-upgradeして,久しぶりにup-to-date sidにしてみた. フォントがごっそりと変わった感じ.これが噂の問題か... カーネルもbitkeeper版なので,なんだか超先端をいっているような誤認.

2005年4月1日 (金曜日)

08:07:30 # Life Debian JP の選挙関連は今回はどこのメーリングリストでするのだろうか. 公開できないMLを利用する積極的な理由はないとおもうので,-develかな. 年に一回 Debian JP の方向について議論できる場なので盛り上がるのを期待. そういえば,有権者は今現在どれくらい存在しているのだろう.

22:42:48 # Life Davixについての話し. Dave Jonesがメールを投げていたが, ぱっとみただけではわからないくらい実は気合いの入った作品のように思える.


Junichi Uekawa

$Id: 200504.html.ja,v 1.64 2005/05/15 19:22:31 dancer Exp $