トップ 最新 追記

おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2008年7月1日(火) やっと家へ [同日]

友だちの家で朝ごはんをいただいてから出発。早いのに。何からなにまでありがとう。

GPSで位置を確認しながら101号線を北へ。空港こっち、という看板が見えて一番右の車線に寄って走っていたら、空港へ向かうランプをびゅん、と通りすぎた。えっ?おっかしいな。さっきの看板を見てこの車線を進めばいい、と思いこんでたのに、実際にはもう一度右に出ないといけなかったようだ。友だちの奥さんも同じ間違いをしたようで、まあ僕だけじゃないんだな。

どこで戻ろうかと思っていると次の出口が見えてきた。レンタカー屋さんの入っている建物も。結果的にはレンタカーを返す時には、空港を通りすぎた次の出口で良かったようだ。空港に出てしまってたらだいぶ遠回りにになっちゃってたのかもしれない。

いずれにせよ、101号線にわかりやすい標示が無いのが問題なんだろうね。

SFO

そういうわけでレンタカーを返しシャトル (Air Train!) に乗って空港に到着。この乗り物は無人運転なんだけど、扉が閉まる時に誰かがかけこむと「I delayed departure」とか言って、ちょっと待っている。なかなかよくできている。

しかし外はずいぶん寒かった。昼間はすっきりした気候で、頭を使うような仕事にはちょうど良い感じ。これもIT産業が発達した理由のひとつなのかもね (いいかげん)。

SFO-HNL B767

けっこう空いてる。航空会社だいじょうぶかな。そろそろおなかが空いてきたな、と思ったらご飯が出ました。ごちそうさま。

HNL

さっきのが昼ごはんだったような気がするけどもう一度。コナビールのパブはまだ工事中でした。

HNL-ITO B717-200

ぼーっと音楽を聴いてた。やっぱりノイズキャンセルヘッドホン欲しいかもなあ…。せめてヘッドホンのまわりのウレタン(片方だけ紛失した)の換えだけでも見つけたかった。

ITO

荷物出てこないなあ、とおもっているとカールセルががたんと止まった。またですかー。窓口で連絡先を知らせてリファレンス番号をもらう。SFOでスーツが壊れたのを入れて、今回だけで三度目の荷物のトラブルですよ。これまで一度しかなかったのに、今回は運が良い、ちがう、悪い。

結局荷物は夜遅くにおじさんが乗用車で配達してくれました。フランスで買ったワインがほっかほかになってましたよ。残念無念。しかしホノルル空港で待たされることを考えても、こういうものを買ってくるのには無理があったか。


2008年7月2日(水) 時差ぼけでぐっすり眠る [同日]

Palmの充電器を壊した

出張中にPalmの電池がこころもとなくなってきたので、変換プラグを通して接続。あれ?充電してないな、酔ってるからかな(なぜ)、と思って放っておいた。

戻って改めて充電しようとしても充電されない。ようく見ると、INPUT: 120VACと書いてある。げげっ。今時そりゃないっしょー。しかもこのでかい図体で。フランスの220Vの電源で壊してしまったか。

このデバイスは幸いUSB経由で充電できるので、今後はそれで凌ぐことにする。とは言え、Frogpadのように電源の線に5V来ているだけではだめで、USBのクロックも見ているようなのでPC経由でしか充電できないんだけれど。まったく妙なところで贅沢だよね。

というか、電気器具の標示をちゃんと見るように。下手すると火事になる。はい、すみません。


2008年7月3日(木) ひたすらシゴト [同日]

[memo] 裏の記事が見えないように印刷物をスキャンする

スキャン対象の裏に黒い紙を重ねてからスキャンやコピーをすると、スキャン対象の裏の内容を隠すことができる。

どこで読んだのか忘れてしまったが、必要があって思い出した。


2008年7月5日(土) 久しぶりにプログラミング遊び [同日]

仕様書を読むだけで時間切れになりそうな予感もありますが。

[memo] Ubuntu 8.04のSCIMを、shift+spaceでon/offする

SCIMのSetupのウインドウを表示して、Global Setup内のTriggerでShift+spaceを追加したらできるようになった。

