Posted by momokuri on 2015 1月 14 in OpenStreetMap, Android
OpenStreetMapに参加してみると、他の人はどんなふうに活動しているか、気になるもの。
あるいは、自分の貢献は、どんなレベルなのか、気になるものです。
How did you contribute to OpenStreetMapは、
そんなあなたや、あなたへOSMをおしえてくれた彼、彼女の活動を表示してくれます。
OpenStreetMapに参加してみると、他の人はどんなふうに活動しているか、気になるもの。
あるいは、自分の貢献は、どんなレベルなのか、気になるものです。
How did you contribute to OpenStreetMapは、
そんなあなたや、あなたへOSMをおしえてくれた彼、彼女の活動を表示してくれます。
Ubuntu 12.04(LTS)を導入したら、EvernoteのWindows版をWINEで導入したものが、同期失敗するという事象に遭遇した人も多いと思う。それどころか、さまざまなアプリケーションで、https通信に失敗した、との問題が報告されている。
ここに報告されているとおりだ。
とりあえず、WINEで使っているアプリが動けばいい、という輩には、このパッチをあてれば、幸せになれるでしょう。
i386のプラットホーム上でおこなってください。amd64の64ビットプラットホームでWINEを使っている方も、i386の32bit上でコンパイル必要です。
$ apt-get source wine1.4
$ cd wine1.4-1.4
$ patch -i ../wine-openssl-force-tlsv1.patch
$ sudo apt-get build-dep wine1.4
$ debuild -us -uc -b -i
$ cd ..
$ dpkg -i *.deb
さて、なにが起こっているかというと、httpsをサポートするインターネット上のサーバには、不都合な挙動をしめすものがある、というのが発端です。
httpsでつかうSSL/TLSのバージョンや暗号化方式のネゴシエーションで、クライアントとサーバ間でそれぞれがサポート可能な方式を交換しあいます。その際に、リストのサイズに問題があります。最近の技術の進展で暗号化方法がふえて、リストが大きくなって来ました。
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/986147
http://www.mentby.com/Group/openssl-users/sslv23method-in-openssl-100.html
+#ifdef OPENSSL_MAX_TLS1_2_CIPHER_LENGTH
+ /* Some servers hang if client hello > 256 bytes
+ * as hack workaround chop number of supported ciphers
+ * to keep it well below this if we use TLS v1.2
+ */
+ if (TLS1_get_version(s) >= TLS1_2_VERSION
+ && i > OPENSSL_MAX_TLS1_2_CIPHER_LENGTH)
+ i = OPENSSL_MAX_TLS1_2_CIPHER_LENGTH & ~1;
+#endif
そこでTLS V1.2のネゴシエーションで、Cipherの長さを制限しよう、ということになったのです。
ところが、これが曲者で、このワークアラウンドがなければ稼働するサーバで、不都合が発生します。
再現も可能で、
openssl s_client -connect www.evernote.com:443
とすればよい。
さて、私のこのパッチだが、WINEへの改変としては、正しくない、変更を加えている。Windowsの挙動と同じなのが正しいとすれば、違反している。それでも、動作するのだ。どうするかというと、SSLv3, SSLv2, TLSv1のネゴシエーションを行うところを、TLSv1のみでネゴシーエションさせる、という改変をくわえている。これで、不具合が実際上はでないのはなぜかというと、すでにSSLv2はセキュリティ上推奨されていない。最近の稼動しているWebサーバであれば、TLSv1をサポートしていないサーバがありえないし、あるとすればメンテナンスされているかどうか、とても心配なので、そんなサービスをつかわなければいいじゃん、というわけだ。
これでなぜ問題が解決するかというと、ネゴシエーションで交換する暗号化方式が制限されているので、リストの長さ制限に対しても問題がないからだ。
この件は、あまり日本語で情報がないようなので、念の為にかいておく。
OpenSSLのメンテなーとしては、1.0.1-4ubuntu4で、この問題は解決ずみ、という立場のようなのだが、Evernoteは引き続き調子悪いようなので、WINE+opensslの挙動としては、引き続き対応が必要、とおもうのである。
IIJにて、LTE網、3G網でのIPv6サポートが開始されている。公式には、LTEの2機種しかサポートしていない。
ところで、いま世の中にあるスマホで、仕様上、3G/LTE経由でIPv6 IPv4のdual stackをサポートできるのは、日本で発売されていないMotorola Droid Bionic for Verizon (Android)と、Nokia N9(Meego)のみらしい。 Droidは、Verizonのロックイン端末であるので、真にオープンでIPv6を携帯通信網でサポート可能なのは、Nokia N9のみということらしい。
ということで、IIJmio高速モバイル/DサービスのSIMカードでできるかな、とおもいたいが、IIJmioはLTE端末のみサポートで、Nokia N9は3G端末なので、結果ネゴシエーションできない。
残念である。以下は、開発用のインタフェースを通じて、Nokia N9の内部に入ってコマンドの出力を取得したもの。
$ ssh 192.168.2.15
Last login: Sat Jun 23 14:00:48 2012 from 192.168.2.14
BusyBox v1.20.0.git (MeeGo 3:1.20-0.1+0m7) built-in shell (ash)
Enter 'help' for a list of built-in commands.
$ uname -a
Linux RM696 2.6.32.48-dfl61-20115101 #1 PREEMPT Thu Dec 22 14:43:29 EET 2011 armv7l GNU/Linux
$ ip addr show
89: gprs0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UNKNOWN qlen 100
link/[821]
inet 10.197.29.242/32 scope global gprs0
これ、無線LANであれば、ちゃんとIPv6が使えている。
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 04:5a:95:a6:aa:aa brd ff:ff:ff:ff:ff:ff
inet 192.168.1.7/24 brd 192.168.1.255 scope global wlan0
inet6 2409:10:8200:0:65a:95ff:fea6:aaaa/64 scope global dynamic
valid_lft 14388sec preferred_lft 12588sec
inet6 fe80::65a:95ff:fea6:aaaa/64 scope link
valid_lft forever preferred_lft forever
これは、Nokia N9のサポートは、IPv4 PDPとIPv6 PDPをそれぞれに有効にしようとするもので、IIJmioはIPv4v6 PDPだというのもあるのかもしれない。
rdesktopで英語キーボードをもちいて、つながった先のWindowsターミナルサーバにて日本語変換を、Alt+~で行いたい。 そんなひとには、以下のような内容のファイルをen-jpというファイル名で作って、/usr/share/rdesktop/keymaps/において、 $ rdesktop -k en-jp とすると、幸せになれるでしょう。
# generated from XKB map us
include common
0x411
exclam 0x02 shift
at 0x03 shift
numbersign 0x04 shift
dollar 0x05 shift
percent 0x06 shift
asciicircum 0x07 shift
ampersand 0x08 shift
asterisk 0x09 shift
parenleft 0x0a shift
parenright 0x0b shift
minus 0x0c
underscore 0x0c shift
equal 0x0d
plus 0x0d shift
kana_HE 0x0d altgr
kana_TA 0x10 altgr
kana_TE 0x11 altgr
kana_I 0x12 altgr
kana_i 0x12 shift altgr
kana_SU 0x13 altgr
kana_KA 0x14 altgr
kana_N 0x15 altgr
kana_NA 0x16 altgr
kana_NI 0x17 altgr
kana_RA 0x18 altgr
kana_SE 0x19 altgr
bracketleft 0x1a
braceleft 0x1a shift
bracketright 0x1b
braceright 0x1b shift
semicolon 0x27
colon 0x27 shift
apostrophe 0x28
quotedbl 0x28 shift
grave 0x29
asciitilde 0x29 shift
backslash 0x2b
bar 0x2b shift
comma 0x33
less 0x33 shift
period 0x34
greater 0x34 shift
slash 0x35
question 0x35 shift
Ubuntu 8.10プレインストールのLPIAアーキテクチャのDELL mini10vを Uubntu 9.10(LPIA)にしたものを
https://wiki.ubuntu.com/LucidLpiaMigrationHowToに従って、無理矢理I386にアップグレードしようとすると、タイトルのようなエラーが発生する。
もちろん、この方法は、debian packageになれた人ではないとおすすめしない。というか、やめたほうがいい。
Thunderbird 3のアーカイブは新しい機能であり、とても便利だ。ただ、私のように大量のメールを(MLが中心だが)受け取っていると、既定の年単位では、フォルダが大きくなりすぎて、扱いにくい(性能上もデメリットだ)。今月リリースされたThunderbird3を使いこなすには、このあたりを使いこなすのが、重要ではないだろうか。
そこで、アーカイブの行い方をカスタマイズすることができると便利だ。
この記事によると、アドオンを利用することで、このアーカイブ機能をカスタマイズできるということだ。
むかし、こんな記事があったのね。
自宅になぜかある、「スキャナde!!名刺整理」の専用スキャナー こいつは、PandPのUSB201という製品だ。
A6サイズのスキャンができて、写真の取り込みにもつかえる。ただし、ADFがついていないので、写真や名刺は手で挿入しないといけない。
この記事では、組み込みシステムの開発がテーマだが、密かにUSBパケットキャプチャベースのパッチが出ていたりする。
このパッチは、すでに現在のSANEのバックエンドには当たらないし、もっとこうした方がいい、という部分もある。
ということで、移植して、動作確認してみた。
動いた。
昨年より、Nokia E61というSymbian OS 9.1/S60 3rd editionベースのスマートホンを使ってきた。ほとんど、PalmOSから乗り換えられるが、2つだけ今ひとつ乗り換えられないアプリケーションが2つある。
一つは、パスワード管理ソフトウエア。Keyring for palmOSを使ってきていて、その代替となるフリーソフトウエアがほとんどない。おしいのは、safeというアプリケーション。ただし、キーの生成機能がない。
二つ目は、辞書引きソフト。これまで、EIJIROとWDICの組み合わせで、ちょっと引きたいときに使ってきた。Linux distro上では、EBViewというアプリケーションを使っている。この辞書引きについては、EPWING形式を検索できるアプリケーションがS60上には存在していなくて、そんなQ&Aがインターネット検索をするとたくさんでてくる。MobilePocketというのを使うのが、今のところのworkaroundだが、変換が面倒。それは実は仕方なくて、EPWINGという規格がグローバルな標準ではなく、日本ローカルであって、Symbian OSベースのスマートホンを世界でもっとも出荷しているNokiaやモトローラの市場は、日本だけはその範囲外であったということだ。
EPWING形式を引くアプリケーションは作るのが面倒そうだな、と、思っていたのだが、じつはEBViewは、EB libraryを利用して作られている。そして、eb4jというEB libraryのjava実装があって、EPWING形式へのアクセスはライブラリに任せてしまえそう、ということに気がついた。
そして、このeb4jを使って、辞書引きソフトウエアを作った人がいて、LGPLで公開している。
Javaならば、Nokiaのスマートホンは、CLDC/MIDPアプリケーションを構築すれば、動かせるのだし、複雑な部分はライブラリ上にあるわけだから、GUIつまり、検索キーワードを受け取ってライブラリに渡して、結果をリスト表示する。程度のアプリケーションは、さほど難しくならなそうだな、ということで、作ってみたいとおもったのである
調子が悪く、さらにApplication Installerのデータベースが壊れたみたいで、アプリの追加削除ができない。
先月の調子がいいうちのバックアップがあるので、仕方がないので、ハードリセット(通話+*+3を押しながら、電源入れて30秒ほど保持)をかけてみた。
そしたら、バックアップを戻そうとすると、ソフトウエアを戻す過程でエラーになって、データ場戻らない!
おそらく、データを戻す前提となるすべてのアプリケーションが入っていないとエラーになる仕組みと思われる。
とても便利そうである。あとは、Symbian S60 phoneと同期できれば…
ま、当座は携帯ブラウザで閲覧することにする。
Nokia E61を使いはじめて間もなく一年になるが、ようやっと、freetimeboxを使い始めた。このソフトは、ntp, gpsで携帯電話の時計を正しく合わせてくれる。通常、携帯キャリアの電波には、時計合わせのプロトコルも規定されているようなのだが、必ずしも実装されているわけでもないらしい。
E61では、無線LANアクセスができるため、NTPで合わせてくれるのは、有り難い。
こちらで紹介されている、日本語・中国語・英語が含まれるフォントを、所有しているNokia E61(日本語版)に導入してみた。
導入には、モバイルをバックパックにつめこんでで紹介されている、FontRouter LTを用いて、内蔵フォントの代わりに、新たに導入したフォントを使うようにする。
日本語版での注意は、本体に導入しないこと。ハードリセットの憂き目にあう。そういえば、ほかのソフトウエアでVodafone 702NKを使っていたときにも、同様な注意の必要なソフトがあったような気がする。
また、当然バックアップをとってから実施すること。
設定ファイルであるFontrouter.iniは次のようにした。(ポイントのみ)
; FontRouter LT Configuration File Example
; Comment line starts with ";".[Global]
Enable=1
NativeFont=1
LogLevel=2
ForceAntiAliased=4
FixFontMetrics=0
FixCharMetrics=0
ZoomRatio=100
ZoomMinSize=0
ZoomMaxSize=48
Chroma=100
ExtraFontFile=\Data\Fonts\*\*[FontMap]
; Common
*=*
=*; For S60 3rd
Series 60 ZDigi=WenQuanYi Zen Hei
当初、配布されているフォントには、複数のフォントが含まれていて、そのうち小さいサイズのフォントは不要と考え、デフォルトサイズのフォントであるM+1P+WenQuanYiZenHei.ttf を使ってみた。ところが、思いの外見やすい。そこで、さらに小さいフォントM+1P+WenQuanYiZenHei80.ttf を使おうと思った(のが失敗のもと)
いくつかのサイトで紹介されているように、一旦機能をとめてからではないと、フォントを入れ替えられない(システムのフォントとして使われるので、ロックされているから)。
そこで、モバイルをバックパックにつめこんで[Nokia]を参照して、Enable=0として再起動したが、なぜか停止してくれない。
あれれ、とおもってサイズの小さい方のフォントを規定の場所にコピーし、古い方を削除しようと思ったら、がびーん、削除できない上に、強制リセット。
さらに悪いことに、ホワイトアウトしてしまい、起動プロセスが進まなくなってしまった。
さあ、これは大変である。同じフォント名のTTFファイルを同時に2つフォントのフォルダにはおいてはいけないのだな。
しかし、ちょっと気がついた。
C:\Data\Fonts\
に設定ファイルをおいたわけであるが、同時にインストール時に自動的に導入されていたe:\Data\Fonts
を削除していなかった。
そこで、メモリカードを取り外し、PCにて該当の設定ファイルを削除して、差し直して起動してみた。
めでたく起動するようになった。(その前に、当然ささない状態で起動して動作を確認している)
ということで、このFontrouter LTは、miniSDのメモリカードの設定も見に行くので、そちらに設定はおけばよろしい。ということが判明。
Originally uploaded by miurahr at 12 Oct '08, 10.59pm PDT PST. |
家の近所にこんな感じの郵便局舎がある。
当然 http://openstreetmap.org/ に登録済み
SafeというGPLのアプリケーションの改造を行っている。CLDC/MIDP上で動くJ2MEのアプリケーションだ。メインターゲットは、Symbian OSを採用しているNokiaやMotorolaの携帯電話。
このアプリケーションは、パスワード等の情報を暗号化して、携帯デバイス上で管理するソフトウエアである。類似のアプリケーションで、Palm OSでよく利用されるものに、Keyring for PalmOSがある。
Safeは、対称鍵暗号にIDEAを使用し、パスワードハッシュにMD5を利用している。現在アルファ版のKeyring for PalmOS v2.0を参考に、つぎのことをやろうとしている。
このうち、AES利用やハッシュ、IVの処理あたりを片付けた。さてと、データ構造の変更をかけようとしたら、データ定義、export, data storeへの書き出しなど、多箇所の変更を余儀なくされる状況になった。
これは、プログラム設計がよくないということ。そこで、リファクタリングである。
暗号化されていないデータ要素(element)、その暗号化された要素、データストアへの書き出し(ファイル、XML、GUI)、データストアからの取り込み(ファイル、XML, GUI)といったものを、DecoratorやAbstractFactoryパターンで表現できそうな気がしてきたところで、就寝時間である。
TruPhoneというアプリがある。
WiFiでのVoIP通信アプリで、通信サービスは課金するモデルかな。
2月28日までは、お試しでぜんぶ無料ということらしい。先週7日にソフトウエアが更新されているようだ。
OggPlay for S60 3rd Editionがリリースされた。
例のフォントによる他のアプリケーションに影響する表示不具合はなおっているのだろうか。
Nokia Maps 2.0 betaがでた。こいつは、Symbian OSのSeries 60 3rd edition でうごく地図やナビゲーションソフトウエアで、FP1の N81, N81 8GB, N82, N95, N95 8GB, E90 などでも使える。
日本だと、Nokia E61とかが使えそうだし SoftbankのにNokia製のがあるので使える可能性あるとおもう。
All about symbianのエントリーから情報入手した。
先日トライしていたWPAをつかって、wirelessカードをZaurusで動かす話のつづき。
案の定、firmwareがflushに入っていないタイプのカードであった(なのに、ファームウエア入りのprism2.5より高価ってのは解せないが)。
ということで、
pcmcia設定で、classを "hostap"とし、
/etc/pcmcia/hostapに
hostap_fw_load wlan0
とすることで、firmwareロードされ、使えそうな状態になることがわかった。
しかしながら、
ioctl[SIOCSIWMODDE]: Operation not supported
Could not configure driver to use managed mode
ioctl[PRISM2_IOCTL_PRISM2_PARAM]: Operation not supported
といわれてしまうのは、どうしたことだろう。
なお、hostap-driverのコンパイルは、
としているので、問題ないとおもうんだが。。。
make KERNEL_PATH=../linux EXTRA_CFLAGS="-DPRISM2_NO_STATION_MODES"
hostap-diagコマンドの出力では、
NICID: id=0x80d v1.0.0 (PRISM III PCMCIA (AT24C08 compatible small serial flash)
PRIID: id=0x0015 v1.1.2
STAID: id=0x001f v1.8.2 (station firmware)
となる。
MMSを使ってMoblogする話し
実は、このサイトで使っているblog ソフトウエア b2evolutionには、Moblogの機能があった。
ただし、通常考えられている方法とは、ひと味違う。
グローバルのGSMの世界では、WAPが一つの標準となって世界中で同じ機能が使えるようになっている。同様に、メールも、ショートメッセージ(SMS)と、マルチメディアメッセージ(MMS)という仕様が規格化され、広く使われている。
グローバル携帯を歌うようになった3GのVodafoneも同様である。
シンガポールでお買い物
とりあえず、おきまりのOrchard Roadにいく。なんとなくラッキーショッピングセンターに入って、B1へ。そこは、まるで秋葉原のラジオ会館のよう。小さな携帯ショップやオプション屋がならぶ。
日本では、秋葉原のモバイルプラザでしか手に入らない、アメリカでもカナダでもパリでも北京でも見つけられなかったメモリーカードのDV-RSS-MMCを発見。よく見ると、複数の店舗に陳列されている。
この変わったメモリーは、Nokia 6630/v702NK用に使えるのだ。最初256MBで130S$といったので邪険しにしたら、108S$にDiscount。日本円にして、約7500円ほど。
ノキアのショップで買うと、64MBが5500円ほどしていたからとても安いといえる。ただし、SDカードやメモリースティックと比較するのはやめてくれ。もともと、変なカードなんだ。
New Yorkへ
新しいANA 成田-ニューヨーク路線にのった。
このエントリーは、な、なんと飛行機上から更新している!
(このネタのために払った金額といったら、貧乏リーマンには半端な金額でないかもよ。
UNIX USERかLinux Managine編集部の編集長、ぜひ記事にしてください!)
このANA 成田-ニューヨーク路線の機材は、5/14から新しくなり巷で噂の
Boeing Connexion インターネットアクセスが利用できる。
Boeing Connexionインターネットアクセスは、機上において、
衛星通信を利用してインターネットが可能であるという画期的なサービスだ。
uimのこれまでとこれから
徳永 拓之
まず、uimについての講演があった。講演のなかで、質問から飛び火して、XIMが決められた背景やマルチユーザでの入力メソッドの問題と背景など、有意義な議論となった。
uimの課題と今後の方向性を議論した。
CodeFest日本2005報告
鈴木裕信、g新部裕 (FSIJ)
今回のCodeFestは実験だった。スタッフとしては成功だったと思うとのことだった。
以前、ノートPCの発生する熱が、睾丸の機能を低下させる危険性などという記事や、単純にやけどという記事がSlashdotで話題になったことがあるが、今回は姿勢の話。
恥ずかしながら、CodeFestのあと、腰が大変つらくなって、行ってきました「てもみん」。家の近所にあるので、気軽に行けるのがよいですね。この気軽さが、カイロプラクティックなどにはない特徴で、これがビジネスモデルとしての差別化要因と思いました。従来、あまりマッサージなどに行かなかったユーザを取り込んでいます。同様の戦略をとっているのが、「QB」1000円床屋さんですね。
それでその「てもみん」で、いわれてしまいました。「疲れをためすぎです」、と。CodeFestでノートパソコンで同じ姿勢で作業をしていたので、それが大きな原因だろうと思っていました。大垣さんと同じことを身をもって実感した形です。
CodeFestでは楽にするために、HHKを持ってくる、マウスを持ってくる、液晶モニターの大きなPCを利用する、といった対策をしている人がいました。
積極的に外部デバイスを使うというのも、解決策なのだろうとおもいます。
CodeFestに参加しはじめて、ほぼまる1日が経過しようとしている。結局、睡眠時間5分程度で、動ききった。我ながら、まだまだ若いかも^^;
参加者から、成果がどんどんでている。しかし、どうして終了5分前にいろいろ成果をだしているのだ?
ANAが、5月1日から成田ーパリ線でも、プレミアムエコノミーを開始した。プレミアムエコノミーとは、エコノミー普通運賃を支払った顧客向け(そんな客はいるのか?)に、エコノミークラスよりちょっとよいシートを提供するというもの。昔のビジネスクラスのシートみたいなもの、と思えばいいかもしれない。
実際に、パリ線で就航したばかりの5月16日に、ANAのビジネスクラスを、帰りの5月23日にプレミアムエコノミーを利用したので、レポートしたい。
おがわさんが、私と小飼弾さんが面識がないことによって、空回りがひどくなっているという指摘をしている。わたしは、彼とニアミスをしているという気がしたので、調べてみた。
Googleによる検索の結果、2000年、京都国際会議場で行われたLinux Conference2000 & Perl/Ruby Confにおいて、二人が講演しているようだ。
よくよく見てみると、たくさんの私の関わった人がいる。
標準化の関係で一緒に仕事をしている人物、わたしも協力する入力メソッドのOSSプロジェクトのリーダ、OSS普及の仕事で一緒の会議の委員、OSS評価のコンソーシアムプロジェクトでともに働くメンバー、ユーザグループのイベントをともに運営している人物、私も教壇にたつ大学で主導的立場でOSSの教育に尽力している人物、あるいは、今回の私の「人材育成とか、日本発のOSSとか、コードも書かない人に言われたくない。」を最初に発見した人物、CodeFest Japan 2005の立役者などだ。
私が、これ以降、この方々と一緒に仕事を、あるいは活動をたくさんしてきたことに、正直驚く。
一方で、まだまだ自分が知らないところでいろんなことをしている人が、たくさんいるのだ、という認識を新たにする。
清水 隆夫の「Good Job !」: KRUSELL製Nokia6630/702NK用ケースをみて、このケースが欲しくなった。eXpansysの通販でも扱っているようだが品切れだという。情報によれば、発売前か発売直後で、まだ店頭に並んでいないらしいが近日PDA専門ショップのMobilePLAZA www.mobileplaza.co.jp に並ぶのではないかという。
ここで扱っている同シリーズのCLIEのケースも欲しかったし、RS-MMC DVも扱っている。このショップは前から気になっっていたので行ってみた。
そしたらびっくり。本日入荷で、6630用ケースが入荷していた。早速購入して装着。最初の3時間くらいはしっくりしなかったが、電話機とケースをOAクリーニングテッシュで清浄してしっかりいれたら、しっくりし始めた。
しかし、本当に満足のいくしっくり具合になるには、もっともっと時間が必要なようだ。取り扱い説明書にも、時間をかけて良くなるとかいてある。
なお、売価は2400円弱でした。
先週Nokia 6630(v702NK)で撮影した写真の加工するため、Gimpを立ち上げた。Windowsデスクトップのほうにも、Gimp for Windows バージョン1.2を入れていたが、そろそろ新しいのもあるだろうということで、バージョンアップしてみたい。
Gimp v2.2 for Windows、なかなか安定して使えるようです。昔は、GTK for Windowsが不安定で使えなかった印象だったのに。もしかすると、GTKもプラットホームユニバーサルなGUIツールキットとして使えるようになるのでしょうか。
ニュースを読むように、RSS読めてとても便利。
先週金曜日に某所で、わかとのに遭遇。
メモリーを安価に購入したことを自慢された。もっと自慢されたのは、Canary Wirelessの無線LANのアクセスポイントチェックgadgetの自慢。もうすぐなくなるぞ。との情報。
早速、日曜日に(なぜ土曜日でないか:家族の事情っす)秋葉原へ。使えるマザーボードももっていないのに、512MBのSAMSUNG製PC3200メモリを2枚入手。
もちろん、Canary WirelessCanary Wireless Hotspotterも購入。店頭にのこり1こだったので、店の人に聞いたら、倉庫にもう少しあるとのこと。
他の物も購入する予定があるなら、Expansysから買う手もある。品切れ中だが。
仕事柄か、複数のPCを使う必要性が出ることが多い。
少なくとも、業務システム接続用にMS Windowsのマシンと、普段使いのDebian GNU/Linuxのnote-PCがここにある。
業務システムとPalmやNokia 6630と連携するため環境も整備している。
ところで、Intellisyncシリーズを便利に使っているのだが、一つだけ問題がある。シリーズのソフトを複数1台に同居できないという困った仕様だ(制限事項というのが正しいな)。
仕事柄、会社をまたがったスケジュール管理が必要で、
グループウエアも複数の会社のを使い分けるため、
サイボウズとExchange, Palm, Nokia, Linux(jpilot, evolution)を同期させたいということになる。
そこで、Intellisyncを買ってきて使っているわけであるが、Exchange-サイボウズ同期用と、Palm-Exchange同期用が同居できないことから、Exchange-サイボウズ同期用には古いノートPC(VAIO505でPentiumMMXくらい)を使っている。
そこで机を広くするためにVNCを使っているわけである。最近またアップデートして、ますます使いやすくなった。http://ultravnc.sf.net
Thunderbirdのアドレス帳を使ってみた。
LDAPサーバは、Exchangeと社内共通LDAPの両方を接続。
そしたら、地図を表示という機能があるではないか。
しらなかった。
外国人の住所もはいっているので、試したらばっちり動いた。
ああ、Mapionあたりでできればいいのに。
と思ったら、Going My Way: Thunderbirdのアドレス帳から地図を利用する方法同じことを考える人がいた。
そこでこのページにある方法をとってみる。
デンバーからサンフランシスコへのUA国内便のファーストクラス(出発前)で、Bluetoothヘッドセットをつけて携帯電話で会話している人を見かけて、むむむ、かっこよい。 と思ってからBluetoothに興味が出てきた。
もちろん、Bluetoothヘッドセットを使うのが推奨のようだ。
ノキア・ジャパン、Bluetooth対応のワイヤレスヘッドセット『Nokia Wireless Boom Headset(HS-4W)』を発売
Hagiwara Sys-Comから発売された。CLIEは夏に生産中止で、PALMONEも撤退で、日本のPALMやSmartPhoneの市場はさびしい感じだが、こういうのはありがたい。メモリスロットが埋まらないのがいい。GPSや携帯とつないでと妄想果てしない。
このSmartPhoneタイプの電話機は、別にキャリアのサービスを利用せずとも着うたもどきが可能である。着信音に設定するためには、midか、m4aファイルである必要があるが、それだけのことである。
昨年のデブサミ二〇〇四に参加したが、妻は、お「でぶ」さんのサミットだと思っていたらしい。そんな、とても汗くさい気がするが、完全否定はできないか。京極夏彦の「どすこい。」ISBN:408747755X な世界?
今年は、2月3日4日青山ダイヤモンドホールにて開催されるが、残念ながら海外の出張中のため、参加できない。
自分的注目としては、近藤氏の「はてなの作り方」、風穴氏とまつもとゆきひろ氏の「なぜオープンソースでうまくいくのか?」、EJBとオープンソースのセッションがある。
http://www.seshop.com/event/dev/
実は、先週、2年ほど使用したpalm m515が故障した。その前に一時的に使っていたvisor prism(ゲームボーイくらいのおおきさでちょっと使いにくい)を引っ張り出して、バックアップとして使っているが、やはりでかい。
自分にとって、このpalmはまさに紙のかわりで、30分刻みのスケジュールを自分の代わりに覚えておいて知らせてくれる、大切なものだ。visorが使えるようにする数日だけでも、自分のスケジュールがわからないとか、のる電車の時刻がわからないとか、インターネットサイトのパスワードがわからないとか、とにかく不便で、どれだけ依存していたかを思い知った。
この故障の原因だが、動きから見て、memory(フラッシュメモリ)の書き込み限度を越えたような様子である。すでに、palmone社は、日本から撤退してしまっているため、サポートも東海岸にいる日本語の使える人がやってくれているが、タイムラグがあって具合がわるい。修理もしてくれず、中古の優良代用品を1ー2週間で送付するということだ。すでに保証期間も過ぎているので、有償でもある。(市場の中古価格よりは安価ではある)
また、載せているアプリケーションも基本的にはfree softwareを優先してつかっていて、そのローカライズも自分でやっていたりするので、愛着があって、他のデバイスに移るのもしんどい。
電子手帳の類の価格も高価だ。
他の人達は、携帯電話でスケジュールやアドレスを管理している様子である。
でも、僕は、GNU Keyringというソフトウエアで、100個以上のあらゆるパスワードや個人情報をTriple DESで暗号化して持ち歩いている。これがないと、とにかく不便である。
ブラウザにパスワードを覚えさせるのもいやだということで、これを使っている。
で、結局また、palm OSを搭載したデバイスを購入することにした。中古で。
Palm OSは、ハンドヘルドの性能が低い時代にあわせて設計してあるため、いまのデバイスからすると、非常に設計が汚いことは理解している。が、しかし、こいつは僕には道具であるのだ。とにかくいつでも使えることが大事。新しい環境になれる手間も省きたい。
という思いは、でもうまくみたされることはない。
コンセプトが好みではなかったが、手頃な大きさであることから、Sony CLIE PEG-TJ37を中古で購入した。m515の中古と同じ値段だったことが、背中を押した。
しかし、Graffiti2になって、文字入力にストレスがたまったり、すでに持っているSDカードが使えないために出費が増えたり、使いそうにないエンターテイメント機能がウザいとか、Palm OS5になって、常用していたソフトがうまく動かないとか、環境を作るのに時間を要してしまった。
全日空のマイレージ(正確には、プラチナポイント)が47000オーバーなのである。あと3000弱くらいで、プラチナフライヤーの仲間入りなのだ。
12月にソウル出張があるので、あと大阪2回か、福岡1回くらいで達成なのだ。(こんなんだったら、過去の神戸出張2回は無理にでも飛行機にするんだった!)
プラチナフライヤーになると、
1.アップグレード券6枚贈呈
2.国際線プレミアムエコノミーの利用
3.空席まちの優先
4.ラウンジ使い放題(同行者1名も)
5.預けるのも持ち込みも手荷物は大きくてもOK
というすばらしいサービスなのである。
このままのポイントで年末を迎えると、ブロンドサービスになって、
1.券は2枚だけ
2.国際線のプレミアムエコノミーのカウンターを利用して使った気分だけ
3.持ち込み手荷物はちょっと優待
4.ラウンジは国内線だけしかも1000マイルで。
という、こうじらされた感じになるのである
というわけで、なんとしてでも年内に飛行機に乗るぞ(ANAの思う壺)。
皆さんにお願いです。北海道や沖縄の方、呼ばれればどこへでも講演しに行きます。自腹でいいです。謝礼もいりません。お願いですから、ぼくを呼びつけてください!! :)
ノートパソコンのホットキーのドライバを書いている。
外国の人なのに、国内販売しかしていないマシンを入手していて、ドライバをテストしてくれるってのは、どうしたことだ。日本の人からは、まったく反応なしというのも、悲しい。
FPUに絡んだセキュリティホールについて、話題になっている。
たとえば、CNet Japanならば、Linuxカーネルの欠陥--と言った具合だ。
http://japan.cnet.com/news/sec/story/0,2000050480,20069266,00.htm
実際、これがどのように修正されたのか、調べて見よう。
1. BitKeeperを導入する。
http://www.bitkeeper.com/
で必要事項を記入して、ダウンロード、インストールする。
2. Linusのカーネルツリーを取得する。
bk clone http://linux.bkbits.net/linux-2.5 linus-2.5
3. 変更履歴をみる。
cd linus-2.5
bk changes
4. "/"を入力して、"FPU"と打ち込んで、コメントをFPUで検索
こんなのが、わかる
[email protected], 2004-06-12 19:12:31-07:00, [email protected]
Fix x86 "clear_cpu()" macro.
We need to clear all exceptions before synchronizing
with the FPU, since we aren't ready to handle a FP
exception here and we're getting rid of all FP state.
5. コードの変更を見てみる。
bk export -tpatch -r 1.1626.157.1
実は、1行だけの修正だったことがわかって、興味深い
asm volatile("fwait");をasm volatile("fnclex ; fwait");
の修正。
よしおかさん id:hyoshiok が、個人情報の話題を提供してくれた。
そう、目ざとく切符を買われたのを見つけたのはわたしだ。
Suicaを使うと個人情報がトラッキングされている話。
ユビキタス社会とか、RFIDの議論でも、似たような議論が展開されます。国道を車で運転していれば、カメラで監視されています。ナンバーもおさえられています。原宿の商店街で買い物をしていれば、ビデオシステムに記録されています。なのに、洋服にくっついているICタグはいやなのだそうです。
これって人の心理学の問題です。「た」で始まる言葉と「た」で終わる言葉どちらが多いか。なんて質問と同じこと。
自分の想像や理解の及ぶ範囲は嫌がるけど、もっと危険であっても目に見えないと、個人情報をさらしている。
事業者の個人情報保護は、もちろん大切だ。その一方で、さまざまな理由で、契約書へのサインなど明示的な了承なしに、トラッキングされているのも事実だ。
もしかしたら、会社からこの日記を見ているあなたの行動も記録されているのかもしれませんよ?
WanderlustでExchange サーバにIMAPでつなぐと、「送信済みアイテム」とかいうフォルダにつなぎたくなる。
~/.wlに
(setq elmo-imap4-use-modified-utf7 't)
が必要。
無駄な知識がまたひとつ増えた。
家の近所に連休初日、ショッピングタウンがオープンした。
日経新聞の地域版によれば、5月5日までの来場者は、のべ70万人に達したそうだ。家は、最近合併して政令指定都市になった某市にあるが、その人口は約100万人であるから、住民の3分の1が2回は来た計算だ。
毎日、家の近所の幹線道路は麻痺状態であって、そこをみながら、毎日散歩していた。
結局、暦どおりにお仕事をした。連休中もメールを受け取って、いろいろ資料を作ったりしたから、それ以上にお仕事をした。
正直疲れた気もするが、成果が出たので、それでもよかったと言う気分である。
新しいショッピングタウンの鉄板焼や。15分ほどお待たせします。で、お好み焼き40分待たせちゃ、いかんべ。でもって、対応わるいし、店員が仕事してない時間が多すぎる。看板方式なトヨタのコンサルから、ストップウォッチで稼働率15%。だめ! とダメだしされそうな感じ。もっとも基本がなっていないなのはマネージャなんで、そこが問題だなと分析していた。そこへ催促して、商品がきたが、期待はずれ。「もう行かない。」そう思わせたら、おわりですぜ。旦那。
Mozillaの誕生日はめでたいのである。なぜめでたいというかというと、「オープンソースソフトウエア」というネーミングは、Mozilla/Netscapeがきっかけで生まれたのである。
そのMozillaがスタートしたのが6年前の4月1日。その1周年は、Wiredにも取り上げられた。(http://www.hotwired.co.jp/news/news/technology/story/2245.html)
生まれたばかりの4月11日に(http://www.tlug.jp/meetings/9804/index-j.html)TLUG(http://www.tlug.gr.jp/)において、勉強会を行って、Netscapeの決断について、そしてMozillaの内部構造について講演をきいたのである。そして、くじ引きがあって、公開されたばかりのソースコードの入ったCD-R(Netscpae謹製)をゲットしたのである。つい前日の10日に公開したばかり(http://www.hotwired.co.jp/news/news/technology/story/529.html)のCD-Rしかし、、、家のどこにいったんだろう??探さなくちゃー。
で、Mozilla6周年ということは、OSSの活動が6年たったということなのだ。実際、OSSという言葉がなくて、FSFのStallmanの言葉でFree Softwareで遊んでいたころ、それは僕が初めて触れたのが89年だから、すでに16年(おお、なんてきりの良い)なのだ。
最先端とか、先進とか、最近流行のとか、言われても、今ひとつ実感がないのは、(みんなが再発見したのは)新しくて、でも(ぼくらからみれば)古いことだからなのだね。
いま、いろんな勉強会などに出ていっても、見慣れた人達があつまってくる。どうしてか、僕等はやっぱり考えるべきだ。
人を育てるってことは、僕等が成長していくことだとおもう。人を大事にするということは、自分がOSSで飯を食べて行く以上のことを、実行することなんだろうと思う。
なんていうか、仲間たちが幸せに仕事をやれるような日本にしたいのである。ナポレオン ヒルが書いているように、「願えば、実現する」のである。甘いといわれるかもしれないが、プログラマーがプログラマーとして、幸せに仕事をするために、なにができるのか。熱い思いを持っている人を応援することが、僕が幸せに仕事をするために大切なのだよ。そうおもう。
はなしは変わるが、いろんな場面で読書家のひとは、世界が広い。
本を書くというのは、これだけコンピュータ、インターネットがひろがっても、大切なことなのではないかとおもう。大学生や高校生が、ぼくらの仲間になってもらえるよう、良書を書かなくてはとおもう。
今日は、TLECというグループの勉強会。中村さんが、SELinuxの紹介をした。彼は、正直だとおもう。自分がとりくんでいるSELinuxの悪い所を2喋って、いいところを1話す。それは、なにかを良くしていきたいという愛情があるんだとおもう。今日、呑みながら話をしたら、とっても悲しい思いをしているようだった。僕等は、ここで愚痴るだけじゃなくて、彼みたいなGoodプログラマーが幸せになれる、そういう世の中にしたいと思うのである。
なんだか、年をとったのかもしれない。
意外でもないのだが、ソフトウエアの日本語対応経験者が多い。とくにメッセージの翻訳を中心とした地域化を行った経験のあるひとが多い。その一方で、国際化を意識したソフトウエアプロジェクトに携わったひとはすくない。(ようだ)
それは、最初からいろんな国の人に使ってもらおうという仕事をしていない所為なのかもしれないと思っている。
日本発のOSSが増えていくには、こんなモチベーションをもって活動する人が増えるよう、少なくともスキル面の不安を払拭していくことが大切だと思うようになった。
主宰者の希望もあったので、小江戸Linux ユーザグループ(koedolug)において、国際化プログラミングの講座をメールで始めたい。ユーザ会は、別に川越に住んで居ない人も、日本全国、世界各国Welcomeなので、興味のあるひとは、参加して欲しい。
http://hatochan.dyndns.org/koedolug/
詳しくは、こちらをみてください。
普通、国際化といえば、日本人が英語や中国語を操って、商談をまとめたり、学会発表したりすることを指している。でも、プログラムの世界で、国際化というと、逆になってしまう。英語じゃなくて、各国の言葉を使えるようになることだ。
伝統的に、プログラムの国際化のことを、I18Nと呼ぶ。これは、Internationalizationという英語のIとNの間に18文字あるからだ。同様に、地域化はLocalizationでL10N,多言語化はM17Nだったりする。
多言語の技術は、本当は日本がすごく進んでいる、というかかなり苦労してきている。正確には、産業総合研究所の研究が、世界トップだということだ。 その一方で、民間の技術レベルでは、国際化や多言語は意外に浸透していない。1998年に名著「国際化プログラミング I18Nハンドブック」http://www.geocities.co.jp/SiliconValley-PaloAlto/8090/ が発売されているが、それから格段の進歩を遂げたとは言いがたい状況である。
ところでその一方、日本のソフトウエア産業競争力も国際的には非常に弱いらしい。
http://it.jeita.or.jp/statistics/software/2000/4.html#6
2000年のソウトウェアに関するわが国の輸出入の現状をみると、輸出は90億円(対前年比96.7%)、輸入は9,189億円(同127.6%)となった。輸入は輸出の102倍となり、前年の77倍に比べ、さらに格差が広がる結果を露呈した。
JEITAの統計によると完全に輸入超過であり、輸出はほとんどないということだ。米国からの輸入の40%はOSだという。これがインドになると、
http://fpj.peopledaily.com.cn/2001/06/15/jp20010615_6470.html
2000〜2001年度の同国のコンピュータソフト輸出は前年度から55%増の62億ドルに上った。
と好調で、数年前でも輸出の62%は米国向けだ。単純に勝ち負けはいえないが、2桁も違っていれば完全に負けであろう。
出すべきか、出さざるべきか
http://japan.cnet.com/news/ent/story/0,2000047623,20060074,00.htm
で論ぜられているように、インドへのオフショア開発によって国内の要員を大幅に削減し、原価低減を実現しているという。その結果、多くの人が職を失ったが、上級のエンジニアはより集中して研究開発を行えるという。
日本では、オフショア開発を行わなければ、コスト圧縮圧力にあがなえない状況にあると思う。しかし、まて。ソフトウエアの開発では、人の生産性のバラツキは、製造業では想像もできないほどの幅がある。2倍とか3倍ではない。1桁2桁ということもある。
私達は、今が苦しくても、生産性の高い人材育成を行うことが、将来の競争力を維持するためにも必要なのではないか?
今月初旬の新聞紙面で、日中韓OSSという見出しを見た方も多いだろう。たとえば、ITメディアの記事にも取り上げられ、
http://www.itmedia.co.jp/enterprise/0403/31/epn05.html
「取組を否定」という見出しがでた。日経BPでは、http://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20040331/142218/
というように、標準化活動で協力という言い方もされた。
もとはといえば、政府間のソフトウエアに関する合意をもとに、昨年11月14日に大阪で開催された「日中韓オープンソースビジネス懇談会」http://japan.cnet.com/news/ent/story/0,2000047623,20062032,00.htm
がキックオフとなったものだった。
これら一連の報道には、一貫してみられる特徴がある。
http://news.searchina.ne.jp/2003/0905/general_0905_001.shtml
「『北京青年報』4日付報道によると、先月31日、日中韓3カ国共同で、Windowsに代わるOSとして、Linuxなどのオープンソースソフトウエア(OSS)の開発に取り組むことで合意したが、この発表後、まだ実質的な進展は見られず、むしろ各国間の思惑の違いが浮き彫りになってきているという。」というように、出だしの一歩から、すでに相異点が浮き彫りになっているのだ。
あらかじめ断っておくが、わたし自身が、この日中韓の取り組みの渦中に会社の業務として巻き込まれている。したがって記述できないこともあるが、今後も適切なタイミングでコメントをしていきたいと考えている。
さて、一連のメディアの報道からも分かるように、特定OSの置き換えは「中国がやりたいこと」と理解するのがもっとも真実に近い。
日本および韓国のとくに民間の立場からみると、ユーザの選択肢を増やすことに重きをおいているが、日中韓3国の枠組で域内OSを開発するなんてことを望んでいるわけではない。少なくとも私の知る人達は、そういう考えを持ってはいない。
もうひとつ大きな違和感を感じるのが、Free Riderを嫌う日本の事業者に対して、市場占有率の高い特定の大手ベンダー排除だけが見える中国の動きだ。
自分が日本にいるからといって、ひいきにしているわけではないのだが、良くも悪くもFrom Japan(or Asia) To the worldを意識しているのが日本のOSS関係者である。OSSを使ったITシステムの普及によって、ユーザにメリットになり、かつ自分達が良いと信じるソフトウエアが発展していくことが、望みなのだ。
一方で、中国の標準化提案は自分達の環境統一が主目的であるように思えている。世界へ提案しようという話では今のところない、そんな風に感じている。詳細な調達仕様を作っているような感じなのではないか。でも、自分が中国の担当者だとしたら、それはある意味で正しい行動だと思っている。
国家や市の調達する業務システムの端末ソフトウエアとして利用するには、利用者のリテラシーを考慮すると、統一的な利用方法で使えることが重要だ。一方で、国内産業の育成、単一事業者への依存回避を考えると、複数の業者に同一仕様のOSやオフィスソフト、業務ソフトを導入したパソコンを導入させたい。そのときにOSSを使えば、貴重な外貨を流出させずにすむ。
その取り組みの成果を欧米やアジア各国にも広く還元することにも熱心になってもらえると、グローバルなコミュニティで厳しい議論に晒され、そして評価されるのではないかと思う。それが健全な取り組みの第一歩になっていくとかんがえる。
OSSとビジネス、あるいは政府との関係は引き続き難問であると思う。多国間の思惑が絡んだときに、OSS活用でユーザも事業者もそして、ソフトウエアも適切に発展していくことに注力している真摯な人達が、やり切れない思いをするようなことにはなって欲しくないと思っている。
http://www.iijnet.or.jp/IHCC/north-chinamotor-industry01-gnp01.html「2003年度、「一人当たり」GDP〔国内総生産〕が初めて「1,000ドル」の大台へのりました。」これは、重大なトピックだとおもいます。この記事では、自動車の生産台数が飛躍的に延びるのは、一人当りGDPが2,000ドルを越えるときと指摘しています。
http://www.fukui-iic.or.jp/kokusai/sh/02.9.29.htm「今後5年間で上海の一人当りGDPは5000ドルから8000ドルに伸び、世界レベルの都市として重要な時期となる。」
これらは、id:hyoshiokが指摘するように、中国の経済がもうすぐ日本と米国を凌駕する時代の幕開けになりつつあるということ。アメリカの政策面でも中国の優先度が高まっている(半面、日本バッシングは少なくなった)こともあげられる。ここ5年の中国の経済成長は平均8%ということで、日本の高度経済成長にも似た活況を呈している。
ところで、72の法則をしっているだろうか。複利計算で良く使う法則だ。元手が2倍になる期間を知りたければ、72を率で割れば良い。8%ならば、9年で倍になるということだ。日本のサラリーマンの私の年収は9年で倍になっただろうか?
中国株を扱う証券会社も結構な数になり、http://www5f.biglobe.ne.jp/~ossann/china_buy.html投資家も熱い視線を送っています。日本が初めて1000ドルの大台にのったのは、いつのことだったでしょう?その当時を振り返ることは、対中国を考える上で、実は、大切かもしれませんよ。
今日は、小江戸LUGの活動報告会の日でした。
朝目覚めて、掃除洗濯し(週末の義務なのです)、スポーツクラブで汗を流しました。大急ぎで電車に飛び乗り(家は、都内からとっても遠いのです)、巣鴨駅の集合場所へと急ぎました。
... だれもいません:(
あーっっと、1時間早く着いてしまいました。で、とりあえずお昼をとろうと歩き始めた所で。「とんとん」、肩を叩かれました。
そうです。主宰者の「はとちゃん」こと羽鳥さんが、いらっしゃいます。「ずいぶん早いお着きですね。」お互いツッコミを入れましたが、彼は間違えたわけではなく、事前準備にいらしたのでした。
ということで、普段巣鴨で働いているはとちゃんに、「千石自慢ラーメン」がおいしいという情報をもらって、食べにいったのでした。
小江戸LUGではYLUGとは形態が違っていて、各自の1ヶ月間の活動(うまくいったこと、うれしかったこと、はまったこと、失敗したこと)を報告しあうという形態になっています。
みなさんが、仕事やプライベートでいろいろ取り組んだことをAS-ISで発表しています。
最初は、わたしからです。昨日のYLUGの講演資料を御紹介しました。同じ内容ではつまらないですから、実例をいれました。context diffやunified diffのファイル形式の話、RCS diff形式とCVSのリポジトリ内部形式の話、オリジナルのdiff形式は、edエディタのコマンドになっていて、patchが不要であった話などです。わたしも良く理解できなかった点を指摘してもらって、大変ためになったとおもいます。
言い古されたことですが、情報発信する人の所へ、情報はあつまります。そうやって育てられてきました。
後半のpatchutilsの話には、実は開発をいっぱいやっているひとほど共感するという特性がありました。昨日のYLUGのカーネル読書会でも、実際にディストリビューションを作っていたり、カーネルのドライバを書いていたりする人の「ウケ」がよかったのです。今日は、USAGIプロジェクト http://www.linux-ipv6.org/のデベロッパ吉藤さんが共感してくれました。
そうなんです。開発を一生懸命(じゃなくてもいいけど)やっていると、「こういう作業をぱぱっとやってくれるツールがあったらいいのになぁ。」そう思うことが沢山あります。まさに、そういうツールがpatchutilsなのです。「必要は発明の母」「怠惰と傲慢は実装の父」なのです。
今日の読書会は、約50名集まっていただきありがとうございました。
過去の読書会でも、渋谷でやっていたころに匹敵する大人数でした。
今回の話題では、 id:wakatono さんに、Subversionの話をしてもらいました。運がよかったのは、Momonga プロジェクトの山崎さんがいらっしゃってて、いろいろ実際に使っている立場から、コメントをしてもらえたことだ。
今回の参加者の全てを覚えてはいないが、ずるずるっと書くと、槙さん、柴田(あ)さん、吉田さん、片瀬さん、山崎さん、gotomさん、ほりかわさん、よ。id:hyoshiok さん、くすのさん、竹中さん、中平さん、平松さん、奥山さん、山口さん、鎌田さん、渡辺さん、ゆきさん、なかまるさん、YLUG江戸川支部の大里さん、飯島さん、杉浦さん、佐久間さん、東陽町からいらした4名様、おがたさん、むらかみさん、かとうさん、yarnさん、Begi.netの宮原さん(http://Begi.net/)、高杉さん、宴会からtaroさん、杉田さん、まつおかさん、根津さん、小笠原さん ほかのみなさま、ありがとうございました。
id:wakatono さんに、Subversionのお話を依頼しました。直感的には、自分で挑戦して、挑戦記録的に使いかたを話すこともできたのですが、身近に詳しい人がいたことで、お願いしちゃいました。
こういったお話をお願いできるひとが、そこらへんで働いている、そういう環境で仕事ができることに感謝しなければなりません。
Subversionというのは、バージョン管理システムです。オープンソースソフトウエアの開発では、ソースコードの管理システムというのが、とても重要になってきます。一番使われているのは、CVSというシステムです。一方で、わたしはこれからは、ソフトウエアプロジェクトだけでなく、オフィスワークにおいても、バージョン管理システムが使われる、そういう時代になっていくと思っています。
そんなわけで、そのキラーソフトウエアとなるであろう、Subversionに注目しました。
とても重要なことですが、Subversionは単なるソフトウエアの管理システムを越えて、WebDAVというグローバルな情報共有の新しい四組の一部としても開発されていることです。
今回の講演でわかったのは、もともとSubversion自体は、Collabnet http://www.collab.net/ というソフトウエアの並行開発?のための仕掛けの一部として開発すべく、発案されたということ。
自分が、オフィスワークに注目したのとは、ちょっと違っていました。でも、いいのです。もともと考えた人が、考えもしなかった使いかたをすることで、広く普及することだってあるからです。
インターネットだって、論文を共有するためのWWWが、日記やBlogを書いて共有したり、オンラインショッピングしたりするのに使われているわけですから。
わたしは、diffとpatchの話をしました。
オープンソースソフトウエアの発展普及にインターネットが重要な役割を果たしたことは、疑いようのないことですが、それ以前にそれ以上に重要な役割を果たした、文化を変えたソフトウエアがありました。それが、diffとpatchです。
ソフトウエアのソースコードに対する改良を低いコストで配布し、また受け取った改良を自分の持っているコピーに容易に適用できること。これ無くしては、オープンソースソフトウエアあるいはUNIXの発展は、ずっと遅々としたものであったに違いありません。
その一方で、Kernelなど大規模なソフトウエアプロジェクトにおける、最近のソフトウエア開発のスピードの早さ、あるいは並行開発されている並行度の高さといえば、想像を絶するものがあります。
そんななかで、最先端を追いかけ続けるだけでも、大変な労力を必要としてしまいます。
そんなときに、役立つツール(がすでにあったことを)を発見してしまいました。
今日は(スケジュールが)怒涛の一日だったが、夕方からの仕事は楽しかった。gccのARMクロスコンパイル環境を作って、とあるソフトウエアを組み込もうというのだ。
組み込みの実験ボードは、RedHat eCoSのRedBootを使ってブートする。コンソールのコマンドラインから、zImageとramdiskを指定する。でもって、bootするのだ。指定には、tftpサーバからのダウンロードを使っている。
ところで組み込みに詳しい人には、当たり前のことだが、組み込み機器ではメモリやプログラムを組み込む領域がぎりぎりに小さくする。原価に直接反映してしまうから。そこで、BusyBoxを使う。複数のコマンドをひとつのバイナリにまとめてしまうことで、プログラムの格納に必要な領域を削減するのだ。
次回の案内が http://www.ylug.jp/modules/pukiwiki/ にあります。
日時: 4月9日18時半開場、19時開始
場所:(株)NTTデータ 茅場町タワービル (地図http://www.xmlconsortium.org/map/nttdata_kayabaMap.gif)
今回は東京で開催です。多数の参加を頂戴しています。あと1名で定員になります。立ち見オッケーです。直前に思いついてきていただいて結構です。宴会登録は締め切りましたが、店側と交渉してOKならOKです。:)
今日は、ソースコードを読んだのである。
単に読むのではなく、目的を持って読んだのである。
writeシステムコールを呼び出したときに、O_SYNCオプションをつけると、確実にディスクに書いたことを保障される、はずである。Linuxシステムではどうなのか、分析を行った。
分析には、クロスリファレンスLinuxというサイトが便利だ。
http://lxr.linux.no/
このサイトはブックマークして、参照すべきサイトである。
で、分析では、もう一人の研究員とペアプログラミングよろしく議論しながら読んでいった。この関数はなんだろう。この構造体は。ここでは何がおこっているのか。
一人では見逃しがちな点も、二人ならば補完しあって進むので、すごい勢いで分析が進む。
結論としては、Linuxのメジャーなすべてのファイルシステムで、カーネルの共通部分のルーチンに依存しており、その共通部分(fs/buffer.c)では、「確実に書き込む」ことはやっていない、ということがわかった。
某案件で、ニュースリリースを準備していた。関係する各社で歩調をあわせて連絡を取り合って...
なぜか、フライングで新聞にのってる?
こういうのは疲れますね。
カーネルソースを読んだことがある人は知っていると思うが、ソースには、コメントにいろいろ危ないことが書いてある。たとえば、
/usr/src/linux/fs/ext3/file.cを開けば
Open question --- do we care about flushing
timestamps too if the inode is IS_SYNC?
とか、
should we force data to disk here too?
なんてのがあって、おいおい、ちゃんと考えて実装してくれよ。ということになる。なにしろ、ここでデータを「書くべきか?」なんて、疑問府の付いたファイルシステムって使えるかよ?
というわけである。
昨年出版された Linux Kernel Development (Sams)
Linux Kernel 2.6をベースに解説しているのだけど、平易な解説でサンプルコードも多く、とてもよい本に仕上がっていると思う。
もし翻訳の予定がないようならば、弊社スタッフでやってみたいと思ったり。
今年も恒例のJoke RFCが発行された。今回は、P2Pにおける違法なファイル交換を監視るために必要な要求事項といった内容のようだ。
1990年の鳥類キャリアーによるパケット伝送にくらべると、その面白さは減ってきたかなぁという印象。
詳しくは、Joke RFCページを見るのがよいと思う。
Linux Kernel のspeedstepドライバを書いて投稿した。
驚きとともに、受け入れられマージされた。
BIOSの新しい機能を発見し、追加機能を実装して
投稿した。
さて、どうなるかな。
Linux Kernel 2.4および 2.6ベースの開発については、BitKeeperを使って該当バージョンのソースを入手することにしました。
これで、kernel.orgからさよならです。
今後は、私のローカルでChangeSetを維持メンテしていくことになります。
現在のプロジェクト:
Enhanced SpeedStep 対応ドライバ
SpeedStep SMI ドライバ
Geode CPU 向けドライバ