おまぬけ活動日誌

最近のツッコまれどころ

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


2002年04月10日(Wed) Windows 2000は、CD-ROMドライブにCD-ROMが入っているだけで起動しなくなる

萎えなえ…。CD-ROMはもちろん起動できないやつです。

今日のKondara-iiimf-skk-HOWTO

昨日の、 CVSレポジトリでファイルのグループがkondaraではなくてusersになってしまうのは、 親のディレクトリのグループのsticky bitが無いからかなぁ、 という気がしてきました。

furi$ cd /home/cvs/www/docs
furi$ chgrp -R kondara Kondara-iiimf-skk-HOWTO
furi$ ls -l | grep iiimf
drwxrwxr-x    3 zunda    kondara       136 Apr 10 16:01 Kondara-iiimf-skk-HOWTO
furi$ ls -l | grep XChat
drwxrwsr--    5 tom      kondara       184 Apr 10 16:01 Kondara-XChat-HOWTO

というけで、新しくaddしたディレクトリにもsticky bitを立ててみました。 ちなむと、Kondara/pkgsの方は、daikuでsticky bitが立っているようです。

furi$ chmod g+s Kondara-iiimf-skk-HOWTO
furi$ chmod g+s Kondara-iiimf-skk-HOWTO/ja
furi$ chmod g+s Kondara-iiimf-skk-HOWTO/ja/figures

少なくとも手元でupdateできるのは確認しました。 (あんまり確認になってないのは昨日の例の通りですが…。) 次にcommitする時には、この効果がわかろうというもの。楽しみです。 本当はどうするのが作法なのでしょうか?

とりあえず、www.kondara.orgの方でhtmlを作ってほしいので、 docs/configure.inを編集してcommit、編集を戻してcommitして、 タイムスタンプを新しくしました。 無駄にrevが上ってしまいましたが。 次のcronでhtmlを作ってくれるのを待ちましょう…。

またまたKondara-iiiimf-skk-HOWTO

famaoさんの書かれた文書へのリンクを追加してcommitしました。

  • commit前
    -r--r--r--    1 zunda    kondara     24410 Apr 10 02:24 Kondara-iiimf-skk-HOWTO.xml,v
    
  • commit後
    -r--r--r--    1 zunda    kondara     25611 Apr 10 16:45 Kondara-iiimf-skk-HOWTO.xml,v
    

というわけで、今度はsticky bitが効いてくれてる感じ。

IE6のxmlパーサはなかなか賢いかも

http://www.kondara.org/docs/Kondara-iiimf-skk-HOWTO/ja/Kondara-iiimf-skk-HOWTO.xml を表示してもらおうとしたら、

The XML page cannot be displayed 
Cannot view XML input using XSL style sheet. Please correct the error
and then click the Refresh button, or try again later. 
--------------------------------------------------------------------------------
Entity names, PI targets, notation names and attribute
values declared to be of types ID, IDREF(S), ENTITY(IES) or
NOTATION cannot contain any colons. Error processing resource
'http://www.kondara.org/docs/Kondara-iiimf-skk-
HOWTO/ja/Kondara-iiimf-skk-HOWTO.xml'. Line 208, Position 57 
 
Release:  <userinput>4k</userinput> <co id="Release:" />

と。CDATAにコロンは入ってなかったか。おはずかしい…。 次のcommitで直します。

も一つKondara-iiimf-skk-HOWTO

レポジトリのファイルのグループが違ってたことから始まった問題が、 やっと落ち着いた様子です。 やっとこさ、www.kondara.orgで更新してくれるようになりました。 http://www.kondara.org/docs/Kondara-iiimf-skk-HOWTO/ja/ をご覧ください。

mcHTさんから見る人は、細かいインストール方法よりも,使い方,Tips とか知りたいのではないか、 というツッコミをいただきました。 Kondara以外の人にもiiimf-skkを使って欲しいという思いもあって、 Kondaraでのやり方は本文に、それ以外の場合はAppendixに、と分けたつもりです。 ひきつづき、みなさんの、読みにくいぜい、とか間違ってるぜい、とか、 もっとこうした方がいいぜい、とかツッコミをお待ちしております。

あいかわらずコードには触れず…はぁ。

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