[run] 最短コース

昨日久しぶりにサッカー(もどき)をして、自分の体力の無さに愕然とした。走りはじめていきなり、今までそこにあったはずの筋肉が無いことに気づいた。がんばらにゃ。

時計が壊れているのでしばらくのあいだタイムは測れない。

USB video device class (wikipedia.org) に対応したカメラから好きな設定で静止画を得たい

案外欲しい機能をすべて備えたアプリケーションが無いものだね。

LinuxからUVCデバイスを使うには、Linux UVC driver and tools (berlios.de) を使うのかと思ったけれど、このパッケージにはあまりドキュメントが無い。非公式Wikiからもリンクされているluvcview (quickcamteam.net) のソースコードを見ると、Video for Linux Two (V4L2; linuxtv.org) に定義されている定数をioctl()で送ってやりとりをしているみたい。

とりあえずはluvcviewに倣って、V4L2のドキュメントを読みながらコードを書けばいいのだろうか。それがLinux UVC driver and toolsを使うことになるのか、調べたらこのパッケージにもっと使いやすいAPIがあるのか気になる…と書きつつV4L2を読んどこ。

(追記) ちゃうちゃう。アプリケーションから見えるAPIがV4L2で、USB video device classに対応したハードウェアに対してこのAPIを実装してるのがLinux UVC driver and toolsなんだ。

ジョギングの後に買い物に行くのは避けるべき

ビールを買ってしまったではないかい。

本日のツッコミ(全2件) [ツッコミを入れる]

> okuji [似たようなもので、サウナの後に牛乳一本ってのもありましたね。カロリー消費が目的だとすると、かなり本末転倒という。]

> zunda [カロリー消費にはジョギングよりもあまり脈拍の上がらないウォーキングの方が良いという話もあるそうですね。真偽のほどは知..]


2008年7月7日(月) ひたすら会議と書類書き [同日]

[run] CSO延長

肉体も精神もいつも微妙に筋肉痛な感じでいきたいものです。むずかしいけどな。

本日のツッコミ(全2件) [ツッコミを入れる]

> ブチャ猫 [難しい表現ですね>・・・筋肉痛な感じ]

> zunda [ジョギングしてるといろいろ変なことばが浮んでくるんですよね。体もジョギングしてある程度の活動を保たないといけないけど..]


2008年7月8日(火) 頭が筋肉痛 [同日]

それは頭痛というものです。寝る前に二分探索の比較回数とか考えてたからなあ…。

[DocoMomo] サスペンドさせるのは難しいかも

しばらく放ってあるどこモモ。IMクライアントを入れたくなったのを気に、今、サスペンド(かな?メモリの内容はハードディスクに書かずにメモリの中に保持したままの方)できないのが何故か調べてみました。

そしてわかった衝撃の事実。USBドライバモジュール(ehci-hcd)をアンロードして、再度、ロードする (藤井正人Online研究室) 必要があるようです。えー。それにはUSBメモリをumountする必要があって、それにはrun level 1まで降りなくちゃいけなくて、それにはサスペンド直前に走ってたプロセスはほとんど止めなくちゃいけないことになります。サスペンドの意味ないやん。というわけでまた保留。何とかumountしないでモジュールのリロードができないかな。

もうひとつ、キーボードのマッピングがデフォルトに戻っちゃう、という現象も見つけたのですが、こちらはたぶんレジュームした時にkeytableをrestartすればいいはず。(追記) これは実機で確認できた。

[run] 最短コース

これで体も筋肉痛 w


2008年7月9日(水) ひたすらメール書き [同日]

[run] 行き止まり+CSO延長

ストレス駆動ジョギング。やれやれ。

土砂降りにあって靴をぐしょぐしょ言わせながら帰ってきたら晴れていた。まーそんなもんだ。


2008年7月10日(木) 今日は長いよ [同日]

[run] 行き止まり+CSO延長

左ふとももの後側のスジがあやしい

[DocoMomo] docomomo-0.13.1をリリースしました

