debianでハマる

仕事が忙しい→現実逃避に何かする→トラブル発生→さらに忙しくなる

のパターンにまたハマってしまいました。

今回はdebian stableを何気なくupgradeしたらXが起動しなくなってしまいました。fontpathまわりのエラーらしいのですがゆっくりと調べている時間がありません。

えいやっとetchにdist-upgradeしてしまいました。

OLPC

なかなかいいですね。

http://news.com.com/2300-1041_3-6175025-4.html?tag=ne.gall.pg

http://www.nabble.com/The-OLPC-laptop-in-a-Nigerian-classroom-tf3561874.html

久々のプログラミング

そろそろ尻に火がついてきたので、ロボカップ向けのプログラミングを少々。

C++でコーディングしていると、時に叫びたくなります。ひどいコードを書きなおすのにもっとひどくなるから…えらく時間をかけた割には機能追加はほんの少々でした。毎度のことながらポインタ参照やメモリリークを心配しながらコーディングするのは辛いです。やっぱり向いていない。AIBO相手なので仕方ないのですが。

上記の修正に対応するためのSqueakコードは1行で済みました。場所を探すのに数秒、修正に1秒です。もともと見越していたからではあります。

歯医者

春休み中に終えるはずだったのですが、後から後から不具合が発覚したため、今日も午前中に行ってきました。

「今日、お時間があれば2本やっちゃいましょうか」

「(予定はないな?)ぜひお願いします。」

「では上の前歯と下の奥歯をやります。」

両方とも大きく削って型をとりました。当然前歯も奥歯も仮の歯です。で、ごはんを食べるときに気付きました。

「どこで噛めばいいんだ?」

前歯は抜けたら大変なことになるので全く使えませんし、治療していない側の奥歯で噛もうとすると前歯が干渉してしまいます。無理に噛もうとすると関係ない頬の肉を噛んだりします。結局口中傷だらけにしながら食事を終えました。

あと2週間続くのか~

組み合わせ方法?

19名だったので無事に奇数の場合のやり方で問題なくうまくいきました。

偶数の場合にやろうと思っていた方法は、まず、2列に並んで正面の人と自己紹介しあい、次に片側の人だけ左に移動します。左端ではみ出た人は右側に戻ります。

1周したところで列ごとに別のグループになり、そのグループの人数が偶数なら半分に割って2列になり同様のことを繰り返し、奇数なら奇数の場合のやり方にします。

というのが私の考えた案です。ムダが1回生じますが、説明も実行も簡単に思えました。この案を検証できず残念でした。

自己紹介実施

新入生のためのクラスの初授業があり、昨年度に引き続いて自己紹介をやってもらいました。

1回2分間、正面の人と自己紹介しあい、2分たったら左に移動して別の人と自己紹介するという青木メソッドで、1時間近くかけ大騒ぎになりながら何とか終えました。

私はタイムキーパーの役割の人と話をしながら大学に入った感想やら、この自己紹介方法の感想を聞いてまわりました。ニコニコしながら「良かった友達ができそう」と言ってくれる人もいれば、「面倒くさい、疲れる」とイヤそうな顔をする人もいました。

昨年はかなりうまくいったので今年も期待をしていたのですが、やはり「氷を壊す」のに万能の方法があるわけではなく、人に応じて適切な方法を選択しなければならないという、ごく当然の事を考えさせられました。

今年の学生さんは、文化や習慣や境遇のかなり違う学生さんに見えたので、やりがいもありますが、これから教員としての自分の資質を問われるようなそんな気もする一日でした。

本家の解決案

本家の青木先生も同様の問題に遭遇したそうです。その時の解決策は「自分も中に加わって奇数にする」というものです。これを聞いたときには教育上でもすばらしい解決策に思えたのですが学生からは不評なようです。私が受け持ちの学生にその案を話したところ「(そういうことする先生は)キモい、引く」と即座に一蹴されてしまいました。

ということでそのような「人を足したり引いたりする案」はボツです。

どう解く?青木メソッド(偶数のとき)

最初に述べた昨年から持ち越しの問題とは、参加者が偶数のときに起こる問題です。偶数だと奇数と同じやりかたではうまくいきません。例としてAからJの10名いるとして下のように並んだとします。

ABCDE

FGHIJ

タイムキーパーはEJの人がやってもいいし、時計をみながら進めてもいいでしょう。2分たって以下のように左に移動したとします。

FABCD

GHIJE

こんな風にして左に移動しても5回移動したら、また最初の状態に戻ってしまいます。

ABCDE

FGHIJ

昨年は18人いたので1周してから適当に人を入れ替えたりしてとにかく全員のペアを作ったのですが、途中でもう全員とペアをくんだ人とそうでない人が現れ、その分かなり余計に時間がかかってしまいました。

今年も18人になりそうなので、もう少し効率よくやりたいと思っています。そこでどうすべきか?ということなのです。

18人なので全部の組み合わせとしては18C2=153通りです。一度に9ペアずつ、17回転で終わらせる組み合わせ方を見つけることができるかもしれませんが、実際の人間を動かしますので面倒な移動の仕方では配置を指示するだけで時間がかかってしまうので実用的ではありません。そのため、できるだけわかりやすい移動方法を見つけなければなりません。

一応私なりの案を考えてはみたのですが、エレガントではないし18回転かかって(つまり若干のムダが生じて)しまいます。何かよいやり方はないものでしょうか?