> mcHT [こんにちは,mcHT です. Kondara-iiimf-skk-HOWTO をちらりと見たのですが,内容の一部(イ..]

> ずんだあん [ご意見ありがとうございます。 Kondara以外のユーザーにも使ってもらえるようにしたい、という意図があったのですが..]

> mcHT [Appendix というのはいい案ですね. 私はコンダラのドキュメントにわざわざ rpm の作り方とか,tar 玉か..]

> UmaShika [ふm。mcHTさんの意見でいくと、使い方をメイン(本文)において、インストール方法などは、Appendixに置くほう..]


2003年04月10日(Thu) こんな朝もあるさ

寝坊したので霧雨の中自転車通勤。駐車場はもういっぱいなのだ。町なかを掃除機が走りまわり、高速は渋滞。出口ではBMWとFordが全損事故。コピー機は紙を2枚ずつのみこむ。…朝ごはん買ってこようっと。

こんな昼もあるさ

光学ベンチの上を整理していたら測定中の光ファイバーをひっかけて光軸調整からやりなおし。昼は食べたいものがなくてメンザでソーセージを噛る。ついでに唇も噛る。

こんな夜もあるさ

自転車で職場を出ると吹雪。高速道路はまた事故で渋滞。家に着くころには雪は止んでたけど、フリースには氷が積もっていた。

ま、晩ごはんはおいしかったし娘の機嫌もいいのでいいか。


2005年04月10日(Sun) 久しぶりの夏(のような日)

暑かったっす。車庫から自動車を出して布団を干し、夕方涼しくなってから海に行った。ずんこが浮輪でぷかぷか浮かぶのがずいぶん上手になっていた。

地下トイレ修理

水道とタンクをつないでいるホースのタンク側の繋ぎ目から漏れていた。端面がゴムでできているので本来はそれを押しつけることで防水してるのだろう。とりあえずは端面とその周囲にテフロンテープを巻いてみた。しばらく持つといいけど、最終的にはホースを取り換えないといけないんだろうな。

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

> ブチャ猫 [ドイツ(たしかそうでしたよね)では布団を干しても良いんですか? イギリスでは洗濯物も干してはいけないそうですから。]

> zunda [今はアメリカ南端の近くに居ます。賃貸契約書に、外に干しちゃいけないと書いてある物件もありますが、うちは書いていなかっ..]


2006年04月10日(Mon) 今日は山頂に行かずに済みました

[memo] IBM developerWorkより

あとで読む。いつ〜。

やるなHawaiiantelcom

4月1日から一ヶ月間有効というふれこみのverizonの設定インターフェースには既にログインできなくなっていた。vrizonの設定インターフェースにログインできていた期間はverizonの問題で設定が変えられなかった。わはは←笑いごとじゃない人の方が多いはず。先週土曜日の新聞でもけちょんけちょんに書かれてたけどさ。

ケーブルテレビ経由の接続は高くてDSL経由はHawaiiantelcomしか無いのが痛いところ。


2007年04月10日(Tue) メールがたまってまーす

[pda] Palm、Linuxベースの独自OS開発を発表 (Engadget Japanese)

Palm OSのアプリケーションがそのまま動くOSをLinuxベースで作るとのこと。登場は年内なのだそうな。へぇ〜! Mac OS X みたいに今の使いやすさのまま移行できてるとうれしいな。

これで僕のPalm TXでもRubyが動きます…そういうハナシではない、だろうなあ。新しいOSの載った、電話無しのデバイスも出るのを期待しよう。

[run] 最短コース 29分08秒

足をくじいて以来、やめていたのを再開した。いや〜見事に呼吸器系リミットでした。


2008年04月10日(Thu) 湿度100%

今日の病気

Thinkpadを使った後に人差し指がぽっちを探してしまう。


2009年04月10日(Fri) 雨とか雪とかが降っている

[memo] JsUnitでリファクタリングを始めてみる

JavaScript: The Good Parts (oreilly.co.jp) を一通り読んだので、忘れないうちに、 単位換算器をリファクタリングしてみたい。 リファクタリングといえばユニットテストだよね、と思って見つけた、 JavaScript Test Driven Development with JsUnit and JSMock (infoq.com) も参考にしてみよう。 gitも使うよ。

まずはJsUnitをダウンロードして展開する。 いただいたのは、jsunit2.2alpha11.zip *1

$ cd ~/local/src
$ unzip ../packages/jsunit2.2alpha11.zip

これでJsUnitはjsunit/以下に展開される。 jsunit/testRunner.htmlを閲覧するとinfoqの記事のようにユーザーインタフェースが現われた。

ここでJsUnit自体のテスト。とりあえず tests/jsUnitAssertionTest.htmlをRunしてみると…。

Readint Test Page file:///jsUnitAssertionTests.html timed out. Make sure that the file exists and is a Test Page.

だめじゃん。またまたしょんぼり。 ブラウザは、 Running on Mozilla/5.0 (X11; U; Linux x86_64; ja; rv:1.9.0.7) Gecko/2009032510 Momonga/3.0.7-1m.mo5 Minefield/3.0.7。

Firefox 2だとどうだろうか? Running on Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.1.15) Gecko/20080708 Momonga/2.0.0.15-1m.mo4 BonEcho/2.0.0.15。