DocoMomoは、512MB程度以上のあるix86マシンで512MB程度以上のUSBメモ リからGNU/Linuxを起動できるようにするツールです。DocoMomoを作成す る環境と同様の、使い慣れた環境をUSBメモリ上に構築できます。

Momonga Linux 4の上で、USBメモリへのDocoMomoのインストールおよび Linux上で動くインストーラの作成が可能です。 IMクライアントが欲しくなったのを期に更新しました。 残念ながら0.12系列で挑戦していたサスペンドはお預け。

リリース0.13.1では、複数のプロトコルを扱えるインスタントメッセンジャー Pidgin を追加しました。

DocoMomoの作成に必要なファイルは SourceForge.jpのProject Info から、LinuxからUSBにMomonga Linux 4から作成したDocoMomoをインスト ールできるインストーラは http://docomomo.sourceforge.jp/ からダウンロードしてください。


2008年7月11日(金) 遠い世界のはなしみたいだ [同日]

海に注ぐ溶岩が赤く光っているのが山の上から見えた。

熟れていない果物を食べる

切ってから熟れていないことに気づいて室温に放置してみたパパイア(の切り身)、一晩くらいじゃぜんぜん熟れない上に変な匂いもしてきた。試しに電子レンジで温めてみたら、そこそこ熟れた味に近くなった。あったかいけど。

[memo] ルートCAの証明書の場所

どうしてこんなことまでやってるんだろうと思いつつ調べる必要があった。

Momonga Linux 2のopenssl-0.9.7g-2mでは/usr/share/ssl/cert.pemに、Momnoga Linux 4のopenssl-0.9.8f-1m.mo4では/etc/pki/tls/cert.pemにある。

今回問題になったのはUbuntu 6.06で作業前の状態ではみつけられなかったのだが、ca-certificates-20050804-0ubuntu0.6.06.1というパッケージをインストールしたら/etc/ssl/certs/以下にできた。w3mでhttpsのサイトを閲覧すると証明書に問題があるという警告は消えたが、依然、straceではどのストアを見ているのかはわからなかった。

Ubuntu 8.04ではca-certificatesをインストールしていなくても同じhttpsのサイトを問題なく閲覧できた。これも不思議。

[run] 行き止まり+CSO延長

出る前に水を飲み忘れたのだががんばってくれた。

ラウラウ*1が食べたくなって買いに行ったら店が無くなっていた。しばし呆然とたちつくしよろよろと撤退。笑顔で迎えてくれた新しい店(ステーキ屋さんになっていた)のおねえさん、ごめんなさいでした :)

*1 豚肉をタロイモの葉っぱで包んで蒸したハワイ料理


2008年7月13日(日) [同日]

[memo] luvcview (quickcamteam.net) を作ってみる

たぶん標準的な*1パッケージ構成のUbuntu 8.04に追加でインストールしたのは、libsdl1.2-dev。

あと、Linux UVC driver & toolsより、svn://svn.berlios.de/linux-uvc/linux-uvc/trunkをcheckoutし、libwebcamより、http://svn.quickcamteam.net/svn/qct/Linux/をcheckout。READMEのとおり、一部のヘッダファイルをsymlinkした。

*1 このご時勢コンパイラが入ってたら標準的とは言えないのかな

[memo] dpkgにファイルの持ち主のパッケージ名を表示させる

rpm -qf <パス>に対応するのはdpkg -S <パス>

野良ビルドのluvcviewはUbuntu提供のluvcviewと違ってioctl()がInvalid argumentを返す。なぜ…

[memo] autotoolsで管理するプロジェクトを始めてみる

久しぶりにやろうとすると忘れてしまっていることに気づく。 一度メモしておこう。下記の手順が正しいとは限らないのでご注意ください。

Ubuntuの場合は開発ツールがぜんぜん入ってない。僕の場合は、 automakeを入れる必要があった。

まずdoc/、src/、test/をつくってsrc/に適当にファイルを配置する。

autoscanでconfigure.scanを作ってもらえるので、configure.inに改名して、 FULL-PACKAGE-NAME、VERSION、BUG-REPORT-ADDRESSを編集する。