Status: Done (0.723 seconds)
Runs: 26 Errors: 0 Failures: 0

とりあえずはMomonga 4の上で続けよう。

次に単位換算器側の準備。 JavaScriptのディレクトリ構成はどうするんだろうか。 いつも通りsrc/とtests/でいいか。

$ cd ~/local/src
$ mkdir fluxconv
$ cd fluxconv
$ git init
$ mkdir src
$ mkdir tests

src/に今の状態の単位換算器を入れた。

テストケースを書こう。 JsUnit自身のテストケースは、ファイル名がcamelCase(じゃなくて最初が小文字のやつ)なのがなんとなく気持ち悪いのだけれど合わせるべきだよね。 あー。HTML内のJavaScriptって<head>内に読み込ませられるのかしらん。

とりあえず下記のようなテストがちゃんとfailするのを確認した。

<html>
<head>
<title>fluxconv Flux Conversion Tests</title>
<script language="JavaScript" type="text/javascript" src="../../jsunit/app/jsUnitCore.js"></script>
<script language="JavaScript" type="text/html" src="../src/fluxconv.html"></script>
<script language="JavaScript" type="text/javascript">
function testFailure() {
	assert(false);
}
</script>
</head>
<body/>
</html>

ここまでで一度git commit。

さて。ここで問題です。 xUnit用になっていないレガシーコードのユニットテストを書くにはどうすればいいでしょうか? というわけで休憩してかくたにさんの講演の資料を探しに行こう。 →いきいきとしたレガシーコードとの暮らし

*1 SourceForgeのダウンロードページはブラウザの幅が狭いと広告に邪魔されてパッケージがクリックできない。しょんぼり。

HTMLのhead内に読み込むJavaScriptのファイルはtext/htmlではダメ

<script language="JavaScript" type="text/html" src="../src/fluxconv.html"></script>

はやっぱり効いてませんでした。HTMLファイルの最初のDTDの宣言で蹴られてた。仕方がないのでHTMLとJavaScriptを分けましたよ。

JsUnitはどこで失敗したか教えてくれないのかな

1. testConversion.html:testConversions failed

Call to assert(boolean) with false

Stack trace follows:
> JsUnitException
> _assert
> assert
> testConversions

「いきいきとしたレガシーコードとの暮らし」にはまだまだ遠い

というわけで家族の協力を得ながらやっとなんとかテストケースを作りました。このテストケースを最後まで使えるのかどうかかなりあやしい。

続きをできる日までgithubに晒しておこう。http://github.com/zunda/fluxconv/tree/master

上流にフィードバックするまでが遠足です

夜な夜な読ませていただいてきた、「オープンソースソフトウェアの育て方」をやっと読み終わりました。

僕のプロジェクトはみーんな開発者は僕だけなので、この本にあるような悩みのほとんどは夢のまた夢なんだけど、tDiaryでどう行動しようか、とか、本職でどう行動しようか、とか考えたときに参考になる話題もたくさんあったように思います。(実際にぶちあたってから読み直させてもらうことになるんだろうけど。)

いくつかtypoを見つけてしまったのでお知らせしてみた。「技術的な批評については、 たとえそれが直接的で歯に衣着せぬものであっても失礼にはあたりません。 実際のところ、逆にそれはほめ言葉ともとれるかもしれません。」(何が失礼にあたるのか) って買いて書いてあるしね!