Makefile.amを作って、SUBDIRS = . test、 test/Makefile.amのcheck_PROGRAMSにとりあえず作ったテストプログラムを書く。 INCLUDES = -I$(top_srcdir)/src も追加。 (追記) TESTS = にも追加しないとmake checkで走らせてくれない。

automakeする。configure.inにAM_INIT_AUTOMAKEが無いと怒られるので、 AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERISION) という行を追加する。

automakeする。aclocal.m4が無いと言われるのでaclocalする。

automakeする。install-shが無いと言われるので、automake --add-missingする。

automakeする。AC_CONFIG_FILES([Makefile])が無いと言われるので、 AC_CONFIG_FILES([test/Makefile]) という行と一緒にconfigure.inに追加する。

automakeする。INSTALLが無いと言われるのでautomaek --add-missingする。 COPYINGとしてGPL3がsymlinkされる(Ubuntu)。えええっ!?

automakeする。NEWS、README、AUTHORS、ChangeLogが無いといれる。 COPYINGも一緒に編集する。

automakeする。Makefile.inとtest/Makefile.inができる。

この状態でautoreconfすると、configureができるので実行してみる。 config.h、Makefile、test/Makefileができる。

これで、make checkが走るようになる。 ここで悩ましいのはどこまでレポジトリに登録しておくか。 他のマシンでcheckoutしてすぐ./configureできるようにしたいと思って、 手で書いたファイル以外に、 スクリプト: depcomp missing install-sh aclocal.m4、 生成ファイル: configure Makefile.in test/Makefile.in をsvn addしてみた。 次はコードのtypoの修正から。

automakeとsubversionを使うプロジェクトでmake commitできるようにする

下記をトップディレクトリのMakefile.amに追記しておくと、 ChangeLogの最初のパラグラフ(空行まで)をcommit logとしてcommitしてくれる。

.PHONY: commit
commit: .svn
	cd $(top_srcdir) && \
	log=`sed -n '/^$$/q;p' ChangeLog` && \
	svn commit -m "$$log" && \
	echo "$$log"

前にも書いたような気がするけど。