というわけで皆さんも読んでみてくださいね。次はSICPをがんばってみようかな。英語だし、最後まで行かなさそうだね。

あー。上記のJsUnitがFirefox 3で動かないように見える件は、ゆるちてください。JavaScript初心者には上流にフィードバックするべきかどうかもわからんとですよ。

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

> kou [typoを見つけました! 「買いてあるしね!」→ 「書いてあるしね!」]

> zunda [きゃあ♪ それはそうと、上記は時々kouさんにツッコミいただいていることの受け売りです。ありがとうございます。]


2011年04月10日(Sun) 雨時々くもり時々はれ

[Momonga] gnucashのパッケージにドキュメントを追加しました

GnuCash先日パッケージにしたのですが、オンラインドキュメントがありませんでした。ふと思いついて元のサイトを見に行って、別のtar ballとしてダウンロードできることに気づきました。 というわけで、githubのspec置き場に置いてあるgnucashs.specにdocsサブパッケージとして追加しました。ご利用ください。

2013年04月10日(Wed) 口の周囲が腫れている

[rpi] /homeパーティションを作る

久しぶりラズベリーさん。2度目に起動したらloginプロンプトが表示された。 Downloads | Raspberry Piぺージより下記でログイン。 ってあれ?しばらくの間USBキーボードが効きませんでした。 二回USBケーブルを挿しなおしたらタイプできました。

Username: pi Password: raspberry

あ、EthernetケーブルをつないでおいたらDHCPサーバからIPアドレスをもらってくれたようです。 My IP addressisって画面表示で教えてくれます。 sshdも走っているようなので こちらから ログインしてコピペしながら作業を進めましょう。

まずはパッケージの更新。

pi@raspberrypi ~ $ sudo raspi-config 
update             Try to upgrade raspi-config

apt-get updateupgrade相当のことをしてくれたみたいだけどお茶を汲みに行ってる間にraspi-config画面に戻っちゃったよ。 あ、Finishしたら見えました。

Get:1 http://archive.raspberrypi.org wheezy InRelease [7,737 B]              
Get:2 http://archive.raspberrypi.org wheezy/main armhf Packages [6,474 B]    
Get:3 http://mirrordirector.raspbian.org wheezy InRelease [12.5 kB]
Get:4 http://mirrordirector.raspbian.org wheezy/main armhf Packages [7,406 kB] 
Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB
Ign http://archive.raspberrypi.org wheezy/main Translation-en
Get:5 http://mirrordirector.raspbian.org wheezy/contrib armhf Packages [23.3 kB]
Get:6 http://mirrordirector.raspbian.org wheezy/non-free armhf Packages [48.0 kB]
Get:7 http://mirrordirector.raspbian.org wheezy/rpi armhf Packages [14 B]    
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB      
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Fetched 7,504 kB in 51s (145 kB/s)             
Reading package lists... Done
Reading package lists... Done
Building dependency tree     
Reading state information... Done
raspi-config is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 140 not upgraded.
Sleeping 5 seconds before reloading raspi-config

サイシンとのこと。140 not upgradedとは? 他のパッケージは見てないのかな。

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get upgrade

おお。たっくさんあった。

さて、更新したらとりあえず/homeパーティションを分けてみよう。 dfの結果、/bootが/dev/mmcblk0p1とあります。 じゃあSDカードはmmcblk0だね。

pi@raspberrypi ~ $ sudo parted /dev/mmcblk0
GNU Parted 2.3
Using /dev/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                          
Model: SD 00000 (sd/mmc)
Disk /dev/mmcblk0: 8069MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      4194kB  62.9MB  58.7MB  primary  fat16        lba
 2      62.9MB  1940MB  1877MB  primary  ext4

(parted) quit

/はext4。ゼイタクなw btrfsは使えるのかな?

pi@raspberrypi ~ $ grep btr /proc/filesystems
pi@raspberrypi ~ $ 

ダメそうです。じゃあext2で。

(parted) print free                                                     
Model: SD 00000 (sd/mmc)
Disk /dev/mmcblk0: 8069MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
        32.3kB  4194kB  4162kB           Free Space
 1      4194kB  62.9MB  58.7MB  primary  fat16        lba
 2      62.9MB  1940MB  1877MB  primary  ext4
        1940MB  8069MB  6129MB           Free Space

(parted) mkpart primary ext2 1940MB 8069MB
(parted) quit                                                           
Information: You may need to update /etc/fstab.                         

print freeすると 3 1940MB 8069MB 6129MB primary という行が追加されていました。

pi@raspberrypi ~ $ sudo mkfs /dev/mmcblk0p3
pi@raspberrypi ~ $ sudo mount /dev/mmcblk0p3 /mnt
pi@raspberrypi ~ $ df
Filesystem     1K-blocks    Used Available Use% Mounted on
rootfs           1804128 1460164    252316  86% /
/dev/root        1804128 1460164    252316  86% /
devtmpfs           86184       0     86184   0% /dev
tmpfs              18888     236     18652   2% /run
tmpfs               5120       0      5120   0% /run/lock
tmpfs              37760       0     37760   0% /run/shm
/dev/mmcblk0p1     57288   18960     38328  34% /boot
/dev/mmcblk0p3   5891192   11704   5580224   1% /mnt
pi@raspberrypi ~ $ sudo cp -pr /home/pi /mnt/
pi@raspberrypi ~ $ sudo vi /etc/fstab

fstabには下記の行を追加しました。

/dev/mmcblk0p3  /home           ext2    defaults,noatime  0       2

リブートしてみる。DHCPからもらったIPアドレス違うし…。

pi@raspberrypi ~ $ df
Filesystem     1K-blocks    Used Available Use% Mounted on
rootfs           1804128 1460284    252196  86% /
/dev/root        1804128 1460284    252196  86% /
devtmpfs           86184       0     86184   0% /dev
tmpfs              18888     232     18656   2% /run
tmpfs               5120       0      5120   0% /run/lock
tmpfs              37760       0     37760   0% /run/shm
/dev/mmcblk0p1     57288   18960     38328  34% /boot
/dev/mmcblk0p3   5891192   13616   5578312   1% /home

おっけー。期待どおりになったようです。

さて。 このマシンは写真サーバみたいにして使いたいので、 とりあえずマウントできるか試してみよう。

tail -f /var/log/messagesしつつ Nexus OneをつないでUSB Storageにしてみる。

Apr 11 05:16:42 raspberrypi kernel: [  167.222158] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
Apr 11 05:16:42 raspberrypi kernel: [  167.335308] usb 1-1.3: New USB device found, idVendor=18d1, idProduct=4e11
Apr 11 05:16:42 raspberrypi kernel: [  167.335339] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 11 05:16:42 raspberrypi kernel: [  167.335356] usb 1-1.3: Product: Nexus One
Apr 11 05:16:42 raspberrypi kernel: [  167.335370] usb 1-1.3: Manufacturer: Google, Inc.
Apr 11 05:16:42 raspberrypi kernel: [  167.335383] usb 1-1.3: SerialNumber: HT9CRP816146
Apr 11 05:16:42 raspberrypi kernel: [  167.352311] scsi0 : usb-storage 1-1.3:1.0
Apr 11 05:16:43 raspberrypi kernel: [  168.354332] scsi 0:0:0:0: Direct-Access     Google,  Inc.Nexus One         PQ: 0 ANSI: 2
Apr 11 05:16:43 raspberrypi kernel: [  168.367787] sd 0:0:0:0: [sda] Attached SCSI removable disk

オートマウンタは働いてないか。

pi@raspberrypi ~ $ sudo mount /dev/sda1 /mnt
mount: special device /dev/sda1 does not exist

ええっ?/var/log/messagesには下記。

Apr 11 05:17:54 raspberrypi kernel: [  239.170422]  sda: sda1
Apr 11 05:17:54 raspberrypi kernel: [  239.465634] FAT-fs (sda): Can't find a valid FAT filesystem
Apr 11 05:17:54 raspberrypi kernel: [  239.492455] FAT-fs (sda): Can't find a valid FAT filesystem

おや?あ、しばらくしたらできた。やっぱりオートマウンタは走ってない。

pi@raspberrypi ~ $ sudo mount /dev/sda1 /mnt

/mnt/DCIM/mnt/Downloadに 期待どおりのファイル名が見えるのを確かめました。

pi@raspberrypi ~ $ sudo umount /mnt

つぎはautofsの導入からすすめましょう♪


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


zunda <zunda at freeshell.org>