error: expected expression before `struct’

V4L2のioctl(2) APIを呼ぶコードが、上記のコンパイルエラーをもらった。 linux/videodev2.hをincludeしてプリプロセッサだけを通すと、下記のようなコードに展開されていた。

ioctl(…, _IOWR ('V', 36, struct v4l2_queryctrl), …)

_IOWRって何?というわけで、加えて、linux/ioctl.hをincludeするようにしたらコンパイルできるようになった。

[memo] Ubuntuでパッケージのソースを得る

たぶんDebianでも一緒だろう。

dpkg-devを入れておいて、apt-get source luvcviewなどとすると、カレントディテクトリの下にいろいろコピーしてくれる。

本日のツッコミ(全2件) [ツッコミを入れる]

> kou [そういえば、GNUビルドシステムを使ったパッケージの作り方のチュートリアルがありましたよ。ついでに自動テスト環境もで..]

> zunda [ありがとうございます!TDDの見本ですね。今回はハードウェアが対象なのでどこまで自動化できるか微妙なのですが、慣れれ..]


2008年7月14日(月) タマネギ中毒でボロボロ [同日]

[run] 76+行き止まり+CSO延長

皮膚が痒くて何度も立ち止まった。なさけねー。


2008年7月17日(木) 朝飯前のシゴト [同日]

sshトンネル崩落

家の中に入口があるsshトンネルにつながらなくなった。/var/log/messagesには、「sshd: error: channel_setup_fwd_listener: cannot listen to port: 入口ポート番号」というログが残っていた。netstat -tするとトンネルプロセス自体は生きているようだった。

トンネルの出口からは、トンネルが切れたら再接続するようにしてある。家の中のトンネルプロセスを殺してしばらく待ったらトンネルを通れるようになった。


2008年7月21日(月) 蒸し暑いよ [同日]

[run] 76+行き止まり+CSO延長

最初はどうなることかと思ったけど体が暖まってきたら調子が良くなった。

Ubuntu 8.04のシステムのタイムゾーンが勝手にJapanになる

TZは設定していないのにdateするとJSTで答えてくれちゃう。以前はHSTになってたような気がするんだけどな。

sudo dpkg-reconfigure tzdata してみた。dateがHSTで答えてくれるようになった。


2008年7月24日(木) 文字通りシゴトが積もっていく [同日]

[memo] subversionで外部定義を設定する

レポジトリの管理下にあるディレクトリで、下記のようにする。この場合外部定義にするのはreferencesディレクトリ。

$ mkdir references
$ svn add references
$ svn commit

(追記) 上記までは不要だったようだ。svn removeした。

$ svn propset svn:externals 'references svn+ssh:…/references' .
$ svn stat
 M     .

外部項目 'references' の状態表示を行っています。

「svn:externalの属性値」がディレクトリとURLの対応を指すというのを思い出すのに時間をかけてしまった。これまでも何度かやってるのに。

しかしおうちレポジトリサーバとの通信が遅くて作業が滞る。


2008年7月26日(土) 眠れなくて困る [同日]

起きてる分いろいろできるわけじゃないしな。

[memo] Ubuntuのマシンをstatic IP addressにする

How to set a static IP in Ubuntu from the shellを見ながら、/etc/network/interfacesの内容を、

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

のうち後半を、

auto eth0
iface eth0 inet static
        address 192.168.1.68
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1

のように変更した。

/etc/resolv.confは家ルータからDHCPでもらってきてあるものが使えそうなので、そのままにしてある。編集後

sudo /etc/init.d/networking restart

したら新しいIPアドレスにsshできた。

Ubuntuマシンから名前解決できないし、pingすら家ネットワークの外に出ていかない。何故だろうとしばらく悩んで、ルータでそのように設定していたのに気づいた。あほでした。

そうそう、sshd_configはPermitRootLoginとUseDNSをnoにしておきました。

Ubuntuで/dev/input/miceをコンソールに居るユーザーものにする (失敗)

ローカルログインユーザによるマルチメディアデバイスの利用を参考に、 libpam-devpermをインストールして、/etc/pam.d/loginに

session required pam_devperm.so

を追加し、/etc/logindevpermに、

/dev/tty1 0660 /dev/input/mice

を追加した…が、/dev/input/miceのownerはrootのままだった。 /dev/tty1は変化してるのになあ。

というわけで、luvcviewのSDLはマウスをみつけることができないの で起動しない。しょぼん。


2008年7月27日(日) 明るくなってきました [同日]

[memo] Ubuntu hardyの/dev/input/miceをudevから設定する (別解で解決)

コンソールでluvcviewを起動したいのだが、 マウスを読み書きするパーミションがなかった

/etc/udev/20-names.rulesに

KERNEL=="mice",                         NAME="input/%k"
KERNEL=="mouse[0-9]*",                  NAME="input/%k"

とあるので、/etc/udev/40-permissions.rulesに、下記を追加してみた。

# Input devices, group under /dev/input
KERNEL=="mice",                         GROUP="tty", MODE="0660"
KERNEL=="mouse[0-9]*",                  GROUP="tty", MODE="0660"

次に、sudo vigrして、ユーザーをttyグループに追加した。

この状態でマシンを再起動して、コンソールからログインしなおしたら、 期待通りluvcviewが起動してくれた。

眠いぜ。

[memo] Ubuntu 8.04からのX11Forwardingを可能にする

xauthを入れたら可能になった。同時に、libx11-6 libx11-data libxau6 libxcb-xlib0 libxcb1 libxdmcp6 libxext6 libxmuu1 x11-commonが入った。

[memo] ちょっとの間放っておいたUbuntu Hardyのopensshを更新する

sshの鍵を作ろうとして、ふと思いだして手元のThinkpad 240をapt get updateしようとしたら、

The following packages have been kept back:
  bind9-host dnsutils libbind9-30 libisccfg30 linux-image-server linux-server
  openssh-client openssh-server

と言われた。

moccoriの日記を参考に、下記の操作をしてみた。

$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  libdns35 linux-image-2.6.24-19-server linux-ubuntu-modules-2.6.24-19-server
  openssh-blacklist
The following packages will be upgraded:
  bind9-host dnsutils libbind9-30 libisc32 libisccc30 libisccfg30 liblwres30
  linux-image-server linux-server openssh-client openssh-server ufw
12 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 27.2MB of archives.
After this operation, 83.3MB of additional disk space will be used.
  (後略)

sshのホストキーは作りなおされました。

[memo] Ubuntu Hardyでconfigure: error: C compiler cannot create executables

config.logを見ると「/usr/bin/ld: crt1.o: No such file: No such file or directory」とのこと。libc-devから、libc6-devとlinux-libc-devをインストールしたら進んだ。

[n810] PIMの開発者は一度Palmを使ってみるべき

言いすぎっていうか自分でやりたい。

N-810のgpe-*が更新されていた(2.8+maemo+svn20080722-1)のだけれど、Palm TXでは便利に使えていて僕に必要な機能はまだ無かった。そのうち自分でやりたいのでメモしておく。

  • calendarの項目(タイムゾーンの違う部署をつないでやるリモート会議など)にタイムゾーンを設定できるようにする。ジョギングする、などどこでもローカル時間で実行したいタスクもあるのでタイムゾーンを設定しない項目も作れる必要がある
  • todoの項目に繰り返しを設定できるようにする
  • (これは別にアプリケーションを作る) システム時刻の設定でタイムゾーンを変更した場合は、時刻も追随して変更されるようにする。システム時計をUTCにするのが便利かも

いつできるかなあ…。


2008年7月30日(水) 寝不足でやま [同日]

Palm TXのケースが裂けた

亀裂が入ってきて、そろそろ危ないかな、と思っていた、Palm TXのシリコンケースがついに裂けた。Amazonで見てもPalm shopで見てももう同じタイプのものは売っていない。

ふと思いだして、以前ネジが折れてケースを買い直したのを思いだした。今回のはネジは折れていないので2つのケースから使えるものをつくれた。

よかったよかった。

って次に壊れたらどうしようかねえ。

そういえばN810のケースはベルトにひっかける部分が壊れている。M4のネジをPalm TXのケースのネジの折れた部分にくっつけられれば再生利用できるのかな。

ふと、Palm TXのネジの折れたケースのうちまだ生きているベルトクリップの部分を、N810のケースの壊れてしまったベルトクリップの代わりにとりつけてみたら、着いた。わはは。3個の壊れたケースから使えるケースが2個できたわけだ。我ながらたいしたもんだ。

[memo] gnome-terminalでEast Asian Ambiguous問題を解決する

ちょっとしたメモをja_JP.UTF-8な環境のw3mから起動したviimで付けている。 「Σ」が沢山でてきてその度に表示の桁が狂って見にくくなる。

xfce4-terminal での East Asian Ambiguous 問題 (鷹の島) を参考に、 $HOME/.xinit.d/customに下記のようなファイルを置いたらマシになった 。

VTE_CJK_WIDTH=1
export VTE_CJK_WIDTH

ただ、w3m自体の表示がすこしずれるようになったような気がする。 vimでカーソルがどこにいるかわからなくなるよりはマシなので今は我慢する。


2008年7月31日(木) 慢性的寝不足 [同日]

O'Keefe and Sons閉店

世界で二番目においしい*1と勝手に思っていたパン屋さんが今日で店仕舞いなのだそうです。残念。ずん夫人が早起きして閉店セールのパンを買ってきてくれました。

*1 一番おいしいのはGarchingの中心にあるBäckrei Sharl

DocoMomo持って移動オフィス

USBメモリを持ち歩いて空いてるPCを見つければ*1どこでも自分のオフィス♪というわけで空いた机を放浪中。これは便利だ。

*1 と書けるほど気楽にはPCは見つからないけど

今年の年末にも閏秒が来るそうですよ

IERS Bulletin C 36より。1月1日0時UTCの前に1秒増えるので日本だと元旦の午前9時の前かな。

それはそうと、そろそろDocoMomoの外観にも凝り たい ところ (engadget.com) かな〜

閏秒は1秒増えるのに閏年は1年じゃなくて1日増えるのな。


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>